« first day (1307 days earlier)      last day (1346 days later) » 

RGS
12:01 AM
If someone feels like it, you can golf this : B ← (+/⌽⍤⊢×⊣÷⍨(×\⊣⍴⍨⍴⍤⊢)). This is my APL translation of the obvious extension that implements. Instead of erroring out when the "digits" on the right are equal to or larger than the base on the left, it just evaluates a polynomial whose coefficients are given by the right argument
Tomorrow I'll write down why this polynomial solves the Excel columns problem
 
 
2 hours later…
2:08 AM
@Adám Thanks Adám !
 
 
1 hour later…
3:37 AM
hi thereee
@dzaima I'm gonna follow the processing instructions from yesterday
 
 
4 hours later…
7:26 AM
79
Q: Telescopic Parentheses

Martin EnderConsider a non-empty string of correctly balanced parentheses: (()(()())()((())))(()) We can imagine that each pair of parentheses represents a ring in a collapsed telescopic construction. So let's extend the telescope: ( )( ) ()( )()( ) () ()() ( ) ...

This question looks like it needs an APL answer
Taking this test case
((()))(())
then this should probably be generated
1 0 0 0 0 6 7 0 0 10
0 2 0 0 5 0 0 8 9 0
0 0 3 4 0 0 0 0 0 0
then it shouldn't be hard to create the required pattern
Idk if theres a way to do this with regex
 
@Razetime there are good other types of solutions; my best is 25 currently, but it feels plenty golfable still
 
7:42 AM
oh, unsubmitted?
 
@Razetime i just wrote it
 
wow
how
 
there have been occurrences of talking about parenthesis stuff here (if not the same exact question)
 
that was really quick lmao
My algorithm game hella weak
 
@Razetime 14 minutes is not that quick :p
 
7:45 AM
it is quick for mere APL mortals XD
 
(down to 23 by cleaning up signs) hint: +\ (i also use , in both arities)
 
I'll take my time with this
 
@dzaima (i'm still somewhat sure a different algorithm could be a couple bytes shorter)
 
there's always a way to shorten it eh
 
8:06 AM
@dzaima I'm still not halfway through 'Mastering Dyalog APL' so I haven't encountered the uses of these yet
 
8:18 AM
@Razetime @dzaima I have 22 bytes in Dyalog 18.0
 
lol bubbler as usual
 
@Bubbler that is awesome
(i had this)
 
 
1 hour later…
9:20 AM
@Bubbler Golfed to 20: Try it online!
 
RGS
9:31 AM
@Adám I think I got a nice way to explain my reasoning for P3 Phase 1, just tell me something; is it a given that ⊥ works like B ← (+/⌽⍤⊢×⊣÷⍨(×\⊣⍴⍨⍴⍤⊢)) or would I have to go over that as well?
 
@RGS That is indeed its definition for a scalar left argument and a vector right argument. Btw, isn't ⊣¨ simpler than ⊣⍴⍨⍴⍤⊢?
 
RGS
@Adám yes ofc :P
 
@RGS Also, since you anyway have a parenthesis due to ×` you don't need the ⍨`.
 
RGS
So columns in Excel are ordered as such: first they are ordered by length, so that a column with a 2-letter name always comes before a 3-letter column, and then they are alphabetically ordered, so the columns can be enumerated as A, B, C, ..., Z, AA, AB, ..., AZ, BA, ..., ZY, ZZ, AAA, ...;
What we want is, given a column name, determine its position in this list. For that, we are going to count how many columns appear *before* it and add 1. The way we do so is by working from the leftmost letter in the column name to the rightmost one. For the sake of brevity I will take a specific example
Does this make sense? Because that is basically it.
Oh look, @Arnauld is here; do you program in APL?
 
9:51 AM
Nope :)
But I'd need help about this answer.
 
@Arnauld What about it? You want it explained?
 
I'm not sure it's properly scored / defined.
 
Hm, it looks like 49 to me.
 
So, 54 chars. minus golf←?
 
Yes.
 
9:54 AM
Ok, thanks. :)
 
ngn
what encoding does it use?
 
Could it be improved by removing golf← somehow so that the correct char. count is claimed?
 
@Arnauld You're very welcome. Are you sure I can't offer you a personalised intro to APL?
 
RGS
@Arnauld experience tells these ^ are great
 
Thank you for the offer. Maybe one of these days.
 
9:56 AM
@ngn Good question. OP should clarify that.
 
Cool. Maybe you can post a comment to explain the OP why this is the best way to format the code?
 
ngn
the score is wrong
 
@Arnauld Sure. Done.
 
ngn
if it uses sbcs, it can't have those chars in the string literal. if it uses utf8, it's well more than 50 bytes.
 
@Adám Great. Thank you.
 
10:00 AM
@ngn Right.
 
ngn
10:10 AM
@ngn anyone trying to solve this? hint: do the usual multiplication (let's say big-endian). while length>8: if the first bit is 1, xor the modulus with a prefix on the current result. drop the first bit (which is now definitely 0). endwhile
@Adám is the first char guaranteed to be (? if yes, i can improve that
 
@ngn Yes.
 
ngn
⍉⊢↑⍤0⍨⊃(≠-⍨≠+\⍤-=)⊢ (and that can probably get shorter)
 
Of course!
 
10:37 AM
@Adám HOW
 
10:50 AM
@Razetime Do you actually want it explained, or are you just expressing awe? :-)
 
both lmao
 
OK, I guess we should take ngn's further golf, then, ⍉⊢↑⍤0⍨⊃(≠-⍨≠+\⍤-=)⊢
On the far right, we have a fork, which is function applied to the results of two function applications, like (f+g)(x) where f is and g is and the "+" is (≠-⍨≠+\⍤-=)
is First, i.e. it gets the initial (
is the identity function, so it just returns the argument as-is.
Then we have the train inside the parentheses. It may be easier to spot the structure with some spacing: ≠ -⍨ ≠ +\⍤- =
= is the Boolean vector where the First, i.e. ( is equal to the argument.
is the negation of that.
So we subtract the equal from the unequal and apply the running sum +\ on that.
Then we subtract the unequal vector from that, with -⍨ meaning "subtracted from".
↑⍤0 pairs up rank-0 subarrays, i.e. scalars, from both its arguments, and takes the given number of elements from the right, padding with spaces for a character right argument. simply puts the arguments into the right positions (amount on left, data on right), and means that we're taking from the (scalars of the) original argument.
Since this gives us a bunch of rows with one non-space per row, we transpose with .
@Razetime Clear(er)?
 
11:12 AM
yes sort of
I'll have to run this blow by blow
 
@Razetime It may help to execute each step separately. Try it online!
 
@Adám yep, that's exactly what I meant by "blow by blow"
 
Oh. :-)
 
I've been saving a lot of workspaces with APL golfs executed line by line
Still haven't gotten used to the right-to left reading XD
@Adám that is even better than what I was trying
 
@Razetime I'm not sure what you mean by that. Beware that the log of what you've typed isn't saved with the workspace.
 
11:26 AM
You know the APL answers with explanations
I just copy paste the explanations into text files
didn't know that ⎕← printed stuff
that would make it simpler to see each step
 
@JKR Hi there. Interested in APL?
 
@JKR
Welcome, JK Rowling
 
Welcome, JoKeR
 
@Razetime Fancy automated version:
_T←{⍺←⊢ ⋄ ⊃⌽⎕←⍺(⍺⍺{⍙←⍺⍺ ⋄ ' ' '⍙' '∇_T'⎕R''⍕⊂⎕OR'⍙'}⍵)⍵'─→'(⍺ ⍺⍺ ⍵)}
(⍉_T⊢↑_T⍤0⍨_T⊃_T(≠_T-⍨_T≠_T+\_T⍤(-_T)_T=_T)_T⊢_T)s
(While the second line looks messy, it is simply _T inserted after every interesting function.)
(I wonder if that could be automated.
 
the first line is the snippet turned ito a bunch of dfns, correct?
it looks so beautiful
 
11:38 AM
@Razetime The first line is a utility operator which prints what's going on, while it happens.
 
so wait
a negative number used with take ↑ prepends spaces to a character?
 
It takes that many characters from the rear, padding with spaces if necessary.
( always pads with the appropriate padding. For numbers, it uses 0, for arrays of number pairs, it uses ⊂0 0.)
 
all the operators have some strange golf usable hidden feature lol
 
12:13 PM
@Adám Is it known that all names of the Almighty can be expressed with the letters A-Z? That is interesting, the idea that "numbers don't start with leading zeros" has been in my head for ages, seeing that with the bijective mapping ideas ... I definitely got the short answer to Question 3 by expecting it to be a short answer without understanding the details.
 
12:55 PM
How To Send Email 12times to same Person.. any extension, automated way..instead of manual
 
@HinduKid Wrong room?
 
Ok..Which Room to ask
 
@TessellatingHeckler Well, maybe א‎ through ת though one may need to put all combinations of the 10 vowel markings with them.
 
@user41805 I'll see what I can dig out and revive. A lot of the front-end/API was written by one of our ex-developers, Callum. He left a little while ago, but I should be able to get it running if I can find it all :) Glad to hear you enjoyed the site/competition, though. I also found it extremely useful as a learning resource.
 
1:12 PM
@HinduKid Maybe this one or maybe post a question on its main site?
 
@Adám Thank You
@Adám Bye Bye
 
1:58 PM
I have a vague memory of some "broken keyboard" programming problems, i.e. replicate the key operator using other primitives, etc. Is there a set of these anywhere?
 
@JamesHeslip Yeah, those used to be classic in APL circles. It'd be fun to make/compete for a list of shortest replacements (as snippets that can be inserted in an expression and as proper drop-in functions/operators).
 
@Adám Right? Just searching on Google is giving me nothing, though.
 
My father used to drill me with some of those.
 
RGS
@Adám well, we already have one for ⊥ :D where could one compile those?
 
@RGS It would actually be appropriate as a language-specific code golf.
 
RGS
2:02 PM
@Adám you mean like a big APL-only code-golf challenge over at ppcg?
 
Yeah.
 
RGS
I wouldn't mind posting that ⍥ should I get to it?
 
@RGS You definitely want to sandbox it first.
 
RGS
@Adám sure
 
@Adám what do you use to edit the .tsv file for APLCart?
 
2:08 PM
@TessellatingHeckler I personally use Notepad++ with the Elastic Tabstops and BetterMultiSelection plugins.
 
@Adám That sounds like it would look good, better than default Notepad++
 
 
1 hour later…
3:32 PM
Did anyone tried building a language that plays with the idea of a trailing axis model? I find it slightly irritating that |."1 is faster than |., while I would organize my data so I can use the latter.
 
@xash That'd require the rank operator to "stop" functions for reaching any further. Take for example monadic (enlist). It'd require Rank to somehow mark some trailing axes, and their contents, as atomic. I can't quite envision how that'd work.
 
Yeah, implementing a leading axis system is definitely more straight-forward. But I guess I'd like to tinker with the idea, so maybe someone has already tried to work something out.
 
I agree that trailing axis often is the most intuitive application of a non-scalar function, and maybe even a scalar one (trailing axis agreement, which, IIRC, J had originally, and which NumPy has, I think).
@xash Maybe it could be done "magically" so that Rank didn't just blindly apply its operand but rather changed a default setting, like APL's and J's !. do. The default would be 1 or 0 depending on the function, I guess, but could be overridden with Rank.
 
finally started reading a bunchve of BQN spec + docs and the thought process finally "clicked". want to test it out more now that it looks like a vim keyb got added to the repo. want to potentially mess around w/ porting a bytecode interpreter to a diff runtime. self-hosted languages are very powerful.
 
made something to decode the TIO.run links in the table.tsv from aplcart and I think some of these are errors in the data
@Adám e.g. ↑Xv Yv … the TIO.run link is two tio.run links mashed together
 
3:47 PM
@cannadayr for your impl, see this for a simple vm (there may have been other important changes after that, but also the vm got more complicated for purposes of speed); also this for a little more info about the bytecodes
 
@TessellatingHeckler Second one there sure doesn't look right. Will you fix or shall I?
 
@dzaima thx, will probably start by porting some of my code to BQN to get a feel for it
 
@Adám probably easier if you do, I haven't got setup to submit a PR yet
 
i still want an APL on the beam ^_^
 
also updated (keeping the incorrect order of ×÷ because i'm too used to it, feel free to swap):
https://dzaima.github.io/paste/#01ZZbUxRHFMef3U/RIRdzQZnrzk4Qk92ZXbygooA3QnQhGA1yETCREFLEShnxFpNgQAtiTLSiVVT5ECrkIcnD8rgPfof5BPkI@Z/u3unDboGvAbaq/9v768ucc7rn39Iikvlbyfws@6xs/691n7uZFnrOq1@Kygq1r4jkwTck3hfJnTkSr4rk9kMSr4lk4Q8Sr4vkxiKJD8HcIPEGmDsk3oa4R@JNkTx8SuItiGckzojk@gMS74jk5jUShfLA0MRYeWAQWm/jrKguUWuLihztiKpcyRXJV3@R8ERySxK@qKxSmxXVZWoDIajJYZWfSISi8pxaSySzv5DYJdYXqG0T62vUitpfuvrSxtCsbozgdvxa93mso9xd7tcPflQk1@6TOCH@Xb4nU1hECmWAjlHXr5JH100Sp9SoHtXsRx18R@IIxPckOgH@TmIaPXLoDIQM/xcbY33VBP8SUvo3ic9o
 
3:52 PM
@TessellatingHeckler In progress. I also found the same issue by ∇∇.
 
@Adám That appears to be the only two I can see - where the TIO column has a link but I couldn't get any TIOCode from it
Here's a gist of the code gist.github.com/HumanEquivalentUnit/…
Windows only; open code in PowerShell ISE, edit the $tablePath string to point to the tsv file on your system, F5 run, cross fingers an Out-Gridview window should popup.
 
@TessellatingHeckler I get the Out-Gridview, but my TIOCode column is entirely empty.
 
4:11 PM
@Adám oops; try this revised version gist.github.com/HumanEquivalentUnit/…
It has Add-Type -AssemblyName System.Web at the top; (the editor had auto-imported into my session when I tab-completed the name, but the PowerShell runtime doesn't do that from just running the code)
 
@TessellatingHeckler ?J looks mangled, containing a stray "apl-dyalog".
 
@Adám They all have apl-dyalog as a cue to TIO which language to use, I'm hacking it out; that one is tio.run/##SyzI0U2pTMzJT///qHeugnNOZnK2wqPmuY/… it has code in the header and I guess that's different about it
 
@TessellatingHeckler Some have header (maybe even footer), and some use input instead of or in addition to code.
 
@Adám this shouldn't hide any of the code, except the language header; I wonder if it could indicate which field the code goes in
hrm, javascript appears to be able to do regex on byte collections because it stores them as strings, and TIO uses that
 
4:51 PM
Regarding the Excel column problem, my old production code does it for vectors of column names (vectors of vectors) in 28 chars, which I see now I can get to 24 with no problem. No doubt you golfers can do it in less.
Without an each of course.
 
@cannadayr Awesome! Feel free to ask me about anything that comes up, of course. I'm working on a NumPy version now. The main tool I use for early testing is src/cjs.bqn, which runs on dzaima/BQN and gives you JSON-formatted bytecode from source code. Try src/cjs.bqn "2+2" for instance.
 
And I do have the Go version lying around if you want to look at a statically typed VM, but it's pretty messy because Go doesn't have sum types.
@dzaima 1¨⚇ and 2˘⎉ are also swapped relative to what I use now, i.e. 1˘⎉ and 2¨⚇.
 
5:38 PM
yep ill be sure to bug y'all after I do more reading and let curiosity get the better of me. Hard to time stuff w/ job + responsibilities.
 
ngn
@Marshall i think you should do something about those double-width characters before it's too late
 
i almost wonder if you should just take over a little chunk of utf8 private block and implement your own charset
using existing chars as a starting point
 
@ngn I just don't have a replacement.
 
ngn
@cannadayr because everyone would have to install your font
 
yes but it would be your font
its a tradeoff for sure
like i said, pros and cons
i dont think its that bad for it to be ad-hoc at this stage
 
5:42 PM
@cannadayr i'd rather go with random characters & cover them with a custom font than use a private block
 
ngn
if we're going in that direction why not go all the way? :)
in the k tree, yesterday, by chrispsn
i wonder if there'd be benefit to assigning a numbering system to chars that's different to ascii
 
ahh so they can still be read (itll just be funky) vs something that requires a font installed
 
@ngn so, what all the golflangs (& Dyalog Classic) do?
 
If you have a monospace font that includes all the characters then they just work, period. The only other issue is that some of them don't fit in UTF-16, but that's just an implementation issue, and the encoding is slowly dying anyway since it's not good for all sorts of common characters.
 
ngn
@dzaima hm.. most of them are ascii-compatible, aren't they?
 
5:44 PM
@ngn some definitely aren't
 
it still limits you to the (admittedly quite extensive) utf8 charset. but thats probably fine for now. pragmatism is fine esp when its this new still.
i like distinguishing between symbol types using symbolic clues (capitalization, underscore, unbroken circle, superscript)
 
@cannadayr i mean, we're not gonna exceed 143k BQN builtins :p
 
ngn
@Marshall the thing is, people don't like installing fonts..
 
no it sucks.
 
Maybe devise an ASCII transliteration scheme for font haters?
 
5:47 PM
@dzaima (but yeah, in general it's nice to have some similar unicode chars)
 
ngn
@Adám apl had one. didn't catch on.
 
My stance is that I think replacements for the double-struck characters are much worse, and I don't think issues that are cosmetic and fixable justify changing them.
 
ngn
@Marshall nobody uses your language yet. change is free. but once you have users (i hope you will), you'll start feeling the burden of backwards compatibility.
even small inconveniences can change user behaviour dramatically
 
@ngn Yeah, and I'll wish I'd chosen decent characters instead of compromising for minor technical issues.
If potential users can get past the much larger keyboard issue, I think they can install a font or deal with a somewhat poor display.
 
ngn
6:05 PM
@Marshall btw, i was talking about double-width, which does include the double-struck letters, but also things like
in a terminal it overlaps with the character on the right
 
@ngn I think that's just because it's using a fallback font with different metrics. As far as I know there's nothing special about the character.
 
Here's a BQN spelling scheme à la Q: Mul/Sgn Div/Rec Pow/Exp Root/Sqrt Min/Floor And/SortUp Or/SortDown Span/Not Le Ge Ne/Len Match/Depth Shape/Natch Left Right Shape Join Couple/Solo Take/Pref Drop/Suf Win/Range Rot/Rev Axes/T BinUp/GradeUp BinDown/GradeDown Sel/Head Pick/First Io Count/Pio In/Uniq Find/Dedup Group _self/_swap _a_ _o_ _b_ _q_ _u_ _v_ _c_ _r_ _r1 _d_ _d1 _t _p _p1 _f _ff _s \def \red \ret ; \< \> \_ \. \o \w \W \3 \pi \inf
 
ngn
@Marshall afaik it's not a question of font. unicode defines some code points as double-width, and a terminal may decide to do the "right" thing and allocate two little rectangles for such a character, regardless of how wide a glyph your font renders.
(i'm not sure if that's the case with bqn's chars. it may or may not be.)
 
@ngn i don't think it is. gnome-terminal shows with a width of 2, but (or any other chars i've used), while overlapping the next char, has the width of 1 char
 
ngn
this is what i see:
 
6:15 PM
Per unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt, inverted lazy S is narrow (;N).
 
ngn
 
Hmm, Gr is badly kerned...
 
So is Fi
> F indG roup
 
ngn
this is a terminal using a monospace font
 
is definitely not widely supported, but on the other hand I think it's absolutely the best character for that function.
It's not in DejaVu Sans Mono for example.
 
ngn
6:18 PM
@Marshall tbh, idk what font it is. it's the default mono on debian+xfce.
 
@ngn Your rendering is thicker than mine, but I can't distinguish if from DejaVu, so that's probably what it is.
This is the extension of DejaVu I made for BQN2NGN. It's a little clumsy and missing 𝕊𝕤𝕣, so I plan to do another version later.
 
ngn
@Marshall but maybe i'm one of those lazy users who wouldn't bother to install a font just to look at a couple of files :)
 
the upper case dbl struck chars and ↕↩⟜ give me the most display annoyances
 
@Adám here is a version which adds HEADER/CODE/FOOTER/INPUT sections to the code; ?J is a lot tidier with this.
 
oh im lazy too, but ill just point out that the original APL didnt limit itself to glyphs that were immediately available (altho it did use a lot of double struck characters like ⍋⌹ etc). getting its own utf8 territory happened later
 
ngn
6:29 PM
 
@TessellatingHeckler Nice.
 
@ngn But maybe you're not one of those lazy users? Some of my characters definitely take up more space than they should even if they technically fit in the bounding box. There's like a third of a pixel gap between ∾𝕨 even in my terminal. I can probably do better next time.
 
ngn
i did it for science :)
 
@cannadayr Websites converting ↕↩ to images is definitely annoying. Looks like ⬆↗➡↘⬇↙⬅↖↕↔↩↪⤴⤵ are all technically emoji? But so are lots of other characters like ©.
 
utf8 feels like a protracted land war sometimes
 
6:45 PM
@cannadayr Just Unicode, UTF-8 hasn't changed since 2003.
 
I think Unicode is really good, except for the emoji nonsense.
 
consistency? who needs that?
 
ngn
@cannadayr i do
now i don't
 
i meant regarding emoji rendering
each platform seems to want to add their own "quirks" to their rendering
or claim characters that werent really theirs
 
Come on, if you write a WHITE CIRCLE (⚪) you are obviously asking for emoji output.
 
6:55 PM
Does anyone not want 🤏 for pick, or 🔄 for rotate, or ⏳ for a timer or delay?
 
^ pick doesnt event display on osx (catalina I think)
 
its annoying cuz characters are probably the least interesting part of writing a new language but also important
 
But J also has all sorts of trouble with :) being rendered as a smiley. Basically, message systems are not suitable for code.
 
reminds me of a CTF challenge where you had to implement various tasks of increasing difficulty in a custom emoji based ASM variant
 
7:03 PM
The benefit of using only emoji would be that font and keyboarding would be already solved on modern systems.
 
And if you only use animal emojis, you can look at animals all day. Only benefits. :-)
 
ngn
cat for catenate, donkey for assign
 
Donkey for Assert!
 
ngn
donkey also for key
 
No, that's 🗑️ or maybe 🚮 or 🧺 (bin)
 
RGS
7:48 PM
There's 13 people in this room (excluding the bot) and there is no event going on right now. This room is becoming more popular :P
 
maybe hopefully soon there might be a few more depending on if I can get my classmates who do CS interested haha, was APLing on my laptop and some people asked what I was doing, small steps!
 
RGS
@rak1507 awesome! what level CS students? Maybe a small intro workshop is due
 
Very low level (16 year olds)
 
RGS
@rak1507 cool; what type of CS class are they/you taking?
 
higher, which is like a bit easier than A level if you know that system
 
7:53 PM
@rak1507 RichardPark visited such classes a few times, giving them intro workshops. It went rather well. One even exclaimed "I'm not going back to Python after this!"
 
@Adám That sounds nice right now...
 
RGS
@rak1507 nope, no idea what you are talking about! What kind of things are you being taught?
 
Oh cool, maybe that could be a possibility!
 
ngn
@RGS i'm here to troll. k is better! :)
 
RGS
@ngn you are an active troll, then; and you contribute too much for a proper troll
 
7:54 PM
@RGS sqa.org.uk/files_ccc/HigherCourseSpecCompSci.pdf here's the course spec, it's all basic stuff really
 
@Marshall :-) You remember that it was before this whole thing…
 
@Adám I meant the not going back to Python part.
Choose in BQN: ◶ ← {𝕨((𝕨𝔽𝕩)⊑𝕘){𝔽}𝕩}
Choose in Python:
def choose(f, g):
    if callable(f):
        return lambda x,w: call(pick(g, call(f, x, w)), x, w)
    else:
        return pick(g, f)
 
@Marshall Oh. Haha.
 
I prefer the second one :P
Now what is going on there, call takes 3 arguments? What even is call()
 
@rak1507 Yeah, it's not that bad. The bigger problem is that numpy doesn't really like the concept of a rank-0 array and will unbox it pretty much whenever it shows up.
 
7:58 PM
@rak1507 Hold on, it is a single character in BQN. Marshall was just giving its definition had it not been built in.
 
def call(f, x, w=None):
    if x is None: return x
    if not callable(f): return f
    return f(x, w)
 
Oh right
what does that character even do
 
RGS
@rak1507 I think it "chooses"?
 
Well I had got that far, but chooses what
 
It's basically just an operator form of Pick (). So it picks from the right operand based on the left operand. The one difference is that the left operand is evaluated on the arguments before doing this.
 
8:01 PM
I will uh take your word for it
 
RGS
@rak1507 I was joking with you, I am also at a complete loss of what it does
 
Ah haha
 
So for example <◶⊢‿⊣ gives the minimum of two numbers, because if the left argument is smaller < returns 1 and it chooses element 1 of ⊢‿⊣, or . Otherwise it returns 0 and chooses (index origin 0, of course).
 
All I see there is a smiley face
min(x, y) :p
 
Or x⌊y. That was just an example.
 
RGS
8:04 PM
@Marshall Ah I see
 
Yeah, seems like an interesting feature
 
RGS
So you can use that for conditional application of different functions?
 
I'd use for conditional application. This is more to choose between two or more pathways.
 
@RGS For strictly conditional application you'd use , which is like the APL Power operator . Choose is like a combined if-else and switch-case operator.
 
Fascinating, seems like a cool language
 
RGS
8:07 PM
Adám, Marshall: yup I understand, ty
@Adám did you get the chance to have a look at my "explanation" as for why I submitted 26⊥⎕A∘⍳ for P3?
 
Damn that's a nifty solution
Wish I knew about tacit programming when I did the competition, all these dfns are making my eyes bleed
{∧/(state ⍺) ∊ (state←{(bits×2*⌽¯1+⍳≢bits←2(⊥⍣¯1)⍵)~0}) ⍵} that is just the most repulsive code I've ever seen
 
@RGS No :-(
 
RGS
@Adám Don't worry, just checking in. For future reference, here it is; also just found out that the search functionality kind of sucks when you want to search longer messages
 
Ah, right, I got caught up in the whole debacle about MBaas' answer. Thanks!
@rak1507 That's actually pretty good.
 
8:25 PM
Not compared to ∧/(≤/2⊥⍣¯1,)
 
RGS
@rak1507 wow
when compared to this tacit solution and your dfn, my solution is trash ⍥
 
have you published yours anywhere?
 
RGS
@rak1507 yeah I have
You can skip the prose and look for white rectangles with code if you'd like
phase 1 is packed together and then 1 rectangle per phase 2 problem
 
Your p7 is at least readable
I like it
haha
 
RGS
9:05 PM
@rak1507 :)
 
RGS
10:04 PM
Anyone know what tomorrow's APL Cultivation is gonna be about?
 
 
1 hour later…
11:05 PM
      (⎕CSV⍠'Separator'(⎕UCS 9))'c:\sc\aplcart\table.tsv'
DOMAIN ERROR: Invalid field format in record 1326, field 1
 
11:25 PM
That's the same row Github complains about; defaults to looking at the " as field quotes, looks like. Variant no quoting fixes that.
 
@TessellatingHeckler yeah, the custom tsv parser for the site assumes quotes are just regular characters
 
@dzaima that probably saves a lot of escaping issues
 
@TessellatingHeckler but also breaks many tools
 
11:57 PM
@TessellatingHeckler and here's a TIO link decoder with the parser in CSharp which runs about twice as fast, although the dominant time is out-gridview loading the data so overall it's no better.
 

« first day (1307 days earlier)      last day (1346 days later) »