Language.PureScript.Sugar.BindingGroups

purescript-0.15.15: PureScript Programming Language Compiler

Safe Haskell | None
Language | Haskell2010

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

- createBindingGroups :: MonadError MultipleErrors m => ModuleName -> [Declaration] -> m [Declaration]
- createBindingGroupsModule :: MonadError MultipleErrors m => Module -> m Module
- collapseBindingGroups :: [Declaration] -> [Declaration]

# Documentation

createBindingGroups :: MonadError MultipleErrors m => ModuleName -> [Declaration] -> m [Declaration] #

createBindingGroupsModule :: MonadError MultipleErrors m => Module -> m Module #

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

collapseBindingGroups :: [Declaration] -> [Declaration] #

Collapse all binding groups to individual declarations