CacheSim/src/Main.elm

51 lines
1.4 KiB
Elm
Raw Normal View History

2019-05-27 14:08:48 -07:00
import CacheSim.Model exposing (..)
import CacheSim.Cache exposing (..)
import CacheSim.IntMap exposing (..)
2019-05-28 19:37:22 -07:00
import CacheSim.Update exposing (..)
import CacheSim.Hierarchy exposing (..)
import CacheSim.Raw exposing (..)
import CacheSim.View exposing (..)
2019-05-27 14:08:48 -07:00
import Browser exposing (Document, document)
import Html exposing (text)
init : Flags -> (Model, Cmd Msg)
init f =
let
initialModel =
{ rawHierarchy = []
, hierarchy = Nothing
, accessView = Nothing
2019-05-28 22:12:36 -07:00
, accessInput = ""
}
in
(initialModel, Cmd.none)
2019-05-27 14:08:48 -07:00
view : Model -> Document Msg
view m =
{ title = "Cache Simulator"
2019-05-28 20:08:04 -07:00
, body = [ viewBase m ]
2019-05-27 14:08:48 -07:00
}
update : Msg -> Model -> (Model, Cmd Msg)
update msg m =
case msg of
2019-05-28 19:37:22 -07:00
ChangeRawModel l f -> updateChangeRawModel l f m
CreateRawModel -> updateCreateRawModel m
DeleteRawModel i -> updateDeleteRawModel i m
UseHierarchy cmh -> updateUseHierarchy cmh m
Access i -> updateAccess i m
2019-05-28 22:12:36 -07:00
ChangeAccessInput s -> ({ m | accessInput = s }, Cmd.none)
AccessViewCancel -> updateAccessViewCancel m
AccessViewForward -> updateAccessViewForward m
AccessViewBack -> updateAccessViewBack m
2019-05-27 14:08:48 -07:00
subscriptions : Model -> Sub Msg
subscriptions m = Sub.none
2019-05-27 14:08:48 -07:00
main = document
{ init = init
, view = view
, update = update
, subscriptions = subscriptions
}