게시판 인덱스

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

곱하고 나누고 싶어요

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



가입: 2005년 9월 20일
올린 글: 91
위치: SNUCSE OPT. lab.

올리기올려짐: 2005년11월17일 14:41    주제: 곱하고 나누고 싶어요 인용과 함께 답변

M 을 가지고요.

추가 계획, 없으신지요?
_________________
The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
서성현



가입: 2005년 9월 29일
올린 글: 54

올리기올려짐: 2005년11월17일 23:54    주제: Re: 그것보다 더 큰 문제는.. 인용과 함께 답변

< (less) 연산도 없네요.
less 연산만 있다면 곱하기, 나누기를 어떻게든 구현할 수 있겠지만
less 연산은 구현하기가 좀 힘드네요..

아래와 같은 코드를 작성해 보았더니,
코드:
(* constants *)
let
  val MAX_INT = 1073741823
in
(* less : (n1, n2) -> (n1 < n2) *)
let
  val less = fn p =>
      let
        rec ls = fn p =>
            if p.1 = MAX_INT then
              false
            else if p.2 = MAX_INT then
              true
            else
              ls (p.1 + 1, p.2 + 1)
      in
        if p.1 = p.2 then false else ls p
      end
in
  write less (0, 1)
end end


한참 돌더니 이렇게 되네요.
코드:
<neoseo@bacardi examples> ../run lib.m
== Running with Vanilla M ==
Uncaught exception: Stack overflow
<neoseo@bacardi examples>


의미상으로는 맞는 코드이지만
stack overflow가 나버리니..

recursive call하는 부분을 반복문으로 고쳐서
stack overflow를 피할 수 있다면 좋겠지만
M에서는 while, for 같은 반복문을 지원하지 않는군요.

아직은 M이 좀 불편하네요.. Wink
_________________
http://snupl.wo.to
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
김덕환



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

올리기올려짐: 2005년11월18일 10:37    주제: 이번 숙제에서는 정의를 그대로 유지합니다 인용과 함께 답변

다음 숙제에서 해당 연산자들을 추가하시도록 건의드려보겠습니다. 바로 추가하는 것도 어렵지는 않습니다만, 두 분과는 달리 정의가 바뀌는 것을 싫어하시는 분들도 계시니까요. (투표해볼까요? Smile)

이번 숙제의 핵심은 타입 시스템의 고안과 구현에 있기 때문에 교수님께 언어 자체는 간소화시키신 듯합니다. 숙제는 교육이 최우선이라 실용적인 관점에서 보면 부족한 점이 있을 수 있습니다. 일주일 기간의 숙제로 완전한 nML 실행기와 타입 검사기 만들기 등을 낼 수는 없겠지요? Smile

M으로 뭔가 재미있는 것을 해보려는데 M이 발목을 잡는다면, 숙제 제출은 정의에 따라 만들고 개인적으로 M의 확장판인 M'을 만드는 건 어떨까요?
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 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