Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
[[tags: egg]] == module-declarations [[toc:]] == Description Extends CHICKEN's [[/man/5/Declarations|declaration]] mechanism with forms for controlling modules, imports and exports. The source for this egg is available [[https://git.foldling.org/chicken-module-declarations.git|here]]. === Requirements * [[matchable]] == Usage {{module-declarations}} should be loaded as a compiler extension with the {{-extend}} (or {{-X}}) flag to {{csc}}: $ csc -extend module-declarations <file> === API When extended, {{module-declarations}} adds three declaration specifiers, [[#module|{{module}}]], [[#import|{{import}}]], and [[#export|{{export}}]]. These correspond to the [[/man/5/Modules|module forms]] of the same names. ==== module [declaration specifier] (module name) Wraps the current file in a [[/man/5/Modules#module|{{(module ...)}}]] form. Modules declared in this way implicitly import the {{scheme}} and {{chicken}} units before any others. If more than one {{module}} declaration is provided, the one appearing last takes precendence. ==== import [declaration specifier] (import library ...) Loads the given libraries into the current module using [[/man/5/Modules#import|{{import}}]]. If no {{module}} is declared, this specifier has no effect. ==== import-for-syntax [declaration specifier] (import-for-syntax library ...) Loads the given libraries into the current module using [[/man/5/Modules#import-for-syntax|{{import-for-syntax}}]]. If no {{module}} is declared, this specifier has no effect. ==== export [declaration specifier] (export identifier ...) Registers the given identifiers as exports of the current module, as with [[/man/5/Modules#export|export]]. If no {{module}} is declared, this specifier has no effect. === Example <enscript highlight="scheme"> (declare (module alphabet-soup) (import abc def ghi) (export uvw xyz)) ; module content follows... </enscript> == Author [[/users/evan-hanson|Evan Hanson]] == Repository [[https://git.foldling.org/chicken-module-declarations/|https://git.foldling.org/chicken-module-declarations/]] == License 3-Clause BSD
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you multiply 6 by 3?