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.Compiler

Description

This module contains an experimental Scheme to Haskell compiler.

The compiler performs the following transformations:

Scheme AST (LispVal) => Haskell AST (HaskAST) => Compiled Code (String)

The GHC compiler is then used to create a native executable.

At present, the focus has just been on creating a compiler that will generate correct, working code. Many optimizations could and need to be made for time and space...

Synopsis

Documentation

joinL :: forall a. [[a]] -> [a] -> [a] Source

compileApply :: Env -> LispVal -> CompOpts -> IOThrowsError [HaskAST] Source

Compiles each argument to a function call, and then uses apply to call the function