« first day (301 days earlier)      last day (1524 days later) » 
16:00 - 20:0020:00 - 00:00

8:00 PM
⍞←(3 4⍴⎕A)[1;2] ⍝ remember the ⍞← or ⎕← !
 
@Adám B
 
Phew, that's all folks!
 
not all, just for this week :p
we still have groups 5 (partial), 6, 7, 8, 10
 
Thank you Adam
 
@EriktheOutgolfer Right. We managed 31 primitive functions. See you all next week?
 
8:01 PM
And everyone else too!
 
@masaldaan Do you want me to keep you on the write access list?
 
Yes, I'll try & make it. Yes please
 
@EriktheOutgolfer 9 has no functions, but 10 has two.
 
I'd attended Aaron & Morten's workshop last week @Functional Conf, I'd like to keep myself in practice
 
in Bangalore?
 
8:03 PM
Yes, that's right!
 
@masaldaan Wow, great to hear. How was it?
@masaldaan If you want a reminder a couple of hours and again a few minutes before, you can sign up here.
 
I'd like to think of a better description than mind-blowing, but can't come up with it
Intensive Functional Fun at Aaron Hsu's Array Funhouse Intensive yesterday: https://functionalconf.com/proposal.html?id=4064
That's me in the back row
 
@masaldaan Feel free to hang out here. The room is usually active every day, and no (APL related) question goes unanswered!
 
@Adám thanks for the lesson, Adam :D
 
@Adám It was an eye-opening experience, I've written a lot about it on twitter, but I've not felt such joy in coding since I wrote my 1st basic program on my father's ZX Spectrum
 
8:06 PM
@Adám well, except friday afternoon-saturday afternoon, because it's Sabbath
 
But if I don't practice regularly, I'm afraid I'll forget everything I learn
that's why I'm here today
 
@J.Sallé You're very welcome. My pleasure. In fact, I'm on vacation this week, but didn't want to miss the lesson. You guys are great1
 
@Adám thanks for this lesson
 
@EriktheOutgolfer The room is actually active then too, but Uriel and I don't answer until after the Sabbath.
 
@EriktheOutgolfer "9 1 2\square 2 3\rho\iota 6" would be a vector 2 number "9 2"?
 
8:07 PM
Oooooooh, vacation? Nice! Hope you enjoy it!
 
@Adám I'll be sure to see you all next week (or earlier if I have silly questions), have a nice vacation
 
@RosLuP "Square"? Try copying from the following:
 
@Adám don't worry, @ngn does the job for you then
 
)lb
 
@Adám ← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\\\\⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇& ¯⍬
 
ngn
8:09 PM
@EriktheOutgolfer yes, I'm happy to answer questions if Adam is not here, just @-mention me
 
@ngn I can't express enough how much I appreciate your participation.
(ngn is a real APL guru. He even implemented his own APL in JavaScript!)
Also, check out the chatbot's profile, it has lots of useful links.
 
ngn
@Adám warning: somewhat incompatible with Dyalog and much slower
 
The symbol is ⌷ but had problem in copy from chat k
 
@Adám and that while he was still learning how to JS IIRC
 
@RosLuP So you mean 9 1 2⌷2 3⍴⍳6 ?That won't work because 2 3⍴⍳6 only has two (and not three) dimensions.
 
8:12 PM
ngn/apl is now used by repl.it and plj541's APL.js
 
@EriktheOutgolfer And is on TIO too.
 
the latter did some heavy modifications to it as well, so we can say that ngn/apl has a child too!
 
@Adám yes that... Thank you
 
@RosLuP code formatting makes it look like and it's not as wide as
 
@RosLuP Now I realise what you want. You're missing the concatenation function , :
⍞←9,1 2⌷2 3⍴⍳6
 
8:15 PM
@Adám 9 2
 
@Adám ngn/apl is one tab on my phones Firefox that I haven't closed in probably a month :p
 
@RosLuP FYI, is called "Squish Quad" or "Squad", and is called "Quad".
 
@dzaima you should organize bookmarks into folders lol
for me it's (Bookmarks Bar > Programming languages > Mainstream > APL-like > APL > ngn/apl)
and the ngn/apl folder contains 7 tabs for me
 
ngn
@EriktheOutgolfer wow, and i should probably pay some attention to my abandoned children... I really don't want to create wrong impressions about APL, and ngn/apl has quite a few bugs.
 
@EriktheOutgolfer it's the only tab I haven't closed in a month. Everything else (including SOGL) gets closed after usage
 
8:19 PM
@dzaima We're hoping to make TryAPL responsive very soon:
Don't mind the horrible colours.
 
@Adám ngn/apl doesn't need internet though
 
@ngn well, for example the confusing "identity operator" which is probably a bug itself :p ()
 
ngn
@Adám idea: can someone turn these into bookmarklets, so people can drag them to their bookmarks bar and they can work in any web page?
 
@ngn Which? The individual characters on the language bar?
 
ngn
@Adám yes
 
8:22 PM
@ngn Interesting idea. Awkward way to type if in a folder, but could work on a large screen with a wide bookmarks bar.
 
ngn
@EriktheOutgolfer hm, bug in Chrome, isn't it? github.com/ngn/apl/issues/101
 
no (btw that issue is mine) I meant how it behaves
 
Also, whomever starred the language bar: That's a great idea, I'll pin it so it is always available to copy from.
 
@ngn what is that operator supposed to do?
 
ngn
@EriktheOutgolfer give an identity element to a user-defined function
@EriktheOutgolfer e.g. {⍺×⍵}/⍬ is an error but {⍺×⍵}⍁123/⍬ returns 123
@EriktheOutgolfer pressing [ / and tab works for me, it inserts a ⍁ (that's in Firefox, I'll try Chromium in a moment)
 
8:27 PM
@ngn Do you know about my suggested scheme for all those for dfns and tradfns?
 
ngn
@Adám what scheme?
 
@ngn as I said there, it's a browser issue, just added it there for the record
of course it works, as I said
 
ngn
@EriktheOutgolfer works for me in Chromium (not quite Chrome) too; so I'll close the issue then?
 
@ngn This:
{
    ¯3: identity element
    ¯2: prototype
    ¯1: inverse
    0: don't   ⍝ this already works
    1: do      ⍝ this already works
    2: dyadic
}
 
8:29 PM
∇ r←{A}f B
    normal code
    ¯3: identity element
    ¯2: prototype
    ¯1: inverse
    2: dyadic
∇
 
ngn
@EriktheOutgolfer thanks
 
@ngn And ^^
 
ngn
@Adám ah, yes, I've seen this before
 
@Adám huh
 
ngn
@Adám so, would {¯2-1:a} be equivalent to {¯3:a} ?
 
8:32 PM
@EriktheOutgolfer This is just an idea. It has not been implemented (yet). In dfns, guards may only evaluate to a 0 or 1 singleton. My scheme is that the non-Booleans will be considered true if the relevant use case is in effect.
 
ngn
@Adám when would guards be evaluated?
 
@ngn Yes, just like with guards and error guards. Also, you can use multiple conditions, like {¯3 ¯2:a}.
 
ngn
@Adám I see
 
@ngn Just like now; when reached.
@EriktheOutgolfer And for the tradfn, execution would start at the appropriate label.
 
@Adám what is "prototype" in the case of functions?
 
ngn
8:34 PM
@Adám what if you do f←{¯3:...} ⋄ f/⍬ ⍝ f is never evaluated here
 
@Adám that seems like a new feature altogether
 
ngn
@EriktheOutgolfer by the way I don't support prototypes in ngn/apl
 
Btw guys, I'd love to see someone solve this in APL (or any variation of it, I don't judge :p )
 
but the big accomplishment about ngn/apl is that you managed to do it in...JavaScript
 
8:37 PM
1 message moved to trash
 
ngn
@EriktheOutgolfer believe it or not, people write interpreters in even worse (but more performant) languages - C :)
 
@EriktheOutgolfer f¨EmptyArray is an empty array with prototype f prototype(EmptyArray).
 
@ngn like Dyalog for example :p
 
@EriktheOutgolfer No, already works for primitives.
 
ngn
@EriktheOutgolfer ngn/k will be in C :)
 
8:38 PM
@ngn I've seen the code for an interpreter in C once. It scared me.
 
@ngn Uh oh, direct competition with K.
 
ngn
@Adám not that, I'm only a mortal
 
@ngn well, if you manage to buy kdb+, that is
 
ngn
@EriktheOutgolfer I don't want the database, just the core language, for general-purpose computing
 
oh, and a feature of ngn/apl is that 0÷0 is the same as ↗'DOMAIN ERROR' instead of 1
 
ngn
8:41 PM
@EriktheOutgolfer I don't like q too much - the kdb part that is not k
 
but don't you have to buy it to use k?
 
ngn
@EriktheOutgolfer only because they don't sell k separately
 
@EriktheOutgolfer No, you can download 32-bit K for free.
 
ngn
@Adám "free"?
 
ngn
8:43 PM
@Adám of course - as in beer, not speech; that's not my understanding of "free"
 
"Free as in beer" is probably my favourite expression in English.
 
@Adám that's exactly what I meant by "scared me" :p
 
ngn
@EriktheOutgolfer 0÷0 is undefined in maths; people who disagree should do something like div←÷ ⋄ ÷←{⍺ ⍵≡0 0:1⋄⍺ div ⍵} or maybe go to a different universe where 0÷0 is a number :)
@J.Sallé my C code is denser than that :)
 
@ngn D: oh god
 
ngn
8:52 PM
@J.Sallé which part of the "incunabulum" don't you understand? ;)
 
#tio alias message )lb ← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇& ¯⍬
 
@Adám Added alias for )lb
 
)lb
 
← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇& ¯⍬
4
 
#tio alias message )lb %handle% ← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇& ¯⍬
 
8:53 PM
@Adám Added alias for )lb
 
)lb
 
@Adám ← +-×÷*⍟⌹○!? |⌈⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇& ¯⍬
 
@ngn only the part after the first typedef >.>
 
@J.Sallé What a coincidence, that's exactly the part I have troubles with too.
 
ngn
@J.Sallé :) they say god (Arthur Whitney) has now replaced C with his new invention b - github.com/tlack/b-decoded
 
8:58 PM
@ngn What happened to kOS?
 
ngn
@Adám impendingly imploded
@Adám or, they're so secretive you never really know... I thought it was a great idea
 
I see. And on that note, I'll beg your leave. See you all around!
 
 
2 hours later…
11:00 PM
@Adám are quadS chars one byte?
 
@Uriel Yes, with the same limitations as Classic.
 
@Adám great, thanks
@Adam why did you make matches, count and the rest 2-characters long?
 
@Uriel The presence of the character governs what each line does.
@Uriel I also wanted the mapping to actual ⎕S to be obvious.
 
@Adám hmm you could use though certain characters and detect their presence, but nm, I figured ⍵M can go for &
 
@Uriel Yup.
 
16:00 - 20:0020:00 - 00:00

« first day (301 days earlier)      last day (1524 days later) »