« first day (452 days earlier)      last day (2209 days later) » 

9:49 AM
@Adám that isn't really an APL question though, it's mostly R or something
 
@EriktheOutgolfer The bulk part of the work there is actually recognising closest matching substring from a set. So probably a neural network is required… Still, it is an unanswered SO question which is tagged .
 
@Adám hm, although I'm not sure if I can answer that, I don't know R
Adam.. yes i am a born APL programmer.. just wanted to to know any better solution which I can use R interface through APL !! — Adarsha Murthy Mar 18 at 10:16
sorry, should've been more clear, questions that pique my interest
 
sup? <-- my first word in this chat channel. 11101011oneone nerdy nerdy :-)
 
@EriktheOutgolfer Well, despite being tagged with both and and , two of the most popular languages, it has received very little attention. I'd attribute it to being an "impossible" problem, but then again, it has very few views, so I'm not sure what's going on. The R-connection is the least of the problems — Dyalog APL has a library for that.
 
@Adám well, I want an MCVE at least, as requested :P
 
10:00 AM
@Stormwind Whoa, Tomas?
 
yaya, adam :-)
 
@Stormwind Welcome to my humble online APL abode. I'm so happy to have someone of your calibre be here!
 
Idler, and i never turn off this compu, so from now on i'll be here always
thx, u2. This is much better that the other team thingy that required deep registrations
In fact, i was toally unaware of this place. Happened to notice at dyalog.com drop-down menus
 
@Stormwind That's great. We need more experienced people in here to answer questions. Morten is ramping up his presence here too, which is of course great.
 
sounds good
 
10:03 AM
@Stormwind Cool. Good thing we got them on there. Do you want a tour?
 
well sure!
I think some marketing of this place would be useful
coders like to idle in chats :-)
I'll distribut a link to colleagues here
 
@Stormwind It isn't very complicated. All APL related topics are fine in here. Type @ and begin writing a user name to "ping" them. Hover over the right hand side of a message to reveal an angle arrow . Click on this to both ping and indicate that you're responding to that specific message. This lets others see what was a response to what, when they read the transcript.
@Stormwind Great!
 
@Adám
 
@Stormwind You can format phrases in monospace font by enclosing them in backticks: ` and you can make an entire message formatted like that by prefixing it with four spaces.
 
┌───────┬──┐
│aa │b │
├───────┼──┤
│ccccccc│dd│
└───────┴──┘
hm.. hehe
 
10:10 AM
@Stormwind Evaluate APL statement(s — use diamonds!) by prefixing them with ⍞← (single line results, no boxing) or ⎕← (optionally multi line results, boxing on) or ⋄ (like ⎕← but suppress output of first statement).
⎕←2 2⍴'aa' 'b' 'cccccc' 'dd'
 
@Adám
┌──────┬──┐
│aa    │b │
├──────┼──┤
│cccccc│dd│
└──────┴──┘
 
⎕←┌───────┬──┐
│ccccccc│dd│
└───────┴──┘
 
@Stormwind
SYNTAX ERROR
 
Help link/page for syntax somewhere here?
 
@Stormwind While you can post multi-line statements, the APL bot only understands one line at a time and does a )clear in between lines.
@Stormwind Yes, ask the bot:
)about
 
10:14 AM
@Adám You can evaluate a single line of APL by typing it into chat prefixed by ⍞←. Use ⎕← instead for boxed display and multi-line results and use ⋄ instead to silence the first statement. Do not use markdown, but fixed-width (4 initial spaces) is fine. Commands: )lb for language bar, )help for table of language elements, )docs for full documentation, )ref for PDF reference card, )idioms for idiom list.
 
evaluate... u meanhere is an APL backend? :-)
 
@Stormwind Yes, it runs a full (not like TryAPL!) Dyalog APL 16.0. You can do almost anything:
⎕←# ⎕WG'APLVersion'
 
@Adám
┌────────┬────────────┬─┬───────────┐
│Linux-64│16.0.31812.0│S│Development│
└────────┴────────────┴─┴───────────┘
 
@DyalogAPL Hm, let me give you user command support.
 
⎕←1 4{{(⍵+.×⍵)*0.5}⍺-⍵[2;]+v×((⍺-⍵[2;])+.×v)÷v+.×v←-⌿⍵}2 2⍴0 0 8 8
 
10:21 AM
@Stormwind
2.121320344
 
whoa!
 
#tio alias command ] {0::⎕←⊃⎕DM⋄⎕←⎕SE.UCMD'%args%'}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'
 
@Adám Added alias for ]
 
@Stormwind Add four spaces to the front of your message to make it look better.
]settings
 
⎕←1 4{{(⍵+.×⍵)*0.5}⍺-⍵[2;]+v×((⍺-⍵[2;])+.×v)÷v+.×v←-⌿⍵}2 2⍴0 0 8 8
 
10:22 AM
@Stormwind
2.121320344
 
font... k. excellent!
 
]version
] version
@Stormwind It will work for most things. You can't make it open network connections, and it seems to have problems with spawning APL threads, but to demonstrate normal things to people, it is most excellent.
 
Ya, don't dig too deep on that side! Chats are mostly simple. But this is really a cool approach Adám, good w0rk! :-) Takes APL a bit closer again.
/me says <- test
nah. ok :9 (old IRC would have changed into Stormwind says..)
 
@Stormwind Well, this is Stack Exchange chat, not IRC.
 
true. haven't been using SE/SO chats b4
SE is imo one of the good sites in this world. Tight behaviour and fair moderation
out of the users' own will. Which is mandatory for anything that shall work well.
 
10:34 AM
@Stormwind Yeah, I agree. I'm also militant in here about moving off-topic conversations to trash or appropriate rooms.
 
ya well.. i don't think you will have much work on that side, APL guys are rather self-moderating heh
(except me)
lol
 
10:47 AM
Bah, SE won't honor a new profile pic into this channel..
 
@Stormwind If you've asked to apply your changes across the network, it can take some time. Blame caching.
 
ya, i thought the same. i did select across. maybe tomorrow..
 
@Stormwind Refreshed, courtesy of trichoplax.
 
11:03 AM
aye, thx 2 u both
(that's my desktop icon for starting the APL interpreter :-))
Damn... came to my mind - Simcorp. Bah, confuses.
Should be "Sto" :)
 
ngn
wow, it is the Mr Stormwind?
 
I once considered "SS". But, but ... heh
schoor, .. någon?
 
ngn
@Stormwind glad to have you among is in this chat, sir
 
u2 ngn, hm where r u, east, west?
 
ngn
@Stormwind I guess that would be south-east from you - Bulgaria
 
11:09 AM
Ah, exdcellent. No, actually Bulgaria is straight down, i think lol
GMT+2
as here
 
#tio view
 
Feels evereything the Dyalog guys do just gets so technologically auperior always. Sometimes feels i'm just too dumb. Goes for other finnish APL users as well. It's only Veli-Matti uses all the new features.
 
No session found for @Adám
 
#tio alias view
 
@Adám
Command Aliases:
⍞← -> #TIO do apl-dyalog {0::⎕←⊃⎕DM⋄⎕←%args%}⍬
⎕← -> #TIO apl {0::⎕←⊃⎕DM⋄⎕←%args%}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'
⋄ -> #TIO apl {0::⎕←⊃⎕DM⋄%args%}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'
] -> {0::⎕←⊃⎕DM⋄⎕←⎕SE.UCMD'%args%'}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'

Language Aliases:
apl-dyalog -> [apl]

Message Aliases:
)help -> %handle% [Dyalog APL Language Elements](help.dyalog.com/16.0/Content/Language/Introduction/…)
 
11:15 AM
#tio alias command ] #TIO apl {0::⎕←⊃⎕DM⋄⎕←⎕SE.UCMD'%args%'}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'
 
@Adám Added alias for ]
 
]version
 
@Adám
 Dyalog  16.0.31812 64-bit Unicode, BuildID 5b887e36
 OS      Linux 4.15.13-300.fc27.x86_64 #1 SMP Mon Mar 26 19:06:57 UTC 2018 x86_64
 SALT    2.701
 UCMD    2.2
 .NET    (unavailable)
 WS      16.0
 
@DyalogAPL Yay!
#tio alias view
 
@Adám
Command Aliases:
⍞← -> #TIO do apl-dyalog {0::⎕←⊃⎕DM⋄⎕←%args%}⍬
⎕← -> #TIO apl {0::⎕←⊃⎕DM⋄⎕←%args%}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'
⋄ -> #TIO apl {0::⎕←⊃⎕DM⋄%args%}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'
] -> #TIO apl {0::⎕←⊃⎕DM⋄⎕←⎕SE.UCMD'%args%'}(⎕NS⍬).⍎'⎕CY''salt''⋄⎕SE.UCMD''←box on -f=on -t=tree''⊣enableSALT⋄⍬'

Language Aliases:
apl-dyalog -> [apl]

Message Aliases:
)help -> %handle% [Dyalog APL Language Elements](help.dyalog.com/16.0/Content/Language/Introduction/…)
 
11:18 AM
User commands are going to be so much better in 17.0, which will then improve the chat bot too. I expect ]help ⍣ to give you the url for help on .
 
ngn
@Stormwind UTC+3 at this time of the year
 
@ngn correct. Finally, this winter was longer than earlier. Tme anomaly probably.
 
 
2 hours later…
1:12 PM
When watching Morten's webinar about cloud computing/distribution, some analogy to processing a numerical task on the GPU comes to mind.
- The units (cloud CPU's or GPU "subprocessors") are completely unaware of each others' timing and individual results
- Both are inherently parallel
- They output the result to a common place (screen or the APL that distributed the task)
- In both cases, the transportation of data is very expensive
(In the GPU case, the trasportation from/to the CPU is expensive)
But there are significant differences:
- The GPU outputs it's result to a memory that is nearby (video memory) but yet common, where it sits until asked for by the CPU. In the APL cloud case, there is no such memory, the common memory is at the very start end.
- The GPU has a two-stage calculation (first the vertex shader, then the pixel shader). Both are parallel, but the vertex shader may or may not re-shape the whole thing.
Leading me to think that in order to make the cloud computing really efficient, there should be
- knowledge of the transmission speed between the individual cloud CPU's
- an intermediate (common or partially common) memory bank where the CPU's could output their results, in order to:
- have it handy there for further calculations
The final result should be grabbed back only when the entire calculation is fully completed. As long as it isn't, it should (by som weird autoomation) be able to reside in the cloud.
*Adding to the very beginning:
- All cloud CPU's and all vertices/pixels execute an identical piece of code. All have the same data handy. In the GPU case, there is an external coordinate system that allows the pixel to perform a fn(where am i?). But the cloud CPU doesn't have that, though it may have for example a rolling serial number etc..
So to make cloud computing even more efficient, the environment should be able to denote which peers are nearby and efficient in "local" data transmission. Then an initial split of the data should be sent to that group, where it manages further distribution autonomously.
*peer are nearby each other
... which was the case in the Amazon park, most CPU's were probably on the same copper almost -> very efficient comm locally, but not as efficient if each CPU individually talked to the external "master APL".
 
1:36 PM
@Stormwind I doubt the Amazon "CPU"s (they are likely virtual) are on the same copper (silicon?). Rather, that defines the difference between cloud computing and a super computer. Both consist of a very large network of computing units, but the supercomputer guarantees fast interconnect.
 
Well, but if they reside in the same server park, the should talk much faster to each other than if theu were distributed all over the continent
and if they are in the same unit (CPU cores), then they are quite fast :)
to talk between each other.
 
@Stormwind Why? The actual transfer speed is negligible (200000 km/s), it is the handling which takes time. Supercomputers cannot rely on standard network protocols.
 
I wonder if Morten actually benchmarked this (calc vs. transport). He didn't mention any numbers.
only said "a significant number of packets using conga" or likewise
 
@Stormwind Why don't you try it locally? It surely won't go any faster than that in the cloud.
 
@Adám btw I tried to download FinnAPL, but it looks like FREEAPL is incompatible with my PC
 
1:48 PM
Nono, the cloud is already much faster, no doubt. Just considering ways to continue. I am talking about further "slotting in by encironment capabilities"
 
@EriktheOutgolfer "Download FinnAPL"‽
 
@Adám wait, is that FREEAPL.EXE file an interpreter or not?
 
I think it's a veeeery old one :-)
 
@EriktheOutgolfer It is an ancient mashup of APL+PC version 10 with some "documentation" (more like reference card) from some demo thingy. Needs 16 bit DOS.
 
@Adám good luck typing in it then :/
 
1:53 PM
@EriktheOutgolfer That shouldn't be a problem, it handles input on its own, and the layout 95% identical to Dyalog's.
I still miss certain features of APL*PLUS's IDE.
 
@Adám yeah, just a couple or more decades different I guess...
@Adám I guess that's something from the seventies right
 
@EriktheOutgolfer I last used APL*PLUS/II 385 from '92. But I think only and maybe were in different locations.
 
@Adám btw it might be possible to run such an interpreter if you install DOSBox or something, but then again I'm not sure if that's enough for 16-bit
 
or maybe find an old Windows 95 and install on a partition?
(i wouldn't :-))
The Dyalog IDE's way to always take session texts down to lowest areas is a bit of a violation against Windows membership. Somewhat weird, but one gets used with it.
 
@Stormwind virtual machines exist for that purpose...
 
2:00 PM
schoor!
ONE thing though, that i've been waiting for and still are: The vertical splitter in the Dyalog APL explorer window. I always have to move it 1-2 cm right. Doesn't get saved.
I've done that 3.14 million times
 
Here's what I miss (what I can think of off hand):
∘ primitive-by-primitive tracing (with inspection of their arguments and what the result will be)
∘ macro recording for F-keys
∘ ability for the editor to toggle type between function, char-matrix, and vector-of-char vectors
∘ editor could edit numeric scalars, vectors, and matrices
∘ ⎕SOUND and ⎕BEEP
∘ Ability to clear screen (⎕CLS, I think it was)
∘ Ability to continue execution beyond ⎕CLEAR and ⎕LOAD
∘ ⎕XLOAD
∘ The system function to extract "public" comments (specially marked comments meant for people to access for documentation)
@Stormwind I use floating editor windows. I can't stand that docked stuff.
 
well me too, the explorer is autonomous
 
@Adám "Ability for editor to remain open beyond ⎕CLEAR/⎕LOAD" can't you type ⎕CLEAR in the Dyalog IDE without closing it?
 
and has a vertical splitter between the tree and list
Valid points Adám! (I like the ⎕CLEAR!)
 
@EriktheOutgolfer Yes, but it closes the editors without asking… which leads me to one more:
 
2:05 PM
* the ⎕CLS, i mean
 
∘ IDE would ask warn me about unsaved changes if attempting to )off.
 
Absolutely!!!!!!!!!!
AND warning when )save overwrites
 
ngn
reading this makes me glad I no longer have to deal with it :)
 
@Stormwind Ah yes, I remember: Can't save. This is something.ws.
 
Huh wat? Too much sunshine in Bulgaria? Get on to it, start coding immediately!! :-)
 
ngn
2:06 PM
@Adám "macro recording for F-keys" - there's not exactly that, but very similar
 
@ngn Uh, no. What do you mean?
 
anything "F-keys" makes "vintage" come to mind :P
 
Well u said you no longer have to deal with it? But you mean some other way, ok lol
 
@Stormwind Yes, I like having a clean session. I'd always remove "faulty" lines. It drives my son nuts not to be able to clear the screen.
 
ngn
@Adám under Preferences > Keyboard (if I remember correctly and if it's still there) there should be a few fields in which you can type commands like "asdf<ED>" and map keys to them
 
2:09 PM
@EriktheOutgolfer Why? Just because some laptops make them awkward to use doesn't mean that the ability to automate repetitive tasks isn't valuable.
 
@Adám yep :-) Took me 20 years to get mentally lobotomised enough to accept no CLS. Even DOS has a "cls"
 
@Adám it's just that old DOS programs used to use F-keys instead of other key combinations more than nowadays :P
 
@ngn Sure, but firstly, I have to know look up all the codes, secondly, not all actions have codes. APL*PLUS let me record any keystrokes what so ever, and then I could inspect ⎕PFKEY to see what it would look like.
 
that's why it "comes to mind"; not that it's not useful
 
ngn
@Adám well, unfortunately it's not keystrokes that RIDE sends to the interpreter...
 
2:11 PM
@Adám ah, you remember it in so much detail, looks like you truly miss it
 
I abandoned APL+ etc 20 years ago, actually. omg omg
device = himem.sys
emm386.exe /parms ..
 
@EriktheOutgolfer Sure. I use tons of Ctrl-letters for actions in Dyalog, but also F-keys to automate stuff. E.g. F2, F3, F4, F9 display name lists of that nameclass in a neater way than the built-in forms. F10 (when in the tracer) runs the program until the chosen line, then stops. F11 inserts ⎕SE.Dyalog.Utils.repObj.
Another cool feature of APL*PLUS was the ability to embed machine code right into you APL functions. asmfns.ws (I think it was called) had self-contained functions you could copy in, and they would basically just have some wrapper code plus one very long line of ⎕CALL long list of signed ints. Oh right, the editor could wrap your lines!
@EriktheOutgolfer I do. I grew up in the white-on-blue APL*PLUS session.
 
SStoMat was asm.
 
@Stormwind Yes, I remember that one, but now we have fancy Mix ( or , depending on who you are). SS (String Search) was also asm, IIRC.
 
⎕PENCLOSE... who's was that?
Must have been APL+ / Manugistics (Partick Parks or something demoed it)
 
2:26 PM
@Stormwind A horrible attempt at dealing with ⎕ML nightmares. Why in the world did IBM swap and last minute‽ And they got it wrong too! Finally — thanks to me :-D — we have both and in a single ⎕ML.
 
Hehe, ok. bool⊂data is one of the most common things in my code
284 of 743 functions containing ⊂ :-)
 
@Stormwind In which ⎕ML? ;-)
 
1
The sim is:
743 functions
736,733 bytes of code
25,701 lines of code
 
@Stormwind OK, but and are not so simple to express in terms of each other, and is really neat for some applications, like Split←≠⊆⊢.
 
Should i get it to under 20000 lines?
ya. u know, alter code base etc. Just waiting for the day (year) i can only otimise
 
2:34 PM
@Stormwind Nah, 35 29-char lines per function sounds reasonable. As long as each function can fit on a screen. (Do you have a bunch of one-liners and a collection of monolithic functions?)
 
Something like that. Longest fn is 616 lines, but containing gaps
 
@Stormwind What's your style? All tradfns? Dfns? Nested dfns? Tacit?
 
Simple aritmetics, fair amount of (persistent mostly) dfns. Small data, pre-calc & cache.
square rather than nested
Dyalog is fast at simple and small data
Then lots of load balancing, timing. Sense or sparce calc of repeated things.
Single-threaded to most part
Brute-force sometimes
 
@Stormwind Are there not things you could calculate in parallel?
 
Sure, but u know APL doesn't really allow me to go to another core. Thou ranning the sim nicely spreads out in the 4 cores in task manager anyway. I guess the interpreter throws out some stuff to other cores. However,
the GPU/CPU scheduling sets rather specific rules for timing
The accumulates GPU takes commands into batch. Once you tell DirectA to draw, the CPU is free
 
2:43 PM
@Stormwind I think the isolates' system is neat. What do you mean by doesn't really allow me to go to another core?
 
during which i try to do as mach CPU-only stuff
The &bla remains on the main core. Isolates are neat but not too efficient on tiny data, as the loopback overhead is then sufficient
 
@Stormwind I'd be really interested in knowing what the interpreter does parallelise. I know it is supposed to when it is likely to make things faster, but I have never come across an example where it actually does because memory-to-CPU takes more time than the actual computation.
 
true. The 4 graphs all show something, some a bit more than other, but APL is causing it
I don't really get it why the comm to isolates must happen over loopback...
Bjrns Conga is threaded out and no loopback stuff
 
@Stormwind Ask @MortenKromberg.
 
I guess the reason is cloud computing. Having it already in the IP stack enables external isolates
Just sounds inefficient when it all sits in the same local CPU
 
 
3 hours later…
5:39 PM
@Adám is there any way at all to download old APL variants like APL*PLUS?
 
@EriktheOutgolfer APL*PLUS isn't really old, they still release new major versions every year. But as far as I know, only that ancient mash-up is free. You can get it, and three other ancient APLs emulated on Android. I think I can find you SAX if you want.
 
@Adám wait it's actually APL2000? O_O how do they still have business, I mean I had to contact them to understand how the website works
so...I don't see APL+ or APL*PLUS anywhere on that site
 
@EriktheOutgolfer They changed company and product name again and again (bad idea), and then they tried countering all arguments against APL in one swoop (APL+Next), and that seemed to fail, so now they are basically just doing life-support for existing customers.
 
@Adám so they actually overprice their products in a sense
 
@EriktheOutgolfer It says right on the front page: "APL+Win".
 
5:50 PM
@Adám ah, but that's not exactly what I wanted, and you can't really download anything prior to 2012 there
 
@EriktheOutgolfer $1,750 for two years of personal use does seem a bit OTT… And you can't even get access to their documentation or forums without a license, so you have no idea what you're buying.
@EriktheOutgolfer Well, what are you looking for? APL\360 is available for free. Old enough for you?
 
@Adám like, the last DOS version
prays it works in DOSBox
 
@EriktheOutgolfer I don't know when that was. I can surely get you Dyalog 12.0 if you're curious what it looked like.
 
@Adám so...when you say that APL\360 is free, well, I have already managed to get its source code, but the problem is how to compile it
this doesn't look entirely genuine, does it?
 
@EriktheOutgolfer You don't need to, you can download the entire emulator package, ready to run.
@EriktheOutgolfer Yes, that's it. I have it installed and play with it on occasion. Works fine.
 
6:03 PM
@Adám so, just downloading mvt4apl-2.00_large_current.zip
 
@EriktheOutgolfer Yes.
 
6:22 PM
@Adám actually, you do need to download the source code from computerhistory.org separately
 
@EriktheOutgolfer Oh, now you say it, I remember. Sorry.
 
@Adám licensing...
and installation takes a long time...
 
@EriktheOutgolfer Yeah, IBM still protects it somewhat. It is only like half a century old, so you people may want to make money of it /s
 
hm, it looks like entering ) is hard
 
@EriktheOutgolfer Ah, old-style keyboard:
@EriktheOutgolfer ^ The APL key is Shift.
 
6:35 PM
@Adám yeah figured out that "US keyboard layout" isn't what you need
and...I presume there's no !, right?
 
ngn
@EriktheOutgolfer perhaps | <bksp> . :)
 
@ngn a character error? nah, that's not exactly what I wanted :P
(SH+M BSP . 5 RET)
it's supposed to eval !5
 
@EriktheOutgolfer ' and . give ! (even today): Try it online!
 
@Adám ah, so that's what backspace does, hm, how to delete a character then
 
@EriktheOutgolfer You can't. Screens were not invented yet. It was made for typewriter terminals. There are some control codes you can enter to allow you to specify how far back you want to erase or from where you want to overwrite or where you want to insert stuff, but I don't remember them.
 
6:46 PM
@Adám so, when it says "x", you just press enter and try again?
 
@EriktheOutgolfer Yeah. And in the editor, you can go to edit any line by entering [nn].
@EriktheOutgolfer Here is the full documentation for the editor: help.dyalog.com/16.0/Content/Language/Defined Functions and Operators/APL Line Editor.htm. Yes, we still ship that editor identical to APL\360's.
 
@Adám yeah it's still a failure :P
 
@EriktheOutgolfer Why isn't the markdown working‽
 
@Adám wait...how did you enclose in APL\360, ?
 
@EriktheOutgolfer Enclose? APL\360 only has simple homogeneous arrays.
 
7:02 PM
@Adám and apparently not nested arrays
 
@EriktheOutgolfer That's what simple means. Homogeneous means you can't mix numbers and characters in a single array.
@EriktheOutgolfer Programmers had to be clever instead. Here is a challenge for you: Given N, return ∊⍳¨⍳N.
 
@Adám well, at least I can autocucumber them, right?
 
@EriktheOutgolfer Autocucumber?
 
> Homogeneous means you can't mike numbers and characters.
@Adám yeah, that's not something you normally typo
 
@EriktheOutgolfer What did you mean?
 
7:06 PM
@Adám oh just a subtle way to say "the evil autocucumber strikes again"
@Adám there are no docs in the pdf, are there?
 
@EriktheOutgolfer Docs for APL\360?
 
@Adám well, I'll have to find them elsewhere I guess...
for example, what does do in APL\360?
 
@EriktheOutgolfer APL\360 Reference Manual.
@EriktheOutgolfer APL\360 is basically a subset of Dyalog APL as you know it. Was dyadic only.
 
heh, of course it's implied that you can't write strings like 'A' 'B'
 
@EriktheOutgolfer Of course not. Stranding came with nested arrays.
 
7:16 PM
having no lowercase feels so vintage...
 
@EriktheOutgolfer You wanted old… And the typewriters couldn't fit so many characters on their arms/wheels/balls. Though IBM/360 did introduce the world to 8-bit characters.
 
@Adám oh sorry I don't have any bad implications there
 
@EriktheOutgolfer No, no. I'm not offended. I'm just explaining why.
 
7:31 PM
@Adám All good, guess I'll have to use tradfns, but ,/ is a syntax error
 
@EriktheOutgolfer Of course. You can only use scalar functions with operators, otherwise you'd end up with a nested array, which had not been invented yet.
 
@Adám but for example ,/1 2 3 is 1 2 3 and, hah, I didn't end up with a nested array, right?
 
@EriktheOutgolfer No, ,/1 2 3 is ⊂1 2 3:
⎕←,/1 2 3
 
@Adám
┌─────┐
│1 2 3│
└─────┘
 
@Adám oh right I forgot, guess that was already thought of by then...
 
7:35 PM
@EriktheOutgolfer Not exactly. It wasn't that they prohibited nested arrays, only they hadn't been invented yet. Welcome to 1962.
 
@Adám wait, not 1969?
I thought only the notation existed in 1962
 
@EriktheOutgolfer Well, APL\360 is from '66, but the whole array model was just taken from Iverson Notation.
 
7:55 PM
@Adám what I always wondered is, well, how they managed to put APL\360 in a typewriter
 
@EriktheOutgolfer Oh they didn't. It ran on a computer, the size of a big family house. The typewriter was just the interface.
 
@Adám so, any average person bying APL\360 would remain homeless, right? ;)
 
@EriktheOutgolfer You couldn't buy it, only processor milliseconds with it.
 
@Adám huh?
 
@EriktheOutgolfer Only the very largest money firms like insurance companies and banks could afford one. The rest would remotely access a central computing centre. Think AWS. Nothing has happened/we've come full circle.
 
8:00 PM
@Adám the issue is that they would also have to afford, well, room for it
 
@EriktheOutgolfer That was the least of the costs, I think. I used a lot of electricity, both for computing and for the dedicated cooling system (which had to be turned on one hour before booting). And then you needed to replace vacuum tubes as they burned out (the transistor wasn't invented yet), though they came in pairs so you had time to replace the original while you kept working on the spare.
 

« first day (452 days earlier)      last day (2209 days later) »