Continuing with the 'the program is the database' theme from last month, I made a clojurescript dialect (called preimp) where the only source of mutable state is the source code itself. It works well enough for spreadsheet-sized datasets:
I have much more interesting interactions planned. Hopefully for next month.
Doing this in clojurescript makes it easy to get things off the ground but creates a very low ceiling for how high-quality an experience I can make. So I'm thinking of this as a two-pronged assault: on the one prong I'm trying to make a language and programming environment that is ideal for data soup problems, and on the other I'm hacking together something awful in clojurescript to see where I have to go.
I wrote some musings on how data is represented in programming systems:
HYTRADBOI is clocking in so far at 169 attendees and 35 speakers.
If this slow trickle of sales continues we're looking at maybe 300 people total. More if there is a last-minute uptick. Perhaps a little more success than I was prepared for :S
I've turned off the office hours link - now that the weather is drying out I'll be either coding, writing or climbing pretty much 100% of the time.
I'm still open to unsolicited email though - async communication is much easier to fit into the gaps.
I'll also be in NYC May 5-13 and May 20-21.
Links:
- Building data-centric apps with a reactive relational database. Always exciting to see smart people working in this direction.
- Cue is one of the many 'programmable json' languages popping up. Notable for noticing that the override functionality replaces the need for functions. I think this might be an interesting set of semantics for an end-user programming language - rather than requiring users to structure abstractions up front, just build copy-paste-override into the language semantics.
- Technical Dimensions of Programming Systems. Trying to enumerate axes on which programming experiences can be compared. You have to have a map of what is known before you can go exploring.
- I've constantly infuriated that it is 2022 and javascript still doesn't support compound keys in Map. Even python can do it. Turns out this was considered way back in 2014 when maps were added, but they decided that since value types were gonna land any day now there was no need for an alternate solution.
- Hop is a multi-tier javascript - you write one javascript program, annotate which parts should happen on the server vs the client, and hop figures out the communication for you.