
Sign up to save your podcasts
Or


Indications that you might be better off with parser
There's likely a specification doc if you're parsing a language or formal syntax
Look at examples of parser projects
Look at elm/parser docs and resources
Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
Start by asking "What problem are you solving? Who are you solving it for?"
Scratch your own itch
elm-graphql
servant-elm (for Haskell servant)
Keep yourself honest about solving problems by starting with an examples/ folder
Early elm-graphql commits started with examples before anything else
Write meaningful test cases with elm-test
elm-verify-examples
Have a clear vision
Ask people for feedback
Let ease of explanation guide you to refine core concepts
Share your package ideas with us @elmradiopodcast on Twitter!
Here's an Ellie example that shows the error when you have an implicit type that your flags decode to and it's incorrect.
Sorry Dillon... Jeroen won the trivia challenge this time 😉 It turns out that ports will throw exceptions when they are given a bad value from JavaScript, but it doesn't bring down your Elm app. Elm continues to run with an unhandled exception. Here's an Ellie example.
Flags and ports will never throw a runtime exception in your Elm app if you always use Json.Decode.Values and Json.Encode.Values for them and handle unexpected cases. Flags and ports are the one place that Elm lets you make unsafe assumptions about JSON data.
Benefits of Elm's Approach to JSONNote about Decode.maybe. It can be unsafe to use this function because it can cover up failures.
Json.Decode.Extra.optionalNullableField might have more intuitive and desirable behavior for these cases.
Thank you to lydell for the tip! See the discussion in this discourse thread.
Learning resourceSubmit your question to Elm Radio!
Some patterns
Example - the Element type in elm-ui.
Definition of the Element type alias
elm-ui's elm.json file does not expose the internal module where the real Element type is defined.
Example from elm-graphql codebase - CamelCaseName opaque type
elm-pages hydrates into a full Elm app. It solves similar problems to what GatsbyJS solves in the ReactJS ecosystem.
Static site generators with JS-free outputhttps://korban.net/elm/elmstatic/
https://jekyllrb.com/
Eleventy
Open Graph tags
Asset management with elm-pages (CSS vs. SASS,etc.)Github issue discussing using the Unix Toolchain Philosophy in the context of keeping elm-pages focused on primitive assets for elm apps
Compared to extending the Gatsby webpack config
SOLID Open-Closed Principle
elm-pages showcase
Chandu's art showcase (built with elm-pages) - https://tennety.art/
Headless CMSes vs. monolothic site providershttps://www.sanity.io/
contentful.com
https://airtable.com/
netlifycms.org
CDN hosting provider Netlify
Static Site Generators and The JAMstackhttps://jekyllrb.com/ - static site builder in Ruby - perhaps the first static site generator?
Eleventy - spritual successor to Jekyll - but more flexible
More info on what exactly is the JAMstack?
elm-pages-starter repo
elm-pages vs. elm/browserPages.Platform.application
The elm-pages StaticHttp APIStaticHttp Docs (there's a description of when and why you would use this compared to elm/http)
elm-pages.com blog post A is for API - talks about StaticHttp and its lifecycle, including some example code.
Core ConceptsIncremental Elm Live - Twitch streaming series
Where to learn moreFrom the publisher's feed