<div dir="ltr">If the instances are hand-rolled in base, you'll need:<div><br></div><div><pre style="margin-top:0px;margin-bottom:0px;color:rgb(68,68,68);font-size:13px"><span class="" style="color:rgb(57,116,96)">instance</span> <span class="" style="color:rgb(79,67,113)">Data</span> <span class="" style="color:rgb(79,67,113)">Version</span> <span class="" style="color:rgb(57,116,96)">where</span>
<span class="" style="color:rgb(51,51,51)">gfoldl</span> <span class="" style="color:rgb(51,51,51)">k</span> <span class="" style="color:rgb(51,51,51)">z</span> <span class="">(</span><span class="" style="color:rgb(79,67,113)">Version</span> <span class="" style="color:rgb(51,51,51)">bs</span> <span class="" style="color:rgb(51,51,51)">ts</span><span class="">)</span> <span class="">=</span> <span class="" style="color:rgb(51,51,51)">z</span> <span class="" style="color:rgb(79,67,113)">Version</span> <span class="" style="color:rgb(51,51,51)">`k`</span> <span class="" style="color:rgb(51,51,51)">bs</span> <span class="" style="color:rgb(51,51,51)">`k`</span> <span class="" style="color:rgb(51,51,51)">ts</span>
<span class="" style="color:rgb(51,51,51)">gunfold</span> <span class="" style="color:rgb(51,51,51)">k</span> <span class="" style="color:rgb(51,51,51)">z</span> <span class="" style="color:rgb(51,51,51)">c</span> <span class="">=</span> <span class="" style="color:rgb(57,116,96)">case</span> <span class="" style="color:rgb(51,51,51)">constrIndex</span> <span class="" style="color:rgb(51,51,51)">c</span> <span class="" style="color:rgb(57,116,96)">of</span>
<span class="" style="color:rgb(79,67,113)">1</span> <span class="">-></span> <span class="" style="color:rgb(51,51,51)">k</span> <span class="">(</span><span class="" style="color:rgb(51,51,51)">k</span> <span class="">(</span><span class="" style="color:rgb(51,51,51)">z</span> <span class="" style="color:rgb(79,67,113)">Version</span><span class="">)</span><span class="">)</span>
<span class="" style="color:rgb(57,116,96)">_</span> <span class="">-></span> <span class="" style="color:rgb(51,51,51)">error</span> <span class="" style="color:rgb(54,99,84)">"Data.Data.gunfold(Version)"</span>
<span class="" style="color:rgb(51,51,51)">toConstr</span> <span class="">(</span><span class="" style="color:rgb(79,67,113)">Version</span> <span class="" style="color:rgb(57,116,96)">_</span> <span class="" style="color:rgb(57,116,96)">_</span><span class="">)</span> <span class="">=</span> <span class="" style="color:rgb(51,51,51)">versionConstr</span>
<span class="" style="color:rgb(51,51,51)">dataTypeOf</span> <span class="" style="color:rgb(57,116,96)">_</span> <span class="">=</span> <span class="" style="color:rgb(51,51,51)">versionType</span>
<span class="">versionConstr</span> <span class="">::</span> <span class="" style="color:rgb(79,67,113)">Constr</span>
<span class="">versionConstr</span> <span class="">=</span> <span class="" style="color:rgb(51,51,51)">mkConstr</span> <span class="" style="color:rgb(51,51,51)">versionType</span> <span class="" style="color:rgb(54,99,84)">"Version"</span> <span class="">[</span><span class="" style="color:rgb(54,99,84)">"versionBranch"</span><span class="">,</span><span class="" style="color:rgb(54,99,84)">"versionTags"</span><span class="">]</span> <span class="" style="color:rgb(79,67,113)">Prefix</span>
<span class="">versionType</span> <span class="">::</span> <span class="" style="color:rgb(79,67,113)">DataType</span>
<span class="">versionType</span> <span class="">=</span> <span class="" style="color:rgb(51,51,51)">mkDataType</span> <span class="" style="color:rgb(54,99,84)">"Data.Version.Version"</span> <span class="">[</span><span class="" style="color:rgb(51,51,51)">versionConstr</span><span class="">]</span></pre>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 12, 2013 at 7:24 AM, Herbert Valerio Riedel <span dir="ltr"><<a href="mailto:hvr@gnu.org" target="_blank">hvr@gnu.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello *,<br>
<br>
As we're still in time to get this in before the GHC 7.8 freeze and this<br>
seems to be "the right thing" to do, are there any objections to<br>
implement this (specifically, adding a `deriving Data` to `base`s<br>
Data.Version for GHC 7.8.1)?<br>
<br>
Cheers,<br>
hvr<br>
<div class="HOEnZb"><div class="h5"><br>
On 2013-03-15 at 23:29:21 +0100, Edward A Kmett wrote:<br>
> +1 from me. I've had to use an orphan<br>
><br>
> Sent from my iPhone<br>
><br>
> On Mar 15, 2013, at 5:56 PM, David Lazar <<a href="mailto:lazar6@illinois.edu">lazar6@illinois.edu</a>> wrote:<br>
><br>
>> Hi,<br>
>><br>
>> Can we derive Data for Data.Version.Version? It would benefit Cabal.<br>
>><br>
>> Thanks,<br>
>> David<br>
>><br>
>> _______________________________________________<br>
>> Libraries mailing list<br>
>> <a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
>> <a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
"Elegance is not optional" -- Richard O'Keefe<br>
</font></span></blockquote></div><br></div>