언어 소개 Pure
최근에 Pure 라는 언어를 알게 됐습니다. http://code.google.com/p/pure-lang/
혹시 관심을 보일 분들이 계실 것도 같아서 첫 인상만 간단히 소개하려고 합니다.
term rewriting 에 기반을 둔 함수형 언어입니다. 즉, mathematica 와 같은 녀석이라는 거지요.
그런데 문법은 haskell 과 상당히 비슷합니다. term rewriting 의 특성상 패턴 매칭이 중요한 요소이구요.
llvm 을 사용합니다. 따라서 byte code 를 생성할 수도 있고 native code 로 컴파일할 수도 있습니다. JIT 도 됩니다.
매크로도 있습니다. 컴파일 타임에 적용되는 rewriting rule 입니다.
행렬 연산이 standard library 에 포함되어 있고, 몇 안되는 라이브러리중에 gsl 바인딩이 있습니다.
라이브러리만 충분히 갖줘진다면 (그런 날이 올지 모르겠지만...) haskell 비슷한 우아한 문법을 사용하는 mathematica 처럼 사용할 수 있을지도 모르겠다는 생각이 들었습니다.
static type checking 은 하지 않는 것 같습니다. 홈페이지에 "The Pure Programming Language" 라는 pdf 파일이 링크되어 있는데 term rewriting 을 소개하면서
Also, as Oortmerssen argues [17, p. 11], there's no way that an input term can ever be "invalid" for a term rewriting system; either there's a rule which applies to it, which means that the term is reducible, or there isn't in which case the term is in normal form. Thus, since there are no dynamic "argument mismatch" errors, there can't be any static typing errors either.
라고 썼네요. 그 뒤에도 왜 dynamic typing 을 선택했는지 뭐라고 뭐라고 나오는데 자세히는 안읽어봤습니다. 대충 python 이나 ruby 같은 dynamically typed language 보다는 안전(?) 하다고 주장하는 듯 합니다.
이름을 왜 이렇게 지었는지 모르겠습니다. 검색하기가 어렵습니다...
관심을 두고 지켜봐야겠습니다.
흥미롭네요
새로운 언어라...
흥미롭군요..
아직 제대로 할 줄 아는 프로그래밍 언어가 별로 없어서;;;