purescript-0.4.1: PureScript Programming Language Compiler

Safe HaskellNone

Language.PureScript.Sugar.BindingGroups

Description

This module implements the desugaring pass which creates binding groups from sets of mutually-recursive value declarations and mutually-recursive type declarations.

Synopsis

Documentation

createBindingGroups :: ModuleName -> [Declaration] -> Either String [Declaration]Source

Replace all sets of mutually-recursive declarations with binding groups

createBindingGroupsModule :: [Module] -> Either String [Module]Source

Replace all sets of mutually-recursive declarations in a module with binding groups

collapseBindingGroups :: [Declaration] -> [Declaration]Source

Collapse all binding groups to individual declarations

collapseBindingGroupsModule :: [Module] -> [Module]Source

Collapse all binding groups in a module to individual declarations