게시판 인덱스

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

숙제 1번 스펙관련한 질문

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



가입: 2015년 9월 3일
올린 글: 17

올리기올려짐: 2015년9월12일 15:42    주제: 숙제 1번 스펙관련한 질문 인용과 함께 답변

안녕하세요. 수강생 강동호입니다.

숙제 하면서 몇가지 스펙에 대해서 궁금해서 여쭤봅니다!


ex4. 에서

type formula = TRUE
| FALSE
| NOT of formula
| ANDALSO of formula * formula
| ORELSE of formula * formula
| IMPLY of formula * formula
| LESS of expr * expr
and expr = NUM of int
| PLUS of expr * expr
| MINUS of expr * expr

이런 type formula와 expr을 주셨는데 expr 앞의 and는 ocaml syntax 로 주신건가요?


ex.5 에서

NAT를 정의하고 NAT의 연산을 recursive 하게 정의해보라는 의미로 과제를 주셨다고 이해했습니다.

그렇다면 구현할 때 기존의 사칙연산 연산자들은 어떠한 경우에도 사용하지 말아야 하는건가요?
만약 그렇다면 SUCC 와 PRED 같은 함수를 사용하는 것은 허용이 될까요?
위로
사용자 정보 보기 비밀 메시지 보내기
최재승



가입: 2012년 9월 10일
올린 글: 211

올리기올려짐: 2015년9월12일 23:48    주제: 인용과 함께 답변

안녕하세요, 프로그래밍 언어 조교 최재승입니다.

(exercise 4 답변)

인용:
이런 type formula와 expr을 주셨는데 expr 앞의 and는 ocaml syntax 로 주신건가요?


네 그렇습니다, 'and' 는 여러 개의 type 을 한꺼번에 정의하기 위한 OCaml 문법 구문입니다. 특히 상호 의존적인(mutual) 타입들을 정의할때 유용하게 사용됩니다만, 일단은 다음과 같은 정의라고 이해하셔도 되겠습니다.

코드:

type expr = NUM of int
| PLUS of expr * expr
| MINUS of expr * expr

type formula = TRUE
| FALSE
| NOT of formula
| ANDALSO of formula * formula
| ORELSE of formula * formula
| IMPLY of formula * formula
| LESS of expr * expr


---------------------------------------------
(exercise 5 답변)

인용:
그렇다면 구현할 때 기존의 사칙연산 연산자들은 어떠한 경우에도 사용하지 말아야 하는건가요?
만약 그렇다면 SUCC 와 PRED 같은 함수를 사용하는 것은 허용이 될까요?


좋은 질문입니다. type nat 은 교수님께서 수업시간에 설명하신 귀납적인 정의 스타일로 자연수를 정의한 것이며, 과제의 의도는 이렇게 정의된 자연수 타입에 대해 기본적인 더하기와 곱하기 함수를 직접 정의해 보는 것입니다. 따라서 기존에 여러분이 익숙하실 + 나 * 연산자를 사용하지 말고 구현하셔야 하겠습니다. succ이나 pred 함수의 사용도 마찬가지로 금지하도록 하겠습니다.

숙제에 익숙한 입장에서는 당연하다고 생각했던 조건인데, 생각해 보니 미리 명확하게 공지드렸어야 했네요. 숙제 1 스펙 보충 글 (https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=4928)에 해당 내용도 명시하도록 하겠습니다. 혼란을 드려 죄송합니다.

조교 드림
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2015) 시간대: GMT + 9 시간(한국)
페이지 11

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


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