Ohhhh. I see. I guess the funny bit is that the size of a strictly evaluated unit type should be zero. So size zero is what I was thinking about.
On Saturday, December 19, 2015, Douglas McClean <douglas.mcclean@gmail.com> wrote:
My thinking was that an address p is valid for a type a iff p `mod` (alignment (undefined :: a)) == 0 and that, at least in most languages, x mod 0 is undefined. In contrast, anything mod 1 is 0.
On Dec 19, 2015 10:01 AM, "Carter Schonwald" <carter.schonwald@gmail.com> wrote:1 byte alignment might be tricky.When talking about storable, its helpful to keep in mind that it's meant to facilitate c interop, and ask what the corresponds with unit in c land, and I think the answer is 0 bits :)
On Friday, December 18, 2015, Douglas McClean <douglas.mcclean@gmail.com> wrote:If so, should its alignment be 1 or 0?Can the sizeOf a Storable type be 0?As far as I can see the documentation doesn't say. I wouldn't expect there to be a problem, but there also isn't an instance Storable (), which I was expecting to see.-Doug McClean