-- | The big compilation function, chains together each section of the
-- compiler and returns a list of C declarations
compileScheme :: [SDec UserPrim] -> Compiler [CExtDecl]
compileScheme = addPrimops >=> makeMain >=> cpsify >=> optimizeCPS >=> closConvert >=> codegen
  where addPrimops = return . (++prims)

-- | Pretty print the C code with proper includes
compileScheme :: [SDec UserPrim] -> Compiler [CExtDecl]
compileScheme = addPrimops >=> makeMain >=> cpsify >=> optimizeCPS >=> closConvert >=> codegen
  where addPrimops = return . (++prims)

-- | Pretty print the C code with proper includes
compileScheme = addPrimops >=> makeMain >=> cpsify >=> optimizeCPS >=> closConvert >=> codegen
  where addPrimops = return . (++prims)

-- | Pretty print the C code with proper includes