Require and Alias

require is used to express the dependency on other modules.

(require {module})

After require is called, the {module} can be used as a variable later.

It is not an expression, but an directive.

In addition, it provides you another, more convenient syntax to help you deal with particularly tedious module names.

(require {module} as {name})

At this point, you can use {name} as if it were {module}. {name} is an alias of {module}.

example:

(require examples/fibonacci)
(require examples/fibonacci as fib)
...
# we can use not only example/fibonacci #
(examples/fibonacci: 10)
# but also fib with the same effect. #
# they are essentially the same thing. #
(fib: 10)