Richard Feldman
Warning: Esoteric talk 🤯
Idea: What if we recreate all existing elm types with custom types? 🤔
type IssuePriority
= High
| Medium
| Low
type Never
= GiveMeOneMore Never
GiveMeOneMore (GiveMeOneMore (GiveMeOneMore (...))
Write Elm programs with interactive code playgrounds in Elm 😍
Creator and maintainer of elm-physics:
Albert Dahlin
Code reuse
Reusable module is called "process"
NOTE: This type of architecture is natural for e.g. Erlang or Elixir, but feels really unnatural in Elm
mapIn : Msg -> Maybe Tags.MsgIn
mapIn globalMsg =
case globalMsg of
Msg.UI_Tags msg ->
Just msg
Msg.Event_Tags ->
....
mapOut : PID -> Tags.MsgOut -> SysMsg
mapOut myPid tagMsg =
case tagMsg of
Tags.GiveMeTags ->
-- fetch tags via API
Tags.TagClicked tag ->
-- load articles with the clicked tag
Jono Mallanyk
Borrow the principles of The Elm Architecture
to create a specification language for new designs:
-- String represents id of the team
getByTeamId : String -> Team
getByTeamId teamId =
...
type alias TeamId
= String
getByTeamId : TeamId -> Team
getByTeamId teamId =
...
module TeamId exposing (TeamId)
type TeamId =
TeamId String
...
"This week I started to use react-native + redux + saga in my work, and I can't believe people are used to that. Even being one of the less awful options in the mainstream, everything crashes so easily, tons of boilerplate and unnecessary libs to connect everything together, and it's a big mess, inconsistent and over-complicated APIs, breaking changes everytime, broken tutorials, etc. Knowing Elm and typed FP made me hate everything. I hope that in a near future we will do Elm mobile development in production."
Anonymous on Elm Slack
video producer Dan Abrams
(* not the same person as Dan Abramov)
Live demo of the video software he made in Elm, which is, as he's giving the talk, being used to record him giving the talk.
Different camera views:
Transitions allowed only between certain views:
type Transition
= FullToTwoThird TwoThird
| LowerThirdToFull LowerThird
type CameraView
= Full
| TwoThird
| LowerThird
Elm Search - Hoogle for Elm
Make the change easy, then make the easy change
Albert: Is Evan sitting alone and working on Elm?
Richard: ...yeah, that's pretty much the case :)
He works remotely and we sometimes have a conference call to sync.
Currently designing a way to "mock" API calls in tests. Example scenario:
"Test that when we send the message, (1) the current time is picked up and (2) an API call is sent to a certain URL with the current time as the timestamp."
React
Elm