Difference between revisions of "Applications and libraries/Generic programming"

From HaskellWiki
Jump to: navigation, search
m
(Work Plan)
(17 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{unknown copyright}}
 
{{unknown copyright}}
{{LibrariesPage}}
 
   
== Common library for generic programming ==
 
   
Johan Jeuring and Andres Loeh [http://article.gmane.org/gmane.comp.lang.haskell.general/14304/ announced] an initiative to design a common library for generic programming, which should work together with most of the Haskell compilers, and for which they hope to guarantee support for generics in Haskell into the future. If you want to get involved (or just want to see the discussion), you can subscribe to [http://www.haskell.org/mailman/listinfo/generics the generics mailing list]. Check the [http://haskell.org/haskellwiki/Research_papers/Generics Haskell research wiki] for some background on generics.
 
  +
==Recommended libraries==
  +
See [[Generics]]
   
=== Work Plan ===
 
  +
  +
== Old discussions ==
 
=== Common library for generic programming ===
  +
 
Johan Jeuring and Andres Loeh [http://article.gmane.org/gmane.comp.lang.haskell.general/14304/ announced] (in 2006) an initiative to design a common library for generic programming, which should work together with most of the Haskell compilers, and for which they hope to guarantee support for generics in Haskell into the future. If you want to get involved (or just want to see the discussion), you can subscribe to [http://www.haskell.org/mailman/listinfo/generics the generics mailing list] (mostly idle since ~2010). Check the [http://haskell.org/haskellwiki/Research_papers/Generics Haskell research wiki] for some background on generics.
  +
 
==== Work Plan ====
   
 
We have identified a number of approaches that are potential candidates to a generic programming library:
 
We have identified a number of approaches that are potential candidates to a generic programming library:
Line 12: Line 17:
 
<ul>
 
<ul>
 
<li><p>[[/Lightweight|A Lightweight Implementation Generics and Dynamics]]</p></li>
 
<li><p>[[/Lightweight|A Lightweight Implementation Generics and Dynamics]]</p></li>
<li><p>SYB (and variants)</p></li>
+
<li><p>[[/SyB| SYB (and variants)]]</p></li>
  +
<li><p>[[/Strafunski| Strafunski]]</p></li>
 
<li><p>Generics for the Masses</p></li>
 
<li><p>Generics for the Masses</p></li>
 
<li><p>Generics as a library</p></li>
 
<li><p>Generics as a library</p></li>
<li><p>Smash your Boilerplate</p></li>
+
<li><p>[[/Smash|Smash your Boilerplate]]</p></li>
 
<li><p>RepLib</p></li>
 
<li><p>RepLib</p></li>
 
<li><p>Extensible superclasses</p></li>
 
<li><p>Extensible superclasses</p></li>
Line 21: Line 26:
 
</ul>
 
</ul>
   
At the moment we are discussing the advantages and disadvantages of the different approaches. Each approach is roughly two weeks under discussion and the results will be published in this Wiki Page. There is also a darcs repository where you can find some code that we are collecting. For retriving this code do:
+
At the moment we are discussing the advantages and disadvantages of the different approaches. Each approach is roughly two weeks under discussion and the results will be published in this Wiki Page. There is also a darcs repository where you can find some code that we are collecting. For retrieving this code do:
   
> darcs get http://darcs.haskell.org/generics
+
> darcs get http://code.haskell.org/generics/
   
 
The template that we are using to summarise the different approaches can be found [[/Template|here]].
 
The template that we are using to summarise the different approaches can be found [[/Template|here]].
  +
  +
===Benchmark suite===
  +
We have developed a benchmark suite that tests the expressiveness of different generic programming libraries. For more information go to: [[GPBench]].

Revision as of 13:48, 12 February 2014

The copyright status of this work is not known. Please help resolve this on the talk page.


Recommended libraries

See Generics


Old discussions

Common library for generic programming

Johan Jeuring and Andres Loeh announced (in 2006) an initiative to design a common library for generic programming, which should work together with most of the Haskell compilers, and for which they hope to guarantee support for generics in Haskell into the future. If you want to get involved (or just want to see the discussion), you can subscribe to the generics mailing list (mostly idle since ~2010). Check the Haskell research wiki for some background on generics.

Work Plan

We have identified a number of approaches that are potential candidates to a generic programming library:

At the moment we are discussing the advantages and disadvantages of the different approaches. Each approach is roughly two weeks under discussion and the results will be published in this Wiki Page. There is also a darcs repository where you can find some code that we are collecting. For retrieving this code do:

> darcs get http://code.haskell.org/generics/

The template that we are using to summarise the different approaches can be found here.

Benchmark suite

We have developed a benchmark suite that tests the expressiveness of different generic programming libraries. For more information go to: GPBench.