
Back to the drawing board with a fresh stack
I need to lay down the foundation of what I'm about to do.
The new stack is like,
- UIKit, in a custom dark mode that's a little bit more aggressive than the previous frontend style, griddy background, and a few cyberpunk flash colors.
- Reef, gives me lightweight UI reactivity,
- D3, will be used both to construct the new interface (more on this below), and to power the inevitable graphs and visualizations users could want.
- Supabase, even though the app is intended to be fully usable offline, I need online realtime capabilities, because I'm also going to use Hup for a project in my dayjob.
The new interface is planned to be basically a Kanban board that feels like a spreadsheet. My dayjob is about teaching Excel, Sharepoint, Doodle, Trello, ERPs and the like, to adults who are modifying the trajectory of their career, and who are not always comfortable with a computer. It's ideal to see what works and what doesn't, in terms of UX design.
But Hup is not meant for them. It's meant for me, to monitor their progression through the pedagogical material, in realtime.
What problem does Hup solve? Trello doesn't do heavy math&graph, Excel doesn't do the fancy cards drag'n drop, and neither of them do symbolic processing à la Prolog nor list processing à la Lisp, nor network flow-based programming. There's a hole in the universe that has the shape of Hup.
The new syntax is very simple and regular. It goes like:
a(b c d)
Which is equivalent to:
[a b c d]
It translates like this:
old syntax: 1 2 3 + 4 5 6
new syntax: list(1 2 3) add(4 5 6)
It looks less elegant at first, but it will allow a lot more things to be expressed, so it's definitely worth the verbosity. And it's not that bad, for an s-exp derivative. Probably more dev-friendly for people used to curlies anyway.
