
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
On Fri, Jun 20, 2008 at 3:20 PM, Bulat Ziganshin
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