« first day (1851 days earlier)      last day (793 days later) » 

5:49 PM
17 to go...
 
 
2 hours later…
7:45 PM
@xpqz Nice chapter, thanks! Is beside also going to be treated in this chapter?
 
7:56 PM
@xpqz Looks good, but doesn't it belong under "Primitive operators"? (It was only presented separately because 18.0 wasn't out yet at the time.) Also, I think the "Jot" chapter should be called "Beside/Bind", as all the other chapters go by primitive name, not glyph name.
@user15236625 Hi Lilith Lovelace. If you want to participate here, please email access@apl.chat
 
8:11 PM
Adám you're near the Dyalog office, right? I'm moving into the "Dyalog Towers" :) it'd be nice to meet you, before you head off to denmark
 
@FawnLocke I'm leaving London Tuesday mid-day.
 
Ah, unfortunate
Well, for me at least. I'm sure you're looking forward to it :)
 
Don't worry, we'll meet. Non-Bramley people visit Bramley (and then stay at the Towers) quite often, and we'll probably meet at some live events too.
 
Oh, yes. I'm sure. I look forward to it
 
 
1 hour later…
9:17 PM
How can I get this to work, without creating before the variable (I've just found this solution, but I can't use it)
      {a←1 ⋄ {a+⍵} ⍵}2
3
      g ← {a+⍵}
     {a←1 ⋄ g ⍵}2
VALUE ERROR: Undefined name: a
g[0] g←{a+⍵}
        ∧
      a←0
      {a←1 ⋄ g ⍵}2
2
@MasterQuiz Wait, this isn't still working like I want, it's using the global variable. I could passed it as a variable but I wonder if it can be done in a simpler way
 
as much as it pains me to say this, this is what tradfns do I think
      g←{a+⍵}
      ∇f x;a
       a←1
       g x
       ∇
      f 2
3
      a
VALUE ERROR: Undefined name: a
      a
      ∧
so if you really want dynamic scoping... there you go
 
9:34 PM
@rak1507 I was actually trying to transform a tradfn into a dfn
 
ah
 
well you won't get dynamic scoping with dfns
 
@dzaima So the only thing remained is to pass it to the function as an argument?
 
or just move the g assignment to within the function
 
Not recommended method to force dynamic scoping upon dfns:
      g ← {a+⍵}
      ∇z←{x}(F _)y
       :if 900⌶0
           z←F y
       :else
           x←x F y
       :endif
      ∇
      {a←1 ⋄ g _ ⍵}2
3
Also not recommended:
      g ← {a+⍵}
      {a←1 ⋄ ⍎'g ⍵'}2
3
The proper thing to do is pass in as argument or operand.
 
9:40 PM
@Adám So remove a tradfn creating another tradfn?
@Adám Yes, I'm trying this
 
@MasterQuiz Well, the idea is that you have a single helper tradop, enabling you to code using dfn syntax but with dynamic scoping.
 
@Adám Do you know that TryAPL convert Power into this thing 'þ'? When I save a function and display it
 
@MasterQuiz Yes, it is intentional, to protect the server.
 
@Adám What can it do?
 
Power can put the system into an uninterruptible loop, and some inverses can crash the interpreter.
 
9:47 PM
Doesn't it stop the execution after 10s?
 
(The whole stack is open source, so you can have a look how it works.) There's a background thread that terminates long-running user-task threads, but the assassin thread never gets a time slice if is running a tight loop.
 

« first day (1851 days earlier)      last day (793 days later) »