コンテンツにスキップ

PureScript

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。2402:6b00:7469:5600:fc2b:8ffd:8ba9:f15b (会話) による 2020年6月8日 (月) 06:42個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

PureScript7
PureScript7
PureScript7のロゴ
パラダイム 関数型言語
登場時期 2013
設計者 Phil Freeman
最新リリース 0.13.6/ 2020年1月16日 (5年前) (2020-01-16)
型付け Inferred, static, strong,強い静的型付け
影響を受けた言語 Haskell, JavaScript
ライセンス BSD[1]
ウェブサイト www.purescript.org
拡張子 .purs
テンプレートを表示

PureScriptは、JavaScriptにコンパイルされる純粋関数型プログラミング言語である。Webアプリケーション、サーバサイドアプリケーション、Electronを使用したデスクトップアプリケーションの開発に使用できる。構文はHaskellとほぼ同等。また、列多相(row polymorphism)や拡張可能なレコードを導入している。また、Haskellとは異なり、PureScriptは正格評価を採用している。

歴史

PureScriptは2013年にPhil Freemanによって設計された。彼がPureScriptに取り組み始めたのは、Haskellのセマンティクスを維持したままJavaScriptにコンパイルしようとする様々な試み(Fay、Haste、GHCJSの使用など)が彼の満足のいくものではなかったからだ[2]

その後、コミュニティにピックアップされ、GitHub上で開発されている。コミュニティによって開発された追加のコアツールには、専用のビルドツール「Pulp」[3]、ドキュメントディレクトリ「Pursuit」[4]、パッケージマネージャ「Spago」などがある。

特徴

PureScriptは、正格評価、永続的なデータ構造、型推論を特徴としている。 PureScriptの型システムは、Haskellのような類似の関数型言語と多くの機能を共有している。例えば、以下のような機能があげられる。

  • 代数的データ型
  • パターンマッチ
  • 高カインド型
  • 型クラス
  • 関数従属性
  • 高ランクポリモーフィズム(higher-rank polymorphism)

脚注

  1. ^ purescript/purescript”. GitHub. 2020年5月22日閲覧。
  2. ^ Read PureScript by Example | Leanpub”. leanpub.com. 2019年3月14日閲覧。
  3. ^ A build tool for PureScript projects, PureScript Contrib, (2019-03-08), https://github.com/purescript-contrib/pulp 2019年3月14日閲覧。 
  4. ^ Pursuit”. pursuit.purescript.org. 2019年3月14日閲覧。

関連

外部リンク