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 101: Andreas Zeller on Debugging

Episode 101: Andreas Zeller on Debugging

In this episode we're talking to Andreas Zeller. about debugging. We started the discussion with an explanation of what debugging and how it works in principle. We then briefly discussed the relations...

20 Kesä 200834min

Episode 100: Software in Space

Episode 100: Software in Space

In this episode we're talking to Hans-Joachim Popp, CIO at DLR about software in space. We start out by reviewing some well-known accidents of unmanned space flight that were caused by software faults...

10 Kesä 200836min

Episode 99: Transactions

Episode 99: Transactions

This episode takes a close look at transactions from different angles, starting with their fundamental properties of Atomicity, Consistency, Isolation, Durability but also investigating advanced topic...

31 Touko 20081h 1min

Episode 98: Stefan Tilkov on REST

Episode 98: Stefan Tilkov on REST

In this episode we discuss REST (Representational State Transfer) with Stefan Tilkov. We started out by discussing the 5 steps to REST: IDs, links, Standard Methods, multiple representations and state...

23 Touko 200855min

Episode 97: Interview Anders Hejlsberg

Episode 97: Interview Anders Hejlsberg

In this episode we have the pleasure of talking to Anders Hejlsberg, Chief Language Strategist at Microsoft. We started by discussing his more distant past, namely, his involvement with Turbo Pascal a...

16 Touko 200848min

Episode 96: Interview Krzysztof Czarnecki

Episode 96: Interview Krzysztof Czarnecki

This episode is the long-awaited (and much requested) interview with Krzysztof Czarnecki, the author, together with Ulrich Eisenecker, of the book Generative Programming. In the interview we discusse...

8 Touko 200833min

Episode 95: The New Guardian.co.uk website with Matt Wall and Erik DoernenBurg

Episode 95: The New Guardian.co.uk website with Matt Wall and Erik DoernenBurg

In this episode we talk to Matthew Wall (Guardian News and Media) and Erik Doernenburg (Thoughtworks) about their work on the new guardian.co.uk website. We discuss the challenge of scalability and in...

1 Touko 200844min

Episode 94: Open Source Business Models with Dirk Riehle

Episode 94: Open Source Business Models with Dirk Riehle

In this episode we're talking to Dirk Riehle about open source business models. We started looking at the way OS projects work and defined different kinds of open source projects. In the main part of ...

23 Huhti 20081h 3min

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