Day 1: Ironing out the metaphorical shirt
I've been working on making the current implementation of Growl amenable to
the public before I upload it to my Git forge server. This means ironing out
some important bugs — up until now, mutually recursive definitions weren't
working! — but also some quality-of-life things, like proper parsing
errors, which require some work to get with Menhir (OCaml's de-facto
yacc-like.)
I've been also playing with Wasm_of_ocaml to make a playground in the browser
for the language, and it's been refreshing how easy it is to make everything
just work. As far as I can tell, it heavily uses some of the infrastructure in
Js_of_ocaml alongside its own, but it's really cool how I can just export an
object with methods and have it work in JS without much fuzzing around. I was
going to use Js_of_ocaml, but it generates some beefy files; the total bundle
size for the playground code was ~2.5 MB, as opposed to ~200 KB for
Wasm_of_ocaml.
I was going to begin working on implementing rank-2 polymorphism inside the type system, which allows for more expressivity in the language (at the cost of having to annotate some polymorphic expressions), but I'm still doing the research and I wanted to get it up and running into Git first before making any bigger refactors and changes, so for today this will have to suffice.
Listening to Oneohtrix Point Never – Rodl Glide
