Concurrent Clean

Concurrent Clean

Concurrent Cleanは遅延評価と型推論を備えたhaskellと同系統の関数型言語で、参照透明性を保ちながら副作用のある処理を記述できる。haskellではそのためにモナドを利用しているが、Concurrent Cleanでは、一意型と呼ばれる型システムを利用する。今の僕の理解では、一意型は「ある変数の参照が一箇所しかない」ことを保証する型*1。参照透明性を保つというより、変更の可能性のある変数への参照を制限する、というほうが正確か。

また、関数型言語にはめずらしく言語標準のGUIライブラリもあり、サンプルにグラフィカルなゲームまでついてくる。IDEも標準装備。でも、RADツールは無い。残念

コードはネイティブコードにコンパイルしてから実行されるので、かなりよい実行速度を叩きだす。でもインタプリタがない。ちょっと残念IDE上でぽちぽちやれるからそんなに苦でもないけど。

処理系WindowsLinuxSolarisMac用のバイナリが用意されている。GUI付きで各環境ネイティブコードが吐けるし、"Concurrent"っていうだけあって、これからのマルチコア時代にマッチした言語なんじゃないかと思うんだけど、日本語のドキュメントがほっとんどない。本家のチュートリアルも古いバージョンにしか対応してないみたい。あと、ざっと探した限り、ライブラリリファレンスが発見できなかった。ソース読めってことか…

関連

*1:線形論理に近い概念か?

* はてなダイアリーキーワード:Concurrent Clean