← IO.getStdin IO.println "年齢を入力してください" let str ← stdin.getLine match str.trim.toNat? with | none => IO.println "数字を入力してください" | some age => if age <= 12 then IO.println "こども" else IO.println "おとな" 入出力はdo構文というやつを使います。入出力に構文を使うのはPython2も同じです し楽勝ですね! パターンマッチもあってプログラムも安全! 12
Nat := fun h => match n with | Nat.zero => absurd h (Nat.not_lt_zero 0) | Nat.succ m => m -- checkコマンドは型を表示します。 #check pred -- pred : (n : Nat) → n > 0 → Nat n > 0 では、型が値(項)に依存しています。このような型を依存型といいます。 依存型を持つ言語はLeanの他にCoq、Isabelle、Idrisなどありますが、かなり希少で す。 16