<div dir="ltr">It depends. The problem is ultimately that folks use Storable for many things. Sometimes it is native interop, but sometimes it is for serializing out to a known binary file format, etc. In the absence of these extra instances we do not have to choose its "real" role. If we added them then we'd start committing to one of those scenarios.<div><br></div><div>-Edward</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 29, 2015 at 12:46 PM, Mike Izbicki <span dir="ltr"><<a href="mailto:mike@izbicki.me" target="_blank">mike@izbicki.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Are the alignment issues for tuples not something that CPP could fix?<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Jun 29, 2015 at 8:18 AM, Edward Kmett <<a href="mailto:ekmett@gmail.com">ekmett@gmail.com</a>> wrote:<br>
> The main problem with adding those in general is that then we have to get<br>
> deeper into the business of packing and alignment. You need to add the<br>
> spacers for when the second structure isn't aligned with the first, and the<br>
> logic for that isn't cross-platform friendly.<br>
><br>
> -Edward<br>
><br>
><br>
><br>
> On Mon, Jun 29, 2015 at 11:04 AM, Henning Thielemann<br>
> <<a href="mailto:lemming@henning-thielemann.de">lemming@henning-thielemann.de</a>> wrote:<br>
>><br>
>><br>
>> On Mon, 29 Jun 2015, Edward Kmett wrote:<br>
>><br>
>>> Also, I wonder if () could be Storable:<br>
>>><br>
>>> instance Storable () where<br>
>>> sizeOf _ = 0<br>
>>> alignment _ = 1<br>
>>> peek _ = return ()<br>
>>> poke _ _ = return ()<br>
>>><br>
>>><br>
>>> No objection from me to any of them; a very strong +1.<br>
>><br>
>><br>
>> Btw. what about Storable (a,b) and Storable (a,b,c)?<br>
><br>
><br>
><br>
</div></div><div class="HOEnZb"><div class="h5">> _______________________________________________<br>
> Libraries mailing list<br>
> <a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
><br>
</div></div></blockquote></div><br></div>