Client Runtime
Hologram automatically transpiles Elixir functions to JavaScript for browser execution. However, many Elixir standard library functions rely on underlying Erlang functions that must be manually ported to JavaScript. This reference tracks the implementation status of both Elixir and Erlang functions in the client runtime.
Quick Stats
| Status | Elixir Functions | Erlang Functions |
|---|---|---|
| done | 424 | 90 |
| in progress | 742 | 4 |
| todo | 54 | 167 |
| deferred | 764 | 229 |
Understanding This Reference
How Statistics Are Calculated
A call graph of the Elixir standard library determines which Erlang functions each Elixir function depends on. Function progress is the percentage of its Erlang dependencies that have been ported to JavaScript. Module progress is the average of its functions' progress (including deferred ones). Overall Elixir progress is the average of all non-deferred function progresses. Overall Erlang progress is the percentage of non-deferred functions that are done.
Status Meanings
Implementation Scope
Hologram development is divided into three phases: Phase 1 (current focus) targets full-stack web and basic local-first applications; Phase 2 will add Elixir's process model for advanced local-first and mobile development; Phase 3 will introduce file system and OS operations for desktop applications.
For Phase 1 use cases, you need robust functions for state management, data manipulation, dates/times, strings, and collections - but not processes, file system, or OS operations. JavaScript is single-threaded, and Hologram's architecture handles workflow orchestration automatically for typical web applications.
Modules like Process, System, File, Port, Code, and Node are marked as deferred because they target Phases 2-3. This reference shows all dependencies comprehensively - even for deferred functionality. Many "in progress" functions, especially those with high completion percentages, already work fine for web development, with missing dependencies only affecting rare code branches or advanced scenarios you're unlikely to encounter.