« first day (1212 days earlier)      last day (1448 days later) » 

12:13 AM
Whoopsies! Silly question: What does one preface an )ed with to make (copy/paste) a numeric matrix (or vector). All the entries seem to be for character things, and automatically interpreted that way. Unless an interface has something to do with this, I'm stumped! Is there a better way to copy and paste a numeric matrix in?
Also, despite not finding the answer, I used your new )ed entries in APLCart, when trying to figure out (unsuccessfully) how to do it @Adám! So thanks again a million for those. Super helpful, since I'm clearly terrible at navigating through the documentation!
 
12:28 AM
@AviF.S. AFAIK there's no such support.
But you can )ed a character matrix, then row-wise eval it ⍎⍤1⊢x to get the intended numeric matrix (TIO).
 
@Bubbler Silly me; thanks a million! So should've thought of it! Odd that there shouldn't be though, given that they have character stuff ad nauseam (3 of them) ⍥
Totally random, but how can there be two different unicode for the same thing? There's both ⍤ ⍥, and I've also noticed there's two ¨¨ because every now and then I copy/paste what someone wrote, and the interpreter gives a syntax error, 'til I replace the ¨ with the one on my keyboard, which looks ever so slightly different...
 
It's just the problem of Unicode itself which defines multiple copies of same-looking symbols. (there are also two ⍺s, two ⍵s, two ⍳s, etc.) ⍤ and ⍥ are quite different though...
But looking ¨ isn't on the compatibility table, you can legitimately blame the "someone" who wrote the wrong ¨ symbol.
 
 
3 hours later…
3:30 AM
@Adám A heads up that the three bounties in progress are getting expired soon.
 
 
2 hours later…
5:41 AM
@Bubbler Thanks. That was close. I usually notice the notifications about it, but this time they drowned in chat notifications.
 
5:58 AM
1
A: Arranging Bubbles

BubblerAPL (Dyalog Unicode), 40 bytes {1≥⍵:⍵⋄w÷⍨+/∊(0=v|⊂⌽v)×v××∘⊂⍨∇¨v←⍳w←⍵-1} Try it online! A port of orlp's Python 2 answer, using a vector of nested vectors in place of nested for-loops. How it works {1≥⍵:⍵⋄w÷⍨+/∊(0=v|⊂⌽v)×v××∘⊂⍨∇¨v←⍳w←⍵-1} ⍝ Input: n {1≥⍵:⍵⋄ ...

Heh, nice fit for your user name!
@DanielMurillo Welcome. Interested in APL?
 
@Adám Didn't think of that XD
 
6:49 AM
@Bubbler @AviF.S. I should add this to APLcart, as indeed, there's no way to do this. Btw, we are thinking about how to edit (almost) arbitrary arrays.
 
Oh my goodness; you're already up?! I'm only up because I never went to bed...
What do you mean re: the second part?
 
It is 07:50 here.
@AviF.S. It is a known problem that Dyalog doesn't have a good way to edit arrays other than those that look like text files. We do have an "array editor" but it isn't very pleasant to use, and can't be used to create a new variable.
 
@Adám Haha, I know, I'm still in Edinburgh... 8 in the morning seems pretty early to me without working, but I guess it's not so bad
@Adám Ah yes, thanks, I see what you mean! That'd be super great to add. It was a really helpful idea from @Bubbler! How do you use the 'array editor' though, even if lacking? Does it exist in RIDE as well?
 
It was just an idea on the fly, given that we've got at least a way to )ed a character matrix.
 
@AviF.S. It doesn't work with RIDE. From the Windows IDE you can use ]array.edit varname or position the cursor on the name and click the second-to-last button on the "Object" toolbar.
 
6:57 AM
@Adám But how'd the aplcart entry look like, as it's a command followed by an expression?
 
@Adám Ah, oh well! Grass is always greener on the other side :) Thanks a bunch though, would be a great addition to APLCart
 
@Bubbler {⍎⍵,'←⍎⍤1⊢⍵'⊣'-'⎕ED⍵}Dv — how is that, @AviF.S.?
 
@Adám Sorry, still trying to parse it...
 
@AviF.S. Just try this:
NumEd←{⍎⍵,'←⍎⍤1⊢⍵'⊣'-'⎕ED⍵}
NumEd 'myvar' ⍝ fill in some numbers!
2×myvar
 
I see what it should be doing, and it's brilliant!!
I never new about ⎕ED and putting it all in one function is a godsend!
However, it doesn't seem to quite be working...
 
7:05 AM
Oh :-(
 
Still Domain Errors which I imagine must mean it's still a string
 
Oh, you're right. Hang on.
 
Did you try and run it?
Is it just me?
Ah!
 
Aha, I think I know what's going on.
@AviF.S. Try this one instead: NumEd←{⍎⍵,'←⍎⍤1⊢','-'⎕ED⍵}
 
@Adám :( ⍎SYNTAX ERROR: Can't change nameclass on assignment NumEd[0] arr←⍎⍤1⊢
 
7:13 AM
@AviF.S. Ah, how are you closing the editor?
 
Hmmm... what does that mean?
Something along the lines of Cmd-W
?
 
@AviF.S. Try it on a fresh variable.
 
@Bubbler No, I can repro this.
@AviF.S. Hopefully more robust: NumEd←{⍎⍵,'←⍎⍤1⊢',⍵⊣'-'⎕ED⍵}
 
@Bubbler I am, otherwise I get a different error...
@Bubbler Why? Is it working for you? I'm just doing it wrong...?
 
Huh, it worked on my Windows IDE.
 
7:15 AM
It depends on how you close the editor. If you don't do "save and close", it returns '' and my code fails.
 
Beautiful!! That works perfectly @Adám! Thanks a million!!
Oh, that! I was doing 'save and close' though...
Super weird... What else could it be I was doing? Because clearly it worked for you guys...
 
It'll still error if you have regrets and don't add any numbers, and it only one name at a time, and only matrices, but it is a start.
 
Shoot! I seriously overuse ellipsis...
 
@AviF.S. Windows IDE and RIDE are not exactly the same.
 
@Adám I see; long as it's not my fault, I'm happy :p
In that case, I've done your cross-platform testing, and it runs beautifully. Though good point re-vectors/matrices...
In reality, one would just assign a vector in line, though (I know that's not what APL calls them, sorry... is it a rank 1 matrix? Or is that J?)
 
7:19 AM
On RIDE, NumEd 'abc' opens an editor but it never closes even if I hit the save and return button, and the REPL side becomes readonly so I have to force quit RIDE.
 
The whole point of this new-fangled technology you made is to create matrices, methinks
 
@Bubbler Odd. Works for me.
 
@Bubbler That's super weird; works for me too! Do you use RIDE frequently, or could it be generally faulty?
Because you said you were using Windows before...
 
My main editor is RIDE, I just opened up Windows IDE for testing.
 
Ah, super weird then!
@Bubbler
@Adám Is it worth extending NumEd to be long and annoying but more robust and then adding it as a library function that can be ]load'ed in?
 
7:22 AM
My RIDE version is Version: 4.2.3437 and interpreter version is Version: 17.1.36847, running on Windows 10.
 
@Adám The function just strikes me as such a great idea, it seems more should have access/know about it!
 
@AviF.S. I'm working on extending it at least. You can always just put it in a file in the workdir path so you can easily load it.
Btw, it should run in its own thread so you can keep using the session while editing.
 
RGS
@Bubbler why...? I thought the idea of \ was to accumulate results
 
@Adám For me, of course! Just seems like a cool bit to have along with things like ]load HttpCommand! But of course, I've no idea how labor-intensive it may or may not be to add such things!
 
It isn't any worse than adding a file.
 
7:26 AM
@RGS Because f\ a b c d evaluates to (a) (a f b) (a f b f c) (a f b f c f d), and remember that APL evaluates from right to left.
 
@AviF.S. There's another problem too. It should really detect where you're calling from to create the variable there.
 
That means you can't reuse previous result of computation, unless f is known to be associative like + or ×.
 
@Bubbler I don't see that it'll help you, but here goes: IDE/Interpreter -- Platform: MacIntel/Mac-64 -- Version: 4.1.3370/17.0.36073
@Adám Haha, I didn't imagine it'd be much worse than that... But that was me trying to be polite and imply that I was sharing an idea, but that I by no means meant to impose nor was in a position to know/do such things! And that you'd know better
@Adám How's that for convoluted social acrobatics/attempts at etiquette?! :p
 
That should mean it was fine before but it broke after some (lots of) patches. Should I check out the latest version to see if it's fixed?
 
RGS
@Bubbler I see, thanks
 
7:35 AM
@Bubbler Before you do that, try to cut down the code to the minimum repro. As it is, the code is pretty involved using .
 
@RGS One use case for a non-associative f would be -\⍳ which gives many interesting results.
 
@Bubbler @RGS and ÷\
 
(though I don't have a better rationale for that O(n^2) thing)
@Adám '-'⎕ED'abc' works fine, but {'-'⎕ED⍵}'abc' and {⎕ED⍵}'abc' fail with the same symptom.
 
@Bubbler If you're on the latest version of RIDE, then please log that on GitHub.
 
8:02 AM
Using variables (pre-set to strings) rather than simple strings (character vectors...) on the right/⍵ side of ⎕S is giving really weird behavior. Is it supposed to do that?
 
@AviF.S. ⎕S should be able to detect the difference. Are you missing a parenthesis?
 
Instead of replacing the found instances with whatever the variable encodes, it replaces it with the entire string, match & otherwise, as though I'd entered '%'...
......
 
@AviF.S. ⎕S is Search. ⎕R is Replace
 
How did you know, @Adám :(
 
Know what?
 
8:04 AM
I just meant that ⎕S replaces with what's on the right!
That I was missing a parenthesis...
 
Experience :-D
 
Haha
I still don't really get what was going on though...
It should be right-associative, right?
 
"It"?
 
(regex ⎕S var) match
 
If you leave the parenthesis out there, you get regex ⎕S var match and if match is an expression, ⎕S will use var…left-most function in match as transformation string.
 
8:07 AM
Sorry, let me correct that to: (regex ⎕S ...) match
Isn't that interpreted as: (regex ⎕S (...)) match
 
No.
⎕S is a dyadic operator.
 
That's what I meant by right-associative. I thought APL (interpreter) always did that implicitly...
Oh... so that binds with precedence?
 
The rule only applies to functions. Operators bind before functions.
And stranding before operators.
 
It becomes: ((regex ⎕S (head ...)) (tail ...)) match
?
 
More like (regex ⎕S head ...) (tail ...) match
 
RGS
8:10 AM
@Adám can I ask an internship-related Q?
 
Sure.
In fact, anyone can ask me anything. I might refuse to answer, though.
 
RGS
@Adám +← 1
 
@Adám Haha, very true!
@Adám Hmm... but that still doesn't explain the behavior I'm experiencing. Here's a simple example: ( 'cde' ⎕S '12','345') 'abcdefg'
 
RGS
Given the timeline on my thesis and on the student competition do you think it would be ok to email Morten to ask about the possibility of starting in August? Like on the 5th of August or something like that? Or would I be abusing your good will?
 
8:13 AM
@Bubbler Yup, I get notifications for RIDE.
 
@Adám The above returns: abcdefg
 
@AviF.S. No, it actually returns '' 'abcdefg' — do you see why?
@RGS That's absolutely fine. If you want, you can copy Richard and me on that.
 
@Adám Oh, you're right! ]box was off... facepalm
 
@AviF.S. So do you understand what that parses as?
 
@Adám Now I understand! That makes a lot of sense; thanks a bunch!
@Adám Boy, this is quite something sometimes...
@RGS Congratulations on getting into the internship! That's super exciting! I was under the impression they weren't doing it this year due to COVID from my exchange with them
 
8:20 AM
@AviF.S. That line runs ,'345', applies the function 'cde'⎕S'12' on it, and then strands the result with 'abcdefg'. Did you get it right?
 
@AviF.S. No, we're just not doing in-office internships.
 
RGS
@Adám Thanks
@Bubbler Was wondering about that, thanks
 
@RGS Yes, but it isn't ignoring , only that monadic , is a no-op on a vector.
 
RGS
@AviF.S. thanks ^^ like Adám said, I'm not even going to leave my living room :P
@Adám yup I understand now, I was thinking of ⎕S being an operator binding with less strength than functions, when it is obviously the other way around
 
@Adám That's a bummer, I went into it with that assumption. But that's not what I was told over email... Would've loved to intern this summer ⍥
 
8:23 AM
@AviF.S. You're free to ask again about remove interning.
 
@Adám Are you still accepting people?
 
@AviF.S. I don't know. It really isn't up to me.
 
Maybe I misunderstood the rest of the email? Or maybe he was just denying me politely?
"So… we had our meeting. Unfortunately, as things stand with our offices closed, we don't have an immediate idea for a suitable internship project for you."
 
A virtue of APL is that a human (with some training) can parse a line of code full of symbols with ease, as long as it is known which names are arrays/functions/operators. Compare it to C/JS/Python which have an enormous tower of operator precedence.
 
@AviF.S. That does sounds like your qualifications are OK for an in-office internship only. You can always ask for clarification if you want. Morten is nice.
 
8:28 AM
Hmm... never really gave my qualifications, though? Alright, will do! Thanks a bunch for the advice :) And congrats @RGS, enjoy it lots & lots!!
 
@AviF.S. Well, maybe you should have? :-)
 
@Adám Yes, this is a good point :)
 
RGS
@AviF.S. will do, thanks :)
 
Meanwhile, APL wins again (though I cheated a little)
 
@RGS 'Course! Your bio says you're a student, which makes sense re: competition! Are you an undergrad or grad?
@Adám Are we allowed to ask personal questions?
 
8:37 AM
Sure.
 
RGS
@AviF.S. finishing my MSc in applied mathematics :)
 
@Bubbler Nice. I don't think I've ever actually used this.
 
@RGS Ouch! Way ahead of me! Going into last year of undergrad... (math & CS)
PhD program, then?
 
RGS
@AviF.S. not sure what undergrad corresponds to; BSc?
I don't feel very much like doing a PhD now... I think I'm straight off to the job market
 
undergrad → bachelor, grad → master & doctor
 
8:39 AM
Hey, wouldn't it be nice if ⎕ED and )ed could change the type of an existing item?
 
Ah sorry, read 'finished MSc,' not finishing! It all makes sense now!
 
RGS
@Adám maybe with an extra flag? allowing that by default may throw someone off their game?
 
@Bubbler +←1
 
@RGS Yeah. If I was to design it now, I'd say that giving a type indicator with an existing name should transform the name's type, but now, yes, it could be done with variant or an extended left argument.
 
@Bubbler How 'bout you? Am I allowed to ask where you are in life?
 
RGS
8:41 AM
@AviF.S. I think Korea..?
 
Yes, I'm working in South Korea.
 
@RGS Lol, this is true!
 
@AviF.S. It says in their profile.
 
@Adám I read it several times, I thought?
Doesn't it just say what they studied in undergrad? And where they are (in the world)?
 
I graduated from university like 3 years ago and (luckily) took a job right away.
 
8:44 AM
@Bubbler Very neat! I suppose we're all younglings then, just you guys a little less than me (& Adám in spirit :p)!
 
I'm turning 35 this summer :-( University was a long time ago.
 
@Adám Ah, younger than I thought! Being Orthodox has a way of making people look older & wiser than they really are :p
 
You mean the beard?
 
All of it!
 
RGS
@AviF.S. Especially the beard :upside_down_face:
 
8:54 AM
The peyos, beard [any other furriness goes here], (do you have a shtreimel?!), yarmulke [& other head coverings], tzitzit, tefillin, tallitot [and other danglies+accessories go here]. Plus other associations, eg. ask-the-rabbi. And I think the accent helps!
Sorry, lost internet there!
 
@AviF.S. Yes, I do have a shtreimel. So I'm not the only one noticing that orthodox Jews like dangly stuff.
 
RGS
@Adám do you know of any issues with your keyboard layout that sometimes make me start typing and already have a ´ "loaded"?
 
@Adám So glad you've noticed!
 
RGS
@Adám I think that's easy to notice
 
@RGS Have a what loaded?
 
RGS
8:57 AM
@Adám """loaded""" really is abuse of the word, can't think of a better term. but do you know how I have to hit a specific combo to put a ´ or a ` on top of letters? Sometimes I'm going to start typing and one of those was already "ready" to be inserted on top of a letter
 
@AviF.S. OK, that did become long and annoying:
 {name}←{type}NumEd name;ns;post;pre;val;exist
 :If 900⌶⍬
 :OrIf ''≡type
     type←'-'
 :EndIf
 :If 1≥|≡name
     :If ~'-∊→'∊⍨⊂type
         ⎕SIGNAL⊂('EN' 11)('Message' 'Invalid left argument')
     :EndIf
     ns←⊃⎕RSI
     ⎕FR←ns.⎕FR
     ⎕PP←34
     :If exist←2=ns.⎕NC name
         val←ns⍎name
         :If 0 1 2∊⍨≡val
         :AndIf 1=2|⎕DR∊val
             type←'-∊→'[2⊥2|(≢∘⍴,|∘≡)val]
             pre←'¨'⍴⍨'∊'=type
             ns⍎name,'←⍕',pre,name
         :Else
             ⎕SIGNAL⊂('EN' 11)('Message' 'Array must be matrix or vector of vectors or simple vector')
 
RGS
@Adám perfect fit for an APL Cart entry
 
@Adám Uh oh, for a second I thought you meant my prior text ⍥
 
@RGS Never experienced it. I'd think it would be that you accidentally hit those keys. I'm using buckling springs which helps against that.
 
Holy gawow! That's truly something! Where's that going to be kept?
Maybe the shorter version can have a TIO link to the longer version?
 
9:00 AM
@AviF.S. Dunno. You can put it into ⎕SE so you can do ⎕SE.NumEd'foo'
 
RGS
@Adám what does "you can put it into ⎕SE" means?
 
What does ⎕SE do again/
"⎕SE is a system namespace. Its GUI components (MenuBar, ToolBar, and so forth) define the appearance and behaviour of the APL Session window and may be customised to suit individual requirements.

⎕SE is maintained separately from the active workspace and is not affected by )LOAD or )CLEAR. It is therefore useful for containing utility functions. The contents of ⎕SE may be saved in and loaded from a .DSE file."
 
RGS
@Adám I thought that too.... but it is so hard to imagine that being the case... I switch pages with (left Alt)+Tab or Ctrl+Tab and """loading""" a ´ or ` requires hitting the right Alt, left shift and an additional letter.
 
@RGS Define it in ⎕SE like you would in any other namespace.
 
RGS
@Adám the point of the question being, how can one edit the ⎕SE namespace? It sounds like a protected/special namespace
 
9:03 AM
@Adám That works great for us! I didn't mean to say we'd have a hard time saving it. But wondering how it'll reach the masses, esp. since it seems like that took a fair bit of work
 
@RGS It isn't protected. It is just another root namespace. It isn;t scripted though, so you can't edit it directly. You can do )ed ⎕SE.NumEd or 2⎕SE.⎕FIX'file://…' though.
@AviF.S. We are working on a package manager…
 
It could be nice if it gets bundled with the next version of SALT(?) as a user command or something
Oh yeah right, a package manager. How's it going?
 
Also, it is a bit of a hack. I don't know if the powers-at-be would approve.
@Bubbler :-(
 
Oh...
 
Bummer!
Am unfamiliar with the meaning of this first line:
`{name}←{type}NumEd name;ns;post;pre;val;exist`
Is that part of tradfn notation?
 
9:10 AM
Yes, it's a typical tradfn header.
 
Yes, I just found it!
Oh you beat me to it! Thanks @Bubbler
 
It defines a function named NumEd, which takes its primary (right) argument named name with an optional left argument type and returns the value back in name as a shy result.
The rest (the names separated by semicolon) declares local variables.
 
RGS
@Bubbler what does the result being shy mean?
 
The value is not auto-printed on the session, like the result of an assignment
 
@Bubbler Haha, was just looking at that! Thanks a bunch for your explanation though, had not gotten that far yet!
@Adám Super sad to say... Curious if anyone else had issues. On Mac RIDE (yes I'm saving and closing), I seem to be getting domain errors again. (For the simple matrices, haven't tested others)
 
RGS
9:19 AM
@Bubbler not auto-printed but otherwise still "returned"? like myVar ← leftArg shyTradfn rightArg still assigns the result to myVar?
 
@RGS Exactly, so that it can be chained for further computation. And you can apply on it like ⊢x←something to see the result.
 
RGS
@Bubbler makes sense, thanks; so then what is the point of having a shy result..?
 
@RGS To suppress auto-printing when it makes sense to run the function purely for side effect.
 
RGS
@Bubbler ah ok, ~ like a script in Python?
 
@RGS I don't see relationship with that...
 
9:33 AM
In hind-sight, shyness was a bad choice. Instead, everything should have been "shy", and output only happening from explicit ⎕← (except non-assignments in the session, of course).
 
RGS
in the sense that I run a Python script so that it runs and does its thing. Usually Python scripts have side effects, no?
 
@RGS Yes. Indeed, our :Namespace scripts shy everything.
 
RGS
@Adám did not understand "our :Namespace scripts shy everything."
 
@RGS 2+2 in a:Namespace script does not print anything.
 
RGS
10:14 AM
@Adám I still don't get what your point is; do you mean that if I write a loose 2+2 inside some :Namespace then it won't get printed?
 
@RGS Yes, exactly.
 
RGS
@Adám thanks
 
@RGS Tsktsk, now you're beginning to post of-topic content here‽
 
RGS
@Adám sometimes I type before I think... and for a long time now, from time to time I'm assaulted with the thought of a very specific (and simple) English word that has an astonishing consonant-to-vowel ratio
 
@RGS You didn't get the joke?
 
RGS
10:24 AM
@Adám Apparently not ⍨ but cross-referencing it now I do
 
10:57 AM
@RGS Could it be that Ctrl+Alt is being registered as AltGr?
 
RGS
@Adám just tested it; Ctrl+Alt works as AltGr
but it still feels like an odd combo for me to press on accident, my fingers aren't that fat
 
@Adám - In most Windows setups, that's standard - if the layout has an AltGr key, it causes the same response as Ctrl+Alt; I believe this is because some older keyboards only had one Alt key, and needed some way of emulating AltGr.
 
From yesterday, in the RIDE debugger you can set breakpoints by clicking the lhs gutter in the editor -- super-useful but I only discovered this by chance (@RGS @AviF.S.)
 
Same in the Windows IDE, but that one also lets you set trace and monitor points.
 
RGS
(+←1)⍣2 this is my attempt at "upvoting" the 2 previous msgs
 
11:08 AM
@RGS +¨←1
 
@RGS That wouldn't work.
@Bubbler That's unclear how many.
I'd say +←1 1 or +←2⍴1
 
RGS
@Adám I know that's not correct APL... I was just trying to express the idea
@Bubbler that would apply to each message in this room, I guess
 
@RGS Sure, but even if it did work, it'd add 2:
      a←10
      a+←⍣2⊢1
      a
12
 
RGS
@Adám :upside_down_face:
 
@Adám Wow, so that does work ⍥
 
11:11 AM
Yes, I just discovered that ⍥
I wouldn't rely on it working though, as it is against official syntax. Use a+⍣2⍨←1 instead.
Also, if you use a+←⍣n⊢1 and n is 0, then it'll print 1.
Also, a+←⍣n⊢1 doesn't work with a negative n while a+⍣n⍨←1 does.
 
 
2 hours later…
RGS
1:28 PM
@Adám when you advise on using () for strand assignment do you mean (a b)←⍵ or (a b←⍵) and why do you say to always parenthesize strand assignment?
 
@RGS Ah, I should clarify this. The reason so to avoid ambiguity. If f←+ and x←10, does x f←1 mean x←f←1 or x+←1 ?
 
RGS
@Adám I would guess x+←1, no?
 
Yes, except for in dfns, where it means x←f←1
I'm currently lobbying for allowing x(f←)1 to disambiguate the other way. Right now, your only option to force x+←1 in a dfn is the rather obscure x f∘⊢←1
 
RGS
how does x f←1 become x ← f ← 1? ah because (a b) ← scalar sets a and b to the same scalar?
 
Yes.
 
1:41 PM
@Adám for some reason i thought {f←+ ⋄ x f←1} would still use +←, but i guess not. dfns are more broken than i thought
meanwhile in dzaima/APL. kinda sad how dfn locals still are restricted by the global scope, but it's what i currently got
 
As I usually say: dfns bad, tradfns good (except the the localisation and sometimes the scoping).
 
@dzaima solution: just never define functions in the global scope. ¯\_(ツ)_/¯
also i already allow (f←) due to f← just being defined a separate "type"
 
@dzaima Please tell Dyalog that and ask for the same in Dyalog APL!
 
@Adám in fact i thought it already worked in Dyalog, but i guess it doesn't ¯\_(ツ)_/¯
 
@dzaima I definitely think it should, and the unparenthesised form should be deprecated, imo. Note that APL2 requires parenthesis.
 
1:55 PM
@Adám that would make sense
 
Only deprecated of course, for backwards compatibility and golfing.
 
 
2 hours later…
3:51 PM
finally got around to unifying equal lines in error messages
next up, making a proper link to the source, showing filename & line number. but for now that's going back into the todo list
 
@dzaima I've come across this and apparently it's deliberate. I suppose in this case it could be that "modified assignment bad" "single assignment good"?
@dzaima As in they are designed for use in the functional programming style, which modified assignment is not
 
@RichardPark huh, i guess that's a valid argument. still, changing the type of a local variable seems weird
 
4:06 PM
@dzaima Yeah I'm on the fence
 
(to be clear, i'd be okay with f←- ⋄ {x←5 ⋄ x f←1 ⋄ x}⍬ still being 1)
 
4:19 PM
It is a side effect of dfns' auto-⎕SHADOW when it sees {name(s)}
 
4:57 PM
@jokerdino Thanks!
@user8864368 Welcome to the APL Orchard. You should now have write access.
:54443297 Yeah. Normally, I ask first if they want access, but…
 
RGS
@Adám this looks really cool!
shoot :(
I completely forgot about the BAA seminar...
 
It'll be published eventually. I was actually just about to add it to the APL Wiki.
 
RGS
It's always nicer live; I even wanted to join in a couple of minutes earlier... oh well :/
 
 
4 hours later…
RGS
9:02 PM
@Adám what is the difference between doing (⌈/)¨ and (⌈/⊃)⍤0⊢ when my arg is a vector of vectors?
e.g. (1)(1 2)(1 2 3)
 
@RGS The latter will mix the results. and ⊂∘f∘⊃⍤0 are equivalent, as are ↑f¨ and f∘⊃⍤0.
 
RGS
@Adám then what is the difference between those two..? f¨ looks cleaner... the point is, I'm trying to avoid "loops" as much as possible and ¨ screams LOOPS all over the place.
But using ⍤ instead of ¨ might feel like cheating a bit
 
@RGS There is truly no difference between and ⊂∘f∘⊃⍤0. The reason for using is that it allows you to work on flat (non-nested) arrays where optimisations, like vector processor instructions and immediate allocation of result memory, can be used by the interpreter.
 
RGS
@Adám thanks for the explanation, it makes some sense
 
@RGS Your problem here is the argument; it is already nested. If instead you could use 3 3⍴1 0 0 1 2 0 1 2 3 then ⌈/ would give the same result, but much faster.
 
RGS
9:10 PM
@Adám my e.g. was a simplification, not sure if I can do something analogue to your 3 3⍴1 0 0 1 2 0 1 2 3 but at least I've got some more food for thought!
@RGS woops, turns out I can :D
ty @Adám :)
 
@RosLuP Long time no see!
 
9:28 PM
yes, hope to return to write some program, the one chess like in assembly… but i fear someone can hack and see the code thru the wi fi even if is off….
the old computer has memory burn
all new computer has wi fi
how are you? here i think good +-.
 
Working from home. All well.
 
> fear someone can hack and see the code thru the wi fi even if is of
elaborate?
 
it is possible all is possible, the pc see what i write and send the program in one ip address using wi fi
you believe is not all hacked?
 
no im just confused what your setup is and what your opponent is
 
the first program was min max function
 
9:38 PM
state actors can likely get ahold of anything you do
and if they cant they can just.. ya know... ruin your existence.
 
for tic toc toe… it game better of me win always
 
but i sortve believe in "reasonable security" against non state actora
 
i never be naiv, i think all the worst possible….
now i would write a score function and i have end, because i have the chess board how read write in chess board… but is difficult...
 
RGS
10:37 PM
Is there a link just to the pdf with this year's phase 2 problems?
The obvious modification of last year's link didn't work
 
11:29 PM
@RGS no. I suggested having one, but could not give enough justification. Do you have a good reason?
 
When errors are corrected, I don't have to manually download the pdf each time
 
@H.PWiz excellent. I'll forward that
 

« first day (1212 days earlier)      last day (1448 days later) »