Hologram v0.7.0: Milestone release for Elixir-to-JavaScript porting initiative (hologram.page)

107 points by bartblast ↗ HN
Creator here. Hologram compiles Elixir to JavaScript to run in the browser, enabling full-stack development in pure Elixir - and soon, Local-First applications.

This release is a milestone for our porting initiative. 49 contributors ported 150 Erlang functions across 19 modules, pushing client-side Erlang runtime coverage from 34% to 96% and overall Elixir standard library readiness from 74% to 87%.

This means the vast majority of Elixir standard library functions needed for full-stack web and basic local-first apps now work in the browser - string processing, collections, sets, binary operations, Unicode normalization, math, time operations, file path handling, and more.

Beyond porting, the release includes enhancements, bug fixes, and infrastructure groundwork.

Happy to answer any questions!

11 comments

[ 3.1 ms ] story [ 25.8 ms ] thread
(comment deleted)
This looks really cool. Congratulations on the milestone.

Does the elixir->js compiler exist as a separate project, or is it built into the framework? Is it based on an existing transpiler? How does it compare / contrast to something like gleam (which, AFAIU also let's you transpile elixir to JS)?

Am I just a cynic, or do any of the LLMs deserve love too?
Hologram is an amazing project and I'm really excited for it's future.

I worked on a project last year based on Hologram but ran into some minor issues, and other real-life stuff got into the way. I'm looking forward to picking it up again soon as I have some energy to spare.

Is the main benefit that someone who is familiar with Elixir can code the front-end in the same language? Or is the intention to have the front-end JavaScript act as a node in a cluster with the server?
Slightly off-topic, but are there teams using Erlang instead of Elixir for application development?

I'm planning on getting into this ecosystem and I'm considering if it's worth it also becoming an expert on Erlang beyond understanding OTP's internals.

As a novice who enjoyed an AoC in Elixir but has never used it in battle; what is the quick answer to why JavaScript not WASM?
I keep keeping an eye on your amazing project. Though I've only touched it very superficially [1], I'm very keen to see where it goes (and want to use it finally one of these day)

[1] Being very lazy I immediately gave up of course, but did file a suggestion :) https://github.com/bartblast/hologram/issues/228

Oh yeah, I remember! We'll get there :) Hope you'll give Hologram another spin sometime soon!