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.

Reply via email to