Janet 1.38.0-73334f3 Documentation
(Other Versions:
1.37.1
1.36.0
1.35.0
1.34.0
1.31.0
1.29.1
1.28.0
1.27.0
1.26.0
1.25.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.1
1.17.1
1.16.1
1.15.0
1.13.1
1.12.2
1.11.1
1.10.1
1.9.1
1.8.1
1.7.0
1.6.0
1.5.1
1.5.0
1.4.0
1.3.1
)
Module Module
Index
module/add-paths module/cache module/expand-path module/find module/loaders module/loading module/paths module/value
(module/add-paths ext loader)
Add paths to module/paths
for a given loader such that the generated paths behave like other module types,
including relative imports and syspath imports. ext
is the file extension to associate with this module type,
including the dot. loader
is the keyword name of a loader in module/loaders
. Returns the modified
module/paths
.
A table, mapping loaded module identifiers to their environments.
(module/expand-path path template)
Expands a path template as found in module/paths
for module/find
. This takes in a path (the argument to
require) and a template string, to expand the path to a path that can be used for importing files. The
replacements are as follows:
:all: -- the value of path verbatim.
:@all: -- Same as :all:, but if
path
starts with the @ character, the first path segment is replaced with a dynamic binding(dyn <first path segment as keyword>)
.:cur: -- the directory portion, if any, of (dyn :current-file)
:dir: -- the directory portion, if any, of the path argument
:name: -- the name component of path, with extension if given
:native: -- the extension used to load natives, .so or .dll
:sys: -- the system path, or (dyn :syspath)
(module/find path)
Try to match a module or path name from the patterns in module/paths
. Returns a tuple (fullpath kind) where
the kind is one of :source, :native, or :image if the module is found, otherwise a tuple with nil followed by
an error message.
A table of loading method names to loading functions. This table lets require
and import
load many
different kinds of files as modules.
A table, mapping currently loading modules to true. Used to prevent circular dependencies.
The list of paths to look for modules, templated for module/expand-path
. Each element is a two-element tuple,
containing the path template and a keyword :source, :native, or :image indicating how require
should load
files found at these paths.
A tuple can also contain a third element, specifying a filter that prevents module/find
from searching that
path template if the filter doesn't match the input path. The filter can be a string or a predicate function,
and is often a file extension, including the period.
(module/value module sym &opt private)
Given a module table, get the value bound to a symbol sym
. If private
is truthy, will also resolve private
module symbols. If no binding is found, will return nil.