HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  

IN THE BRAIN OF ANDRES LöH, DATATYPE-GENERIC PROGRAMMING IN HASKELL
Haskell's deriving construct is both wonderful and magical at the same time: it is wonderful, because with just a single line of code, you can obtain functionality such as(de)serialization, comparison and traversal functions for your newly defined datatype; it is magical because all of this happens behind the scenes, by code deeply built into the compiler.

But does it have to be magic? Since recently, the Glasgow Haskell Compiler (GHC) supports a feature that lets you define your own derivable functionality! And it is not difficult to use, either. All you have to do is to understand a little bit about how Haskell datatypes can be uniformly represented using a limited set of simple datatypes. Then you define a class plus instances for this limited set of types, and get all the rest for free.

So-called datatype-generic functions let you properly express your code in terms of specific, user-defined datatypes without paying a price: for your new datatypes, you can still use lots of pre-defined functionality, simply by deriving it.

In the talk, I will explain all about how datatype-generic programming in GHC works, and I will present several examples of its use, including examples of how it already is successfully being used in some prominent Haskell libraries.
Tuesday 9th April 2013
 Track 1
 18:30-20:00     DATATYPE-GENERIC PROGRAMMING IN HASKELL
Andres LöhAndres Löh: In the talk, I will explain all about how datatype-generic programming in GHC works, and I will present several examples of its use, including examples of how it already is successfully being used in some prominent Haskell libraries. View the podcast here...
   


HASKELL PODCASTS
 :Developing Python with PyDev, Developing Python with PyDev
: 21st May 2013
View Podcast: Developing Python with PyDev,
Andres Löh:Datatype-Generic Programming in Haskell, Datatype-Generic Programming in Haskell
Andres Löh : 9th Apr 2013
View Podcast: Datatype-Generic Programming in Haskell,
Andrey Levushkin:Lambda|Wars, Lambda|Wars
Andrey Levushkin : 20th Mar 2013
Podcast Coming Soon: Lambda|Wars,
Paul Dale: Reducing cognitive bias in design with Scala, Reducing cognitive bias in design with
Paul Dale : 15th Mar 2013
View Podcast:  Reducing cognitive bias in design with Scala,
Nic Ferrier:Elnode: the evented IO web server, Elnode: the evented IO web server
Nic Ferrier : 15th Mar 2013
View Podcast: Elnode: the evented IO web server,
Simon Peyton Jones:Adventures with types, Adventures with types
Simon Peyton Jones : 15th Mar 2013
View Podcast: Adventures with types,
David Pollak:Across Time and Address Space: Lift 3.0, Across Time and Address Space: Lift 3.0
David Pollak : 15th Mar 2013
View Podcast: Across Time and Address Space: Lift 3.0,
Alain Frisch:LexiFi: describing financial contracts and extending OCaml, LexiFi: describing financial contracts a
Alain Frisch : 15th Mar 2013
View Podcast: LexiFi: describing financial contracts and extending OCaml,
Robert Rees:Comparing Scala and Clojure, Comparing Scala and Clojure
Robert Rees : 15th Mar 2013
View Podcast: Comparing Scala and Clojure,
Don Syme:F# in the open source world, F# in the open source world
Don Syme : 15th Mar 2013
View Podcast: F# in the open source world,
Nic Ferrier:This Year in Emacs, This Year in Emacs
Nic Ferrier : 19th Feb 2013
View Podcast: This Year in Emacs,
Andrey Levushkin:Lambda|Wars, Lambda|Wars
Andrey Levushkin : 6th Feb 2013
Podcast Coming Soon: Lambda|Wars,
Andrew Jones:Clojure at Nokia Entertainment, Clojure at Nokia Entertainment...
Andrew Jones : 22nd Jan 2013
View Podcast: Clojure at Nokia Entertainment,
Andrey Levushkin:Lambda|Wars, Lambda|Wars
Andrey Levushkin : 11th Dec 2012
Podcast Coming Soon: Lambda|Wars,
Don Syme:Practical Functional-first Programming with F# , Practical Functional-first Programming w
Don Syme : 1st Nov 2012
View Podcast: Practical Functional-first Programming with F# ,
OTHER HASKELL EVENTS
Michael C. Feathers:Masterclass: Reducing Technical Debt with Michael C. Feathers,  Reducing Technical Debt with Michael C. Feathers
2 DAY COURSE. Featuring Michael C. Feathers
London, Thursday, June 27th
Ashic Mahtab:Ashic Mahtab's Fasttrack to Git,  Ashic Mahtab's Fasttrack to Git
2 DAY COURSE. Featuring Ashic Mahtab
London, Monday, July 1st
Edsko de Vries:Well-Typed's Fast Track to Haskell,  Well-Typed's Fast Track to Haskell
2 DAY COURSE. Featuring Edsko de Vries
London, Monday, July 8th
Edsko de Vries:Well-Typed's Advanced Haskell,  Well-Typed's Advanced Haskell
2 DAY COURSE. Featuring Edsko de Vries
London, Wednesday, July 10th
Edsko de Vries  Lazy I/O and Alternatives in Haskell,  Lazy I/O and Alternatives in Haskell
FREE EVENT: In The Brain of Edsko de Vries
London, Wednesday, July 10th
Ashic Mahtab:Ashic Mahtab's Fasttrack to Git,  Ashic Mahtab's Fasttrack to Git
2 DAY COURSE. Featuring Ashic Mahtab
London, Monday, October 7th
Andres Löh:Well-Typed's Fast Track to Haskell,  Well-Typed's Fast Track to Haskell
2 DAY COURSE. Featuring Andres Löh
London, Monday, October 7th
Haskell eXchange 2013, Haskell eXchange 2013
CONFERENCE (1 DAY)
London, Wednesday, October 9th BOOK NOW!
© Copyright 2003-2013, Skills Matter Ltd
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Open Source Journal  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship  Jobs: HR Manager  jobs-Join Our Dev Team  DevOps Engineer  Front-End Engineer  Test Engineer