2016-10-09 4 views
0

ml 과정에 대한 과제를 수행하려고하는데 문제는 함수에 집합 유형이 필요하다는 것입니다. 예를 들어 int * int -> int이고 다른 방법으로 문제를 해결하는 방법은 다른 함수를 사용하는 것입니다. (반복을 위해 말하십시오) 문제를 해결하십시오.하위 함수 ml

저는 Lisp가 함수를 하나의 다른 함수에 대해서만 사용할 수있는 방법이 있다고 생각합니다.

나는이 작업을 수행 할 수 있다고 생각 :

fun a (x, y) = 
    let 
    fun b (i,j) = ...; 
    in 
    ...; 
[이에 대한 정확한 구문의 확실하지하지만 난 (함수가 될 수있는이 임시 변수에 대한했다이 단지처럼 뭔가를 읽고 기억?]

이 잘못된 경우

그러나 저를 수정하시기 바랍니다. ML에서

답변

1

을, 함수는 일등 시민 (즉, 값)입니다. 당신은 다른 값처럼 let를 통해 그들을 바인딩 할 수 있습니다.

따라서 귀하의 아이디어는 정확합니다. "iterators"(즉, map/fold/iter)로 전달 된 함수에 특히 좋은 디자인입니다. 그러나 더 이상의 조언이 필요하면 귀하의 질문은 너무 애매합니다.

+0

완벽하게 내 질문에 대한 답변을 전 그냥 구글에 무엇을 확신하지 못했습니다. – Cjen1