2013-01-15 4 views
1

Opa에서는 부분적으로 함수를 적용 할 수 있습니다. 그러나 모든 인수가있는 함수를 제공하고 인수가없는 함수를 반환하고 싶습니다. 예를 들면 다음과 같습니다.Opa : 상위 함수 응용 프로그램

위의 코드는 정상적으로 작동하지만 한 가지 문제가 있습니다. 이는 하나의 인수 만 사용하는 함수에만 적합합니다. Opa에서 위의 내용을 좀 더 일반적인 것으로 만들 수 있는지 궁금해서 궁극적 인 기능을 위해 함수를 사용할 수 있습니다.

Opa API, 포럼, IRC, Github 또는 SO에서 apply- (scheme) 또는 call- (prolog)와 같은 기능에 대한 정보를 찾을 수 없었습니다. 그래서 여기 뭔가 어딘가를 놓쳤 으면합니다. ;-) @lazy 키워드의 흔적이 있지만 설명이나 문서가 없으므로 미안합니다.

더 명확히 설명하기 : Opa가 체계 인 경우, 다음 코드를

(define (make-thunk f . args) 
    (lambda() (apply f args))) 

답변

1

당신이 다음 튜플 사용하는 한 make-thunk 인수의 임의의 수를 전달하려는 경우

function f((a,b,c)) { 
    ... 
} 

args = ("a","b","c") 
make-thunk(f, args) 

가, BTW 찾을 않았다

@lazy에 언급을?

+0

@lazy는 IRC에 언급되었을 것입니다. 브라우저 기록에서 관련 링크를 찾지 못해서 :-) – rdewaele