포토로그



SICP Exercise 3.1 in Erlang Erlang

소스는 여기.

얼랑에서 마음에 드는 점 중 한 가지는 상태를 무한 루프로 표현한다는 점이다. 얼랑에서 프로세스를 생성하고 무한 루프를 돌면서 상태를 유지하는 것은 마치 논리 회로에서 상태를 저장하기 위한 플립플롭 만드는 방식과 같아서 이해하기 쉬웠다. 스킴에서는 뜬금 없이 set! 이 나와서 당황스럽다.

덧글

  • ologist 2007/11/29 09:30 # 삭제 답글

    얼랑코드를 몰라서 테스트 코드를 봤는데, make_accumulatorㅇ의 리턴값으로 A를 받았는데, A에다가 다시 10을 전달하는 것은 무엇인가요? 쭉~보니, 대부분의 테스트 코드가 이런식인던데..^^;
    accumulator_test_() ->
    24 A = make_accumulator(5),
    25 [?_assertMatch(15, A(10)),
    26 ?_assertMatch(25, A(10))].
  • 만성피로 2007/11/29 10:40 # 답글

    A가 함수 입니다. make_accumulator는 함수를 만들어서 돌려주는 함수이죠. 얼랑에서는 함수의 마지막 표현식 값이 리턴값이 됩니다. 15~21줄에 보면 함수를 하나 만들었죠. 그럼 그 함수가 리턴값이 됩니다.
  • 정재훈 2007/11/30 00:03 # 답글

    Behold the power of lambda!
  • 허혁 2007/11/30 15:22 # 삭제 답글

    돌려보고 싶은데 오늘따라 놋북을 집에 두고 왔네요..
  • 만성피로 2007/11/30 21:50 # 답글

    노트북 돌리다가 떨어 뜨려서 고장나면 가슴 아플텐데요... 헙..
  • ologist 2007/12/02 20:41 # 삭제 답글

    난 학창시절에 주로 공책이나 교과서를 많이 돌렸는데..
댓글 입력 영역