mukul-rathi / bolt

Bolt is a language with in-built data-race freedom!
MIT License
553 stars 53 forks source link

Make Bolt an OOP lang #55

Closed mukul-rathi closed 4 years ago

mukul-rathi commented 4 years ago

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.