The preceding is a terse form of the code, you can write it more verbosely. But just like regex, terse forms can be very useful once you understand them. I could also see either the existing chain of ascii glyphs becoming more legible with some wisely-chosen syntax highlighting, or an editing environment where the ascii glyphs are used to produce something distinctive, and that might change how developers relate to the symbols.
Funny that you should say that. APL was designed to be easy to read, like how mathematicians can look at an equation and immediately get a feel for it. Also, another argument for this notation, is that you condense patterns to be very close to one another.
Notice in Java and C when you start using language features that support something like 'fluent' notation where you just append operators and the data 'flows' through. Eventually you'll start seeing obvious improvements, for instance a 'map' followed by a 'concat' might be better off as a 'collect'. APL and J focus on the idea of making very high level things accessible with symbols, and since the underlying structure is always an array, it's easier to judge what things are doing and when the operations can combine.
What's more, once you combine them, you give clues to the compiler about your intent, and often further optimizations can be done. It reminds me a bit of SQL Databases, in that the more indexes and constraints you add, the more the query execution can draw from to change the route a calc takes in order to try and do it more efficiently.
Interesting to consider what maybe could have been. I will support this, but only if IBM brings back the beam-spring keyboard. The beam-spring keyboards are still being made - someone bought the patents, tooling, and supplies from IBM and their main supplier, 22 years ago and has been making them ever since.
These are the buckling spring ones. But the beam spring was awesomer ;-. These guys are pretty amazing.
more than books
I can't recommend their keyboards enough. There are a ton of Model F's online for sale because they're not natively compatible with regular computer and thus need an adapter I believe , and they're just not as widely known. Also the Model F is a monstrous beast of a keyboard, that would make even a regular model M seem compact.
I just want an industrial gray Model M Space Saver. The guys at Unicomp were musing around the Space Saver layout. Not sure if they have the machinery, or the funds, to do the tooling to build it. APL looks like the best programming language I've ever seen. I wish it could be extended with SQL and web-service mappings to input-output data conveniently and to use functions written in other languages like C and Python for acceleration and rapid logic prototyping.
- 0. Beginnings?
- The APL Programming Language Source Code!
- Advanced Lingo for Games.
- Class Struggle and the Industrial Revolution: Early Industrial Capitalism in Three English Towns (University Paperbacks);
- Jimmy the Stick (Jimmy Quinn Mysteries, Book 1);
Well, there's K, along with its flagship database KDB which lets you write SQL-like queries and, from what I've heard, integrates very nicely with the language. Unfortunately, you need to pay for commercial use. Otherwise there's ipc clients, and a very nice native python integration now. Not exactly what you want, but you may want to check out F type providers.. FractalLP on May 29, Dyalog has a web server and a fully documented SQL library. I remember being floored by APL few months ago when I learned about co-dnfs and watched the stream by Aaron Hsu  with quotes like "This code is perfectly readable, it just isn't in English".
Thing is, when I was thinking about trying it, I never figured out a good toy project. Like, when I wanted to try anything else, most of the time I would know I would be able to cobble together a web-service. Haskell, Erlang, even Prolog. I understand co-dnfs to be self-hosting, so maybe a toy programming language?
Do some deep learning. It's very straightfoward, and you only need some trivial IO. Writing a programming language in APL is not for the faint of heart - co-dfns is, alongside it's performance goals, to show that compilers aren't necessarily a bad fit for APL. Incidentally, I wouldn't be shocked if you reached out to Aaron Hsu and he actually helped you. I sent him a related email and found him to be extremely cordial and informative.
FractalLP on May 28, I'd love for it to go more mainstream with a high performance open source implementation.
- Gimp: The Official Handbook: Learn the Ins and Outs of Gimp from the Masters Who Wrote the GIMP Users Manual on The Web;
- Explaining Federalism: State, Society and Congruence in Austria, Belgium, Canada, Germany and Switzerland (Routledge Series in Federal Studies).
- Dr. Mercolas Total Health Program: The Proven Plan to Prevent Disease and Premature Aging, Optimize Weight and Live Longer.
- A Play-Full Life: Slowing Down & Seeking Peace.
Dyalog is pretty good, and I like J, but feel the missing symbol leaves something out. It is standards compliant, It performs quite well, and can be easily extended.
The Role of APL < Application Laboratory < JAMSTEC
I have even added memmap vectors to it to achieve even more performance and to begin GPGPU integration. This is my primary use case -- interactive development followed by delivery via libapl. I think it requires a more expert user. I couldn't get the manual install process to work on Ubuntu and I believe it requires MinGW or Cygwin to work on Windows not for a beginner either.
Don't get me wrong, I'm really really glad it is there. Kx could be much bigger if they open sourced the q interpreter, tapped into a larger developer pool who could write libraries and add ons. There's more money in selling consulting services than licenses As much as I would love that, I do not think getting bigger is an issue for Kx. It seems to me they are doing quite well with their current model.
Register for a free account
I have read before sorry, I do not have the link that Arthur Whitney does not really believe in open source. That is unfortunate and a mistake, if you ask me. Even if he did not release a complete product, I would like to study his code. Reading and trying to understand kparc. I wish k. From what I understand, they've made millions off of the big banking clients and that is probably quite straightforward as opposed to making money off open source. Ruud-v-A on May 28, Could Numpy be considered the APL renaissance? Not in syntax, but conceptually?
No, not for terseness.
Numpy is nice because it extends Python in a reasonably good and efficient way but standalone it doesn't do much of anything and Python is so much more verbose than APL. That's the beauty of APL in a way: there really is nothing left to remove. It can be both! If we're going that way, I'd say Julia is closer. ChrisRackauckas on May 29, You can't define operator precedence though!!
That's a good thing. There was once a Julia talk about a really old programming language which disallowed any operator groupings without parens except for the basic seven or eight. No, it does not. I used APL professioally for about ten years back in the 80's. I love the language. It is incredibly powerful.
Once you internalize it's like playing the piano, you don't think about the mechanics you play music. However, the language did not stand the test of time for far more important issues than the inconvenience of the character set and the keyboard. J is an abomination. He made a mistake. He thought that abandoning notation --which is incredibly powerful-- would solve the APL popularity problem. What he ended-up creating was a royal mess of the first degree. It's garbage. APL could be very useful today but someone with the time and context needs to organize an effort to evolve it into a modern language that retains the power of what got branded as a "tool for thought" while adding layers of functionality that are sorely missing.
I wish I had the time to embark on this journey.
Related The evolution of APL
Copyright 2019 - All Right Reserved