I strongly oppose to the suggestions made in the original post, because they
are too ambiguous & unclear.
For example, multi-line strings via normal double quotes just reminds me of how
fucked up Bash works. A normal string should be double quoted, a multi-line,
huge one, with other implications, like the ability to include unescaped
quotes, etc. should remain triple double-quoted.
Interpolation without `&` creates more problems than it fixes. Sure, it is more
compact & you don't have to prepend that `&` to the string, but now you have to
look out for additional potential pitfalls. For example, what if I need those
braces, without expansion? Do I need to escape them then? I try to avoid
backslashes as much as possible. It makes everything less readable.
The best thing that was suggested in this thread is this.
callSomeProc(addr(SomeType(x: 0, y: 0))
Run
I'm yearning for this since a long time. It's really annoying to do all this
additional, purposeless code cluttering. The `with` module is in that regard
also very weak. It often doesn't work & has its own issues.
I wish, the standard library would provide functionality, to make the following
possible.
let obj = SomeObj().edit:
field1 = "myField"
field2 = -1
field3 = false
assert not obj.field3
Run
It's possible to create something custom for it (which I have done), but this
implies manual management of this custom addition made by me. If the standard
library would provide it, it would just be there, available everywhere, for
everyone.