I am still reading the web pages. Here is what I tried:
data SigNotify = Signal | None | Thread | ThreadId
instance Storable SigNotify where
sizeOf _ = (#const sizeof (int))
alignment _ = 1
poke Signal = (#const SIGEV_SIGNAL)
poke None = poke (#const SIGEV_NONE)
poke Thread = poke (#const SIGEV_THREAD)
poke ThreadId = poke (#const SIGEV_THREAD_ID)
but I got ...
Couldn't match expected type `Ptr SigNotify'
against inferred type `SigNotify'
In the pattern: Signal
In the definition of `poke': poke Signal = poke (0)
In the definition for method `poke'
Basically I want to marshall SigInfo constructors to CInt values. ??
Regards, Vasili
Hello Vasili,
Friday, June 20, 2008, 11:51:11 PM, you wrote:
> data Bonzo = A | B |C
> How do I write the poke functions and call them?instance Storable Bonzo
poke A = poke 0
poke B = poke 1
poke C = poke 4
call as "poke x"
probably, you don't understand differences between OOP classes and
type classes. look at http://haskell.org/haskellwiki/OOP_vs_type_classes
and papers mentioned there
--
Best regards,
Bulat mailto:Bulat.Ziganshin@gmail.com