2014-03-04 3 views
0

I는 다음SML : 사용 고차 함수 foldr는 목록을 반대로

추천 목록을 역방향 foldr를 사용하려고

재미 REV (l) = foldr (AB => B ++ [A])] 엘;

하지만 난 오류가있어 : 표준 입력 : 4.25 오류 : 사람의 도움이 실수를 지적 할 수대로 우

에서 구문 오류가 발견? 코드가 맞습니까?

감사합니다.

답변

0
  1. 람다식이 fn으로 시작해야하기 때문에 DARROW 오류가 발생합니다.
  2. Foldr 튜플을 얻는다 때문에 fn (a,b)
  3. ++ 하스켈에서 CONCAT 연산자가 함께 람다 식 시작한다.

    fun rev(l) = foldr (fn (a,b) => b @ [a]) [] l; 
    

    그리고 이것은 참으로 목록을 반전 : SML 그것은 모든 합이 최대가 @

입니다!