[Haskell-beginners] How to call popCnt64#?

John Ky newhoggy at gmail.com
Mon Mar 21 22:30:17 UTC 2016


Hi Michael,

Yes, that did the trick.

Thanks!

-John

On Mon, 21 Mar 2016 at 01:13 Michael Snoyman <michael at snoyman.com> wrote:

> Here's an example:
>
> {-# LANGUAGE MagicHash #-}
> import GHC.Prim
> import GHC.Types
> import Data.Word
>
> main :: IO ()
> main = do
>     let word = 5 :: Word
>         res =
>             case word of
>                 W# w -> W# (popCnt64# w)
>     print res
>
>
> On Sun, Mar 20, 2016 at 12:19 PM, John Ky <newhoggy at gmail.com> wrote:
>
>> Hello Haskellers,
>>
>> Does anyone know how to call popCnt64# from the GHC.Prim module?
>>
>> This was my failed attempt:
>>
>> λ> popCnt64# 1
>>
>>
>> <interactive>:14:11:
>> Couldn't match kind ‘*’ with ‘#’
>> When matching types
>> a0 :: *
>> Word# :: #
>> Expected type: Integer -> Word#
>> Actual type: Integer -> a0
>> In the first argument of ‘popCnt64#’, namely ‘1’
>> In the expression: popCnt64# 1
>> In an equation for ‘it’: it = popCnt64# 1
>>
>> -John
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20160321/b9dcb05f/attachment.html>


More information about the Beginners mailing list