Bolt has gone from a functional language with objects (inspired by Slang) to a more traditional Java-esque OOP language.
This PR introduces some syntactic sugar to the Bolt programs by modifying the lexer/parser, but it also represents some significant language changes
Resolves #48 - uses top level function defns rather than lambda fns
Resolves #49 - now let bindings are block-scoped
Resolves #50 - Add methods to classes - as mentioned in the issue, this is the start of Bolt's data-race type system diverging from Kappa (where methods are associated with traits).
The test coverage has dropped because I'm no longer maintaining the interpreter - the next step is to compile Bolt down to machine level code rather than using an OCaml bytecode interpreter.
Bolt has gone from a functional language with objects (inspired by Slang) to a more traditional Java-esque OOP language.
This PR introduces some syntactic sugar to the Bolt programs by modifying the lexer/parser, but it also represents some significant language changes
Resolves #48 - uses top level function defns rather than lambda fns Resolves #49 - now let bindings are block-scoped Resolves #50 - Add methods to classes - as mentioned in the issue, this is the start of Bolt's data-race type system diverging from Kappa (where methods are associated with traits).
The test coverage has dropped because I'm no longer maintaining the interpreter - the next step is to compile Bolt down to machine level code rather than using an OCaml bytecode interpreter.