The latest list of changes (not done yet) includes regular constructor (not returning anything), variadic syntax as in Go (“x ...Int
”) and “procs
” (for mutating methods) and “funcs
” (not mutating, can be prefixed with “|
”).
This is related to C++-like “const” ¹ — I am that guy who loves this feature (maybe not execution), however I am both a bit clueless how to implement it correctly and I am a bit afraid if I understand the concept (considering almighty MS gave up on this having so many smart people). I think there could be only two constants — constant pointer to some data (constant or not) and deep constant data (immutable view of data).
It might sounds funny but I don’t even have good names for them — say “lnk
” for fixed pointer (“ptr
” for regular one), but what for data? If possible I would like avoid “const
” (to avoid naysayers with standard “it does not guarantee the object is constant after all”, and to keep good keyword for constants like mathematical Pi). “view
”?
¹ Interesting posts at SO: Why there is no const member method in C# and const parameter?, Why const parameters are not allowed in C#? and “const correctness” in C#.