tricycle/elm-actor-framework/1.4.0

Renamed to bellroy/elm-actor-framework. It is published under that name, and new versions come out there.

Versions published as tricycle/elm-actor-framework still install under that name. 2 versions of 6 come from the new location (see their notes). 4 versions could not be recovered and cannot be installed.

Rerouted (cache, verified). The original is gone. This copy comes from a Lamdera package cache made before it went. The Lamdera package server serves a copy recovered from a Lamdera package cache from 2021-02-13.

What we checked: Rebuilt from the unpacked sources in a Lamdera package cache (5 copies agree), which Elm only writes after the published SHA-1 checked out; elm.json is byte-identical to package.elm-lang.org's; the exposed modules match docs.json; the zip is our own, so its SHA-1 is not the published one.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/tricycle/elm-actor-framework/zipball/1.4.0/

Framework.Browser


Program

Elements

Documents

Application


type alias Program elmFlags appFlags appAddresses appActors appModel appMsg =
Program
elmFlags
(FrameworkModel appAddresses appModel)
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)

All of the functions in this module will return a Program. A Program describes an Elm program! How does it react to input? Does it show anything on screen? Etc.

Elements

{ factory :
appActors
-> ( Pid, appFlags )
-> ( appModel
, FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, apply :
appModel
-> Process
appModel
output
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, init :
elmFlags
-> FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
, view :
List output
-> Html
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
}
-> Program
elmFlags
appFlags
appAddresses
appActors
appModel
appMsg

Create an HTML element managed by Elm. The resulting elements are easy to embed in larger JavaScript projects, and lots of companies that use Elm started with this approach! Try it out on something small. If it works, great, do more! If not, revert, no big deal.

Documents

{ factory :
appActors
-> ( Pid, appFlags )
-> ( appModel
, FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, apply :
appModel
-> Process
appModel
output
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, init :
elmFlags
-> FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
, view :
List output
-> List
(Html
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
)
}
-> Program
elmFlags
appFlags
appAddresses
appActors
appModel
appMsg

Create an HTML document managed by Elm. This expands upon what element can do in that view now gives you control over the <title> and <body>.

Application

{ factory :
appActors
-> ( Pid, appFlags )
-> ( appModel
, FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, apply :
appModel
-> Process
appModel
output
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, init :
elmFlags
-> Url
-> Key
-> FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
, view :
List output
-> List
(Html
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
)
, onUrlRequest :
UrlRequest
-> FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
, onUrlChange :
Url
-> FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
}
-> Program
elmFlags
appFlags
appAddresses
appActors
appModel
appMsg

Create an application that manages Url changes.

Utility

type alias FrameworkModel appAddresses appModel =
FrameworkModel appAddresses appModel

An alias for the Internal Framework Model

{ factory :
appActors
-> ( Pid, appFlags )
-> ( appModel
, FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, apply :
appModel
-> Process
appModel
output
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
}
-> { init :
FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
-> ( FrameworkModel appAddresses appModel
, Cmd
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
)
, update :
FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
-> FrameworkModel appAddresses appModel
-> ( FrameworkModel appAddresses appModel
, Cmd
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
)
, subscriptions :
FrameworkModel appAddresses appModel
-> Sub
(FrameworkMessage
appFlags
appAddresses
appActors
appModel
appMsg
)
, view :
(List output -> List (Html msg))
-> FrameworkModel appAddresses appModel
-> Document msg
}

Returns a record that is ready to be used on one of the elm/browsers creation functions.

This can be used to roll your own Program

getInstance : Pid -> FrameworkModel appAddresses appModel -> Maybe appModel