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 173: Feature-Oriented Software Development with Sven Apel – Pt 2

Episode 173: Feature-Oriented Software Development with Sven Apel – Pt 2

Recording Venue: University of Passau Guest: Sven Apel Host: Stefan In this second episode on Feature-Oriented Software Development (FOSD), Sven Apel gives us an overview of programming language and t...

19 Maalis 201157min

Episode 172: Feature-Oriented Software Development with Sven Apel – Pt 1

Episode 172: Feature-Oriented Software Development with Sven Apel – Pt 1

Sven Apel explains why developing software in a feature-oriented manner is so vital for us as software engineers and why objects are simply not enough.

19 Helmi 201156min

Episode 171: Scala Update with Martin Odersky

Episode 171: Scala Update with Martin Odersky

This episode is an update on the developments around the Scala language.

2 Helmi 201152min

Episode 170: Large Agile Software Development with Bas Vodde

Episode 170: Large Agile Software Development with Bas Vodde

In this episode Michael talks with Bas Vodde about how to apply agile principles to large and distributed development organizations.

5 Tammi 201149min

Episode 169:  Memory Grid Architecture with Nati Shalom

Episode 169: Memory Grid Architecture with Nati Shalom

In this episode, Robert talks with Nati Shalom about the emergence of large-system architectures consisting of a grid of high-memory nodes.

30 Marras 20101h 3min

Episode 168:  Being a Consultant

Episode 168: Being a Consultant

This episode is about being a consultant in the software business.

22 Loka 201056min

Episode 167: The History of JUnit and the Future of Testing with Kent Beck

Episode 167: The History of JUnit and the Future of Testing with Kent Beck

In this episode we talk with Kent Beck about automated unit testing and JUnit.

26 Syys 201050min

Episode 166: Living Architectures with John Wiegand

Episode 166: Living Architectures with John Wiegand

This time we have John Wiegand on the mic for an episode on architectures and agile software development. We talk about the role of architectures in an agile world and why architectures change and nee...

18 Elo 201043min

Suosittua kategoriassa Koulutus

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