얼랑에서 마음에 드는 점 중 한 가지는 상태를 무한 루프로 표현한다는 점이다. 얼랑에서 프로세스를 생성하고 무한 루프를 돌면서 상태를 유지하는 것은 마치 논리 회로에서 상태를 저장하기 위한 플립플롭 만드는 방식과 같아서 이해하기 쉬웠다. 스킴에서는 뜬금 없이 set! 이 나와서 당황스럽다.
얼랑코드를 몰라서 테스트 코드를 봤는데, make_accumulatorㅇ의 리턴값으로 A를 받았는데, A에다가 다시 10을 전달하는 것은 무엇인가요? 쭉~보니, 대부분의 테스트 코드가 이런식인던데..^^; accumulator_test_() -> 24 A = make_accumulator(5), 25 [?_assertMatch(15, A(10)), 26 ?_assertMatch(25, A(10))].
덧글
accumulator_test_() ->
24 A = make_accumulator(5),
25 [?_assertMatch(15, A(10)),
26 ?_assertMatch(25, A(10))].