프로그래밍 언어 개발에 관심 있는 사람들의 모임입니다.
|
2010-01-02 20:25:11
|
졸작으로 컴파일러 만들기로 했습니다. 그리고, 책을 잡고 공부를 시작해서 이제 간간히 Compilers(일명 드래곤북) 중간 코드 생성까지랑 컴파일러 입문(오세만 저)를 읽었습니다. 그리고 나서 뭘 구현할까 생각하다가 함수형 언어쪽으로 마음을 돌렸습니다. 이유는 왠지 멋져보이기 때문이죠-_-; (KLDP랑 블로그에서 함수형 언어에 대한 글 읽은거랑, 하스켈 책 한권 본게 제 지식의 끝입니다. 그것도 제대로 이해했다고 말하긴 절대로 무립니다.) 검색질 끝에 Scheme을 기반으로 하기로 했습니다. 이유야 뭐 문법이 아~~주 간단하기 때문이죠 심지어 파싱이 필요가 없더군요?!!!!!!! 저 같은 초보자한테 딱 좋겠더군요 그래서 교수님께 ‘Scheme 컴파일러를 만들어보겠습니다.’ 라고 말했더니 ‘이미 있는걸 또 만들어서 뭐하나?’ 라고 하시더군요 뭔가 창의적이거나 차별화된 무언가가 들어가야 된다고 하십니다. 생각해보니 얼랭이 떠오르는군요(물론 배워본 적은 없습니다) 그래서 병렬 처리를 Scheme에 접합시키면 어떨까 생각해보는 중입니다. 병렬처리 이론에 대해서 전혀 모른다는 사소한 문제가 있긴 하지만 방학동안 공부하면 어찌 되지 않을까 생각중입니다. 여기서 질문 하나 올리겠습니다. 가능할까요? 문법에 수정이 들어가야 될까요? 좀 더 좋은 아이디어가 없을까요? P.S 오늘 세미나는 잘 되셨나 모르겠네요. 울산에서 올라갈까 생각하다가 매주 여신다길래 포기했습니다. 슬프군요 ㅠㅠ 안승해 님이 2010-01-02 20:49:41에 고쳤습니다. |
트랙백 주소: http://langdev.net/post/trackback/336
우선, 교수님 말씀과는 달리 이미 있는 걸 만들어 보는 것도 훌륭한 경험이라고 생각합니다. 책에서 읽는 것과 코딩해 보는 것은 다르지요.
Erlang 식의 병렬 처리를 Scheme에 접합시킨 프로젝트로는 Termite Scheme이 있습니다.
사실 검색능력이 만드는 것을 위한 집념보다 뛰어나면 새로운 것을 만든다는 것에 대해서 좌절을 느낄지도…
Hacker level에서도 무엇이든 만들 수 있는게 guru이고, 무엇이든 어디에 있는지 아는 것이 wizard라고 하던데요.
피타고라스 법칙이라던가, 자료구조 책에서 항상 나오는 Prim’s minimum spanning tree 라던가, 그런 것들도 모두 이전에 있었는데 몰라서 만든 것이라는…
Intel같은 기업들이 신기술 내놓는 것도 사실 최소 5년 전에 나온 논문에서 찾아볼 수 있는 것을 보면, 새로운 것이란 정말 공상 속에서 태어나는 것이라…
달리 이야기하자면 결론은 교수님이 흥미있어하거나 잘 모를법한 걸 해야 한다는… ^_^. 혹은 새로운 건지 안 찾아볼 거… ㅋㅋ
세미나는 꽤 재미있었습니다. 저는 알듯 모를듯 한 걸 너무 좋아해서… 다만 강의하신 강지훈님이 제 그런 표정을 보고, 어떻게 해야 이해할까 고민하는 표정을 보여서 죄송하기도… ^_^
이것도 해 보세유 http://www.phildawes.net/blog/2008/04/08/digging-into-factors-compiler/
서상현/헉, 이미 있군요-_-;
김우승/흑흑, 슬프네요. 뭔가 깜찍하고 기발하면서도 간단한 뭔가 없을까요…
wookay/흑, 블로그 영어는 이해하기 어렵네요ㅠㅠ 겨우 읽어낸 추측으론 factor’s compiler라는게 REPL상에서 돌아가는 언어를 machine code로 최적화해서 만든다는 건가요? 으으으음??
Hot~ 이런 분이 한국에 있다니… 따라오세요.
Ocaml Syntax 확장하기 —> http://pauillac.inria.fr/camlp4/