3 ms·
425,000 lines of APL code boggles the mind. It's like 10,000 pages filled with APL symbols. I guess that for normal non-APL programmers it's as close to an insc
by kryptiskt 3y ago
425,000 lines of APL code boggles the mind. It's like 10,000 pages filled with APL symbols. I guess that for normal non-APL programmers it's as close to an inscrutable alien artifact as you can find on Earth.
- jodrellblank 3y agoThis is valid Dyalog APL code, btw: :For i in 1 2 3 :If i > 2 ⎕←'Yes i greater than 2 happened' :EndIf :EndFor Repeat for other standard control flow, and OOP/Class work.
- 7thaccount 3y agoFuture historians may spend centuries trying to decode the Volvo Manuscript ;)
- pavlov 3y agoAn LLM can probably explain and translate it reliably. A model trained on the Internet has seen quite a lot of code and documentation about APL and its relatives.
- 7thaccount 3y agoOh I'm sure something could translate. I was just trying to be funny. Although aren't you assuming we won't have a large amount of knowledge loss in the upcoming centuries.
- nmz 3y agoI'm not an APL programmer but from what I heard, the opposite is true. (LLMs are really bad at array code.)
- xelxebar 3y agoNot at all. Using APL to solve real programming problems does lead you to cut concept space at different joints than mainstream programming, but once you have those concepts cached, APL isn't really "dense" so much as liberatingly direct. Instead of having a function "deleteNestedNodes" you just have "d t/⍨←(t=0)⍲d≥1" or some such, which 1) is actually visually shorter, 2) immediately gives you handles for modifying as needed, and 3) tells you algorithmic complexity on its face. That said, large corporate APL systems also use lots of standard architectural concepts like OOP, control structure flow, etc. and tend to have overall much less code density than you might expect, and the lines tend to be wicked short on average. So 425,000 lines isn't really "pages and pages of dense APL" in practice.
- nmz 3y agoThe really impressive thing is that 425k lines of APL probably translates to 10 million lines of C.