« first day (308 days earlier)      last day (2347 days later) » 
09:00 - 19:0019:00 - 22:00

9:44 AM
@ngn Sorry, I pinged you for a not-so-well thought through feature request.
 
ngn
@Adám no prob
 
@ngn Unrelated: Wonder how a postfix key would feel. As in gives
@ngn lb feature request: right-aligned ☒ to close language bar and disable backtick and tab features.
 
ngn
@Adám where would we record the preferences?
 
28 messages moved to trash
 
ngn
@Adám thanks
 
9:55 AM
@ngn What preferences? I just want the ability to close the language bar. I.e. just delete the element and remove the key capturing handlers.
 
ngn
@Adám well, F5 :)
 
@ngn Yes, but that can cause me to loose what I'm currently typing. Or even the state of an AJAX page.
 
ngn
@Adám how do you get it back? press the bookmarklet again?
 
@ngn Yes, of course.
 
ngn
@Adám people might take ☒ for an APL character
 
10:00 AM
@ngn Then use ❎ maybe even with color:red
 
ngn
@Adám that's what I was thinking too
@Adám ok, I don't see why I shouldn't add that
 
@ngn actually, leave it black, but do red on hover. That way it doesn't take so much unneeded attention, but clearly signals its being different.
 
ngn
@Adám the more important question is where do I stick its DOM element
 
@ngn end of .ngn_lb with float:right
 
ngn
@Adám if it's in the language bar itself, e.g. with float:right, it would mix with the squiggles
@Adám also, it scrolls along with them
 
10:09 AM
@ngn Doesn't by me, as my lb wraps :-)
 
ngn
@Adám I should make mine wrap too, this scrolling thing isn't very convenient
 
@ngn True. Feel free to use my code. ;-)
 
ngn
@Adám the font doesn't work
 
@ngn Huh, why? Isn't it identical to yours?
 
ngn
@Adám it says: "12:05:25.906 Blocked loading mixed active content "http://ngn.github.io/ngn/apl/web/Apl385.woff" 1 index.html"
@Adám in firefox
 
10:14 AM
@ngn That sounds like yours, not mine.
@ngn I'm in FF, and it says it uses https://abrudz.github.io/lb/Apl385.woff
 
ngn
@Adám maybe it still doesn't load the .woff font, but uses your installed font with the same name?
 
@ngn It says APL385 Unicode remote / https://abrudz.github.io/lb/Apl385.woff / Used as: "Apl385 Unicode"
@ngn ^ looks right to me.
 
ngn
@Adám hm, ok, never mind...
@Adám your terminology sounds wrong: conjugate / plus
@Adám these are supposed to be monadic / dyadic meaning, but "plus" sounds rather like the name of the character, not the operations it represents
@Adám that's why I used conjugate / add for plus's tooltip
 
@ngn True, but that is our official names. I've mostly used our official names, but changed the ones I find really bad.
@ngn I think "plus" reads better, as in "two plus three" rather than "two add three". Strictly speaking, it should be "increases"…
 
ngn
@Adám well, APL terminology is so weird anyway...
@Adám both ⌷ and ⍳ are called index?
@Adám sometimes tooltips start with an uppercase letter, sometimes not
 
10:27 AM
@ngn no, that's bad. I'll change that now. I'm editing some names right now anyway.
@ngn function Operator SYNTAX.
 
ngn
@Adám you've probably noticed, but just in case - the ⍟ tooltip is missing a newline
 
@ngn thanks. fixed.
@ngn Does line-height:24px actually do anything?
 
ngn
@Adám it makes sure characters are centred vertically
 
 
3 hours later…
ngn
1:59 PM
@Adám with wrapping you don't need line-height
 
@ngn OK, that's what I thought. I'll take it out then.
 
ngn
@Adám I can't make up my mind about the close button
@Adám it's nice to be able to hide the lb, but on the other hand the user may wish to keep on typing apl, or not
 
@ngn Ah, you mean if they want the Tab and/or backtick, but not the bar?
 
ngn
@Adám yes
@Adám for example I like to use very large font sizes while I'm working (though my vision is still ok) and that makes the lb rather annoying
 
@ngn I thought about that. You could have a minimise button AND a close button. Minimise keeps the listeners but hides the bar (you restore it by re-running the script from your bookmark) , while close switches everything off (re-openable with bookmark). However, the bar's colour also serves to indicate backtick mode (and reminds you why your Tab key is "broken"), so maybe you shouldn't be able to have input-methods without bar.
@ngn btw, feature request: briefly turn backtick styling of the bar on and then off when user presses Tab, to remind him why the Tab key is "broken".
 
ngn
2:10 PM
@Adám the user already gets feedback from two asciis turning into an apl char
@Adám I was thinking of letting the tab through when the previous two chars are not recognised as forming an apl char
@Adám that way you could tab your way through an html form and type apl chars
 
@ngn Not if the input field is empty.
@ngn Right, that sounds sensible.
 
ngn
@Adám as for the lb, one option is for it to become a pixel-thin line when it's collapsed
@Adám so it could still indicate ` mode
@Adám what I really want to avoid is complicating my code
@Adám you're free to complicate yours as much as you like, though :)
 
@ngn Why not have it completely hidden, and reappear in full size during backtick mode? This way, after the user presses backtick, he can then click on (or hover over) the bar if he has forgotten the bindings.
 
ngn
@Adám what about the scenario I described before? - user finds lb annoying, but still wants to type (using `)
 
@ngn I would assume that he finds it annoying because it occupies (and shadows) an entire line all the time. If it is just while in backtick mode, he can go about browsing as usual, with no visual effect of the (collapsed) bar.
 
ngn
2:18 PM
@Adám yes, but this huge thing flashing while you're typing...
 
@ngn Hm. Difficult, this question is.
 
ngn
@Adám I think I'll just have a button to close the lb, that seems to be the simplest thing to do
@Adám then, if you want it to reappear, you press the bookmarklet again
 
@ngn I think so too. Close and remove handlers, right?
 
ngn
@Adám removing handles is not worth it
 
@ngn No? That makes Tab and backtick "broken" with no indication as to why.
 
ngn
2:21 PM
@Adám F5 solves that
 
@ngn OK. Fair compromise. Will you have it ready for tonight's lesson?
 
ngn
@Adám there's a slight inconvenience when you've already typed some text, but solving it is not worth so many lines of code
@Adám er... when is that?
 
@ngn 18:30 UTC.
@ngn Yeah, actually, that is my main problem. Especially on SE, the lb tends to be in my way by "breaking" backtick.
 
ngn
@Adám yeah, I think it won't take that long
@Adám you can press ` and space to get a `
 
@ngn I know, but I much prefer simultaneous key-combos over dead-keys, which is why I use my custom keyboard layout. The lb breaks my flow. That being said, it isn't intended for me, so don't worry about that.
 
ngn
2:28 PM
@Adám you don't have to use the bookmarklet, I'm sure you have Dyalog's kbd installed :)
 
@ngn Right. Your lb is gold for newcomers and mobiles. (Btw, I don't. I have my own.)
 
ngn
@Adám the bookmarklet is there only to lower the barrier of entry to APL for people too lazy to install anything (which is most people)
 
@ngn And it does an absolutely brilliant job.
 
ngn
@Adám sometimes even one click is one click too many :)
 
@Adám looks like your lb has different tab combos from ngn's
for example ff⍟ doesn't work ( is tab)
 
2:40 PM
@EriktheOutgolfer Yes, I redid them. See commit msgs.
 
@Adám also I'd suggest adding some sort of means to view the full list of ` and tab combinations, not just the ones present on the visible strip of chars
@Adám for example `h == , but isn't visible on the language bar
having to read bqk and bqv isn't very convenient :p
 
@EriktheOutgolfer Ah, right. That is an issue with Dyalog's native bar. Set to be fixed in 17.0, but I'll add ∆ and ⍙.
 
ngn
@EriktheOutgolfer good point
 
@Adám not just them
any chars which are missing from the visible strip
,bqk=' =1234567890-qwertyuiop\\asdfghjk∙l;\'zxcvbnm,./`[]+!@#$%^&*()_QWERTYUIOP|ASDFGHJKL:"ZXCVBNM<>?~{}'.replace(/∙/g,'')
,bqv='`÷¨¯<≤=≥>≠∨∧×?⍵∊⍴~↑↓⍳○*⊢∙⍺⌈⌊_∇∆∘\'⎕⍎⍕∙⊂⊃∩∪⊥⊤|⍝⍀⌿⋄←→⌹⌶⍫⍒⍋⌽⍉⊖⍟⍱⍲!⍰W⍷⍷⍨YU⍸⍥⍣⊣ASDF⍢H⍤⌸⌷≡≢⊆⊇CVB¤∥⍪⍙⍠⌺⍞⍬'.replace(/∙/g,'')
also currently I think this is kinda more specific to Dyalog APL, which doesn't account for other dialects such as GNU APL (//etc.) and such
 
@EriktheOutgolfer I added ⍫ ⍥ ⍢ ⍰ ¤ ∥ ⊇ for the future, but they are not needed.
 
2:48 PM
@Adám I just mentioned it because somebody may want to use them as variable names ;)
also btw it's a bit hard to define what an "APL char" is
 
@EriktheOutgolfer That is discouraged as they are not considered identifier chars by Unicode or in other languages, but I've been complaining about it, since I have to maintain code which already uses them.
 
ngn
@EriktheOutgolfer from those Dyalog allows only ∆ and and ∆ underbar ...and _
 
@ngn Hehe, you can't type ?
 
ngn
@Adám ah, found it :) ⍙
 
@ngn copy-paste? :p
also, `>
 
ngn
2:51 PM
@EriktheOutgolfer no, windows key + shift + .
 
@ngn I.e. Win + >
 
ngn
@EriktheOutgolfer or `> as you say
@EriktheOutgolfer Dyalog also allows accented Latin letters in identifiers, but no Cyrillic, Greek, Hebrew, etc
 
4 mins ago, by Erik the Outgolfer
also btw it's a bit hard to define what an "APL char" is
yup
but I don't think you need keyboard shortcuts for all of them ;)
 
@ngn Which is why my layout allows me to type any valid Dyalog identifier.
 
ngn
@EriktheOutgolfer people have complained in the past about not being able to type the "underscored alphabet"
@EriktheOutgolfer which is a historical APL thing - underlined Latin letters; APL385 (and Dyalog) reuses the circled alphabet from Unicode for that
@EriktheOutgolfer and in RIDE I added ` ` _ A and ` ` _ B etc as shortcuts
 
3:00 PM
My keyboard layout lets me type them ⒿüⓈⓉ Ⓕíñè, þøûⒼⒽ. Ç?
 
ngn
@Adám If identifiers should be restricted, why not restrict them to ASCII, which almost everyone on the planet can type?
 
@Adám for me some of them are circled here, but underscored in RIDE 4.0
 
ngn
@EriktheOutgolfer because of the font
 
the font can be weird...
 
ngn
@EriktheOutgolfer see my message above about APL385
 
3:04 PM
@ngn APL's ⍺, ⍵, ∆ and ⍙ predate ASCII, and the underscored letters where due to technical reasons so that you could overstrike normal uppercase with _ and use the other golf ball positions for APL symbols. Leaving golfballs, people wanted actual lowercase and the underscored letters could not be mapped back again, because people had started to use naming schemes with e.g. underscored last letter, and namE looks wrong. So the underscored letters were kept alongside the lowercase. TBC…
 
ngn
@Adám you can't use a historical argument forever...
@Adám they had 50 years to fix this, why didn't they?
 
… Then IBM western Latin codepages came and did not add underscored letters, so the underscored letters were remapped to accented Latin letters (depending on font/cp). Then Unicode came, and we could have them all.
@ngn Because APL is backwards compatible, for good and for bad.
 
Adám is hosting another informal APL learning session tonight at 18:30 UTC in https://chat.stackexchange.com/rooms/52405/apl, continuing last week's "APL primitive functions' marathon". See https://chat.stackexchange.com/transcript/message/41299896#41299896 if you don't have 20 Stack Exchange rep points.
 
@ngn Why not? The yet-to-be-launched Space Launch System's solid rocket boosters have their specific dimensions due to backwards compatibility all the way back to Roman chariots.
 
ngn
@Adám you're playing too much of that video game ;)
@Adám another example is qwerty
 
3:17 PM
@ngn Yes, they had almost 150 years to fix this, why didn't they?
 
ngn
@Adám "backwards-compatibility", inertia, being stuck in a rut, intellectual laziness
 
@ngn … large code base?
 
ngn
@Adám in Dyalog's case, that too
@Adám when working in a team, people are under pressure to deliver, they make compromises to get work done sooner at the cost of complexity
@Adám there is no incentive to do the unglorious work of tidying things up and eliminating unnecessary code, it's even risky - something might break; if it ain't broke, don't touch it
@Adám this is the case with any company beyond a certain size and profit
 
@ngn No, not in Dyalog's case, (remember APL#?) but in Dyalog's (potential) customer's cases. The APL world expects old code to keep running. I recently increased support for importing underscored names from mainframe APL2.
 
@ngn IBM (at least here in Brazil) spends a lot of money to teach their workers COBOL. Friend of mine got hired and she had to spend 3 months learning it before they let her anywhere near their code.
 
ngn
3:30 PM
My point was, it's good to throw everything away and start from scratch every once in a while. You don't have to support backwards compatibility for more than 1 version and you can do it with a migration tool. Customers who don't move forward should be left behind because they become a burden to developers.
 
@ngn That view is unsustainable. Yes, K does that, but has a niche target audience. Generally programming languages stay backwards compatible. If they really want a breaking change, then they make a new language. E.g. Python 2 vs 3. and C vs C++.
 
ngn
@J.Sallé Wouldn't it be more cost-efficent for them to sponsor a conversion tool from COBOL to a more modern language and use that?
 
@ngn Most languages are not easily translatable to other languages, at least not while maintaining the same efficiency and readability.
 
ngn
@Adám Python has a conversion tool 2to3 to help with the migration. C++ is compatible with C most of the time.
@Adám meta: how did we get involved in this philosophical discussion... it was only a bookmarklet :)
 
@ngn I recently heard Morten express a desire to replace a primitive!!!
 
ngn
3:36 PM
@Adám what! is he well? :)
 
@ngn I don't know. I'm worried. Maybe the thin air of unpressurised flying…
 
ngn
@Adám is that dyadic ⍒ and ⍋ ?
 
@ngn Yes, how did you know?
 
ngn
@Adám I've heard him comment on them before
 
To participate in tonight's learning session without 20 Stack Exchange rep points, click lower-left giant avatar, then click "user profile" and there will be a number in the URL; that's your chat ID. Email your chat ID to adam@ with the domain being dyalog.com.
@LucaH Sorry, I confused your rep with your badge count.
 
3:44 PM
@ngn I thought and asked her the same thing, actually. She told me that there were thousands of mainframes still in use, coded in COBOL, and it would cost a lot of money to convert them to another language.
And COBOL "works fine", or so I've been told. :p
 
ngn
@J.Sallé well, if it's cheaper to train people... it's IBM's budget, they should know :)
 
Yup, my thoughts exactly.
 
4:46 PM
@ngn Uh, the lb's clicking appears broken. Can you type with it by clicking on a symbol?
 
ngn
@Adám I'm messing with it now, I've broken it apparently
@Adám Are you going to use yours for the lesson?
 
@ngn Well, mine is on the starboard ↗ and is now identical to your latest commit, except for content and CSS.
 
ngn
@Adám fixed
 
@ngn Merged. Thanks. One funny thing is that clicking the bookmarklet multiple times will add multiple bars, each of which will need to be closed by an additional click on [x]
 
ngn
@Adám yeah, it's not perfect
 
5:00 PM
@ngn It really doesn't matter though. It is good. Very good.
 
ngn
@Adám why do you have to declare both XY<tab> and YX<tab>, didn't it work automatically?
 
@ngn No. That was my idea when I pinged you this morning, but then I realised that it can't: -| vs |-.
 
ngn
@Adám there was an issue for that and I think I fixed it
 
@ngn Oh, so now it does accept swaps if there is no conflict?
 
5:05 PM
@ngn OK, I'll remove my needless duplications.
 
ngn
@Adám the OCD sufferer in me thanks you
 
@ngn I guess it isn't just me that can never remember the order of two items…
 
ngn
@Adám vim's <Ctrl-K> does that too - accepts {char2}{char1} as an alias for {char1}{char2} unless the former is explicitly defined
 
@ngn Ah, but then the tooltip will not show both…
 
ngn
@Adám there's a trade-off between concision and exhaustiveness
 
5:15 PM
@ngn Then it could also be case insensitive (if no conflict)
 
ngn
@Adám people will figure out YX if you tell them about XY, you don't have to document everything in the tooltips
@Adám I'm not sure about case sensitivity
@Adám e.g. |v is ↓ but |V is ⍒ in my system
 
@ngn Sure, I said "if no conflict". I use O for ○ and o for ∘.
 
ngn
@Adám right, maybe yes in that case, though my guiding principle for tab completion was purely visual resemblance
 
@ngn Anyway, I've removed the dups.
 
ngn
@Adám if uppercase/lowercase are very different, as is often the case, it doesn't make much sense anymore, e.g. A| is ⍋ but a| is not similar
@Adám I have a few exceptions from visual resemblance: rr ⍴ for example
I imagine a fresh APL recruit would go through the following stages of typing:
* clicking on the language bar
* tab completion because it's easy to guess visually without prior knowledge about APL
* bq completion because it's fewer keystrokes (and also works in RIDE and Vim)
* Geoff's keymaps because the are even more convenient and free your ` key
 
5:29 PM
I use WinKey+Space to type the squiggles :p
 
ngn
@J.Sallé what does win+space do?
 
@ngn cycles through your keyboard layouts
 
ngn
@J.Sallé so you press win+space, then type a few apl chars, then win+space again, some latin... ?
 
Yup. I've only got 2 keyboard layouts so it's not a pain at all. I imagine if you have more it'd not be very efficient.
 
ngn
@J.Sallé I have 3 (+Cyrillic) but even if I had 2, I would prefer Win as a modifier key (i.e. works only while pressed)
@J.Sallé whatever works for you
 
5:36 PM
Yeah, I think I got used to it :p
 
5:47 PM
I can't stand frequent layout switching, so my keyboard handles English + APL + Danish, and I only switch layout for Hebrew/Yiddish.
 
@Adám I'd like to not have to switch layouts too, but with APL, latvian and russian all used sometimes + that windows is stupid and some apps use the 2nd layouts language I need 4 total layouts..
 
@dzaima Latvian?
 
@Adám that's my native language, and is practically qwerty and apostrophe + char insert chars like āēīōūļķ. I use english primarly though
 
@dzaima sounds like the brazilian layout, except you use ´ and ` to insert chars like áéíóú
 
6:15 PM
@dzaima and you can't add a 5th layout
@ngn as Adám said, I don't see a reason not to open a lot of language bars if somebody wants to :p there's no reason I can think of that would require clicking on the bookmark twice
 
@EriktheOutgolfer yeah I can
 
@dzaima what? was the restriction removed?
I don't think Windows allows you to?
 
@EriktheOutgolfer there was a restriction?
@EriktheOutgolfer what windows version?
 
@dzaima dunno, maybe it's Ubuntu's
but I don't remember being able to have more than 4 layouts in Windows
 
..and now after adding and removing the language (I added the first language shown - afrikaans) I by some reason have a english UK layout that's not shown anywhere. Windows sucks
 
6:21 PM
@dzaima Yup, happens all the time when I experiment. Windows is notoriously bad at letting go of layouts.
 
@Adám Windows is notoriously bad at letting go of anything really.
I tried to remove Cortana and now the only thing that search opens ever is the settings app and control panel.
 
@dzaima yeah maybe it really wants to spy on you using such stuff but makes it look like it doesn't :p
 
@dzaima Not true: It has a long history of letting go of consistency, useful features and proper UI.
 
@Adám and the UI constantly changing between versions
 
@Adám correction: Windows is notoriously bad at letting go of anything you want it to
 
6:25 PM
@dzaima … you want it to retain.
 
for example it changed between XP and Vista, 7 and 8, 8 and 8.1, 8.1 and 10, 10 one build and 10 another build (anniversary/creators' updates and such stuff etc.) you can see that's just hell
 
@EriktheOutgolfer Every other version of Windows was good, and every other bad. I had my high hopes for 9 after the 8 fiasco. And then they skipped to 10!
 
@Adám ...or should I rather say ₩indo₩$? ;-)
 
..*why* has windows switched my time to AMs/PMs?!?
 
@dzaima that tilts me more than it should.
 
6:28 PM
btw I don't even remember when it was the last time I booted to Windows 10
ooh lesson starting soon
 
Welcome to the APL learning session
 
opens abrudz's language bar based on ngn's, admiring its sheer beauty
 
@EriktheOutgolfer All credit to ngn.
 
@Adám hah ninja
 
So, if you do not have an APL keyboard, you can enable one (and get a clickable language bar) using the pinned link.
 
6:31 PM
btw I already have 2 bookmarks: ngn's and abrudz's
 
opens terminal version of Dyalog, amazed that it looks less outdated than the proper Dyalog GUI app
 
We went through the first 31 functions last time. Let's continue with .
 
Seriously, y'all should hire a graphic designer
 
@Pavel We have already done so. Have you seen RIDE 4.1?
 
@Adám Oh yeah, that looks nice
 
6:33 PM
@Adám not packaged in mydyalog yet unfortunately :(
 
@EriktheOutgolfer Available on GitHub, though.
 
@Adám Would it have to be built from source to use it from GitHub
 
@Pavel The chief architect refuses to do custom GUI; wants only default WinForms look.
@Pavel It is in JavaScript. You can just run it using Node.
Anyway…
 
We're doing ⊂? Nice
 
Monadic encloses its argument. For reasons discussed previously, simple scalars cannot be enclosed.
 
6:35 PM
What does "encloses" mean?
 
@Pavel Package it into a scalar.
 
@Adám yeah supposedly some ; link primitive supposed to work some way using the primitive in its implementation and such
 
trying to get Adáms alt+ keyboard layout after trying to erase the UK layout but windows is fighting me..
 
⎕←(3 3⍴⎕A),(3 3⍴⎕A) ⍝ concatenation of two matrices.
 
@Adám
ABCABC
DEFDEF
GHIGHI
 
6:37 PM
⎕←(⊂3 3⍴⎕A),(⊂3 3⍴⎕A) ⍝ concatenation of two enclosed matrices.
 
@Adám
┌───┬───┐
│ABC│ABC│
│DEF│DEF│
│GHI│GHI│
└───┴───┘
 
The first gave us a matrix of shape 3 6, the second gave a vector of shape 2.
⎕←(3 3⍴⎕A),(⊂3 3⍴⎕A) ⍝ concatenation of a matrix and an enclosed matrix
 
@Adám
┌─┬─┬─┬───┐
│A│B│C│ABC│
│ │ │ │DEF│
│ │ │ │GHI│
├─┼─┼─┼───┤
│D│E│F│ABC│
│ │ │ │DEF│
│ │ │ │GHI│
├─┼─┼─┼───┤
│G│H│I│ABC│
│ │ │ │DEF│
│ │ │ │GHI│
└─┴─┴─┴───┘
 
looks like the scalar is being recycled there
 
Concatenating a scalar to a matrix uses the scalar for each row. Here the entire right-hand matrix was treated as a scalar because it was enclosed.
⎕←(3 3⍴⎕A),'x'
 
6:39 PM
@Adám
ABCx
DEFx
GHIx
 
So you can (and should) use to tell APL how you want the scalar extension (auto-vectorisation) to be applied.
 
@Adám that's what I meant
 
is also good for treating text vectors as strings (i.e. in one piece):
⍞←'aaa' 'bbb' 'ccc' ⍳ 'aaa'
 
@Adám 4 4 4
 
This says that each one of the three right-side 'a's is found in position 4 (i.e. are not) in the left-side list.
⍞←'aaa' 'bbb' 'ccc' ⍳ ⊂'aaa'
 
6:43 PM
@Adám 1
 
This says that 'aaa' is the first string.
@all Monadic clear?
 
Dyadic is partition. It encloses (hence sharing the symbol) pieces of the right argument as indicated by the left argument. Best to use an example:
⎕←1 0 0 1 0 1 0 0 0 1 0⊂'Hello World'
 
@Adám
┌───┬──┬────┬──┐
│Hel│lo│ Wor│ld│
└───┴──┴────┴──┘
 
Every time there is a 1, we begin a new partition. If the left argument begins with 0s we lose data:
⎕←0 0 0 1 0 1 0 0 0 1 0⊂'Hello World'
 
6:46 PM
@Adám
┌──┬────┬──┐
│lo│ Wor│ld│
└──┴────┴──┘
 
Works on higher rank arrays too. It partitions along the last axis:
⎕←1 0 1 0 0 1 0 1 0 0 0 1 1 ⊂ 2 13⍴⎕A
 
@Adám
┌──┬───┬──┬────┬─┬─┐
│AB│CDE│FG│HIJK│L│M│
│NO│PQR│ST│UVWX│Y│Z│
└──┴───┴──┴────┴─┴─┘
 
For vectors, 1⊂ is the same as which may be useful in trains where you want to have a left argument.
For higher rank arrays, 1⊂ cuts into columns:
⎕←1 ⊂ 2 13⍴⎕A
 
@Adám
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│A│B│C│D│E│F│G│H│I│J│K│L│M│
│N│O│P│Q│R│S│T│U│V│W│X│Y│Z│
└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
 
You can use brackets to indicate which axis you wish to cut along:
⎕← 1 ⊂[1] 2 13⍴⎕A
 
6:50 PM
@Adám
┌─────────────┬─────────────┐
│ABCDEFGHIJKLM│NOPQRSTUVWXYZ│
└─────────────┴─────────────┘
 
⎕←1 0 1 1 ⊂[1] 4 3⍴⎕A
 
@Adám
┌───┬───┬───┐
│ABC│GHI│JKL│
│DEF│   │   │
└───┴───┴───┘
 
@Adám is there a command to clear the screen, like a shell's clear?
 
@Pavel Not really. The session is like a paper log. Try ⍪50⍴''
@Pavel In the Windows GUI you can also go in the menu Log>New and that will actually clear your session.
 
<-- on Linux
Oh well
Can I run shell commands, to exec dyalog and start a new instance?
 
6:56 PM
that still preserves old logs
 
⎕sh seems to work
 
)clear here open one new 'apl worksheet '
 
@RosLuP Yeas, but that doesn't clear the visible log.
 
Pro tip: do not run ⎕sh 'exec dyalog'. It will cause bad things to happen in your terminal.
 
@Pavel I am pretty sure there is a way to do the same as a command, but I can't seem to find it. I'll try to get back to you on that.
 
6:58 PM
exec replaces your shell with a command
 
@Pavel Nothing bad happened to me.
 
@H.PWiz try to )off
 
Well <c-L> fixed that
 
09:00 - 19:0019:00 - 22:00

« first day (308 days earlier)      last day (2347 days later) »