Kasutaja:Rando Tõnso/Elm (programmeerimiskeel)
Elm | |
---|---|
Faililaiend | .elm |
Paradigma | funktsionaalne |
Väljalaskeaeg | 2012 |
Looja | Evan Czaplicki |
Viimane väljalase | 0.19.1 (oktoober 2019) [1] |
Tüüpimine | staatiline |
Mõjutatud keeltest | Haskell, Ocaml, ML |
OS | veebilehitseja või muu Javascripti toega keskond |
Litsents | 3-osaline BSD [2] |
Veebileht | https://elm-lang.org |
Palun veel mitte läbi vaadata / hinnata. Ma pole vahepeal üldse artikliga tegelenud.
Elm on puhas funktsionaalne programmeerimiskeel, mis kompileerub JavaScriptiks. Elm sobib töökindlate veebirakenduste loomiseks, kuna kasutab tugevat staatilist tüüpimist ja erindite asemel ammenduvat mustrite sobitamist (TODO: ?).
Ajalugu[muuda | muuda lähteteksti]
Süntaks ja semantika[muuda | muuda lähteteksti]
Lihtne funktsioon[muuda | muuda lähteteksti]
-- Lihtne funktsioon (signatuuri ei pea alati andma)
square : Float -> Float
square a = a * a
Kasutaja defineeritud tüübid[muuda | muuda lähteteksti]
Elm toetab strukturaalseid andmetüüpe.
-- struktuur tüübiga { nimi : String, elukoht : String }
karlson = { nimi = "Karlson", elukoht = "katus" }
-- tüüpidele lühemaks kirjutamiseks saab kasutada sünonüüme
type alias Inimene = { nimi : String, elukoht : String }
-- Funktsioon, mis koostab inimese ja uue elukoha põhjal uue inimese.
koli : Inimene -> String -> Inimene
koli inimene uus_kodu = { inimene | elukoht = uus_kodu }
karlson_keldris = koli karlson "kelder"
Elm toetab ka algebrailiseid andmetüüpe, näiteks on tuumikteegis defineeritud tüüp Maybe.
type Maybe a
= Just a
| Nothing