게시판 인덱스

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

뼈대코드들을 보면

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



가입: 2008년 9월 2일
올린 글: 40

올리기올려짐: 2008년11월30일 0:11    주제: 뼈대코드들을 보면 인용과 함께 답변

제 코드도 그렇게 알아보기 쉬운건 아니지만 [..]

뼈대코드들을 보면 정말 읽기가 난해한데요 ㅠㅠ

뼈대를 보고 지난번 숙제를 잘 했나 확인해 볼라 그래도 이쯤되니 구조도 다르고 -_-;;;

@@ @+ 이런 기호적인 표현들도 표현이지만

let in end 나 if , case 등에서 하위 구문 들여쓰기 하는 방법 같은것들도 읽기가 힘드네요 ㅠㅠ

함수 패턴 매칭이 우선되는 함수가 있는 반면에 첫번째 인자에 대고 case 하는 함수도 있고.. 차이는 없지만 서도-_-;

혹시 제가 미처 알아채지 못한 예제코드를 작성할때 사용한 코딩 원칙이 있다거나
아니면 nML 작성할때 저렇게 작성해야 좀 더 사용할 수 있게 됬을때 읽기가 쉬운건가요?

아니면 코드의 가독성은 nML이나 PL 강의 에서는 그렇게 중요하게 다루는 주제가 아닌 것인지[..]

다른분들은 nml 코딩하실때 읽기쉬운 코드를 위해서 특별히 신경쓰는것들이 있으신지도 궁금하네요;ㅁ;
위로
사용자 정보 보기 비밀 메시지 보내기
윤용호



가입: 2008년 9월 23일
올린 글: 257

올리기올려짐: 2008년11월30일 9:49    주제: 저도 코드 독해 하다가 하루가 간것같은..... 인용과 함께 답변

그래서 뼈대에 있는것중에 쓸만한건 가져다 쓰고
어지간한건 그냥 원래 했던 숙제에서 변형해야겠다...고 생각중인데
원래것이 맞았는지 당장 알길이 없으니 허허허허


그리고 궁금한게 함수 정의할때 ( @@ ) 이런 표현을 쓰고나면 이게 binary operator처럼 쓸수 있게 되는건가요? 왠지 얘들은 예외적으로 함수이름이 가운데에 쓰이는 기분이 들어서.. 이거 읽기 편해보여서 저도 숙제할때 써먹으려다가 제가 만든건 왠지 안되고 음..
위로
사용자 정보 보기 비밀 메시지 보내기
kwang
손님





올리기올려짐: 2008년12월1일 13:03    주제: Re: 저도 코드 독해 하다가 하루가 간것같은..... 인용과 함께 답변

윤용호 씀:
그래서 뼈대에 있는것중에 쓸만한건 가져다 쓰고
어지간한건 그냥 원래 했던 숙제에서 변형해야겠다...고 생각중인데
원래것이 맞았는지 당장 알길이 없으니 허허허허


그리고 궁금한게 함수 정의할때 ( @@ ) 이런 표현을 쓰고나면 이게 binary operator처럼 쓸수 있게 되는건가요? 왠지 얘들은 예외적으로 함수이름이 가운데에 쓰이는 기분이 들어서.. 이거 읽기 편해보여서 저도 숙제할때 써먹으려다가 제가 만든건 왠지 안되고 음..


함수이름을 @등 특수문자로 시작하는 경우 infix operator로 쓸 수 있습니다.
nML정의에 정확히 나와있습니다.
조교는 확인해서 설명바랍니다.

-K
위로
최원태



가입: 2006년 9월 16일
올린 글: 369

올리기올려짐: 2008년12월1일 16:00    주제: 인용과 함께 답변

http://ropas.snu.ac.kr/n/doc/n.pdf

nML 정의 문서에 6번째 페이지를 보면
prefix application 이라는 항목과
infix application 이라는 항목이 있습니다.

함수 이름을 prefixid 규칙을 따르게 만들면 prefix unary operator 처럼 쓸 수 있고
함수 이름을 infixid 규칙을 따르게 만들면 infix binary operator 처럼 쓸 수 있습니다.

prefixid 와 infixid 규칙은 nML 정의문서 4번째 페이지에 나와있어요.

예를 들어볼까요.
+ 연산과 같은 일을 하는 @@연산자를 만들고 써 봅시다.

코드:
fun (@@) a b = a + b
val result1   = 1 @@ 2

prefix 연산자도 비슷한 방법으로 만들고 써 볼 수 있습니다.

코드:
fun (!@) a = -1 * a
val result2 = !@ 1
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2008) 시간대: GMT + 9 시간(한국)
페이지 11

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


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