daitai-lang クイック・リファレンス

一枚物の要約です。規範的仕様は v1.4 仕様 を参照してください。

キーワード

class    interface   enum        function    method
static   return      if          else        for
in       while       match       case        val
this     import      module      implements  extends

代数キーワード (v1.2 以降)

MONOID  GROUP  RING  SEMIRING  LATTICE  CATEGORY
FUNCTOR APPLICATIVE MONAD COMONAD FREEMONAD ARROW
NATURALTRANSFORM COALGEBRA YONEDA ADJUNCTION GALOIS
TOPOS OPERAD MONOIDALCATEGORY ENRICHEDCATEGORY

リテラル

42              -- Int
3.14            -- Float
true, false     -- Bool
"hello"         -- String
None            -- Optional<T> (空)
Some(x)         -- Optional<T> (値あり)
/pattern/flags  -- Regex
|0⟩, |1⟩, ⟨ψ|   -- bra-ket (v1.3 以降)

効果

例外はありません。失敗しうる演算は Result<T, E> を返します:

function parseInt(s: String) -> Result<Int, ParseError>

null ポインタもありません。不在は Optional<T> です:

function find(xs: List<T>, p: T -> Bool) -> Optional<T>

暗黙の変更もありません。変更は Step の背後に置かれます:

function tick(state: GameState, dt: Duration) -> GameState =
  Step(state, .player.position, dt * state.player.velocity)

次に読むもの