Progress update, June 19

As this is my first update, I’ll be a bit more explicit about where everything is up to, and later updates will probably be more brief. 

Braid, an ML-like language that compiles to Go, is still in the very early stages. For simplicity’s sake, I’m also writing it in Go, so both the compiler and the final language will be built on it. I’ve started with the front-end of the compiler, which means lexing and parsing source code into an AST. For lexing and parsing, I’m using Pigeon, a library for building Parsing Expression Grammars. Previously I’ve only used EBNF libraries, a fairly different way of building up grammar rules, so PEGs are a big change in approach for me. I’m still working my way along the learning curve.


let first = “Hello world”

I’m working on a language I’m calling Braid, an ML-like language that compiles to Go. Braid’s syntax is heavily inspired by Reason, itself a more C-like syntax on top of OCaml. So really I’m writing a language that aims to be fairly similar to OCaml in what it can do, but visually a bit closer to Go. I’m not trying to reimplement OCaml or Reason 1:1 on top of Go, but build something sharing many of the same concepts.