Changeset 11877 for trunk/HasCASL/ParseItem.hs
- Timestamp:
- 03.07.2009 18:38:45 (5 months ago)
- Files:
-
- 1 modified
-
trunk/HasCASL/ParseItem.hs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/HasCASL/ParseItem.hs
r11328 r11877 127 127 <|> typeItemList [p] Plain 128 128 129 -- | several 'typeArg's130 typeArgs :: AParser st ([TypeArg], [Token])131 typeArgs = do132 l <- many1 typeArg133 return (map fst l, concatMap snd l)134 135 pseudoType :: AParser st TypeScheme136 pseudoType = do137 l <- asKey lamS138 (ts, pps) <- typeArgs139 d <- dotT140 t <- pseudoType141 let qs = toRange l pps d142 case t of143 TypeScheme ts1 gt ps ->144 return $ TypeScheme (ts ++ ts1) gt $ appRange qs ps145 <|> do146 st <- parseType147 return $ simpleTypeScheme st148 149 129 pseudoTypeDef :: TypePattern -> Maybe Kind -> [Token] -> AParser st TypeItem 150 130 pseudoTypeDef t k l = do 151 131 c <- asKey assignS 152 p <- p seudoType153 return $ AliasType t k p$ catRange $ l ++ [c]132 p <- parseType 133 return $ AliasType t k (simpleTypeScheme p) $ catRange $ l ++ [c] 154 134 155 135 -- * parsing datatypes