Lindsey Kuper, a computer science researcher, writes about distributed systems, programming languages, and CS history, and makes explanatory zines.
Commenters call her zines a delightful, well-illustrated way to explain CS topics like choreographies, and link her post on what 'transpiler' means.
The link to Lindsey Kuper's post https://decomposition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/ is great!
I think the note about generators may be a good definition for when one language is "more powerful" than another; at least it's a good heuristic:
> The input and output languages have the syntax of JavaScript but the fact that compiling one feature [generators] requires a whole program transformation gives away the fact that these are not the same language. If we’re to get beyond the vagaries of syntax and actually talk about what the expressive power of languages is, we need to talk about semantics.
If a given program change is local in language X but global in language Y, that is a way in which language X has more expressive power.
This is kind of fuzzy because you can virtually always avoid this by implementing an interpreter, or its moral equivalent, for language X in language Y, and writing your system in that DSL (embedded or otherwise), rather than directly in language Y. Then, that anything that would be a local change in language X is still a local change. But this sort of requires knowing ahead of time that you're going to want to make that kind of change.
Sadly https://people.csail.mit.edu/files/pubs/stopify-pldi18.pdf is 403. But possibly https://people.csail.mit.edu/rachit/files/pubs/stopify-pldi18.pdf is the right link.
Good point about teamware, though I think sun was a very unusual company, and particularly network focussed. Also, the internet itself had a decentralized design (for military robustness, IIRC).
Maybe making the core data structure be a merkle tree (not a separate data structure for validation) was new... at least, for version control? It seems monotone used merkle trees as an overlay https://decomposition.al/blog/2019/05/31/how-i-learned-about-merklix-trees-without-having-to-become-a-cryptocurrency-enthusiast/
I'm mainly going by larry, who told me that git's data structure wasn't from bitkeeper (but was "all his", IIRC). The significance is that this data structure can't model renames (of course, could do them as an overlay or decoration - though git doesn't)
Wow, it surprises me that there aren't more comments on this zine, which I find a delightful way to present interesting CS topics, detailed explanation and pages full of explanatory drawings that speak. The Zines page [0] mentions the definition of a zine:
> "a small-circulation print or online publication that is produced through noncommercial means and is meant to appeal to a niche audience"
So then, is "causally ordered message delivery", "introduction to choreographic programming", and "Fighting Faults in Distributed Systems" too niche for HN? Hand-crafted with human sweat and tears, no AI. Is that the reason then perhaps for the silent comment thread, i.e. TL;DP, "too long, doesn't prompt"?
[0] https://decomposition.al/zines/
From the very end of the linked article:
> Lindsey Kuper has a well-written article[1] on the same topic
> [1]: https://decomposition.al/blog/2017/07/30/what-do-people-mean-when-they-say-transpiler/
So maybe go read that one instead, because the linked article is sloppily written with lots of careless mistakes and an unclear motivation that probably the author was hazily aware of at the time of writing but failed to communicate.
Also he's wrong because of course there are transpilers and it's a meaningful word.
I link to the pdf directly in hopes that it gets more attention, a post from 7 hours ago (https://news.ycombinator.com/item?id=42330776) didn't get any.
I recommend people to check it out, it's delightful !
Very nice way to present a concept, and they must have put in a lot of work to it
The blog post introducing it is at https://decomposition.al/blog/2024/12/05/communicating-chorrectly-with-a-choreography-is-out/
For anyone looking for an easily digestible primer on choreographies: https://decomposition.al/zines/communicating-chorrectly-zine.pdf
Too bad the github readme doesn't explain how the choreographic side of Wyzer works, or even what it looks like (please correct me if I'm wrong, couldn't find it after a quick skim).