« first day (2485 days earlier)      last day (176 days later) » 

11:12 AM
@Adám ook, thanks for that. I'm still curious about the syntax of it though, so ns1∘←ns2 is a modified assignment right? If so, why does it seem that I can't replace the statement with ns1←ns1∘ns2?
 
11:35 AM
@11Kilobytes It's not an official syntax. Apparently, it leverages/abuses a hole in the parser.
But it's not modified assignment, since you can assign new names using ∘←.
 
11:55 AM
@11Kilobytes @B.Wilson Not at all modified assignment. here is the Bind operator, so ns1∘← binds the symbol ns1 as a left argument to the "function" just like what happens in 1∘+ except that there's some special-casing causing ns1 to be a symbol rather than immediately dereference to its value the way var∘+ would.
Now, the dfns auto-localiser simply localises names immediately to the left of (save for parens and spaces) but since is interposed between ns1 and then we don't autolocalise, instead falling back to overwriting the (semi-)global value of ns1.
This also means the the following works (but please don't do it!):
      AssignToA←a∘←
      AssignToA 42
      a
42
 
In terms of behavioral differences, does a∘←1 different saliently from ⎕THIS.a←1?
 
I've heard that there's some scoping difference somewhere, but if you hit that, then you're probably doing something very questionable.
 

« first day (2485 days earlier)      last day (176 days later) »