8.2 "info.rkt" File Format
#lang setup/infotab |
In each collection, a special module file "info.rkt" provides general information about a collection for use by various tools. For example, an "info.rkt" file specifies how to build the documentation for a collection, and it lists plug-in tools for DrRacket or commands for raco that the collection provides.
Although an "info.rkt" file contains a module declaration, the declaration has a highly constrained form. It must match the following grammar of info-module:
info-module | = |
| |||||
intotab-mod-path | = | setup/infotab | |||||
| | (lib "setup/infotab.ss") | ||||||
| | (lib "setup/infotab.rkt") | ||||||
| | (lib "infotab.rkt" "setup") | ||||||
| | (lib "infotab.ss" "setup") | ||||||
decl | = | (define id info-expr) | |||||
| | (require allowed-path) | ||||||
info-expr | = | 'datum | |||||
| | `datum | ||||||
| | (info-primitive info-expr ...) | ||||||
| | id | ||||||
| | string | ||||||
| | number | ||||||
| | boolean | ||||||
| | (string-constant identifier) | ||||||
info-primitive | = | cons | |||||
| | car | ||||||
| | cdr | ||||||
| | list | ||||||
| | list* | ||||||
| | reverse | ||||||
| | append | ||||||
| | string-append | ||||||
| | path->string | ||||||
| | build-path | ||||||
| | collection-path | ||||||
| | system-library-subpath | ||||||
allowed-path | = | (lib "string-constant.ss" "string-constants") | |||||
| | (lib "string-constants/string-constant.ss") | ||||||
| | string-constants/string-constant | ||||||
| | string-constants |
For example, the following declaration could be the "info.rkt" library of the "games" collection. It contains definitions for three info tags, name, gracket-launcher-libraries, and gracket-launcher-names.
#lang setup/infotab (define name "Games") (define gracket-launcher-libraries '("main.rkt")) (define gracket-launcher-names '("PLT Games"))
As illustrated in this example, an "info.rkt" file can use #lang notation, but only with the setup/infotab language.
See also get-info from setup/getinfo.
syntax
(require module-path)