Lean (programovací jazyk)
Technology
12 hours ago
8
4
2
Author
Albert FloresLean je čistě funkcionální programovací jazyk vyvinutý v Microsoft Research. Jedná se o jazyk navržený pro formalizaci matematických tvrzení, má proto induktivní a závislostní typy. Syntakticky vychází z jazyka ML.
Přirozená čísla se například v Leanu definují takto:
inductive Nat : Type where | zero : Nat | succ : Nat -> Nat
Tato definice vychází z Peanovy aritmetiky.
Typy v Leanu tvoří indexovanou hierarchii, aby nedošlo k Russellovu paradoxu. Jazyk obsahuje bohatou standardní knihovnu. +more Zdrojový kód se překládá do jazyka C a následně do strojového kódu. Správa paměti se provádí pomocí počítání referencí.
Lean má zvláštní typ Prop pro výroky, který je v hierarchii typů pod typem Type. Mezi jeho vlastnosti patří výroková extenzionalita a impredikativita.