Skip to content

Latest commit

 

History

History
79 lines (66 loc) · 2.91 KB

README.md

File metadata and controls

79 lines (66 loc) · 2.91 KB

PureScript言語リファレンス

例として、PureScriptの「Hello World」をお見せします:

module Main where

import Effect.Console

main = log "Hello, World!"

別の例

以下のコードはPersonデータ型とPersonの文字列表現を生成する関数を定義します:

data Person = Person { name :: String, age :: Int }

showPerson :: Person -> String
showPerson (Person o) = o.name <> ", aged " <> show o.age

examplePerson :: Person
examplePerson = Person { name: "Bonnie", age: 26 }

各行は以下のように読むことができます:

  • Personは1つのコンストラクタを伴うデータ型であり、Personとも呼ばれる。
  • Personコンストラクタは2つのプロパティを持つオブジェクトを1つ受け取る。各プロパティは、String型のnameInt型のageである。
  • showPerson関数はPersonを受け取り、Stringを返す。
  • showPerson関数は、引数の解析によって実現される。まずはPersonコンストラクタにマッチし、その後にオブジェクトのアクセサと文字列結合の結果を返す。
  • examplePersonはPersonオブジェクトであり、Personコンストラクタに、nameの値としての文字列"Bonnie"とageの値としての整数26を与えることで作成される。

言語リファレンスの全容は以下に続きます:

  1. 構文
  2. 型クラス
  3. パターンマッチ
  4. モジュール
  5. 外部関数インタフェース(FFI)
  6. レコード
  7. Haskellとの違い