[<<][meta][>>][..]
Sat Dec 24 13:25:35 EST 2011
APair
This is incorrect.
data TypeName = AFloat | AInt | ABool | AVoid -- atomic
| APair TypeName TypeName -- composite
deriving (Eq)
This cannot represent a pair of pointers, only pairs of primitives.
It looks like the Typename / Type system needs to be adjusted a bit.
Let's first factor it out.
It seems that TMLword should just give Type, not TypeName.
data TypeName = AFloat | AInt | ABool | AVoid -- atomic
| AStruct [Type] -- composite
deriving (Eq)
data Type = Type TypeName TypeOrder
deriving (Eq,Show)
class TMLword t where
primType :: t -> Type
Have to stop for a bit. Looks like I broke many things, among them I
introduced a "-> r" fundep that avoids mixing Code / Value
interpretations in the same module.
[Reply][About]
[<<][meta][>>][..]