게시판 인덱스

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

숙제 3 ocaml 문법에 대한 질문입니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2017)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
김재윤



가입: 2017년 9월 13일
올린 글: 10

올리기올려짐: 2017년10월13일 17:41    주제: 숙제 3 ocaml 문법에 대한 질문입니다. 인용과 함께 답변

k.ml skeleton code를 보면, memory와 env의 정의에 'a를 많이 쓰는데요,

튜토리얼 PPT에 보면 'a가 polymorphic type을 나타낸다고 되어 있는데, 코드 상에서 익숙치 않은 부분이 있어서 몇 가지 질문드립니다.

1.
module type MEM을 보면
type 'a t
val load : 'a t -> Loc.t -> 'a
부분의 주석을 보면 'a t는 memory의 type이고, 'a는 value의 type인 것 같은데요,
'a 와 'a t 의 차이가 무엇인가요?

2.
Module type MEM에서
Loc.t는 다른 언어들처럼 argument의 t property를 의미하는 것인가요?


3.
module type ENV에서
type ('a, 'b) t 의 의미가 polymorphic pair인가요?
위로
사용자 정보 보기 비밀 메시지 보내기
김성국17



가입: 2017년 9월 15일
올린 글: 14

올리기올려짐: 2017년10월14일 13:40    주제: 인용과 함께 답변

1)
'a, 'b, 'c 등등은 임의의 타입을 나타낼 수 있는 타입인자들입니다.

t라는 타입을 정의할 때 그 안에 타입인자가 사용된다면,

그 타입인자들(예: 'a)을 타입 앞에 명시적으로 써줘야 합니다.

그리하여 type 'a t라는 표현은, 모듈에 t라는 타입이 있는데 그것은 'a라는 타입인자를 사용하고 있다라는 의미가 됩니다.

type 'a라고 쓴다거나, type t = .. 'a..라고 쓰는 것은 모두 오류입니다.

'a t라는 타입이 있으면 int t, string t, 'c t 등을 만들 수 있습니다.

대표적인 예로, 'a list가 있겠네요. int list, string list.


2)
Loc이라는 모듈에서 t라고 정의해놓은 것을 의미합니다.


3)
1)과 마찬가지로 타입인자 'a와 'b를 사용하는 타입 t를 의미합니다.
위로
사용자 정보 보기 비밀 메시지 보내기
김재윤



가입: 2017년 9월 13일
올린 글: 10

올리기올려짐: 2017년10월15일 23:00    주제: 인용과 함께 답변

감사합니다!
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2017) 시간대: GMT + 9 시간(한국)
페이지 11

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


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