3 ms·
Interesting experience report. I've seen some comments on hn on people starting out like you do, but realizing after a year that they need to work really hard t
by kick 7y ago
Interesting experience report. I've seen some comments on hn on people starting out like you do, but realizing after a year that they need to work really hard to pickup old code. Do you imagine to have an easy time picking up your advent of code programs next December?
If you don't understand something in k or APL after writing it, you probably wrote it wrong to begin with.
A cool example of how much APL lends itself to this is co-dfns, which the author rewrote multiple times:
https://news.ycombinator.com/item?id=13799067 https://news.ycombinator.com/item?id=13799067
In particular, the desire to make the code as "disposable" as possible has lead to me using strictly combinatory/points-free style programming in the core compiler. It makes it very easy to change things because it's easy to see the whole picture and easier for me to delete any given piece of code. Many "fixes" in my code are single character APL fixes, or maybe two character APL fixes.
This whole discussion got started because of the amount of change that has happened with this code base (hundreds of thousands of lines). You can read more about that in the other historical threads referenced by dang. I've rewritten the compiler at least five times.