PureScriptは、JavaScriptにコンパイルされる純粋関数型プログラミング言語である。Webアプリケーション、サーバサイドアプリケーション、Electronを使用したデスクトップアプリケーションの開発に使用できる。構文はHaskellとほぼ同等。また、ローポリモーフィズムや拡張可能なレコードを導入している。また、Haskellとは異なり、PureScriptは正格評価を採用している。
歴史
PureScriptは2013年にPhil Freemanによって設計された。彼がPureScriptに取り組み始めたのは、Haskellのセマンティクスを維持したままJavaScriptにコンパイルしようとする様々な試み(Fay、Haste、GHCJSの使用など)が彼の満足のいくものではなかったからだ 。
その後、コミュニティにピックアップされ、GitHub上で開発されている。コミュニティによって開発された追加のコアツールには、専用のビルドツール「Pulp」、ドキュメントディレクトリ「Pursuit」、パッケージマネージャ「Spago」などがある。
特徴
PureScriptは、正格評価、永続的なデータ構造、型推論を特徴としている。 PureScriptの型システムは、Haskellのような類似の関数型言語と多くの機能を共有している。例えば、以下のような機能があげられる。
- 代数的データ型
- パターンマッチ
- 高カインド型
- 型クラス
- 関数従属性
- 高ランクポリモーフィズム(higher-rank polymorphism)
脚注
関連項目
- Elm
外部リンク
- 公式ウェブサイト
- PureScript by Example (設計者Phil Freeman氏によるPureScriptの解説)
- 実例によるPureScript (PureScript by Exampleの日本語訳)



