first commit

This commit is contained in:
Yann Esposito (Yogsototh) 2016-07-27 00:21:56 +02:00
commit 35db20b196
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646
4 changed files with 93 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
elm-stuff/
repl-temp-*

26
Counter.elm Normal file
View file

@ -0,0 +1,26 @@
import Html exposing (Html, button, div, text)
import Html.App as Html
import Html.Events exposing (onClick)
main : Program Never
main = Html.beginnerProgram { model = model
, view = view
, update = update
}
type alias Model = Int
model : Model
model = 0
type Msg = Increment | Decrement
update : Msg -> Model -> Model
update msg model = case msg of
Increment -> model + 1
Decrement -> model - 1
view : Model -> Html Msg
view model = div []
[ button [ onClick Decrement ] [text "-"]
, div [] [text (toString model)]
, button [ onClick Increment ] [text "+"]
]

50
Main.elm Normal file
View file

@ -0,0 +1,50 @@
import Html exposing (Html, button, div, text)
import Html.App as App
import Time exposing (Time,second)
import Html.Events exposing (onClick)
main : Program Never
main = App.program { init = init
, view = view
, update = update
, subscriptions = subscriptions
}
-- MODEL
type alias Model = { money : Int
, t : Time
}
init : (Model,Cmd Msg)
init = ({ money = 0
, t = 0
}, Cmd.none)
-- UPDATE
type Msg = Gain Int | Tick Time | Reset
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
let newmodel = case msg of
Gain i -> { model | money = (model.money + i) }
Tick newTime -> { model | money = model.money + (if model.t > 0
then truncate ((newTime - model.t) / 1000)
else 0)
, t = newTime }
Reset -> { model | money = 0 }
in (newmodel,Cmd.none)
-- SUBSCRIPTION
subscriptions : Model -> Sub Msg
subscriptions model = Time.every second Tick
view : Model -> Html Msg
view model = div []
[ button [ onClick (Gain 1) ] [text "+1"]
, button [ onClick (Gain 2) ] [text "+2"]
, div [] [text (toString (.money model))]
, button [ onClick Reset ] [text "0"]
]

15
elm-package.json Normal file
View file

@ -0,0 +1,15 @@
{
"version": "1.0.0",
"summary": "helpful summary of your project, less than 80 characters",
"repository": "https://github.com/user/project.git",
"license": "BSD3",
"source-directories": [
"."
],
"exposed-modules": [],
"dependencies": {
"elm-lang/core": "4.0.3 <= v < 5.0.0",
"elm-lang/html": "1.1.0 <= v < 2.0.0"
},
"elm-version": "0.17.1 <= v < 0.18.0"
}