remove unnecessary
[fp.git] / src / Lambda / Parser / Fancy.hs
index 10231b8..3ad5728 100644 (file)
@@ -9,15 +9,20 @@
 -- Maintainer  :  tomik.musil@gmail.com
 -- Stability   :  experimental
 --
--- Parser for λ-terms. '.' in λ implies brackets to the end of the context.
+-- Parser for λ-terms. \'.\' in λ implies brackets to the end of the context.
 
 -- TODO: proper documentation
 
 module Lambda.Parser.Fancy 
-  ( tRead
+  (
+  -- * Main parser
+    tRead
   , parseTerm
+  -- * Auxiliary parsers
+  , parseVar
   )  where
 
+import Data.Char (isAsciiLower)
 import Data.Text as T hiding (map)
 import Data.Attoparsec.Text
 import Control.Applicative
@@ -52,12 +57,12 @@ tRead s = case parseOnly (parseTerm <* endOfInput) (T.pack s) of
 
 parseVar :: Parser Term
 parseVar = do
-  x <- many1 (letter <|> digit)
+  x <- many1 $ satisfy isAsciiLower
   return $! Var x
 
 parseLambda :: Parser Term
 parseLambda = do
-  char '\\' <|> char 'λ'
+  char '\\' <|> char 'λ' <|> char 'L'
   vars <- sepBy1 parseVar (char ' ')
   char '.'
   t <- parseTerm