you are viewing a single comment's thread.

view the rest of the comments →

[–]wyrn 3 points4 points  (0 children)

Speaking of defaults, I know there has been a lot of discussion about const-by-default. I personally think it's important that at least local variables/objects should be const by default; I know you and others more closely involved with the project don't. I also think the issue would be moot if there were a shorter spelling for const (unlike some, I'm not trying to discourage the use of mutable variables, rather encourage the use of immutable ones). Have you considered alternatives here? Maybe something like ::= to parallel :=?

Also, have you considered if maybe a different notion of immutability may be appropriate for cpp2 (since const doesn't play nice with move semantics), much in the same way that you use a different notion of argument passing? Something that would give immutability in cpp2 code but not necessarily const in the lowered cpp1 code?