Episode 57: Compile-Time Metaprogramming with Laurence Tratt

Episode 57: Compile-Time Metaprogramming with Laurence Tratt

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.

Denne episoden er hentet fra en åpen RSS-feed og er ikke publisert av Podme. Den kan derfor inneholde annonser.

Episoder(726)

Episode 77: Fault Tolerance with Bob Hanmer Pt. 1

Episode 77: Fault Tolerance with Bob Hanmer Pt. 1

In this Episode we discuss fault tolerance based on the new book by Bob Hanmer. This is the actually the first part of the discussion, the remainder will be published in the next episode of SE Radio. ...

13 Nov 200745min

Episode 76: Special Episode on the Patterns Journal

Episode 76: Special Episode on the Patterns Journal

In this special Episode we briefly discuss the upcoming Patterns Journal with the two editors, Ralph Johnson and James Noble.

9 Nov 200715min

Episode 75: The New Website

Episode 75: The New Website

In this special Episode we briefly discuss our new website. We will migrate to our new website during the coming week. If you experience any difficulties, contact the team or temporarily go to the old...

4 Nov 20077min

Episode 74: Enterprise Architecture II

Episode 74: Enterprise Architecture II

Enterprise Architecture is already common practice in most Fortune 100 companies. As the topic is comparably young, knowledge about it is not so widespread in the Software Architects Community, who de...

3 Nov 200745min

Episode 73: Real Time Systems with Bruce Powel Douglass

Episode 73: Real Time Systems with Bruce Powel Douglass

This episode is a conversation with Bruce Powel Douglass on real time systems. We started by discussing what real time software is, and explored the difference between hard and soft real time. We then...

24 Okt 20071h

Episode 72: Erik Meijer on LINQ

Episode 72: Erik Meijer on LINQ

This episode is a discussion with Erik Meijer on LINQ. This is a relatively technical discussion about the following topics: what is LINQ, what are the common abstractions between the different data s...

17 Okt 200752min

Episode 71: Survey Results

Episode 71: Survey Results

In this Episode I talk about the results of the listener survey and reply to some of the suggestions and criticism expressed in survey replies.

13 Okt 200732min

Episode 70: Gerard Meszaros on XUnit Test Patterns

Episode 70: Gerard Meszaros on XUnit Test Patterns

In this episode we talk with Gerard Meszaros about problems and challenges doing unit testing in real-world projects. Starting from a short discussion about the importance of automated unit testing we...

4 Okt 200752min

Populært innen Fakta

fastlegen
dine-penger-pengeradet
relasjonspodden-med-dora-thorhallsdottir-kjersti-idem
rss-bisarr-historie
foreldreradet
treningspodden
rss-strid-de-norske-borgerkrigene
jakt-og-fiskepodden
rss-kunsten-a-leve
mikkels-paskenotter
sinnsyn
rss-sunn-okonomi
hverdagspsyken
lederskap-nhhs-podkast-om-ledelse
rss-kull
fryktlos
hagespiren-podcast
dopet
gravid-uke-for-uke
tomprat-med-gunnar-tjomlid