|
| 1 | +--- |
| 2 | +title: arraylangs in hn |
| 3 | +categories: [apljk] |
| 4 | +--- |
| 5 | + |
| 6 | +A couple of links on HN this week about Array Programming Languages. |
| 7 | + |
| 8 | +# [Origins of J](https://news.ycombinator.com/item?id=38866622) |
| 9 | + |
| 10 | +Yet another one of the dissections of the J incunabulum. Some links to |
| 11 | +the B explanation, and one that I didn't know about: |
| 12 | +https://github.com/kparc/bcc/blob/master/d/sidenotes.md . Someone that |
| 13 | +worked with atw (Arthur Whitney) takes a dive into "understanding atw |
| 14 | +style". Very very cool. |
| 15 | + |
| 16 | + |
| 17 | +# [k on pdp11](https://news.ycombinator.com/item?id=38912406) |
| 18 | + |
| 19 | +Ktye's site has a bunch of k resources and implementations. This is |
| 20 | +one that I don't fully grasp ¯\_(ツ)_/¯. |
| 21 | + |
| 22 | +Ktye's site is, similar to nsl, or the old fravia's (30years ago), a |
| 23 | +rabbit hole from which you're not going out easily. Something I found in this dive: |
| 24 | + |
| 25 | +today: https://ktye.github.io/kdoc.htm#intro |
| 26 | + |
| 27 | + the source code looks like go but it isn't. it's a structural assembly language that |
| 28 | + also happens to satisfy the go compiler. |
| 29 | + a separate compiler parses the source and writes a k table intermediate representation. |
| 30 | + compilers written in k transform the IR to other languages: c go wasm wasi. |
| 31 | + the fact that the source can also be directly compiled with a go compiler simplifies |
| 32 | + bootstrapping testing and development by no small amount. |
| 33 | + |
| 34 | +:) |
| 35 | + |
| 36 | +# Array Programming and Lisp |
| 37 | + |
| 38 | +And an unrelated link, but I recently reread the lisp style guide from |
| 39 | +Norvig and Pitman, and it's always worth a |
| 40 | +[link](https://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf). I |
| 41 | +went there after reading this [Array Languages for Lisp |
| 42 | +Programmers](http://archive.vector.org.uk/art10500180) classic. The |
| 43 | +trigger was the lambda with default `x,y,z` params, that reminded me |
| 44 | +of Norvig's reader lambda `#L`.` |
0 commit comments