3 ms·
Evan Czaplicki. He created the Elm language. While other people ported Haskell-like languages to the web (Purescript, GHCJS, Fay, ... ), Evan found a way to ta
by quickthrower2 7y ago
Evan Czaplicki.
He created the Elm language. While other people ported Haskell-like languages to the web (Purescript, GHCJS, Fay, ... ), Evan found a way to tame the complexity of the web with an evolving architecture that start with something like FRP / Rx and ended up with the Elm Architecture, which hits a sweet spot. You can even use T.E.A. without using Elm! Although it's best using a functional language that supports immutability, otherwise there is more work trying to not mutate things.
T.E.A. has been copied to a number of different languages and is manifested inside the Redux pattern. I think time will hopefully tell that his work will have big influence on UI and Web development in the 2020's, whether we are directly using Elm or something based on those ideas.
T.E.A. is:
A global state.
A set of defined messages that can be sent to update the global state.
An update function - given a message, and the global state returns a new global state and any asynchronous "commands" to execute. Commands go off and do something then post a message once done.
A view function - given a global state returns a representation of how to render the UI. This representation includes messages to send on events such as "onclick".
Subscriptions - these produce messages when things happen in the real world, for example local storage state changes.