3 ms·
One wish of mine (because I'm working in a relational/array lang) is find a minimal implementation of K anotated and explained. Like "Let's build a array interp
by mamcx 8y ago
One wish of mine (because I'm working in a relational/array lang) is find a minimal implementation of K anotated and explained. Like "Let's build a array interpreter" like with http://www.craftinginterpreters.com/ http://www.craftinginterpreters.com/.
- beagle3 8y agoI’m on mobile so you’ll have to google yourself, but ... There was such a series based on Lisp that included a mini APL interpreter (among others) by .. Tim something? Specifically for K, John Earnest’s oK is a wonderful K implementation in JavaScript. It’s not “crafting interpreters” of course, but IIRC it is well written and well documented, definitely not the terse Whitney style.
- mamcx 8y agoI take a look at https://github.com/JohnEarnest/ok/blob/gh-pages/oK.js https://github.com/JohnEarnest/ok/blob/gh-pages/oK.js and is still dense. Is possible to trace things but the important stuff is understand why things are done that way. I read also https://sblom.github.io/openj-core/ioj.htm https://sblom.github.io/openj-core/ioj.htm that give more context.
- beagle3 8y agooK is ultra verbose compared to Whitney ... not sure if you can find anything more verbose than that. I was thinking of Tim Budd's interpreters and compilers; forgot they were reimplementation of Kamin's. See https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/kamin/0.html https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/... - although it's early '90s, so likely too dated to be useful for you.