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.

Tämä jakso on lisätty Podme-palveluun avoimen RSS-syötteen kautta eikä se ole Podmen omaa tuotantoa. Siksi jakso saattaa sisältää mainontaa.

Jaksot(726)

Episode 93: Lessons Learned From Architecture Reviews with Rebecca Wirfs-Brock

Episode 93: Lessons Learned From Architecture Reviews with Rebecca Wirfs-Brock

In this episode, Markus talks to Rebecca Wirfs-Brock on what she has learned from architecture reviews. This is a very complement to the earlier episode on architecture evaluation.

15 Huhti 200852min

Episode 92: Introduction to Game Development with Oliver Jucknath

Episode 92: Introduction to Game Development with Oliver Jucknath

In this Episode, Arno talks with Oliver Jucknath about the art of writing computer games. A lot of myth is attached to this area of computing, and while a game technically is just another program, it ...

7 Huhti 200848min

Episode 91: Kevlin Henney on C++

Episode 91: Kevlin Henney on C++

In this episode, we talk with Kevlin Henney about the C++ programming language. We look at the history and the culture of the language, and how it went through several phases in its evolution. We also...

30 Maalis 20081h 4min

Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

In this episode Charles Krueger, a well-known member of the product line engineering community, talks about his long term experiences in the field. Charles is also the founder and CEO of a company tha...

22 Maalis 200836min

Episode 89: Joe Armstrong on Erlang

Episode 89: Joe Armstrong on Erlang

In this Episode we're talking about Erlang with its creator Joe Armstrong. We started by looking at the history of the Erlang language and why it is so relevant today. We then looked at Joe's approach...

12 Maalis 200853min

Episode 88: The Singularity Research OS with Galen Hunt

Episode 88: The Singularity Research OS with Galen Hunt

In this episode we talk to Galen Hunt about the Singularity research OS. Galen is the head of Microsoft's OS Research Group and, together with a team of about 30 other researches, has built Singularit...

2 Maalis 200846min

Episode 87: Software Components

Episode 87: Software Components

In this episode, Michael and Markus talk about software components. We first looked at a couple of attempts at defining what a component is. We then provided our own definition that will be used in th...

21 Helmi 200859min

Episode 86: Interview Dave Thomas

Episode 86: Interview Dave Thomas

This episode is an interview with Dave Thomas (OTI Dave or Smalltalk Dave, not PragDave). We started our discussion with a look at the (non-)success of objects and components. We then discussed some h...

11 Helmi 200840min

Suosittua kategoriassa Koulutus

rss-murhan-anatomia
psykopodiaa-podcast
voi-hyvin-meditaatiot-2
adhd-podi
rss-rahamania
rss-laadukasta-ensihoitoa
rss-vapaudu-voimaasi
kesken
psykologia
rss-liian-kuuma-peruna
rss-narsisti
rss-niinku-asia-on
rss-arkea-ja-aurinkoa-podcast-espanjasta
rss-hereilla
dreamtalk
rss-keskeneraiset-aidit
ihminen-tavattavissa-tommy-hellsten-instituutti
rss-duodecim-lehti
rss-valo-minussa-2
rss-tfa-8020-podcast