066: elm-codegen with Matthew Griffith

September 26, 2022 1:21:04 77.86 MB Downloads: 0

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

September 12, 2022 1:29:37 86.08 MB Downloads: 0

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

August 29, 2022 1:21:46 78.54 MB Downloads: 0

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

August 15, 2022 1:10:22 67.6 MB Downloads: 0

Jeroen's tweet on the root cause of false positivesEpistemologyIsabellehttps://en.wikipedia.org/wiki/Isabelle_(proof_assistant) 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

August 01, 2022 1:23:07 79.83 MB Downloads: 0

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

July 18, 2022 1:12:13 69.38 MB Downloads: 0

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

060: Building Trustworthy Tools

July 04, 2022 1:03:02 60.56 MB Downloads: 0

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

June 20, 2022 0:53:18 51.21 MB Downloads: 0

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

058: Elm Store Pattern

June 06, 2022 1:18:45 75.65 MB Downloads: 0

Martin Janiczek (github) (twitter) (youtube)Martin's Store Pattern talkStore Pattern example GitHub repoGizra fetch pattern blog postsGizra 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

May 23, 2022 1:20:11 77.02 MB Downloads: 0

Martin Stewart (github)State of Elm 2022 GitHub RepoBrian Hicks' State of Elm talk from Elm EuropeBrian's State of Elm 2022 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)

056: elm-book with Georges Boris

May 09, 2022 1:16:04 73.07 MB Downloads: 0

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

April 25, 2022 1:15:31 72.52 MB Downloads: 0

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 <input> 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

April 11, 2022 1:21:05 77.88 MB Downloads: 0

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

March 28, 2022 1:06:00 63.39 MB Downloads: 0

Oxbow code (code that was once used but is no longer in use)Jeroen's elm-review-unused elm-review ruleJeroen's blog post [Dead code in a pure language blog post](Safe dead code removal in a pure functional language)elm-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

March 14, 2022 1:19:14 76.08 MB Downloads: 0

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