Clojureのkeyword
:で始まるtoken
e.g. :hoge
Clojureのキーワードは、シンボルの一種で定数のように扱われます。データのラベルやフィールド名として使われます。
GPT-4.icon
Clojureで:から始まる部分は「キーワード」と呼ばれます。キーワードはシンボルの一種で、名前を持つ定数のようなものです。
例:
code:clojure
{:id "emp1"
:schedule :monthly
キーワードの特徴:
イミュータブル: キーワードの値は変更されません。
自己評価的: キーワードはそのまま評価され、他の場所で同じ意味を持ちます。
効率的: キーワードは内部的に効率的に処理されます。
Haskellでの表現:
Haskellにはキーワードという概念はありませんが、代わりにデータ型やレコードを使って同様の構造を表現できます。
code:haskell
data Schedule = Monthly | Weekly | Biweekly deriving (Show, Eq)
data PayClass = Salaried Int | Hourly Int | Commissioned Int Float deriving (Show, Eq)
data Disposition = Mail String String | Deposit String String | Paymaster String deriving (Show, Eq)
employee1 :: Employee
employee1 = Employee
{ empId = "emp1"
, schedule = Monthly
, payClass = Salaried 5000
, disposition = Mail "name" "home"
}