I'm currently focusing on redesigning the Sparrow type system. It's currently too simple.
Based on the low-level analysis I've made for C++ (http://lucteo.ro/2018/06/17/beyond-the-type-system/
), I'm trying to analyze the desired features of the Sparrow type system, and how we can achieve that in the simples way.
Currently, the list of goals are:
- have proper support for immutability; if possible immutability by default
- allow safe const reference passing for input parameters, preferably, without the user needing to type too much
- simpler and safer rules for lifetime of objects passed as parameters
- support move semantics
- support forwarding pass semantics
Expected first draft: a week or two.
Any feedback is greatly appreciated.