Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
Episode 57: Compile-Time Metaprogramming with Laurence Tratt

Episode 57: Compile-Time Metaprogramming with Laurence Tratt

Zu Sammlung hinzufügen

Du hast noch keine Sammlungen.

Herunterladen (rechte Maustaste) Teilen Fundstellen Kommentare
0:00
44:54
This episode is about compile-time metaprogramming, and
specifically, about implementing DSLs via compile-time
metaprogramming. Our guest, Laurence Tratt, illustrates the idea
with his (research) programming language called Converge.

We started by talking about the importance of a custom syntax for
DSL and took a brief look at the definition of DSLs by a chap
called Paul Hudak. We then briefly covered the disctinction between
internal and external DSLs.

More to the point of this episode, we discussed the concept of
compile-time metaprogramming, and the language features necessary
to achieve it: in converge, these concepts are called splice,
quasi-quote and insertion. We then looked at how the Converge
compiler works, and at the additional features that are required to
implement DSLs based on the metaprogramming features mentioned
above. Using an example, we then walked through how to implement a
simple DSL.

Looking at some of the more technical details, we discussed the
difference between the parse tree and the abstract syntax tree and
at different kinds of parsers - specifically, the Earley parser
used by Converge. In multi-stage languages (i.e. languages that
execute programs and meta programs) error reporting is important,
but non trivial. We discussed how this is done in Converge. We
finally looked at how to integrate Converge's expression language
into your DSL and how to package DSL definition for later
use.

The last segment look at the process of implementing a DSL in
converge and about some of the history and practical experience
with Converge. Lessons learned from building Converge wrap up the
episode.
Episode melden

„Episode 57: Compile-Time Metaprogramming with Laurence Tratt“

Worum geht es? Danach fragen wir noch nach dem Grund.

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz