
6 Oct
2008
6 Oct
'08
1:37 a.m.
vigalchin:
Hello,
I am reading some extant Haskell code that uses Posix signals.... I am confused by the motivation of the following ...
type [1]Signal = [2]CInt [3]nullSignal :: [4]Signal [5]internalAbort :: [6]Signal [7]sigABRT :: [8]CInt [9]realTimeAlarm :: [10]Signal [11]sigALRM :: [12]CInt [13]busError :: [14]Signal [15]sigBUS :: [16]CInt
OK .. "type" is really just a synomym and doesn't invoke type checking like "data" type declarations do .. so why don't we have all the "CInts" substituted by "Signal"? I.e. what did I miss?
Looks like it should all be Signal, and probably should be using a newtype, to prevent funky tricks. The Posix layer is a bit crufty. -- Don