husk-scheme-3.6: R5RS Scheme interpreter, compiler, and library.

CopyrightJustin Ethier
LicenseMIT (see LICENSE in the distribution)
Maintainergithub.com/justinethier
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell98

Language.Scheme.Parser

Contents

Description

This module implements parsing of Scheme code.

Synopsis

Documentation

lispDef :: LanguageDef () Source

Language definition for Scheme

Higher level parsing

readOrThrow :: Parser a -> String -> ThrowsError a Source

Use a parser to parse the given text, throwing an error if there is a problem parsing the text.

readExpr :: String -> ThrowsError LispVal Source

Parse an expression from a string of text

readExprList :: String -> ThrowsError [LispVal] Source

Parse many expressions from a string of text

Low level parsing

parseExpr :: Parser LispVal Source

Parse an expression

parseDecimalNumber :: Parser LispVal Source

Parser for Integer, base 10

parseNumber :: Parser LispVal Source

Parse an integer in any base

parseRealNumber :: Parser LispVal Source

Parse a floating point number

parseHashTable :: Parser LispVal Source

Parse a hash table. The table is either empty or is made up of an alist (associative list)