purescript-0.3.4: PureScript Programming Language Compiler

Safe HaskellNone



The main compiler module



compile :: Options -> [Module] -> Either String (String, String, Environment)Source

Compile a collection of modules

The compilation pipeline proceeds as follows:

  • Sort the modules based on module dependencies, checking for cyclic dependencies.
  • Perform a set of desugaring passes.
  • Type check, and elaborate values to include type annotations and type class dictionaries.
  • Regroup values to take into account new value dependencies introduced by elaboration
  • Generate Javascript, and perform optimization passes.
  • Pretty-print the generated Javascript