Hacker News new | past | comments | ask | show | jobs | submit login

Aaron Hsu writes about this a lot. In an APL snippet, you often don't need layers of blackbox abstractions. You can see the whole thing at a macro layer. I'm sure it takes time though.



Mathematics is also written tersely but not this tersely, and nor is terse math easy to read for mathematicians.

Terse logic is also very different from terse names; how much of K brevity is just from name compression vs logical succinctness? Haskell people could also use single character names everywhere. When will they adopt the conveniences of fitting everything in as few pages as possible?

And what’s the point of fitting as much content as you can into one eyeball when working memory can’t consume a whole page of a non-succinct language like Python?


It's more than that though. APL symbols can operate on multi-dimensional data by default.


Layers of abstractions are useful though, they allow you to concentrate on what matters for the code in question.


In many cases I'd agree, but the author I'm referring to has a neat example. His APL GPU compiler doesn't have modules and multiple layers of abstractions. He has few named variables. Just a few pages of entirely data flow/parallel APL where you can see everything at the macro level. He did a show HN and several YouTube lectures on this. The abstractions hurt the ability to understand the code and made it take longer to make changes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: