- data SExpr
- data Atom
- type Indent = Int
- type Exporter = Functions -> FilePath -> IO ()
- data SchemeOptions = SchemeOptions {}
- defaultSchemeOptions :: SchemeOptions
- exprToSExpr :: Expr -> SExpr
- functionNameToSchemeName :: String -> String
- valueToSExpr :: Value -> SExpr
- exprToSchemeRepr :: Expr -> String
- exprToSchemePretty :: Expr -> String
- exprToScheme :: Expr -> String
- inl :: Int -> String
- sepLines2 :: [String] -> String
- functionsToSExprs :: SchemeOptions -> Functions -> [SExpr]
- functionsToPrettyScheme :: SchemeOptions -> Functions -> String
- defToSExpr :: SchemeOptions -> FunctionDefTuple -> SExpr
- exportScheme :: SchemeOptions -> Exporter
Documentation
type Exporter = Functions -> FilePath -> IO ()Source
The type of a function to export (user) functions to a file.
data SchemeOptions Source
SchemeOptions | |
|
exprToSExpr :: Expr -> SExprSource
valueToSExpr :: Value -> SExprSource
exprToSchemeRepr :: Expr -> StringSource
exprToScheme :: Expr -> StringSource
sepLines2 :: [String] -> StringSource
sepLines2 is like sepLines, but adds an extra n between each pair of lines so they are double spaced.
functionsToSExprs :: SchemeOptions -> Functions -> [SExpr]Source
Convert Sifflet Functions to Scheme SExprs
functionsToPrettyScheme :: SchemeOptions -> Functions -> StringSource
Convert Sifflet Functions to pretty Scheme
defToSExpr :: SchemeOptions -> FunctionDefTuple -> SExprSource
Convert a FunctionDefTuple to a Scheme SExpr. Use the form (define (name . args) body) except when there are zero arguments, which becomes a Scheme constant rather than a function, use (define name expr).
exportScheme :: SchemeOptions -> ExporterSource
Export functions to a Scheme file.