







The Temper programming language for solving problems once via ubiquitous libraries.
Coeffects: Context-aware programming languages
Interactive essay that explains theory of coeffects and lets you type-check and run sample programs.
Building personal tools by programming

Practical Foundations for Programming Languages
Modular: The Claude C Compiler: What It Reveals About the Future of Software
Compilers occupy a special place in computer science. They're a canonical course in computer science education. Building one is a rite of passage. It forces you to confront how software actually works, by examining languages, abstractions, hardware, and the boundary between human intent and machine execution.

The Green Side of the Lua
The United Nations' 2030 Agenda for Sustainable Development highlights the importance of energy-efficient software to reduce the global carbon footprint. Programming languages and execution models...

Convivial design heuristics for software systems
The theme of this workshop is the proliferation of ideas about calling into question the cultural roots of our current programming languages, and the search for alternative paradigms with other cultural bases.
Identifying Barriers to Adoption for Rust through Online Discourse (PLATEAU 2018) - SPLASH 2018
For PLATEAU 2019, see the workshop webpage at http://plateau-workshop.org/. Programming languages exist to enable programmers to develop software effectively. But programmer efficiency depends on the usability of the languages and tools with which they develop software. The aim of this workshop is to discuss methods, metrics and techniques for evaluating the usability of languages and language tools. The supposed benefits of such languages and tools cover a large space, including making programs easier to read, write, and maintain; allowing programmers to write more flexible and powerful ...

Old and new apps, via modern coding agents
I have been interested in machine-assisted ways to do and teach mathematics from as far back as 1999, when I started coding several applets in Java 1.0, both for my complex analysis and linear alge…

The Spoofax language workbench | Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
As part of the Digital Library's transition to Open Access, new features for researchers are available in the Premium Edition. Click here to learn more.


Live Coding with Quint
The mythical matched modules | Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Certified compilers are complex software systems. Like other large systems, they demand modular, extensible designs. While there has been progress in extensible metatheory mechanization, scaling extensibility and reuse to meet the demands of full ...

Rust Programming Language
A language empowering everyone to build reliable and efficient software.

Resugaring | Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation
Syntactic sugar plays a crucial role in engineering programming languages. It offers convenient syntax and higher-level of abstractions, as witnessed by its pervasive use in both general-purpose and domain-specific contexts. Unfortunately, the ...

Rust for Java developers
Introduction to the Rust programming language for java developers, (complete with code sampes) with a focus on shared concepts.
