// guess the programming language of the day

$ whois elm

Elm

first released in 2012 · by Evan Czaplicki

$ guessprog --inspect elm

year
2012
paradigm
functional
family
ml
memory
automatic gc
binding
static
safety
strong

ELM(7)

AUTHORS
Evan Czaplicki
HISTORY
Evan Czaplicki designed Elm as his senior thesis at Harvard in 2012, aiming to make functional reactive programming practical for building web interfaces. Elm is a purely functional language that compiles to JavaScript and promises no runtime exceptions in practice, thanks to its type system and the absence of null. Its pattern for structuring apps, The Elm Architecture, inspired the Redux library for JavaScript. Elm is also famous for unusually friendly compiler error messages.
USAGE
Elm is a niche language for front-end web development, used by a small community and a handful of companies such as NoRedInk. Releases have been rare since version 0.19.1 in 2019, which has limited its growth.
SEE ALSO
Elm on Wikipedia ↗
$ cat Counter.elm
import Browser
import Html exposing (button, div, text)
import Html.Events exposing (onClick)

type Msg = Increment | Decrement

main =
    Browser.sandbox { init = 0, update = update, view = view }

update msg model =
    case msg of
        Increment -> model + 1
        Decrement -> model - 1

view model =
    div []
        [ button [ onClick Decrement ] [ text "-" ]
        , text (String.fromInt model)
        , button [ onClick Increment ] [ text "+" ]
        ]