On this page:
#%module-begin
require
require*

2 Core Remix

 #lang remix package: remix

The main remix language has a few differences relative to the Racket reader notation.

Furthermore, the remix language provides few bindings. Specifically, it provides only three bindings.

syntax

(#%module-begin f ...)

Expands to rkt:#%module-begin, but also cooperates with require*.

syntax

(require m ...)

Like rkt:require, except that if an imported module m provides #%required, then expands to (rkt:begin (rkt:require m) (#%required m)).

This allows, for example, required modules to inject code into modules that require them.

syntax

(require* m)

Legal only inside #%module-begin. (#%module-begin before ... (require* m) after ...) expands to (#%module-begin before ... (rkt:require m) (#%require*d after ...)) where #%require*d is provided by m.

This allows the required module control over the expansion of the remainder of the requiring module.