게시판 인덱스

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

문제가 잘 이해되지 않습니다.

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



가입: 2006년 9월 4일
올린 글: 25

올리기올려짐: 2006년10월24일 16:49    주제: 문제가 잘 이해되지 않습니다. 인용과 함께 답변

설탕을 녹인다는게 잘 이해되지 않습니다.

call f<x> 를 call f'(&x)로 녹이고, f의 인자이름 쓰이는 곳을 적절히 바꾼 것이 f'이다

를 곰곰히 생각해 봤는데

이런 K- 프로그램이 있다고 한다면
코드:
let Procedure add(x) = x := x + 1; x-1
in
   let a := 0
   in write (call add<a>);
      write a
   end
end

결과는
0
1
이겠지요.

이것을 녹인다고 하면 외부적으로 Procedure를 바꾸고(인자이름 쓰이는 곳을 적절히 바꿔서)
let Procedure add(x) = (*x) := (*x) + 1; (*x)-1
내부적으로 dissolveCbr 이 CALLR(a) 를 CALLV(AMPER(a)) 로 바꿔준다

라고밖에 생각되지 않습니다.

그렇다면 이것은 원래의 K- 프로그램에서 call add<a>이 call add(&a) 로 바뀐 것 뿐으로, 이러한 일을 하는 dissolverCbr은 단순히 저렇게 바꿔주는 일 외에는 의미있는 일을 하지 않는 것으로 생각됩니다.

그리하여 잘못 생각했다고 판단했습니다만.. 문제를 해석(!) 해 주실 분 안계시나요..

그리고 2번 문제입니다만, recursive를 아무리 생각해봐도 구현할 수가 없습니다.. call이나 push(x, C')나 둘 다 빈틈이 없더군요; sm5를 직접 수정하면 안될테고.. 물론 저의 짧은 생각입니다만, 다른 분들은 가능하시던가요?

PS) 수요일에 사정상 수업을 불참한다는 메일을 교수님 메일주소로 드렸는데 아직 읽지 않으셔서.. 혹시나 이 글을 보신다면 메일 확인해주시기 바랍니다~
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
이준희



가입: 2006년 9월 18일
올린 글: 43

올리기올려짐: 2006년10월25일 13:15    주제: 인용과 함께 답변

저도 그냥 그런 식으로 이해하고 있습니다. 함수를 한번 더 거쳐야 하니 비효율적이지만, 그냥 녹이는 과정을 한번 생각해보라는 문제가 아닐까요?^^
_________________
...
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
박대준



가입: 2005년 10월 7일
올린 글: 245

올리기올려짐: 2006년10월27일 15:33    주제: 인용과 함께 답변

다음 글을 참고하시기 바랍니다.
https://ropas.snu.ac.kr/phpbb/viewtopic.php?p=1865#1865
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2006) 시간대: GMT + 9 시간(한국)
페이지 11

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


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