purescript-0.4.20: 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 ErrorStack [Declaration]Source

Replace all sets of mutually-recursive declarations with binding groups

createBindingGroupsModule :: [Module] -> Either ErrorStack [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