Home
authors
Michael Homer
Fast & Easy ASTs for Flexible Embedded Interpreters
Exploring the Design Space for Runtime Enforcement of Dynamic Capabilities
JDala - A Simple Capability System for Java
Syntest-ACR: Automated Crash Reproduction for JavaScript
Reclaiming the Unexplored in Hybrid Visual Programming
Dafny vs. Dala: Experience with Mechanising Language Design
Designing Collaborative ScratchJr for Multi-touch Tabletops
CrashJS: A NodeJS Benchmark for Automated Crash Reproduction
In-line Compositional Visual Programming
Branching Compositional Data Transformations in jq, Visually
Multiple-Representation Visual Compositional Dataflow Programming
Interleaved 2D Notation for Concatenative Programming
Domain-Specific Visual Language for Data Engineering Quality
Blocks, Blocks, and More Blocks-Based Programming
Live 2D Compositional Programming
Swipe-and-Tap Functional Programming
Using Functional Reactive Programming to Define Safe Actor Systems
Calling Cards: Concrete Visual End-User Programming
Dala: A Simple Capability-Based Dynamic Language Design For Data-Race Freedom
A Partial Reproduction of A Guided Genetic Algorithm for Automated Crash Reproduction
Naïve Transient Cast Insertion Isn't (That) Bad
Poster: A Visual Programming Language for Cellular Automata
Taxonomy of Package Management in Programming Languages and Operating Systems
Which of My Transient Type Checks Are Not (Almost) Free?
First-Class Dynamic Types
Co-located Collaborative Block-Based Programming
Transient Typechecks are (Almost) Free
The Practice of a Compositional Functional Programming Language
An Agile Conversion Masters Degree Programme in Software Development
Towards collaborative block-based programming on digital tabletops
A goodput distribution model for planning IEEE 802.11 WBNs in built environments
Optimising Channel Assignment To Prevent Flow Starvation and Improve Fairness For Planning Single Radio WMNs In Built Environments
Lessons in Combining Block-Based and Textual Programming
Toward Virtual Machine Adaption Rather than Reimplementation
Grace's Inheritance
The Left Hand of Equals
Object Inheritance Without Classes
Beyond Types: Extending the Gradual Guarantee
Gradual typing is morally incorrect; we're all monsters now
From APIs to Languages: Generalising Method Names
Brand Objects for Nominal Typing
Simple Rules for Identifying Students on the Edge
Combining Tiled and Textual Views of Code
Graceful Dialects
A Tile-based Editor for a Textual Programming Language
Object Creation in Grace
Modules as Gradually-Typed Objects
Designing Grace: Can an Introductory Programming Language Support the Teaching of Software Engineering?
Seeking Grace: A New Object-Oriented Language for Novices
Patterns as Objects in Grace
Grace: the Absence of (Inessential) Difficulty
Graceful Patterns for Patterns in Grace
Michael Homer — 2026
b0231a86