codekingpro/portable-devtools
114k
1"""2 pygments.lexers.lisp3 ~~~~~~~~~~~~~~~~~~~~4 5 Lexers for Lispy languages.6 7 :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.8 :license: BSD, see LICENSE for details.9"""10 11import re12 13from pygments.lexer import RegexLexer, include, bygroups, words, default14from pygments.token import Text, Comment, Operator, Keyword, Name, String, \15 Number, Punctuation, Literal, Error, Whitespace16 17from pygments.lexers.python import PythonLexer18 19from pygments.lexers._scheme_builtins import scheme_keywords, scheme_builtins20 21__all__ = ['SchemeLexer', 'CommonLispLexer', 'HyLexer', 'RacketLexer',22 'NewLispLexer', 'EmacsLispLexer', 'ShenLexer', 'CPSALexer',23 'XtlangLexer', 'FennelLexer', 'JanetLexer']24 25 26class SchemeLexer(RegexLexer):27 """28 A Scheme lexer.29 30 This parser is checked with pastes from the LISP pastebin31 at http://paste.lisp.org/ to cover as much syntax as possible.32 33 It supports the full Scheme syntax as defined in R5RS.34 """35 name = 'Scheme'36 url = 'http://www.scheme-reports.org/'37 aliases = ['scheme', 'scm']38 filenames = ['*.scm', '*.ss']39 mimetypes = ['text/x-scheme', 'application/x-scheme']40 version_added = '0.6'41 42 flags = re.DOTALL | re.MULTILINE43 44 # valid names for identifiers45 # well, names can only not consist fully of numbers46 # but this should be good enough for now47 valid_name = r'[\w!$%&*+,/:<=>?@^~|-]+'48 49 # Use within verbose regexes50 token_end = r'''51 (?=52 \s # whitespace53 | ; # comment54 | \#[;|!] # fancy comments55 | [)\]] # end delimiters56 | $ # end of file57 )58 '''59 60 # Recognizing builtins.61 def get_tokens_unprocessed(self, text):62 for index, token, value in super().get_tokens_unprocessed(text):63 if token is Name.Function or token is Name.Variable:64 if value in scheme_keywords:65 yield index, Keyword, value66 elif value in scheme_builtins:67 yield index, Name.Builtin, value68 else:69 yield index, token, value70 else:71 yield index, token, value72 73 # Scheme has funky syntactic rules for numbers. These are all74 # valid number literals: 5.0e55|14, 14/13, -1+5j, +1@5, #b110,75 # #o#Iinf.0-nan.0i. This is adapted from the formal grammar given76 # in http://www.r6rs.org/final/r6rs.pdf, section 4.2.1. Take a77 # deep breath ...78 79 # It would be simpler if we could just not bother about invalid80 # numbers like #b35. But we cannot parse 'abcdef' without #x as a81 # number.82 83 number_rules = {}84 for base in (2, 8, 10, 16):85 if base == 2:86 digit = r'[01]'87 radix = r'( \#[bB] )'88 elif base == 8:89 digit = r'[0-7]'90 radix = r'( \#[oO] )'91 elif base == 10:92 digit = r'[0-9]'93 radix = r'( (\#[dD])? )'94 elif base == 16:95 digit = r'[0-9a-fA-F]'96 radix = r'( \#[xX] )'97 98 # Radix, optional exactness indicator.99 prefix = rf'''100 (101 {radix} (\#[iIeE])?102 | \#[iIeE] {radix}103 )104 '''105 106 # Simple unsigned number or fraction.107 ureal = rf'''108 (109 {digit}+110 ( / {digit}+ )?111 )112 '''113 114 # Add decimal numbers.115 if base == 10:116 decimal = r'''117 (118 # Decimal part119 (120 [0-9]+ ([.][0-9]*)?121 | [.][0-9]+122 )123 124 # Optional exponent125 (126 [eEsSfFdDlL] [+-]? [0-9]+127 )?128 129 # Optional mantissa width130 (131 \|[0-9]+132 )?133 )134 '''135 ureal = rf'''136 (137 {decimal} (?!/)138 | {ureal}139 )140 '''141 142 naninf = r'(nan.0|inf.0)'143 144 real = rf'''145 (146 [+-] {naninf} # Sign mandatory147 | [+-]? {ureal} # Sign optional148 )149 '''150 151 complex_ = rf'''152 (153 {real}? [+-] ({naninf}|{ureal})? i154 | {real} (@ {real})?155 156 )157 '''158 159 num = rf'''(?x)160 (161 {prefix}162 {complex_}163 )164 # Need to ensure we have a full token. 1+ is not a165 # number followed by something else, but a function166 # name.167 {token_end}168 '''169 170 number_rules[base] = num171 172 # If you have a headache now, say thanks to RnRS editors.173 174 # Doing it this way is simpler than splitting the number(10)175 # regex in a floating-point and a no-floating-point version.176 def decimal_cb(self, match):177 if '.' in match.group():178 token_type = Number.Float # includes [+-](inf|nan).0179 else:180 token_type = Number.Integer181 yield match.start(), token_type, match.group()182 183 # --184 185 # The 'scheme-root' state parses as many expressions as needed, always186 # delegating to the 'scheme-value' state. The latter parses one complete187 # expression and immediately pops back. This is needed for the LilyPondLexer.188 # When LilyPond encounters a #, it starts parsing embedded Scheme code, and189 # returns to normal syntax after one expression. We implement this190 # by letting the LilyPondLexer subclass the SchemeLexer. When it finds191 # the #, the LilyPondLexer goes to the 'value' state, which then pops back192 # to LilyPondLexer. The 'root' state of the SchemeLexer merely delegates the193 # work to 'scheme-root'; this is so that LilyPondLexer can inherit194 # 'scheme-root' and redefine 'root'.195 196 tokens = {197 'root': [198 default('scheme-root'),199 ],200 'scheme-root': [201 default('value'),202 ],203 'value': [204 # the comments205 # and going to the end of the line206 (r';.*?$', Comment.Single),207 # multi-line comment208 (r'#\|', Comment.Multiline, 'multiline-comment'),209 # commented form (entire sexpr following)210 (r'#;[([]', Comment, 'commented-form'),211 # commented datum212 (r'#;', Comment, 'commented-datum'),213 # signifies that the program text that follows is written with the214 # lexical and datum syntax described in r6rs215 (r'#!r6rs', Comment),216 217 # whitespaces - usually not relevant218 (r'\s+', Whitespace),219 220 # numbers221 (number_rules[2], Number.Bin, '#pop'),222 (number_rules[8], Number.Oct, '#pop'),223 (number_rules[10], decimal_cb, '#pop'),224 (number_rules[16], Number.Hex, '#pop'),225 226 # strings, symbols, keywords and characters227 (r'"', String, 'string'),228 (r"'" + valid_name, String.Symbol, "#pop"),229 (r'#:' + valid_name, Keyword.Declaration, '#pop'),230 (r"#\\([()/'\"._!§$%& ?=+-]|[a-zA-Z0-9]+)", String.Char, "#pop"),231 232 # constants233 (r'(#t|#f)', Name.Constant, '#pop'),234 235 # special operators236 (r"('|#|`|,@|,|\.)", Operator),237 238 # first variable in a quoted string like239 # '(this is syntactic sugar)240 (r"(?<='\()" + valid_name, Name.Variable, '#pop'),241 (r"(?<=#\()" + valid_name, Name.Variable, '#pop'),242 243 # Functions -- note that this also catches variables244 # defined in let/let*, but there is little that can245 # be done about it.246 (r'(?<=\()' + valid_name, Name.Function, '#pop'),247 248 # find the remaining variables249 (valid_name, Name.Variable, '#pop'),250 251 # the famous parentheses!252 253 # Push scheme-root to enter a state that will parse as many things254 # as needed in the parentheses.255 (r'[([]', Punctuation, 'scheme-root'),256 # Pop one 'value', one 'scheme-root', and yet another 'value', so257 # we get back to a state parsing expressions as needed in the258 # enclosing context.259 (r'[)\]]', Punctuation, '#pop:3'),260 ],261 'multiline-comment': [262 (r'#\|', Comment.Multiline, '#push'),263 (r'\|#', Comment.Multiline, '#pop'),264 (r'[^|#]+', Comment.Multiline),265 (r'[|#]', Comment.Multiline),266 ],267 'commented-form': [268 (r'[([]', Comment, '#push'),269 (r'[)\]]', Comment, '#pop'),270 (r'[^()[\]]+', Comment),271 ],272 'commented-datum': [273 (rf'(?x).*?{token_end}', Comment, '#pop'),274 ],275 'string': [276 # Pops back from 'string', and pops 'value' as well.277 ('"', String, '#pop:2'),278 # Hex escape sequences, R6RS-style.279 (r'\\x[0-9a-fA-F]+;', String.Escape),280 # We try R6RS style first, but fall back to Guile-style.281 (r'\\x[0-9a-fA-F]{2}', String.Escape),282 # Other special escape sequences implemented by Guile.283 (r'\\u[0-9a-fA-F]{4}', String.Escape),284 (r'\\U[0-9a-fA-F]{6}', String.Escape),285 # Escape sequences are not overly standardized. Recognizing286 # a single character after the backslash should be good enough.287 # NB: we have DOTALL.288 (r'\\.', String.Escape),289 # The rest290 (r'[^\\"]+', String),291 ]292 }293 294 295class CommonLispLexer(RegexLexer):296 """297 A Common Lisp lexer.298 """299 name = 'Common Lisp'300 url = 'https://lisp-lang.org/'301 aliases = ['common-lisp', 'cl', 'lisp']302 filenames = ['*.cl', '*.lisp']303 mimetypes = ['text/x-common-lisp']304 version_added = '0.9'305 306 flags = re.IGNORECASE | re.MULTILINE307 308 # couple of useful regexes309 310 # characters that are not macro-characters and can be used to begin a symbol311 nonmacro = r'\\.|[\w!$%&*+-/<=>?@\[\]^{}~]'312 constituent = nonmacro + '|[#.:]'313 terminated = r'(?=[ "()\'\n,;`])' # whitespace or terminating macro characters314 315 # symbol token, reverse-engineered from hyperspec316 # Take a deep breath...317 symbol = rf'(\|[^|]+\||(?:{nonmacro})(?:{constituent})*)'318 319 def __init__(self, **options):320 from pygments.lexers._cl_builtins import BUILTIN_FUNCTIONS, \321 SPECIAL_FORMS, MACROS, LAMBDA_LIST_KEYWORDS, DECLARATIONS, \322 BUILTIN_TYPES, BUILTIN_CLASSES323 self.builtin_function = BUILTIN_FUNCTIONS324 self.special_forms = SPECIAL_FORMS325 self.macros = MACROS326 self.lambda_list_keywords = LAMBDA_LIST_KEYWORDS327 self.declarations = DECLARATIONS328 self.builtin_types = BUILTIN_TYPES329 self.builtin_classes = BUILTIN_CLASSES330 RegexLexer.__init__(self, **options)331 332 def get_tokens_unprocessed(self, text):333 stack = ['root']334 for index, token, value in RegexLexer.get_tokens_unprocessed(self, text, stack):335 if token is Name.Variable:336 if value in self.builtin_function:337 yield index, Name.Builtin, value338 continue339 if value in self.special_forms:340 yield index, Keyword, value341 continue342 if value in self.macros:343 yield index, Name.Builtin, value344 continue345 if value in self.lambda_list_keywords:346 yield index, Keyword, value347 continue348 if value in self.declarations:349 yield index, Keyword, value350 continue351 if value in self.builtin_types:352 yield index, Keyword.Type, value353 continue354 if value in self.builtin_classes:355 yield index, Name.Class, value356 continue357 yield index, token, value358 359 tokens = {360 'root': [361 default('body'),362 ],363 'multiline-comment': [364 (r'#\|', Comment.Multiline, '#push'), # (cf. Hyperspec 2.4.8.19)365 (r'\|#', Comment.Multiline, '#pop'),366 (r'[^|#]+', Comment.Multiline),367 (r'[|#]', Comment.Multiline),368 ],369 'commented-form': [370 (r'\(', Comment.Preproc, '#push'),371 (r'\)', Comment.Preproc, '#pop'),372 (r'[^()]+', Comment.Preproc),373 ],374 'body': [375 # whitespace376 (r'\s+', Whitespace),377 378 # single-line comment379 (r';.*$', Comment.Single),380 381 # multi-line comment382 (r'#\|', Comment.Multiline, 'multiline-comment'),383 384 # encoding comment (?)385 (r'#\d*Y.*$', Comment.Special),386 387 # strings and characters388 (r'"(\\.|\\\n|[^"\\])*"', String),389 # quoting390 (r":" + symbol, String.Symbol),391 (r"::" + symbol, String.Symbol),392 (r":#" + symbol, String.Symbol),393 (r"'" + symbol, String.Symbol),394 (r"'", Operator),395 (r"`", Operator),396 397 # decimal numbers398 (r'[-+]?\d+\.?' + terminated, Number.Integer),399 (r'[-+]?\d+/\d+' + terminated, Number),400 (r'[-+]?(\d*\.\d+([defls][-+]?\d+)?|\d+(\.\d*)?[defls][-+]?\d+)' +401 terminated, Number.Float),402 403 # sharpsign strings and characters404 (r"#\\." + terminated, String.Char),405 (r"#\\" + symbol, String.Char),406 407 # vector408 (r'#\(', Operator, 'body'),409 410 # bitstring411 (r'#\d*\*[01]*', Literal.Other),412 413 # uninterned symbol414 (r'#:' + symbol, String.Symbol),415 416 # read-time and load-time evaluation417 (r'#[.,]', Operator),418 419 # function shorthand420 (r'#\'', Name.Function),421 422 # binary rational423 (r'#b[+-]?[01]+(/[01]+)?', Number.Bin),424 425 # octal rational426 (r'#o[+-]?[0-7]+(/[0-7]+)?', Number.Oct),427 428 # hex rational429 (r'#x[+-]?[0-9a-f]+(/[0-9a-f]+)?', Number.Hex),430 431 # radix rational432 (r'#\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?', Number),433 434 # complex435 (r'(#c)(\()', bygroups(Number, Punctuation), 'body'),436 437 # array438 (r'(#\d+a)(\()', bygroups(Literal.Other, Punctuation), 'body'),439 440 # structure441 (r'(#s)(\()', bygroups(Literal.Other, Punctuation), 'body'),442 443 # path444 (r'#p?"(\\.|[^"])*"', Literal.Other),445 446 # reference447 (r'#\d+=', Operator),448 (r'#\d+#', Operator),449 450 # read-time comment451 (r'#+nil' + terminated + r'\s*\(', Comment.Preproc, 'commented-form'),452 453 # read-time conditional454 (r'#[+-]', Operator),455 456 # special operators that should have been parsed already457 (r'(,@|,|\.)', Operator),458 459 # special constants460 (r'(t|nil)' + terminated, Name.Constant),461 462 # functions and variables463 (r'\*' + symbol + r'\*', Name.Variable.Global),464 (symbol, Name.Variable),465 466 # parentheses467 (r'\(', Punctuation, 'body'),468 (r'\)', Punctuation, '#pop'),469 ],470 }471 472 def analyse_text(text):473 """Competes with Visual Prolog on *.cl"""474 # This is a *really* good indicator (and not conflicting with Visual Prolog)475 # '(defun ' first on a line476 # section keyword alone on line e.g. 'clauses'477 if re.search(r'^\s*\(defun\s', text):478 return 0.8479 else:480 return 0481 482 483class HyLexer(RegexLexer):484 """485 Lexer for Hy source code.486 """487 name = 'Hy'488 url = 'http://hylang.org/'489 aliases = ['hylang', 'hy']490 filenames = ['*.hy']491 mimetypes = ['text/x-hy', 'application/x-hy']492 version_added = '2.0'493 494 special_forms = (495 'cond', 'for', '->', '->>', 'car',496 'cdr', 'first', 'rest', 'let', 'when', 'unless',497 'import', 'do', 'progn', 'get', 'slice', 'assoc', 'with-decorator',498 ',', 'list_comp', 'kwapply', '~', 'is', 'in', 'is-not', 'not-in',499 'quasiquote', 'unquote', 'unquote-splice', 'quote', '|', '<<=', '>>=',500 'foreach', 'while',501 'eval-and-compile', 'eval-when-compile'502 )503 504 declarations = (505 'def', 'defn', 'defun', 'defmacro', 'defclass', 'lambda', 'fn', 'setv'506 )507 508 hy_builtins = ()509 510 hy_core = (511 'cycle', 'dec', 'distinct', 'drop', 'even?', 'filter', 'inc',512 'instance?', 'iterable?', 'iterate', 'iterator?', 'neg?',513 'none?', 'nth', 'numeric?', 'odd?', 'pos?', 'remove', 'repeat',514 'repeatedly', 'take', 'take_nth', 'take_while', 'zero?'515 )516 517 builtins = hy_builtins + hy_core518 519 # valid names for identifiers520 # well, names can only not consist fully of numbers521 # but this should be good enough for now522 valid_name = r"[^ \t\n\r\f\v()[\]{};\"'`~]+"523 524 def _multi_escape(entries):525 return words(entries, suffix=' ')526 527 tokens = {528 'root': [529 # the comments - always starting with semicolon530 # and going to the end of the line531 (r';.*$', Comment.Single),532 533 # whitespaces - usually not relevant534 (r'[ \t\n\r\f\v]+', Whitespace),535 536 # numbers537 (r'-?\d+\.\d+', Number.Float),538 (r'-?\d+', Number.Integer),539 (r'0[0-7]+j?', Number.Oct),540 (r'0[xX][a-fA-F0-9]+', Number.Hex),541 542 # strings, symbols and characters543 (r'"(\\\\|\\[^\\]|[^"\\])*"', String),544 (r"'" + valid_name, String.Symbol),545 (r"\\(.|[a-z]+)", String.Char),546 (r'^(\s*)([rRuU]{,2}"""(?:.|\n)*?""")', bygroups(Text, String.Doc)),547 (r"^(\s*)([rRuU]{,2}'''(?:.|\n)*?''')", bygroups(Text, String.Doc)),548 549 # keywords550 (r'::?' + valid_name, String.Symbol),551 552 # special operators553 (r'~@|[`\'#^~&@]', Operator),554 555 include('py-keywords'),556 include('py-builtins'),557 558 # highlight the special forms559 (_multi_escape(special_forms), Keyword),560 561 # Technically, only the special forms are 'keywords'. The problem562 # is that only treating them as keywords means that things like563 # 'defn' and 'ns' need to be highlighted as builtins. This is ugly564 # and weird for most styles. So, as a compromise we're going to565 # highlight them as Keyword.Declarations.566 (_multi_escape(declarations), Keyword.Declaration),567 568 # highlight the builtins569 (_multi_escape(builtins), Name.Builtin),570 571 # the remaining functions572 (r'(?<=\()' + valid_name, Name.Function),573 574 # find the remaining variables575 (valid_name, Name.Variable),576 577 # Hy accepts vector notation578 (r'(\[|\])', Punctuation),579 580 # Hy accepts map notation581 (r'(\{|\})', Punctuation),582 583 # the famous parentheses!584 (r'(\(|\))', Punctuation),585 586 ],587 'py-keywords': PythonLexer.tokens['keywords'],588 'py-builtins': PythonLexer.tokens['builtins'],589 }590 591 def analyse_text(text):592 if '(import ' in text or '(defn ' in text:593 return 0.9594 595 596class RacketLexer(RegexLexer):597 """598 Lexer for Racket source code (formerly599 known as PLT Scheme).600 """601 602 name = 'Racket'603 url = 'http://racket-lang.org/'604 aliases = ['racket', 'rkt']605 filenames = ['*.rkt', '*.rktd', '*.rktl']606 mimetypes = ['text/x-racket', 'application/x-racket']607 version_added = '1.6'608 609 # Generated by example.rkt610 _keywords = (611 '#%app', '#%datum', '#%declare', '#%expression', '#%module-begin',612 '#%plain-app', '#%plain-lambda', '#%plain-module-begin',613 '#%printing-module-begin', '#%provide', '#%require',614 '#%stratified-body', '#%top', '#%top-interaction',615 '#%variable-reference', '->', '->*', '->*m', '->d', '->dm', '->i',616 '->m', '...', ':do-in', '==', '=>', '_', 'absent', 'abstract',617 'all-defined-out', 'all-from-out', 'and', 'any', 'augment', 'augment*',618 'augment-final', 'augment-final*', 'augride', 'augride*', 'begin',619 'begin-for-syntax', 'begin0', 'case', 'case->', 'case->m',620 'case-lambda', 'class', 'class*', 'class-field-accessor',621 'class-field-mutator', 'class/c', 'class/derived', 'combine-in',622 'combine-out', 'command-line', 'compound-unit', 'compound-unit/infer',623 'cond', 'cons/dc', 'contract', 'contract-out', 'contract-struct',624 'contracted', 'define', 'define-compound-unit',625 'define-compound-unit/infer', 'define-contract-struct',626 'define-custom-hash-types', 'define-custom-set-types',627 'define-for-syntax', 'define-local-member-name', 'define-logger',628 'define-match-expander', 'define-member-name',629 'define-module-boundary-contract', 'define-namespace-anchor',630 'define-opt/c', 'define-sequence-syntax', 'define-serializable-class',631 'define-serializable-class*', 'define-signature',632 'define-signature-form', 'define-struct', 'define-struct/contract',633 'define-struct/derived', 'define-syntax', 'define-syntax-rule',634 'define-syntaxes', 'define-unit', 'define-unit-binding',635 'define-unit-from-context', 'define-unit/contract',636 'define-unit/new-import-export', 'define-unit/s', 'define-values',637 'define-values-for-export', 'define-values-for-syntax',638 'define-values/invoke-unit', 'define-values/invoke-unit/infer',639 'define/augment', 'define/augment-final', 'define/augride',640 'define/contract', 'define/final-prop', 'define/match',641 'define/overment', 'define/override', 'define/override-final',642 'define/private', 'define/public', 'define/public-final',643 'define/pubment', 'define/subexpression-pos-prop',644 'define/subexpression-pos-prop/name', 'delay', 'delay/idle',645 'delay/name', 'delay/strict', 'delay/sync', 'delay/thread', 'do',646 'else', 'except', 'except-in', 'except-out', 'export', 'extends',647 'failure-cont', 'false', 'false/c', 'field', 'field-bound?', 'file',648 'flat-murec-contract', 'flat-rec-contract', 'for', 'for*', 'for*/and',649 'for*/async', 'for*/first', 'for*/fold', 'for*/fold/derived',650 'for*/hash', 'for*/hasheq', 'for*/hasheqv', 'for*/last', 'for*/list',651 'for*/lists', 'for*/mutable-set', 'for*/mutable-seteq',652 'for*/mutable-seteqv', 'for*/or', 'for*/product', 'for*/set',653 'for*/seteq', 'for*/seteqv', 'for*/stream', 'for*/sum', 'for*/vector',654 'for*/weak-set', 'for*/weak-seteq', 'for*/weak-seteqv', 'for-label',655 'for-meta', 'for-syntax', 'for-template', 'for/and', 'for/async',656 'for/first', 'for/fold', 'for/fold/derived', 'for/hash', 'for/hasheq',657 'for/hasheqv', 'for/last', 'for/list', 'for/lists', 'for/mutable-set',658 'for/mutable-seteq', 'for/mutable-seteqv', 'for/or', 'for/product',659 'for/set', 'for/seteq', 'for/seteqv', 'for/stream', 'for/sum',660 'for/vector', 'for/weak-set', 'for/weak-seteq', 'for/weak-seteqv',661 'gen:custom-write', 'gen:dict', 'gen:equal+hash', 'gen:set',662 'gen:stream', 'generic', 'get-field', 'hash/dc', 'if', 'implies',663 'import', 'include', 'include-at/relative-to',664 'include-at/relative-to/reader', 'include/reader', 'inherit',665 'inherit-field', 'inherit/inner', 'inherit/super', 'init',666 'init-depend', 'init-field', 'init-rest', 'inner', 'inspect',667 'instantiate', 'interface', 'interface*', 'invariant-assertion',668 'invoke-unit', 'invoke-unit/infer', 'lambda', 'lazy', 'let', 'let*',669 'let*-values', 'let-syntax', 'let-syntaxes', 'let-values', 'let/cc',670 'let/ec', 'letrec', 'letrec-syntax', 'letrec-syntaxes',671 'letrec-syntaxes+values', 'letrec-values', 'lib', 'link', 'local',672 'local-require', 'log-debug', 'log-error', 'log-fatal', 'log-info',673 'log-warning', 'match', 'match*', 'match*/derived', 'match-define',674 'match-define-values', 'match-lambda', 'match-lambda*',675 'match-lambda**', 'match-let', 'match-let*', 'match-let*-values',676 'match-let-values', 'match-letrec', 'match-letrec-values',677 'match/derived', 'match/values', 'member-name-key', 'mixin', 'module',678 'module*', 'module+', 'nand', 'new', 'nor', 'object-contract',679 'object/c', 'only', 'only-in', 'only-meta-in', 'open', 'opt/c', 'or',680 'overment', 'overment*', 'override', 'override*', 'override-final',681 'override-final*', 'parameterize', 'parameterize*',682 'parameterize-break', 'parametric->/c', 'place', 'place*',683 'place/context', 'planet', 'prefix', 'prefix-in', 'prefix-out',684 'private', 'private*', 'prompt-tag/c', 'protect-out', 'provide',685 'provide-signature-elements', 'provide/contract', 'public', 'public*',686 'public-final', 'public-final*', 'pubment', 'pubment*', 'quasiquote',687 'quasisyntax', 'quasisyntax/loc', 'quote', 'quote-syntax',688 'quote-syntax/prune', 'recontract-out', 'recursive-contract',689 'relative-in', 'rename', 'rename-in', 'rename-inner', 'rename-out',690 'rename-super', 'require', 'send', 'send*', 'send+', 'send-generic',691 'send/apply', 'send/keyword-apply', 'set!', 'set!-values',692 'set-field!', 'shared', 'stream', 'stream*', 'stream-cons', 'struct',693 'struct*', 'struct-copy', 'struct-field-index', 'struct-out',694 'struct/c', 'struct/ctc', 'struct/dc', 'submod', 'super',695 'super-instantiate', 'super-make-object', 'super-new', 'syntax',696 'syntax-case', 'syntax-case*', 'syntax-id-rules', 'syntax-rules',697 'syntax/loc', 'tag', 'this', 'this%', 'thunk', 'thunk*', 'time',698 'unconstrained-domain->', 'unit', 'unit-from-context', 'unit/c',699 'unit/new-import-export', 'unit/s', 'unless', 'unquote',700 'unquote-splicing', 'unsyntax', 'unsyntax-splicing', 'values/drop',701 'when', 'with-continuation-mark', 'with-contract',702 'with-contract-continuation-mark', 'with-handlers', 'with-handlers*',703 'with-method', 'with-syntax', 'λ'704 )705 706 # Generated by example.rkt707 _builtins = (708 '*', '*list/c', '+', '-', '/', '<', '</c', '<=', '<=/c', '=', '=/c',709 '>', '>/c', '>=', '>=/c', 'abort-current-continuation', 'abs',710 'absolute-path?', 'acos', 'add-between', 'add1', 'alarm-evt',711 'always-evt', 'and/c', 'andmap', 'angle', 'any/c', 'append', 'append*',712 'append-map', 'apply', 'argmax', 'argmin', 'arithmetic-shift',713 'arity-at-least', 'arity-at-least-value', 'arity-at-least?',714 'arity-checking-wrapper', 'arity-includes?', 'arity=?',715 'arrow-contract-info', 'arrow-contract-info-accepts-arglist',716 'arrow-contract-info-chaperone-procedure',717 'arrow-contract-info-check-first-order', 'arrow-contract-info?',718 'asin', 'assf', 'assoc', 'assq', 'assv', 'atan',719 'bad-number-of-results', 'banner', 'base->-doms/c', 'base->-rngs/c',720 'base->?', 'between/c', 'bitwise-and', 'bitwise-bit-field',721 'bitwise-bit-set?', 'bitwise-ior', 'bitwise-not', 'bitwise-xor',722 'blame-add-car-context', 'blame-add-cdr-context', 'blame-add-context',723 'blame-add-missing-party', 'blame-add-nth-arg-context',724 'blame-add-range-context', 'blame-add-unknown-context',725 'blame-context', 'blame-contract', 'blame-fmt->-string',726 'blame-missing-party?', 'blame-negative', 'blame-original?',727 'blame-positive', 'blame-replace-negative', 'blame-source',728 'blame-swap', 'blame-swapped?', 'blame-update', 'blame-value',729 'blame?', 'boolean=?', 'boolean?', 'bound-identifier=?', 'box',730 'box-cas!', 'box-immutable', 'box-immutable/c', 'box/c', 'box?',731 'break-enabled', 'break-parameterization?', 'break-thread',732 'build-chaperone-contract-property', 'build-compound-type-name',733 'build-contract-property', 'build-flat-contract-property',734 'build-list', 'build-path', 'build-path/convention-type',735 'build-string', 'build-vector', 'byte-pregexp', 'byte-pregexp?',736 'byte-ready?', 'byte-regexp', 'byte-regexp?', 'byte?', 'bytes',737 'bytes->immutable-bytes', 'bytes->list', 'bytes->path',738 'bytes->path-element', 'bytes->string/latin-1', 'bytes->string/locale',739 'bytes->string/utf-8', 'bytes-append', 'bytes-append*',740 'bytes-close-converter', 'bytes-convert', 'bytes-convert-end',741 'bytes-converter?', 'bytes-copy', 'bytes-copy!',742 'bytes-environment-variable-name?', 'bytes-fill!', 'bytes-join',743 'bytes-length', 'bytes-no-nuls?', 'bytes-open-converter', 'bytes-ref',744 'bytes-set!', 'bytes-utf-8-index', 'bytes-utf-8-length',745 'bytes-utf-8-ref', 'bytes<?', 'bytes=?', 'bytes>?', 'bytes?', 'caaaar',746 'caaadr', 'caaar', 'caadar', 'caaddr', 'caadr', 'caar', 'cadaar',747 'cadadr', 'cadar', 'caddar', 'cadddr', 'caddr', 'cadr',748 'call-in-nested-thread', 'call-with-atomic-output-file',749 'call-with-break-parameterization',750 'call-with-composable-continuation', 'call-with-continuation-barrier',751 'call-with-continuation-prompt', 'call-with-current-continuation',752 'call-with-default-reading-parameterization',753 'call-with-escape-continuation', 'call-with-exception-handler',754 'call-with-file-lock/timeout', 'call-with-immediate-continuation-mark',755 'call-with-input-bytes', 'call-with-input-file',756 'call-with-input-file*', 'call-with-input-string',757 'call-with-output-bytes', 'call-with-output-file',758 'call-with-output-file*', 'call-with-output-string',759 'call-with-parameterization', 'call-with-semaphore',760 'call-with-semaphore/enable-break', 'call-with-values', 'call/cc',761 'call/ec', 'car', 'cartesian-product', 'cdaaar', 'cdaadr', 'cdaar',762 'cdadar', 'cdaddr', 'cdadr', 'cdar', 'cddaar', 'cddadr', 'cddar',763 'cdddar', 'cddddr', 'cdddr', 'cddr', 'cdr', 'ceiling', 'channel-get',764 'channel-put', 'channel-put-evt', 'channel-put-evt?',765 'channel-try-get', 'channel/c', 'channel?', 'chaperone-box',766 'chaperone-channel', 'chaperone-continuation-mark-key',767 'chaperone-contract-property?', 'chaperone-contract?', 'chaperone-evt',768 'chaperone-hash', 'chaperone-hash-set', 'chaperone-of?',769 'chaperone-procedure', 'chaperone-procedure*', 'chaperone-prompt-tag',770 'chaperone-struct', 'chaperone-struct-type', 'chaperone-vector',771 'chaperone?', 'char->integer', 'char-alphabetic?', 'char-blank?',772 'char-ci<=?', 'char-ci<?', 'char-ci=?', 'char-ci>=?', 'char-ci>?',773 'char-downcase', 'char-foldcase', 'char-general-category',774 'char-graphic?', 'char-in', 'char-in/c', 'char-iso-control?',775 'char-lower-case?', 'char-numeric?', 'char-punctuation?',776 'char-ready?', 'char-symbolic?', 'char-title-case?', 'char-titlecase',777 'char-upcase', 'char-upper-case?', 'char-utf-8-length',778 'char-whitespace?', 'char<=?', 'char<?', 'char=?', 'char>=?', 'char>?',779 'char?', 'check-duplicate-identifier', 'check-duplicates',780 'checked-procedure-check-and-extract', 'choice-evt',781 'class->interface', 'class-info', 'class-seal', 'class-unseal',782 'class?', 'cleanse-path', 'close-input-port', 'close-output-port',783 'coerce-chaperone-contract', 'coerce-chaperone-contracts',784 'coerce-contract', 'coerce-contract/f', 'coerce-contracts',785 'coerce-flat-contract', 'coerce-flat-contracts', 'collect-garbage',786 'collection-file-path', 'collection-path', 'combinations', 'compile',787 'compile-allow-set!-undefined', 'compile-context-preservation-enabled',788 'compile-enforce-module-constants', 'compile-syntax',789 'compiled-expression-recompile', 'compiled-expression?',790 'compiled-module-expression?', 'complete-path?', 'complex?', 'compose',791 'compose1', 'conjoin', 'conjugate', 'cons', 'cons/c', 'cons?', 'const',792 'continuation-mark-key/c', 'continuation-mark-key?',793 'continuation-mark-set->context', 'continuation-mark-set->list',794 'continuation-mark-set->list*', 'continuation-mark-set-first',795 'continuation-mark-set?', 'continuation-marks',796 'continuation-prompt-available?', 'continuation-prompt-tag?',797 'continuation?', 'contract-continuation-mark-key',798 'contract-custom-write-property-proc', 'contract-exercise',799 'contract-first-order', 'contract-first-order-passes?',800 'contract-late-neg-projection', 'contract-name', 'contract-proc',801 'contract-projection', 'contract-property?',802 'contract-random-generate', 'contract-random-generate-fail',803 'contract-random-generate-fail?',804 'contract-random-generate-get-current-environment',805 'contract-random-generate-stash', 'contract-random-generate/choose',806 'contract-stronger?', 'contract-struct-exercise',807 'contract-struct-generate', 'contract-struct-late-neg-projection',808 'contract-struct-list-contract?', 'contract-val-first-projection',809 'contract?', 'convert-stream', 'copy-directory/files', 'copy-file',810 'copy-port', 'cos', 'cosh', 'count', 'current-blame-format',811 'current-break-parameterization', 'current-code-inspector',812 'current-command-line-arguments', 'current-compile',813 'current-compiled-file-roots', 'current-continuation-marks',814 'current-contract-region', 'current-custodian', 'current-directory',815 'current-directory-for-user', 'current-drive',816 'current-environment-variables', 'current-error-port', 'current-eval',817 'current-evt-pseudo-random-generator',818 'current-force-delete-permissions', 'current-future',819 'current-gc-milliseconds', 'current-get-interaction-input-port',820 'current-inexact-milliseconds', 'current-input-port',821 'current-inspector', 'current-library-collection-links',822 'current-library-collection-paths', 'current-load',823 'current-load-extension', 'current-load-relative-directory',824 'current-load/use-compiled', 'current-locale', 'current-logger',825 'current-memory-use', 'current-milliseconds',826 'current-module-declare-name', 'current-module-declare-source',827 'current-module-name-resolver', 'current-module-path-for-load',828 'current-namespace', 'current-output-port', 'current-parameterization',829 'current-plumber', 'current-preserved-thread-cell-values',830 'current-print', 'current-process-milliseconds', 'current-prompt-read',831 'current-pseudo-random-generator', 'current-read-interaction',832 'current-reader-guard', 'current-readtable', 'current-seconds',833 'current-security-guard', 'current-subprocess-custodian-mode',834 'current-thread', 'current-thread-group',835 'current-thread-initial-stack-size',836 'current-write-relative-directory', 'curry', 'curryr',837 'custodian-box-value', 'custodian-box?', 'custodian-limit-memory',838 'custodian-managed-list', 'custodian-memory-accounting-available?',839 'custodian-require-memory', 'custodian-shutdown-all', 'custodian?',840 'custom-print-quotable-accessor', 'custom-print-quotable?',841 'custom-write-accessor', 'custom-write-property-proc', 'custom-write?',842 'date', 'date*', 'date*-nanosecond', 'date*-time-zone-name', 'date*?',843 'date-day', 'date-dst?', 'date-hour', 'date-minute', 'date-month',844 'date-second', 'date-time-zone-offset', 'date-week-day', 'date-year',845 'date-year-day', 'date?', 'datum->syntax', 'datum-intern-literal',846 'default-continuation-prompt-tag', 'degrees->radians',847 'delete-directory', 'delete-directory/files', 'delete-file',848 'denominator', 'dict->list', 'dict-can-functional-set?',849 'dict-can-remove-keys?', 'dict-clear', 'dict-clear!', 'dict-copy',850 'dict-count', 'dict-empty?', 'dict-for-each', 'dict-has-key?',851 'dict-implements/c', 'dict-implements?', 'dict-iter-contract',852 'dict-iterate-first', 'dict-iterate-key', 'dict-iterate-next',853 'dict-iterate-value', 'dict-key-contract', 'dict-keys', 'dict-map',854 'dict-mutable?', 'dict-ref', 'dict-ref!', 'dict-remove',855 'dict-remove!', 'dict-set', 'dict-set!', 'dict-set*', 'dict-set*!',856 'dict-update', 'dict-update!', 'dict-value-contract', 'dict-values',857 'dict?', 'directory-exists?', 'directory-list', 'disjoin', 'display',858 'display-lines', 'display-lines-to-file', 'display-to-file',859 'displayln', 'double-flonum?', 'drop', 'drop-common-prefix',860 'drop-right', 'dropf', 'dropf-right', 'dump-memory-stats',861 'dup-input-port', 'dup-output-port', 'dynamic->*', 'dynamic-get-field',862 'dynamic-object/c', 'dynamic-place', 'dynamic-place*',863 'dynamic-require', 'dynamic-require-for-syntax', 'dynamic-send',864 'dynamic-set-field!', 'dynamic-wind', 'eighth', 'empty',865 'empty-sequence', 'empty-stream', 'empty?',866 'environment-variables-copy', 'environment-variables-names',867 'environment-variables-ref', 'environment-variables-set!',868 'environment-variables?', 'eof', 'eof-evt', 'eof-object?',869 'ephemeron-value', 'ephemeron?', 'eprintf', 'eq-contract-val',870 'eq-contract?', 'eq-hash-code', 'eq?', 'equal-contract-val',871 'equal-contract?', 'equal-hash-code', 'equal-secondary-hash-code',872 'equal<%>', 'equal?', 'equal?/recur', 'eqv-hash-code', 'eqv?', 'error',873 'error-display-handler', 'error-escape-handler',874 'error-print-context-length', 'error-print-source-location',875 'error-print-width', 'error-value->string-handler', 'eval',876 'eval-jit-enabled', 'eval-syntax', 'even?', 'evt/c', 'evt?',877 'exact->inexact', 'exact-ceiling', 'exact-floor', 'exact-integer?',878 'exact-nonnegative-integer?', 'exact-positive-integer?', 'exact-round',879 'exact-truncate', 'exact?', 'executable-yield-handler', 'exit',880 'exit-handler', 'exn', 'exn-continuation-marks', 'exn-message',881 'exn:break', 'exn:break-continuation', 'exn:break:hang-up',882 'exn:break:hang-up?', 'exn:break:terminate', 'exn:break:terminate?',883 'exn:break?', 'exn:fail', 'exn:fail:contract',884 'exn:fail:contract:arity', 'exn:fail:contract:arity?',885 'exn:fail:contract:blame', 'exn:fail:contract:blame-object',886 'exn:fail:contract:blame?', 'exn:fail:contract:continuation',887 'exn:fail:contract:continuation?', 'exn:fail:contract:divide-by-zero',888 'exn:fail:contract:divide-by-zero?',889 'exn:fail:contract:non-fixnum-result',890 'exn:fail:contract:non-fixnum-result?', 'exn:fail:contract:variable',891 'exn:fail:contract:variable-id', 'exn:fail:contract:variable?',892 'exn:fail:contract?', 'exn:fail:filesystem',893 'exn:fail:filesystem:errno', 'exn:fail:filesystem:errno-errno',894 'exn:fail:filesystem:errno?', 'exn:fail:filesystem:exists',895 'exn:fail:filesystem:exists?', 'exn:fail:filesystem:missing-module',896 'exn:fail:filesystem:missing-module-path',897 'exn:fail:filesystem:missing-module?', 'exn:fail:filesystem:version',898 'exn:fail:filesystem:version?', 'exn:fail:filesystem?',899 'exn:fail:network', 'exn:fail:network:errno',900 'exn:fail:network:errno-errno', 'exn:fail:network:errno?',901 'exn:fail:network?', 'exn:fail:object', 'exn:fail:object?',902 'exn:fail:out-of-memory', 'exn:fail:out-of-memory?', 'exn:fail:read',903 'exn:fail:read-srclocs', 'exn:fail:read:eof', 'exn:fail:read:eof?',904 'exn:fail:read:non-char', 'exn:fail:read:non-char?', 'exn:fail:read?',905 'exn:fail:syntax', 'exn:fail:syntax-exprs',906 'exn:fail:syntax:missing-module',907 'exn:fail:syntax:missing-module-path',908 'exn:fail:syntax:missing-module?', 'exn:fail:syntax:unbound',909 'exn:fail:syntax:unbound?', 'exn:fail:syntax?', 'exn:fail:unsupported',910 'exn:fail:unsupported?', 'exn:fail:user', 'exn:fail:user?',911 'exn:fail?', 'exn:misc:match?', 'exn:missing-module-accessor',912 'exn:missing-module?', 'exn:srclocs-accessor', 'exn:srclocs?', 'exn?',913 'exp', 'expand', 'expand-once', 'expand-syntax', 'expand-syntax-once',914 'expand-syntax-to-top-form', 'expand-to-top-form', 'expand-user-path',915 'explode-path', 'expt', 'externalizable<%>', 'failure-result/c',916 'false?', 'field-names', 'fifth', 'file->bytes', 'file->bytes-lines',917 'file->lines', 'file->list', 'file->string', 'file->value',918 'file-exists?', 'file-name-from-path', 'file-or-directory-identity',919 'file-or-directory-modify-seconds', 'file-or-directory-permissions',920 'file-position', 'file-position*', 'file-size',921 'file-stream-buffer-mode', 'file-stream-port?', 'file-truncate',922 'filename-extension', 'filesystem-change-evt',923 'filesystem-change-evt-cancel', 'filesystem-change-evt?',924 'filesystem-root-list', 'filter', 'filter-map', 'filter-not',925 'filter-read-input-port', 'find-executable-path', 'find-files',926 'find-library-collection-links', 'find-library-collection-paths',927 'find-relative-path', 'find-system-path', 'findf', 'first',928 'first-or/c', 'fixnum?', 'flat-contract', 'flat-contract-predicate',929 'flat-contract-property?', 'flat-contract?', 'flat-named-contract',930 'flatten', 'floating-point-bytes->real', 'flonum?', 'floor',931 'flush-output', 'fold-files', 'foldl', 'foldr', 'for-each', 'force',932 'format', 'fourth', 'fprintf', 'free-identifier=?',933 'free-label-identifier=?', 'free-template-identifier=?',934 'free-transformer-identifier=?', 'fsemaphore-count', 'fsemaphore-post',935 'fsemaphore-try-wait?', 'fsemaphore-wait', 'fsemaphore?', 'future',936 'future?', 'futures-enabled?', 'gcd', 'generate-member-key',937 'generate-temporaries', 'generic-set?', 'generic?', 'gensym',938 'get-output-bytes', 'get-output-string', 'get-preference',939 'get/build-late-neg-projection', 'get/build-val-first-projection',940 'getenv', 'global-port-print-handler', 'group-by', 'group-execute-bit',941 'group-read-bit', 'group-write-bit', 'guard-evt', 'handle-evt',942 'handle-evt?', 'has-blame?', 'has-contract?', 'hash', 'hash->list',943 'hash-clear', 'hash-clear!', 'hash-copy', 'hash-copy-clear',944 'hash-count', 'hash-empty?', 'hash-eq?', 'hash-equal?', 'hash-eqv?',945 'hash-for-each', 'hash-has-key?', 'hash-iterate-first',946 'hash-iterate-key', 'hash-iterate-key+value', 'hash-iterate-next',947 'hash-iterate-pair', 'hash-iterate-value', 'hash-keys', 'hash-map',948 'hash-placeholder?', 'hash-ref', 'hash-ref!', 'hash-remove',949 'hash-remove!', 'hash-set', 'hash-set!', 'hash-set*', 'hash-set*!',950 'hash-update', 'hash-update!', 'hash-values', 'hash-weak?', 'hash/c',951 'hash?', 'hasheq', 'hasheqv', 'identifier-binding',952 'identifier-binding-symbol', 'identifier-label-binding',953 'identifier-prune-lexical-context',954 'identifier-prune-to-source-module',955 'identifier-remove-from-definition-context',956 'identifier-template-binding', 'identifier-transformer-binding',957 'identifier?', 'identity', 'if/c', 'imag-part', 'immutable?',958 'impersonate-box', 'impersonate-channel',959 'impersonate-continuation-mark-key', 'impersonate-hash',960 'impersonate-hash-set', 'impersonate-procedure',961 'impersonate-procedure*', 'impersonate-prompt-tag',962 'impersonate-struct', 'impersonate-vector', 'impersonator-contract?',963 'impersonator-ephemeron', 'impersonator-of?',964 'impersonator-prop:application-mark', 'impersonator-prop:blame',965 'impersonator-prop:contracted',966 'impersonator-property-accessor-procedure?', 'impersonator-property?',967 'impersonator?', 'implementation?', 'implementation?/c', 'in-bytes',968 'in-bytes-lines', 'in-combinations', 'in-cycle', 'in-dict',969 'in-dict-keys', 'in-dict-pairs', 'in-dict-values', 'in-directory',970 'in-hash', 'in-hash-keys', 'in-hash-pairs', 'in-hash-values',971 'in-immutable-hash', 'in-immutable-hash-keys',972 'in-immutable-hash-pairs', 'in-immutable-hash-values',973 'in-immutable-set', 'in-indexed', 'in-input-port-bytes',974 'in-input-port-chars', 'in-lines', 'in-list', 'in-mlist',975 'in-mutable-hash', 'in-mutable-hash-keys', 'in-mutable-hash-pairs',976 'in-mutable-hash-values', 'in-mutable-set', 'in-naturals',977 'in-parallel', 'in-permutations', 'in-port', 'in-producer', 'in-range',978 'in-sequences', 'in-set', 'in-slice', 'in-stream', 'in-string',979 'in-syntax', 'in-value', 'in-values*-sequence', 'in-values-sequence',980 'in-vector', 'in-weak-hash', 'in-weak-hash-keys', 'in-weak-hash-pairs',981 'in-weak-hash-values', 'in-weak-set', 'inexact->exact',982 'inexact-real?', 'inexact?', 'infinite?', 'input-port-append',983 'input-port?', 'inspector?', 'instanceof/c', 'integer->char',984 'integer->integer-bytes', 'integer-bytes->integer', 'integer-in',985 'integer-length', 'integer-sqrt', 'integer-sqrt/remainder', 'integer?',986 'interface->method-names', 'interface-extension?', 'interface?',987 'internal-definition-context-binding-identifiers',988 'internal-definition-context-introduce',989 'internal-definition-context-seal', 'internal-definition-context?',990 'is-a?', 'is-a?/c', 'keyword->string', 'keyword-apply', 'keyword<?',991 'keyword?', 'keywords-match', 'kill-thread', 'last', 'last-pair',992 'lcm', 'length', 'liberal-define-context?', 'link-exists?', 'list',993 'list*', 'list*of', 'list->bytes', 'list->mutable-set',994 'list->mutable-seteq', 'list->mutable-seteqv', 'list->set',995 'list->seteq', 'list->seteqv', 'list->string', 'list->vector',996 'list->weak-set', 'list->weak-seteq', 'list->weak-seteqv',997 'list-contract?', 'list-prefix?', 'list-ref', 'list-set', 'list-tail',998 'list-update', 'list/c', 'list?', 'listen-port-number?', 'listof',999 'load', 'load-extension', 'load-on-demand-enabled', 'load-relative',1000 'load-relative-extension', 'load/cd', 'load/use-compiled',1001 'local-expand', 'local-expand/capture-lifts',1002 'local-transformer-expand', 'local-transformer-expand/capture-lifts',1003 'locale-string-encoding', 'log', 'log-all-levels', 'log-level-evt',1004 'log-level?', 'log-max-level', 'log-message', 'log-receiver?',1005 'logger-name', 'logger?', 'magnitude', 'make-arity-at-least',1006 'make-base-empty-namespace', 'make-base-namespace', 'make-bytes',1007 'make-channel', 'make-chaperone-contract',1008 'make-continuation-mark-key', 'make-continuation-prompt-tag',1009 'make-contract', 'make-custodian', 'make-custodian-box',1010 'make-custom-hash', 'make-custom-hash-types', 'make-custom-set',1011 'make-custom-set-types', 'make-date', 'make-date*',1012 'make-derived-parameter', 'make-directory', 'make-directory*',1013 'make-do-sequence', 'make-empty-namespace',1014 'make-environment-variables', 'make-ephemeron', 'make-exn',1015 'make-exn:break', 'make-exn:break:hang-up', 'make-exn:break:terminate',1016 'make-exn:fail', 'make-exn:fail:contract',1017 'make-exn:fail:contract:arity', 'make-exn:fail:contract:blame',1018 'make-exn:fail:contract:continuation',1019 'make-exn:fail:contract:divide-by-zero',1020 'make-exn:fail:contract:non-fixnum-result',1021 'make-exn:fail:contract:variable', 'make-exn:fail:filesystem',1022 'make-exn:fail:filesystem:errno', 'make-exn:fail:filesystem:exists',1023 'make-exn:fail:filesystem:missing-module',1024 'make-exn:fail:filesystem:version', 'make-exn:fail:network',1025 'make-exn:fail:network:errno', 'make-exn:fail:object',1026 'make-exn:fail:out-of-memory', 'make-exn:fail:read',1027 'make-exn:fail:read:eof', 'make-exn:fail:read:non-char',1028 'make-exn:fail:syntax', 'make-exn:fail:syntax:missing-module',1029 'make-exn:fail:syntax:unbound', 'make-exn:fail:unsupported',1030 'make-exn:fail:user', 'make-file-or-directory-link',1031 'make-flat-contract', 'make-fsemaphore', 'make-generic',1032 'make-handle-get-preference-locked', 'make-hash',1033 'make-hash-placeholder', 'make-hasheq', 'make-hasheq-placeholder',1034 'make-hasheqv', 'make-hasheqv-placeholder',1035 'make-immutable-custom-hash', 'make-immutable-hash',1036 'make-immutable-hasheq', 'make-immutable-hasheqv',1037 'make-impersonator-property', 'make-input-port',1038 'make-input-port/read-to-peek', 'make-inspector',1039 'make-keyword-procedure', 'make-known-char-range-list',1040 'make-limited-input-port', 'make-list', 'make-lock-file-name',1041 'make-log-receiver', 'make-logger', 'make-mixin-contract',1042 'make-mutable-custom-set', 'make-none/c', 'make-object',1043 'make-output-port', 'make-parameter', 'make-parent-directory*',1044 'make-phantom-bytes', 'make-pipe', 'make-pipe-with-specials',1045 'make-placeholder', 'make-plumber', 'make-polar', 'make-prefab-struct',1046 'make-primitive-class', 'make-proj-contract',1047 'make-pseudo-random-generator', 'make-reader-graph', 'make-readtable',1048 'make-rectangular', 'make-rename-transformer',1049 'make-resolved-module-path', 'make-security-guard', 'make-semaphore',1050 'make-set!-transformer', 'make-shared-bytes', 'make-sibling-inspector',1051 'make-special-comment', 'make-srcloc', 'make-string',1052 'make-struct-field-accessor', 'make-struct-field-mutator',1053 'make-struct-type', 'make-struct-type-property',1054 'make-syntax-delta-introducer', 'make-syntax-introducer',1055 'make-temporary-file', 'make-tentative-pretty-print-output-port',1056 'make-thread-cell', 'make-thread-group', 'make-vector',1057 'make-weak-box', 'make-weak-custom-hash', 'make-weak-custom-set',1058 'make-weak-hash', 'make-weak-hasheq', 'make-weak-hasheqv',1059 'make-will-executor', 'map', 'match-equality-test',1060 'matches-arity-exactly?', 'max', 'mcar', 'mcdr', 'mcons', 'member',1061 'member-name-key-hash-code', 'member-name-key=?', 'member-name-key?',1062 'memf', 'memq', 'memv', 'merge-input', 'method-in-interface?', 'min',1063 'mixin-contract', 'module->exports', 'module->imports',1064 'module->language-info', 'module->namespace',1065 'module-compiled-cross-phase-persistent?', 'module-compiled-exports',1066 'module-compiled-imports', 'module-compiled-language-info',1067 'module-compiled-name', 'module-compiled-submodules',1068 'module-declared?', 'module-path-index-join',1069 'module-path-index-resolve', 'module-path-index-split',1070 'module-path-index-submodule', 'module-path-index?', 'module-path?',1071 'module-predefined?', 'module-provide-protected?', 'modulo', 'mpair?',1072 'mutable-set', 'mutable-seteq', 'mutable-seteqv', 'n->th',1073 'nack-guard-evt', 'namespace-anchor->empty-namespace',1074 'namespace-anchor->namespace', 'namespace-anchor?',1075 'namespace-attach-module', 'namespace-attach-module-declaration',1076 'namespace-base-phase', 'namespace-mapped-symbols',1077 'namespace-module-identifier', 'namespace-module-registry',1078 'namespace-require', 'namespace-require/constant',1079 'namespace-require/copy', 'namespace-require/expansion-time',1080 'namespace-set-variable-value!', 'namespace-symbol->identifier',1081 'namespace-syntax-introduce', 'namespace-undefine-variable!',1082 'namespace-unprotect-module', 'namespace-variable-value', 'namespace?',1083 'nan?', 'natural-number/c', 'negate', 'negative?', 'never-evt',1084 'new-∀/c', 'new-∃/c', 'newline', 'ninth', 'non-empty-listof',1085 'non-empty-string?', 'none/c', 'normal-case-path', 'normalize-arity',1086 'normalize-path', 'normalized-arity?', 'not', 'not/c', 'null', 'null?',1087 'number->string', 'number?', 'numerator', 'object%', 'object->vector',1088 'object-info', 'object-interface', 'object-method-arity-includes?',1089 'object-name', 'object-or-false=?', 'object=?', 'object?', 'odd?',1090 'one-of/c', 'open-input-bytes', 'open-input-file',1091 'open-input-output-file', 'open-input-string', 'open-output-bytes',1092 'open-output-file', 'open-output-nowhere', 'open-output-string',1093 'or/c', 'order-of-magnitude', 'ormap', 'other-execute-bit',1094 'other-read-bit', 'other-write-bit', 'output-port?', 'pair?',1095 'parameter-procedure=?', 'parameter/c', 'parameter?',1096 'parameterization?', 'parse-command-line', 'partition', 'path->bytes',1097 'path->complete-path', 'path->directory-path', 'path->string',1098 'path-add-suffix', 'path-convention-type', 'path-element->bytes',1099 'path-element->string', 'path-element?', 'path-for-some-system?',1100 'path-list-string->path-list', 'path-only', 'path-replace-suffix',1101 'path-string?', 'path<?', 'path?', 'pathlist-closure', 'peek-byte',1102 'peek-byte-or-special', 'peek-bytes', 'peek-bytes!', 'peek-bytes!-evt',1103 'peek-bytes-avail!', 'peek-bytes-avail!*', 'peek-bytes-avail!-evt',1104 'peek-bytes-avail!/enable-break', 'peek-bytes-evt', 'peek-char',1105 'peek-char-or-special', 'peek-string', 'peek-string!',1106 'peek-string!-evt', 'peek-string-evt', 'peeking-input-port',1107 'permutations', 'phantom-bytes?', 'pi', 'pi.f', 'pipe-content-length',1108 'place-break', 'place-channel', 'place-channel-get',1109 'place-channel-put', 'place-channel-put/get', 'place-channel?',1110 'place-dead-evt', 'place-enabled?', 'place-kill', 'place-location?',1111 'place-message-allowed?', 'place-sleep', 'place-wait', 'place?',1112 'placeholder-get', 'placeholder-set!', 'placeholder?',1113 'plumber-add-flush!', 'plumber-flush-all',1114 'plumber-flush-handle-remove!', 'plumber-flush-handle?', 'plumber?',1115 'poll-guard-evt', 'port->bytes', 'port->bytes-lines', 'port->lines',1116 'port->list', 'port->string', 'port-closed-evt', 'port-closed?',1117 'port-commit-peeked', 'port-count-lines!', 'port-count-lines-enabled',1118 'port-counts-lines?', 'port-display-handler', 'port-file-identity',1119 'port-file-unlock', 'port-next-location', 'port-number?',1120 'port-print-handler', 'port-progress-evt',1121 'port-provides-progress-evts?', 'port-read-handler',1122 'port-try-file-lock?', 'port-write-handler', 'port-writes-atomic?',1123 'port-writes-special?', 'port?', 'positive?', 'predicate/c',1124 'prefab-key->struct-type', 'prefab-key?', 'prefab-struct-key',1125 'preferences-lock-file-mode', 'pregexp', 'pregexp?', 'pretty-display',1126 'pretty-format', 'pretty-print', 'pretty-print-.-symbol-without-bars',1127 'pretty-print-abbreviate-read-macros', 'pretty-print-columns',1128 'pretty-print-current-style-table', 'pretty-print-depth',1129 'pretty-print-exact-as-decimal', 'pretty-print-extend-style-table',1130 'pretty-print-handler', 'pretty-print-newline',1131 'pretty-print-post-print-hook', 'pretty-print-pre-print-hook',1132 'pretty-print-print-hook', 'pretty-print-print-line',1133 'pretty-print-remap-stylable', 'pretty-print-show-inexactness',1134 'pretty-print-size-hook', 'pretty-print-style-table?',1135 'pretty-printing', 'pretty-write', 'primitive-closure?',1136 'primitive-result-arity', 'primitive?', 'print', 'print-as-expression',1137 'print-boolean-long-form', 'print-box', 'print-graph',1138 'print-hash-table', 'print-mpair-curly-braces',1139 'print-pair-curly-braces', 'print-reader-abbreviations',1140 'print-struct', 'print-syntax-width', 'print-unreadable',1141 'print-vector-length', 'printable/c', 'printable<%>', 'printf',1142 'println', 'procedure->method', 'procedure-arity',1143 'procedure-arity-includes/c', 'procedure-arity-includes?',1144 'procedure-arity?', 'procedure-closure-contents-eq?',1145 'procedure-extract-target', 'procedure-keywords',1146 'procedure-reduce-arity', 'procedure-reduce-keyword-arity',1147 'procedure-rename', 'procedure-result-arity', 'procedure-specialize',1148 'procedure-struct-type?', 'procedure?', 'process', 'process*',1149 'process*/ports', 'process/ports', 'processor-count', 'progress-evt?',1150 'promise-forced?', 'promise-running?', 'promise/c', 'promise/name?',1151 'promise?', 'prop:arity-string', 'prop:arrow-contract',1152 'prop:arrow-contract-get-info', 'prop:arrow-contract?', 'prop:blame',1153 'prop:chaperone-contract', 'prop:checked-procedure', 'prop:contract',1154 'prop:contracted', 'prop:custom-print-quotable', 'prop:custom-write',1155 'prop:dict', 'prop:dict/contract', 'prop:equal+hash', 'prop:evt',1156 'prop:exn:missing-module', 'prop:exn:srclocs',1157 'prop:expansion-contexts', 'prop:flat-contract',1158 'prop:impersonator-of', 'prop:input-port',1159 'prop:liberal-define-context', 'prop:object-name',1160 'prop:opt-chaperone-contract', 'prop:opt-chaperone-contract-get-test',1161 'prop:opt-chaperone-contract?', 'prop:orc-contract',1162 'prop:orc-contract-get-subcontracts', 'prop:orc-contract?',1163 'prop:output-port', 'prop:place-location', 'prop:procedure',1164 'prop:recursive-contract', 'prop:recursive-contract-unroll',1165 'prop:recursive-contract?', 'prop:rename-transformer', 'prop:sequence',1166 'prop:set!-transformer', 'prop:stream', 'proper-subset?',1167 'pseudo-random-generator->vector', 'pseudo-random-generator-vector?',1168 'pseudo-random-generator?', 'put-preferences', 'putenv', 'quotient',1169 'quotient/remainder', 'radians->degrees', 'raise',1170 'raise-argument-error', 'raise-arguments-error', 'raise-arity-error',1171 'raise-blame-error', 'raise-contract-error', 'raise-mismatch-error',1172 'raise-not-cons-blame-error', 'raise-range-error',1173 'raise-result-error', 'raise-syntax-error', 'raise-type-error',1174 'raise-user-error', 'random', 'random-seed', 'range', 'rational?',1175 'rationalize', 'read', 'read-accept-bar-quote', 'read-accept-box',1176 'read-accept-compiled', 'read-accept-dot', 'read-accept-graph',1177 'read-accept-infix-dot', 'read-accept-lang', 'read-accept-quasiquote',1178 'read-accept-reader', 'read-byte', 'read-byte-or-special',1179 'read-bytes', 'read-bytes!', 'read-bytes!-evt', 'read-bytes-avail!',1180 'read-bytes-avail!*', 'read-bytes-avail!-evt',1181 'read-bytes-avail!/enable-break', 'read-bytes-evt', 'read-bytes-line',1182 'read-bytes-line-evt', 'read-case-sensitive', 'read-cdot', 'read-char',1183 'read-char-or-special', 'read-curly-brace-as-paren',1184 'read-curly-brace-with-tag', 'read-decimal-as-inexact',1185 'read-eval-print-loop', 'read-language', 'read-line', 'read-line-evt',1186 'read-on-demand-source', 'read-square-bracket-as-paren',1187 'read-square-bracket-with-tag', 'read-string', 'read-string!',1188 'read-string!-evt', 'read-string-evt', 'read-syntax',1189 'read-syntax/recursive', 'read/recursive', 'readtable-mapping',1190 'readtable?', 'real->decimal-string', 'real->double-flonum',1191 'real->floating-point-bytes', 'real->single-flonum', 'real-in',1192 'real-part', 'real?', 'reencode-input-port', 'reencode-output-port',1193 'regexp', 'regexp-match', 'regexp-match*', 'regexp-match-evt',1194 'regexp-match-exact?', 'regexp-match-peek',1195 'regexp-match-peek-immediate', 'regexp-match-peek-positions',1196 'regexp-match-peek-positions*',1197 'regexp-match-peek-positions-immediate',1198 'regexp-match-peek-positions-immediate/end',1199 'regexp-match-peek-positions/end', 'regexp-match-positions',1200 'regexp-match-positions*', 'regexp-match-positions/end',