';;; installed-scm-file' Comment.Single '\n\n' Text.Whitespace ';;;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; This program is free software; you can redistribute it and/or modify' Comment.Single '\n' Text.Whitespace ';;;; it under the terms of the GNU General Public License as published by' Comment.Single '\n' Text.Whitespace ';;;; the Free Software Foundation; either version 2, or (at your option)' Comment.Single '\n' Text.Whitespace ';;;; any later version.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; This program is distributed in the hope that it will be useful,' Comment.Single '\n' Text.Whitespace ';;;; but WITHOUT ANY WARRANTY; without even the implied warranty of' Comment.Single '\n' Text.Whitespace ';;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the' Comment.Single '\n' Text.Whitespace ';;;; GNU General Public License for more details.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; You should have received a copy of the GNU General Public License' Comment.Single '\n' Text.Whitespace ';;;; along with this software; see the file COPYING. If not, write to' Comment.Single '\n' Text.Whitespace ';;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,' Comment.Single '\n' Text.Whitespace ';;;; Boston, MA 02111-1307 USA' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; As a special exception, the Free Software Foundation gives permission' Comment.Single '\n' Text.Whitespace ';;;; for additional uses of the text contained in its release of GUILE.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; The exception is that, if you link the GUILE library with other files' Comment.Single '\n' Text.Whitespace ';;;; to produce an executable, this does not by itself cause the' Comment.Single '\n' Text.Whitespace ';;;; resulting executable to be covered by the GNU General Public License.' Comment.Single '\n' Text.Whitespace ';;;; Your use of that executable is in no way restricted on account of' Comment.Single '\n' Text.Whitespace ';;;; linking the GUILE library code into it.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; This exception does not however invalidate any other reasons why' Comment.Single '\n' Text.Whitespace ';;;; the executable file might be covered by the GNU General Public License.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; This exception applies only to the code released by the' Comment.Single '\n' Text.Whitespace ';;;; Free Software Foundation under the name GUILE. If you copy' Comment.Single '\n' Text.Whitespace ';;;; code from other Free Software Foundation releases into a copy of' Comment.Single '\n' Text.Whitespace ';;;; GUILE, as the General Public License permits, the exception does' Comment.Single '\n' Text.Whitespace ';;;; not apply to the code that you add in this way. To avoid misleading' Comment.Single '\n' Text.Whitespace ';;;; anyone as to the status of such modified files, you must delete' Comment.Single '\n' Text.Whitespace ';;;; this exception notice from them.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n' Text.Whitespace ';;;; If you write modifications of your own for GUILE, it is your choice' Comment.Single '\n' Text.Whitespace ';;;; whether to permit this exception to apply to your modifications.' Comment.Single '\n' Text.Whitespace ';;;; If you do not wish that, delete this exception notice.' Comment.Single '\n' Text.Whitespace ';;;;' Comment.Single '\n\x0c\n\n' Text.Whitespace ';;; Commentary:' Comment.Single '\n\n' Text.Whitespace ';;; This file is the first thing loaded into Guile. It adds many mundane' Comment.Single '\n' Text.Whitespace ';;; definitions and a few that are interesting.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; The module system (hence the hierarchical namespace) are defined in this' Comment.Single '\n' Text.Whitespace ';;; file.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';;; Code:' Comment.Single '\n\n\x0c\n' Text.Whitespace ';;; {Deprecation}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ";; We don't have macros here, but we do want to define" Comment.Single '\n' Text.Whitespace ";; `begin-deprecated' early." Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'begin-deprecated' Keyword '\n ' Text.Whitespace '(' Punctuation 'procedure->memoizing-macro' Name.Function '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'exp' Name.Builtin ' ' Text.Whitespace 'env' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'include-deprecated-features' Name.Builtin ')' Punctuation '\n\t ' Text.Whitespace '`' Operator '(' Punctuation 'begin' Keyword ' ' Text.Whitespace ',@' Operator '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'exp' Name.Builtin ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '`' Operator '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Features}' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'provide' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'memq' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace '*features*' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set!' Keyword ' ' Text.Whitespace '*features*' Name.Variable ' ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace '*features*' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';;; Return #t iff FEATURE is available to this Guile interpreter.' Comment.Single '\n' Text.Whitespace ';;; In SLIB, provided? also checks to see if the module is available.' Comment.Single '\n' Text.Whitespace ";;; We should do that too, but don't." Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'provided?' Name.Builtin ' ' Text.Whitespace 'feature' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'memq' Name.Builtin ' ' Text.Whitespace 'feature' Name.Variable ' ' Text.Whitespace '*features*' Name.Variable ')' Punctuation ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'begin-deprecated' Keyword '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'feature?' Name.Function ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'issue-deprecation-warning' Name.Builtin '\n ' Text.Whitespace '"' Literal.String "`feature?' is deprecated. Use `provided?' instead." Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'provided?' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';;; let format alias simple-format until the more complete version is loaded' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'format' Name.Builtin ' ' Text.Whitespace 'simple-format' Name.Builtin ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {R4RS compliance}' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'primitive-load-path' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'ice-9/r4rs.scm' Literal.String '"' Literal.String ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Simple Debugging Tools}' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n\n\n' Text.Whitespace ';; peek takes any number of arguments, writes them to the' Comment.Single '\n' Text.Whitespace ';; current ouput port, and returns the last argument.' Comment.Single '\n' Text.Whitespace ';; It is handy to wrap around an expression to look at' Comment.Single '\n' Text.Whitespace ';; a value each time is evaluated, e.g.:' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';;\t(+ 10 (troublesome-fn))' Comment.Single '\n' Text.Whitespace ";;\t=> (+ 10 (pk 'troublesome-fn-returned (troublesome-fn)))" Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'peek' Name.Builtin ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'stuff' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'newline' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String ';;; ' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'write' Name.Builtin ' ' Text.Whitespace 'stuff' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'newline' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'last-pair' Name.Builtin ' ' Text.Whitespace 'stuff' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'pk' Name.Builtin ' ' Text.Whitespace 'peek' Name.Builtin ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'warn' Name.Builtin ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'stuff' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'with-output-to-port' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'current-error-port' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'newline' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String ';;; WARNING ' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace 'stuff' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'newline' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'last-pair' Name.Builtin ' ' Text.Whitespace 'stuff' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Trivial Functions}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'identity' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation '1+' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation '1-' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '-1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'and=>' Name.Builtin ' ' Text.Whitespace 'value' Name.Variable ' ' Text.Whitespace 'procedure' Name.Builtin ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'value' Name.Variable ' ' Text.Whitespace '(' Punctuation 'procedure' Name.Builtin ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'make-hash-table' Name.Builtin ' ' Text.Whitespace 'k' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'make-vector' Name.Builtin ' ' Text.Whitespace 'k' Name.Variable ' ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'begin-deprecated' Keyword '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'id' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'issue-deprecation-warning' Name.Builtin ' ' Text.Whitespace '"' Literal.String "`id' is deprecated. Use `identity' instead." Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'identity' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation '-1+' Name.Function ' ' Text.Whitespace 'n' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'issue-deprecation-warning' Name.Builtin ' ' Text.Whitespace '"' Literal.String "`-1+' is deprecated. Use `1-' instead." Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '1-' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'return-it' Name.Function ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'issue-deprecation-warning' Name.Builtin ' ' Text.Whitespace '"' Literal.String "`return-it' is deprecated. Use `noop' instead." Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'noop' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';;; apply-to-args is functionally redundant with apply and, worse,' Comment.Single '\n' Text.Whitespace ';;; is less general than apply since it only takes two arguments.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; On the other hand, apply-to-args is a syntacticly convenient way to' Comment.Single '\n' Text.Whitespace ';;; perform binding in many circumstances when the "let" family of' Comment.Single '\n' Text.Whitespace ";;; of forms don't cut it. E.g.:" Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;\t(apply-to-args (return-3d-mouse-coords)' Comment.Single '\n' Text.Whitespace ';;;\t (lambda (x y z)' Comment.Single '\n' Text.Whitespace ';;;\t\t...))' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'apply-to-args' Name.Function ' ' Text.Whitespace 'args' Name.Variable ' ' Text.Whitespace 'fn' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'fn' Name.Variable ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation '\n\n\x0c\n\n' Text.Whitespace ';;; {Integer Math}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'ipow-by-squaring' Name.Function ' ' Text.Whitespace 'x' Name.Variable ' ' Text.Whitespace 'k' Name.Variable ' ' Text.Whitespace 'acc' Name.Variable ' ' Text.Whitespace 'proc' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'zero?' Name.Builtin ' ' Text.Whitespace 'k' Name.Variable ')' Punctuation ' ' Text.Whitespace 'acc' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation '(' Punctuation '=' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'k' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace 'acc' Name.Variable ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'else' Keyword ' ' Text.Whitespace '(' Punctuation 'ipow-by-squaring' Name.Function ' ' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace 'x' Name.Variable ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation '\n\t\t\t\t' Text.Whitespace '(' Punctuation 'quotient' Name.Builtin ' ' Text.Whitespace 'k' Name.Variable ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation '\n\t\t\t\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'even?' Name.Builtin ' ' Text.Whitespace 'k' Name.Variable ')' Punctuation ' ' Text.Whitespace 'acc' Name.Variable ' ' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace 'acc' Name.Variable ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t\t' Text.Whitespace 'proc' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'begin-deprecated' Keyword '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'string-character-length' Name.Function ' ' Text.Whitespace 's' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'issue-deprecation-warning' Name.Builtin ' ' Text.Whitespace '"' Literal.String "`string-character-length' is deprecated. Use `string-length' instead." Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 's' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'flags' Name.Function ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'issue-deprecation-warning' Name.Builtin ' ' Text.Whitespace '"' Literal.String "`flags' is deprecated. Use `logior' instead." Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'logior' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Symbol Properties}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol-property' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace 'prop' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'pair' Name.Function ' ' Text.Whitespace '(' Punctuation 'assoc' Name.Builtin ' ' Text.Whitespace 'prop' Name.Variable ' ' Text.Whitespace '(' Punctuation 'symbol-pref' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'pair' Name.Variable ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'pair' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-symbol-property!' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace 'prop' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'pair' Name.Function ' ' Text.Whitespace '(' Punctuation 'assoc' Name.Builtin ' ' Text.Whitespace 'prop' Name.Variable ' ' Text.Whitespace '(' Punctuation 'symbol-pref' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'pair' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'set-cdr!' Name.Builtin ' ' Text.Whitespace 'pair' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'symbol-pset!' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace '(' Punctuation 'acons' Name.Builtin ' ' Text.Whitespace 'prop' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ' ' Text.Whitespace '(' Punctuation 'symbol-pref' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol-property-remove!' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace 'prop' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'pair' Name.Function ' ' Text.Whitespace '(' Punctuation 'assoc' Name.Builtin ' ' Text.Whitespace 'prop' Name.Variable ' ' Text.Whitespace '(' Punctuation 'symbol-pref' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'pair' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'symbol-pset!' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace '(' Punctuation 'delq!' Name.Builtin ' ' Text.Whitespace 'pair' Name.Variable ' ' Text.Whitespace '(' Punctuation 'symbol-pref' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';;; {General Properties}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; This is a more modern interface to properties. It will replace all' Comment.Single '\n' Text.Whitespace ';; other property-like things eventually.' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'make-object-property' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'prop' Name.Function ' ' Text.Whitespace '(' Punctuation 'primitive-make-property' Name.Function ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'make-procedure-with-setter' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'obj' Name.Function ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'primitive-property-ref' Name.Function ' ' Text.Whitespace 'prop' Name.Variable ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'obj' Name.Function ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'primitive-property-set!' Name.Function ' ' Text.Whitespace 'prop' Name.Variable ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n\n' Text.Whitespace ';;; {Arrays}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'provided?' Name.Builtin ' ' Text.Whitespace "'array" Literal.String.Symbol ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'primitive-load-path' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'ice-9/arrays.scm' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Keywords}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol->keyword' Name.Builtin ' ' Text.Whitespace 'symbol' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'make-keyword-from-dash-symbol' Name.Function ' ' Text.Whitespace '(' Punctuation 'symbol-append' Name.Builtin ' ' Text.Whitespace "'-" Literal.String.Symbol ' ' Text.Whitespace 'symbol' Name.Builtin ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'keyword->symbol' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'sym' Name.Function ' ' Text.Whitespace '(' Punctuation 'symbol->string' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'keyword-dash-symbol' Name.Function ' ' Text.Whitespace 'kw' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'string->symbol' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'substring' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'sym' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'kw-arg-ref' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ' ' Text.Whitespace 'kw' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'rem' Name.Function ' ' Text.Whitespace '(' Punctuation 'member' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'rem' Name.Variable ' ' Text.Whitespace '(' Punctuation 'pair?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'rem' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cadr' Name.Builtin ' ' Text.Whitespace 'rem' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n\n' Text.Whitespace ';;; {Structs}' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'struct-layout' Name.Builtin ' ' Text.Whitespace 's' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'struct-ref' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'struct-vtable' Name.Builtin ' ' Text.Whitespace 's' Name.Variable ')' Punctuation ' ' Text.Whitespace 'vtable-index-layout' Name.Variable ')' Punctuation ')' Punctuation '\n\n\x0c\n\n' Text.Whitespace ';;; Environments' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'the-environment' Name.Variable '\n ' Text.Whitespace '(' Punctuation 'procedure->syntax' Name.Function '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'x' Name.Function ' ' Text.Whitespace 'e' Name.Variable ')' Punctuation '\n ' Text.Whitespace 'e' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'the-root-environment' Name.Variable ' ' Text.Whitespace '(' Punctuation 'the-environment' Name.Function ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'environment-module' Name.Function ' ' Text.Whitespace 'env' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'closure' Name.Function ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'pair?' Name.Builtin ' ' Text.Whitespace 'env' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'last-pair' Name.Builtin ' ' Text.Whitespace 'env' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'closure' Name.Variable ' ' Text.Whitespace '(' Punctuation 'procedure-property' Name.Builtin ' ' Text.Whitespace 'closure' Name.Variable ' ' Text.Whitespace "'module" Literal.String.Symbol ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Records}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; Printing records: by default, records are printed as' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; #' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; You can change that by giving a custom printing function to' Comment.Single '\n' Text.Whitespace ';; MAKE-RECORD-TYPE (after the list of field symbols). This function' Comment.Single '\n' Text.Whitespace ';; will be called like' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; ( object port)' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; It should print OBJECT to PORT.' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'inherit-print-state' Name.Builtin ' ' Text.Whitespace 'old-port' Name.Variable ' ' Text.Whitespace 'new-port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'get-print-state' Name.Builtin ' ' Text.Whitespace 'old-port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'port-with-print-state' Name.Builtin ' ' Text.Whitespace 'new-port' Name.Variable ' ' Text.Whitespace '(' Punctuation 'get-print-state' Name.Builtin ' ' Text.Whitespace 'old-port' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'new-port' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; 0: type-name, 1: fields' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'record-type-vtable' Name.Variable '\n ' Text.Whitespace '(' Punctuation 'make-vtable-vtable' Name.Function ' ' Text.Whitespace '"' Literal.String 'prpr' Literal.String '"' Literal.String ' ' Text.Whitespace '0' Literal.Number.Integer '\n\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 's' Name.Function ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t' Text.Whitespace '(' Punctuation 'cond' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace 's' Name.Variable ' ' Text.Whitespace 'record-type-vtable' Name.Variable ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String '#' Literal.String '"' Literal.String ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'else' Keyword '\n\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String '#' Literal.String '"' Literal.String ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-type?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'struct?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace 'record-type-vtable' Name.Variable ' ' Text.Whitespace '(' Punctuation 'struct-vtable' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'make-record-type' Name.Builtin ' ' Text.Whitespace 'type-name' Name.Variable ' ' Text.Whitespace 'fields' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'opt' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'printer-fn' Name.Function ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'pair?' Name.Builtin ' ' Text.Whitespace 'opt' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opt' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'struct' Name.Function ' ' Text.Whitespace '(' Punctuation 'make-struct' Name.Function ' ' Text.Whitespace 'record-type-vtable' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer '\n\t\t\t ' Text.Whitespace '(' Punctuation 'make-struct-layout' Name.Builtin '\n\t\t\t\t' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'string-append' Name.Builtin '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'f' Name.Function ')' Punctuation ' ' Text.Whitespace '"' Literal.String 'pw' Literal.String '"' Literal.String ')' Punctuation ' ' Text.Whitespace 'fields' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace 'printer-fn' Name.Variable '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 's' Name.Function ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String '#<' Literal.String '"' Literal.String ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace 'type-name' Name.Variable ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'fields' Name.Function ' ' Text.Whitespace 'fields' Name.Variable ')' Punctuation '\n\t\t\t\t\t\t' Text.Whitespace '(' Punctuation 'off' Name.Function ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'cond' Keyword '\n\t\t\t\t\t' Text.Whitespace '(' Punctuation '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'fields' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String ' ' Literal.String '"' Literal.String ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'fields' Name.Variable ')' Punctuation ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String ': ' Literal.String '"' Literal.String ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'struct-ref' Name.Builtin ' ' Text.Whitespace 's' Name.Variable ' ' Text.Whitespace 'off' Name.Variable ')' Punctuation ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'fields' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'off' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String '>' Literal.String '"' Literal.String ' ' Text.Whitespace 'p' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace 'type-name' Name.Variable '\n\t\t\t ' Text.Whitespace '(' Punctuation 'copy-tree' Name.Builtin ' ' Text.Whitespace 'fields' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace ';; Temporary solution: Associate a name to the record type descriptor' Comment.Single '\n ' Text.Whitespace ';; so that the object system can create a wrapper class for it.' Comment.Single '\n ' Text.Whitespace '(' Punctuation 'set-struct-vtable-name!' Name.Builtin ' ' Text.Whitespace 'struct' Name.Variable ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol?' Name.Builtin ' ' Text.Whitespace 'type-name' Name.Variable ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace 'type-name' Name.Variable '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'string->symbol' Name.Builtin ' ' Text.Whitespace 'type-name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'struct' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-type-name' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'record-type?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'struct-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'vtable-offset-user' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace "'not-a-record-type" Literal.String.Symbol ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-type-fields' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'record-type?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'struct-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'vtable-offset-user' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace "'not-a-record-type" Literal.String.Symbol ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-constructor' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'opt' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'field-names' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'pair?' Name.Builtin ' ' Text.Whitespace 'opt' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opt' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'record-type-fields' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'local-eval' Name.Function ' ' Text.Whitespace '`' Operator '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace ',' Operator 'field-names' Name.Variable '\n\t\t ' Text.Whitespace '(' Punctuation 'make-struct' Name.Function ' ' Text.Whitespace "',rtd" Literal.String.Symbol ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace ',@' Operator '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'f' Name.Function ')' Punctuation '\n\t\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'memq' Name.Builtin ' ' Text.Whitespace 'f' Name.Variable ' ' Text.Whitespace 'field-names' Name.Variable ')' Punctuation '\n\t\t\t\t\t\t ' Text.Whitespace 'f' Name.Variable '\n\t\t\t\t\t\t ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'record-type-fields' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace 'the-root-environment' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-predicate' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'obj' Name.Function ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'struct?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ' ' Text.Whitespace '(' Punctuation 'struct-vtable' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ' ' Text.Whitespace 'field-name' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'pos' Name.Function ' ' Text.Whitespace '(' Punctuation 'list-index' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-type-fields' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ')' Punctuation ' ' Text.Whitespace 'field-name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace 'pos' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace "'no-such-field" Literal.String.Symbol ' ' Text.Whitespace 'field-name' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'local-eval' Name.Function ' ' Text.Whitespace '`' Operator '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'obj' Name.Function ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace "',rtd" Literal.String.Symbol ' ' Text.Whitespace '(' Punctuation 'record-type-descriptor' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t' Text.Whitespace '(' Punctuation 'struct-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace ',' Operator 'pos' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace 'the-root-environment' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ' ' Text.Whitespace 'field-name' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'pos' Name.Function ' ' Text.Whitespace '(' Punctuation 'list-index' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-type-fields' Name.Builtin ' ' Text.Whitespace 'rtd' Name.Variable ')' Punctuation ' ' Text.Whitespace 'field-name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace 'pos' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace "'no-such-field" Literal.String.Symbol ' ' Text.Whitespace 'field-name' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'local-eval' Name.Function ' ' Text.Whitespace '`' Operator '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'obj' Name.Function ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace "',rtd" Literal.String.Symbol ' ' Text.Whitespace '(' Punctuation 'record-type-descriptor' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t' Text.Whitespace '(' Punctuation 'struct-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace ',' Operator 'pos' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace 'the-root-environment' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'struct?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'record-type?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'struct-vtable' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'record-type-descriptor' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'struct?' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'struct-vtable' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace "'not-a-record" Literal.String.Symbol ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'provide' Name.Builtin ' ' Text.Whitespace "'record" Literal.String.Symbol ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Booleans}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation '->bool' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Symbols}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol-append' Name.Builtin ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'string->symbol' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'string-append' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace 'symbol->string' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'list->symbol' Name.Builtin ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'string->symbol' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'list->string' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol' Name.Builtin ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'string->symbol' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'string' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Lists}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'list-index' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ' ' Text.Whitespace 'k' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'n' Name.Function ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'l' Name.Function ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ' ' Text.Whitespace 'k' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace 'n' Name.Variable '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'make-list' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'init' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'pair?' Name.Builtin ' ' Text.Whitespace 'init' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'set!' Keyword ' ' Text.Whitespace 'init' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'init' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'answer' Name.Function ' ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'n' Name.Function ' ' Text.Whitespace 'n' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '<=' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n\t' Text.Whitespace 'answer' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace 'init' Name.Variable ' ' Text.Whitespace 'answer' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace 'n' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {and-map and or-map}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; (and-map fn lst) is like (and (fn (car lst)) (fn (cadr lst)) (fn...) ...)' Comment.Single '\n' Text.Whitespace ';;; (or-map fn lst) is like (or (fn (car lst)) (fn (cadr lst)) (fn...) ...)' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; and-map f l' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Apply f to successive elements of l until exhaustion or f returns #f.' Comment.Single '\n' Text.Whitespace ';; If returning early, return #f. Otherwise, return the last value returned' Comment.Single '\n' Text.Whitespace ';; by f. If f has never been called because l is empty, return #t.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'and-map' Name.Builtin ' ' Text.Whitespace 'f' Name.Variable ' ' Text.Whitespace 'lst' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'result' Name.Function ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'l' Name.Function ' ' Text.Whitespace 'lst' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'result' Name.Variable '\n\t ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace 'result' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'f' Name.Function ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; or-map f l' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Apply f to successive elements of l until exhaustion or while f returns #f.' Comment.Single '\n' Text.Whitespace ';; If returning early, return the return value of f.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'or-map' Name.Builtin ' ' Text.Whitespace 'f' Name.Variable ' ' Text.Whitespace 'lst' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'result' Name.Function ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'l' Name.Function ' ' Text.Whitespace 'lst' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace 'result' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'f' Name.Function ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'l' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n\n' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'provided?' Name.Builtin ' ' Text.Whitespace "'posix" Literal.String.Symbol ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'primitive-load-path' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'ice-9/posix.scm' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'provided?' Name.Builtin ' ' Text.Whitespace "'socket" Literal.String.Symbol ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'primitive-load-path' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'ice-9/networking.scm' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'file-exists?' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'provided?' Name.Builtin ' ' Text.Whitespace "'posix" Literal.String.Symbol ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'str' Name.Function ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation '->bool' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'false-if-exception' Keyword ' ' Text.Whitespace '(' Punctuation 'stat' Name.Builtin ' ' Text.Whitespace 'str' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'str' Name.Function ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'port' Name.Function ' ' Text.Whitespace '(' Punctuation 'catch' Name.Builtin ' ' Text.Whitespace "'system-error" Literal.String.Symbol ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'open-file' Name.Builtin ' ' Text.Whitespace 'str' Name.Variable ' ' Text.Whitespace 'OPEN_READ' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace 'args' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace '(' Punctuation 'begin' Keyword ' ' Text.Whitespace '(' Punctuation 'close-port' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation '\n\t ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'file-is-directory?' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'provided?' Name.Builtin ' ' Text.Whitespace "'posix" Literal.String.Symbol ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'str' Name.Function ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'stat:type' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'stat' Name.Builtin ' ' Text.Whitespace 'str' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace "'directory" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'str' Name.Function ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'port' Name.Function ' ' Text.Whitespace '(' Punctuation 'catch' Name.Builtin ' ' Text.Whitespace "'system-error" Literal.String.Symbol '\n\t\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'open-file' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin ' ' Text.Whitespace 'str' Name.Variable ' ' Text.Whitespace '"' Literal.String '/.' Literal.String '"' Literal.String ')' Punctuation '\n\t\t\t\t\t\t ' Text.Whitespace 'OPEN_READ' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace 'args' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace '(' Punctuation 'begin' Keyword ' ' Text.Whitespace '(' Punctuation 'close-port' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation '\n\t ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'has-suffix?' Name.Function ' ' Text.Whitespace 'str' Name.Variable ' ' Text.Whitespace 'suffix' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'sufl' Name.Function ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'suffix' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'sl' Name.Function ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'str' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation '>' Name.Builtin ' ' Text.Whitespace 'sl' Name.Variable ' ' Text.Whitespace 'sufl' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'string=?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'substring' Name.Builtin ' ' Text.Whitespace 'str' Name.Variable ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace 'sl' Name.Variable ' ' Text.Whitespace 'sufl' Name.Variable ')' Punctuation ' ' Text.Whitespace 'sl' Name.Variable ')' Punctuation ' ' Text.Whitespace 'suffix' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'system-error-errno' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ' ' Text.Whitespace "'system-error" Literal.String.Symbol ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'list-ref' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ' ' Text.Whitespace '4' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Error Handling}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'save-stack' Name.Function ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'scm-error' Name.Builtin ' ' Text.Whitespace "'misc-error" Literal.String.Symbol ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace '"' Literal.String '?' Literal.String '"' Literal.String ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'msg' Name.Function ' ' Text.Whitespace '"' Literal.String '~A' Literal.String '"' Literal.String ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'rest' Name.Function ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'rest' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin ' ' Text.Whitespace 'msg' Name.Variable ' ' Text.Whitespace '"' Literal.String ' ~S' Literal.String '"' Literal.String ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'rest' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'scm-error' Name.Builtin ' ' Text.Whitespace "'misc-error" Literal.String.Symbol ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace 'msg' Name.Variable ' ' Text.Whitespace 'args' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; bad-throw is the hook that is called upon a throw to a an unhandled' Comment.Single '\n' Text.Whitespace ';; key (unless the throw has four arguments, in which case' Comment.Single '\n' Text.Whitespace ";; it's usually interpreted as an error throw.)" Comment.Single '\n' Text.Whitespace ';; If the key has a default handler (a throw-handler-default property),' Comment.Single '\n' Text.Whitespace ';; it is applied to the throw.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'bad-throw' Name.Function ' ' Text.Whitespace 'key' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'default' Name.Function ' ' Text.Whitespace '(' Punctuation 'symbol-property' Name.Builtin ' ' Text.Whitespace 'key' Name.Variable ' ' Text.Whitespace "'throw-handler-default" Literal.String.Symbol ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'default' Name.Variable ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'default' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'unhandled-exception:' Literal.String '"' Literal.String ' ' Text.Whitespace 'key' Name.Variable ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:sec' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:min' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:hour' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:mday' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '3' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:mon' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '4' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:year' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '5' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:wday' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '6' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:yday' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '7' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:isdst' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '8' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:gmtoff' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '9' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tm:zone' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '10' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:sec' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:min' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:hour' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:mday' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '3' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:mon' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '4' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:year' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '5' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:wday' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '6' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:yday' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '7' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:isdst' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '8' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:gmtoff' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '9' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'set-tm:zone' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-set!' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '10' Literal.Number.Integer ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tms:clock' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tms:utime' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tms:stime' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tms:cutime' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '3' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tms:cstime' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obj' Name.Variable ' ' Text.Whitespace '4' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'file-position' Name.Builtin ' ' Text.Whitespace 'ftell' Name.Builtin ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'file-set-position' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace 'offset' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'whence' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'whence' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace 'whence' Name.Variable ' ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'SEEK_SET' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'whence' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'seek' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace 'offset' Name.Variable ' ' Text.Whitespace 'whence' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'move->fdes' Name.Builtin ' ' Text.Whitespace 'fd/port' Name.Variable ' ' Text.Whitespace 'fd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'integer?' Name.Builtin ' ' Text.Whitespace 'fd/port' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'dup->fdes' Name.Builtin ' ' Text.Whitespace 'fd/port' Name.Variable ' ' Text.Whitespace 'fd' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'close' Name.Builtin ' ' Text.Whitespace 'fd/port' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace 'fd' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'else' Keyword '\n\t ' Text.Whitespace '(' Punctuation 'primitive-move->fdes' Name.Builtin ' ' Text.Whitespace 'fd/port' Name.Variable ' ' Text.Whitespace 'fd' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace 'fd/port' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n\t ' Text.Whitespace 'fd/port' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'release-port-handle' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'revealed' Name.Function ' ' Text.Whitespace '(' Punctuation 'port-revealed' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '>' Name.Builtin ' ' Text.Whitespace 'revealed' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace 'revealed' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'dup->port' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace 'mode' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'port' Name.Function ' ' Text.Whitespace '(' Punctuation 'fdopen' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'dup->fdes' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace 'mode' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'pair?' Name.Builtin ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'port' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'dup->inport' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'dup->port' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace '"' Literal.String 'r' Literal.String '"' Literal.String ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'dup->outport' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'dup->port' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace '"' Literal.String 'w' Literal.String '"' Literal.String ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'dup' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'integer?' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'dup->fdes' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'dup->port' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ' ' Text.Whitespace '(' Punctuation 'port-mode' Name.Builtin ' ' Text.Whitespace 'port/fd' Name.Variable ')' Punctuation ' ' Text.Whitespace 'maybe-fd' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'duplicate-port' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace 'modes' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'dup->port' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace 'modes' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'fdes->inport' Name.Builtin ' ' Text.Whitespace 'fdes' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'rest-ports' Name.Function ' ' Text.Whitespace '(' Punctuation 'fdes->ports' Name.Builtin ' ' Text.Whitespace 'fdes' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'result' Name.Function ' ' Text.Whitespace '(' Punctuation 'fdopen' Name.Builtin ' ' Text.Whitespace 'fdes' Name.Variable ' ' Text.Whitespace '"' Literal.String 'r' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace 'result' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n\t ' Text.Whitespace 'result' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'input-port?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'port-revealed' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'else' Keyword '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'fdes->outport' Name.Builtin ' ' Text.Whitespace 'fdes' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'rest-ports' Name.Function ' ' Text.Whitespace '(' Punctuation 'fdes->ports' Name.Builtin ' ' Text.Whitespace 'fdes' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'result' Name.Function ' ' Text.Whitespace '(' Punctuation 'fdopen' Name.Builtin ' ' Text.Whitespace 'fdes' Name.Variable ' ' Text.Whitespace '"' Literal.String 'w' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace 'result' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n\t ' Text.Whitespace 'result' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'output-port?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'port-revealed' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'else' Keyword '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'rest-ports' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'port->fdes' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set-port-revealed!' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'port-revealed' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'fileno' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'setenv' Name.Builtin ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'value' Name.Variable '\n ' Text.Whitespace '(' Punctuation 'putenv' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace '"' Literal.String '=' Literal.String '"' Literal.String ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'putenv' Name.Builtin ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Load Paths}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';;; Here for backward compatability' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'scheme-file-suffix' Name.Variable ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation ' ' Text.Whitespace '"' Literal.String '.scm' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'in-vicinity' Name.Builtin ' ' Text.Whitespace 'vicinity' Name.Variable ' ' Text.Whitespace 'file' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'tail' Name.Function ' ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'len' Name.Function ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'vicinity' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'zero?' Name.Builtin ' ' Text.Whitespace 'len' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '#f' Name.Constant '\n\t\t ' Text.Whitespace '(' Punctuation 'string-ref' Name.Builtin ' ' Text.Whitespace 'vicinity' Name.Variable ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace 'len' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin ' ' Text.Whitespace 'vicinity' Name.Variable '\n\t\t ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace 'tail' Name.Variable ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace 'tail' Name.Variable ' ' Text.Whitespace '#\\/' Literal.String.Char ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '"' Literal.String '"' Literal.String '\n\t\t ' Text.Whitespace '"' Literal.String '/' Literal.String '"' Literal.String ')' Punctuation '\n\t\t ' Text.Whitespace 'file' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Help for scm_shell}' Comment.Single '\n' Text.Whitespace ';;; The argument-processing code used by Guile-based shells generates' Comment.Single '\n' Text.Whitespace ';;; Scheme code based on the argument list. This page contains help' Comment.Single '\n' Text.Whitespace ';;; functions for the code it generates.' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'command-line' Name.Builtin ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'program-arguments' Name.Builtin ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; This is mostly for the internal use of the code generated by' Comment.Single '\n' Text.Whitespace ';; scm_compile_shell_switches.' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'load-user-init' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'home' Name.Function ' ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'getenv' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'HOME' Literal.String '"' Literal.String ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'false-if-exception' Keyword ' ' Text.Whitespace '(' Punctuation 'passwd:dir' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'getpwuid' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'getuid' Name.Builtin ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '"' Literal.String '/' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation ' ' Text.Whitespace ';; fallback for cygwin etc.' Comment.Single '\n\t ' Text.Whitespace '(' Punctuation 'init-file' Name.Function ' ' Text.Whitespace '(' Punctuation 'in-vicinity' Name.Builtin ' ' Text.Whitespace 'home' Name.Variable ' ' Text.Whitespace '"' Literal.String '.guile' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'file-exists?' Name.Builtin ' ' Text.Whitespace 'init-file' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'primitive-load' Name.Builtin ' ' Text.Whitespace 'init-file' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Loading by paths}' Comment.Single '\n\n' Text.Whitespace ';;; Load a Scheme source file named NAME, searching for it in the' Comment.Single '\n' Text.Whitespace ';;; directories listed in %load-path, and applying each of the file' Comment.Single '\n' Text.Whitespace ';;; name extensions listed in %load-extensions.' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'load-from-path' Name.Builtin ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'start-stack' Keyword ' ' Text.Whitespace "'load-stack" Literal.String.Symbol '\n\t ' Text.Whitespace '(' Punctuation 'primitive-load-path' Name.Builtin ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\n\x0c\n' Text.Whitespace ';;; {Transcendental Functions}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; Derived from "Transcen.scm", Complex trancendental functions for SCM.' Comment.Single '\n' Text.Whitespace ';;; Written by Jerry D. Hedden, (C) FSF.' Comment.Single '\n' Text.Whitespace ";;; See the file `COPYING' for terms applying to this program." Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'exp' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$exp' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'make-polar' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$exp' Name.Function ' ' Text.Whitespace '(' Punctuation 'real-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'imag-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '>=' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '$log' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$log' Name.Function ' ' Text.Whitespace '(' Punctuation 'magnitude' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'angle' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'sqrt' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'negative?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation '$sqrt' Name.Function ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation '$sqrt' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'make-polar' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sqrt' Name.Function ' ' Text.Whitespace '(' Punctuation 'magnitude' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'angle' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'expt' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'integer-expt' Name.Builtin ' ' Text.Whitespace 'integer-expt' Name.Builtin ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'z1' Name.Function ' ' Text.Whitespace 'z2' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'integer?' Name.Builtin ' ' Text.Whitespace 'z2' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'negative?' Name.Builtin ' ' Text.Whitespace 'z2' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'integer-expt' Name.Builtin ' ' Text.Whitespace 'z1' Name.Variable ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace 'z2' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'integer-expt' Name.Builtin ' ' Text.Whitespace 'z1' Name.Variable ' ' Text.Whitespace 'z2' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z2' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z1' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '>=' Name.Builtin ' ' Text.Whitespace 'z1' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation '$expt' Name.Function ' ' Text.Whitespace 'z1' Name.Variable ' ' Text.Whitespace 'z2' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'else' Keyword '\n\t ' Text.Whitespace '(' Punctuation 'exp' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace 'z2' Name.Variable ' ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace 'z1' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'sinh' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$sinh' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'x' Name.Function ' ' Text.Whitespace '(' Punctuation 'real-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'y' Name.Function ' ' Text.Whitespace '(' Punctuation 'imag-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sinh' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cos' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$cosh' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$sin' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'cosh' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cosh' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'x' Name.Function ' ' Text.Whitespace '(' Punctuation 'real-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'y' Name.Function ' ' Text.Whitespace '(' Punctuation 'imag-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$cosh' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cos' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sinh' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$sin' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tanh' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$tanh' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'x' Name.Function ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'real-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'y' Name.Function ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'imag-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'w' Name.Function ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$cosh' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cos' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sinh' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace 'w' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sin' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ' ' Text.Whitespace 'w' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'asinh' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$asinh' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '(' Punctuation 'sqrt' Name.Builtin ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'acosh' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '>=' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '$acosh' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '(' Punctuation 'sqrt' Name.Builtin ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'atanh' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '>' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '-1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '(' Punctuation '<' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '$atanh' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'sin' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$sin' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'x' Name.Function ' ' Text.Whitespace '(' Punctuation 'real-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'y' Name.Function ' ' Text.Whitespace '(' Punctuation 'imag-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sin' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cosh' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$cos' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$sinh' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'cos' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cos' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'x' Name.Function ' ' Text.Whitespace '(' Punctuation 'real-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'y' Name.Function ' ' Text.Whitespace '(' Punctuation 'imag-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$cos' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cosh' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sin' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$sinh' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'tan' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$tan' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'x' Name.Function ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'real-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'y' Name.Function ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'imag-part' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'w' Name.Function ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$cos' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$cosh' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'make-rectangular' Name.Builtin ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sin' Name.Function ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ' ' Text.Whitespace 'w' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation '$sinh' Name.Function ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ' ' Text.Whitespace 'w' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'asin' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '>=' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '-1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '(' Punctuation '<=' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '$asin' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '-i' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'asinh' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '+i' Literal.Number.Integer ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'acos' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '>=' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '-1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '(' Punctuation '<=' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '$acos' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'angle' Name.Builtin ' ' Text.Whitespace '-1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '+i' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'asinh' Name.Builtin ' ' Text.Whitespace '(' Punctuation '*' Name.Builtin ' ' Text.Whitespace '+i' Literal.Number.Integer ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'atan' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'real?' Name.Builtin ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '$atan' Name.Function ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace '+i' Literal.Number.Integer ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '+i' Literal.Number.Integer ' ' Text.Whitespace 'z' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '+2i' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '$atan2' Name.Function ' ' Text.Whitespace 'z' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'y' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'log10' Name.Builtin ' ' Text.Whitespace 'arg' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '/' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace 'arg' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'log' Name.Builtin ' ' Text.Whitespace '10' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n\n' Text.Whitespace ';;; {Reader Extensions}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';;; Reader code for various "#c" forms.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'read-hash-extend' Name.Builtin ' ' Text.Whitespace "#\\'" Literal.String.Char ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'c' Name.Function ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n\t\t\t' Text.Whitespace '(' Punctuation 'read' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'read-eval?' Name.Variable ' ' Text.Whitespace '(' Punctuation 'make-fluid' Name.Builtin ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'fluid-set!' Name.Builtin ' ' Text.Whitespace 'read-eval?' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'read-hash-extend' Name.Builtin ' ' Text.Whitespace '#\\.' Literal.String.Char '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'c' Name.Function ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'fluid-ref' Name.Builtin ' ' Text.Whitespace 'read-eval?' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'eval' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'read' Name.Builtin ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'interaction-environment' Name.Builtin ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'error' Name.Builtin '\n ' Text.Whitespace '"' Literal.String '#. read expansion found and read-eval? is #f.' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Command Line Options}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'get-option' Name.Function ' ' Text.Whitespace 'argv' Name.Variable ' ' Text.Whitespace 'kw-opts' Name.Variable ' ' Text.Whitespace 'kw-args' Name.Variable ' ' Text.Whitespace 'return' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword '\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'return' Name.Function ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '#\\-' Literal.String.Char ' ' Text.Whitespace '(' Punctuation 'string-ref' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'return' Name.Function ' ' Text.Whitespace "'normal-arg" Literal.String.Symbol ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '#\\-' Literal.String.Char ' ' Text.Whitespace '(' Punctuation 'string-ref' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'kw-arg-pos' Name.Function ' ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'string-index' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '#\\=' Literal.String.Char ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'kw' Name.Function ' ' Text.Whitespace '(' Punctuation 'symbol->keyword' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'substring' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace 'kw-arg-pos' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'kw-opt?' Name.Function ' ' Text.Whitespace '(' Punctuation 'member' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'kw-opts' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'kw-arg?' Name.Function ' ' Text.Whitespace '(' Punctuation 'member' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'kw-args' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'arg' Name.Function ' ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace 'kw-arg-pos' Name.Variable ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'substring' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace 'kw-arg-pos' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'kw-arg?' Name.Variable '\n\t\t\t ' Text.Whitespace '(' Punctuation 'begin' Keyword ' ' Text.Whitespace '(' Punctuation 'set!' Keyword ' ' Text.Whitespace 'argv' Name.Variable ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace 'kw-opt?' Name.Variable ' ' Text.Whitespace 'kw-arg?' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'return' Name.Function ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'arg' Name.Variable ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'return' Name.Function ' ' Text.Whitespace "'usage-error" Literal.String.Symbol ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation 'else' Keyword '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'char' Name.Function ' ' Text.Whitespace '(' Punctuation 'substring' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'kw' Name.Function ' ' Text.Whitespace '(' Punctuation 'symbol->keyword' Name.Builtin ' ' Text.Whitespace 'char' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword '\n\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'member' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'kw-opts' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'rest-car' Name.Function ' ' Text.Whitespace '(' Punctuation 'substring' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'new-argv' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '=' Name.Builtin ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'rest-car' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin ' ' Text.Whitespace '"' Literal.String '-' Literal.String '"' Literal.String ' ' Text.Whitespace 'rest-car' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'return' Name.Function ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace 'new-argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'member' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'kw-args' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'rest-car' Name.Function ' ' Text.Whitespace '(' Punctuation 'substring' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'arg' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '=' Name.Builtin ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'rest-car' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t' Text.Whitespace '(' Punctuation 'cadr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation '\n\t\t\t' Text.Whitespace 'rest-car' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'new-argv' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '=' Name.Builtin ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'rest-car' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'cddr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'return' Name.Function ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'arg' Name.Variable ' ' Text.Whitespace 'new-argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation 'else' Keyword ' ' Text.Whitespace '(' Punctuation 'return' Name.Function ' ' Text.Whitespace "'usage-error" Literal.String.Symbol ' ' Text.Whitespace 'kw' Name.Variable ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'for-next-option' Name.Function ' ' Text.Whitespace 'proc' Name.Variable ' ' Text.Whitespace 'argv' Name.Variable ' ' Text.Whitespace 'kw-opts' Name.Variable ' ' Text.Whitespace 'kw-args' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'argv' Name.Function ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'get-option' Name.Function ' ' Text.Whitespace 'argv' Name.Variable ' ' Text.Whitespace 'kw-opts' Name.Variable ' ' Text.Whitespace 'kw-args' Name.Variable '\n\t\t' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'opt' Name.Function ' ' Text.Whitespace 'opt-arg' Name.Variable ' ' Text.Whitespace 'argv' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'opt' Name.Variable ' ' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace 'opt' Name.Variable ' ' Text.Whitespace 'opt-arg' Name.Variable ' ' Text.Whitespace 'argv' Name.Variable ' ' Text.Whitespace 'loop' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'display-usage-report' Name.Function ' ' Text.Whitespace 'kw-desc' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'for-each' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'kw' Name.Function ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ')' Punctuation ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'kw' Name.Variable ')' Punctuation ' ' Text.Whitespace "'else" Literal.String.Symbol ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'opt-desc' Name.Function ' ' Text.Whitespace 'kw' Name.Variable ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'help' Name.Function ' ' Text.Whitespace '(' Punctuation 'cadr' Name.Builtin ' ' Text.Whitespace 'opt-desc' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'opts' Name.Function ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opt-desc' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'opts-proper' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'string?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'arg-name' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'string?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin ' ' Text.Whitespace '"' Literal.String '<' Literal.String '"' Literal.String ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ' ' Text.Whitespace '"' Literal.String '>' Literal.String '"' Literal.String ')' Punctuation '\n\t\t\t ' Text.Whitespace '"' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'left-part' Name.Function ' ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin '\n\t\t\t ' Text.Whitespace '(' Punctuation 'with-output-to-string' Name.Builtin '\n\t\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation '\n\t\t\t\t' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'x' Name.Function ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'keyword->symbol' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String ' ' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n\t\t\t\t ' Text.Whitespace 'opts-proper' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace 'arg-name' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'middle-part' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation '<' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'left-part' Name.Variable ')' Punctuation ' ' Text.Whitespace '30' Literal.Number.Integer ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation '<' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'help' Name.Variable ')' Punctuation ' ' Text.Whitespace '40' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'make-string' Name.Builtin ' ' Text.Whitespace '(' Punctuation '-' Name.Builtin ' ' Text.Whitespace '30' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'left-part' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '#\\ ' Literal.String.Char ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '"' Literal.String '\\n' Literal.String.Escape '\\t' Literal.String.Escape '"' Literal.String ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace 'left-part' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace 'middle-part' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace 'help' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'newline' Name.Builtin ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'kw-desc' Name.Variable ')' Punctuation ')' Punctuation '\n\n\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'transform-usage-lambda' Name.Function ' ' Text.Whitespace 'cases' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'raw-usage' Name.Function ' ' Text.Whitespace '(' Punctuation 'delq!' Name.Builtin ' ' Text.Whitespace "'else" Literal.String.Symbol ' ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace 'car' Name.Builtin ' ' Text.Whitespace 'cases' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'usage-sans-specials' Name.Function ' ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'x' Name.Function ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'list?' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation '\n\t\t\t\t\t' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation '\n\t\t\t\t\t' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'boolean?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation '\n\t\t\t\t\t' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t\t ' Text.Whitespace 'raw-usage' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'usage-desc' Name.Function ' ' Text.Whitespace '(' Punctuation 'delq!' Name.Builtin ' ' Text.Whitespace '#t' Name.Constant ' ' Text.Whitespace 'usage-sans-specials' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'kw-desc' Name.Function ' ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace 'car' Name.Builtin ' ' Text.Whitespace 'usage-desc' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'kw-opts' Name.Function ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'append' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'x' Name.Function ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'kw-desc' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'kw-args' Name.Function ' ' Text.Whitespace '(' Punctuation 'apply' Name.Builtin ' ' Text.Whitespace 'append' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'x' Name.Function ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'string?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'x' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'kw-desc' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'transmogrified-cases' Name.Function ' ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'case' Keyword ')' Punctuation '\n\t\t\t\t ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'opts' Name.Function ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'case' Keyword ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'boolean?' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'eq?' Name.Builtin ' ' Text.Whitespace "'else" Literal.String.Symbol ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t\t\t\t ' Text.Whitespace 'opts' Name.Variable '\n\t\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'cond' Keyword '\n\t\t\t\t\t\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'symbol?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation '\n\t\t\t\t\t\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'boolean?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation '\n\t\t\t\t\t\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'string?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'caar' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdar' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'else' Keyword ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opts' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'case' Keyword ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t\t ' Text.Whitespace 'cases' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '`' Operator '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation '%display-usage' Name.Function ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'display-usage-report' Name.Function ' ' Text.Whitespace "',usage-desc" Literal.String.Symbol ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation '%argv' Name.Function ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '%next-arg' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation '%argv' Name.Function ' ' Text.Whitespace '%argv' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'get-option' Name.Function ' ' Text.Whitespace '%argv' Name.Variable '\n\t\t ' Text.Whitespace "',kw-opts" Literal.String.Symbol '\n\t\t ' Text.Whitespace "',kw-args" Literal.String.Symbol '\n\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation '%opt' Name.Function ' ' Text.Whitespace '%arg' Name.Variable ' ' Text.Whitespace '%new-argv' Name.Variable ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'case' Keyword ' ' Text.Whitespace '%opt' Name.Variable '\n\t\t\t ' Text.Whitespace ',@' Operator ' ' Text.Whitespace 'transmogrified-cases' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\n\x0c\n\n' Text.Whitespace ';;; {Low Level Modules}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; These are the low level data structures for modules.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; !!! warning: The interface to lazy binder procedures is going' Comment.Single '\n' Text.Whitespace ';;; to be changed in an incompatible way to permit all the basic' Comment.Single '\n' Text.Whitespace ';;; module ops to be virtualized.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; (make-module size use-list lazy-binding-proc) => module' Comment.Single '\n' Text.Whitespace ';;; module-{obarray,uses,binder}[|-set!]' Comment.Single '\n' Text.Whitespace ';;; (module? obj) => [#t|#f]' Comment.Single '\n' Text.Whitespace ';;; (module-locally-bound? module symbol) => [#t|#f]' Comment.Single '\n' Text.Whitespace ';;; (module-bound? module symbol) => [#t|#f]' Comment.Single '\n' Text.Whitespace ';;; (module-symbol-locally-interned? module symbol) => [#t|#f]' Comment.Single '\n' Text.Whitespace ';;; (module-symbol-interned? module symbol) => [#t|#f]' Comment.Single '\n' Text.Whitespace ';;; (module-local-variable module symbol) => [# | #f]' Comment.Single '\n' Text.Whitespace ';;; (module-variable module symbol) => [# | #f]' Comment.Single '\n' Text.Whitespace ';;; (module-symbol-binding module symbol opt-value)' Comment.Single '\n' Text.Whitespace ';;;\t\t=> [ | opt-value | an error occurs ]' Comment.Single '\n' Text.Whitespace ';;; (module-make-local-var! module symbol) => #' Comment.Single '\n' Text.Whitespace ';;; (module-add! module symbol var) => unspecified' Comment.Single '\n' Text.Whitespace ';;; (module-remove! module symbol) => unspecified' Comment.Single '\n' Text.Whitespace ';;; (module-for-each proc module) => unspecified' Comment.Single '\n' Text.Whitespace ';;; (make-scm-module) => module ; a lazy copy of the symhash module' Comment.Single '\n' Text.Whitespace ';;; (set-current-module module) => unspecified' Comment.Single '\n' Text.Whitespace ';;; (current-module) => #' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n\x0c\n' Text.Whitespace ';;; {Printing Modules}' Comment.Single '\n' Text.Whitespace ';; This is how modules are printed. You can re-define it.' Comment.Single '\n' Text.Whitespace ';; (Redefining is actually more complicated than simply redefining' Comment.Single '\n' Text.Whitespace ';; %print-module because that would only change the binding and not' Comment.Single '\n' Text.Whitespace ';; the value stored in the vtable that determines how record are' Comment.Single '\n' Text.Whitespace ';; printed. Sigh.)' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation '%print-module' Name.Builtin ' ' Text.Whitespace 'mod' Name.Variable ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ' ' Text.Whitespace '; unused args: depth length style table)' Comment.Single '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String '#<' Literal.String '"' Literal.String ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'module-kind' Name.Builtin ' ' Text.Whitespace 'mod' Name.Variable ')' Punctuation ' ' Text.Whitespace '"' Literal.String 'module' Literal.String '"' Literal.String ')' Punctuation ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'name' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-name' Name.Builtin ' ' Text.Whitespace 'mod' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'name' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'begin' Keyword '\n\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String ' ' Literal.String '"' Literal.String ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String ' ' Literal.String '"' Literal.String ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'number->string' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'object-address' Name.Builtin ' ' Text.Whitespace 'mod' Name.Variable ')' Punctuation ' ' Text.Whitespace '16' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'display' Name.Builtin ' ' Text.Whitespace '"' Literal.String '>' Literal.String '"' Literal.String ' ' Text.Whitespace 'port' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-type' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; A module is characterized by an obarray in which local symbols' Comment.Single '\n' Text.Whitespace ';; are interned, a list of modules, "uses", from which non-local' Comment.Single '\n' Text.Whitespace ';; bindings can be inherited, and an optional lazy-binder which' Comment.Single '\n' Text.Whitespace ';; is a (CLOSURE module symbol) which, as a last resort, can provide' Comment.Single '\n' Text.Whitespace ';; bindings that would otherwise not be found locally in the module.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; NOTE: If you change here, you also need to change libguile/modules.h.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-type' Name.Variable '\n ' Text.Whitespace '(' Punctuation 'make-record-type' Name.Builtin ' ' Text.Whitespace "'module" Literal.String.Symbol '\n\t\t ' Text.Whitespace "'" Operator '(' Punctuation 'obarray' Name.Variable ' ' Text.Whitespace 'uses' Name.Variable ' ' Text.Whitespace 'binder' Name.Variable ' ' Text.Whitespace 'eval-closure' Name.Variable ' ' Text.Whitespace 'transformer' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace 'kind' Name.Variable '\n\t\t\t ' Text.Whitespace 'observers' Name.Variable ' ' Text.Whitespace 'weak-observers' Name.Variable ' ' Text.Whitespace 'observer-id' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '%print-module' Name.Builtin ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; make-module &opt size uses binder' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Create a new module, perhaps with a particular size of obarray,' Comment.Single '\n' Text.Whitespace ';; initial uses list, or binding procedure.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'make-module' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace 'args' Name.Variable '\n\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'parse-arg' Name.Function ' ' Text.Whitespace 'index' Name.Variable ' ' Text.Whitespace 'default' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '>' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'length' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ' ' Text.Whitespace 'index' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'list-ref' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ' ' Text.Whitespace 'index' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace 'default' Name.Variable ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '>' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'length' Name.Builtin ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ' ' Text.Whitespace '3' Literal.Number.Integer ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'Too many args to make-module.' Literal.String '"' Literal.String ' ' Text.Whitespace 'args' Name.Variable ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'size' Name.Function ' ' Text.Whitespace '(' Punctuation 'parse-arg' Name.Function ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '1021' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'uses' Name.Function ' ' Text.Whitespace '(' Punctuation 'parse-arg' Name.Function ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'binder' Name.Function ' ' Text.Whitespace '(' Punctuation 'parse-arg' Name.Function ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'integer?' Name.Builtin ' ' Text.Whitespace 'size' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'Illegal size to make-module.' Literal.String '"' Literal.String ' ' Text.Whitespace 'size' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'list?' Name.Builtin ' ' Text.Whitespace 'uses' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'and-map' Name.Builtin ' ' Text.Whitespace 'module?' Name.Builtin ' ' Text.Whitespace 'uses' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'Incorrect use list.' Literal.String '"' Literal.String ' ' Text.Whitespace 'uses' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'binder' Name.Variable ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'procedure?' Name.Builtin ' ' Text.Whitespace 'binder' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'error' Name.Builtin '\n\t ' Text.Whitespace '"' Literal.String 'Lazy-binder expected to be a procedure or #f.' Literal.String '"' Literal.String ' ' Text.Whitespace 'binder' Name.Variable ')' Punctuation ')' Punctuation '\n\n\t' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'module' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-constructor' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'make-vector' Name.Builtin ' ' Text.Whitespace 'size' Name.Variable ' ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace 'uses' Name.Variable ' ' Text.Whitespace 'binder' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace '#f' Name.Constant '\n\t\t\t\t\t ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '(' Punctuation 'make-weak-value-hash-table' Name.Builtin ' ' Text.Whitespace '31' Literal.Number.Integer ')' Punctuation '\n\t\t\t\t\t ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\t ' Text.Whitespace ";; We can't pass this as an argument to module-constructor," Comment.Single '\n\t ' Text.Whitespace ';; because we need it to close over a pointer to the module' Comment.Single '\n\t ' Text.Whitespace ';; itself.' Comment.Single '\n\t ' Text.Whitespace '(' Punctuation 'set-module-eval-closure!' Name.Function ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace '(' Punctuation 'standard-eval-closure' Name.Function ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation '\n\n\t ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-constructor' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-constructor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-obarray' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'obarray" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-obarray!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'obarray" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-uses' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'uses" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-uses!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'uses" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-binder' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'binder" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-binder!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'binder" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; NOTE: This binding is used in libguile/modules.c.' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-eval-closure' Name.Variable ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'eval-closure" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-transformer' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'transformer" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-transformer!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'transformer" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-name' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'name" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-name!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'name" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-kind' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'kind" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-kind!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'kind" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-observers' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'observers" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-observers!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'observers" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-weak-observers' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'weak-observers" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module-observer-id' Name.Variable ' ' Text.Whitespace '(' Punctuation 'record-accessor' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'observer-id" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-observer-id!' Name.Variable ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'observer-id" Literal.String.Symbol ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'module?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-predicate' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'set-module-eval-closure!' Name.Variable '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'setter' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'record-modifier' Name.Builtin ' ' Text.Whitespace 'module-type' Name.Variable ' ' Text.Whitespace "'eval-closure" Literal.String.Symbol ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'module' Name.Function ' ' Text.Whitespace 'closure' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'setter' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'closure' Name.Variable ')' Punctuation '\n ' Text.Whitespace ';; Make it possible to lookup the module from the environment.' Comment.Single '\n ' Text.Whitespace ';; This implementation is correct since an eval closure can belong' Comment.Single '\n ' Text.Whitespace ';; to maximally one module.' Comment.Single '\n ' Text.Whitespace '(' Punctuation 'set-procedure-property!' Name.Builtin ' ' Text.Whitespace 'closure' Name.Variable ' ' Text.Whitespace "'module" Literal.String.Symbol ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'begin-deprecated' Keyword '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'eval-in-module' Name.Function ' ' Text.Whitespace 'exp' Name.Builtin ' ' Text.Whitespace 'mod' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'issue-deprecation-warning' Name.Builtin '\n ' Text.Whitespace '"' Literal.String "`eval-in-module' is deprecated. Use `eval' instead." Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'eval' Name.Builtin ' ' Text.Whitespace 'exp' Name.Builtin ' ' Text.Whitespace 'mod' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Observer protocol}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-observe' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'proc' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set-module-observers!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace 'proc' Name.Variable ' ' Text.Whitespace '(' Punctuation 'module-observers' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'proc' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-observe-weak' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'proc' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'id' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-observer-id' Name.Function ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'hash-set!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-weak-observers' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ' ' Text.Whitespace 'id' Name.Variable ' ' Text.Whitespace 'proc' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set-module-observer-id!' Name.Function ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'id' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'id' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-unobserve' Name.Builtin ' ' Text.Whitespace 'token' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'module' Name.Function ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'token' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'id' Name.Function ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'token' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'integer?' Name.Builtin ' ' Text.Whitespace 'id' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'hash-remove!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-weak-observers' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ' ' Text.Whitespace 'id' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'set-module-observers!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace '(' Punctuation 'delq1!' Name.Builtin ' ' Text.Whitespace 'id' Name.Variable ' ' Text.Whitespace '(' Punctuation 'module-observers' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '*unspecified*' Keyword ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'for-each' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'proc' Name.Function ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'module-observers' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'hash-fold' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'id' Name.Function ' ' Text.Whitespace 'proc' Name.Variable ' ' Text.Whitespace 'res' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '#f' Name.Constant ' ' Text.Whitespace '(' Punctuation 'module-weak-observers' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Module Searching in General}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; We sometimes want to look for properties of a symbol' Comment.Single '\n' Text.Whitespace ';;; just within the obarray of one module. If the property' Comment.Single '\n' Text.Whitespace ";;; holds, then it is said to hold ``locally'' as in, ``The symbol" Comment.Single '\n' Text.Whitespace ";;; DISPLAY is locally rebound in the module `safe-guile'.''" Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; Other times, we want to test for a symbol property in the obarray' Comment.Single '\n' Text.Whitespace ';;; of M and, if it is not found there, try each of the modules in the' Comment.Single '\n' Text.Whitespace ';;; uses list of M. This is the normal way of testing for some' Comment.Single '\n' Text.Whitespace ';;; property, so we state these properties without qualification as' Comment.Single '\n' Text.Whitespace ";;; in: ``The symbol 'fnord is interned in module M because it is" Comment.Single '\n' Text.Whitespace ';;; interned locally in module M2 which is a member of the uses list' Comment.Single '\n' Text.Whitespace ";;; of M.''" Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; module-search fn m' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; return the first non-#f result of FN applied to M and then to' Comment.Single '\n' Text.Whitespace ';; the modules in the uses of m, and so on recursively. If all applications' Comment.Single '\n' Text.Whitespace ';; return #f, then so does this function.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-search' Name.Builtin ' ' Text.Whitespace 'fn' Name.Variable ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace 'pos' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'pair?' Name.Builtin ' ' Text.Whitespace 'pos' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'module-search' Name.Builtin ' ' Text.Whitespace 'fn' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'pos' Name.Variable ')' Punctuation ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'pos' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'fn' Name.Function ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-uses' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\n' Text.Whitespace ';;; {Is a symbol bound in a module?}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; Symbol S in Module M is bound if S is interned in M and if the binding' Comment.Single '\n' Text.Whitespace ';;; of S in M has been set to some well-defined value.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; module-locally-bound? module symbol' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Is a symbol bound (interned and defined) locally in a given module?' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-locally-bound?' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'var' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-local-variable' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'var' Name.Variable '\n\t ' Text.Whitespace '(' Punctuation 'variable-bound?' Name.Builtin ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-bound? module symbol' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Is a symbol bound (interned and defined) anywhere in a given module' Comment.Single '\n' Text.Whitespace ';; or its uses?' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-bound?' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-search' Name.Builtin ' ' Text.Whitespace 'module-locally-bound?' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';;; {Is a symbol interned in a module?}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; Symbol S in Module M is interned if S occurs in' Comment.Single '\n' Text.Whitespace ';;; of S in M has been set to some well-defined value.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; It is possible to intern a symbol in a module without providing' Comment.Single '\n' Text.Whitespace ';;; an initial binding for the corresponding variable. This is done' Comment.Single '\n' Text.Whitespace ';;; with:' Comment.Single '\n' Text.Whitespace ';;; (module-add! module symbol (make-undefined-variable))' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; In that case, the symbol is interned in the module, but not' Comment.Single '\n' Text.Whitespace ';;; bound there. The unbound symbol shadows any binding for that' Comment.Single '\n' Text.Whitespace ';;; symbol that might otherwise be inherited from a member of the uses list.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-obarray-get-handle' Name.Builtin ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol?' Name.Builtin ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation ' ' Text.Whitespace 'hashq-get-handle' Name.Builtin ' ' Text.Whitespace 'hash-get-handle' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-obarray-ref' Name.Builtin ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol?' Name.Builtin ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation ' ' Text.Whitespace 'hashq-ref' Name.Builtin ' ' Text.Whitespace 'hash-ref' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-obarray-set!' Name.Builtin ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol?' Name.Builtin ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation ' ' Text.Whitespace 'hashq-set!' Name.Builtin ' ' Text.Whitespace 'hash-set!' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-obarray-remove!' Name.Builtin ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'symbol?' Name.Builtin ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation ' ' Text.Whitespace 'hashq-remove!' Name.Builtin ' ' Text.Whitespace 'hash-remove!' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'ob' Name.Variable ' ' Text.Whitespace 'key' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-symbol-locally-interned? module symbol' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; is a symbol interned (not neccessarily defined) locally in a given module' Comment.Single '\n' Text.Whitespace ';; or its uses? Interned symbols shadow inherited bindings even if' Comment.Single '\n' Text.Whitespace ';; they are not themselves bound to a defined value.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-symbol-locally-interned?' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray-get-handle' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-symbol-interned? module symbol' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; is a symbol interned (not neccessarily defined) anywhere in a given module' Comment.Single '\n' Text.Whitespace ';; or its uses? Interned symbols shadow inherited bindings even if' Comment.Single '\n' Text.Whitespace ';; they are not themselves bound to a defined value.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-symbol-interned?' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-search' Name.Builtin ' ' Text.Whitespace 'module-symbol-locally-interned?' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation '\n\n\n' Text.Whitespace ';;; {Mapping modules x symbols --> variables}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; module-local-variable module symbol' Comment.Single '\n' Text.Whitespace ';; return the local variable associated with a MODULE and SYMBOL.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';;; This function is very important. It is the only function that can' Comment.Single '\n' Text.Whitespace ';;; return a variable from a module other than the mutators that store' Comment.Single '\n' Text.Whitespace ';;; new variables in modules. Therefore, this function is the location' Comment.Single '\n' Text.Whitespace ';;; of the "lazy binder" hack.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; If symbol is defined in MODULE, and if the definition binds symbol' Comment.Single '\n' Text.Whitespace ';;; to a variable, return that variable object.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; If the symbols is not found at first, but the module has a lazy binder,' Comment.Single '\n' Text.Whitespace ';;; then try the binder.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; If the symbol is not found at all, return #f.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-local-variable' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n' Text.Whitespace '; (caddr' Comment.Single '\n' Text.Whitespace '; (list m v' Comment.Single '\n\t ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'b' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-obarray-ref' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'variable?' Name.Builtin ' ' Text.Whitespace 'b' Name.Variable ')' Punctuation ' ' Text.Whitespace 'b' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'module-binder' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'module-binder' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace ';))' Comment.Single '\n\n' Text.Whitespace ';; module-variable module symbol' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; like module-local-variable, except search the uses in the' Comment.Single '\n' Text.Whitespace ';; case V is not found in M.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; NOTE: This function is superseded with C code (see modules.c)' Comment.Single '\n' Text.Whitespace ';;; when using the standard eval closure.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-variable' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-search' Name.Builtin ' ' Text.Whitespace 'module-local-variable' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation '\n\n\n' Text.Whitespace ';;; {Mapping modules x symbols --> bindings}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; These are similar to the mapping to variables, except that the' Comment.Single '\n' Text.Whitespace ';;; variable is dereferenced.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; module-symbol-binding module symbol opt-value' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; return the binding of a variable specified by name within' Comment.Single '\n' Text.Whitespace ';; a given module, signalling an error if the variable is unbound.' Comment.Single '\n' Text.Whitespace ';; If the OPT-VALUE is passed, then instead of signalling an error,' Comment.Single '\n' Text.Whitespace ';; return OPT-VALUE.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-symbol-local-binding' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'opt-val' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'var' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-local-variable' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'var' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'variable-ref' Name.Builtin ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'opt-val' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opt-val' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'Locally unbound variable.' Literal.String '"' Literal.String ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-symbol-binding module symbol opt-value' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; return the binding of a variable specified by name within' Comment.Single '\n' Text.Whitespace ';; a given module, signalling an error if the variable is unbound.' Comment.Single '\n' Text.Whitespace ';; If the OPT-VALUE is passed, then instead of signalling an error,' Comment.Single '\n' Text.Whitespace ';; return OPT-VALUE.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-symbol-binding' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'opt-val' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'var' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-variable' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'var' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'variable-ref' Name.Builtin ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'opt-val' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'opt-val' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'Unbound variable.' Literal.String '"' Literal.String ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\n\x0c\n' Text.Whitespace ';;; {Adding Variables to Modules}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n\n' Text.Whitespace ';; module-make-local-var! module symbol' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; ensure a variable for V in the local namespace of M.' Comment.Single '\n' Text.Whitespace ';; If no variable was already there, then create a new and uninitialzied' Comment.Single '\n' Text.Whitespace ';; variable.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-make-local-var!' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'b' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-obarray-ref' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'variable?' Name.Builtin ' ' Text.Whitespace 'b' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'begin' Keyword '\n\t ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace 'b' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'module-binder' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation '(' Punctuation 'module-binder' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ' ' Text.Whitespace '#t' Name.Constant ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'begin' Keyword '\n\t' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'answer' Name.Function ' ' Text.Whitespace '(' Punctuation 'make-undefined-variable' Name.Builtin ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'variable-set-name-hint!' Name.Function ' ' Text.Whitespace 'answer' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'module-obarray-set!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'v' Name.Variable ' ' Text.Whitespace 'answer' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace 'answer' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-ensure-local-variable! module symbol' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Ensure that there is a local variable in MODULE for SYMBOL. If' Comment.Single '\n' Text.Whitespace ';; there is no binding for SYMBOL, create a new uninitialized' Comment.Single '\n' Text.Whitespace ';; variable. Return the local variable.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-ensure-local-variable!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'symbol' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'or' Keyword ' ' Text.Whitespace '(' Punctuation 'module-local-variable' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'symbol' Name.Builtin ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'var' Name.Function ' ' Text.Whitespace '(' Punctuation 'make-undefined-variable' Name.Builtin ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'variable-set-name-hint!' Name.Function ' ' Text.Whitespace 'var' Name.Variable ' ' Text.Whitespace 'symbol' Name.Builtin ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'module-add!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'symbol' Name.Builtin ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation '\n\t' Text.Whitespace 'var' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-add! module symbol var' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; ensure a particular variable for V in the local namespace of M.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-add!' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'variable?' Name.Builtin ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'Bad variable to module-add!' Literal.String '"' Literal.String ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-obarray-set!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'v' Name.Variable ' ' Text.Whitespace 'var' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; module-remove!' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; make sure that a symbol is undefined in the local namespace of M.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-remove!' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-obarray-remove!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace 'v' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-clear!' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'vector-fill!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ' ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; MODULE-FOR-EACH -- exported' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Call PROC on each symbol in MODULE, with arguments of (SYMBOL VARIABLE).' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-for-each' Name.Builtin ' ' Text.Whitespace 'proc' Name.Variable ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'obarray' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'do' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'index' Name.Function ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace 'index' Name.Variable ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'end' Name.Function ' ' Text.Whitespace '(' Punctuation 'vector-length' Name.Builtin ' ' Text.Whitespace 'obarray' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation '(' Punctuation '=' Name.Builtin ' ' Text.Whitespace 'index' Name.Variable ' ' Text.Whitespace 'end' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'for-each' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'bucket' Name.Function ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'bucket' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'bucket' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obarray' Name.Variable ' ' Text.Whitespace 'index' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-map' Name.Builtin ' ' Text.Whitespace 'proc' Name.Variable ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let*' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'obarray' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-obarray' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'end' Name.Function ' ' Text.Whitespace '(' Punctuation 'vector-length' Name.Builtin ' ' Text.Whitespace 'obarray' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'i' Name.Function ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'answer' Name.Function ' ' Text.Whitespace "'" Operator '(' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation '=' Name.Builtin ' ' Text.Whitespace 'i' Name.Variable ' ' Text.Whitespace 'end' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace 'answer' Name.Variable '\n\t ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation '+' Name.Builtin ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace 'i' Name.Variable ')' Punctuation '\n\t\t' Text.Whitespace '(' Punctuation 'append!' Name.Builtin '\n\t\t ' Text.Whitespace '(' Punctuation 'map' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation 'bucket' Name.Function ')' Punctuation '\n\t\t\t' Text.Whitespace '(' Punctuation 'proc' Name.Function ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'bucket' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'bucket' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'vector-ref' Name.Builtin ' ' Text.Whitespace 'obarray' Name.Variable ' ' Text.Whitespace 'i' Name.Variable ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace 'answer' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\x0c\n\n' Text.Whitespace ';;; {Low Level Bootstrapping}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace ';; make-root-module' Comment.Single '\n\n' Text.Whitespace ';; A root module uses the pre-modules-obarray as its obarray. This' Comment.Single '\n' Text.Whitespace ';; special obarray accumulates all bindings that have been established' Comment.Single '\n' Text.Whitespace ';; before the module system is fully booted.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; (The obarray continues to be used by code that has been closed over' Comment.Single '\n' Text.Whitespace ';; before the module system has been booted.)' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'make-root-module' Name.Function ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'm' Name.Function ' ' Text.Whitespace '(' Punctuation 'make-module' Name.Builtin ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set-module-obarray!' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace '(' Punctuation '%get-pre-modules-obarray' Name.Builtin ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; make-scm-module' Comment.Single '\n\n' Text.Whitespace ';; The root interface is a module that uses the same obarray as the' Comment.Single '\n' Text.Whitespace ';; root module. It does not allow new definitions, tho.' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'make-scm-module' Name.Function ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'm' Name.Function ' ' Text.Whitespace '(' Punctuation 'make-module' Name.Builtin ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set-module-obarray!' Name.Builtin ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace '(' Punctuation '%get-pre-modules-obarray' Name.Builtin ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set-module-eval-closure!' Name.Function ' ' Text.Whitespace 'm' Name.Variable ' ' Text.Whitespace '(' Punctuation 'standard-interface-eval-closure' Name.Function ' ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'm' Name.Variable ')' Punctuation ')' Punctuation '\n\n\n\x0c\n' Text.Whitespace ';;; {Module-based Loading}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'save-module-excursion' Name.Builtin ' ' Text.Whitespace 'thunk' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'inner-module' Name.Function ' ' Text.Whitespace '(' Punctuation 'current-module' Name.Builtin ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'outer-module' Name.Function ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'dynamic-wind' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'set!' Keyword ' ' Text.Whitespace 'outer-module' Name.Variable ' ' Text.Whitespace '(' Punctuation 'current-module' Name.Builtin ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'set-current-module' Name.Builtin ' ' Text.Whitespace 'inner-module' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'set!' Keyword ' ' Text.Whitespace 'inner-module' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace 'thunk' Name.Variable '\n\t\t ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'set!' Keyword ' ' Text.Whitespace 'inner-module' Name.Variable ' ' Text.Whitespace '(' Punctuation 'current-module' Name.Builtin ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'set-current-module' Name.Builtin ' ' Text.Whitespace 'outer-module' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'set!' Keyword ' ' Text.Whitespace 'outer-module' Name.Variable ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace 'basic-load' Name.Variable ' ' Text.Whitespace 'load' Keyword ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'load-module' Name.Function ' ' Text.Whitespace 'filename' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'save-module-excursion' Name.Builtin '\n ' Text.Whitespace '(' Punctuation 'lambda' Keyword ' ' Text.Whitespace '(' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'oldname' Name.Function ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace '(' Punctuation 'current-load-port' Name.Builtin ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'port-filename' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'current-load-port' Name.Builtin ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'basic-load' Name.Function ' ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'oldname' Name.Variable '\n\t\t\t ' Text.Whitespace '(' Punctuation '>' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-length' Name.Builtin ' ' Text.Whitespace 'filename' Name.Variable ')' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'char=?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string-ref' Name.Builtin ' ' Text.Whitespace 'filename' Name.Variable ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '#\\/' Literal.String.Char ')' Punctuation ')' Punctuation '\n\t\t\t ' Text.Whitespace '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'string=?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'dirname' Name.Builtin ' ' Text.Whitespace 'oldname' Name.Variable ')' Punctuation ' ' Text.Whitespace '"' Literal.String '.' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation ')' Punctuation '\n\t\t ' Text.Whitespace '(' Punctuation 'string-append' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'dirname' Name.Builtin ' ' Text.Whitespace 'oldname' Name.Variable ')' Punctuation ' ' Text.Whitespace '"' Literal.String '/' Literal.String '"' Literal.String ' ' Text.Whitespace 'filename' Name.Variable ')' Punctuation '\n\t\t ' Text.Whitespace 'filename' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n\n\x0c\n' Text.Whitespace ';;; {MODULE-REF -- exported}' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Returns the value of a variable called NAME in MODULE or any of its' Comment.Single '\n' Text.Whitespace ';; used modules. If there is no such variable, then if the optional third' Comment.Single '\n' Text.Whitespace ';; argument DEFAULT is present, it is returned; otherwise an error is signaled.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-ref' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace '.' Operator ' ' Text.Whitespace 'rest' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'variable' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-variable' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'variable' Name.Variable ' ' Text.Whitespace '(' Punctuation 'variable-bound?' Name.Builtin ' ' Text.Whitespace 'variable' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'variable-ref' Name.Builtin ' ' Text.Whitespace 'variable' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'rest' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'No variable named' Literal.String '"' Literal.String ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace "'in" Literal.String.Symbol ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'rest' Name.Variable ')' Punctuation '\t\t\t' Text.Whitespace '; default value' Comment.Single '\n\t ' Text.Whitespace ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; MODULE-SET! -- exported' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Sets the variable called NAME in MODULE (or in a module that MODULE uses)' Comment.Single '\n' Text.Whitespace ';; to VALUE; if there is no such variable, an error is signaled.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-set!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'variable' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-variable' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'variable' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'variable-set!' Name.Builtin ' ' Text.Whitespace 'variable' Name.Variable ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'error' Name.Builtin ' ' Text.Whitespace '"' Literal.String 'No variable named' Literal.String '"' Literal.String ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace "'in" Literal.String.Symbol ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; MODULE-DEFINE! -- exported' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Sets the variable called NAME in MODULE to VALUE; if there is no such' Comment.Single '\n' Text.Whitespace ';; variable, it is added first.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-define!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'variable' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-local-variable' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace 'variable' Name.Variable '\n\t' Text.Whitespace '(' Punctuation 'begin' Keyword '\n\t ' Text.Whitespace '(' Punctuation 'variable-set!' Name.Builtin ' ' Text.Whitespace 'variable' Name.Variable ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'variable' Name.Function ' ' Text.Whitespace '(' Punctuation 'make-variable' Name.Builtin ' ' Text.Whitespace 'value' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'variable-set-name-hint!' Name.Function ' ' Text.Whitespace 'variable' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'module-add!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ' ' Text.Whitespace 'variable' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; MODULE-DEFINED? -- exported' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Return #t iff NAME is defined in MODULE (or in a module that MODULE' Comment.Single '\n' Text.Whitespace ';; uses)' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-defined?' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'variable' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-variable' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'name' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'and' Keyword ' ' Text.Whitespace 'variable' Name.Variable ' ' Text.Whitespace '(' Punctuation 'variable-bound?' Name.Builtin ' ' Text.Whitespace 'variable' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace ';; MODULE-USE! module interface' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace ';; Add INTERFACE to the list of interfaces used by MODULE.' Comment.Single '\n' Text.Whitespace ';;' Comment.Single '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'module-use!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ' ' Text.Whitespace 'interface' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'set-module-uses!' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable '\n\t\t ' Text.Whitespace '(' Punctuation 'cons' Name.Builtin ' ' Text.Whitespace 'interface' Name.Variable ' ' Text.Whitespace '(' Punctuation 'delq!' Name.Builtin ' ' Text.Whitespace 'interface' Name.Variable ' ' Text.Whitespace '(' Punctuation 'module-uses' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'module-modified' Name.Builtin ' ' Text.Whitespace 'module' Name.Variable ')' Punctuation ')' Punctuation '\n\n\x0c\n' Text.Whitespace ';;; {Recursive Namespaces}' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; A hierarchical namespace emerges if we consider some module to be' Comment.Single '\n' Text.Whitespace ';;; root, and variables bound to modules as nested namespaces.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; The routines in this file manage variable names in hierarchical namespace.' Comment.Single '\n' Text.Whitespace ';;; Each variable name is a list of elements, looked up in successively nested' Comment.Single '\n' Text.Whitespace ';;; modules.' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ";;;\t\t(nested-ref some-root-module '(foo bar baz))" Comment.Single '\n' Text.Whitespace ';;;\t\t=> ' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; There are:' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;\t;; a-root is a module' Comment.Single '\n' Text.Whitespace ';;;\t;; name is a list of symbols' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;\tnested-ref a-root name' Comment.Single '\n' Text.Whitespace ';;;\tnested-set! a-root name val' Comment.Single '\n' Text.Whitespace ';;;\tnested-define! a-root name val' Comment.Single '\n' Text.Whitespace ';;;\tnested-remove! a-root name' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;; (current-module) is a natural choice for a-root so for convenience there are' Comment.Single '\n' Text.Whitespace ';;; also:' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n' Text.Whitespace ';;;\tlocal-ref name\t\t==\tnested-ref (current-module) name' Comment.Single '\n' Text.Whitespace ';;;\tlocal-set! name val\t==\tnested-set! (current-module) name val' Comment.Single '\n' Text.Whitespace ';;;\tlocal-define! name val\t==\tnested-define! (current-module) name val' Comment.Single '\n' Text.Whitespace ';;;\tlocal-remove! name\t==\tnested-remove! (current-module) name' Comment.Single '\n' Text.Whitespace ';;;' Comment.Single '\n\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'nested-ref' Name.Builtin ' ' Text.Whitespace 'root' Name.Variable ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'cur' Name.Function ' ' Text.Whitespace 'root' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'elts' Name.Function ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'cond' Keyword '\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation '\t\t' Text.Whitespace 'cur' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation '(' Punctuation 'not' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'module?' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ')' Punctuation ')' Punctuation '\t' Text.Whitespace '#f' Name.Constant ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'else' Keyword ' ' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-ref' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ' ' Text.Whitespace '#f' Name.Constant ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'nested-set!' Name.Builtin ' ' Text.Whitespace 'root' Name.Variable ' ' Text.Whitespace 'names' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'cur' Name.Function ' ' Text.Whitespace 'root' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'elts' Name.Function ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'module-set!' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-ref' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'nested-define!' Name.Builtin ' ' Text.Whitespace 'root' Name.Variable ' ' Text.Whitespace 'names' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'cur' Name.Function ' ' Text.Whitespace 'root' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'elts' Name.Function ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'module-define!' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-ref' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'nested-remove!' Name.Builtin ' ' Text.Whitespace 'root' Name.Variable ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'let' Keyword ' ' Text.Whitespace 'loop' Name.Variable ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'cur' Name.Function ' ' Text.Whitespace 'root' Name.Variable ')' Punctuation '\n\t ' Text.Whitespace '(' Punctuation 'elts' Name.Function ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '(' Punctuation 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'null?' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'module-remove!' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation '\n\t' Text.Whitespace '(' Punctuation 'loop' Name.Function ' ' Text.Whitespace '(' Punctuation 'module-ref' Name.Builtin ' ' Text.Whitespace 'cur' Name.Variable ' ' Text.Whitespace '(' Punctuation 'car' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'cdr' Name.Builtin ' ' Text.Whitespace 'elts' Name.Variable ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'local-ref' Name.Builtin ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'nested-ref' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'current-module' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'local-set!' Name.Builtin ' ' Text.Whitespace 'names' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'nested-set!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'current-module' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'names' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'local-define' Name.Builtin ' ' Text.Whitespace 'names' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'nested-define!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'current-module' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'names' Name.Variable ' ' Text.Whitespace 'val' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace '(' Punctuation 'define' Keyword ' ' Text.Whitespace '(' Punctuation 'local-remove' Name.Builtin ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ' ' Text.Whitespace '(' Punctuation 'nested-remove!' Name.Builtin ' ' Text.Whitespace '(' Punctuation 'current-module' Name.Builtin ')' Punctuation ' ' Text.Whitespace 'names' Name.Variable ')' Punctuation ')' Punctuation '\n' Text.Whitespace ';;; boot-9.scm ends here' Comment.Single '\n' Text.Whitespace