Roadmap

Development Plan

The development of Hologram is organized into short-term and medium-term goals, with a significant milestone being ElixirConf 2025 in May.

Now (Before ElixirConf 2025)

Deadline: May 14, 2025

These features are prioritized for implementation before the ElixirConf presentation, listed in planned order of implementation:

Later (After ElixirConf)

Post May 2025

These features are planned for implementation after ElixirConf, listed alphabetically:

Feature Status

Template Engine

UI

Feature Status
Components done
Context done
Layouts done
Navigation done
Pages done
Routing done
Template Colocation done

Markup

Markup Status
Component (node) done
Element (node) done
Interpolation done
For Block (iteration) done
If Block (conditional) done
Public Comment done
Raw Block (markup disabling) done
Text (node) done

Framework Runtime

Client

Feature Status
Actions done
JS Interop todo

Server

Feature Status
Commands done
Cookies todo
Session todo

Events

Event Status
Blur done
Change done
Click done
Click Away todo
Focus done
Key Down todo
Key Press todo
Key Up todo
Mouse Move todo
Pointer Down done
Pointer Up done
Resize todo
Scroll todo
Select todo
Submit done
Tap todo
Touch Cancel todo
Touch End todo
Touch Move todo
Touch Start todo
Transition Cancel done
Transition End done
Transition Run done
Transition Start done

Elixir Client Runtime

Data Types

Type Status
Atom done
Bitstring done
Float done
Function done
Integer done
List done
Map done
PID done
Tuple done

Control Flow

Expression Status
Case done
Cond done
If done
Function done
Unless done
With todo

Function Calls

Function Type Status
Anonymous Function done
Function Capture done
Local Function done
Remote Function done

Operators

Overridable General Operators

Operator Status
unary + done
unary - done
+ done
- done
* done
/ done
++ done
-- done
and done
&& done
or done
|| done
not done
! done
in done
not in done
@ done
.. done
..// done
<> done
|> done
=~ todo
** todo

Special Form Operators

Operator Status
^ done
. done
= done
& done
:: done

Comparison Operators

Operator Status
== done
=== done
!= done
!== done
< done
> done
<= done
>= done

Custom and Overriden Operators

Operator Status
custom done
overriden done

Guards

Construct Status
Anonymous Function done
Case Expression done
Comprehension Generator done
Private Function done
Public Function done

Comprehensions

Feature Status
Bitstring Generator todo
Enumerable Generator done
Filter done
:into Option done
:reduce Option todo
:uniq Option done

Other

Feature Status
Behaviours done
Bitwise Module Operators todo
Error Handling todo
Processes todo
Protocols done
Regular Expressions todo