게시판 인덱스

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

과제 6-3 질문

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



가입: 2015년 9월 18일
올린 글: 9

올리기올려짐: 2015년11월19일 3:43    주제: 과제 6-3 질문 인용과 함께 답변

RecLet 의 semantic을 보면

s, M |- e1 => <Lx, e, s'>, M'

s[x-->v1], M' |- e2 => v, M''
일때

s, M |- let rec f = e1 in e2 end => v, M''
이라고 나와 있는데

그러면
exp 가 LET(REC(f, x, e1), e2) 일때
e1 을 eval 하면 function의 closure 가 나온다는 뜻 아닌가요??

근데 e1 을 먼저 eval 하면 unbound id 에러가 뜨네요.

제가 잘못 이해한 부분이 있나요??
위로
사용자 정보 보기 비밀 메시지 보내기
진우정



가입: 2015년 9월 3일
올린 글: 8

올리기올려짐: 2015년11월19일 8:57    주제: 인용과 함께 답변

저도 이부분이 시맨틱스와 맞지 않다고 생각했는데
어떻게 된건지 궁금합니다.
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
최재승



가입: 2012년 9월 10일
올린 글: 211

올리기올려짐: 2015년11월19일 10:39    주제: 인용과 함께 답변

코드:
let f x = e1


코드:
let f = e1

은 엄연히 다릅니다. 이 부분을 혼동하신 것 같네요.

인용:
LET(REC(f, x, e1), e2) 일때
e1 을 eval 하면 function의 closure 가 나온다는 뜻 아닌가요??
근데 e1 을 먼저 eval 하면 unbound id 에러가 뜨네요.

e1은 함수의 body 부분이니 eval 했을 때 closure가 나오지 않는 것이 맞으며, unbound id 에러가 뜰 수도 있습니다. 예를 들어 e1이 Num 1 이나 Var x 라고 가정하고 생각해 보시면 명확해질 것입니다.

구체적으로 어떻게 구현할지 알려드리기는 곤란하지만, 뼈대코드에 제공해 드린 Fn 과 App 케이스에 대한 eval 결과를 잘 살펴보시고 고민해 보시기 바랍니다.

조교 드림
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2015) 시간대: GMT + 9 시간(한국)
페이지 11

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


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