게시판 인덱스

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

타입 적는 기준을 명시합니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2013)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
강지훈



가입: 2008년 9월 2일
올린 글: 291
위치: 302동 312-2호

올리기올려짐: 2013년9월27일 15:31    주제: 타입 적는 기준을 명시합니다. 인용과 함께 답변

프로그래밍 수강생 여러분, 안녕하세요?
조교 강지훈입니다.

제가 실습자료와 게시판 글에서 타입 적는 방법에 대해 잘못 알려드린 부분이 있어 말씀드립니다.


1) 타입 적는 기준은 교수님 슬라이드에 명시되어 있습니다.
http://ropas.snu.ac.kr/~kwang/4190.210/12/1.pdf
"5 타입으로 정리하기" 부분을 꼭 보세요.

몇가지 예를 들어보겠습니다.
* (cons 0 1) ; int X int
int 둘의 pair이므로 int X int입니다.

* (lambda (x) (+ x 1)) ; int -> int
int를 받아 int를 내놓는 함수이므로 int -> int입니다.

* (lambda (x y) (+ x y)) ; int * int -> int
int 둘을 받아 int를 내놓은 함수입니다.
int * int -> int라고 적어야 합니다.

* record-list의 record: (string X any) list
record를 key value 페어의 list로 표현합니다.
이때 key는 string이고,
value는 아무 값이나 올 수 있는 any 타입입니다.
(참고: https://github.com/lunaticas/pp-material/blob/master/20130925/record-list.rkt)

* fold의 타입
(define (fold lst f c) ; fold: a list * (a * b -> b) * b -> b
(if (null? lst) c
(f (car lst) (fold (cdr lst) f c))))

이때 a, b는 여러분이 사용할 타입의 이름입니다.
lst는 a의 리스트,
f는 a와 b를 받아 b를 내놓는 함수,
c의 타입은 b이고, 이 때 결과로 b 타입의 값을 내놓습니다.


2) 실습자료가 알맞게 변경되었습니다.
다음 자료에서 타입이 적힌 부분을 다시 한 번 확인하세요.
https://github.com/lunaticas/pp-material/blob/master/20130925/content.md
https://github.com/lunaticas/pp-material/blob/master/20130925/solution.rkt

불편을 끼쳐드려 죄송합니다.
_________________
강지훈
프로그래밍의 원리 조교

Jeehoon Kang
TA, Principles of Programming
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2013) 시간대: GMT + 9 시간(한국)
페이지 11

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


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