4 ms·
Seems like interest in Datalog is high this week, so I thought I'd share a write-up of a minimal Datalog implementation I did a while ago. Runs in the browser
by deosjr 1y ago
Seems like interest in Datalog is high this week, so I thought I'd share a write-up of a minimal Datalog implementation I did a while ago.
Runs in the browser using Hoot (https://spritely.institute/hoot/ https://spritely.institute/hoot/) which compiles Guile Scheme to WebAssembly.
- davexunit 1y agoWow this might be the coolest use of Hoot I've seen! I need to run this for myself soon.
- deosjr 1y agoThanks Dave, high praise! I was inspired after seeing you all take over the declarative & minimalist programming room at FOSDEM this year. If you thought this was cool, wait until you see what I ended up using it for: https://deosjr.github.io/dynamicland/ https://deosjr.github.io/dynamicland/ I personally think this is much cooler :) But it needs some more explaining before I can broadly share, I think. Now that I have you here, a question: am I correct in thinking that in Hoot, eval in the browser does not currently work with macros?
- davexunit 1y agoI'm glad you felt inspired! This Dynamicland implementation looks awesome. I look forward to this being shared to a wider audience. :) Regarding your question, as of Hoot 0.6.1 we now have a psyntax-based macro expander integrated with eval so you can use syntax-rules and syntax-case. There are still rough edges, though. I'm currently focused on some non-Hoot tasks but the next Hoot priority is to implement a Guile-like REPL and really kick the tires on the interpreter before the 0.7.0 release.