Fencing off Go: Liveness and safety for channel-based programming, Lange et al. POPL 2017 In the true spirit of POPL (Principles of Programming Languages), I present today's summary of 'Fencing off Go' : What more do you need to know? Let's try again :) Fencing off Go: Liveness and safety for channel-based programming, Lange et … Continue reading Fencing off Go: Liveness and safety for channel-based programming
Category: Programming Languages
From APIs to Languages: Generalising Method Names
From APIs to Languages: Generalising Method Names - Homer et al. 2015 We've just had OOPSLA 2015, so I'm going to dedicate a few days to some of the papers published in the program. We'll have to put the robotics to one side for a little bit - so many interesting papers and ideas, so … Continue reading From APIs to Languages: Generalising Method Names
Optimization Coaching for JavaScript
Optimization Coaching for JavaScript - St-Amour & Guo, 2015 Because modern programming languages heavily rely on compiler optimizations for performance, failure to apply certain key optimizations is often the source of performance issues. To diagnose these performance issues, programmers need insight about what happens during the optimization process. Consider the following program snippet from the … Continue reading Optimization Coaching for JavaScript
The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript
The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript - Pradel and Sen, 2015 Updated to fix conditional coercion example: "0" == "false" is false, but "0" == false is true. "JavaScript is notorious for its heavy use of implicit type coercions" - and many of those are … Continue reading The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript
Towards Practical Gradual Typing
Towards Practical Gradual Typing - Takikawa et al. 2015 This is the first in a selection of papers this week from the recent ECOOP '15 conference. What's the best building material? It's fairly easy to see that the answer depends on what you are building (e.g. a garden shed vs. a skyscraper), where you are … Continue reading Towards Practical Gradual Typing
Declarative Interaction Design for Data Visualization
Declarative Interaction Design for Data Visualization - Satyanarayan et al. 2015 We've looked at the power of declarative approaches before when it comes to data and distribution (The Declarative Imperative, Bloom, Edelweiss, and of course let's not forget SQL itself!); today's paper applies a declarative approach to interactive data visualizations. With thanks to Dion Almaer … Continue reading Declarative Interaction Design for Data Visualization
Out of the Tar Pit
Out of the Tar Pit - Moseley & Marks 2006 This is the final Desert Island Paper choice from Jonas Bonér, and a great way to round out the week. 'Out of the Tar Pit' was the 10th paper that I covered in the #themorningpaper series, but at that time I was only giving highlights … Continue reading Out of the Tar Pit
Recursive Programming
Recursive Programming - Dijkstra 1960 * Updated link to one that is not behind a paywall - thanks to Graham Markall for the catch * This paper deals with something we take so much for granted that it's hard to imagine a time when it had yet to be introduced to the world. That time … Continue reading Recursive Programming