You can set ⎕IO (that's quad eye oh) to either 0 or 1 under "options | Configure | Session", or temporarily by assigning to it in the session. According to the manual "⎕IO determines the index of first element of a non-empty array", Iota N generates a vector of N indices, starting at ⎕IO.
In a new installation of Dyalog APL ⎕IO is set to 1, but many people prefer to start indexing at 0, and so change it in the options section.
If you email sales@dyalog.com you should be able to register for either a free educational licence, or very cheap non-commercial licence, depending on how you intend to use Dyalog APL. They will be able to advise you of the various options available.
Dyalog APL includes an on screen keyboard, a button bar & keyboard drivers for many languages that all let you get the special characters. The on screen keyboard and keyboard drivers even work with other applications such as word - or even notepad!
If you are serious about learning more about APL and the people who use it, educational licenses are free and personal licenses are available for £50 from the Download Zone at the Dyalog website. You can read much more about the language and the people who use it for fun and profit at the Vector & APLWiki sites. [see the links in the video description - URL's aren't allowed in the comments]
@Jackbox55 The wizardry is in APL itself - it's interactive and these solutions are built up step by step testing as you go. The language started as a syntax to express algorithms, so it's not surprising it has these powers. Unfortunately most programmers are boneheads and prefer shitty idioms. APL, FORTH, Smalltalk, and C are the four corners of the world of real computing. Perl, Java, C++ and the like are the fetid swamps that separate us from them.
I have just returned to a job programming APL (financial software), but I had done so between 1978 and 1984 at two earlier jobs. A main advantage was stated nicely by FugalQuease, in the speed of implementation. Another is that it is easy to log on to a customer of an APL program remotely, and perform interactive debugging at their installation connected to their database. And APL is rigorously correct mathematically and follows consistent rules. Nerdy but fun to play with! :-)
I've never been good at matrix math, I'm sure I'd just spend any time in this language blinking at the terminal wondering what to type. Great video, but I'll stick w/ functional programing, slightly less humiliating
This comment has received too many negative votesshow
APL is the original functional programming language. It has nothing to do with "matrices" as such - it's about arrays, data correlated in several dimensions. You are just to stupid to understand it, and you attempt to make a virtue of your stupidity by claiming to stick to an idiom you don't understand, otherwise you would know that APL is the prototype for functional programming. Idiots like you have made life miserable for those of us with both science and art in our blood.
I like the "power limit" operator - hadn't seen that one before. APL is a very cool thing to do to your brain. All the neural net simulations in my thesis were in J - haha nobody will ever understand them :) . There's no excuse for Matlab to be so lame when APL has done matrices so much better & has so many funky operators.
DONT STOP OR ELSE SOMETHING BAD WILL HAPPEN MY NAME IS JENNY I AM 7 WITH RED HAIR MY MOTHER BEATS ME I LIVE IN A CELL WITH NO WINDOWS DOORS AND NO LIGHT I HAVE RED SCARY EYES AND IHAVE NO NOSE OR EARS I AM DEAD IF YOU DONT SEND THIS TO 15PPL B4 U GO TO BED I WILL APPEAR 2NIGHT WITH A KNIFE AND KILL U THIS IS NO JOKE SOMETHING GOOD WILL HAPPEN TO U AT 10:22 SOMEONE WILL CALL YOU OR TALK TO YOU ONLINE AND SAY I LOVE YOU OR ASK YOU OUT BUT HERES THE CATCH Send To 15 vids
It looks like a very high level language to me. A single character can do so much. Perhaps you meant that it's too esoteric for you, and you'll stick to your comparatively low level but easy to learn language.
APL is a general-purpose array-programming language with many fields of application, its main use seems to be in the financial sector but it has appeared in areas as diverse as: controlling industrial processes; calculating the seeding for Wimbledon & tracking whales!
You can get a free Dyalog licence, if you're a student, or a personal non-commercial one for £50+VAT.
See the Dyalogweb site in "more info" (top right) and then follow "Download Zone."
High praise indeed! APL is a simple and regular, if unfamiliar, language with a rich set of array-processing primitive functions. For a tutorial, visit the APL Wiki (the URL is in the "more info" box, top-right) and follow "Primers and Tutorials" and then "Learning APL".
What a soothing voice. Kudos for an incredible emphasis on correctness, both in language and results. APL seems interesting, but I fail to see in which fields it would be superior to R, Python, C or other languages.
Apart from just being a nice way to think, APL is great for prototyping algorithms. My first programming job was in APL - their market advantage was being able to code up a solution faster than anyone else, mostly for financial stuff - tax calcuations &c where the rules keep changing. And in what other language can you sit at the back of a pub and code a full application on the back of a beer coaster. priceless.
Wow. Thios video makes me want to learn so much more about APL. I've heard of it, just never seen it done with such elegance and effect. While totally confusing at times, with a little bit of reading and APL learning I'm sure I could do that too!
I have put some links into the description for the video (click on more info in the grey box to the top right of the page) as URLs are not allowed in the comments!
This is simply unbelievable. I knew that you can do tons of useful things in a single line of APL, but actually seeing a onliner calculating the next generation of APL is very different.
This was how the Egyptians coded The Great Pyramids.
s3bbe1337 1 month ago
What dark magic is this?
findusfunk 3 months ago 6
wow.
sams31415 4 months ago
how come iota 9 -> 0 1 2 3 4 5 6 7 8....
on my clean dyalog install iota 9 -> 1 2 3 4 5 6 7 8 9
is this configurable?
cawright99 5 months ago
You can set ⎕IO (that's quad eye oh) to either 0 or 1 under "options | Configure | Session", or temporarily by assigning to it in the session. According to the manual "⎕IO determines the index of first element of a non-empty array", Iota N generates a vector of N indices, starting at ⎕IO.
In a new installation of Dyalog APL ⎕IO is set to 1, but many people prefer to start indexing at 0, and so change it in the options section.
Hope that helps :)
DyalogLtd 5 months ago
@DyalogLtd Thank you very much - I guess i don't even know enough to know where to look .
cawright99 5 months ago
I'd rather learn Klingon - at least it would have SOME use in the real world.
cuneas 8 months ago 3
@cuneas LMAO
bulletstobroadway 2 months ago
@cuneas APL pays my salary (and not badly I must say). Has done so for the last 16 years. Klingon, on the other hand...
wildy2k8 2 months ago
The pure beauty of mathematics, laid clearly in to code. APL is a wonderfully powerful language.
Orblingz 8 months ago 3
Hi,
I just finished my Masters, last month.
I am very interested to learn APL just to satisfy my own immense curiosity.
can I please get a copy of the dyalog apl please?
EternalVinay 9 months ago
If you email sales@dyalog.com you should be able to register for either a free educational licence, or very cheap non-commercial licence, depending on how you intend to use Dyalog APL. They will be able to advise you of the various options available.
DyalogLtd 9 months ago
@DyalogLtd thank you very much, will do right away.
EternalVinay 9 months ago
"It's easy to write simple operators"
...
LPGhatguy 1 year ago
What an elegant language.
emoskop 1 year ago
how do you type those special characters?
psychofish25 1 year ago
Dyalog APL includes an on screen keyboard, a button bar & keyboard drivers for many languages that all let you get the special characters. The on screen keyboard and keyboard drivers even work with other applications such as word - or even notepad!
DyalogLtd 1 year ago
damn
bsznm 1 year ago
apl rules
thehaircrow 1 year ago 2
L33t
bbsonjohn 1 year ago
this is a whole nother language for me..... interesting, yet gibberish.... might as well finish the vid to pay respect to the one who made it.
RaTionaLisT13 1 year ago
@RaTionaLisT13
Hopefully you dont write "whole nother" ever again in your life. Good god man. o_O.
ophello 10 months ago
This is wonderful!! Makes me wonder what I've been doing sitting around with C++, Java, Ruby all this while.
chiririne 1 year ago
my brain hurts
ophello 1 year ago 5
Too smart :O
Rachman1337 1 year ago 7
Every time I watch this it blows my mind, again and again. What does one have to do to achieve this level of programming and mathematical wizardry?
Jackbox55 2 years ago 11
constantly look for simpler ways
with heavy, heavy emphasis on the 'constantly.' i think the people that seem naturally good at these kinds of things have the 'constantly' built in
Techra 2 years ago 3
If you are serious about learning more about APL and the people who use it, educational licenses are free and personal licenses are available for £50 from the Download Zone at the Dyalog website. You can read much more about the language and the people who use it for fun and profit at the Vector & APLWiki sites. [see the links in the video description - URL's aren't allowed in the comments]
DyalogLtd 2 years ago
Dyalog APL is inferior in every way to APL2.
antimatterXXXIII 2 years ago
@DyalogLtd You mean people PAY for APL? to me it looks like an esoteric language.
blenderpanzi 1 year ago
@Jackbox55 The wizardry is in APL itself - it's interactive and these solutions are built up step by step testing as you go. The language started as a syntax to express algorithms, so it's not surprising it has these powers. Unfortunately most programmers are boneheads and prefer shitty idioms. APL, FORTH, Smalltalk, and C are the four corners of the world of real computing. Perl, Java, C++ and the like are the fetid swamps that separate us from them.
antimatterXXXIII 2 years ago
@antimatterXXXIII Oh, and LISP, the turtle on which the four corners stand :)
antimatterXXXIII 2 years ago
@antimatterXXXIII Well said. Too many programmers think dynamic imperative == programming.
chmodfromudp 2 years ago
@antimatterXXXIII You're an asshole and an idiot my friend . Arrogance is never the answer.
Apachaiii 2 weeks ago
I just spent my day's entire consumption of calories while trying to follow this through. Time for a Creme Egg...
gingersleuth 2 years ago 3
This comment has received too many negative votes show
Minesweeper is more fun
haydenchambers 2 years ago
My brain just exploded, holy shit, it all makes sense.
AerobicRobot 2 years ago 25
A very well put together video, 5 stars!
userjjb 2 years ago 3
I have just returned to a job programming APL (financial software), but I had done so between 1978 and 1984 at two earlier jobs. A main advantage was stated nicely by FugalQuease, in the speed of implementation. Another is that it is easy to log on to a customer of an APL program remotely, and perform interactive debugging at their installation connected to their database. And APL is rigorously correct mathematically and follows consistent rules. Nerdy but fun to play with! :-)
coolsti27 2 years ago 2
Absolutely amusing, all 7 plus minutes of it.
nickeeboy 2 years ago
I've never been good at matrix math, I'm sure I'd just spend any time in this language blinking at the terminal wondering what to type. Great video, but I'll stick w/ functional programing, slightly less humiliating
coefficient 2 years ago 22
This comment has received too many negative votes show
APL is the original functional programming language. It has nothing to do with "matrices" as such - it's about arrays, data correlated in several dimensions. You are just to stupid to understand it, and you attempt to make a virtue of your stupidity by claiming to stick to an idiom you don't understand, otherwise you would know that APL is the prototype for functional programming. Idiots like you have made life miserable for those of us with both science and art in our blood.
antimatterXXXIII 2 years ago
u.... u a dick
coefficient 2 years ago
Then don't try to make a virtue of stupidity by listing your failings.
antimatterXXXIII 2 years ago
I like the "power limit" operator - hadn't seen that one before. APL is a very cool thing to do to your brain. All the neural net simulations in my thesis were in J - haha nobody will ever understand them :) . There's no excuse for Matlab to be so lame when APL has done matrices so much better & has so many funky operators.
FugalQuease 2 years ago 3
Somehow I was actually able to follow this through. Does make me want to learn APL.
madwilliamflint 2 years ago
I can understand very little of this. It is really interesting though...
xCDRProductionsx 2 years ago
This has been flagged as spam show
DONT STOP OR ELSE SOMETHING BAD WILL HAPPEN MY NAME IS JENNY I AM 7 WITH RED HAIR MY MOTHER BEATS ME I LIVE IN A CELL WITH NO WINDOWS DOORS AND NO LIGHT I HAVE RED SCARY EYES AND IHAVE NO NOSE OR EARS I AM DEAD IF YOU DONT SEND THIS TO 15PPL B4 U GO TO BED I WILL APPEAR 2NIGHT WITH A KNIFE AND KILL U THIS IS NO JOKE SOMETHING GOOD WILL HAPPEN TO U AT 10:22 SOMEONE WILL CALL YOU OR TALK TO YOU ONLINE AND SAY I LOVE YOU OR ASK YOU OUT BUT HERES THE CATCH Send To 15 vids
satansworrd6 2 years ago
things i do not understand: universe, sense of life, this game O_o
metalhoodmetalhood 2 years ago
God dammit I don't understand what he's doing!! O_O
Axidel 2 years ago 2
This comment has received too many negative votes show
Neyyeyeyeyeyye...I'll stick to my high level language, thanks. This is waaaayyy too low for me.
AnUntitledStory 2 years ago
It looks like a very high level language to me. A single character can do so much. Perhaps you meant that it's too esoteric for you, and you'll stick to your comparatively low level but easy to learn language.
wrunt13 2 years ago 6
This comment has received too many negative votes show
I don't think so. Do you know what a "high level language" is?
AnUntitledStory 2 years ago
Comment removed
kallokain 2 years ago
It is quite difficult..and i don't think i understand it...i will look at it later..
whaddahecko 2 years ago
Really beautiful!
chowdy64 2 years ago
Nice video Leninator :)
APL is a general-purpose array-programming language with many fields of application, its main use seems to be in the financial sector but it has appeared in areas as diverse as: controlling industrial processes; calculating the seeding for Wimbledon & tracking whales!
You can get a free Dyalog licence, if you're a student, or a personal non-commercial one for £50+VAT.
See the Dyalogweb site in "more info" (top right) and then follow "Download Zone."
DyalogLtd 2 years ago
I found this fascinating having studied the game of life for a university project.
APL seems bizzare but it would be interesting to have a look.
I've responded to the video with my own representation of the game which I made in C# with XNA which I hope you will enjoy.
As a question though what applications is APL used for as this is the first time i've ever really seen it used and it seems very abstracted.
I've done a little MIPS and must say it seems a lot easier to understand!
leninator2k5 2 years ago
Wtf was that!!! awesomw
delfty12 3 years ago
This is even more insane than Perl. I'll pass.
pepupapi 3 years ago
High praise indeed! APL is a simple and regular, if unfamiliar, language with a rich set of array-processing primitive functions. For a tutorial, visit the APL Wiki (the URL is in the "more info" box, top-right) and follow "Primers and Tutorials" and then "Learning APL".
DFunctionista 3 years ago
Beautiful bit of maths/coding there :)
Huffers2002 3 years ago
This is one of the most impressive screencasts I've ever seen.
mvanier 3 years ago 5
What a soothing voice. Kudos for an incredible emphasis on correctness, both in language and results. APL seems interesting, but I fail to see in which fields it would be superior to R, Python, C or other languages.
alexander256 3 years ago
Apart from just being a nice way to think, APL is great for prototyping algorithms. My first programming job was in APL - their market advantage was being able to code up a solution faster than anyone else, mostly for financial stuff - tax calcuations &c where the rules keep changing. And in what other language can you sit at the back of a pub and code a full application on the back of a beer coaster. priceless.
FugalQuease 2 years ago 4
Wow. Thios video makes me want to learn so much more about APL. I've heard of it, just never seen it done with such elegance and effect. While totally confusing at times, with a little bit of reading and APL learning I'm sure I could do that too!
moonstorm2000 3 years ago
where is a good place to learn more about APL?
ohgreat1thatsfantast 3 years ago
I have put some links into the description for the video (click on more info in the grey box to the top right of the page) as URLs are not allowed in the comments!
DyalogLtd 3 years ago
This is simply unbelievable. I knew that you can do tons of useful things in a single line of APL, but actually seeing a onliner calculating the next generation of APL is very different.
kaithomasmax 3 years ago