The Pure Programming Language

by syoyo

The Pure Programming Language
http://pure-lang.sourceforge.net/

Pure is a functional programming language based on term rewriting. It has a modern syntax featuring curried function applications, lexical closures and equational definitions with pattern matching, and thus is somewhat similar to languages of the Haskell and ML variety. But Pure is also a very dynamic and reflective language, and is more like Lisp in this respect. The interpreter has an LLVM backend to do JIT compilation, hence programs run blazingly fast and interfacing to C modules is easy.

Seemingly quite impressive language.

– Can naturally describe symbolic computation
– LLVM backend! faster execution.
– The author from computer music field

I’d like to play with pure, but I’m get stuck in compilation err…

[Ja]

数学的なアルゴリズムをきれいに記述できそうな関数型言語.
symbolic な微分も記述可能(大体の関数型は記述できますが).

モダンな関数型言語の機能は大体取り入れているようで、
しかも LLVM バックエンドを採用.
コードは高速に JIT 実行できる(可能性).

うーむ、先進的だ.

実装コードサイズもそんなに多くなくてコンパクト(いまのところは).

グラフィックス用途においても、
アルゴリズム記述や関数型なシェーダの記述に
使っていけそうな気がする.

試してみたいけど、わたしの環境ではコンパイルがうまくいきませんでした.
ちょっとおあずけになりそう.

それにしても LLVM はだんだんと LLVM 帝国を築きつつある感がする.
XCode 3.1 beta (iPhone SDK) では llvm-gcc が提供されるようになり、
デフォルトの gcc コンパイラも llvm-gcc へのリンクになっている.
Leopard(と iPhone)の開発環境は全面的に LLVM に移行するようだ.

Adobe の flash も将来 VM には LLVM を使いそうな雰囲気がある.

スクリプト言語も、最初から LLVM への変換をネイティブで
行うことを考えて作られたものがそろそろ出てきそうな気がします.

Python の pypy とか, 既存のスクリプト言語を LLVM に変換する取り組みは
ありますが、いまいち無理している感があるんですよね.

ついでに、RSL(RenderMan SL) も LLVM にコンパイルするのどうよ、
という discussion も今しています.

http://www.aqsis.org/xoops/modules/newbb/viewtopic.php?
viewmode=flat&topic_id=1580&forum=2

Advertisements