HM parser
[fp.git] / src / Lambda / Parser / Fancy.hs
index 9a1deb3..3ad5728 100644 (file)
@@ -22,6 +22,7 @@ module Lambda.Parser.Fancy
   , parseVar
   )  where
 
+import Data.Char (isAsciiLower)
 import Data.Text as T hiding (map)
 import Data.Attoparsec.Text
 import Control.Applicative
@@ -56,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