In this talk, we describe how embedded domain-specific languages with flexible and varied semantics can be composed out of smaller constituent parts using algebraic effects and handlers.
Watch the video
Download the presentation slides (PDF)
The FACS 2022 AGM will be a hybrid event at the BCS London office and on Zoom 4PM start of AGM.
- Apologies (Jonathan Bowen)
- Minutes of the previous AGM (Roger Carsley/Jonathan Bowen)
- Chairman's Report (Jonathan Bowen)
- Liaison Reports – LMS/FME/NPL/Refinement Workshop (Andrei Popescu/Ana Calvalcanti/Keith Lines/Brijesh Dongol)
- Inclusion Report (Margaret West)
- Statement of Accounts (John Cooke)
- Election of Officers and Committee Members (Jonathan Bowen)
- Future events (Jonathan Bowen et al.)
- FACS FACTS newsletter (Tim Denvir/Brian Monahan)
- Any other business
A domain specific problem is usually best solved with a domain specific language that was crafted with the peculiarities of the problem in mind, but the difficulty is that building a new standalone language is a large and difficult task. This effort can be vastly reduced by embedding a domain-specific language into an existing host language and reusing much of its infrastructure, such as the parser, type system, compiler, and runtime system.
In this talk, we describe how embedded domain-specific languages with flexible and varied semantics can be composed out of smaller constituent parts using algebraic effects and handlers. This technique has been used by GitHub as part of their Semantic framework to allow the analysis of every push to repositories hosting code in multiple languages, without having to reimplement each analysis for each language.
About the speaker
Nicolas Wu, Imperial College London
Nicolas Wu is a Reader in Computer Science at Imperial College London where he leads the Functional Programming Group. His research interests are centred around programming languages, where he has made advances in applications of category theory for giving the semantics of programs and algorithms. His main contributions have been exploring the connections between domain specific languages, algebraic effect handlers, and structured recursion schemes.
Our events are for adults aged 16 years and over.
BCS is a membership organisation. If you enjoy this event, please consider joining BCS. You’ll be very welcome. You’ll receive access to many exclusive career development tools, an introduction to a thriving professional community and also help us make IT good for society. Join BCS today.
For overseas delegates who wish to attend the event, please note that BCS does not issue invitation letters.
BCS is following government guidelines and we would ask attendees to continue to also follow these guidelines. Please go to https://www.nhs.uk/conditions/coronavirus-covid-19/ for more information, advice, and instructions.
This event is brought to you by: BCS FACS SG - Formal Aspects of Computing