On Tuesday 04 December 2007 15:47:19 David Benbennick wrote:
> On Dec 4, 2007 11:51 AM, Don Stewart <[EMAIL PROTECTED]> wrote:
> > Awesome. We can use this in Data.Bits, if you've got some QuickChecks
> > for it.
>
> Hear hear.  But is there any way to just make the compiler use
> fastTestBit in place of testBit :: (Bits a) => a -> Int -> Bool when a
> = Integer?  (That is, without having to introduce a new function to
> the public interface of Data.Bits.)  Some kind of SPECIALIZE pragma,
> perhaps?
>
> I've attached a program with two QuickCheck properties.  Unfortunately
> they fail on negative Integers.  I can't figure out why.

No fancy specialization is needed.  Since testBit is part of the Bits class,
simply 'testBit = fastTestBit' in the instance for Integer.


Cheers,
Spencer Janssen

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to