게시판 인덱스

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

3-1 에서 record들의 equality에 대한 질문

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



가입: 2005년 9월 25일
올린 글: 14
위치: 아스트랄계

올리기올려짐: 2005년10월16일 13:51    주제: 3-1 에서 record들의 equality에 대한 질문 인용과 함께 답변

스펙에 조금 이상한 것이 있어서 질문드립니다.
스펙에 의하면 레코드의 경우 r1과 r2의 정의역이 같고 r1의 정의역에 속한 모든 원소 x에 대해 equal(r1(x), r2(x))가 T일 경우에만 equal(r1 r2)=T라고 정의됩니다. 그런데 레코드 r의 공변역은 location이므로 r1(x), r2(x)는 각각 location값이 됩니다. location의 경우 두 location의 base가 같은 경우에만 equal이 정의되어 있기 때문에 저 스펙 상으로는
코드:
let r1:={x:=0, y:=1} in let r2:={x:=0, y:=1} in r1 = r2 end end
가 예외를 발생시키게 됩니다. 즉, 두 레코드를 비교하는 expression은 값이 T이거나 정의되지 않거나 둘 중 하나가 된다는 말입니다.
이게 스펙에서 의도한 바가 맞나요?
위로
사용자 정보 보기 비밀 메시지 보내기
김덕환



가입: 2005년 8월 29일
올린 글: 190

올리기올려짐: 2005년10월16일 14:44    주제: Re: 3-1 에서 record들의 equality에 대한 질문 인용과 함께 답변

윤상필 씀:

이게 스펙에서 의도한 바가 맞나요?


예, 이번 숙제에서는 그렇습니다.

처음에는 구조를 따라내려가면서 값을 비교하려고 했었습니다만, 순환 구조일 경우 연산이 끝나지 않으므로 어색하더라도 Location만을 비교하도록 하였습니다. 레코드 요소의 값들이 같은 지를 비교할 때는 프로그래머가 직접 값을 꺼내어 비교합니다.

다만, 어떤 식으로 의미를 정의하더라도 연산이 위험해지므로 다음 번에는 뺄 지를 협의 중이기는 합니다.
_________________
TheyAreAsSmartAsYouAre
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2005) 시간대: GMT + 9 시간(한국)
페이지 11

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


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