chalk
Syntax for in-source documentation
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.