<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-GB link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thank you!  This is great news.  Having a set of generic
libraries with a single owner would be great.   (Some comparative discussion
would be useful too, to help people select the right package for their needs.)<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Simon<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> generics-bounces@haskell.org
[mailto:generics-bounces@haskell.org] <b>On Behalf Of </b>José Pedro Magalhães<br>
<b>Sent:</b> 01 August 2008 07:37<br>
<b>To:</b> generics@haskell.org; libraries@haskell.org<br>
<b>Subject:</b> Re: [Hs-Generics] Re: Owning SYB<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal>Hello all,<br>
<br>
As Johan mentioned, here in Utrecht we are working on libraries for generic
programming. We want to make it easier for people to use generic libraries, so
we are packaging EMGM [1] and a library for generic programming for mutually
recursive datatypes [2]. We intend to release these on Hackage soon (Summer
vacations are delaying us a bit), along with useful generic applications (a
zipper and a generic rewriting framework).<o:p></o:p></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
Maintaining SYB fits well in this idea, and if no other natural maintainers
volunteer, I (with some support from the other people at Utrecht) am happy to
take it upon me. I probably won't do heavy development on the library, but
including patches, and providing support is fine. We're also planning to
maintain EMGM here in Utrecht, although we didn't develop that ourselves.<br>
<br>
Recently, (at least) Claus and Oleg have been posting interesting suggestions
of improvements/modifications to SYB. Those should be further analyzed and
discussed, and finally introduced (or not) in the library. The generic map for
SYB, for instance, evolved from the &quot;impossible to implement&quot;,
through the &quot;unsafe implementation&quot;, until the latest gmap2 as
described by Oleg [3]. If further tests show this function behaves as expected,
then it's clearly a good candidate for extending SYB. We should also rethink if
other things previously deemed impossible remain so.<br>
<br>
Maintaining SYB, alongside with the other generic libraries, will require
things such as:<br>
&nbsp;* Releasing packages in Hackage, properly documented with Haddock;<br>
&nbsp;* Updating such packages as necessary for new releases of GHC;<br>
&nbsp;* Writing examples of how to use the libraries (from a user perspective);<br>
&nbsp;* Writing testsuites, which are important for checking backwards
compatibility of any changes;<br>
&nbsp;* Having an updated webpage linking to the library sources,
documentation, possibly a bug tracker, etc.<br>
These are all things we plan to do for the libraries.<o:p></o:p></p>

</div>

<p class=MsoNormal>Additionally, we could think of improving syb-with-class [4]
in parallel with regular SYB. This is something to ask to its maintainer.<br>
<br>
<br>
Cheers,<br>
Pedro<br>
<br>
[1] <a
href="http://books.google.com/books?id=OyY3ioMJRAsC&amp;pg=PA199&amp;sig=ACfU3U1nczeRAIjN9mc_vYnL1LnYAs70NA"
target="_blank">http://books.google.com/books?id=OyY3ioMJRAsC&amp;pg=PA199&amp;sig=ACfU3U1nczeRAIjN9mc_vYnL1LnYAs70NA</a><br>
[2] <a href="http://www.cs.uu.nl/research/techreps/UU-CS-2008-019.html"
target="_blank">http://www.cs.uu.nl/research/techreps/UU-CS-2008-019.html</a><br>
[3] <a href="http://www.haskell.org/pipermail/generics/2008-July/000362.html"
target="_blank">http://www.haskell.org/pipermail/generics/2008-July/000362.html</a><br>
[4] <a
href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/syb-with-class"
target="_blank">http://hackage.haskell.org/cgi-bin/hackage-scripts/package/syb-with-class</a><o:p></o:p></p>

</div>

</div>

</div>

</body>

</html>