Merlin: A Simple Actor-Based Language
Author
Kongshøj, Simon
Term
4. term
Education
Publication year
2007
Abstract
Denne afhandling undersøger, hvordan man kan bygge samtidige programmer ved hjælp af aktormodellen. Den er centreret om Merlin, et lille eksperimentelt programmeringssprog, udviklet for at afprøve idéer i aktorbaseret sprogdesign. Rapporten forklarer først grundlæggende begreber: hvad samtidighed er, almindelige modeller for samtidig beregning, og aktormodellen, hvor uafhængige aktører behandler beskeder og kan køre parallelt. Derefter dokumenteres Merlins design i detaljer, med fokus på centrale valg og kompromiser inden for aktorparadigmet. Hvert valg begrundes og sættes i perspektiv ved at sammenligne med tilgange i andre aktorsprog. Til sidst præsenteres en enkel fortolker for Merlin, der arbejder på sprogets abstrakte syntaks, og dens opbygning beskrives. Samlet set tydeliggør arbejdet praktiske udfordringer i aktorbaserede sprog, herunder håndtering af samtidighed, solide designvalg og implementeringsproblemer.
This thesis explores how to build concurrent programs using the actor model. It is centered on Merlin, a small experimental programming language created to test ideas in actor-based language design. The report first explains the basics: what concurrency is, common models of concurrent computation, and the actor model, where independent actors process messages and can run in parallel. It then documents the design of Merlin in detail, discussing key choices and trade-offs within the actor paradigm. Each decision is justified and put into perspective by comparing it with approaches in other actor languages. Finally, the thesis presents a simple interpreter for Merlin that operates on the language’s abstract syntax and explains how it works. Overall, the work clarifies practical issues in actor-based languages, including handling concurrency, making sound design decisions, and addressing implementation challenges.
[This abstract was generated with the help of AI]
Documents
