4All code in PureScript is contained in a module. Modules are introduced using the ``module`` keyword::
10When referencing values or data types in another module, names may be qualified by using a dot::
19A module can be imported using the ``import`` keyword. This will create aliases for all of the values and types in the imported module::
25Alternatively, a list of names to import can be provided in parentheses::
31Values, type constructors and data constructors can all be explicitly imported. A type constructor should be followed by a list of associated data constructors to import in parentheses. A double dot (``..``) can be used to import all data constructors for a given type constructor::
35 import A (runFoo, Foo(..), Bar(Bar))
40Modules can also be imported `qualified`, which means that their names will not be brought directly into scope, but rather, aliased to a different module name. This can be helpful when avoiding naming conflicts::
44 import qualified Data.Array as A
48Here, the name ``null`` would ordinarily conflict with ``null`` from ``Data.Array``, but the qualified import solves this problem. ``Data.Array.null`` can be referenced using ``A.null`` instead.
53Module exports can be restricted to a set of names by providing that set in parentheses in the module declaration::
55 module A (runFoo, Foo(..)) where
57The types of names which can be exported is the same as for module imports.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list