small cleanup
[cc1516.git] / yard.dcl
index 9f40539..08b2ff1 100644 (file)
--- a/yard.dcl
+++ b/yard.dcl
@@ -1,23 +1,31 @@
 definition module yard
 
 definition module yard
 
+from StdString import class toString
 from Data.Either import :: Either
 from Data.Either import :: Either
-from StdClass import class Eq
+from StdClass import class ==, class Eq
 from Data.Functor import class Functor
 from Control.Monad import class Monad
 from Control.Applicative import class Applicative, class Alternative
 from Data.Functor import class Functor
 from Control.Monad import class Monad
 from Control.Applicative import class Applicative, class Alternative
+from Data.Void import :: Void
 
 
+:: Error = PositionalError Int Int String | Error String
 :: Parser a b = Parser ([a] -> (Either Error b, [a]))
 :: Parser a b = Parser ([a] -> (Either Error b, [a]))
-:: Error = ParseException
-
-runParser :: (Parser a b) [a] -> (Either Error b, [a])
 
 instance Functor (Parser a)
 instance Applicative (Parser a) 
 instance Monad (Parser a)
 instance Alternative (Parser a)
 
 
 instance Functor (Parser a)
 instance Applicative (Parser a) 
 instance Monad (Parser a)
 instance Alternative (Parser a)
 
+instance toString Error
+
+runParser :: (Parser a b) [a] -> (Either Error b, [a])
+(<?>) :: (Parser a b) Error -> Parser a b
 fail :: Parser a b
 top :: Parser a a
 fail :: Parser a b
 top :: Parser a a
+peek :: Parser a a
 satisfy :: (a -> Bool) -> Parser a a
 satisfy :: (a -> Bool) -> Parser a a
+check :: (a -> Bool) -> Parser a a
+(until) infix 2 :: (Parser a b) (Parser a c) -> Parser a [b]
 item :: a -> Parser a a | Eq a
 item :: a -> Parser a a | Eq a
-list :: [a] -> Parser a [a] | Eq a
\ No newline at end of file
+list :: [a] -> Parser a [a] | Eq a
+eof :: Parser a Void