
Sign up to save your podcasts
Or


Juniper for Rust
Hasura (database-schema based API)
Postgraphile (database-schema based API)
Discourse thread on differences between all the Elm graphql libraries
harmboschloo/graphql-to-elm - library for generating Elm functions to make queries from GraphQL strings
Evan Czaplicki's talk The Life of a File.
Richard Feldman's Frontend Masters Elm courses
Explore many different data modeling options
Make Impossible States Impossible Elm Radio episode
Wait until you feel the pain vs create abstractions before you need them
Does the code quality metric of line count apply in Elm since there's no spooky action at a distance
Aim for loose coupling, high cohesion
Localized reasoning
Core mechanics of Elm modules
You can think of the update function as a delegator - get things to the right place rather than doing the work itself
elm-review
TCC (test && commit || revert)
Protecting invariants
Hiding internals
Decoupling
TDD helps drive module design.
Experiment, but review your experiments before they become deeply ingrained.
Pain in code is for sending a message.
Technical debt isn't about "clean code". It's abstractions that serve what the code is doing. Abstractions are inherently expensive and a type of tech debt if they don't serve a purpose for your specific needs.
Be proactive - immediately as soon as there is a clear way to make code better (not perfect, small improvement) - do it
Relentless, Tiny Habits
elm-test Elm Radio episode
Testing is helpful for identifying modules - see keystone testing habit blog post
Property based testing is a sign that something is a module - it has a clear property, which means you want to protect the internals
It's okay to get it wrong, just don't get it all wrong up front with premature abstractions.
elm-css
Tereza's line-charts package
Tereza's elm Europe talk
elm-graphql
Gilded rose live stream
Snapshot testing (also called Approval Tests)
Jeremy Fairbank's Boolean Blindness talk
Offical elm-spa Guide
#elm-spa-users channel on the official Elm slack
elm-spa-realworld (Ryan's version of elm-spa-example using his elm-spa framework)
Exploring elm-spa example - Richard's conference talk walking through codebase
Richard's Frontend Masters courses focus heavily on his elm-spa-example repo
Elm Radio Episode 7: Extending Elm
the difference between validation and parsing lies almost entirely in how information is preserved
Shotgun parsing is a programming antipattern whereby parsing and input-validating code is mixed with and spread across processing code—throwing a cloud of checks at the input, and hoping, without any systematic justification, that one or another would catch all the “bad” cases.
Why the term "parse"?a parser is just a function that consumes less-structured input and produces more-structured output
Two ways to use this technique:
Weaken return type
Strengthen input type
Design by contract
Elm Radio JSON decoders episode
Also known as Property-Based Testing
Martin Janiczek's elm-minithesis project
elm-test's view testing API includes Test.Html.Query, Test.Html.Selector, and Test.Html.Event
Testing pyramid
Mocking and stubbing are not needed or possible in Elm
Order dependent test helper in Ruby: i_suck_and_my_tests_are_order_dependent
elm-program-test
There used to be a notion of a single type defining all possible styles
Latest elm-ui simplifies that by using only inline styles. You build your own abstractions with vanilla Elm functions/modules etc.
Element type is the equivalent of the Html type from elm/html
elm-css package
Mobster app
Element.html works at leaf nodes, but elm-ui in general doesn’t mix with plain html
Element.htmlAttribute
Refactoring is a huge asset for a team, so much easier than css refactoring
Doesn’t expose all the css tricks directly, sometimes you need escape hatches to access those
Lucas Payr's elm-ui-widgets
elm-pages StaticHttp API
Elm radio episode 1 on elm pages
elm-graphql
Codegen
Macros
Elixir exunit
Wrapper elm apps
Can emulate effect managers
Platform.worker
Introspection
elm-typescript-interop
Ports and flags
Web Components
Code transformation
Elm asset loader webpack
Hacking JS to get FFI
Depending on internal details could end up with broken code
elm-hot and elm-hot-webpack-loader
Pitfalls and considerationsCodegen
Macros
Provide a platform with extensions in mind when you build tools so you don’t require users to hack
When you build a tool, think about the mental model for uses, let that guide you. Avoid leaky abstractions
Be opinionated about the core things, and unopionated about what’s not essential to the tool
From the publisher's feed