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の日本語訳)

Purescripts

Introduction to Purescript YouTube

Best of JS • PureScript

The State of JavaScript 2019 PureScript

GitHub artemisSystem/purescriptapplicativephases Applicative