« first day (1608 days earlier)      last day (1047 days later) » 
01:00 - 21:0021:00 - 00:00

1:50 AM
Hi, Adam,
Yes, in the abstract, but right now I don't have the time for it.
It seems like something I knew about long long ago (So long ago that Iverson was a struggling toronto programmer, not the utra-zillionnaire who had cashed in for zillions...)
 
 
4 hours later…
5:45 AM
@DavidLloyd-Jones Hm, I don't think he ever was… neither struggling, nor a programmer. He taught mathematics, then worked for IBM, IPSA, and finally JSoftware, but never made zillions.
 
 
1 hour later…
7:13 AM
It just occurred to me, is there, or could there be a "repl-setter" command, with one of, ) or , that would make output implicit for the last expression? Like in the REPL.
It would be aesthetically nice for TIO golfing, that way you could put the command in the header, just like ⎕IO ← 0 & ⎕PP ← 34. You wouldn't need to have ⎕← prefix, or a f← prefix with a printing footer.
Or do you have other ways of posting TIO things I've missed (aside from Razetime's great thing, which I should really start using).
If nothing else, perhaps you guys might add such a feature to your APL variants? Like Adám's Extended, dzaima's & ngn's?
 
Even better, if you're just adding this to your own golf-intended implementations, would be to have a header that would nullify newlines not in strings. Then you could do things like:
Header: ⎕←
Body: 'Hello World'
or
 
Non-assignment lines in tradfns automatically print the result without ⎕←
 
Header: f←(
Body: +-×
Footer: )
(End new-line-skipper?)
⎕←5 f 4
⎕←3 f 1
⎕← 1 f 2
I guess you don't need the parentheses though...
@Bubbler Oh really? Hadn't realized. So how might you implement that then in TIO, mind sharing a link?
I imagine something to do with an opening/closing in the header/footer?
 
@AviFS dzaima/APL already allows this and for Dyalog APL, I use tio.run/##SyzI0U2pTMzJT////3/ao7YJj3r7HnU1P@pd86h3y6H1xo/… for functions and tio.run/##SyzI0U2pTMzJT///qKO94D@I/K8ABgUA for programs.
 
7:28 AM
Ah, thanks! Do you mind clarifying how you use the first link?
@Adám Oh, I see! That's brilliant. You just have to put f in the input, thanks!
I never realized that the TIO thing automatically evaluates and prints the input. Isn't that different from most langs, where does that come from?
For instance, if you put 3+2 in the input, you get 5 in the output. No program required.
 
@AviFS It is. 17.1 (which TIO uses) doesn't really support scripting, so we had to fake it. Header/Code/Footer defines the workspace, as if it said :Workspace:EndWorkspace (you can't actually do that), and Input is actually the interactive session.
 
That's really interesting. Super useful, and it all makes sense now; thanks!
Are there any other meaningful differences between the workspace and interactive session, aside from implicit printing?
In other words, any other differences in using the footer vs. the input in TIO?
So far there's simply that you get to skip the ⎕← at the beginning.
 
@AviFS Yes. In the Header/Code/Footer, you can define scripted objects and multi-line dfns. You can't do that in the 17.1 session. On the other hand, the session allows system commands (and if you enable them; user commands) which are disallowed in the script above. Oh, and there's the editor, but it is not really of much use in a static environment like TIO.
 
7:44 AM
Looking up scripted objects!
Having trouble finding; what are they?
And user/system commands are ) & ?
 
) and ]
 
Thanks Adám, I was looking for those!!
@rak1507 Ah, thanks!!
 
@AviFS Hint: APLcart
 
I did try it for scripted object but that didn't really help!
I did get lazy with user/system commands though...
There was talk of making searching the docs more accessible, no?
 
7:55 AM
@AviFS Right, because it is kind of an umbrella term.
 
I see
Would it be at all worthwhile to link relevant parts of APLcart to the docs?
Oh my god
I'm so embarrassed
It already does...
I guess just not for scripted objects. You can safely ignore me!
 
@AviFS Because there is no one page in the docs that discusses scripted objects. However aplcart.info?q=script does find you ⎕SRC which might be the closest you can get. I'll add "object" as a keyword for that. Thanks!
 
Yay, I'm glad that turned out to help. Thanks again, Adám!
Also, I outgolfed you on the 1/2 challenge. Though you were probably going for creativity over golfing.
Were you trying to maximize unique primitives to look cool?
For instance, you preferred ~≢⍬ over ≡⍬
 
@AviFS Yeah, I was trying to vary my answers. This one uses depth.
 
÷≢⍬⍬
 
8:10 AM
Wow, that's nice! You outgolfed me @rak1507
@Adám Ah, I see!
 
@AviFS yea shorter than doing floor of e
 
Well mine is clearly neither as golfy nor as creative as it could be now...
 
I suggested the ÷≢⍬⍬ approach to Jonah:
Though of course %#_ _ would do. — Adám 8 hours ago
 
Ouch. Your answer is pretty obvious in retrospect...
 
However, OP wrote:
> creative answers are encouraged. The more obscure and convoluted answers are also encouraged.
 
8:12 AM
Of course, of course!
 
Which is cuter?
 
Of your answers, you mean?
I loved the BQN worm
 
=⊸÷⟜≠⌾‿⌾
=⊸÷⟜≠(⌾‿⌾)
(=⊸÷⟜≠)⌾‿⌾
(=÷≠)(⌾‿⌾)
etc.
 
I can't believe you're making me choose. They're all so cute, haha
But the 'curves' definitely add to the cuteness factor
The parentheses
So it's between the second & third
 
((=)(⊸)(÷)(⟜)(≠))(⌾‿⌾)
 
8:14 AM
(=⊸÷⟜≠)(⌾‿⌾)
@Adám Haha, you can also do that
 
Ooh, found it!
 
No, I like the 2nd & 3rd best, no this last one I made up
 
(=)(⊸)(÷)(⟜)(≠)(⌾‿⌾)
 
That's super cute, if we can make it look like an inchworm/caterpillar with segments
(=)(⊸÷)(⟜≠)⌾‿⌾
(=)(⊸÷)(⟜≠)(⌾‿⌾)
I think that might be the winner so far?
 
@AviFS That's not valid.
 
8:17 AM
Oh...
 
=(⊸)(÷⟜≠)(⌾‿⌾)
This one is.
 
nice
 
That's great!
Any no-ops you can add to front to parenthesize that bit?
 
A neck? =(⊸)(÷⟜≠)⊢(⌾‿⌾)
 
(+=)(⊸)(÷⟜≠)(⌾‿⌾)
Do we like this ^^
 
8:20 AM
A tail: ⊣(=)(⊸)(÷⟜≠)(⌾‿⌾)
 
that's the best so far
 
You think?
I rather like the one I sent and this one from before:
(=⊸÷⟜≠)⌾‿⌾
 
I like the longer ones because they look more like a caterpillar
 
But the tail is also really good. I'm happy with that one
Me too, but what about this one?
(+=)(⊸)(÷⟜≠)(⌾‿⌾)
 
The owl: (≡÷≠)⊢⟨⌾,⌾⟩
 
8:22 AM
yeah that one's good as well
 
No way!
You soooo have to do that one separately!!
Better before, I think!
It's different this way, but I don't think it's worth it
The pupils are too great to give up
So (+=)(⊸)(÷⟜≠)(⌾‿⌾) & (≡÷≠)⊢⟨⌾,⌾⟩?
 
I'll add a bunch.
 
Sounds good!
 
The chicken: (≡÷≠)⟨˙⋄˙⟩
Added.
 
Wow... you're seriously good at this
Did you ever think of going into the balloon animal business?
 
8:46 AM
 
9:04 AM
I have a submission working in the 18.0 interactive session, but it won't work in TIO which is 17.1. I'm guessing it's the ⍥?
But it also doesn't work in Razetime's
Any suggestions?
 
It should work in Razetime's if you set the options correctly
 
Oh wait, nvm
It's a bug, I think, in Razetime's
@Razetime
If you try, say, ⎕←2+3 in Code, you get:
Oh wait... maybe that's desired behavior?
It's automatically doing f←⎕←2+3 which is why it's failing
...
Sorry guys
 
The Code in Razetime's should be exactly the section you want to submit in a CGCC challenge
 
My bad. If you change the options to 'full program,' it works out fine
That's perfect! Yeah I'm def using it
 
The interface can be obscure on first use, it's fine
 
9:09 AM
Thanks :)
Actually, to not waste the ping I do have something for you whenever you come by, Razetime
This is probably a confusing error to get
It's trying to do the f←2+3 thing, but the function name is blank
Maybe that can give a 'please fill in the function name' error?
Just check if it's empty & radiobutton=function before running
 
Well, all three types require a function name actually
 
I didn't think full program does, does it?
Hey, I just found a trick!
 
Er, maybe not
 
Set automatic printing:
 
Nice
 
9:14 AM
:)
I'm so using that
Thanks for the TIO tricks, Adám. I might be converted though...
 
9:33 AM
wow that's a thing
@AviFS first things first, TryAPL does not support usage of ⎕ or ⍞, you need tio for that
 
-1
Q: Add APL Keyboard Layout On Linux 20.04

RilDevI would like to start coding in the ALP programming language. But for that, I need the right keyboard layout! Here is the list of behaviors I'm looking for: can be used with other layouts (us, fr...) layout is swapable with the normal shortcut Super + Space ideally can be managed with the native...

 
So many keyboard problems these days...
 
So many new APL users.
 
9:48 AM
y'all ever code in ALP
 
Exciting!
Here's my APL submission to the 1/2 challenge! Thoughts?
 
Reminds me of the meaning of life.
Why no ?
 
@AviFS very neat, try using all of the functions
 
That sounds like such a profound compliment :p
 
(and ops)
 
9:50 AM
But I know just the GOL one you mean!
 
@Adám Thanks!
 
I totally know the one!
 
@Razetime You know the (#) button now copies to clipboard?
 
9:51 AM
yep i do
 
I forgot about the hydrants, too
 
One is a radish, imo.
Officially, it is a thorn.
 
Haha, that's too funny
I like radish better
I can't unsee it now...
 
well sure you can put the hydrant at the end with no fucntion
 
@AviFS OK, added to APLcart.
@Razetime No, the result has to be a number, not a string.
 
9:54 AM
APLcart is finally complete
 
But ⍎⍕ should work.
 
That's what I'm doing!
 
oh i thought hydrant was ⍝, my bad
 
Just have to decide where to put it
Lightbulb!!
Thanks though; good idea
I'll add it at the end
 
@AviFS replace with ⊤⍨⍬
 
9:56 AM
That's good. I knew I should've run this by you guys first
 
@AviFS And add ⊥⍨ somewhere.
 
I just wanted to surprise you
Yeah, now that you gave me the commute idea, I don't have an excuse not to use any & all off the dyadic funcs
This really adds to it...
Although, I should probably only ⍨ once to not spoil the uniqueness
Okay, here's what I have so far:
÷⍎↑⍕↓⊃∪⊂⊣⊢⊥⍨∨\∧/⍸⍴⍪,⍉⊖⌽⌹|⌈⌊*¨⍟⍤○⍥!×+~-≢∊⍬⍝
 
Lots more to go, e.g. ⍱⌿ and ⍲⍀
Why no ⊆!??
 
@Adám That's really good!
Because it's like the other but with lines
 
Oh.
≠≡ then?
What happened to ⍒⍋?
And ?
 
10:02 AM
Ahhhhh
 
@AviFS You could add a dyadic train to use all the dyadics.
 
Well ∩ isn't monadic
 
But #∩ works…
No @
 
@Adám I'm trying to avoid parentheses for better or worse
 
Oh.
You could finish with {}⎕←
 
10:03 AM
Does that seem very silly?
I suppose I'll add them in given I have your help
 
Nah.
 
Why not!
Wait, that was just the expression 'why not'
@Adám It wasn't a response to this
Are you saying it isn't silly and I should keep it restricted?
 
Neither.
 
Or do you think we should allow everything and aim for all of them?
 
Your choice.
 
10:06 AM
Well tbh, I'm exhausted. It's 3am here
But if you don't mind, it'd be fun to continue tomorrow!
 
 
2 hours later…
12:01 PM
has the #apl chat moved to libera?
 
12:24 PM
@AviFS dzaima/BQN supports these. Partial 2-modifier application in both directions is in the spec, but I haven't added it to the compiler yet. dzaima/BQN only does right operands so the VM is missing an opcode for left ones.
 
@Adám Yeah, "The Worm" having 2/3 as many points as "The Raven" is pretty impressive.
 
@Marshall "The Raven"?
 
1:19 PM
@Adám The Poe poem, in Perl (alliteration accidental).
 
Oh.
 
 
2 hours later…
3:07 PM
Is there any hope that we can get a chat bot again?
 
@Adám what sort of features do you want?
I may be able to make one; I've used the python library a few times and it's worked well in the past
 
@hyper-neutrino We had two things: One was bridging to other chat rooms (IRC, Discord). The other was recognising messages that began with ⎕← and evaluating them as APL (using TIO or the TryAPL API), then posting back the result as a message to the expression's author.
 
@Adám ah, okay. I'm not too familiar with IRC, but I've also made (several) discord bots in the past so I can probably set that up fine (I actually made an SEchat-discord link in the past but it kept breaking, so I'll need to do it properly this time). do you have a link to the TryAPL API documentation if one exists / how to use it?
 
3:27 PM
@hyper-neutrino It is extremely simple. Just send ["",0,"","expression"] and get back [state,number,hash,["lines","of","result"]] where you can ignore the first three elements. See example code here.
 
oh wow that's very nice. okay, thanks
 
I was discussing making an APL twitter bot earlier on twitter with some people, that would be fun as well
 
@rak1507 Yeah, so you'd tweet it APL expressions and it'd respond with the result? Yes please.
 
yep
 
@hyper-neutrino Btw, it has an account ready.
 
RGS
3:36 PM
@rak1507 Can I trouble you for a link to the discussion? It is fairly trivial either way, but I already have code that tweets, so I could give a tiny push in that direction.
 
oh, nice :D well i will just test on my sock in the meantime if I find the time to work on this
 
RGS
(assuming it was a public discussion, rak; otherwise, ignore my request)
 
RGS
I see.
Making the bot run Gnu APL doesn't sound like the best idea ever.
 
4:31 PM
@RGS I can probably set up a twitter bot in a few hours
using tryAPL
 
RGS
4:50 PM
@Razetime that's cool. What language will you/would you use for the backend?
 
probably ruby
it is very tempting to use APL but i cannot host APL on repl.it
 
RGS
The only thing that isn't clear to me right now is where in the Twitter devt platform I set up the webhook to be notified when the account is mentioned.
Fyi the tweepy module from Python is dead simple to use.
 
@RGS Might be a good example of using Py'n'APL? Maybe not if you want to use the TryAPL API.
 
RGS
@Adám would be a great example to run everything with Python and not having to call the TryAPL API, but the good thing about the TryAPL API is that is already contains the safe execute.
Using Py'n'APL I/someone would have to be careful with the code that the bot would run.
 
Right, you'd basically have to reimplement TryAPL.
Very timely that we are just now looking into increasing the performance of TryAPL (after the recent HackerNews "hug of death").
 
RGS
yeah, one could prod that frequently and check for new mentions
I'll give it a go tomorrow
 
 
3 hours later…
7:44 PM
]create # /foo/bar ⍝ works fine in ride or mapl(dyalog). however

echo ']create # /foo/bar' > example
cat example - | mapl -b -nokbd

Results in VALUE ERROR: Undefined name: ⎕SE.UCMD
any idea on how to get it working?
 
Interesting. This seems to come up a lot lately. I thought using mapl over dyalog solved the issue.
 
yeah i asked a related question yesterday but i cant seem to scroll up to the discussion from last night
 
@user5029735 Hi David Rusu. If you want to participate here, just email access@apl.chat
 
oh its the same error :S i thought this was a new one
 
It all comes from not having a session file loaded.
I'm unsure, though, why mapl doesn't do the job right.
 
7:51 PM
is there a way i can load the session file via my script?
 
{2 ⎕NQ ⎕SE'FileRead'⊣⎕SE ⎕WS'File'⍵}'/home/ace/.dyalog/default.dse'
gives me VALUE ERROR on the ⎕WS
 
@0xACE Huh. Try 2 ⎕NQ ⎕SE'FileRead'⊣⎕SE ⎕WS'File' '/home/ace/.dyalog/default.dse' and maybe screenshot it for me?
@hyper-neutrino Can you give chat.stackexchange.com/users/515713/user5029735 write access here?
 
same error
 
@0xACE That's really curious. Never seen anything like it. I'll take it up with some that know this stuff better than me.
 
8:07 PM
okay, thanks :) apl is already more than i could ask for :D
 
@0xACE Can I bother you to try some experiments?
 
i can try :)
 
First a sanity check: ⎕NEXISTS'/home/ace/.dyalog/default.dse'
 
returns 0
 
Oh, so APL can't access the file.
 
8:12 PM
oh sry the real user is asd
returns 1 with the correct path
 
OK, so does 2 ⎕NQ ⎕SE'FileRead'⊣⎕SE ⎕WS'File' '/home/asd/.dyalog/default.dse' work then?
 
in /usr/share/dyalog/mapl yes, but in cat script - | /usr/share/dyalog/mapl it returns the exact same error as i uploaded a screenshot of
 
(What does the - do?)
 
@Adám reads stdin after finishing reading the file, instead of EOFing, keeping the REPL alive
 
i think dzaima gave it to me, but man-page says: when FILE is -, read standard input
 
8:17 PM
Ah. I didn't realise that was what was going on at the time.
@0xACE Even from a cat invocation?
Another sanity check: ≢⎕SE
 
1 from both regular and cat session
 
@Adám done
 
@hyper-neutrino Thanks.
 
yeah my text was taken from the man-page, i mean it makes sense. cat is supposed to concatenate, so i tmakes sense to concatenate a file with stdin via '-'
 
@0xACE Maybe the session file is corrupt. Try rebuilding it. You can do so using RIDE if you want. )load buildse and follow the instructions.
 
8:22 PM
well the session file works in a regular shell
 
Hm. This is very strange.
 
but ill check buildse
 
@user5029735 You should now have access. Welcome to the room. New to APL?
 
welcome
 
@0xACE maybe it's loading a different session file (from /opt/whatever maybe)
 
8:24 PM
@dzaima But the FileRead works from RIDE and mapl as long as we're not cating
 
same error for '/usr/share/dyalog/default.dse'
doesnt this reproduce for you on linux machines?
 
Just tried it on Ubuntu and it works fine for me.
 
oh, somehow i hadn't tried it before or something, but cat create.apl | dyalog (or mapl) also errors about no ⎕SE.UCMD for me
 
Can you try cat script - | mapl SESSION_FILE=/path/to/file.dse?
 
same error (even tried setting session_file before launching mapl
 
8:31 PM
^ same for me
 
@Adám Thanks Adam, yes I'm new to APL/J thanks for getting me access
 
So somehow, the interpreter refuses to have a session file loaded if input is being piped. Crazy.
 
same behavior with dyalog -script create.apl fwiw
 
Wat.
@user5029735 Cool. Mainly focusing on APL or J or both?
 
I'm looking at APL now, in particular I have a pet project in mind to implement a Pen-and-Paper computing interface with APL as the interface
 
8:36 PM
interesting
 
Do you know of any work that tried to do handwriting recognition for APL characters?
 
@user5029735 No, but I've also wanted to do that. Shouldn't be substantially different than recognising digits.
 
Yes I think so too, should be feasible
 
I've had a Remarkable Tablet for about 6 months now and I think it would be a perfect computing slate
 
8:39 PM
hehe, maybe RGS neural network series could be be applied to interpreting APL glyphs :P
I finished watching it, sad to see that it wasn't finished yet
 
@0xACE I literally just last week prodded him to finish it. He will.
 
ooh new leetcode vids too
@RGS you need to publicise your videos more!
2
 
lol. it really is a great video series, i have it all downloaded on my phone so i can watch it wihtout wasting bandiwdth
 
@dzaima (in fact, cat file | dyalog and dyalog -script file appear to be pretty much equivalent in behavior, other than the cat version repeating inputs and printing the starting message)
 
@user5029735 What OS does it use?
 
8:41 PM
yeah i onlt used cat over -script because i didn't know dyalog accepted -script
 
@rak1507 I told him that too.
 
@rak1507 yeah, but his leetcode videos are set to premier dates, so a lot of them are pending for premier...
 
@Adám nice! I'm not sure how practical it would be to do the ML in APL as well, but it would be super fun to have everthing in APL
I'm on Linux and macOS
(nixos)
 
might be an idea to have the dyalog twitter account tweet his videos?
 
@DavidRusu shapecatcher.com works really well, so if there was a way to restrict the character repertoire to only valid APL glyphs, I think it'd have almost 100% correctness.
 
8:44 PM
@0xACE well, using -script would kill the server when the end of the file is reached
 
@rak1507 I've suggested a central place where people can report when they generate media, which conveyor people can then subscribe to. Upon a notification of a new item, they can then decide to instagooglefacetweet from their accounts as appropriate.
 
@dzaima hehe, well i guess my cat abuse was correct this time :)
 
'conveyor people'? people that run dyalog socials?
 
perl and other communities have these "planet" RSS feeds
 
@rak1507 People that might want to mention it on their channels, e.g. the Array Cast, Dyalog's twitter feed, various private people…
 
8:46 PM
oh, so the central place is not an internal thing
in which case, why not just use the central place for media in the first place? people can reshare it if they want I guess
 
Nothing preventing that at all.
@user326037 Hi Xiang Li. If you want to participate here, then email access@apl.chat
 
@Adám This is great! thanks for sharing. Let me see if there's any code available..
 
(Hm, I wonder if my "@$username Welcome. Interested in APL?" and "@user$usernumber If you want to participate here, email access@apl.chat" can be automated…)
 
Adámbot 9000
 
(Beginner) If I have P←2 3⍴⍳6, I am confused why I cannot do X[1]. I would expect this to return either a single row or column of P.
 
8:53 PM
@DavidRusu I've not seen any, but I've been in contact with the owner before. Maybe worth a partnership.
@GreenSaguaro Use 1⌷P instead.
 
there must be other open source symbol recognition things out there too
 
If you use square brackets, you have to add enough ;s to separate the axes, so P[1;]
 
oh is there a APL glyph that makes the rest of the input from the left be treated as a grouper paranthesis?
i often end up in situations where i want the text to the left to be treated as a group and i end up having to surround it with () all the time
 
@Adám Wow! Thank you! When I do P[1], what am I actually asking for vs what I mistakenly think I am asking for?
 
@GreenSaguaro You're asking for the first element of a vector.
 
8:56 PM
@0xACE you might want to look into ⍨
if you have (thing) f x that can be x f⍨ thing
 
@0xACE While I'm not sure what exactly you mean by "group", parentheses are essentially grouping symbols, no?
@GreenSaguaro (I personally support that it should be allowed to omit trailing ;s when indexing, but many a loathe to extend the bracket indexing syntax because it is anomalous to APL's general syntax.)
 
@Adám So 2 3⍴⍳6 is a matrix and not a vector?
 
yeah i know about ⍨ but i was hoping for a delimiter glyph like: Even←{(0=2|⍵)/⍵}
It'd be nice if i had a Even←{0=2|⍵<SEPERATOR-GLYPH>/⍵}
 
@GreenSaguaro Yes. 2 3⍴… reshapes it into a 2-row, 3-column array; a matrix.
 
but maybe that doesnt make sense, i havent fully grasped the apl syntax/parsing yet
 
8:59 PM
@0xACE It'd be like TI-Basic allowing unpaired ( to imply a ) at the end of the line.
 
@0xACE Even←⊢∩2∧⊢
 
01:00 - 21:0021:00 - 00:00

« first day (1608 days earlier)      last day (1047 days later) »