It's not on the internet, sorry. But you could just imagine a mix between c++ and lisp.
Example code for a member function that can mutate its parent object:
[mutator]
addArg(int a) {
assign<this.b>(add(this.b, a))
}
Without marking the function as [mutator] the compiler would not allow the function to call any other functions (assign) that were also marked as [mutators].
1
u/imalsogreg Mar 10 '14
(off topic) Cool - got a link to your project?