게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

함수 구현 관련해서 질문있습니다.

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
김부근



가입: 2011년 3월 12일
올린 글: 12

올리기올려짐: 2011년4월29일 15:27    주제: 함수 구현 관련해서 질문있습니다. 인용과 함께 답변

제가 수업시간에 한 내용을 이해를 잘 못해서 그런지 모르겠는데,
제 기억에는 왠지 모르게 eager evaluation과 normal order reduction이
다르다고 들은 기억이 있어서 질문합니다.

숙제 1의 내용을 바탕으로 숙제 2를 구성하는데,
이렇게 되면 hw4_1.ml파일이 서로 다르게 되는 것은 아닌가요?

숙제 2의 rec f x에 대해서, 수업시간에는
normal order reduction상의 Y Combinator에 대해서 배우고
eager evaluation에서는 한 내용이 없는 것 같은데, 어떻게 하면 되나요..?
위로
사용자 정보 보기 비밀 메시지 보내기
이원찬



가입: 2010년 3월 4일
올린 글: 34

올리기올려짐: 2011년4월29일 16:42    주제: 인용과 함께 답변

eager evaluation할 필요 없이 동일한 람다 계산기를 사용하시면 됩니다.
그리고 수업시간에 배운 Y combinator를 써서 변환하시기 바랍니다.
eager evaluation(call-by-value)을 하는 경우 fixpoint combinator로 Z combinator를 씁니다:
http://en.wikipedia.org/wiki/Fixed_point_combinator
끝나는 프로그램에 대해서는 Y combinator로 변환한 프로그램을 normal order reduction하든 Z combinator로 변환한 프로그램을 call-by-value로 계산하든 결과는 동일합니다.
단, Y combinator를 써서 변환하는 경우 call-by-value로 계산하면 계산이 끝나지 않게 됩니다.
계산 방법은 계산 결과에는 영향을 미치지 않으며 계산이 끝나는지에만 관여합니다.
이는 람다 계산언어가 어떤 순서로 계산하든 항상 동일한 결과를 내어 놓기 때문입니다.
이를 Church-Rosser Theorem이라고 합니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay