이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
유경인
가입: 2013년 9월 9일 올린 글: 29
|
올려짐: 2014년12월5일 21:22 주제: EQ에 loc가 들어가는 경우 |
|
|
malloc 1 = malloc true
이런건 type check 되나요 안되나요?
M 언어 definition 보면 되는것 같긴 한데 확신이 없어서요..
인용: | Γ ㅏ e1 : τ
Γ ㅏ e2 : τ
τ = i, b, s, or l
-------------------
Γ ㅏ e1 = e2 : b
|
이 문구만으로는 e1과 e2의 타입이 τ로 같아야 하는건지, 아니면 어떤 loc이든 loc이기만 하면 통과되는건지 애매합니다. |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2014년12월7일 20:06 주제: |
|
|
m언어의 semantics를 보면 서로 다른 타입의 로케이션에대해서 비교해도 m언어 프로그램은 정상동작합니다.
따라서 타입시스템에서 타입유추를 해 줄 수록 좋습니다.
강동옥 가 2014년12월9일 10:05에 수정함, 총 1 번 수정됨 |
|
위로 |
|
|
유경인
가입: 2013년 9월 9일 올린 글: 29
|
올려짐: 2014년12월8일 15:31 주제: |
|
|
assign case 보고 다시 질문드립니다!
통과되는건지 아닌지 확인해주세요~ |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2014년12월8일 16:17 주제: |
|
|
문서에 Eq에 대해서는 특별한 구분이 없으므로 Eq에서는 통과합니다.
강동옥 가 2014년12월9일 10:05에 수정함, 총 1 번 수정됨 |
|
위로 |
|
|
방정호
가입: 2011년 9월 19일 올린 글: 40
|
올려짐: 2014년12월8일 18:07 주제: |
|
|
타입 중에서
τ loc : location type
이라고 정의되어 있는데요.
즉, 어떤 타입의 location 이라는 형식으로요.
m.ml 에서도
| TyLoc of types 라고 정의되어 있고요.
그러면 Eq 에서도
Γ⊢e1 :τ
Γ⊢e2 :τ
라고 되어있으니까
비교를 할 게 loc 이라면, (tau 의 loc 이라는 타입.)
두 개의 타입(loc 안의 tau)이 다르면 타입 에러를 내야 하는 거 아닌가요? |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2014년12월9일 9:48 주제: |
|
|
아 제가 문서를 잘못읽었네요.
e1 과 e2의 타입이 같아야 하니까 tau도 같아야 합니다.
죄송합니다. |
|
위로 |
|
|
하현민
가입: 2013년 9월 21일 올린 글: 2
|
올려짐: 2014년12월9일 21:44 주제: |
|
|
Γ ㅏ e1 : τ
Γ ㅏ e2 : τ
τ = i, b, s, or l
-------------------
Γ ㅏ e1 = e2 : b
에서
τ = i, b, s, or τ' loc 이 아니라
τ = i, b, s, or l 이니까
다른 타입의 location도 비교할 수 있는 것 아닌가요? |
|
위로 |
|
|
황인준
가입: 2013년 9월 12일 올린 글: 8
|
올려짐: 2014년12월9일 21:52 주제: |
|
|
"e1이 tau1, e2가 tau2이고 둘의 타입이 같으면서 i,b,s,l 중 하나이다"가 조건이면 그럴 수 있지만, 동일한 타입 tau를 가지므로 loc 안의 내용도 같아야 할 것 같습니다. tau가 loc(int)이면서 loc(bool)일 수는 없으니까요. |
|
위로 |
|
|
|