[make the parser handle newtype deriving without bailing out
John Meacham <john@repetae.net>**20060410073054] {
hunk ./src/DataP.lhs 10
->where 
+>where
hunk ./src/DataP.lhs 14
+>import List
+>import Monad
hunk ./src/DataP.lhs 20
->			constraints :: [(Class,Var)], 
+>			constraints :: [(Class,Var)],
hunk ./src/DataP.lhs 25
->	   | Directive 
+>	   | Directive
hunk ./src/DataP.lhs 27
->		deriving (Eq,Show) 
+>		deriving (Eq,Show)
hunk ./src/DataP.lhs 30
->		    types :: [Type]} deriving (Eq,Show) 
+>		    types :: [Type]} deriving (Eq,Show)
hunk ./src/DataP.lhs 38
->datadecl = do 
+>datadecl = do
hunk ./src/DataP.lhs 40
->               con <- opt constraint 
+>               con <- opt constraint
hunk ./src/DataP.lhs 49
->newtypedecl = do 
+>newtypedecl = do
hunk ./src/DataP.lhs 55
->	b <- conrecdecl 
+>	b <- conrecdecl
hunk ./src/DataP.lhs 61
->       do {x <- upper;xs <- many alphanum;return (x:xs)} +++ do 
+>       do {x <- upper;xs <- many alphanum;return (x:xs)} +++ do
hunk ./src/DataP.lhs 72
->	
+>
hunk ./src/DataP.lhs 75
->			"instance", "class", "module", "import", 
+>			"instance", "class", "module", "import",
hunk ./src/DataP.lhs 88
->-- haven't worked infixes into the program yet, as they cause problems 
+>-- haven't worked infixes into the program yet, as they cause problems
hunk ./src/DataP.lhs 104
->	constrs = fmap (\x -> [x]) one +++ 
+>	constrs = fmap (\x -> [x]) one +++
hunk ./src/DataP.lhs 112
->			(constructorP `sepby` symbol ",")
+>			(((type0 >>= return . show)) `sepby` symbol ",")
hunk ./src/DataP.lhs 121
->			deriving (Eq,Show)
+>			deriving (Eq)
+
+>instance Show Type where
+>       show (Var s) = s
+>       show (Con s) = s
+>       show (Tuple ts) = "(" ++ concat (intersperse "," (map show ts)) ++ ")"
+>       show (List t) = "[" ++ show t ++ "]"
+>       show (Arrow a b) = show a ++ " -> " ++ show b
+>       show (LApply t ts) = concat $ intersperse " " (map show (t:ts))
+
hunk ./src/DataP.lhs 155
->rectype :: Parser (String,Type) 
->rectype = do	
+>rectype :: Parser (String,Type)
+>rectype = do
hunk ./src/depend.make 28
+./UserRuleArbitrary.o : ./UserRuleArbitrary.hs
+./UserRuleArbitrary.o : ./RuleUtils.hi
hunk ./src/depend.make 46
+./UserRules.o : ./UserRuleArbitrary.hi
}
