Still feeling disappointed that Elm didn’t take over the world while poor abstractions like React are extremely popular.
Posts
-
Impressions of React and TypeScript from an Elixir/Elm developer
Shares first impressions of React and TypeScript from the perspective of an experienced Elixir and Elm developer, comparing mainstream and niche development approaches.
-
Brief thought
-
An elm-review rule to generate JSON decoders and encoders from a JSON sample
Presents an elm-review rule that generates JSON decoders and encoders from sample JSON, leveraging Jeroen Engels' static code analysis tool.
-
Parse URLs with elm/url
Demonstrates URL parsing with elm/url, building on previous Browser.application and routing concepts to handle URL patterns in Elm applications.
-
Generating pipeline and applicative decoders with json2elm
Announces new features in json2elm for generating pipeline and applicative decoder patterns, expanding the tool's capabilities.
-
Generating elm/json decoders with elm/json decoders
Introduces json2elm, a tool for generating elm/json JSON decoders, encoders, and type definitions from sample JSON strings.
-
Elm Catalog update: 1000+ packages and search
Celebrates the Elm Catalog reaching over 1000 packages and introduces search functionality, making package discovery even more accessible.
-
elm-ui: The CSS Escape Plan is in early access
Announces early access to 'elm-ui: The CSS Escape Plan', an extended guide/manual for elm-ui.
-
More examples added to elm-ui patterns
Announces the addition of several new examples to the elm-ui patterns collection, expanding the available resources for elm-ui developers.
-
Compile-time checks on values in a list with phantom types
Explores using phantom types in Elm to implement compile-time constraints on list values, building on Jeroen Engels' work on type-level validation.
-
Announcing elm-ui Patterns: a collection of elm-ui examples
Introduces elm-ui Patterns, a collection of practical examples for elm-ui, inspired by Ricardo García Vega's elm-css patterns project.
-
Elmstatic 0.7.0: improved performance
Announces Elmstatic version 0.7.0 with substantially improved performance through parallel HTML page generation.
-
An introduction to elm-animator, and using it with elm-ui
Introduces Matthew Griffith's elm-animator package for animations in Elm and demonstrates how to integrate it with elm-ui for enhanced user interfaces.
-
Simple performant CSS animations in Elm with Animate.css
Shows how to integrate Animate.css for performant CSS animations in Elm applications, bringing proven animation techniques to functional programming.
-
Generating sitemaps with Elm
Demonstrates how to generate XML sitemaps for websites using Elm, helping search engines index content more effectively.
-
Elm Catalog now lists tools in addition to packages
Announces that the Elm Catalog has expanded to include development tools alongside packages, making it a more comprehensive resource for Elm developers.
-
Page state in Elm
Addresses how to pass data between pages in Elm applications, specifically handling product selection from a list page to an individual product page.
-
Elm Package Catalog: Complete and improved
Announces the completion and improvements to the Elm Package Catalog, providing a more comprehensive resource for discovering Elm packages.
-
Type-safe markup for your static site with Elmstatic and elm-markup
Demonstrates how to use type-safe markup in static sites by combining Elmstatic with elm-markup for improved content authoring.
-
Elmstatic: better performance and live reload with watch mode
Announces improvements to Elmstatic including better performance and live reload functionality with watch mode for enhanced development experience.
-
Get improved Debug.log output in the browser console
Shows how to improve Debug.log output in browser consoles when developing Elm applications, enhancing the debugging experience.
-
An introduction to elm-markup by way of Elmstatic
Introduces elm-markup through practical examples using Elmstatic, demonstrating how this markup language integrates with Elm development workflows.
-
Elm community and project stats: 2019 update
Provides updated statistics about the Elm community and project ecosystem as of 2019.
-
Elm Package Catalog: Explore Elm packages and find the package you need
Introduces a catalog to help developers discover Elm packages more easily, addressing the challenge of finding relevant packages when learning the language.
-
How I generate static HTML from Elm code in Elmstatic
Explains the technical approach behind Elmstatic, a static site generator that enables using Elm's html and elm-css instead of plain HTML and CSS.
-
Elmstatic, my Elm-to-HTML static site generator, upgraded to Elm 0.19!
Announces the upgrade of Elmstatic to Elm 0.19, overcoming challenges with elm-static-html-lib dependency and providing a new implementation.
-
Combining HTTP requests with Task in Elm
Demonstrates how to make sequential HTTP requests in Elm using Task, avoiding the complexity of managing multiple messages and intermediate state in the update function.
-
Map, filter, fold
Explains three fundamental functional programming operations in Elm: mapping (applying functions to elements), filtering (excluding elements), and folding (reducing a list to a single element).
-
How UICards work: UI within UI in Elm
I share my experience with implementing UICards in Elm, showing how they let me create interactive UI elements within a single application model, while also tackling the challenges of message handling and state management along the way.
-
UICards: create UIs without the laborious reload-navigation-input test loop
I found that UICards can really streamline the UI design process by letting me see and interact with different states of my components all in one place, saving me from the tedious back-and-forth of reloading and navigating through my app.
-
Practical Elm book: Elm 0.19 update published
Announces the publication of the Elm 0.19 update for Practical Elm book, explaining why Elm is worth learning and what the book covers for practical application development.
-
Build complex forms with validation in Elm
Demonstrates building complex forms with validation using the hecrj/composable-form package, showing type-safe, maintainable form handling with field composition and custom validation.
-
Restarting the Elm Weekly newsletter
Announces the revival of the Elm Weekly newsletter to help the community stay up-to-date with articles, packages, and job postings in the Elm ecosystem.
-
Make sure your views are bug-free by testing them with elm-test
Shows how to test Elm view functions using elm-test's HTML testing modules to avoid tedious manual testing by verifying DOM structure and user interactions.
-
elm-ui: Forget CSS and enjoy creating UIs in pure Elm
Introduction to elm-ui package for building UIs in pure Elm without CSS, demonstrated through creating a simplified Slack-like layout with responsive design.
-
The missing part of the Elm guide: URL handling with Browser.application
Fills the gap in the Elm 0.19 guide by demonstrating how to use Browser.application for URL handling, navigation, and single-page application routing.
-
Minimal static boilerplate for Ellie
Provides minimal boilerplate code for static content experiments in Ellie, including a shorter alternative that avoids the need for complex Program setup.
-
The basic steps to publish a package with Elm 0.19
Step-by-step guide to publishing Elm packages with 0.19, covering local development, testing, requirements, versioning, and the publishing process via GitHub.
-
A straightforward introduction to custom elements
Comprehensive introduction to custom elements and Shadow DOM for integrating complex JavaScript components into Elm applications, including practical examples and polyfill setup.
-
How to generate JSON from Elm values using Json.Encode
Explains how to convert Elm values back to JSON strings using Json.Encode, covering complex nested structures and integration with HTTP requests and ports.
-
Introduction to the elm/parser package
Practical introduction to the elm/parser package through building a phone number parser, demonstrating parser combinators and handling complex structured text input.
-
Practical Elm book release date & Elm 0.19 updates
Announces the final release date for Practical Elm book and provides updates on Elm 0.19 developments including new installers and package updates.
-
Elm 0.19: details of what's new, how to install/upgrade, reading list
Comprehensive overview of Elm 0.19 changes including language simplifications, compiler improvements, library updates, and installation/upgrade instructions with performance gains.
-
Learning Elm in 2018: Comprehensive List of Resources
Provides a comprehensive curated list of Elm learning resources in 2018, including books, video courses, talks, guides, and community forums for all skill levels.
-
Some thoughts on splitting Elm code into multiple files
Discusses principles and best practices for organising Elm applications into modules, handling messages across files, and managing the single update function architecture.
-
How Json.Decode.Pipeline chaining works
Explains the technical mechanics behind Json.Decode.Pipeline's chaining syntax, showing how partial application and applicative functors enable the convenient decoder DSL.
-
Practical Elm for a Busy Developer: early access
Announces the early access availability of the Practical Elm book for busy developers, focusing on intermediate-level practical topics rather than basic syntax.
-
Json.Decode tricks: decode 8+ fields and nested sub-objects
Shows techniques for decoding JSON with more than 8 fields and handling nested sub-objects using Json.Decode beyond the standard map functions.
-
Using modules in Elm
Explains how to organise Elm code using modules, covering module creation, imports, exports, and best practices for splitting code into manageable files.
-
Elmstatic 0.3.1: generate subsections, make index pages, add page aliases
Announces Elmstatic 0.3.1 features including subsections with their own posts, index pages, and page aliases for better site organisation.
-
Introducing Elmstatic: an Elm-to-HTML static site generator
Introduces Elmstatic, a static site generator that allows writing pages in Elm with support for CSS generation, Markdown posts, and RSS feeds.
-
Decoding recursive JSON in Elm
Walks through the challenges of implementing recursive JSON decoders in Elm, showing how to avoid compiler and runtime errors using `Json.Decode.lazy` and proper type structure.
-
Generating static HTML from Elm code with elm-static-html-lib
Explains the technical workings of elm-static-html-lib and how it converts Elm views into HTML strings by creating temporary Elm applications and using native JSON conversion.
-
Is Elm going stale? The numbers say no.
Uses actual data and statistics to address concerns about Elm's development activity, comparing community metrics with other functional programming languages like Haskell and PureScript.
-
How to extract values from union types in Elm
Demonstrates how to extract values from union types in Elm using case expressions, including the destructuring shortcut for single-tag union types.
-
How to read Elm types like "Html msg"
Explains how to understand generic types like `Html msg` in Elm by thinking of them as data structures that contain values of the specified type somewhere inside.
-
Decoding JSON to nested record fields in Elm
Explores different approaches to decoding complex JSON with many fields in Elm, ultimately settling on nested records as the cleanest solution to avoid extensible record limitations.