A typeclass for byte operations?

Don Stewart dons at galois.com
Thu Feb 19 19:12:01 EST 2009


lemming:
>
> On Thu, 19 Feb 2009, Don Stewart wrote:
>
>> lemming:
>>>
>>> In contrast to Data.Bits it should use the proper parameter order, e.g.
>>>   rotateBytes :: Int -> a -> a
>>
>> Proper in the Okasaki sense?
>
> Unfortunately I don't know what Okasaki's sense is, but I refered to this 
> one:
>   http://haskell.org/haskellwiki/Parameter_order

You made me go and dig through the archives!

    http://article.gmane.org/gmane.comp.lang.haskell.libraries/3650/
    http://article.gmane.org/gmane.comp.lang.haskell.libraries/3654/

    In response to questions about why the convention of putting the
    data structure as the last argument...

    This style supports multiple operations nicely, especially with
    combined with the $ operator.  For example, to insert 3 elements
    into a set, you can say

        insert 1 $ insert 2 $ insert 3 $ someSet

    (the last $ is optional).  With the other argument ordering, you
    would say

        insert (insert (insert someSet 3) 2) 1

See the entire thread:

    http://thread.gmane.org/gmane.comp.lang.haskell.libraries/3622/focus=3650

from 2005.

-- Don


More information about the Libraries mailing list