C

composition.al

composition.al · Personal blog · on HN since 2013

Lindsey Kuper, a programming languages researcher, writes about compilers, parallelism, concurrency, distributed systems, and verification.

What HN saysHN commenters recommend 'My First Fifteen Compilers' and link her posts on verifying neural-network collision avoidance, though one finds the compiler book it describes parsing-heavy.
45HN people shared it
15linked it in comments
42stories submitted
802story points
5 years agolast shared
2013people per year2026

Most-shared posts

  1. 1
    What do people mean when they say “transpiler”?
    4 people · 77 points · first shared 2017 · 74 comments on HN
  2. 2
    My first fifteen compilers
    3 people · 387 points · first shared 2017 · 76 comments on HN
  3. 3
  4. 4
    Say “experts” instead of “smart people” (2015)
    3 people · 5 points · first shared 2015 · 1 comments on HN
  5. 5
    Disorder and determinism
    2 people · 10 points · first shared 2014 · discussion on HN
  6. 6
    Browser extensions are kernel modules for browsers
    2 people · 4 points · first shared 2015 · discussion on HN
  7. 7
    The power of blogging with plain old versioned text
    2 people · 3 points · first shared 2017 · discussion on HN
  8. 8
    Parallel programming in JS
    2 people · 3 points · first shared 2015 · discussion on HN
  9. 9
  10. 10
    Some misconceptions about Hacker School
    2 people · 2 points · first shared 2013 · discussion on HN
  11. 11
  12. 12
  13. 13
    My students made zines, and so can you(rs)
    1 people · 61 points · first shared 2019 · 7 comments on HN
  14. 14
  15. 15
    Browser extensions are kernel modules for browsers
    1 people · 34 points · first shared 2015 · 12 comments on HN

What HN people wrote when they linked it

torstenvl · 2019-08-05
Eugene Wallingford at the University of Northern Iowa recommends "My First Fifteen Compilers" http://composition.al/blog/2017/07/31/my-first-fifteen-compilers/ I haven't tried it yet, but it's on my list of "someday" projects
ernst_klim · 2019-12-13
sigh Yet another book which spends more than 1/3 of its pages on parsing. Syntax doesn't matter (much), semantics matters. You need to know how to implement efficiently various PL stuff within your compiler: exceptions and algebraic effects, modules and parametric modules, parametric polymorphism and optimizations for it in presence of modularity, fibers, method dispatching in Object Oriented langs, type inference etc etc. These books are about parsing, not about compilers. They spend a lot of time explaining how to parse a simple featureless language, instead of just use a parser generator and focus on actual programming languages design and features. Appel's Modern compiler in ML/Java/C is way better. Also there is a great course from the creator of Chez Scheme (I bet I've seen the whole course available in the internet, but I couldn't find it anymore) https://www.cs.princeton.edu/~appel/modern/ http://composition.al/blog/2017/07/31/my-first-fifteen-compilers/
fulafel · 2021-10-20
The definition this article puts up is, without references, is: " A transpiler on the other hand is a tool that converts between two languages while keeping the same level of abstraction. A theoretical perfect transpilation is therefore a two-way process where you could go back and forth between languages." Is the level same-level-of-abstraction really part of the usual meaning of the term? Here's a blog post by Lindsey Kuper that finds around 5 meanings, with only one of them (and being an unsourced Wikipedia article to boot) converging to the same idea about abstraction leve: http://composition.al/blog/2017/07/30/what-do-people-mean-when-they-sa…
moyix · 2021-07-31
I don't know if they have made it into production yet (probably not?) but Lindsey Kuper wrote a nice pair of posts on how DNNs can replace an existing collision avoidance system (ACAS), and how to verify whether it's still safe after doing so: http://composition.al/blog/2017/05/30/proving-that-safety-critical-neu… http://composition.al/blog/2017/05/31/proving-that-safety-critical-neu…
avinassh · 2021-06-04
1. MIT's 6.824: Distributed Systems - https://pdos.csail.mit.edu/6.824/ Lectures are available on Youtube. Assignments code and test runner are also available on the course page. 2. The Book Designing Data-Intensive Applications by Martin Kleppmann and the Youtube videos - https://www.youtube.com/watch?v=UEAMfLPZZhE&list=PLeKd45zvjcDFUEv_… 3. Distributed Systems course by Lindsey Kuper - http://composition.al/CSE138-2020-03/ 4. CMU's Database Systems and Advanced Database Systems by Andy Pavlo
arethuza · 2019-02-20
Well, here is someone suggesting that they orthogonal: http://composition.al/blog/2014/11/24/yet-another-blog-post-about-how-…
tenkabuto · 2018-05-31
I quite like the visualizations, but I'm not too interested in writing on a new site. I feel inspired to try my hand at making similar visualizations of the commits I make to my wikis (blogs), inspired also by cw and http://composition.al/blog/2017/11/29/the-power-of-blogging-with-plain…
sjrd · 2017-09-02
> From what I understand, the definition of a transpiler is one which almost exclusively performs syntax-syntax transforms, and doesn't delve into the semantics with e.g. dataflow or control flow. I suggest you read the other article from the same author, linked at the beginning of this article: http://composition.al/blog/2017/07/30/what-do-people-mean-when-they-sa… . You will see that there is no such thing as "the definition of a transpiler".
gtani · 2017-07-11
This seems to be a newly hot topic, whether to fight adversarial inputs or looking for efficiencies. I bookmarked a few relevant blogs (but really need to read more deeply) http://composition.al/blog/2017/05/31/proving-that-safety-critical-neu… http://www.cleverhans.io/security/privacy/ml/2017/06/14/verification.h… https://blog.foretellix.com/ and another preprint: https://arxiv.org/abs/1706.10268
jarek · 2014-09-19
I saw an idea of writing about rejections and failures in science earlier this year, e.g. http://composition.al/blog/2014/04/29/rejections/ I think there's still risk of others reading a list like that and thinking "look how much they _do_", but it's definitely an improvement on the usual pattern of sharing only successes and good news.
noshbrinken · 2017-09-11
> The trend started by minifiers like UglifyJS and continued by transpilers like Babel will only accelerate. Not to be pedantic, but are UglifyJS and Babel "frameworks"? Not a Ember user, so maybe Ember has some sort of built-in source code transformer and that's what the author is referring to? I think the basic idea that JavaScript developers, especially those working in a browser environment, will increasingly write source code that compiles to JavaScript "bytecode" is not a recent idea. A much more nuanced reflection on that idea can be found here: http://composition.al/blog/2017/07/30/what-do-people-mean-when-they-sa… With all the hand-wringing about "JavaScript fatigue", it's a little bit sad that prominent JavaScript developers use titles like "Compilers are the New Frameworks". The tone of this title is the tone of a bell ringing for the next round of JavaScript fad musical chairs.
jvns · 2017-07-24
Dan Luu has a list of programming blogs you might like: https://danluu.com/programming-blogs/. The rest of his blog is good too! a few of my favorite blogs: - http://blog.acolyer.org for fantastic daily summaries of CS papers. - http://stephaniehurlburt.com/blog/ -- she has a business creating a new compression algorithm and I love reading about it - https://rachelbythebay.com/w/ is pure gold for weird debugging stories - https://accidentallyquadratic.tumblr.com/ is always a fun read - http://wingolog.org/ on building compilers - http://composition.al/blog -- Lindsey Kuper on her programming languages research - aphyr's blog on distributed systems, of course - https://charity.wtf/ - http://www.pgbovine.net/writings.htm -- Philip Guo is a CS professor whose blog on his experiences in academia I really like - http://whilefalse.blogspot.com by Camille Fournier, mostly on engineering management - http://larahogan.me/blog/ by Lara Hogan, on engineering management Also I think this comment from Dan's blog (https://danluu.com/about/) is very true and important: > I view that as a sign there’s a desperate shortage of understandable explanation of technical topics. There’s nothing here that most of my co-workers don’t know (with the exception of maybe three or four posts where I propose novel ideas). It’s just that they don’t blog and I do. I’m not going to try to convince you to start writing a blog, since that has to be something you want to do, but I will point out…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close