chalk

Syntax for in-source documentation

  1. chalk
    1. Read syntax
    2. Compiling and running programs
    3. Author
    4. Version History
    5. License

The chalk module defines a special syntax meant to be used for in-source documentation of scheme code.

The chalk program from the chalk-bin egg provides the actual implementation of documentation generation, and specifies an internal syntax described on that page.

Read syntax

[read] @(...)
[read] @"..."

A read-syntax starting with @ and directly followed by a list or string expression (meaning, no whitespace in between) that is completely ignored by the interpreter and compiler. The internal syntax of the list expression is not specified by this module.

Compiling and running programs

To compile a scheme file containing chalk special syntax, you can use -X chalk. For script usage (e.g. with csi -s), you can use import chalk.

csc my-code.scm -X chalk

Author

Diego A. Mundo

Version History

1.0.2
Add back @"..." shorthand
1.0.1
Fix parameterize on C5
1.0.0
First release splitting syntax from executable
0.3.5
Add support for define-library
0.3.4
Allow multiple strings as description
0.3.3
Reduce line spacing, change license options
0.3.2
Add multi-line script support
0.3.1
Fix bug: release-info not ignored on ignore-egg
0.3.0
Add support for records and syntax
0.2.0
Add @example, listed function parameters, script caption
0.1.0
Initial version

License

BSD

Copyright (c) 2020 Diego A. Mundo 
All rights reserved. 
 
Redistribution and use in source and binary forms, with or without 
modification, are permitted (subject to the limitations in the disclaimer 
below) provided that the following conditions are met: 
 
     * Redistributions of source code must retain the above copyright notice, 
       this list of conditions and the following disclaimer. 
 
     * Redistributions in binary form must reproduce the above copyright 
       notice, this list of conditions and the following disclaimer in the 
       documentation and/or other materials provided with the distribution. 
 
     * Neither the name of the copyright holder nor the names of its 
       contributors may be used to endorse or promote products derived from 
       this software without specific prior written permission. 
 
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS 
LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.