Live data from Hacker News

APL – a Glimpse of Heaven (2006)

archive.vector.org.uk

41–47 of 47 posts

Re: APL – a Glimpse of Heaven (2006)

#41
post #31

I have an issue with APL. My grandfather who is a researcher in forest science (sorry English is not my main language), made his own software in APL to manage his own forest. Now, he is becoming old, and trying to get me to get the software, and to understand it for when he will pass. The thing is, I'm a C++ dev professionally, but whenever I see his code in APL, I cringe. I can't get to make him understand that buil…

Before trashing a complicated program in a serious programming language and replacing it with Excel, consider this: http://lemire.me/blog/archives/2014/05/23/you-shouldnt-use-a... It can actually be fun learning radically different programming languages. I find it improves my programming in my primary language. And you're in the lucky position of having someone who can help you learn.

Yeah, doesn't always have to be you teaching others that your way of programming is the "right" way.

Re: APL – a Glimpse of Heaven (2006)

#42
post #22
post #20

All I could think of while reading this was, how am I supposed to type all those weird characters?

You can use Emacs: https://github.com/lokedhs/gnu-apl-mode Yes, I'm advertising my own work here.

Lazy query: do you do overstrikes? The keyboard one has to commit to memory is _so_ much smaller.

Re: APL – a Glimpse of Heaven (2006)

#43
post #22

Earlier quoted context omitted.

You can use Emacs: https://github.com/lokedhs/gnu-apl-mode Yes, I'm advertising my own work here.

Lazy query: do you do overstrikes? The keyboard one has to commit to memory is _so_ much smaller.

No, I don't do that. I didn't find it very hard to learn the full APL keyboard. That said, it should be easy to make a Quail-based input method for it. If you could provide me with a list of the necessary combinations to generate the APL symbols, I could help you out in making it.

Re: APL – a Glimpse of Heaven (2006)

#44
post #17

Earlier quoted context omitted.

5) It looks you could easily implement APL as a DSL within an existing language with an extensible parser. Racket, for instance. I'm working on something along these lines, but not planning on keeping the APL/J-like syntax (the many meanings of juxtaposition makes parsing a line depend on the run time values attached to names). You can get more of the core idea of APL out of prop:procedure than out of extensible pars…

I've been doing something similar as a gem to add J commands to Ruby: https://github.com/michaelfeathers/jop The fluent interface is likely to win because I don't want to implement hook and fork.

Are dyads only done by putting the other operand in the string of J code? Or is there a nice way to apply a dyad to two Ruby arrays? (I wasn't sure from the Readme if this is already there or your second point in "future directions," and I'm pretty new to Ruby)

Re: APL – a Glimpse of Heaven (2006)

#45

I have an issue with APL. My grandfather who is a researcher in forest science (sorry English is not my main language), made his own software in APL to manage his own forest. Now, he is becoming old, and trying to get me to get the software, and to understand it for when he will pass. The thing is, I'm a C++ dev professionally, but whenever I see his code in APL, I cringe. I can't get to make him understand that buil…

+1 for sharing it github (although git sucks ;) have you actually read the glimpse of heaven article? the tone of your comment made me suspicious... :/

i have basic, z80/x86/pic asm, forth, pascal, c, rebol, bash, awk, ruby, js experience. i've seen the game of life live coding demo a few years ago and also played with j while it was still closed source. to put it into perspective, im only 38yrs old.

after reading this glimpse of heaven apl article, its vibe hit me so im circling back to apl for the 3rd day already. i find it fun and elegant. the the keyboard layout is not an issue either; ⍳⍴×←=⍺⍵⌈⌊ were all very natural after a few minutes.

i would say, u would benefit greatly from learning apl. it's definitely not the past.

just have a look at the nile language for example: https://raw.github.com/wiki/damelang/nile/socal.pdf

bret victor wrote a nice interactive visualizer for it in js: http://tinlizzie.org/dbjr/high_contrast.html

cool shit is coming up and you will be left out if the only thing is c++ which you are comfortable with...

also it sounds quite heart breaking how you discount your grandfather's work... kinda disrespectful... and you are even wasting his time left on earth by recommending him to learn python? just spend a few hours with apl and it should be clear to you too why did he say python sucks. maybe try to implement a bit of his code in python or on a spreadsheet. that should be quite informative (and probably transformative) too.

Re: APL – a Glimpse of Heaven (2006)

#46
post #44

Earlier quoted context omitted.

I've been doing something similar as a gem to add J commands to Ruby: https://github.com/michaelfeathers/jop The fluent interface is likely to win because I don't want to implement hook and fork.

Are dyads only done by putting the other operand in the string of J code? Or is there a nice way to apply a dyad to two Ruby arrays? (I wasn't sure from the Readme if this is already there or your second point in "future directions," and I'm pretty new to Ruby)

No real nice way. I'm not sure where I am going to go with this, I could use a string interpolation but I'm hesitating.

Re: APL – a Glimpse of Heaven (2006)

#47
post #15

I did quite a bit of APL programming when I was younger. When describing APL, people talk about the strange symbols, the mathematics, etc... but I have never seen anyone describe something I only realized after some time: APL makes you approach problems quite differently, when you are familiar with it. I stopped thinking in 'steps' applied to the individual data points, but rather I solved the problem in my head (and…

Guy Steele actually mentioned this in some talk or other. The money quote (loosely from memory) was "APL makes you a better Common Lisp programmer. I was doing a matrix-tensor multiplication routine, and I was thinking about the nested loops, and then I realized it was mapcar of mapcar of apply, done." Sadly, I can't find the video.
Post reply on HN