我正在学习哈斯克尔Write yourself a scheme.
我目前正在尝试char在计划中实施认可.char是#\<character>或#\<character-name>喜欢#\a或#\或#\space.
所以我写了下面的代码:
-- .. some code ..
data LispVal = Atom String
| List [LispVal]
| DottedList [LispVal] LispVal
| String String
| Number Integer
| Bool Bool
| Char Char deriving Show
-- .... More code ...
parseChar :: Parser LispVal
parseChar = liftM Char (parseSingleChar <|> parseSpecialCharNotation)
parseSingleChar :: Parser Char
parseSingleChar = do string "#\\"
x <- letter
return …Run Code Online (Sandbox Code Playgroud)