Skip to content
0:00 / 0:00

#haskell#genericprogramming#edsl

BOB 2017 - Andres Löh: Write one program, get two (or three, or many)

BOBKonf

978 subscribers • 7 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Andres Löh

Advanced. Deep dive for people who know the field.

1.2K views9 years ago1 recommendation

Programming languagesSoftware designHaskellFunctional programmingDesign patterns

Andres Löh explains how to use embedded domain-specific languages and generic programming in Haskell to generate multiple interpretations from a single program.

BOB 2017 video: bobkonf.de/2017/loeh.html

Why it's here

1 person recommends this

What people say. Recommended as a great introduction to the power of EDSLs and generic programming in Haskell.

u/edskoin r/haskell • Recommends

BOB 2017 - Andres Löh: Write one program, get two (or three, or many)

u/brnhyin r/haskell • Mentions

On “Automatic JSON versioning with backwards compatibility”

…nGrammar`. A more modern generalisation of the Invertible Syntax paper, as well a S-expression implementation: * https://hackage.haskell.org/package/invertible-grammar * https://hackage.haskell.org/package/sexp-grammar JSON grammar: * https://hackage.haskell.org/package/JsonGrammar * Andres Löh: Write one program, get two (or three, or many) - link to this video The 'original' paper: * https://hackage.haskell.org/package/invertible-syntax * http://www.informatik.uni-marburg.de/~rendel/unparse/…

u/kosmikusin r/haskell • Mentions

On “CS SYD - Announcing `autodocodec`”

Generic programming is the wrong approach to use for something that makes up part of the external interface / API of your application. An API should be designed, and it should not be determined by accident by the way in which some generic algorithm is implemented. I make this point in an older BOB conference talk of mine (link to this video, slides), which among other things mentions packages such as JsonGrammar and roundtrip as examples. At first glance, autodocodec seems like a modernised / more maintained version of JsonGrammar, which is great and something I've been looking for for quite a while. It looks like there are a number of differences in the approach, in particular how the parsing of al…