MaintainerCS 131, Programming Languages (Melissa O'Neill, Chris Stone, Ben Wiedermann)
Safe HaskellSafe

SKAST

Description

You do not need to edit this file, nor do you need to even read it, if you don't want. But you might find it interesting anyway.

Synopsis

Documentation

type VarName = String #

Variables

data Expr #

Expressions

Constructors

Apply Expr Expr

application

Exactly Value

a value (doesn't need evaluation)

Instances

Show Expr # 

Methods

showsPrec :: Int -> Expr -> ShowS

show :: Expr -> String

showList :: [Expr] -> ShowS

data Value #

Literal values

Constructors

Int Integer 
Float Double 
Str String 
Builtin String (Value -> Value)

a builtin function

Instances

Show Value # 

Methods

showsPrec :: Int -> Value -> ShowS

show :: Value -> String

showList :: [Value] -> ShowS

printParens :: Bool -> Doc -> Doc #

a way to optionally add parentheses around an expression

(<+..>) :: Doc -> Doc -> Doc infixl 6 #

indentation

printExprPrec :: Int -> Expr -> Doc #

print an expression (given an operator precedence of the enclosing context)

app_prec :: Int #

The precedence of function application

printValuePrec :: Int -> Value -> Doc #

print a value