Elm Radio

Follow Elm Radio
Share on
Copy link to clipboard

Tune in to the tools and techniques in the Elm ecosystem.

Dillon Kearns, Jeroen Engels


    • Dec 4, 2023 LATEST EPISODE
    • every other week NEW EPISODES
    • 1h 9m AVG DURATION
    • 95 EPISODES


    Search for episodes from Elm Radio with a specific topic:

    Latest episodes from Elm Radio

    096: Optimizing Bundle Size

    Play Episode Listen Later Dec 4, 2023 72:34


    The cost of JavaScript in 2019 (discusses the cost of JSON parsing strings vs. JS JSON literals in this section)img tag lazy attributedillonkearns/elm-bcp47-language-tagjfmengels/elm-review-unusedMario Rogic's gist on the reasons code splitting can't be done right now with Elm's compiler internalsBreaking up with SVG-in-JS blog postHTML use tag lets you do SVG sprite sheetsElm Radio Code Generation episodematheus23/elmjs-inspectProjects We Wish We Had Time For episodeWhy We're Breaking Up with CSS-in-JSdillonkearns/elm-css-transpiler-demoSimon Lydell's discourse post What I've learned about minifying Elm code

    095: elm-open-api with Wolfgang Schuster

    Play Episode Listen Later Nov 20, 2023 78:10


    Wolfgang Schuster (github) (twitter)elm-open-api (NPM package) (Elm package)Akita (now part of postman)JSON Schemadillonkearns/elm-formWolfgang's Effortless SDKs blog postGraphQL Custom Scalar Codecs feature in dillonkearns/elm-graphqlelm-units packageOpen API Generatorswagger-elmelm-open-api Real World example

    094: elm-concurrent-task with Andrew MacMurray

    Play Episode Listen Later Nov 6, 2023 62:34


    Andrew MacMurray (github) (site)elm-concurrent-tasklobanov/elm-taskportelm-pages v3's BackendTask APIelm-review-simplify0ui/elm-task-parallel packageelm/core Task APIlamdera-program-testelm-pkg-js - A standard for shipping simple JS with Elm Packageselm-concurrent-task pipeline worker example

    093: elm-visualization with Jakub Hampl

    Play Episode Listen Later Oct 23, 2023 72:05


    Jakub Hampl (github) (site)elm-visualizationelm-visualization intro guideelm-visualization's Scale APID3 selectionselm-vega and elm-vega-liteelm-visualization's example gallerygampleman/elm-example-publisherWGS84 specavh4/elm-colorelm-community/typed-svgfolkertdev/one-true-path-experimentelm-visualization 2.4.0 release notesWeather radial examplegampleman/elm-rosetree

    092: Elm News with Wolfgang Schuster

    Play Episode Listen Later Oct 9, 2023 76:35


    Wolfgang Schuster (github) (twitter)Elm WeeklyElm CampsegakcapElm Online MeetupElmcraftElm LandElm at a Billion Dollar Company episodeElm 2022 Year in Review postThe Elm DiscourseCasper Schipper's audio/visual art pieceEmail elmweekly.wolfgang gmail.com to suggest links for the newsletter

    091: Code Reading Club with Katja Mordaunt

    Play Episode Listen Later Sep 25, 2023 77:57


    Katja Mordaunt (github) (website)Code Reading ClubCode Reading Club's GitHubFelienne HermansThe Inner Game of Tennis Felienne's book The Programmer's BrainScaling Elm Apps Elm Radio episode

    090: elm-land with Ryan Haskell-Glatz

    Play Episode Listen Later Sep 11, 2023 68:32


    Ryan Haskell-Glatz (twitter) (youtube) (github) (sponsor)elm-landElm Radio elm-spa episodeEvan's talk Let's be mainstream!"Take responsibility for user experiences" (from the Elm philosophy)Ryan's live stream video

    089: The Human Side of Open Source

    Play Episode Listen Later Aug 28, 2023 72:47


    Elm Radio episode Funding Open Source with Evan CzaplickiNonviolent CommunicationDavid Marquet TED Talk How Great Leaders Serve OthersElm Radio episode Developer Productivity

    088: Avoiding Unused Code

    Play Episode Listen Later Aug 14, 2023 66:53


    elm-review-unusedSafe dead code removal in a pure functional languageElm Town 60 with Wolfgang Schuster - Productivity and the culture of moving a little bit slower

    087: Evergreen Migrations with Mario Rogic

    Play Episode Listen Later Jul 31, 2023 98:17


    Mario Rogic (GitHub) (Twitter)LamderaMario's Elm Europe talk Evergreen ElmLamdera 1.1.0 release notes (automatic migration generator)elm-pkg-js spec

    evergreen migrations rogic elm europe
    086: elm-pages v3

    Play Episode Listen Later Jul 17, 2023 82:55


    elm-pages scripts episodeOptimizedDecoder in elm-pages v2Netlify's DPR (Distributed Persistent Rendering)elm-pages v3 Express community adapterelm-pages v3 Session APIWriting Great Docs episodedillonkearns/elm-form episodeelm-pages v3 announcement post

    085: Why We Care About Elm

    Play Episode Listen Later Jul 3, 2023 68:44


    Ruby Enumerable moduleRuby Shovel OperatorJeroen's Elmcraft post ESLint Equivalents in ElmLamderaelm-uielm-tailwind-moduleselm-formatlamdera/program-test

    084: Writing Great Docs

    Play Episode Listen Later Jun 19, 2023 100:31


    Evan's Elm philosophy tweetelm-review docselm-doc-previewelm-review-documentationelm-verify-examplessparksp/elm-review-forbidden-wordselm-package-starterIdiomatic Elm Package Guideelm-bookElm Radio episode How (And When) to Publish a PackageDocs for Developers book

    083: elm-review Data Extractors

    Play Episode Listen Later May 22, 2023 73:33


    elm-review Data Extractorselm-codegenelm-pages Scriptsjfmengels/elm-review-licenseNoDeprecated Ruleelm-review preventExtract functionBrian Hicks' tree-grepperelm-review ModuleNameLookupTablejfmengels/elm-review-cognitive-complexityelm-coverageelmi-to-jsonReview.Test.expectDataExtractJeroen's blog post Gaining insight into your codebase with elm-review

    082: Elm and Haskell with Flavio Corpa

    Play Episode Listen Later May 8, 2023 86:30


    Flavio Corpa (github)Flavio's blog post series Giving Names to StuffRunning Out of Maps blog postElm Radio Category Theory episodeFunctorsApplicativeMonadQuick check haskellcherry-coreNRI preludeScaling elm apps episodelexi-lambda comment about laziness in HaskellEffectful Haskell libraryundefined in HaskellStrange Loop conference talk Point-Free or Die: Tacit Programming in Haskell and BeyondElm 0.18 functions curry, uncurry, and flipElm in ActionHaskell Programming From First Principles book

    081: elm-form

    Play Episode Listen Later Apr 24, 2023 64:17


    dillonkearns/elm-formExploring a New Form API Design episode (discussion of some ideas that became dillonkearns/elm-form)Ellie example of elm-formMeetdown code that does additional checks to ensure that opaque type are trusted (sending unparsed data in Lamdera sendToBackend avoids this pattern)Lamdera example with elm-formelm-app-urldillonkearns/elm-package-starter

    080: Elm and AI

    Play Episode Listen Later Apr 11, 2023 83:10


    ChatGPTGitHub Co-PilotTweet showing intermediary questions prompt engineering techniqueelm-gql episodeDillon's prompt engineering type puzzle examplesDecode mapping solution (correct on first try)Markdown solution with 2 corrections from compiler feedbackDillon's Frame Then Fill In blog post describes a similar method to the GPT prompt

    079: Scaffolding Elm Code

    Play Episode Listen Later Mar 28, 2023 68:21


    elm-codegen episodeElm Code Generation episodeScaffold API in elm-pages v3 betaExploring a New Form API Design episodeDHH Building a Rails blog in 15 minuteselm-pages Scripts episodeExample of elm-pages AddRoute scriptelm-pairelm-review-html-to-elmalexkorban/elm-review-json-to-elm

    078: Color parameters in elm-tailwind-modules with Philipp Krüger

    Play Episode Listen Later Mar 13, 2023 68:33


    Philipp Krüger, aka matheus23 (github) (twitter)matheus23/elm-tailwind-modulesmatheus23/elm-default-tailwind-modulesTailwindCSSIntroduction to elm-tailwind-modules Elm Radio episodeTailwind UIhtml-to-elm.comelm-review-html-to-elm packagematheus23/elm-tailwind-modules-base

    077: elm-app-url with Simon Lydell

    Play Episode Listen Later Feb 27, 2023 67:01


    Simon Lydell (github)lydell/elm-app-urlShort YouTube walkthrough Introducing elm-app-urlJohn Kelly's blog post explaining the URL parser types understanding the design of elm/urlRichard Feldman's conference talk explaining early elm-css syntax design ideas and changes over time The Design Evolution of elm-css and elm-testURLSearchParams in JavaScriptWHATWG URL StandardArlo Belshee post on WET (Write Explicit Tests)

    076: Elm and Vite

    Play Episode Listen Later Feb 13, 2023 57:28


    Lindsay Wardell (github)ViteESM (native JS module import statement)esbuildRollupVitestTurbopackVite SSR mode (for framework authors)vite-plugin-elmDocs on configuring ViteLindsay's vite-elm-templateWeb Workers APILindsay's blog post Utilizing Elm in a Web Workerelm-watch Elm Radio episodeArticle about finding Google Fonts embeds to be in violation of GDPRGoogle fonts download plugin setup in the elm-pages docs sitevite-nodeawesome-vite repoLindsay's ViteConf 2022 talk Functional Programming in Vite with ElmViteConf 2022 talks

    075: elm-pages scripts

    Play Episode Listen Later Jan 30, 2023 74:25


    elm-pages v3 (still in pre-release)elm-pages v2 DataSources are called BackendTasks in v3Feels similar to elm/core Task (andThen, map, mapError)Script.logMinimal setup repo for running scriptswolfadex/elm-inkBackendTask.Custommdgriffith/elm-codegenFatalErrorBackendTask.allowFatalZoddillonkearns/elm-cli-options-parser (Elm package for parsing command-line flags and showing help text)Other Elm tools for running scriptselm-posixelm-scriptelm-pages V3 starter (still pre-release)elm-pages V3 beta package#elm-pages Slack channel

    074: Plug and Play Design Systems with Georges Boris

    Play Episode Listen Later Jan 16, 2023 74:09


    Georges Boris (twitter) (github) (Uncover)elm-widgetsTwitter Bootstrapelm-themeelm-theme Tailwind pluginelm-sortable-table philosophy in readmeConfidenceman02/elm-select/latest/tesk9/elm-accessible-htmltesk9/paletteelm-theme showcase site using Elm Bookelm-theme theme generatorWhy Breaking Up with CSS-in-JS blog postLoading widgetsModal widgetsdetails HTML elementdialog HTML elementTooltipsCSS :has() pseudo-classJS tool for theming Theme UI

    073: Security in Elm

    Play Episode Listen Later Jan 2, 2023 61:33


    Bobby Tables XKCD comicSQL injectionsDDoS attacksXSS (Cross-Site Scripting) attack prevention cheatsheetJeroen's blog post Fixing vulnerabilities in Elm's virtual DOMHTTP cross origin cookie policy optionsRichard's Oslo Elm Day keynote where he discusses rolling your own tools for security reasonslukewestby/elm-http-builderOutput Encoding articleElm's Virtual DOM implementationFeross' CS 253 Stanford Web Security course on YouTubeWeb Security course notes and slidesFeross' blog post What's Really Going On Inside Your node_modules Folder?

    072: 2022 Holiday Special

    Play Episode Listen Later Dec 19, 2022 76:09


    GuestsMario Rogic (twitter) (github)Matthew Griffith (twitter) (github)LinksElmcraft.orgJeroen's Elmcraft article ESLint equivalents in ElmMartin Janiczek's Elmcraft article on Let PolymorphismElmcraft project on GitHubElmcraft discordelm-codegenelm-gqlMatt's Strange Loop talk CodeGen with Types, for Humans, by HumansTail recursion modulo cons elm optimize level 2 prelm-review extractors featureelm-pages-v3-betaelm-pages Script (v3 feature)OpenAI whisper project on GitHubelm-watchelm-bookelm-widgetsL*a*b color spaceelm.develm-watch episodeelm-tailwind-modules color parameterization PR

    071: Deliberate Practice

    Play Episode Listen Later Dec 5, 2022 75:16


    Practice makes permanentFlow book by Mihaly CsikszentmihalyiKey Principles of Deliberate PracticeIsolationAppropriate level of challengeIntrospectionCode katasFuzz buzzTennis kataRoman Numerals KataGilded roseConstraint gamesTDD is a core tenant of katasExercismMartin Janiczek fuzz testing (and elm-test v2) episodeAdvent of CodeDillon's elm-katas starter repoElm Gilded Rose starter repoTCR (test commit revert)Dillon and Corey Haines pairing using TCR on the Gilded Rose kata in ElmDillon's example TCR script for snapshot testing workflow

    070: elm-gql with Matthew Griffith

    Play Episode Listen Later Nov 21, 2022 79:30


    vendrinc/elm-gqldillonkearns/elm-graphqlelm-codegenThe Insomnia API client has a graphql toolGraphQL variablesWrap early, unwrap lateGraphQL Union TypesGraphQL Enum typesDillon's Types Without Borders elm-conf talkGraphQL fragmentsRichard Feldman's talk Immutable Relational DataElm Store Pattern episoderemotedata packageElm Radio elm-graphql episodeVendr is hiringDillon's Types Without Borders Isn't Enough blog postelm-ts-interop episodeGraphQL approach for sending allow listed hashed query to serverGraphQL field aliasesMatthew's Strange Loop talk CodeGen with Types, for Humans, by Humansharmboschloo/graphql-to-elmDeprecated jahewson/elm-graphql toolelm-gql repo guideelm-gql GitHub API example repo

    069: Types vs. Tests

    Play Episode Listen Later Nov 7, 2022 69:40


    Is TDD Dead? (TDD is Dead and associated video discussions with TDD experts)Roc-lang's tagged unionsXP (Extreme Programming)80-20 rule (i.e. Pareto Principle)Amanda Laucher's ScalaDays talk Types vs TestsKent Beck's book TDD by Exampledtwrks/elm-bookMartin Janiczek's Elm Online talk on Storybook-driven developmentTalk with demo of program synthesisRelentless Tiny HabitsCode Katas

    068: Elm and ADD

    Play Episode Listen Later Oct 24, 2022 66:35


    Getting Things Done methodologyElm Radio Developer Productivity episodeElm Radio Parse, Don't Validate episodeScaling Elm apps Elm Radio episodeRuby's method_missingRuby's Enumerble API methodsJoël Quenneville's recommendation to write functions at a single level of abstractionelm-pages v3 API makes HttpOnly cookies opt-out instead of opt-inLlewellyn Falco and Woody Zuill's video Practical Refactoring ("Understand the code so we can change it" vs. "change the code so we can understand it")Elm Radio Incremental Steps episodeElm Radio Opaque Types episode

    api quenneville woody zuill
    067: Elm at a Billion Dollar Company with Aaron White

    Play Episode Listen Later Oct 10, 2022 84:58


    Aaron White (github) (twitter)Vendr (github)Vendr, Software Procurement Startup, Raises $150 Million at Unicorn Valuation - BloombergMake Impossible States ImpossibleLuke Westby's talk on Web ComponentsRichard Feldman's 2016 meetup talk on Web Componentselm-spa-exampleelm-spaelm-spa-realworld exampleEvan's elm-sortable-table repoActor framework or taco or Msg translator (nested TEA) didn't work out wellelm-codegenPlop templating toolStorybookEvan's vision for data interchangeVendr is hiring

    066: elm-codegen with Matthew Griffith

    Play Episode Listen Later Sep 26, 2022 81:04


    Matthew Griffith (twitter) (github)elm-codegenelm-syntaxelm-syntax-dslelm-uiElm.Type.Type from elm/project-metadata-utils represents all possible Elm typeselm-codegen announcement post on DiscourseGuides from the elm-codegen repo

    065: elm-watch with Simon Lydell

    Play Episode Listen Later Sep 12, 2022 89:37


    Simon Lydell (twitter) (github)elm-watchParcel build toolBuilding Trustworthy Tools Elm Radio episodeViteklazuka/elm-hotelm-tooling episodeelm-watch run-pty example folderSimon's run-pty tool for running commands in parallel

    064: Projects We Wish We Had Time For

    Play Episode Listen Later Aug 29, 2022 81:46


    Sponsor: CareRevCareRev is looking for Senior Frontend Elm engineers (job listing).elm-review-simplifyElm Radio Root Cause of False Positives episodeDillon's pairing session using snapshot testing prototype with Corey Haineselm-snapshot-test prototype repoApproval testingelm-coverageelm-instrumentLlewellyn Falco Gilded Rose kata videoIdea: intellij integration for elm-coverageIdea: code actions for safe refactoringsIdea: elm-review integration in intellijIdea: sparksp/elm-review-imports either new feature, or separate project to give suggestions to make all inconsistent imports in a project consistentIdea: elm-review code actionsIdea: elm-review collection mechanism to gather data from an ASTPairwise testing (or all pairs)Idea: pairwise permutation API that minimizes the number of permutations to go through to get complete coverageIdea: mutation testing tool for Elm (is Phillip's tool relevant here?)Idea: generated API for elm-graphql but with factory-style API for mocking out data that is compliant to the graph schema, for use with things like elm-program-testIdea: Browser.application wrapper that provides some common initial flags like start time, initial window dimensions etcIdea: HTTP Error type to get bad status payload that can be shared between libraries to reuse the same type (similar to the HttpError type defined in elm-graphql)Aaron's community-standard elm-color packageIdea: tool to automatically vendor or un-vendor Elm packagesIdea: elm-format in ElmIdea: elm diff, but it gives you more detailed information about code changes even if they don't change the APIIdea: Phantom Builder analyzer that generates a state diagram from Elm codeIdea: suggest types based on what's possible in your current editor contextIdea: type inference and value inference in elm-reviewelm-http-fusionIdea: use a collection of HTTP requests to an endpoint in elm-http-fusion to gather better type incormation about an APIIdea: make tools like elm-http-fusion embeddable in the elm-pages dev server so you can interactively fix decoder errors, etc.Idea: elm-pages dev server code actions from the UI, like scaffolding new routeselm-codegenIdea: use elm-codegen for elm-pages scaffolding for user-customizable templatesOfficial Elm blog post The Syntax CliffIdea: show ANSI color code error messages embedded in blog postsTalk about the Hedy language: What every programmer should know about cognition by Felienne HermansElm Guide translated into FrenchIdea: translatable error messages and language keywords for ElmIdea: elm-css tool to make inline styles into static CSS files and replace the styles with a reference to the generated class. Goal: reduce bundle size and performance overheadIdea: codemod tool to post-process Elm code using elm-review fixes in a hidden temp directoryIdea: Elm step debuggerIdea: elm/parser debugger to see the state machine of what has been consumedIdea: Elm debugger improvements like filtering Msg types, customizable inspecting for certain typesIdea: inspectable Cmds in the debugger, or similar idea for debugging elm-pages DataSources to see why a failure happened and what the breadcrumbs areIdea: React ink, but for Elmawesome-elm-sponsorship repo

    063: The Root Cause of False Positives

    Play Episode Listen Later Aug 15, 2022 70:22


    Jeroen's tweet on the root cause of false positivesEpistemologyIsabelle and TLA+ (proof systems)Precautionary principlearray-callback-return ESLint ruleelm-review's ModuleNameLookupTableJeroen's Safe unsafe operations in Elm blog postJeroen's Lambda Days 2022 talk (video not yet published)

    062: elm-test v2 with Martin Janiczek

    Play Episode Listen Later Aug 1, 2022 83:07


    Martin Janiczek (github) (twitter) (youtube)elm-test episodeFuzzing is also known as Property-Based TestingParameterized testsMartin's pure Elm text editor includes some fuzz testsMartin's pull request for the elm-test v2 changesIntegrated shrinking vs the value-based (AKA type-based) approachFuzz.andThen and Fuzz.filter (existed in 0.18 but were removed because they didn't shrink well)elm-test v2 upgrade guide and change notesPassing in random generators in elm-test v2 doesn't do shrinking so best to avoid that escape hatch and instead implement an equivalent fuzzerScott Wlaschin's post Choosing properties for property-based testingDiscourse post on call for testing help and how to install the beta releaseMartin's video series on designing the new fuzz testing API#testing channel on the Elm SlackHypothesis libraryHypothesis project's blogA paper about the Hypothesis reduction approach: Test-Case Reduction via Test-Case Generation: Insights From the Hypothesis Reducer

    061: Exploring a New Form API Design

    Play Episode Listen Later Jul 18, 2022 72:13


    Parse, Don't Validateetaque/elm-formCodecs episodeSome similarities in the design for how you build up Custom Type codecs with elm-codec

    new form parse api design
    060: Building Trustworthy Tools

    Play Episode Listen Later Jul 4, 2022 63:02


    Error messages should give three pieces of infoThe problemWhy it's a problemHow to go forwardNeeding to do magic incantations to get things into a good state adds cognitive load and makes debugging harderMake tools more predictableClear mental model (avoid inconsistencies and leaky abstractions)Doing an operation through different means should consistently arrive at the same resultGive contextAvoid caveatsTweet about layering platforms properlyExtensible web manifestoAvoid boy who cried wolf (becoming blind to noise from errors or warnings or other feedback)Halo Effect

    059: Wrap Early, Unwrap Late

    Play Episode Listen Later Jun 20, 2022 53:18


    Primitive Obsession episodeParse, Don't Validate episodeDillon's Entry Gatekeepers and Exit Gatekeepers blog postsDillon's talk on semantic types

    058: Elm Store Pattern

    Play Episode Listen Later Jun 6, 2022 78:45


    Martin Janiczek (github) (twitter) (youtube)Martin's Store Pattern talkStore Pattern example GitHub repoGizra fetch pattern blog post elm-fetch, and Easier HTTP Requests to Reason withGizra elm-fetch packageRemoteData packageRemoteData blog post How Elm Slays a UI Antipatternelm-program-test is useful for integration testing data loadingelm-suspense proof-of-concept repoOkay to use Store pattern for mutations, just kick them off outside of dataRequestsDefunctionalizationWrap early, unwrap lateDerive from source of truth instead of storing derived data

    057: State of Elm 2022

    Play Episode Listen Later May 23, 2022 80:11


    Martin Stewart (github)State of Elm 2022 GitHub RepoBrian Hicks' State of Elm talk from Elm EuropeBrian's State of Elm 2018 blog postGitHub issues for state of Elm repoelm-pages showcase pageMartin's upcoming Goto conference talk - Hobby Scale: Making Web Apps with Minimal FussEvan's talk What is SuccessWhat's Working for Elm episodeMartin's Elm Online talk (including a preview of lamdera-test framework)

    state elm martin stewart
    056: elm-book with Georges Boris

    Play Episode Listen Later May 9, 2022 76:04


    Georges Boris (twitter) (github)elm-bookElixir's Hex docsLeaf lang docs site (built with elm-book)elm-verify-exampleselm-book in elm-book guideelm-visualization examples siteelm-charts siteelm-widgets (alpha package docs)elm-admin (alpha package docs)elm-ui-explorer (alternative Elm storybook style framework - comes with knobs)dmy's Elm package repo sitedmy's githubelm-graphql selection set docs page (reads like a tutorial top to bottom)uncover.co

    055: Use the Platform

    Play Episode Listen Later Apr 25, 2022 75:31


    Alex Russell's post Platform Adjacency TheoryVoiceOver rotor utilityUse semantic HTML to improve screen reader experiencesForms - use onsubmit with a form to get nice keyboard handling and screen reader accessibilitydatetime-local tagsMDN docs for sending form dataHTMHell (examples of non-standard HTML from the wild and why it matters)Dillon's Use the Platform blog post

    054: Developer Productivity

    Play Episode Listen Later Apr 11, 2022 81:05


    Incremental Steps episodeBuilt-in quality (from Lean principles)Tiny commitsKent Beck's book TDD by exampleDead Code episodeClose open loopsGetting Things Done (GTD) methodologyCapturingProcessingPomodoro Methodrainymood.comCentered AppTrunk-based developmentelm-review template flag (preview folder)sparksp/elm-review-no-forbidden-wordsSelf-documenting codeSelf-documenting code tweet and blog postelm-verify-examplesAPI Design Lessons episodeHammock-Driven DevelopmentReleasing vs. shippingContinuous DeliveryNaming as a Process article by Arlo Belshee

    053: Dead Code

    Play Episode Listen Later Mar 28, 2022 66:00


    Oxbow code (code that was once used but is no longer in use)Jeroen's elm-review-unused elm-review ruleJeroen's blog post Safe dead code removal in a pure functional language blog postelm-review-simplifyGetting Things Done (GTD) methodologyInbox ZeroJeroen's no-extraneous-dependencies ruleTry out elm-review-unused with elm-review --template jfmengels/elm-review-unused/exampleJeroen's You thought you had no dead code post

    052: Category Theory in Elm with Joël Quenneville

    Play Episode Listen Later Mar 14, 2022 79:14


    Joël Quenneville (Twitter)Elm's Universal Pattern episodeList.concatMap is the same pattern as andThen under a different nameandThen identity can be used to flatten somethingDillon's Combinators articleMartin Janiczek's elm-list-cartesian package gives two valid map2 implementions for ListMonoid - need a way of having something empty, and way to combine two things - for example addition for numbers starting with 0Jeroen's elm-review-simplify packageMore of Joël's distillation of category theory ideas:Running out of maps (applicatives)The Mechanics of Maybe (taking maybe apart and putting it back together)Two ways of looking at map functions (functors)Elm's universal pattern (applicatives)Inverting a binary tree (folding, catamorphisms)Joël's directory of blog posts on the ThoughtBot blog

    051: Primitive Obsession

    Play Episode Listen Later Feb 28, 2022 71:50


    Solving the Boolean Identity Crisis (Elm Conf talk by Jeremy Fairbank)If It Compiles, It Works episodeOpaque Types episodeLife of a File talk by Evan CzaplickiRoc languageianmackenzie/elm-units packageParse, Don't Validate episodeUsing Semantic Types to Squash Bugs - Dillon's talk where he walks through the mechnical steps to safely introduce a wrapper typeDillon's Entry Gatekeepers blog post

    050: Large Elm Codebases with Ju Liu

    Play Episode Listen Later Feb 14, 2022 68:01


    Ju Liu (twitter) (github)Elm at NoRedInkJu's blognoredink-ui is NoRedInk's internal UI kit (live demo page)avh4/elm-program-testelm-sortable-table APIImplementing Elm Podcast season 1cultureamp/react-elm-components (React library for embedding Elm as a Web Component)elm-community/js-integration-examplesNoRedInk is hiring Elm and Haskell devsJu Liu's blog

    049: Optimizing Performance with Robin Hansen

    Play Episode Listen Later Jan 31, 2022 73:47


    Robin Hansen (twitter) (github)elm-optimize-level-2Html.Lazy APIOutperforming Imperative with Pure Functional Languages - talk about Roc by Richard FeldmanTail call optimizationSuccesses, and failures, in optimizing Elm's runtime performance - Robin's blog post series on his elm-optimize-level-2 optimizationsWASMMaybe you don't need Rust and WASM to speed up your JSBrian Carroll's blog posts on an Elm WASM prototypeRobin's Stabel language - a stack oriented language that compiles to WASMWhat's Working for Elm Elm Radio episodeProcess.elm comment about the potential for parallelizing work

    048: If It Compiles It Works

    Play Episode Listen Later Jan 17, 2022 61:03


    Dillon's blog posts If It Compiles It Works and When It Compiles But Doesn't WorkWiringRefactoringRunning code paths to check it works vs checking assumptions at the gateDillon's talk Types Without BordersShotgun surgery - Parse, Don't Validate episodeOrder independentYou can trust your testsKeeping what you depend on to a minimum helps make things trustworthySemantics can make it harder to predict (like parser)Json.Decode.maybe is almost never what you intendScaling Elm Apps talk by Richard FeldmanGary Bernhardt's Wat videoElm Radio Opaque types episode

    047: What's Working for Elm

    Play Episode Listen Later Jan 3, 2022 75:54


    Woody Zuill on Turn Up the GoodMob ProgrammingWhere Could We Turn Up the Good?Pure FPElm 0.19 removing side effectsPurity is what makes elm-review interestingJeroen's post Safe dead code removal in a pure functional languageNo runtime exceptionsUseful Error MessagesUseful error messagesEvan's 2017 Deconstructconf talk Evan Czaplicki On StorytellingEvan's talk What is Success?Having a single language flavorIsomorphic codeMeta frameworks (elm-pages, Lamdera, elm-spa)Decoupled toolsThe community can iterate quickly and experiment with new changeselm-optimize-level-2 and elm-format are great exampleselm-optimize-level-2 can make their way upstream and don't break Elm's guarantees or assumptionsRobin Hansen's blog post series Successes, and failures, in optimizing Elm's runtime performanceExtensible Web ManifestoPlatform should provide building blocks, not solve every specific use caseStable CoreStable data layer, architecture allows ecosystem to evolve around it with less churnCommunity Members Working on What They're Passionate AboutPeople passionate about a problem working on it in the ecosystemPerformanceLeveraging Elm's unique characteristics for performance (immutability, static language, known types, etc.)Elm compiler performance - compiler speed mattersContent and ConferencesElm community content and conferencesElm Online meetdownThe Elm PhilosophyEvan's Elm philosophy tweetPhilosophy has influenced package design in the ecosystemElm Slack #api-design channel

    046: 2021 Holiday Special!

    Play Episode Listen Later Dec 20, 2021 69:42


    Our special guestsRyan Haskell-Glatz (twitter) (github)Brian Hicks (twitter) (github)Robin Heggelund Hansen (twitter) (github)

    holiday special brian hicks

    Claim Elm Radio

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel