Skip to content

Instantly share code, notes, and snippets.

@k4ml
Created October 29, 2016 23:16
Show Gist options
  • Save k4ml/cabee76b1ff0e39a3805abde50d18ed6 to your computer and use it in GitHub Desktop.
Save k4ml/cabee76b1ff0e39a3805abde50d18ed6 to your computer and use it in GitHub Desktop.
Elm intro
import Html exposing (Html, button, div, text)
import Html.App as App
import Html.Events exposing (onClick)
main =
App.beginnerProgram { model = model, view = view, update = update }
-- MODEL
type alias Model = { one: Int, two: Int }
model : Model
model =
{ one = 0, two = 10 }
-- UPDATE
type Msg = Increment | Decrement | Reset
update : Msg -> Model -> Model
update msg model =
case msg of
Increment ->
{ model | one = model.one + 1, two = 20 }
Decrement ->
{ model | one = model.one - 1 }
Reset ->
{ model | one = 0 }
-- VIEW
view : Model -> Html Msg
view model =
div []
[ button [ onClick Decrement ] [ text "-" ]
, div [] [ text (toString model.one) ]
, div [] [ text (toString model.two) ]
, button [ onClick Increment ] [ text "+" ]
, button [ onClick Reset ] [ text "Reset" ]
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment