The last few posts were about NLT only but Skila things were move forward as well. I added value and reference types with control of data mutability. So for example:
func getconst() const Foo = new Foo(); func readconst() do var x = getconst(); end
It will work if “Foo
” is value type (because all data from the function “getconst
” will be copied) but it won’t work if “Foo
” is reference type, because in such case only a reference is passed — one could still alter the data obtained from “getconst
”.
I am aware that I missed a lot of cases but I will fix the bugs as I will implement next, and probably the last major feature before I make first upload of Skila — generics. I need it to provide arrays, tuples and IEnumerable
interface. Those in turn will be required when implementing macro constructors.
My schedule looks like this:
- think over the constructor naming — maybe instead ”
func Init
” it would be better to have just “constructor
”, - polish “
const/var/!
” syntax — the mutable methods are denoted by “!
” in front of their names, but objects are marked with ”var
”, - add shuffle feature to NLT parser,
- implement true generator for NLT,
- add generics to Skila,
- toss arrays, tuples and
IEnumerable
, - finish with macro constructors.