9 ms·
GNU APL 1.0
- lelf 13y agoRelease announcement http://lists.gnu.org/archive/html/info-gnu/2013-09/msg00014.html http://lists.gnu.org/archive/html/info-gnu/2013-09/msg00014.... | Hello, | I am happy to announce that, after a few years of development, GNU APL 1.0 has been released. | APL is an ancient programming language. | GNU APL has the latest and greatest features (nested arrays, complex numbers, shared variables) and is intended to be a full implementation of the ISO standard 13751 "Programming Language APL, Extended".
- cromwellian 13y agoWhen I first read the title, I thought it was some new license they were announcing. ;-)
- rrreese 13y ago>GNU APL is made up of about 50,000 lines of C++ code A GNU project in C++, isn't this unusual? EDIT: Today the GNU Coding standards says [1]: "When you want to use a language that gets compiled and runs at high speed, the best language to use is C. C++ is ok too, but please don’t make heavy use of templates. So is Java, if you compile it." Using the WayBack Machine to 2004 [2]: "When you want to use a language that gets compiled and runs at high speed, the best language to use is C. Using another language is like using a non-standard feature: it will cause trouble for users. Even if GCC supports the other language, users may find it inconvenient to have to install the compiler for that other language in order to build your program. For example, if you write your program in C++, people will have to install the GNU C++ compiler in order to compile your program. C has one other advantage over C++ and other compiled languages: more people know C, so more people will find it easy to read and modify the program if it is written in C. So in general it is much better to use C, rather than the comparable alternatives." [1] http://www.gnu.org/prep/standards/standards.html http://www.gnu.org/prep/standards/standards.html [2] http://web.archive.org/web/20041010060657/http://www.gnu.org/prep/standards/standards.html http://web.archive.org/web/20041010060657/http://www.gnu.org...
- sanxiyn 13y agoWell, even GCC uses C++ these days.
- jordigh 13y ago> A GNU project in C++, isn't this unusual? No, GNU Octave and gnash are also mostly written in C++: https://www.ohloh.net/p/gnash/analyses/latest/languages_summary https://www.ohloh.net/p/gnash/analyses/latest/languages_summ... https://www.ohloh.net/p/octave/analyses/latest/languages_summary https://www.ohloh.net/p/octave/analyses/latest/languages_sum... The GNU coding standards were altered not long ago to say that C++ is ok nowadays.
- brokenparser 13y agoBack in 2004, trying to compile C++ with g++ was like trying to skin a cat with a toothpick. It just gets really tedious after a while.
- dllthomas 13y agoMaybe C++ written against other compilers... I never had any problems working on (large-ish, not huge) C++ code bases written against g++ (and making good use of definitively C++ features like templates).
- alexcweiner 13y agoThis is great! I am a long time apl user and think that the symbols make things much easier to read.
- shaunxcode 13y agofor anyone interested in "modern APL" check out https://github.com/ngn/apl/ https://github.com/ngn/apl/ runs in node/browser and has good interop functionality so you can use APL where it makes sense.
- imsofuture 13y agoOr https://github.com/openj/core https://github.com/openj/core -- the GPL'd source to J. It's definitely not written in javascript, but you can use ASCII!
- terminalcommand 13y agoAPL looks like an interesting language. I am not very good at math, but the APL keyboard looks exciting, rather than frightening. http://en.wikipedia.org/wiki/File:APL-keybd2.svg http://en.wikipedia.org/wiki/File:APL-keybd2.svg
- Posibyte 13y agoAPL was one of those languages they shown us in college to be "A terrible thing, so be grateful for new languages like C." Looking at APL here, it actually looks really interesting.
- beagle3 13y ago> "A terrible thing, so be grateful for new languages like C." While a common sentiment, it has about as much merit as saying: "look at those japanese characters. You can't read them, therefore japanese is a terrible thing".
- erbo 13y agoI want to echo the comments of Wiz Zumwalt in The Wizardry Consulted: "Sure, if you've got a computer that can render hieroglyphics, and if you never need to remember what you did." On the other hand, Wiz later used a line of APL to stump a dragon in the riddle game. So there's that. (Wiz's coworker Jerry was exploring the use of APL as a language for their magic spell compiler, originally written in a Forth-like language.)
- lelf 13y agolife←{ ⍝ John Conway's "Game of Life". ↑1 ⍵∨.^3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵ ⍝ Expression for next generation. } http://www.youtube.com/watch?v=a9xAKttWgP4 http://www.youtube.com/watch?v=a9xAKttWgP4
- gtani 13y agomy first programming job (as in 12-14 hours/day) was mostly IBM APL2, some C and fortran (we often built parallel models that had to tie out to the penny). That's actually pretty idiomatic (doesn't use any language extensions from STSC, Sharp or IBM) but, um, I can't understand it. BTW, the last time i checked (the 90s?), the only decent book for learning APL was Polivka/Pakin, but doesn't seem readily available http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=apl+programming&rh=i%3Aaps%2Ck%3Aapl+programming http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3D...
- gaius 13y agoI used to work with a bunch of old geezers from IP Shsrp. Good times, tho' left my mind spinning!
- gtani 13y agoYeah, those Toronto guys hated IBM APL. I had a friend whose Dad got him a job in high school working for Ken Iversen at IBM, who taught him APL programming.
- protomyth 13y agoIs this the book? http://www.amazon.com/P-L-Prentice-Hall-automatic-computation/dp/0130388858/ref=sr_1_1_title_0_main?s=books&ie=UTF8&qid=1380308221&sr=1-1&keywords=0130388858 http://www.amazon.com/P-L-Prentice-Hall-automatic-computatio... or this http://www.amazon.com/Edition-Polivka-Raymond-published-Prentice/dp/B008DM6Z1K http://www.amazon.com/Edition-Polivka-Raymond-published-Pren...
- 13y ago
- beagle3 13y agoAPL is very nice. If you find it interesting, there are two descendants: J, which drops the special characters in favor of ASCII, and tries to retain (and improve on) APL's elegance with respect to math. K drops the special characters and a lot of the data structures, functions, operators and syntax, and tries to be as pragmatic as possible (including speed). K programs tend to be 30-50% shorter than the equivalent J or APL program, and much faster than APL (although comparable to J). If you prefer Ada or Pascal to C, or Haskell to OCaml, you'll like APL or J better. If you prefer C's shorthand to Ada's verbosity, and OCaml's pragmatism to Haskell's purity, you'll like K better. I like K better.
- bakul 13y agoI too like K better but it is nice to see another APL implementation and a free one at that. Also note that dyalog has made their commercial APL available on the RaspberryPi. The open source "kona" is close to K version3 (no longer available from kx.com as they have moved on to Q, another very powerful array / database language). So far kona is only 7.2K lines of C code though admittedly very dense code (it is sort of like writing K in C!).
- beagle3 13y agoYou are probably aware, but just in case: K (v4) is underlying Q. You can get to it by typing a single backslash followed by enter (or alternatively, prefixing a line with "k)", or loading a script that has the .k extension) K (v5) is shaping up here http://kparc.com/ http://kparc.com/ . Still early, but it looks like if Arthur Whitney ran the STEPS project, it would be closer to 2,000 lines, than to 20,000 ...
- gruseom 13y agoK (v5) is shaping up here http://kparc.com/ http://kparc.com/ Holy cow! I am floored that they are doing that. That is a hugely ambitious departure from the high-end enterprise niche they've always been limited to. How exciting. Please tell me this is all open source?
- fafner 13y agoIs there no public version control (git, bzr, svn, cvs, hg, whatever) for this or am I blind?
- julienchastang 13y agoI would really like to see an APL interpreter on an iPad or tablet device. Running APL on such devices where virtual keyboards can be customized would an interesting possibility for dealing with the APL glyphs. If only I had the time… Also +1 for ngn APL.
- cabacon 13y agoI mean, the J Software app is basically that, although J instead of APL. The terseness makes for a pretty good programming environment despite the slow input speed of the virtual keyboard. You don't get the unicode APL customisation you're talking about, but it's pretty close.
- tokenrove 13y agoSomeone needs to start a twitter account that tweets APL one-liners (or tell me about it, if it already exists).
- TheZenPsycho 13y agoand a browser extension that executes them in place.
- wslh 13y agoInitially I thought it was new license! just after looking at the comments I realized it was about the language.
- useful 13y agoI use APL daily because our production codebase is based on it and we are (thankfully) phasing it out. Imo, it's a giant calculator and has no place in production code
- antirez 13y agoI didn't tried too hard, but for 5 minutes I tried to find who is the author and failed. It is not good that GNU does not put some emphasis on people writing the software, I just see "GNU" everywhere and a citation of Stallman in the front page. Credit is due and is an important part of free software.
- verroq 13y agoHis name is in the man page (in the source, did you look there?). Also if you read this whole thread before commenting, you would have seen the project's very recent announcement on the GNU mailing list. http://lists.gnu.org/archive/html/info-gnu/2013-09/msg00014.html http://lists.gnu.org/archive/html/info-gnu/2013-09/msg00014.... No, Stallman isn't trying to steal Juergen Sauermann's work.