Copy disabled (too large)
Download .txt
Showing preview only (93,955K chars total). Download the full file to get everything.
Repository: racket/racket
Branch: master
Commit: 388fd4faa4e5
Files: 5704
Total size: 88.1 MB
Directory structure:
gitextract_iymedpji/
├── .gitattributes
├── .github/
│ ├── CITATION.cff
│ ├── CODE_OF_CONDUCT.md
│ ├── CONTRIBUTING.md
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug-report.md
│ │ ├── config.yml
│ │ └── feature-request.md
│ ├── SECURITY.md
│ ├── dependabot.yml
│ ├── images/
│ │ ├── Dockerfile
│ │ └── README.md
│ ├── pull_request_template.md
│ ├── scripts/
│ │ ├── adjust-sarif-tool.sh
│ │ ├── matting.sh
│ │ ├── run-racket-tests.sh
│ │ ├── summary
│ │ └── test.sh
│ └── workflows/
│ ├── chez-build.yml
│ ├── ci-asan.yml
│ ├── ci-pr.yml
│ ├── ci-push-x86_linux.yml
│ ├── ci-push_macos.yml
│ ├── ci-snapshot.yml
│ ├── ci_win.yml
│ ├── codeql-analysis.yml
│ ├── docker-racketci.yml
│ ├── scribble_build-guide.yml
│ ├── scribble_license.yml
│ ├── site-small.rkt
│ └── ubsan-x86.yml
├── .gitignore
├── .lgtm.yml
├── .mailmap
├── LICENSE.txt
├── Makefile
├── README.md
├── build.md
├── main.zuo
├── pkgs/
│ ├── at-exp-lib/
│ │ ├── LICENSE
│ │ ├── at-exp/
│ │ │ └── lang/
│ │ │ ├── language-info.rkt
│ │ │ ├── reader.rkt
│ │ │ └── runtime-config.rkt
│ │ ├── info.rkt
│ │ └── scribble/
│ │ ├── base/
│ │ │ └── reader.rkt
│ │ └── reader.rkt
│ ├── base/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── compiler/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── compiler-lib/
│ │ ├── LICENSE
│ │ ├── compiler/
│ │ │ ├── bundle-dist.rkt
│ │ │ ├── commands/
│ │ │ │ ├── decompile.rkt
│ │ │ │ ├── exe-dir.rkt
│ │ │ │ ├── exe.rkt
│ │ │ │ ├── expand.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── make.rkt
│ │ │ │ ├── pack.rkt
│ │ │ │ ├── read.rkt
│ │ │ │ ├── test.rkt
│ │ │ │ └── unpack.rkt
│ │ │ ├── compiler-unit.rkt
│ │ │ ├── decompile.rkt
│ │ │ ├── demod.rkt
│ │ │ ├── demodularizer/
│ │ │ │ ├── at-phase-level.rkt
│ │ │ │ ├── batch.rkt
│ │ │ │ ├── binding-lookup.rkt
│ │ │ │ ├── binding.rkt
│ │ │ │ ├── bundle.rkt
│ │ │ │ ├── deshadow.rkt
│ │ │ │ ├── gc.rkt
│ │ │ │ ├── import-name.rkt
│ │ │ │ ├── import.rkt
│ │ │ │ ├── linklet.rkt
│ │ │ │ ├── log.rkt
│ │ │ │ ├── main.rkt
│ │ │ │ ├── merge.rkt
│ │ │ │ ├── merged.rkt
│ │ │ │ ├── module-path.rkt
│ │ │ │ ├── module.rkt
│ │ │ │ ├── name.rkt
│ │ │ │ ├── one-mod.rkt
│ │ │ │ ├── pane.rkt
│ │ │ │ ├── path-submod.rkt
│ │ │ │ ├── provide.rkt
│ │ │ │ ├── remap.rkt
│ │ │ │ ├── run.rkt
│ │ │ │ ├── runs.rkt
│ │ │ │ ├── simplify.rkt
│ │ │ │ ├── syntax.rkt
│ │ │ │ └── write.rkt
│ │ │ ├── embed-sig.rkt
│ │ │ ├── embed-unit.rkt
│ │ │ ├── option-unit.rkt
│ │ │ ├── private/
│ │ │ │ ├── chez.rkt
│ │ │ │ ├── deserialize.rkt
│ │ │ │ └── language.rkt
│ │ │ └── sig.rkt
│ │ ├── info.rkt
│ │ ├── launcher/
│ │ │ ├── launcher-sig.rkt
│ │ │ └── launcher-unit.rkt
│ │ ├── raco/
│ │ │ └── testing.rkt
│ │ └── setup/
│ │ ├── option-sig.rkt
│ │ ├── option-unit.rkt
│ │ └── setup-unit.rkt
│ ├── compiler-test/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ └── compiler/
│ │ ├── collection-zos.rkt
│ │ ├── commands/
│ │ │ └── test.rkt
│ │ ├── ctool.rkt
│ │ ├── demodularizer/
│ │ │ ├── demod-test.rkt
│ │ │ ├── info.rkt
│ │ │ ├── sandbox-test/
│ │ │ │ ├── avoid-leaf.rkt
│ │ │ │ ├── main-src.rkt
│ │ │ │ ├── main.rkt
│ │ │ │ └── modbeg.rkt
│ │ │ ├── sandbox.rkt
│ │ │ └── tests/
│ │ │ ├── base-5-lib.rkt
│ │ │ ├── base-5-lib2.rkt
│ │ │ ├── base-5.rkt
│ │ │ ├── base-assign.rkt
│ │ │ ├── base-effect-defn.rkt
│ │ │ ├── has-main-5.rkt
│ │ │ ├── kernel-5.rkt
│ │ │ ├── racket-5.rkt
│ │ │ ├── syntax-parse-lib.rkt
│ │ │ └── use-sub-5.rkt
│ │ ├── embed/
│ │ │ ├── embed-asl.rkt
│ │ │ ├── embed-bsl.rkt
│ │ │ ├── embed-bsla.rkt
│ │ │ ├── embed-isl.rkt
│ │ │ ├── embed-isll.rkt
│ │ │ ├── embed-me1.rkt
│ │ │ ├── embed-me10.rkt
│ │ │ ├── embed-me11-rd.rkt
│ │ │ ├── embed-me11.rkt
│ │ │ ├── embed-me12-rd.ss
│ │ │ ├── embed-me12.ss
│ │ │ ├── embed-me13.rkt
│ │ │ ├── embed-me14.rkt
│ │ │ ├── embed-me15-one.rkt
│ │ │ ├── embed-me15.rkt
│ │ │ ├── embed-me16.rkt
│ │ │ ├── embed-me17.rkt
│ │ │ ├── embed-me17a.rkt
│ │ │ ├── embed-me18.rkt
│ │ │ ├── embed-me18a.rkt
│ │ │ ├── embed-me19.rkt
│ │ │ ├── embed-me1b.rkt
│ │ │ ├── embed-me1c.rkt
│ │ │ ├── embed-me1d.rkt
│ │ │ ├── embed-me1e.rkt
│ │ │ ├── embed-me1f.rkt
│ │ │ ├── embed-me1f1.rktl
│ │ │ ├── embed-me2.rkt
│ │ │ ├── embed-me20.rkt
│ │ │ ├── embed-me21.rkt
│ │ │ ├── embed-me22.rkt
│ │ │ ├── embed-me23.rkt
│ │ │ ├── embed-me24.rkt
│ │ │ ├── embed-me25.rkt
│ │ │ ├── embed-me26.rkt
│ │ │ ├── embed-me27.rkt
│ │ │ ├── embed-me28.rkt
│ │ │ ├── embed-me29-2.rkt
│ │ │ ├── embed-me29.rkt
│ │ │ ├── embed-me3.rkt
│ │ │ ├── embed-me30.rkt
│ │ │ ├── embed-me31.rkt
│ │ │ ├── embed-me32.rkt
│ │ │ ├── embed-me33.rkt
│ │ │ ├── embed-me34-print.rkt
│ │ │ ├── embed-me34.rkt
│ │ │ ├── embed-me35.rkt
│ │ │ ├── embed-me36.rkt
│ │ │ ├── embed-me37.rkt
│ │ │ ├── embed-me37b.rkt
│ │ │ ├── embed-me38.rkt
│ │ │ ├── embed-me39.rkt
│ │ │ ├── embed-me4.rktl
│ │ │ ├── embed-me40.rkt
│ │ │ ├── embed-me40b.rkt
│ │ │ ├── embed-me41.rkt
│ │ │ ├── embed-me5.rkt
│ │ │ ├── embed-me6.rkt
│ │ │ ├── embed-me6b.rkt
│ │ │ ├── embed-me8.c
│ │ │ ├── embed-me9.rkt
│ │ │ ├── embed-place.rkt
│ │ │ ├── embed-place2.rkt
│ │ │ ├── embed-planet-1/
│ │ │ │ ├── alt.rkt
│ │ │ │ ├── dyn-sub.rkt
│ │ │ │ ├── has-sub.rkt
│ │ │ │ ├── main.rkt
│ │ │ │ └── other.rkt
│ │ │ ├── embed-planet-2/
│ │ │ │ ├── main.ss
│ │ │ │ └── private/
│ │ │ │ └── sub.rkt
│ │ │ ├── info.rkt
│ │ │ ├── sub/
│ │ │ │ └── embed-me1f2.rktl
│ │ │ └── test.rkt
│ │ ├── info.rkt
│ │ ├── make.rkt
│ │ ├── regression.rkt
│ │ ├── test/
│ │ │ ├── a.rkt
│ │ │ ├── args.rkt
│ │ │ ├── b.rkt
│ │ │ ├── d/
│ │ │ │ ├── .ignored.rkt
│ │ │ │ ├── c.rkt
│ │ │ │ └── d.rkt
│ │ │ ├── extensions/
│ │ │ │ ├── a-omit-1.racket-file
│ │ │ │ ├── a-omit-1.rkt
│ │ │ │ ├── b-include-1.racket-file
│ │ │ │ ├── b-include-1.rkt
│ │ │ │ └── info.rkt
│ │ │ ├── output.rkt
│ │ │ ├── racket.rkt
│ │ │ ├── runtime.rkt
│ │ │ └── scheme.rkt
│ │ ├── zo-exs.rkt
│ │ ├── zo-test-util.rkt
│ │ ├── zo-test-worker.rkt
│ │ ├── zo-test.rkt
│ │ └── zo.rkt
│ ├── ffi2/
│ │ ├── ffi2/
│ │ │ ├── scribblings/
│ │ │ │ ├── base-type.scrbl
│ │ │ │ ├── common.rkt
│ │ │ │ ├── compound-type.scrbl
│ │ │ │ ├── define-type.scrbl
│ │ │ │ ├── ffi2.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── pointer.scrbl
│ │ │ │ ├── procedure.scrbl
│ │ │ │ └── racket-id.rkt
│ │ │ └── tests/
│ │ │ ├── array.rkt
│ │ │ ├── base.rkt
│ │ │ ├── benchmark.rkt
│ │ │ ├── bstr.rkt
│ │ │ ├── c.rkt
│ │ │ ├── callback-exn.rkt
│ │ │ ├── cast.rkt
│ │ │ ├── collect-safe.rkt
│ │ │ ├── define-type.rkt
│ │ │ ├── definer.rkt
│ │ │ ├── errno.rkt
│ │ │ ├── ffi2.c
│ │ │ ├── make-ffi2-lib.rkt
│ │ │ ├── original.rkt
│ │ │ ├── pointer.rkt
│ │ │ ├── procedure.rkt
│ │ │ ├── struct-arg.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── system-type-case.rkt
│ │ │ ├── union.rkt
│ │ │ └── varargs.rkt
│ │ └── info.rkt
│ ├── ffi2-lib/
│ │ ├── ffi2/
│ │ │ ├── main.rkt
│ │ │ └── private/
│ │ │ ├── base-pred.rkt
│ │ │ ├── base-type.rkt
│ │ │ ├── cpointer.rkt
│ │ │ ├── error.rkt
│ │ │ ├── lib.rkt
│ │ │ ├── string-convert.rkt
│ │ │ ├── system-type-case.rkt
│ │ │ └── type.rkt
│ │ └── info.rkt
│ ├── net/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── net-doc/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── net/
│ │ └── scribblings/
│ │ ├── base64.scrbl
│ │ ├── cgi.scrbl
│ │ ├── common.rkt
│ │ ├── cookie.scrbl
│ │ ├── dns.scrbl
│ │ ├── ftp.scrbl
│ │ ├── git-checkout.scrbl
│ │ ├── head.scrbl
│ │ ├── http-client.scrbl
│ │ ├── imap.scrbl
│ │ ├── info.rkt
│ │ ├── mime.scrbl
│ │ ├── net.scrbl
│ │ ├── nntp.scrbl
│ │ ├── osx-ssl.scrbl
│ │ ├── pop3.scrbl
│ │ ├── qp.scrbl
│ │ ├── sendmail.scrbl
│ │ ├── sendurl.scrbl
│ │ ├── smtp.scrbl
│ │ ├── ssl-tcp-unit.scrbl
│ │ ├── tcp-redirect.scrbl
│ │ ├── tcp.scrbl
│ │ ├── unihead.scrbl
│ │ ├── uri-codec.scrbl
│ │ ├── url.scrbl
│ │ └── win32-ssl.scrbl
│ ├── net-lib/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── net/
│ │ ├── cgi.rkt
│ │ ├── cookie.rkt
│ │ ├── dns.rkt
│ │ ├── ftp.rkt
│ │ ├── imap.rkt
│ │ ├── mime-util.rkt
│ │ ├── mime.rkt
│ │ ├── nntp.rkt
│ │ ├── pop3.rkt
│ │ ├── private/
│ │ │ ├── ip.rkt
│ │ │ ├── rbtree.rkt
│ │ │ ├── rr-generic.rkt
│ │ │ ├── rr-srv.rkt
│ │ │ └── xoauth2.rkt
│ │ ├── qp.rkt
│ │ ├── sendmail.rkt
│ │ ├── sendurl.rkt
│ │ ├── smtp.rkt
│ │ ├── ssl-tcp-unit.rkt
│ │ ├── tcp-redirect.rkt
│ │ ├── tcp-sig.rkt
│ │ ├── tcp-unit.rkt
│ │ └── unihead.rkt
│ ├── net-test/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ └── net/
│ │ ├── available.rkt
│ │ ├── bad-proxy-envvar.rkt
│ │ ├── base64.rkt
│ │ ├── cgi.rkt
│ │ ├── cookie.rkt
│ │ ├── dns.rkt
│ │ ├── encoders.rkt
│ │ ├── ftp.rkt
│ │ ├── git-checkout.rkt
│ │ ├── head.rkt
│ │ ├── http-client/
│ │ │ ├── rst-server-constants.c
│ │ │ └── rst-server.rkt
│ │ ├── http-client.rkt
│ │ ├── http-proxy/
│ │ │ ├── echo-server.rkt
│ │ │ ├── generic-server.rkt
│ │ │ ├── https-non-server.rkt
│ │ │ └── proxy-server.rkt
│ │ ├── imap.rkt
│ │ ├── info.rkt
│ │ ├── ip.rkt
│ │ ├── main.rkt
│ │ ├── mime.rkt
│ │ ├── pr/
│ │ │ └── pr1.rkt
│ │ ├── stress/
│ │ │ └── info.rkt
│ │ ├── uri-codec.rkt
│ │ ├── url-port.rkt
│ │ ├── url-string.rkt
│ │ └── url.rkt
│ ├── plt-services/
│ │ ├── LICENSE
│ │ └── meta/
│ │ └── props
│ ├── racket-benchmarks/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ ├── mini-bar-plot/
│ │ │ ├── bm.rkt
│ │ │ └── main.rkt
│ │ └── tests/
│ │ ├── future/
│ │ │ └── timing-test.rkt
│ │ └── racket/
│ │ └── benchmarks/
│ │ ├── chaperone/
│ │ │ ├── config.rkt
│ │ │ └── struct.rkt
│ │ ├── common/
│ │ │ ├── .gitignore
│ │ │ ├── README.txt
│ │ │ ├── auto.rkt
│ │ │ ├── bigloo-prelude.sch
│ │ │ ├── browse.sch
│ │ │ ├── cmdline.rkt
│ │ │ ├── collatz-q.rkt
│ │ │ ├── collatz-q.sch
│ │ │ ├── collatz.rkt
│ │ │ ├── collatz.sch
│ │ │ ├── conform.rkt
│ │ │ ├── conform.sch
│ │ │ ├── cpstak.rkt
│ │ │ ├── cpstak.sch
│ │ │ ├── ctak.rkt
│ │ │ ├── ctak.sch
│ │ │ ├── dderiv.rkt
│ │ │ ├── dderiv.sch
│ │ │ ├── deriv.rkt
│ │ │ ├── deriv.sch
│ │ │ ├── destruct.rkt
│ │ │ ├── destruct.sch
│ │ │ ├── div.rkt
│ │ │ ├── div.sch
│ │ │ ├── dynamic.rkt
│ │ │ ├── dynamic.sch
│ │ │ ├── dynamic2.rkt
│ │ │ ├── dynamic2.sch
│ │ │ ├── earley.rkt
│ │ │ ├── earley.sch
│ │ │ ├── fft.rkt
│ │ │ ├── fft.sch
│ │ │ ├── gambit-prelude.sch
│ │ │ ├── graphs.rkt
│ │ │ ├── graphs.sch
│ │ │ ├── guile-prelude.sch
│ │ │ ├── index-template.html
│ │ │ ├── input.txt
│ │ │ ├── kanren.rkt
│ │ │ ├── kanren.sch
│ │ │ ├── lattice.rkt
│ │ │ ├── lattice.sch
│ │ │ ├── lattice2.rkt
│ │ │ ├── lattice2.sch
│ │ │ ├── maze.rkt
│ │ │ ├── maze.sch
│ │ │ ├── maze2.rkt
│ │ │ ├── maze2.sch
│ │ │ ├── mazefun.rkt
│ │ │ ├── mazefun.sch
│ │ │ ├── mit-prelude.sch
│ │ │ ├── mk-bigloo.rktl
│ │ │ ├── mk-chicken.rktl
│ │ │ ├── mk-gambit.rktl
│ │ │ ├── nboyer.rkt
│ │ │ ├── nboyer.sch
│ │ │ ├── nestedloop.rkt
│ │ │ ├── nestedloop.sch
│ │ │ ├── nfa.rkt
│ │ │ ├── nfa.sch
│ │ │ ├── nothing.rkt
│ │ │ ├── nothing.sch
│ │ │ ├── nqueens.rkt
│ │ │ ├── nqueens.sch
│ │ │ ├── nucleic2.rkt
│ │ │ ├── nucleic2.sch
│ │ │ ├── nucleic3.rkt
│ │ │ ├── nucleic3.sch
│ │ │ ├── paraffins.rkt
│ │ │ ├── paraffins.sch
│ │ │ ├── petite-prelude.sch
│ │ │ ├── peval.rkt
│ │ │ ├── peval.sch
│ │ │ ├── psyntax-input.txt
│ │ │ ├── psyntax.rkt
│ │ │ ├── psyntax.sch
│ │ │ ├── puzzle.rkt
│ │ │ ├── puzzle.sch
│ │ │ ├── r5rs-wrap.rktl
│ │ │ ├── ray.rkt
│ │ │ ├── ray.sch
│ │ │ ├── sboyer.rkt
│ │ │ ├── sboyer.sch
│ │ │ ├── scheme-c.rkt
│ │ │ ├── scheme-c.sch
│ │ │ ├── scheme-c2.rkt
│ │ │ ├── scheme-c2.sch
│ │ │ ├── scheme-i.rkt
│ │ │ ├── scheme-i.sch
│ │ │ ├── scheme-i2.rkt
│ │ │ ├── scheme-i2.sch
│ │ │ ├── scheme.rkt
│ │ │ ├── scheme.sch
│ │ │ ├── scheme2.rkt
│ │ │ ├── scheme2.sch
│ │ │ ├── scheme48-prelude.sch
│ │ │ ├── sort1.rkt
│ │ │ ├── sort1.sch
│ │ │ ├── tabulate.rkt
│ │ │ ├── tak.rkt
│ │ │ ├── tak.sch
│ │ │ ├── takl.rkt
│ │ │ ├── takl.sch
│ │ │ ├── takr.rkt
│ │ │ ├── takr.sch
│ │ │ ├── takr2.rkt
│ │ │ ├── takr2.sch
│ │ │ ├── traverse.sch
│ │ │ ├── triangle.rkt
│ │ │ ├── triangle.sch
│ │ │ ├── typed/
│ │ │ │ ├── collatz-non-optimizing.rkt
│ │ │ │ ├── collatz-optimizing.rkt
│ │ │ │ ├── collatz-q-non-optimizing.rkt
│ │ │ │ ├── collatz-q-optimizing.rkt
│ │ │ │ ├── collatz-q.rktl
│ │ │ │ ├── collatz.rktl
│ │ │ │ ├── cpstak-non-optimizing.rkt
│ │ │ │ ├── cpstak-optimizing.rkt
│ │ │ │ ├── cpstak.rktl
│ │ │ │ ├── ctak-non-optimizing.rkt
│ │ │ │ ├── ctak-optimizing.rkt
│ │ │ │ ├── ctak.rktl
│ │ │ │ ├── dderiv-non-optimizing.rkt
│ │ │ │ ├── dderiv-optimizing.rkt
│ │ │ │ ├── dderiv.rktl
│ │ │ │ ├── deriv-non-optimizing.rkt
│ │ │ │ ├── deriv-optimizing.rkt
│ │ │ │ ├── deriv.rktl
│ │ │ │ ├── div-non-optimizing.rkt
│ │ │ │ ├── div-optimizing.rkt
│ │ │ │ ├── div.rktl
│ │ │ │ ├── fft-non-optimizing.rkt
│ │ │ │ ├── fft-optimizing.rkt
│ │ │ │ ├── fft.rktl
│ │ │ │ ├── graphs-non-optimizing.rkt
│ │ │ │ ├── graphs-optimizing.rkt
│ │ │ │ ├── graphs.rktl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── lattice2-non-optimizing.rkt
│ │ │ │ ├── lattice2-optimizing.rkt
│ │ │ │ ├── lattice2.rktl
│ │ │ │ ├── maze2-non-optimizing.rkt
│ │ │ │ ├── maze2-optimizing.rkt
│ │ │ │ ├── maze2.rktl
│ │ │ │ ├── mazefun-non-optimizing.rkt
│ │ │ │ ├── mazefun-optimizing.rkt
│ │ │ │ ├── mazefun.rktl
│ │ │ │ ├── nestedloop-non-optimizing.rkt
│ │ │ │ ├── nestedloop-optimizing.rkt
│ │ │ │ ├── nestedloop.rktl
│ │ │ │ ├── nfa-non-optimizing.rkt
│ │ │ │ ├── nfa-optimizing.rkt
│ │ │ │ ├── nfa.rktl
│ │ │ │ ├── nothing-non-optimizing.rkt
│ │ │ │ ├── nothing-optimizing.rkt
│ │ │ │ ├── nothing.rktl
│ │ │ │ ├── nqueens-non-optimizing.rkt
│ │ │ │ ├── nqueens-optimizing.rkt
│ │ │ │ ├── nqueens.rktl
│ │ │ │ ├── nucleic3-non-optimizing.rkt
│ │ │ │ ├── nucleic3-optimizing.rkt
│ │ │ │ ├── nucleic3.rktl
│ │ │ │ ├── paraffins-non-optimizing.rkt
│ │ │ │ ├── paraffins-optimizing.rkt
│ │ │ │ ├── paraffins.rktl
│ │ │ │ ├── puzzle-non-optimizing.rkt
│ │ │ │ ├── puzzle-optimizing.rkt
│ │ │ │ ├── puzzle.rktl
│ │ │ │ ├── ray-non-optimizing.rkt
│ │ │ │ ├── ray-optimizing.rkt
│ │ │ │ ├── ray.rktl
│ │ │ │ ├── tak-non-optimizing.rkt
│ │ │ │ ├── tak-optimizing.rkt
│ │ │ │ ├── tak.rktl
│ │ │ │ ├── takl-non-optimizing.rkt
│ │ │ │ ├── takl-optimizing.rkt
│ │ │ │ ├── takl.rktl
│ │ │ │ ├── takr-non-optimizing.rkt
│ │ │ │ ├── takr-optimizing.rkt
│ │ │ │ ├── takr.rktl
│ │ │ │ ├── takr2-non-optimizing.rkt
│ │ │ │ ├── takr2-optimizing.rkt
│ │ │ │ ├── takr2.rktl
│ │ │ │ ├── triangle-non-optimizing.rkt
│ │ │ │ ├── triangle-optimizing.rkt
│ │ │ │ ├── triangle.rktl
│ │ │ │ └── wrapper.rkt
│ │ │ ├── wrap-common.rkt
│ │ │ └── wrap.rkt
│ │ ├── control/
│ │ │ ├── README.txt
│ │ │ ├── attach.sch
│ │ │ ├── barrier.rkt
│ │ │ ├── baseline.rkt
│ │ │ ├── baseline.sch
│ │ │ ├── capture-mark.rkt
│ │ │ ├── cell.rkt
│ │ │ ├── compose.rkt
│ │ │ ├── config.rktl
│ │ │ ├── cont.rkt
│ │ │ ├── cont.sch
│ │ │ ├── exn.rkt
│ │ │ ├── get.rkt
│ │ │ ├── hasheq.rkt
│ │ │ ├── immediate.rkt
│ │ │ ├── info.rkt
│ │ │ ├── mark.rkt
│ │ │ ├── param.rkt
│ │ │ ├── setup.rktl
│ │ │ ├── sync.rkt
│ │ │ └── thread.rkt
│ │ ├── hash/
│ │ │ ├── all.rkt
│ │ │ ├── config.rkt
│ │ │ ├── info.rkt
│ │ │ ├── iterate.rkt
│ │ │ ├── ref.rkt
│ │ │ ├── remove.rkt
│ │ │ ├── set.rkt
│ │ │ ├── subset.rkt
│ │ │ └── summary.rkt
│ │ ├── mz/
│ │ │ ├── expand-class.rkt
│ │ │ ├── info.rkt
│ │ │ ├── input.xml
│ │ │ ├── parsing.rkt
│ │ │ ├── redsem.rkt
│ │ │ └── ssax.rkt
│ │ ├── places/
│ │ │ ├── info.rkt
│ │ │ ├── place-channel.rkt
│ │ │ ├── place-launch.rkt
│ │ │ ├── place-processes.rkt
│ │ │ └── symbols.rkt
│ │ ├── redrawing-ala-drracket.rkt
│ │ ├── rx/
│ │ │ ├── .gitignore
│ │ │ ├── auto.rkt
│ │ │ ├── index-template.html
│ │ │ ├── pcre.rkt
│ │ │ ├── perl_prefix.pl
│ │ │ └── python_prefix.py
│ │ ├── shootout/
│ │ │ ├── README.txt
│ │ │ ├── ackermann.rkt
│ │ │ ├── ary.rkt
│ │ │ ├── auto.rkt
│ │ │ ├── binarytrees-normal.rkt
│ │ │ ├── binarytrees-places.rkt
│ │ │ ├── binarytrees.rkt
│ │ │ ├── chameneos.rkt
│ │ │ ├── cheapconcurrency.rkt
│ │ │ ├── echo.rkt
│ │ │ ├── except.rkt
│ │ │ ├── fannkuch-redux.rkt
│ │ │ ├── fannkuch.rkt
│ │ │ ├── fasta-new.rkt
│ │ │ ├── fasta.rkt
│ │ │ ├── fibo.rkt
│ │ │ ├── hash.rkt
│ │ │ ├── hash2.rkt
│ │ │ ├── heapsort.rkt
│ │ │ ├── hello.rkt
│ │ │ ├── info.rkt
│ │ │ ├── k-nucleotide-bytes-par.rkt
│ │ │ ├── k-nucleotide.rkt
│ │ │ ├── lists.rkt
│ │ │ ├── mandelbrot-futures.rkt
│ │ │ ├── mandelbrot-generic.rkt
│ │ │ ├── mandelbrot.rkt
│ │ │ ├── matrix.rkt
│ │ │ ├── meteor.rkt
│ │ │ ├── moments.rkt
│ │ │ ├── nbody-generic.rkt
│ │ │ ├── nbody-vec-generic.rkt
│ │ │ ├── nbody-vec.rkt
│ │ │ ├── nbody.rkt
│ │ │ ├── nestedloop.rkt
│ │ │ ├── nothing.rkt
│ │ │ ├── nsieve.rkt
│ │ │ ├── nsievebits.rkt
│ │ │ ├── partialsums.rkt
│ │ │ ├── pidigits-gmp.rkt
│ │ │ ├── pidigits.rkt
│ │ │ ├── pidigits1.rkt
│ │ │ ├── random.rkt
│ │ │ ├── recursive.rkt
│ │ │ ├── regexmatch.rkt
│ │ │ ├── regexpdna-places.rkt
│ │ │ ├── regexpdna.rkt
│ │ │ ├── reversecomplement.rkt
│ │ │ ├── reversefile.rkt
│ │ │ ├── run.rkt
│ │ │ ├── sieve.rkt
│ │ │ ├── spectralnorm-generic.rkt
│ │ │ ├── spectralnorm-par.rkt
│ │ │ ├── spectralnorm.rkt
│ │ │ ├── spellcheck.rkt
│ │ │ ├── strcat.rkt
│ │ │ ├── sumcol-input.txt
│ │ │ ├── sumcol.rkt
│ │ │ ├── thread-ring.rkt
│ │ │ ├── typed/
│ │ │ │ ├── ackermann-non-optimizing.rkt
│ │ │ │ ├── ackermann-optimizing.rkt
│ │ │ │ ├── ackermann.rktl
│ │ │ │ ├── ary-non-optimizing.rkt
│ │ │ │ ├── ary-optimizing.rkt
│ │ │ │ ├── ary.rktl
│ │ │ │ ├── binarytrees-non-optimizing.rkt
│ │ │ │ ├── binarytrees-optimizing.rkt
│ │ │ │ ├── binarytrees.rktl
│ │ │ │ ├── chameneos-non-optimizing.rkt
│ │ │ │ ├── chameneos-optimizing.rkt
│ │ │ │ ├── chameneos.rktl
│ │ │ │ ├── cheapconcurrency-non-optimizing.rkt
│ │ │ │ ├── cheapconcurrency-optimizing.rkt
│ │ │ │ ├── cheapconcurrency.rktl
│ │ │ │ ├── echo-non-optimizing.rkt
│ │ │ │ ├── echo-optimizing.rkt
│ │ │ │ ├── echo.rktl
│ │ │ │ ├── except-non-optimizing.rkt
│ │ │ │ ├── except-optimizing.rkt
│ │ │ │ ├── except.rktl
│ │ │ │ ├── fannkuch-non-optimizing.rkt
│ │ │ │ ├── fannkuch-optimizing.rkt
│ │ │ │ ├── fannkuch-redux-non-optimizing.rkt
│ │ │ │ ├── fannkuch-redux-optimizing.rkt
│ │ │ │ ├── fannkuch-redux.rktl
│ │ │ │ ├── fannkuch.rktl
│ │ │ │ ├── fasta-non-optimizing.rkt
│ │ │ │ ├── fasta-optimizing.rkt
│ │ │ │ ├── fasta.rktl
│ │ │ │ ├── fibo-non-optimizing.rkt
│ │ │ │ ├── fibo-optimizing.rkt
│ │ │ │ ├── fibo.rktl
│ │ │ │ ├── hash-non-optimizing.rkt
│ │ │ │ ├── hash-optimizing.rkt
│ │ │ │ ├── hash.rktl
│ │ │ │ ├── hash2-non-optimizing.rkt
│ │ │ │ ├── hash2-optimizing.rkt
│ │ │ │ ├── hash2.rktl
│ │ │ │ ├── heapsort-non-optimizing.rkt
│ │ │ │ ├── heapsort-optimizing.rkt
│ │ │ │ ├── heapsort.rktl
│ │ │ │ ├── hello-non-optimizing.rkt
│ │ │ │ ├── hello-optimizing.rkt
│ │ │ │ ├── hello.rktl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── k-nucleotide-non-optimizing.rkt
│ │ │ │ ├── k-nucleotide-optimizing.rkt
│ │ │ │ ├── k-nucleotide.rktl
│ │ │ │ ├── lists-non-optimizing.rkt
│ │ │ │ ├── lists-optimizing.rkt
│ │ │ │ ├── lists.rktl
│ │ │ │ ├── mandelbrot-generic-non-optimizing.rkt
│ │ │ │ ├── mandelbrot-generic-optimizing.rkt
│ │ │ │ ├── mandelbrot-generic.rktl
│ │ │ │ ├── mandelbrot-non-optimizing.rkt
│ │ │ │ ├── mandelbrot-optimizing.rkt
│ │ │ │ ├── mandelbrot.rktl
│ │ │ │ ├── matrix-non-optimizing.rkt
│ │ │ │ ├── matrix-optimizing.rkt
│ │ │ │ ├── matrix.rktl
│ │ │ │ ├── meteor-non-optimizing.rkt
│ │ │ │ ├── meteor-optimizing.rkt
│ │ │ │ ├── meteor.rktl
│ │ │ │ ├── moments-non-optimizing.rkt
│ │ │ │ ├── moments-optimizing.rkt
│ │ │ │ ├── moments.rktl
│ │ │ │ ├── nbody-generic-non-optimizing.rkt
│ │ │ │ ├── nbody-generic-optimizing.rkt
│ │ │ │ ├── nbody-generic.rktl
│ │ │ │ ├── nbody-non-optimizing.rkt
│ │ │ │ ├── nbody-optimizing.rkt
│ │ │ │ ├── nbody-vec-generic-non-optimizing.rkt
│ │ │ │ ├── nbody-vec-generic-optimizing.rkt
│ │ │ │ ├── nbody-vec-generic.rktl
│ │ │ │ ├── nbody-vec-non-optimizing.rkt
│ │ │ │ ├── nbody-vec-optimizing.rkt
│ │ │ │ ├── nbody-vec.rktl
│ │ │ │ ├── nbody.rktl
│ │ │ │ ├── nestedloop-non-optimizing.rkt
│ │ │ │ ├── nestedloop-optimizing.rkt
│ │ │ │ ├── nestedloop.rktl
│ │ │ │ ├── nothing-non-optimizing.rkt
│ │ │ │ ├── nothing-optimizing.rkt
│ │ │ │ ├── nothing.rktl
│ │ │ │ ├── nsieve-non-optimizing.rkt
│ │ │ │ ├── nsieve-optimizing.rkt
│ │ │ │ ├── nsieve.rktl
│ │ │ │ ├── nsievebits-non-optimizing.rkt
│ │ │ │ ├── nsievebits-optimizing.rkt
│ │ │ │ ├── nsievebits.rktl
│ │ │ │ ├── partialsums-non-optimizing.rkt
│ │ │ │ ├── partialsums-optimizing.rkt
│ │ │ │ ├── partialsums.rktl
│ │ │ │ ├── pidigits-non-optimizing.rkt
│ │ │ │ ├── pidigits-optimizing.rkt
│ │ │ │ ├── pidigits.rktl
│ │ │ │ ├── pidigits1-non-optimizing.rkt
│ │ │ │ ├── pidigits1-optimizing.rkt
│ │ │ │ ├── pidigits1.rktl
│ │ │ │ ├── random-non-optimizing.rkt
│ │ │ │ ├── random-optimizing.rkt
│ │ │ │ ├── random.rktl
│ │ │ │ ├── recursive-non-optimizing.rkt
│ │ │ │ ├── recursive-optimizing.rkt
│ │ │ │ ├── recursive.rktl
│ │ │ │ ├── regexmatch-non-optimizing.rkt
│ │ │ │ ├── regexmatch-optimizing.rkt
│ │ │ │ ├── regexmatch.rktl
│ │ │ │ ├── regexpdna-non-optimizing.rkt
│ │ │ │ ├── regexpdna-optimizing.rkt
│ │ │ │ ├── regexpdna.rktl
│ │ │ │ ├── reversecomplement-non-optimizing.rkt
│ │ │ │ ├── reversecomplement-optimizing.rkt
│ │ │ │ ├── reversecomplement.rktl
│ │ │ │ ├── reversefile-non-optimizing.rkt
│ │ │ │ ├── reversefile-optimizing.rkt
│ │ │ │ ├── reversefile.rktl
│ │ │ │ ├── sieve-non-optimizing.rkt
│ │ │ │ ├── sieve-optimizing.rkt
│ │ │ │ ├── sieve.rktl
│ │ │ │ ├── spectralnorm-generic-non-optimizing.rkt
│ │ │ │ ├── spectralnorm-generic-optimizing.rkt
│ │ │ │ ├── spectralnorm-generic.rktl
│ │ │ │ ├── spectralnorm-non-optimizing.rkt
│ │ │ │ ├── spectralnorm-optimizing.rkt
│ │ │ │ ├── spectralnorm.rktl
│ │ │ │ ├── spellcheck-non-optimizing.rkt
│ │ │ │ ├── spellcheck-optimizing.rkt
│ │ │ │ ├── spellcheck.rktl
│ │ │ │ ├── strcat-non-optimizing.rkt
│ │ │ │ ├── strcat-optimizing.rkt
│ │ │ │ ├── strcat.rktl
│ │ │ │ ├── sumcol-non-optimizing.rkt
│ │ │ │ ├── sumcol-optimizing.rkt
│ │ │ │ ├── sumcol.rktl
│ │ │ │ ├── thread-ring-non-optimizing.rkt
│ │ │ │ ├── thread-ring-optimizing.rkt
│ │ │ │ ├── thread-ring.rktl
│ │ │ │ ├── wc-non-optimizing.rkt
│ │ │ │ ├── wc-optimizing.rkt
│ │ │ │ ├── wc.rktl
│ │ │ │ ├── wordfreq-non-optimizing.rkt
│ │ │ │ ├── wordfreq-optimizing.rkt
│ │ │ │ ├── wordfreq.rktl
│ │ │ │ └── wrapper.rkt
│ │ │ ├── wc.rkt
│ │ │ └── wordfreq.rkt
│ │ └── treelist/
│ │ └── bm.rkt
│ ├── racket-build-guide/
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── bootstrap.scrbl
│ │ ├── build.scrbl
│ │ ├── common.rkt
│ │ ├── contribute.scrbl
│ │ ├── distribute.scrbl
│ │ ├── info.rkt
│ │ ├── racket-build-guide.scrbl
│ │ └── zuo.scrbl
│ ├── racket-doc/
│ │ ├── LICENSE
│ │ ├── compatibility/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── compatibility.scrbl
│ │ │ ├── defmacro.scrbl
│ │ │ ├── mlists.scrbl
│ │ │ └── package.scrbl
│ │ ├── dynext/
│ │ │ ├── dynext.scrbl
│ │ │ └── info.rkt
│ │ ├── ffi/
│ │ │ └── examples/
│ │ │ ├── c-printf.rkt
│ │ │ ├── crypt.rkt
│ │ │ ├── esd.rkt
│ │ │ ├── info.rkt
│ │ │ ├── magick.rkt
│ │ │ ├── sndfile.rkt
│ │ │ ├── tcl.rkt
│ │ │ ├── use-c-printf.rkt
│ │ │ ├── use-crypt.rkt
│ │ │ ├── use-esd.rkt
│ │ │ ├── use-magick.rkt
│ │ │ ├── use-sndfile.rkt
│ │ │ ├── use-tcl.rkt
│ │ │ ├── use-xmmsctrl.rkt
│ │ │ ├── use-xosd.rkt
│ │ │ ├── xmmsctrl.rkt
│ │ │ └── xosd.rkt
│ │ ├── file/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── cache.scrbl
│ │ │ ├── common.rkt
│ │ │ ├── convertible.scrbl
│ │ │ ├── file.scrbl
│ │ │ ├── gif.scrbl
│ │ │ ├── glob.scrbl
│ │ │ ├── gunzip.scrbl
│ │ │ ├── gzip.scrbl
│ │ │ ├── ico.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── md5.scrbl
│ │ │ ├── resource.scrbl
│ │ │ ├── sha1.scrbl
│ │ │ ├── tar.scrbl
│ │ │ ├── untar.scrbl
│ │ │ ├── untgz.scrbl
│ │ │ ├── unzip.scrbl
│ │ │ └── zip.scrbl
│ │ ├── help/
│ │ │ ├── compat.scrbl
│ │ │ ├── help.scrbl
│ │ │ └── info.rkt
│ │ ├── info.rkt
│ │ ├── json/
│ │ │ ├── info.rkt
│ │ │ └── json.scrbl
│ │ ├── openssl/
│ │ │ ├── info.rkt
│ │ │ └── openssl.scrbl
│ │ ├── pkg/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── apis.scrbl
│ │ │ ├── catalog-protocol.scrbl
│ │ │ ├── common.rkt
│ │ │ ├── db.scrbl
│ │ │ ├── dirs-catalog.scrbl
│ │ │ ├── envvars.scrbl
│ │ │ ├── getting-started.scrbl
│ │ │ ├── git-workflow.scrbl
│ │ │ ├── implementation.scrbl
│ │ │ ├── lib.scrbl
│ │ │ ├── name.scrbl
│ │ │ ├── path.scrbl
│ │ │ ├── pkg.scrbl
│ │ │ └── strip.scrbl
│ │ ├── scribblings/
│ │ │ ├── foreign/
│ │ │ │ ├── active-x.scrbl
│ │ │ │ ├── alloc.scrbl
│ │ │ │ ├── atomic.scrbl
│ │ │ │ ├── collect-callback.scrbl
│ │ │ │ ├── com-auto.scrbl
│ │ │ │ ├── com-common.rkt
│ │ │ │ ├── com-intf.scrbl
│ │ │ │ ├── com.scrbl
│ │ │ │ ├── cpointer.scrbl
│ │ │ │ ├── custodian.scrbl
│ │ │ │ ├── cvector.scrbl
│ │ │ │ ├── define.scrbl
│ │ │ │ ├── derived.scrbl
│ │ │ │ ├── file.scrbl
│ │ │ │ ├── foreign.scrbl
│ │ │ │ ├── global.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── intro.scrbl
│ │ │ │ ├── libs.scrbl
│ │ │ │ ├── misc.scrbl
│ │ │ │ ├── ns.scrbl
│ │ │ │ ├── objc.scrbl
│ │ │ │ ├── os-thread.scrbl
│ │ │ │ ├── pointers.scrbl
│ │ │ │ ├── port.scrbl
│ │ │ │ ├── schedule.scrbl
│ │ │ │ ├── serialize-cstruct.scrbl
│ │ │ │ ├── static.scrbl
│ │ │ │ ├── try-atomic.scrbl
│ │ │ │ ├── types.scrbl
│ │ │ │ ├── unexported.scrbl
│ │ │ │ ├── utils.rkt
│ │ │ │ ├── vector.scrbl
│ │ │ │ ├── vm.scrbl
│ │ │ │ └── winapi.scrbl
│ │ │ ├── getting-started/
│ │ │ │ ├── getting-started.scrbl
│ │ │ │ └── info.rkt
│ │ │ ├── guide/
│ │ │ │ ├── apply.scrbl
│ │ │ │ ├── arith.rkt
│ │ │ │ ├── begin.scrbl
│ │ │ │ ├── binding.scrbl
│ │ │ │ ├── booleans.scrbl
│ │ │ │ ├── boxes.scrbl
│ │ │ │ ├── byte-strings.scrbl
│ │ │ │ ├── case.scrbl
│ │ │ │ ├── char-strings.scrbl
│ │ │ │ ├── chars.scrbl
│ │ │ │ ├── class.scrbl
│ │ │ │ ├── cmdline.scrbl
│ │ │ │ ├── compile.scrbl
│ │ │ │ ├── concurrency.scrbl
│ │ │ │ ├── cond.scrbl
│ │ │ │ ├── contracts/
│ │ │ │ │ ├── examples/
│ │ │ │ │ │ ├── 1-test.rkt
│ │ │ │ │ │ ├── 1.rkt
│ │ │ │ │ │ ├── 1b.rkt
│ │ │ │ │ │ ├── 2-test.rkt
│ │ │ │ │ │ ├── 2.rkt
│ │ │ │ │ │ ├── 3-test.rkt
│ │ │ │ │ │ ├── 3.rkt
│ │ │ │ │ │ ├── 5-test.rkt
│ │ │ │ │ │ ├── 5.rkt
│ │ │ │ │ │ ├── ho-version1.rkt
│ │ │ │ │ │ ├── ho-version2.rkt
│ │ │ │ │ │ ├── ho-version2a.rkt
│ │ │ │ │ │ ├── ho-version3.rkt
│ │ │ │ │ │ ├── ho-version3a.rkt
│ │ │ │ │ │ ├── ho-version3b.rkt
│ │ │ │ │ │ └── ho-version4.rkt
│ │ │ │ │ ├── examples.scrbl
│ │ │ │ │ ├── exists.scrbl
│ │ │ │ │ ├── first-extended-example.scrbl
│ │ │ │ │ ├── general-function.scrbl
│ │ │ │ │ ├── gotchas.scrbl
│ │ │ │ │ ├── intro.scrbl
│ │ │ │ │ ├── new-combinators.scrbl
│ │ │ │ │ ├── simple-function.scrbl
│ │ │ │ │ ├── structure.scrbl
│ │ │ │ │ └── utils.rkt
│ │ │ │ ├── contracts.scrbl
│ │ │ │ ├── control.scrbl
│ │ │ │ ├── data.scrbl
│ │ │ │ ├── death-list-5.rkt
│ │ │ │ ├── define-struct.scrbl
│ │ │ │ ├── define.scrbl
│ │ │ │ ├── dialects.scrbl
│ │ │ │ ├── distributed.scrbl
│ │ │ │ ├── dollar-racket.rkt
│ │ │ │ ├── dollar.rkt
│ │ │ │ ├── five.rkt
│ │ │ │ ├── for.scrbl
│ │ │ │ ├── forms.scrbl
│ │ │ │ ├── futures.scrbl
│ │ │ │ ├── graphics.scrbl
│ │ │ │ ├── guide-utils.rkt
│ │ │ │ ├── guide.scrbl
│ │ │ │ ├── hash-languages.scrbl
│ │ │ │ ├── hash-tables.scrbl
│ │ │ │ ├── html.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── io.scrbl
│ │ │ │ ├── keywords.scrbl
│ │ │ │ ├── kiddo.rkt
│ │ │ │ ├── lambda.scrbl
│ │ │ │ ├── languages.scrbl
│ │ │ │ ├── let.scrbl
│ │ │ │ ├── lists.scrbl
│ │ │ │ ├── literal-main-get-info.rkt
│ │ │ │ ├── literal-main-language-info.rkt
│ │ │ │ ├── literal-main.rkt
│ │ │ │ ├── literal.rkt
│ │ │ │ ├── macro-module.scrbl
│ │ │ │ ├── macros.scrbl
│ │ │ │ ├── match.scrbl
│ │ │ │ ├── modfile.rkt
│ │ │ │ ├── module-basics.scrbl
│ │ │ │ ├── module-hier.rkt
│ │ │ │ ├── module-languages.scrbl
│ │ │ │ ├── module-macro.scrbl
│ │ │ │ ├── module-paths.scrbl
│ │ │ │ ├── module-protect.scrbl
│ │ │ │ ├── module-provide.scrbl
│ │ │ │ ├── module-require.scrbl
│ │ │ │ ├── module-set.scrbl
│ │ │ │ ├── module-syntax.scrbl
│ │ │ │ ├── modules.scrbl
│ │ │ │ ├── named-let.scrbl
│ │ │ │ ├── namespaces.scrbl
│ │ │ │ ├── numbers.scrbl
│ │ │ │ ├── other-editors.scrbl
│ │ │ │ ├── other.scrbl
│ │ │ │ ├── pairs.scrbl
│ │ │ │ ├── parallel-threads.scrbl
│ │ │ │ ├── parallelism.scrbl
│ │ │ │ ├── parameterize.scrbl
│ │ │ │ ├── paths.scrbl
│ │ │ │ ├── pattern-macros.scrbl
│ │ │ │ ├── performance.scrbl
│ │ │ │ ├── phases.scrbl
│ │ │ │ ├── places.scrbl
│ │ │ │ ├── ports.scrbl
│ │ │ │ ├── proc-macros.scrbl
│ │ │ │ ├── qq.scrbl
│ │ │ │ ├── quote.scrbl
│ │ │ │ ├── reader-extension.scrbl
│ │ │ │ ├── regexp.scrbl
│ │ │ │ ├── regexps-data.scrbl
│ │ │ │ ├── running.scrbl
│ │ │ │ ├── scripts.scrbl
│ │ │ │ ├── set.scrbl
│ │ │ │ ├── simple-data.scrbl
│ │ │ │ ├── simple-syntax.scrbl
│ │ │ │ ├── store.rkt
│ │ │ │ ├── symbols.scrbl
│ │ │ │ ├── syntax-taints.scrbl
│ │ │ │ ├── to-scheme.scrbl
│ │ │ │ ├── truth.scrbl
│ │ │ │ ├── tuvalu.rkt
│ │ │ │ ├── unit.scrbl
│ │ │ │ ├── vectors.scrbl
│ │ │ │ ├── void-and-undef.scrbl
│ │ │ │ └── welcome.scrbl
│ │ │ ├── icons.css
│ │ │ ├── icons.rkt
│ │ │ ├── icons.tex
│ │ │ ├── info.rkt
│ │ │ ├── inside/
│ │ │ │ ├── appendix.scrbl
│ │ │ │ ├── bc.scrbl
│ │ │ │ ├── contmarks.scrbl
│ │ │ │ ├── cs-embedding.scrbl
│ │ │ │ ├── cs-eval.scrbl
│ │ │ │ ├── cs-overview.scrbl
│ │ │ │ ├── cs-procs.scrbl
│ │ │ │ ├── cs-start.scrbl
│ │ │ │ ├── cs-thread.scrbl
│ │ │ │ ├── cs-values.scrbl
│ │ │ │ ├── cs.scrbl
│ │ │ │ ├── custodians.scrbl
│ │ │ │ ├── embedding.scrbl
│ │ │ │ ├── eval.scrbl
│ │ │ │ ├── exns.scrbl
│ │ │ │ ├── extensions.scrbl
│ │ │ │ ├── hooks.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── inside.scrbl
│ │ │ │ ├── memory.scrbl
│ │ │ │ ├── misc.scrbl
│ │ │ │ ├── namespaces.scrbl
│ │ │ │ ├── numbers.scrbl
│ │ │ │ ├── overview.scrbl
│ │ │ │ ├── params.scrbl
│ │ │ │ ├── ports.scrbl
│ │ │ │ ├── procedures.scrbl
│ │ │ │ ├── security.scrbl
│ │ │ │ ├── strings.scrbl
│ │ │ │ ├── structures.scrbl
│ │ │ │ ├── subprocesses.scrbl
│ │ │ │ ├── threads.scrbl
│ │ │ │ ├── utils.rkt
│ │ │ │ └── values.scrbl
│ │ │ ├── more/
│ │ │ │ ├── info.rkt
│ │ │ │ ├── more.scrbl
│ │ │ │ ├── step0.txt
│ │ │ │ ├── step1.txt
│ │ │ │ ├── step2.txt
│ │ │ │ ├── step3.txt
│ │ │ │ ├── step4.txt
│ │ │ │ ├── step5.txt
│ │ │ │ ├── step6.txt
│ │ │ │ ├── step7.txt
│ │ │ │ ├── step8.txt
│ │ │ │ └── step9.txt
│ │ │ ├── private/
│ │ │ │ └── docname.rkt
│ │ │ ├── raco/
│ │ │ │ ├── api.scrbl
│ │ │ │ ├── bundle-api.scrbl
│ │ │ │ ├── c-mods.scrbl
│ │ │ │ ├── cc.scrbl
│ │ │ │ ├── command.scrbl
│ │ │ │ ├── common.rkt
│ │ │ │ ├── config.scrbl
│ │ │ │ ├── ctool.scrbl
│ │ │ │ ├── decompile.scrbl
│ │ │ │ ├── demod.scrbl
│ │ │ │ ├── dist-api.scrbl
│ │ │ │ ├── dist.scrbl
│ │ │ │ ├── docs.scrbl
│ │ │ │ ├── exe-api.scrbl
│ │ │ │ ├── exe-dylib-path.scrbl
│ │ │ │ ├── exe.scrbl
│ │ │ │ ├── expand.scrbl
│ │ │ │ ├── ext.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── info.scrbl
│ │ │ │ ├── launcher.scrbl
│ │ │ │ ├── link.scrbl
│ │ │ │ ├── make.scrbl
│ │ │ │ ├── pkg.scrbl
│ │ │ │ ├── planet.scrbl
│ │ │ │ ├── plt.scrbl
│ │ │ │ ├── raco.scrbl
│ │ │ │ ├── read.scrbl
│ │ │ │ ├── scribble.scrbl
│ │ │ │ ├── setup-info.scrbl
│ │ │ │ ├── setup.scrbl
│ │ │ │ ├── test.scrbl
│ │ │ │ ├── unpack.scrbl
│ │ │ │ ├── zo-parse.scrbl
│ │ │ │ └── zo-struct.scrbl
│ │ │ ├── reference/
│ │ │ │ ├── async-channels.scrbl
│ │ │ │ ├── black-box.scrbl
│ │ │ │ ├── block.scrbl
│ │ │ │ ├── booleans.scrbl
│ │ │ │ ├── breaks.scrbl
│ │ │ │ ├── bytes.scrbl
│ │ │ │ ├── channels.scrbl
│ │ │ │ ├── chaperones.scrbl
│ │ │ │ ├── chars.scrbl
│ │ │ │ ├── class.scrbl
│ │ │ │ ├── cmdline.scrbl
│ │ │ │ ├── code-inspectors.scrbl
│ │ │ │ ├── collects.scrbl
│ │ │ │ ├── compiler.scrbl
│ │ │ │ ├── concurrency.scrbl
│ │ │ │ ├── cont-marks.scrbl
│ │ │ │ ├── cont.scrbl
│ │ │ │ ├── contracts-struct-prop.scrbl
│ │ │ │ ├── contracts.scrbl
│ │ │ │ ├── control-lib.scrbl
│ │ │ │ ├── control.scrbl
│ │ │ │ ├── custodians.scrbl
│ │ │ │ ├── custom-ports.scrbl
│ │ │ │ ├── custom-write.scrbl
│ │ │ │ ├── data.scrbl
│ │ │ │ ├── debugging.scrbl
│ │ │ │ ├── define-struct.scrbl
│ │ │ │ ├── deprecation.scrbl
│ │ │ │ ├── dicts.scrbl
│ │ │ │ ├── ellipses-defn.rkt
│ │ │ │ ├── ellipses.rkt
│ │ │ │ ├── encodings.scrbl
│ │ │ │ ├── engine.scrbl
│ │ │ │ ├── enter.scrbl
│ │ │ │ ├── envvars.scrbl
│ │ │ │ ├── equality.scrbl
│ │ │ │ ├── eval-model.scrbl
│ │ │ │ ├── eval.scrbl
│ │ │ │ ├── evts.scrbl
│ │ │ │ ├── exit.scrbl
│ │ │ │ ├── exns.scrbl
│ │ │ │ ├── extflonums.scrbl
│ │ │ │ ├── extras.css
│ │ │ │ ├── extras.tex
│ │ │ │ ├── fasl.scrbl
│ │ │ │ ├── file-ports.scrbl
│ │ │ │ ├── filesystem.scrbl
│ │ │ │ ├── fixnums.scrbl
│ │ │ │ ├── flonums.scrbl
│ │ │ │ ├── for.scrbl
│ │ │ │ ├── format.scrbl
│ │ │ │ ├── futures-logging.scrbl
│ │ │ │ ├── futures.scrbl
│ │ │ │ ├── generic.scrbl
│ │ │ │ ├── hashes.scrbl
│ │ │ │ ├── help.scrbl
│ │ │ │ ├── implementation.scrbl
│ │ │ │ ├── include.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── init.scrbl
│ │ │ │ ├── interaction-info.scrbl
│ │ │ │ ├── interactive.scrbl
│ │ │ │ ├── io.scrbl
│ │ │ │ ├── kernel.scrbl
│ │ │ │ ├── keywords.scrbl
│ │ │ │ ├── linklet.scrbl
│ │ │ │ ├── load-lang.scrbl
│ │ │ │ ├── logging.scrbl
│ │ │ │ ├── macros.scrbl
│ │ │ │ ├── match-grammar.rkt
│ │ │ │ ├── match-parse.rkt
│ │ │ │ ├── match.scrbl
│ │ │ │ ├── memory-order.scrbl
│ │ │ │ ├── memory.scrbl
│ │ │ │ ├── model.scrbl
│ │ │ │ ├── module-reflect.scrbl
│ │ │ │ ├── mpairs.scrbl
│ │ │ │ ├── mz.rkt
│ │ │ │ ├── namespaces.scrbl
│ │ │ │ ├── networking.scrbl
│ │ │ │ ├── notation.scrbl
│ │ │ │ ├── numbers.scrbl
│ │ │ │ ├── os-lib.scrbl
│ │ │ │ ├── os.scrbl
│ │ │ │ ├── pairs.scrbl
│ │ │ │ ├── parameters.scrbl
│ │ │ │ ├── paths.scrbl
│ │ │ │ ├── phase+space.scrbl
│ │ │ │ ├── pipes.scrbl
│ │ │ │ ├── places-logging.scrbl
│ │ │ │ ├── places.scrbl
│ │ │ │ ├── plumbers.scrbl
│ │ │ │ ├── port-buffers.scrbl
│ │ │ │ ├── port-lib.scrbl
│ │ │ │ ├── port-line-counting.scrbl
│ │ │ │ ├── port-procs.scrbl
│ │ │ │ ├── ports.scrbl
│ │ │ │ ├── pretty-print.scrbl
│ │ │ │ ├── printer.scrbl
│ │ │ │ ├── procedures.scrbl
│ │ │ │ ├── prog-steps.rkt
│ │ │ │ ├── promise.scrbl
│ │ │ │ ├── prop-port.scrbl
│ │ │ │ ├── read.scrbl
│ │ │ │ ├── reader-example.rkt
│ │ │ │ ├── reader.scrbl
│ │ │ │ ├── readtables.scrbl
│ │ │ │ ├── reference.scrbl
│ │ │ │ ├── regexps.scrbl
│ │ │ │ ├── repl.scrbl
│ │ │ │ ├── rerequire.scrbl
│ │ │ │ ├── running.scrbl
│ │ │ │ ├── runtime.scrbl
│ │ │ │ ├── rx.rkt
│ │ │ │ ├── sandbox.scrbl
│ │ │ │ ├── security-guards.scrbl
│ │ │ │ ├── security.scrbl
│ │ │ │ ├── semaphores.scrbl
│ │ │ │ ├── sequences.scrbl
│ │ │ │ ├── serialization.scrbl
│ │ │ │ ├── sets.scrbl
│ │ │ │ ├── sha.scrbl
│ │ │ │ ├── shared.scrbl
│ │ │ │ ├── splicing.scrbl
│ │ │ │ ├── startup.scrbl
│ │ │ │ ├── stencil-vectors.scrbl
│ │ │ │ ├── string-input.scrbl
│ │ │ │ ├── string-output.scrbl
│ │ │ │ ├── string-ports.scrbl
│ │ │ │ ├── strings.scrbl
│ │ │ │ ├── struct-inspectors.scrbl
│ │ │ │ ├── struct.scrbl
│ │ │ │ ├── stx-comp.scrbl
│ │ │ │ ├── stx-expand.scrbl
│ │ │ │ ├── stx-ops.scrbl
│ │ │ │ ├── stx-param.scrbl
│ │ │ │ ├── stx-patterns.scrbl
│ │ │ │ ├── stx-props.scrbl
│ │ │ │ ├── stx-serialize.scrbl
│ │ │ │ ├── stx-taints.scrbl
│ │ │ │ ├── stx-trans.scrbl
│ │ │ │ ├── subprocess.scrbl
│ │ │ │ ├── surrogate.scrbl
│ │ │ │ ├── symbols.scrbl
│ │ │ │ ├── sync.scrbl
│ │ │ │ ├── syntax-model.scrbl
│ │ │ │ ├── syntax-util.scrbl
│ │ │ │ ├── syntax.scrbl
│ │ │ │ ├── thread-cells.scrbl
│ │ │ │ ├── thread-groups.scrbl
│ │ │ │ ├── thread-local.scrbl
│ │ │ │ ├── threads.scrbl
│ │ │ │ ├── time.scrbl
│ │ │ │ ├── trace.scrbl
│ │ │ │ ├── treelists.scrbl
│ │ │ │ ├── undefined.scrbl
│ │ │ │ ├── units.scrbl
│ │ │ │ ├── unix-paths.scrbl
│ │ │ │ ├── unreachable.scrbl
│ │ │ │ ├── unsafe-undefined.scrbl
│ │ │ │ ├── unsafe.scrbl
│ │ │ │ ├── values.scrbl
│ │ │ │ ├── vectors.scrbl
│ │ │ │ ├── windows-paths.scrbl
│ │ │ │ └── write.scrbl
│ │ │ └── style/
│ │ │ ├── acknowledgment.scrbl
│ │ │ ├── branch-and-commit.scrbl
│ │ │ ├── constructs.scrbl
│ │ │ ├── correct-maintain-speed.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── scribble.scrbl
│ │ │ ├── shared.rkt
│ │ │ ├── some-performance.scrbl
│ │ │ ├── style.scrbl
│ │ │ ├── testing.scrbl
│ │ │ ├── textual.scrbl
│ │ │ ├── todo.scrbl
│ │ │ └── unit.scrbl
│ │ ├── syntax/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── apply-transformer.scrbl
│ │ │ ├── boundmap.scrbl
│ │ │ ├── common.rkt
│ │ │ ├── context.scrbl
│ │ │ ├── contract.scrbl
│ │ │ ├── datum.scrbl
│ │ │ ├── define.scrbl
│ │ │ ├── docprovide.scrbl
│ │ │ ├── flatten-begin.scrbl
│ │ │ ├── for-body.scrbl
│ │ │ ├── for-transform.scrbl
│ │ │ ├── free-vars.scrbl
│ │ │ ├── id-set.scrbl
│ │ │ ├── id-table.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── intdef.scrbl
│ │ │ ├── kerncase.scrbl
│ │ │ ├── keyword.scrbl
│ │ │ ├── macro-testing.scrbl
│ │ │ ├── modcode.scrbl
│ │ │ ├── modcollapse.scrbl
│ │ │ ├── moddep.scrbl
│ │ │ ├── modread.scrbl
│ │ │ ├── modresolve.scrbl
│ │ │ ├── module-helpers.scrbl
│ │ │ ├── module-reader.scrbl
│ │ │ ├── name.scrbl
│ │ │ ├── parse/
│ │ │ │ ├── debug.scrbl
│ │ │ │ ├── define.scrbl
│ │ │ │ ├── error.scrbl
│ │ │ │ ├── ex-exprc.scrbl
│ │ │ │ ├── ex-kw-args.scrbl
│ │ │ │ ├── ex-many-kws.scrbl
│ │ │ │ ├── ex-mods-stxclasses.scrbl
│ │ │ │ ├── ex-uniform.scrbl
│ │ │ │ ├── ex-varied.scrbl
│ │ │ │ ├── examples.scrbl
│ │ │ │ ├── experimental.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── intro.scrbl
│ │ │ │ ├── lib.scrbl
│ │ │ │ ├── litconv.scrbl
│ │ │ │ ├── parse-common.rkt
│ │ │ │ ├── parse-dummy-bindings.rkt
│ │ │ │ ├── parsing.scrbl
│ │ │ │ ├── patterns.scrbl
│ │ │ │ ├── pre.scrbl
│ │ │ │ ├── state.scrbl
│ │ │ │ └── stxclasses.scrbl
│ │ │ ├── parse.scrbl
│ │ │ ├── path-spec.scrbl
│ │ │ ├── quote.scrbl
│ │ │ ├── reader-helpers.scrbl
│ │ │ ├── readerr.scrbl
│ │ │ ├── srcloc.scrbl
│ │ │ ├── strip-context.scrbl
│ │ │ ├── struct.scrbl
│ │ │ ├── stx.scrbl
│ │ │ ├── syntax-object-helpers.scrbl
│ │ │ ├── syntax.scrbl
│ │ │ ├── template.scrbl
│ │ │ ├── to-string.scrbl
│ │ │ ├── toplevel.scrbl
│ │ │ ├── transformer-helpers.scrbl
│ │ │ ├── transformer.scrbl
│ │ │ ├── trusted-xforms.scrbl
│ │ │ └── wrap-modbeg.scrbl
│ │ ├── version/
│ │ │ ├── info.rkt
│ │ │ └── version.scrbl
│ │ └── xml/
│ │ ├── info.rkt
│ │ └── xml.scrbl
│ ├── racket-index/
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── help/
│ │ │ ├── help-utils.rkt
│ │ │ ├── info.rkt
│ │ │ ├── main.rkt
│ │ │ └── private/
│ │ │ ├── command.rkt
│ │ │ ├── family.rkt
│ │ │ └── search.rkt
│ │ ├── info.rkt
│ │ ├── rackunit/
│ │ │ └── docs-complete.rkt
│ │ ├── scribblings/
│ │ │ └── main/
│ │ │ ├── README.txt
│ │ │ ├── acks.scrbl
│ │ │ ├── config.rkt
│ │ │ ├── contents.rkt
│ │ │ ├── family.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── license.scrbl
│ │ │ ├── local-redirect.scrbl
│ │ │ ├── private/
│ │ │ │ ├── family.js
│ │ │ │ ├── family.rkt
│ │ │ │ ├── index-scope.rkt
│ │ │ │ ├── local-redirect.rkt
│ │ │ │ ├── make-search.rkt
│ │ │ │ ├── manuals.rkt
│ │ │ │ ├── notice.rkt
│ │ │ │ ├── pkg.rkt
│ │ │ │ ├── release.rkt
│ │ │ │ ├── root-info.css
│ │ │ │ ├── root-info.js
│ │ │ │ ├── search-context.html
│ │ │ │ ├── search-merge.js
│ │ │ │ ├── search.css
│ │ │ │ ├── search.js
│ │ │ │ └── utils.rkt
│ │ │ ├── release.scrbl
│ │ │ ├── search.scrbl
│ │ │ ├── start.scrbl
│ │ │ └── user/
│ │ │ ├── family.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── local-redirect.scrbl
│ │ │ ├── release.scrbl
│ │ │ ├── search.scrbl
│ │ │ └── start.scrbl
│ │ └── setup/
│ │ ├── materialize-user-docs.rkt
│ │ ├── private/
│ │ │ ├── doc-path.rkt
│ │ │ └── validate-scribblings.rkt
│ │ ├── scribble.rkt
│ │ └── xref.rkt
│ ├── racket-index-exe/
│ │ ├── help/
│ │ │ ├── help.creator
│ │ │ ├── help.icns
│ │ │ ├── info.rkt
│ │ │ ├── installer.rkt
│ │ │ └── plt-help.1
│ │ └── info.rkt
│ ├── racket-lib/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── racket-test/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ ├── file/
│ │ │ ├── cache.rkt
│ │ │ ├── glob-test-dir/
│ │ │ │ ├── .secret1.rkt
│ │ │ │ ├── .secret2.rkt
│ │ │ │ ├── A.txt
│ │ │ │ ├── B.txt
│ │ │ │ ├── C.txt
│ │ │ │ ├── README.md
│ │ │ │ └── glob-test-subdir/
│ │ │ │ ├── .secret3.rkt
│ │ │ │ ├── .secret4.rkt
│ │ │ │ ├── A1.txt
│ │ │ │ ├── A2.txt
│ │ │ │ ├── A3.txt
│ │ │ │ └── glob-test-sub-sub-dir/
│ │ │ │ ├── .deep.secret
│ │ │ │ ├── A4.txt
│ │ │ │ └── deep.c
│ │ │ ├── glob.rkt
│ │ │ ├── gzip.rkt
│ │ │ ├── info.rkt
│ │ │ ├── main.rkt
│ │ │ ├── md5.rkt
│ │ │ ├── packers.rkt
│ │ │ ├── sha1.rkt
│ │ │ ├── tar-long-paths.rkt
│ │ │ ├── test-docs-complete.rkt
│ │ │ ├── unpackers.rkt
│ │ │ ├── unzip.rkt
│ │ │ └── zip-round-trip.rkt
│ │ ├── future/
│ │ │ ├── dynamic-wind.rkt
│ │ │ ├── fsema-lock.rkt
│ │ │ ├── fsemaphore-fairness.rkt
│ │ │ ├── fsemaphore.rkt
│ │ │ ├── future.rkt
│ │ │ ├── hash-lock.rkt
│ │ │ ├── info.rkt
│ │ │ ├── list-flags.rkt
│ │ │ ├── shutdown-stress.rkt
│ │ │ ├── slow-getter.rkt
│ │ │ ├── tail-apply.rkt
│ │ │ ├── tail-end.rkt
│ │ │ ├── touch-and-final.rkt
│ │ │ ├── uninterruptible.rkt
│ │ │ └── vector-limit.rkt
│ │ ├── generic/
│ │ │ ├── alist.rkt
│ │ │ ├── base-interfaces.rkt
│ │ │ ├── benchmark.rkt
│ │ │ ├── contract.rkt
│ │ │ ├── custom-hash.rkt
│ │ │ ├── custom-write.rkt
│ │ │ ├── defaults.rkt
│ │ │ ├── defined-table.rkt
│ │ │ ├── empty-interface.rkt
│ │ │ ├── equal+hash.rkt
│ │ │ ├── errors.rkt
│ │ │ ├── fallbacks.rkt
│ │ │ ├── from-docs.rkt
│ │ │ ├── from-unstable.rkt
│ │ │ ├── gh_1405.rkt
│ │ │ ├── impersonate.rkt
│ │ │ ├── info.rkt
│ │ │ ├── iterator.rkt
│ │ │ ├── marked.rkt
│ │ │ ├── method-table.rkt
│ │ │ ├── methods.rkt
│ │ │ ├── poly-contracts.rkt
│ │ │ ├── pr13737.rkt
│ │ │ ├── stream.rkt
│ │ │ ├── struct-form.rkt
│ │ │ ├── struct-type-property.rkt
│ │ │ ├── syntax-errors.rkt
│ │ │ ├── tests.rkt
│ │ │ └── top-level.rkt
│ │ ├── help/
│ │ │ └── test-docs-complete.rkt
│ │ ├── info.rkt
│ │ ├── json/
│ │ │ ├── .gitignore
│ │ │ ├── alias.sh
│ │ │ ├── indent-test-data/
│ │ │ │ ├── 042799b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 0b80275/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 1c482fd/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 1db4198/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 20c84e6/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 2573379/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 2771047/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 2e08dc7/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 335ba29/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 3414e05/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 36df15b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 3aba14b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 3b8c89c/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 45a9f98/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 4647fd9/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 4ca35c3/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 54b83ce/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 58c53d7/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 5b0e34b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 5e2a11f/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 5f6f7f2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 634fd58/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6406607/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6adfd0e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6eddee1/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6ef2ee0/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 721184e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 73a7723/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 7593947/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 7e6e0bc/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 8432f68/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 84dbc69/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 872bb9a/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 887586d/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 8f7d34e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 96f9a13/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a2588cd/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a70de3e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a8206c9/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a82f416/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── aa49306/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── b78df2c/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── b7e00b6/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── b9f381f/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── ba47ab2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── d012ae1/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── daf92d2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── e5f1450/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── e7123c2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── eecfb21/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── f076170/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ └── f821794/
│ │ │ │ ├── datum.rktd
│ │ │ │ └── node.json
│ │ │ ├── indent.rkt
│ │ │ └── json.rkt
│ │ ├── launcher/
│ │ │ └── test-docs-complete.rkt
│ │ ├── match/
│ │ │ ├── case-tests.rkt
│ │ │ ├── define-match.rkt
│ │ │ ├── examples.rkt
│ │ │ ├── hash-table-tests.rkt
│ │ │ ├── info.rkt
│ │ │ ├── legacy-match-tests.rkt
│ │ │ ├── main.rkt
│ │ │ ├── match-exn-tests.rkt
│ │ │ ├── match-tests.rkt
│ │ │ ├── other-plt-tests.rkt
│ │ │ └── other-tests.rkt
│ │ ├── openssl/
│ │ │ ├── basic.rkt
│ │ │ ├── ca_key.pem
│ │ │ ├── cacert.pem
│ │ │ ├── channel-binding/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Makefile
│ │ │ │ └── server.c
│ │ │ ├── client_crt.pem
│ │ │ ├── client_key.pem
│ │ │ ├── generate-certs.sh
│ │ │ ├── hostname.rkt
│ │ │ ├── https.rkt
│ │ │ ├── info.rkt
│ │ │ ├── legacy.rkt
│ │ │ ├── peer-verif.rkt
│ │ │ ├── peer-verif2.rkt
│ │ │ ├── server_crt.pem
│ │ │ ├── server_crt2.pem
│ │ │ ├── server_key.pem
│ │ │ ├── server_lambda_crt.pem
│ │ │ ├── server_ultimate_crt.pem
│ │ │ ├── server_ultimate_key.pem
│ │ │ ├── test-alpn.rkt
│ │ │ ├── test-channel-binding.rkt
│ │ │ ├── test-ephemeral.rkt
│ │ │ ├── test-keylog.rkt
│ │ │ ├── test-secure.rkt
│ │ │ ├── test-server-sni.rkt
│ │ │ └── test-sni.rkt
│ │ ├── pkg/
│ │ │ ├── README.txt
│ │ │ ├── basic-index.rkt
│ │ │ ├── git-http-proxy.rkt
│ │ │ ├── info.rkt
│ │ │ ├── path.rkt
│ │ │ ├── shelly.rkt
│ │ │ ├── test-catalogs-api.rkt
│ │ │ ├── test-docs.rkt
│ │ │ ├── test-pkgs/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── pkg-a-first/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-a/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-a-second/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-a/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-a-third/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── pkg-a/
│ │ │ │ │ │ └── main.rkt
│ │ │ │ │ └── pkg-b/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-add-1/
│ │ │ │ │ ├── 1
│ │ │ │ │ ├── b.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── y.rkt
│ │ │ │ ├── pkg-add-a/
│ │ │ │ │ ├── 2
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── y.rkt
│ │ │ │ ├── pkg-add-base/
│ │ │ │ │ ├── 1
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── x.rkt
│ │ │ │ ├── pkg-add-excl/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── neither/
│ │ │ │ │ │ ├── 1
│ │ │ │ │ │ ├── a.scrbl
│ │ │ │ │ │ ├── info.rkt
│ │ │ │ │ │ └── x.rkt
│ │ │ │ │ └── not-me/
│ │ │ │ │ ├── 1
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── x.rkt
│ │ │ │ ├── pkg-add-none/
│ │ │ │ │ ├── 1
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-add-x/
│ │ │ │ │ ├── 2
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── x.rkt
│ │ │ │ ├── pkg-b-first/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-b/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-b-second/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-b/
│ │ │ │ │ ├── contains-dep.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-c/
│ │ │ │ │ └── c.rkt
│ │ │ │ ├── pkg-cycle1/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-cycle2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-git/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-implied-one/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-implied-two/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-implies/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-strip/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test1/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── empty-set.rkt
│ │ │ │ │ │ └── info.rkt
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── number.rkt
│ │ │ │ │ └── update.rkt
│ │ │ │ ├── pkg-test1-conflict/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test1-manifest-error/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ └── update.rkt
│ │ │ │ ├── pkg-test1-not-conflict/
│ │ │ │ │ ├── README
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-test1-staging/
│ │ │ │ │ ├── a.rkt
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-test1-v2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── number.rkt
│ │ │ │ │ └── update.rkt
│ │ │ │ ├── pkg-test2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test2/
│ │ │ │ │ ├── contains-dep.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test3/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ └── number.rkt
│ │ │ │ ├── pkg-test3-v2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test3/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test3-v3/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ └── subdir/
│ │ │ │ │ └── README
│ │ │ │ ├── pkg-v-one/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-v-three/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-v-two/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-w-one/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-w-three/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-w-two/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-x/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── nobin-top.txt
│ │ │ │ │ ├── nobinlib-top.txt
│ │ │ │ │ ├── nosrc-top.txt
│ │ │ │ │ └── x/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── keep/
│ │ │ │ │ │ └── doc/
│ │ │ │ │ │ └── keep.txt
│ │ │ │ │ ├── keep.scrbl
│ │ │ │ │ ├── keep2/
│ │ │ │ │ │ └── doc/
│ │ │ │ │ │ └── readme.txt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── nobin.txt
│ │ │ │ │ ├── nobinlib.txt
│ │ │ │ │ ├── nosrc.txt
│ │ │ │ │ └── x.scrbl
│ │ │ │ ├── pkg-y/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── y/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── other.rkt
│ │ │ │ │ ├── sub/
│ │ │ │ │ │ └── s.rkt
│ │ │ │ │ └── y.scrbl
│ │ │ │ ├── pkg-z/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── z/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── racket-conflict/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── racket/
│ │ │ │ │ └── list.rkt
│ │ │ │ └── raco-pkg/
│ │ │ │ ├── info.rkt
│ │ │ │ └── raco-pkg/
│ │ │ │ ├── info.rkt
│ │ │ │ └── main.rkt
│ │ │ ├── test-scope-add.rkt
│ │ │ ├── test.rkt
│ │ │ ├── tests-api.rkt
│ │ │ ├── tests-basic.rkt
│ │ │ ├── tests-binary.rkt
│ │ │ ├── tests-catalog-links.rkt
│ │ │ ├── tests-catalogs.rkt
│ │ │ ├── tests-checksums.rkt
│ │ │ ├── tests-clone.rkt
│ │ │ ├── tests-config.rkt
│ │ │ ├── tests-conflicts.rkt
│ │ │ ├── tests-create.rkt
│ │ │ ├── tests-db.rkt
│ │ │ ├── tests-deps.rkt
│ │ │ ├── tests-failure.rkt
│ │ │ ├── tests-implies.rkt
│ │ │ ├── tests-install.rkt
│ │ │ ├── tests-locking.rkt
│ │ │ ├── tests-main-server.rkt
│ │ │ ├── tests-migrate.rkt
│ │ │ ├── tests-name.rkt
│ │ │ ├── tests-network.rkt
│ │ │ ├── tests-new.rkt
│ │ │ ├── tests-overwrite.rkt
│ │ │ ├── tests-permissions.rkt
│ │ │ ├── tests-planet.rkt
│ │ │ ├── tests-platform.rkt
│ │ │ ├── tests-promote.rkt
│ │ │ ├── tests-raco.rkt
│ │ │ ├── tests-scope.rkt
│ │ │ ├── tests-trash.rkt
│ │ │ ├── tests-uninstall.rkt
│ │ │ ├── tests-update-auto.rkt
│ │ │ ├── tests-update-deps.rkt
│ │ │ ├── tests-update.rkt
│ │ │ ├── tests-versions.rkt
│ │ │ └── util.rkt
│ │ ├── racket/
│ │ │ ├── .gitignore
│ │ │ ├── atomic-callback.rkt
│ │ │ ├── bool.rkt
│ │ │ ├── cat.rkt
│ │ │ ├── collection-name.rkt
│ │ │ ├── com-category.rkt
│ │ │ ├── com.rkt
│ │ │ ├── contract/
│ │ │ │ ├── all.rkt
│ │ │ │ ├── any-and-none.rkt
│ │ │ │ ├── arrow-d.rkt
│ │ │ │ ├── arrow-i.rkt
│ │ │ │ ├── arrow-neg-party.rkt
│ │ │ │ ├── arrow-star.rkt
│ │ │ │ ├── arrow.rkt
│ │ │ │ ├── assertion.rkt
│ │ │ │ ├── async-channel.rkt
│ │ │ │ ├── blame.rkt
│ │ │ │ ├── box.rkt
│ │ │ │ ├── bug.rkt
│ │ │ │ ├── case-arrow.rkt
│ │ │ │ ├── channel.rkt
│ │ │ │ ├── class.rkt
│ │ │ │ ├── collapsible-arrow.rkt
│ │ │ │ ├── collapsible-vector.rkt
│ │ │ │ ├── context.rkt
│ │ │ │ ├── continuation-mark.rkt
│ │ │ │ ├── contract-in.rkt
│ │ │ │ ├── contract-out.rkt
│ │ │ │ ├── define-contract-struct.rkt
│ │ │ │ ├── define-contract.rkt
│ │ │ │ ├── define-opt-c.rkt
│ │ │ │ ├── define-struct-contract.rkt
│ │ │ │ ├── equivalent.rkt
│ │ │ │ ├── errortrace.rkt
│ │ │ │ ├── evt.rkt
│ │ │ │ ├── exists.rkt
│ │ │ │ ├── first-order.rkt
│ │ │ │ ├── flat-contracts.rkt
│ │ │ │ ├── hash.rkt
│ │ │ │ ├── helpers.rkt
│ │ │ │ ├── ifc.rkt
│ │ │ │ ├── immutable.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── instanceof.rkt
│ │ │ │ ├── interface.rkt
│ │ │ │ ├── list-contract.rkt
│ │ │ │ ├── list.rkt
│ │ │ │ ├── make-contract.rkt
│ │ │ │ ├── make-proj-contract.rkt
│ │ │ │ ├── multi-file.rkt
│ │ │ │ ├── name.rkt
│ │ │ │ ├── object-contract.rkt
│ │ │ │ ├── object.rkt
│ │ │ │ ├── obligations.rkt
│ │ │ │ ├── opt-c.rkt
│ │ │ │ ├── or-and.rkt
│ │ │ │ ├── parameter.rkt
│ │ │ │ ├── parametric.rkt
│ │ │ │ ├── predicates.rkt
│ │ │ │ ├── proc-accepts-and-more.rkt
│ │ │ │ ├── prof.rkt
│ │ │ │ ├── promise.rkt
│ │ │ │ ├── prompt-tag.rkt
│ │ │ │ ├── property.rkt
│ │ │ │ ├── random-generate.rkt
│ │ │ │ ├── recontract.rkt
│ │ │ │ ├── recursive-contract.rkt
│ │ │ │ ├── rename.rkt
│ │ │ │ ├── sequence.rkt
│ │ │ │ ├── set.rkt
│ │ │ │ ├── stream.rkt
│ │ │ │ ├── stronger.rkt
│ │ │ │ ├── struct-contract.rkt
│ │ │ │ ├── struct-dc.rkt
│ │ │ │ ├── struct-type-property.rkt
│ │ │ │ ├── syntax.rkt
│ │ │ │ ├── tail.rkt
│ │ │ │ ├── test-util.rkt
│ │ │ │ ├── treelist.rkt
│ │ │ │ ├── unconstrained-domain.rkt
│ │ │ │ ├── value-contract.rkt
│ │ │ │ ├── vector.rkt
│ │ │ │ └── with-contract.rkt
│ │ │ ├── contract-stress-argmin.rkt
│ │ │ ├── contract-stress-take-right.rkt
│ │ │ ├── cross-phase.rkt
│ │ │ ├── curry.rkt
│ │ │ ├── custodian-finalize-help.rkt
│ │ │ ├── custodian-finalize.rkt
│ │ │ ├── deprecation.rkt
│ │ │ ├── deterministic-zo.rkt
│ │ │ ├── dump-tilde-name.rkt
│ │ │ ├── embed-in-c.c
│ │ │ ├── embed-in-c.rkt
│ │ │ ├── embed-place.rkt
│ │ │ ├── enter/
│ │ │ │ ├── reexport-racket.rkt
│ │ │ │ └── use-s-exp-lang.rkt
│ │ │ ├── enter.rkt
│ │ │ ├── ffi-alloc.rkt
│ │ │ ├── ffi-call-final.rkt
│ │ │ ├── ffi-custodian.rkt
│ │ │ ├── ffi-orig-place.rkt
│ │ │ ├── format.rkt
│ │ │ ├── glib-log.rkt
│ │ │ ├── hash-code.rkt
│ │ │ ├── hash-mem.rkt
│ │ │ ├── hash-random.rkt
│ │ │ ├── info.rkt
│ │ │ ├── keyword-apply-dict.rkt
│ │ │ ├── link.rkt
│ │ │ ├── load-handler.rkt
│ │ │ ├── locale-cache.rkt
│ │ │ ├── long-cmdline.rkt
│ │ │ ├── mpair.rkt
│ │ │ ├── old-make-zo.rkt
│ │ │ ├── os-async-channel.rkt
│ │ │ ├── os-thread.rkt
│ │ │ ├── parallel-build.rkt
│ │ │ ├── parallel-plot.rkt
│ │ │ ├── place-and-future.rkt
│ │ │ ├── place-channel-chaperone.rkt
│ │ │ ├── place-channel-compete.rkt
│ │ │ ├── place-channel-fd.rkt
│ │ │ ├── place-channel-fd2.rkt
│ │ │ ├── place-channel-fd3.rkt
│ │ │ ├── place-channel-ffi.rkt
│ │ │ ├── place-channel-fnl.rkt
│ │ │ ├── place-channel-limits.rkt
│ │ │ ├── place-channel-socket.rkt
│ │ │ ├── place-channel.rkt
│ │ │ ├── place-char.rkt
│ │ │ ├── place-chmsg-gc-acct.rkt
│ │ │ ├── place-chmsg-gc.rkt
│ │ │ ├── place-cross-phase.rkt
│ │ │ ├── place-gc-logger.rkt
│ │ │ ├── place-in-channel-fnl.rkt
│ │ │ ├── place-init-param.rkt
│ │ │ ├── place-kill-unwind.rkt
│ │ │ ├── place-kill.rkt
│ │ │ ├── place-log.rkt
│ │ │ ├── place-master-gc.rkt
│ │ │ ├── place-msg-gc.rkt
│ │ │ ├── place-msg-rational.rkt
│ │ │ ├── place-no-writer.rkt
│ │ │ ├── place-parallel.rkt
│ │ │ ├── place-plumber.rkt
│ │ │ ├── place-ports.rkt
│ │ │ ├── place-shutdown-ffi.rkt
│ │ │ ├── place-stdio.rkt
│ │ │ ├── place-struct-info.rkt
│ │ │ ├── place-sync-gc.rkt
│ │ │ ├── place-thread-sleep.rkt
│ │ │ ├── place1.rkt
│ │ │ ├── place2.rkt
│ │ │ ├── places.rkt
│ │ │ ├── pr14207.rkt
│ │ │ ├── pregexp.rkt
│ │ │ ├── print-value-columns.rkt
│ │ │ ├── prompt-sfs.rkt
│ │ │ ├── remote-atomic-write.rkt
│ │ │ ├── require.rkt
│ │ │ ├── rerequire.rkt
│ │ │ ├── runaway-place.rkt
│ │ │ ├── sandbox.rkt
│ │ │ ├── stress/
│ │ │ │ ├── apply.rkt
│ │ │ │ ├── cm-lock.rkt
│ │ │ │ ├── concurrent-resolve.rkt
│ │ │ │ ├── contract-lifting.rkt
│ │ │ │ ├── cumulative-memory.rkt
│ │ │ │ ├── custodian-accounting.rkt
│ │ │ │ ├── custodian-managed-list.rkt
│ │ │ │ ├── custodian.rkt
│ │ │ │ ├── datum-intern.rkt
│ │ │ │ ├── datum-to-syntax.rkt
│ │ │ │ ├── dict.rkt
│ │ │ │ ├── fact.rkt
│ │ │ │ ├── file-string-eof.rkt
│ │ │ │ ├── fs-change.rkt
│ │ │ │ ├── fuzz.rkt
│ │ │ │ ├── hash.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── log-receiver.rkt
│ │ │ │ ├── long-file-list.rkt
│ │ │ │ ├── malloc.rkt
│ │ │ │ ├── module-stack.rkt
│ │ │ │ ├── mutable-hash-remove.rkt
│ │ │ │ ├── number-hash.rkt
│ │ │ │ ├── or.rkt
│ │ │ │ ├── parallel-custodian.rkt
│ │ │ │ ├── parallel-foreign.rkt
│ │ │ │ ├── parallel-hash.rkt
│ │ │ │ ├── parallel-hasheq.rkt
│ │ │ │ ├── parallel-sync.rkt
│ │ │ │ ├── parallel-thread-pool.rkt
│ │ │ │ ├── prompt-mem-use.rkt
│ │ │ │ ├── schedule-loop.rkt
│ │ │ │ ├── semaphore.rkt
│ │ │ │ ├── sequence.rkt
│ │ │ │ ├── stx-concurrent.rkt
│ │ │ │ └── vector.rkt
│ │ │ ├── surrogate.rkt
│ │ │ ├── testing.rkt
│ │ │ ├── thread-kill-wait-gc.rkt
│ │ │ ├── thread-self-wait-gc.rkt
│ │ │ ├── thread-suspend-gc.rkt
│ │ │ ├── thread-suspend-wait-gc.rkt
│ │ │ ├── thread-wait-gc.rkt
│ │ │ ├── udp-dns.rkt
│ │ │ └── win-link.rkt
│ │ ├── run-automated-tests.rkt
│ │ ├── setup/
│ │ │ ├── bad%coll/
│ │ │ │ └── m.rkt
│ │ │ ├── collection-search.rkt
│ │ │ ├── cross-system.rkt
│ │ │ ├── matching-platform.rkt
│ │ │ ├── parallel-build.rkt
│ │ │ ├── path-to-collects.rkt
│ │ │ └── path-to-relative.rkt
│ │ ├── stress.rkt
│ │ ├── stxparse/
│ │ │ ├── deps.rkt
│ │ │ ├── function-header.rkt
│ │ │ ├── info.rkt
│ │ │ ├── manual/
│ │ │ │ └── disappeared-uses.rkt
│ │ │ ├── report-config.rkt
│ │ │ ├── select.rkt
│ │ │ ├── setup.rkt
│ │ │ ├── stress-template.rkt
│ │ │ ├── stress.rkt
│ │ │ ├── stxclass.rkt
│ │ │ ├── test-datum.rkt
│ │ │ ├── test-errors.rkt
│ │ │ ├── test-exp.rkt
│ │ │ ├── test-exprc.rkt
│ │ │ ├── test-litset.rkt
│ │ │ ├── test-syntax.rkt
│ │ │ ├── test-template.rkt
│ │ │ └── test.rkt
│ │ ├── syntax/
│ │ │ ├── contract/
│ │ │ │ ├── client1-1.rkt
│ │ │ │ ├── client1-2.rkt
│ │ │ │ ├── expr-c-part-a.rkt
│ │ │ │ ├── expr-c-part-b.rkt
│ │ │ │ ├── macro1.rkt
│ │ │ │ ├── macro2.rkt
│ │ │ │ ├── perf-liftable.rkt
│ │ │ │ ├── perf-nolift-result.rkt
│ │ │ │ ├── perf-nolift.rkt
│ │ │ │ ├── phase.rkt
│ │ │ │ ├── test-errors.rkt
│ │ │ │ └── test-exprc-paths.rkt
│ │ │ ├── datum.rkt
│ │ │ ├── flatten-begin.rkt
│ │ │ ├── free-vars.rkt
│ │ │ ├── info.rkt
│ │ │ ├── location.rkt
│ │ │ ├── meta-reader-original.rkt
│ │ │ ├── modcode.rkt
│ │ │ ├── modcollapse.rkt
│ │ │ ├── module-reader-synthetic-pos.rkt
│ │ │ ├── mzstruct.rkt
│ │ │ ├── racket-syntax.rkt
│ │ │ ├── run.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── test-readerr.rkt
│ │ │ ├── tests/
│ │ │ │ ├── location.rkt
│ │ │ │ ├── macro-testing.rkt
│ │ │ │ ├── pr12017.rkt
│ │ │ │ └── transformer.rkt
│ │ │ └── to-string.rkt
│ │ ├── units/
│ │ │ ├── info.rkt
│ │ │ ├── multi-mod-sigs.rkt
│ │ │ ├── test-cert.rkt
│ │ │ ├── test-deps.rkt
│ │ │ ├── test-exptime.rkt
│ │ │ ├── test-harness.rkt
│ │ │ ├── test-runtime.rkt
│ │ │ ├── test-unit-contracts.rkt
│ │ │ └── test-unit.rkt
│ │ ├── utils/
│ │ │ ├── info.rkt
│ │ │ ├── sexp-diff.rkt
│ │ │ └── test-util.rkt
│ │ ├── xml/
│ │ │ ├── .gitignore
│ │ │ ├── info.rkt
│ │ │ ├── num-entity.rkt
│ │ │ ├── offset.rkt
│ │ │ ├── pr2440.rkt
│ │ │ ├── rss.xml
│ │ │ ├── serialize.rkt
│ │ │ ├── srcloc.rkt
│ │ │ ├── test-clark.rkt
│ │ │ ├── test-path.rkt
│ │ │ ├── test-xexpr.rkt
│ │ │ ├── test.rkt
│ │ │ └── to-list.rkt
│ │ ├── zo-path.rkt
│ │ └── zo-size.rkt
│ ├── racket-test-core/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ ├── mzlib/
│ │ │ └── info.rkt
│ │ └── tests/
│ │ └── racket/
│ │ ├── .gitignore
│ │ ├── all-parallel.rkt
│ │ ├── all-parallel.rktl
│ │ ├── all.rktl
│ │ ├── async-channel.rktl
│ │ ├── basic.rktl
│ │ ├── boundmap-test.rktl
│ │ ├── bytes.rktl
│ │ ├── censor.rktl
│ │ ├── chaperone.rktl
│ │ ├── cm.rktl
│ │ ├── cmdline-eval.rkt
│ │ ├── cmdline.rktl
│ │ ├── collects.rktl
│ │ ├── contmark.rktl
│ │ ├── control.rktl
│ │ ├── core-tests.rktl
│ │ ├── cstruct.rktl
│ │ ├── date.rktl
│ │ ├── deep.rktl
│ │ ├── dict.rktl
│ │ ├── distro.rkt
│ │ ├── draw-box.rkt
│ │ ├── error.rktl
│ │ ├── expand.rktl
│ │ ├── expobs-regression.rktd
│ │ ├── expobs.rktl
│ │ ├── extflonum.rktl
│ │ ├── fasl.rktl
│ │ ├── ffi-lock.rkt
│ │ ├── file.rktl
│ │ ├── filelib.rktl
│ │ ├── fixnum.rktl
│ │ ├── flonum.rktl
│ │ ├── for-submod.rkt
│ │ ├── for-util.rkt
│ │ ├── for.rktl
│ │ ├── foreign-inline.rktl
│ │ ├── foreign-test.c
│ │ ├── foreign-test.rktl
│ │ ├── function.rktl
│ │ ├── future.rktl
│ │ ├── gambit-numeric.rktl
│ │ ├── generator.rktl
│ │ ├── has-submod.rkt
│ │ ├── hash.rktl
│ │ ├── id-set-test.rktl
│ │ ├── id-table-test.rktl
│ │ ├── info.rkt
│ │ ├── iostream.rktl
│ │ ├── jitinline.rktl
│ │ ├── lang/
│ │ │ └── reader.rkt
│ │ ├── letrec.rktl
│ │ ├── linklet.rktl
│ │ ├── list.rktl
│ │ ├── loadable.rktl
│ │ ├── loadtest.rktl
│ │ ├── logger.rktl
│ │ ├── macro.rktl
│ │ ├── math.rktl
│ │ ├── maybe-single.rkt
│ │ ├── moddep.rktl
│ │ ├── modprot.rktl
│ │ ├── module-reader.rktl
│ │ ├── module.rktl
│ │ ├── name.rktl
│ │ ├── namespac.rktl
│ │ ├── net-available.rkt
│ │ ├── number.rktl
│ │ ├── numstrs.rktl
│ │ ├── object.rktl
│ │ ├── optimize.rktl
│ │ ├── pack.rktl
│ │ ├── parallel.rktl
│ │ ├── param.rktl
│ │ ├── path.rktl
│ │ ├── pathlib.rktl
│ │ ├── phantom-bytes.rkt
│ │ ├── place-utils.rkt
│ │ ├── place.rktl
│ │ ├── port.rktl
│ │ ├── portlib.rktl
│ │ ├── pp-regression.rktd
│ │ ├── pretty.rktl
│ │ ├── print.rktl
│ │ ├── proc-defs.rktl
│ │ ├── procs.rktl
│ │ ├── promise.rktl
│ │ ├── prompt-tests.rktl
│ │ ├── prompt.rktl
│ │ ├── quiet.rktl
│ │ ├── read.rktl
│ │ ├── readtable.rktl
│ │ ├── resource.rktl
│ │ ├── rx.rktl
│ │ ├── sandbox.rktl
│ │ ├── scheme-tests.rktl
│ │ ├── sequence.rktl
│ │ ├── serialize.rktl
│ │ ├── set.rktl
│ │ ├── setup.rktl
│ │ ├── shared-tests.rktl
│ │ ├── shared.rktl
│ │ ├── srcloc.rktl
│ │ ├── stream.rktl
│ │ ├── string.rktl
│ │ ├── struct-derived.rktl
│ │ ├── struct.rktl
│ │ ├── stx.rktl
│ │ ├── stxparam.rktl
│ │ ├── submodule.rktl
│ │ ├── subprocess.rktl
│ │ ├── sync.rktl
│ │ ├── syntax.rktl
│ │ ├── syntaxlibs.rktl
│ │ ├── test-pack.rkt
│ │ ├── test.rkt
│ │ ├── testing.rktl
│ │ ├── text.rktd
│ │ ├── thread.rktl
│ │ ├── trace.rktl
│ │ ├── trait.rktl
│ │ ├── treelist.rktl
│ │ ├── try-atomic.rkt
│ │ ├── udp.rktl
│ │ ├── uni-norm.rktl
│ │ ├── unicode.rktl
│ │ ├── unix_check.c
│ │ ├── unsafe.rktl
│ │ ├── vector.rktl
│ │ ├── version.rktl
│ │ └── will.rktl
│ ├── racket-test-extra/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ ├── ffi/
│ │ │ ├── serialize-cstruct.rkt
│ │ │ └── union.rkt
│ │ ├── future/
│ │ │ └── random-future.rkt
│ │ ├── racket/
│ │ │ ├── fasl-prefix.rkt
│ │ │ ├── many-places.rkt
│ │ │ ├── pair-accessor-error-message.rkt
│ │ │ ├── place-chan-rand-help.rkt
│ │ │ ├── place-chan-rand.rkt
│ │ │ ├── set-regression.rkt
│ │ │ ├── struct-out-supertype.rkt
│ │ │ └── syntax-parse-arrow.rkt
│ │ └── raco/
│ │ └── prefix.rkt
│ ├── sandbox-lib/
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── info.rkt
│ │ ├── racket/
│ │ │ ├── private/
│ │ │ │ └── sandbox-coverage.rkt
│ │ │ └── sandbox.rkt
│ │ └── scheme/
│ │ └── sandbox.rkt
│ ├── scheme-doc/
│ │ ├── info.rkt
│ │ └── scribblings/
│ │ └── scheme/
│ │ ├── compat.scrbl
│ │ ├── info.rkt
│ │ └── scheme.scrbl
│ ├── sequence-tools-lib/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── racket/
│ │ └── list/
│ │ ├── grouping.rkt
│ │ └── iteration.rkt
│ └── zo-lib/
│ ├── LICENSE
│ ├── compiler/
│ │ ├── faslable-correlated.rkt
│ │ ├── private/
│ │ │ └── opaque.rkt
│ │ ├── zo-marshal.rkt
│ │ ├── zo-parse.rkt
│ │ └── zo-structs.rkt
│ └── info.rkt
└── racket/
├── .gitignore
├── collects/
│ ├── .gitignore
│ ├── acks/
│ │ └── acks.rkt
│ ├── compiler/
│ │ ├── cm-accomplice.rkt
│ │ ├── cm.rkt
│ │ ├── compilation-path.rkt
│ │ ├── compile-file.rkt
│ │ ├── compiler.rkt
│ │ ├── cross.rkt
│ │ ├── depend.rkt
│ │ ├── distribute.rkt
│ │ ├── embed.rkt
│ │ ├── exe-dylib-path.rkt
│ │ ├── find-exe.rkt
│ │ ├── module-suffix.rkt
│ │ ├── option.rkt
│ │ └── private/
│ │ ├── cm-dep.rkt
│ │ ├── cm-file.rkt
│ │ ├── cm-hash.rkt
│ │ ├── cm-log.rkt
│ │ ├── cm-minimal.rkt
│ │ ├── cm-path.rkt
│ │ ├── cm-security.rkt
│ │ ├── cm-util.rkt
│ │ ├── collects-path.rkt
│ │ ├── configdir.rkt
│ │ ├── dep.rkt
│ │ ├── elf.rkt
│ │ ├── embed.rkt
│ │ ├── macfw.rkt
│ │ ├── mach-o.rkt
│ │ ├── pe-rsrc.rkt
│ │ ├── read-bstr.rkt
│ │ ├── recompile-cache.rkt
│ │ ├── win-dll-list.rkt
│ │ ├── windlldir.rkt
│ │ ├── winsubsys.rkt
│ │ ├── winutf16.rkt
│ │ ├── write-perm.rkt
│ │ └── xform.rkt
│ ├── data/
│ │ ├── bit-vector.rkt
│ │ ├── integer-set.rkt
│ │ └── queue.rkt
│ ├── db/
│ │ └── private/
│ │ ├── generic/
│ │ │ ├── common.rkt
│ │ │ ├── ffi-common.rkt
│ │ │ ├── functions.rkt
│ │ │ ├── interfaces.rkt
│ │ │ ├── prepared.rkt
│ │ │ └── sql-data.rkt
│ │ ├── pre.rkt
│ │ └── sqlite3/
│ │ ├── connection.rkt
│ │ ├── dbsystem.rkt
│ │ ├── ffi-constants.rkt
│ │ ├── ffi.rkt
│ │ └── main.rkt
│ ├── dynext/
│ │ ├── file.rkt
│ │ └── filename-version.rkt
│ ├── ffi/
│ │ ├── com-registry.rkt
│ │ ├── com.rkt
│ │ ├── cvector.rkt
│ │ ├── file.rkt
│ │ ├── objc.rkt
│ │ ├── unsafe/
│ │ │ ├── alloc.rkt
│ │ │ ├── atomic.rkt
│ │ │ ├── collect-callback.rkt
│ │ │ ├── com.rkt
│ │ │ ├── custodian.rkt
│ │ │ ├── cvector.rkt
│ │ │ ├── define/
│ │ │ │ └── conventions.rkt
│ │ │ ├── define.rkt
│ │ │ ├── global.rkt
│ │ │ ├── nsalloc.rkt
│ │ │ ├── nsstring.rkt
│ │ │ ├── objc.rkt
│ │ │ ├── os-async-channel.rkt
│ │ │ ├── os-thread.rkt
│ │ │ ├── port.rkt
│ │ │ ├── private/
│ │ │ │ ├── ffi-lib.rkt
│ │ │ │ ├── not-available.rkt
│ │ │ │ └── win32.rkt
│ │ │ ├── schedule.rkt
│ │ │ ├── static.rkt
│ │ │ ├── try-atomic.rkt
│ │ │ └── vm.rkt
│ │ ├── unsafe.rkt
│ │ ├── vector.rkt
│ │ └── winapi.rkt
│ ├── file/
│ │ ├── cache.rkt
│ │ ├── convertible.rkt
│ │ ├── glob.rkt
│ │ ├── gunzip.rkt
│ │ ├── gzip.rkt
│ │ ├── ico.rkt
│ │ ├── md5.rkt
│ │ ├── private/
│ │ │ ├── check-path.rkt
│ │ │ ├── convertible.rkt
│ │ │ ├── glob.rkt
│ │ │ └── strip-prefix.rkt
│ │ ├── resource.rkt
│ │ ├── sha1.rkt
│ │ ├── tar.rkt
│ │ ├── untar.rkt
│ │ ├── untgz.rkt
│ │ ├── unzip.rkt
│ │ └── zip.rkt
│ ├── info/
│ │ └── main.rkt
│ ├── json/
│ │ └── main.rkt
│ ├── launcher/
│ │ ├── .gitignore
│ │ ├── info.rkt
│ │ ├── launcher.rkt
│ │ └── main.rkt
│ ├── net/
│ │ ├── base64.rkt
│ │ ├── git-checkout.rkt
│ │ ├── head.rkt
│ │ ├── http-client.rkt
│ │ ├── osx-ssl.rkt
│ │ ├── platform-ssl.rkt
│ │ ├── uri-codec.rkt
│ │ ├── url-connect.rkt
│ │ ├── url-exception.rkt
│ │ ├── url-string.rkt
│ │ ├── url-structs.rkt
│ │ ├── url.rkt
│ │ └── win32-ssl.rkt
│ ├── openssl/
│ │ ├── legacy.rkt
│ │ ├── libcrypto.rkt
│ │ ├── libssl.rkt
│ │ ├── main.rkt
│ │ ├── md5.rkt
│ │ ├── mzssl.rkt
│ │ ├── openssl.rkt
│ │ ├── private/
│ │ │ ├── add-cert.rkt
│ │ │ ├── ffi.rkt
│ │ │ ├── macosx.rkt
│ │ │ └── win32.rkt
│ │ ├── sha1.rkt
│ │ └── test.pem
│ ├── pkg/
│ │ ├── commands.rkt
│ │ ├── db.rkt
│ │ ├── dirs-catalog.rkt
│ │ ├── info.rkt
│ │ ├── lib.rkt
│ │ ├── main.rkt
│ │ ├── name.rkt
│ │ ├── path.rkt
│ │ ├── private/
│ │ │ ├── addl-installs.rkt
│ │ │ ├── archive.rkt
│ │ │ ├── catalog-archive.rkt
│ │ │ ├── catalog-copy.rkt
│ │ │ ├── catalog-show.rkt
│ │ │ ├── catalog-update.rkt
│ │ │ ├── catalog.rkt
│ │ │ ├── check-will-exist.rkt
│ │ │ ├── checkout-credentials.rkt
│ │ │ ├── clone-path.rkt
│ │ │ ├── collects.rkt
│ │ │ ├── config.rkt
│ │ │ ├── content.rkt
│ │ │ ├── create.rkt
│ │ │ ├── dep.rkt
│ │ │ ├── desc.rkt
│ │ │ ├── dirs.rkt
│ │ │ ├── download.rkt
│ │ │ ├── get-info.rkt
│ │ │ ├── git-url-scheme.rkt
│ │ │ ├── git.rkt
│ │ │ ├── github-url.rkt
│ │ │ ├── info-to-desc.rkt
│ │ │ ├── install.rkt
│ │ │ ├── lock.rkt
│ │ │ ├── metadata.rkt
│ │ │ ├── migrate.rkt
│ │ │ ├── missing-deps.rkt
│ │ │ ├── mod-paths.rkt
│ │ │ ├── network.rkt
│ │ │ ├── new.rkt
│ │ │ ├── orig-pkg.rkt
│ │ │ ├── params.rkt
│ │ │ ├── path.rkt
│ │ │ ├── pkg-db.rkt
│ │ │ ├── prefetch.rkt
│ │ │ ├── print.rkt
│ │ │ ├── remove.rkt
│ │ │ ├── rename-dir.rkt
│ │ │ ├── repo-path.rkt
│ │ │ ├── show.rkt
│ │ │ ├── stage.rkt
│ │ │ ├── suggestions.rkt
│ │ │ ├── timeout.rkt
│ │ │ └── trash.rkt
│ │ ├── raco.rkt
│ │ └── strip.rkt
│ ├── planet/
│ │ ├── cachepath.rkt
│ │ ├── config.rkt
│ │ ├── planet-archives.rkt
│ │ ├── private/
│ │ │ ├── command.rkt
│ │ │ ├── data.rkt
│ │ │ ├── define-config.rkt
│ │ │ ├── linkage.rkt
│ │ │ ├── parsereq.rkt
│ │ │ ├── planet-shared.rkt
│ │ │ ├── prefix-dispatcher.rkt
│ │ │ ├── resolver.rkt
│ │ │ └── short-syntax-helpers.rkt
│ │ ├── resolver.rkt
│ │ └── terse-info.rkt
│ ├── racket/
│ │ ├── HISTORY.txt
│ │ ├── MzScheme_200.txt
│ │ ├── MzScheme_300.txt
│ │ ├── MzScheme_4.txt
│ │ ├── Racket_5.txt
│ │ ├── async-channel.rkt
│ │ ├── base/
│ │ │ └── lang/
│ │ │ └── reader.rkt
│ │ ├── base.rkt
│ │ ├── block.rkt
│ │ ├── bool.rkt
│ │ ├── bytes.rkt
│ │ ├── case.rkt
│ │ ├── class.rkt
│ │ ├── cmdline.rkt
│ │ ├── contract/
│ │ │ ├── base.rkt
│ │ │ ├── collapsible.rkt
│ │ │ ├── combinator.rkt
│ │ │ ├── parametric.rkt
│ │ │ ├── private/
│ │ │ │ ├── and.rkt
│ │ │ │ ├── application-arity-checking.rkt
│ │ │ │ ├── arity-checking.rkt
│ │ │ │ ├── arr-d.rkt
│ │ │ │ ├── arr-i-parse.rkt
│ │ │ │ ├── arr-i.rkt
│ │ │ │ ├── arr-util.rkt
│ │ │ │ ├── arrow-collapsible.rkt
│ │ │ │ ├── arrow-common.rkt
│ │ │ │ ├── arrow-higher-order.rkt
│ │ │ │ ├── arrow-val-first.rkt
│ │ │ │ ├── base.rkt
│ │ │ │ ├── basic-opters.rkt
│ │ │ │ ├── blame.rkt
│ │ │ │ ├── box.rkt
│ │ │ │ ├── case-arrow.rkt
│ │ │ │ ├── collapsible-common.rkt
│ │ │ │ ├── ds-helpers.rkt
│ │ │ │ ├── ds.rkt
│ │ │ │ ├── exists.rkt
│ │ │ │ ├── generate-base.rkt
│ │ │ │ ├── generate.rkt
│ │ │ │ ├── guts.rkt
│ │ │ │ ├── hash.rkt
│ │ │ │ ├── helpers.rkt
│ │ │ │ ├── in-out.rkt
│ │ │ │ ├── in.rkt
│ │ │ │ ├── kwd-info-struct.rkt
│ │ │ │ ├── legacy.rkt
│ │ │ │ ├── list.rkt
│ │ │ │ ├── merge-cache.rkt
│ │ │ │ ├── misc.rkt
│ │ │ │ ├── module-boundary-ctc.rkt
│ │ │ │ ├── object-c-wrapper.rkt
│ │ │ │ ├── object.rkt
│ │ │ │ ├── opt-guts.rkt
│ │ │ │ ├── opt.rkt
│ │ │ │ ├── opters.rkt
│ │ │ │ ├── orc.rkt
│ │ │ │ ├── out.rkt
│ │ │ │ ├── parametric.rkt
│ │ │ │ ├── prop.rkt
│ │ │ │ ├── property.rkt
│ │ │ │ ├── provide.rkt
│ │ │ │ ├── rand.rkt
│ │ │ │ ├── struct-dc.rkt
│ │ │ │ ├── struct-prop.rkt
│ │ │ │ ├── top-sort.rkt
│ │ │ │ ├── treelist.rkt
│ │ │ │ ├── types.rkt
│ │ │ │ ├── unconstrained-domain-arrow.rkt
│ │ │ │ ├── vector-collapsible.rkt
│ │ │ │ ├── vector-common.rkt
│ │ │ │ └── vector.rkt
│ │ │ └── region.rkt
│ │ ├── contract.rkt
│ │ ├── control.rkt
│ │ ├── date.rkt
│ │ ├── deprecation/
│ │ │ └── transformer.rkt
│ │ ├── deprecation.rkt
│ │ ├── dict.rkt
│ │ ├── engine.rkt
│ │ ├── enter.rkt
│ │ ├── exn.rkt
│ │ ├── extflonum.rkt
│ │ ├── fasl.rkt
│ │ ├── file.rkt
│ │ ├── fixnum.rkt
│ │ ├── flonum.rkt
│ │ ├── for-clause.rkt
│ │ ├── format.rkt
│ │ ├── function.rkt
│ │ ├── future.rkt
│ │ ├── generator.rkt
│ │ ├── generic.rkt
│ │ ├── gui/
│ │ │ └── dynamic.rkt
│ │ ├── hash-code.rkt
│ │ ├── hash.rkt
│ │ ├── help.rkt
│ │ ├── include.rkt
│ │ ├── info.rkt
│ │ ├── init.rkt
│ │ ├── interaction-info.rkt
│ │ ├── interactive.rkt
│ │ ├── kernel/
│ │ │ └── init.rkt
│ │ ├── kernel.rkt
│ │ ├── keyword-transform.rkt
│ │ ├── keyword.rkt
│ │ ├── lang/
│ │ │ └── reader.rkt
│ │ ├── language-info.rkt
│ │ ├── lazy-require.rkt
│ │ ├── linklet.rkt
│ │ ├── list.rkt
│ │ ├── load/
│ │ │ └── lang/
│ │ │ └── reader.rkt
│ │ ├── load.rkt
│ │ ├── local.rkt
│ │ ├── logging.rkt
│ │ ├── main.rkt
│ │ ├── match/
│ │ │ ├── compiler.rkt
│ │ │ ├── define-forms.rkt
│ │ │ ├── gen-match.rkt
│ │ │ ├── legacy-match.rkt
│ │ │ ├── match-expander.rkt
│ │ │ ├── match.rkt
│ │ │ ├── parse-helper.rkt
│ │ │ ├── parse-legacy.rkt
│ │ │ ├── parse-quasi.rkt
│ │ │ ├── parse.rkt
│ │ │ ├── patterns.rkt
│ │ │ ├── reorder.rkt
│ │ │ ├── runtime.rkt
│ │ │ ├── split-rows.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── stxtime.rkt
│ │ │ └── syntax-local-match-introduce.rkt
│ │ ├── match.rkt
│ │ ├── math.rkt
│ │ ├── mutability.rkt
│ │ ├── mutable-treelist.rkt
│ │ ├── os.rkt
│ │ ├── path.rkt
│ │ ├── performance-hint.rkt
│ │ ├── phase+space.rkt
│ │ ├── place/
│ │ │ ├── dynamic.rkt
│ │ │ └── private/
│ │ │ ├── async-bi-channel.rkt
│ │ │ ├── coercion.rkt
│ │ │ ├── prop.rkt
│ │ │ └── th-place.rkt
│ │ ├── place.rkt
│ │ ├── port.rkt
│ │ ├── prefab.rkt
│ │ ├── pretty.rkt
│ │ ├── private/
│ │ │ ├── arity.rkt
│ │ │ ├── base.rkt
│ │ │ ├── case.rkt
│ │ │ ├── cert.rkt
│ │ │ ├── check.rkt
│ │ │ ├── choose-file-to-load.rkt
│ │ │ ├── class-c.rkt
│ │ │ ├── class-internal.rkt
│ │ │ ├── class-struct.rkt
│ │ │ ├── class-undef.rkt
│ │ │ ├── classidmap.rkt
│ │ │ ├── collect.rkt
│ │ │ ├── cond.rkt
│ │ │ ├── config.rkt
│ │ │ ├── custom-hash.rkt
│ │ │ ├── custom-write.rkt
│ │ │ ├── define-et-al.rkt
│ │ │ ├── define-struct.rkt
│ │ │ ├── define.rkt
│ │ │ ├── dict.rkt
│ │ │ ├── ellipses.rkt
│ │ │ ├── executable-path.rkt
│ │ │ ├── fixnum.rkt
│ │ │ ├── for-compatibility-lib.rkt
│ │ │ ├── for.rkt
│ │ │ ├── generic-interfaces.rkt
│ │ │ ├── generic-methods.rkt
│ │ │ ├── generic.rkt
│ │ │ ├── hash.rkt
│ │ │ ├── immediate-default.rkt
│ │ │ ├── increader.rkt
│ │ │ ├── intdef-util.rkt
│ │ │ ├── kernstruct.rkt
│ │ │ ├── keyword-apply-dict.rkt
│ │ │ ├── kw-file.rkt
│ │ │ ├── kw-prop-key.rkt
│ │ │ ├── kw-syntax-binding.rkt
│ │ │ ├── kw-syntax-serialize.rkt
│ │ │ ├── kw-thread.rkt
│ │ │ ├── kw.rkt
│ │ │ ├── letstx-scheme.rkt
│ │ │ ├── link-path.rkt
│ │ │ ├── list-predicates.rkt
│ │ │ ├── list.rkt
│ │ │ ├── local.rkt
│ │ │ ├── logger.rkt
│ │ │ ├── map.rkt
│ │ │ ├── math-predicates.rkt
│ │ │ ├── misc.rkt
│ │ │ ├── modbeg.rkt
│ │ │ ├── more-scheme.rkt
│ │ │ ├── name.rkt
│ │ │ ├── namespace.rkt
│ │ │ ├── norm-arity.rkt
│ │ │ ├── norm-define.rkt
│ │ │ ├── object-c.rkt
│ │ │ ├── old-path.rkt
│ │ │ ├── path-list.rkt
│ │ │ ├── path.rkt
│ │ │ ├── performance-hint.rkt
│ │ │ ├── pico.rkt
│ │ │ ├── place-local.rkt
│ │ │ ├── place.rkt
│ │ │ ├── port.rkt
│ │ │ ├── portlines.rkt
│ │ │ ├── pre-base.rkt
│ │ │ ├── primitive-table.rkt
│ │ │ ├── print-value-columns.rkt
│ │ │ ├── procedure-alias.rkt
│ │ │ ├── promise.rkt
│ │ │ ├── qq-and-or.rkt
│ │ │ ├── qqstx.rkt
│ │ │ ├── reading-param.rkt
│ │ │ ├── relative-path.rkt
│ │ │ ├── reqprov.rkt
│ │ │ ├── require-lift.rkt
│ │ │ ├── runtime-path-table.rkt
│ │ │ ├── sc.rkt
│ │ │ ├── sequence.rkt
│ │ │ ├── serialize-structs.rkt
│ │ │ ├── serialize.rkt
│ │ │ ├── set-types.rkt
│ │ │ ├── set.rkt
│ │ │ ├── share-search.rkt
│ │ │ ├── shared-body.rkt
│ │ │ ├── shell.rkt
│ │ │ ├── small-scheme.rkt
│ │ │ ├── so-search.rkt
│ │ │ ├── sort.rkt
│ │ │ ├── stream-cons.rkt
│ │ │ ├── streams.rkt
│ │ │ ├── string.rkt
│ │ │ ├── struct-info.rkt
│ │ │ ├── struct-type-property.rkt
│ │ │ ├── struct-util.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── stx.rkt
│ │ │ ├── stxcase-scheme.rkt
│ │ │ ├── stxcase.rkt
│ │ │ ├── stxloc.rkt
│ │ │ ├── stxparam.rkt
│ │ │ ├── stxparamkey.rkt
│ │ │ ├── submodule.rkt
│ │ │ ├── template.rkt
│ │ │ ├── tethered-installer.rkt
│ │ │ ├── this-expression-source-directory.rkt
│ │ │ ├── top-int.rkt
│ │ │ ├── truncate-path.rkt
│ │ │ ├── unit/
│ │ │ │ ├── contract-syntax.rkt
│ │ │ │ ├── contract.rkt
│ │ │ │ ├── exptime/
│ │ │ │ │ ├── import-export.rkt
│ │ │ │ │ ├── signature.rkt
│ │ │ │ │ ├── syntax.rkt
│ │ │ │ │ ├── unit-infer.rkt
│ │ │ │ │ └── util.rkt
│ │ │ │ ├── keywords.rkt
│ │ │ │ ├── runtime.rkt
│ │ │ │ ├── signature.rkt
│ │ │ │ ├── unit-core.rkt
│ │ │ │ ├── unit-infer.rkt
│ │ │ │ └── util.rkt
│ │ │ ├── unit-compiletime.rkt
│ │ │ ├── unit-syntax.rkt
│ │ │ ├── unix-rand.rkt
│ │ │ ├── vector-wraps.rkt
│ │ │ ├── windows-rand.rkt
│ │ │ └── with-stx.rkt
│ │ ├── promise.rkt
│ │ ├── provide-syntax.rkt
│ │ ├── provide-transform.rkt
│ │ ├── provide.rkt
│ │ ├── racket.1
│ │ ├── random.rkt
│ │ ├── repl.rkt
│ │ ├── require-syntax.rkt
│ │ ├── require-transform.rkt
│ │ ├── require.rkt
│ │ ├── rerequire.rkt
│ │ ├── runtime-config.rkt
│ │ ├── runtime-path.rkt
│ │ ├── sequence.rkt
│ │ ├── serialize-structs.rkt
│ │ ├── serialize.rkt
│ │ ├── set.rkt
│ │ ├── shared.rkt
│ │ ├── signature/
│ │ │ ├── lang/
│ │ │ │ └── reader.rkt
│ │ │ └── lang.rkt
│ │ ├── splicing.rkt
│ │ ├── stream.rkt
│ │ ├── string.rkt
│ │ ├── struct-info.rkt
│ │ ├── struct.rkt
│ │ ├── stxparam-exptime.rkt
│ │ ├── stxparam.rkt
│ │ ├── surrogate.rkt
│ │ ├── symbol.rkt
│ │ ├── syntax-srcloc.rkt
│ │ ├── syntax.rkt
│ │ ├── system.rkt
│ │ ├── tcp.rkt
│ │ ├── trace.rkt
│ │ ├── trait.rkt
│ │ ├── treelist.rkt
│ │ ├── udp.rkt
│ │ ├── undefined.rkt
│ │ ├── unit/
│ │ │ ├── lang/
│ │ │ │ └── reader.rkt
│ │ │ └── lang.rkt
│ │ ├── unit-exptime.rkt
│ │ ├── unit.rkt
│ │ ├── unreachable.rkt
│ │ ├── unsafe/
│ │ │ ├── ops.rkt
│ │ │ ├── struct-type-property.rkt
│ │ │ └── undefined.rkt
│ │ └── vector.rkt
│ ├── raco/
│ │ ├── all-tools.rkt
│ │ ├── command-name.rkt
│ │ ├── info.rkt
│ │ ├── main.extreg
│ │ ├── main.lch
│ │ ├── main.rkt
│ │ ├── raco.1
│ │ └── raco.rkt
│ ├── reader/
│ │ └── lang/
│ │ └── reader.rkt
│ ├── realm/
│ │ └── README.txt
│ ├── s-exp/
│ │ └── lang/
│ │ └── reader.rkt
│ ├── setup/
│ │ ├── collection-name.rkt
│ │ ├── collection-search.rkt
│ │ ├── collects.rkt
│ │ ├── commands/
│ │ │ └── link.rkt
│ │ ├── cross-system.rkt
│ │ ├── dirs.rkt
│ │ ├── doc-db.rkt
│ │ ├── getinfo.rkt
│ │ ├── info.rkt
│ │ ├── infotab/
│ │ │ └── lang/
│ │ │ └── reader.rkt
│ │ ├── infotab.rkt
│ │ ├── language-family.rkt
│ │ ├── link.rkt
│ │ ├── main-collects.rkt
│ │ ├── main-doc.rkt
│ │ ├── main.lch
│ │ ├── main.rkt
│ │ ├── matching-platform.rkt
│ │ ├── option.rkt
│ │ ├── pack.rkt
│ │ ├── parallel-build.rkt
│ │ ├── parallel-do.rkt
│ │ ├── path-relativize.rkt
│ │ ├── path-to-relative.rkt
│ │ ├── plt-single-installer.rkt
│ │ ├── private/
│ │ │ ├── cc-struct.rkt
│ │ │ ├── command-name.rkt
│ │ │ ├── dirs.rkt
│ │ │ ├── dylib.rkt
│ │ │ ├── elf.rkt
│ │ │ ├── encode-relative.rkt
│ │ │ ├── format-error.rkt
│ │ │ ├── lib-roots.rkt
│ │ │ ├── omitted-paths.rkt
│ │ │ ├── pkg-deps.rkt
│ │ │ ├── relevant-collects.rkt
│ │ │ ├── setup-fprintf.rkt
│ │ │ └── time.rkt
│ │ ├── setup-cmdline.rkt
│ │ ├── setup-core.rkt
│ │ ├── setup-go.rkt
│ │ ├── setup.rkt
│ │ ├── unixstyle-install.rkt
│ │ ├── unpack.rkt
│ │ ├── variant.rkt
│ │ ├── winstrip.rkt
│ │ ├── winvers-change.rkt
│ │ └── winvers.rkt
│ ├── syntax/
│ │ ├── apply-transformer.rkt
│ │ ├── boundmap.rkt
│ │ ├── context.rkt
│ │ ├── contract.rkt
│ │ ├── datum.rkt
│ │ ├── define.rkt
│ │ ├── doc.txt
│ │ ├── docprovide.rkt
│ │ ├── flatten-begin.rkt
│ │ ├── for-body.rkt
│ │ ├── free-vars.rkt
│ │ ├── id-set.rkt
│ │ ├── id-table.rkt
│ │ ├── intdef.rkt
│ │ ├── kerncase.rkt
│ │ ├── keyword.rkt
│ │ ├── location.rkt
│ │ ├── macro-testing.rkt
│ │ ├── modcode.rkt
│ │ ├── modcollapse.rkt
│ │ ├── moddep.rkt
│ │ ├── modread.rkt
│ │ ├── modresolve.rkt
│ │ ├── module-reader.rkt
│ │ ├── name.rkt
│ │ ├── parse/
│ │ │ ├── debug.rkt
│ │ │ ├── define.rkt
│ │ │ ├── experimental/
│ │ │ │ ├── c.rkt
│ │ │ │ ├── contract.rkt
│ │ │ │ ├── eh.rkt
│ │ │ │ ├── provide.rkt
│ │ │ │ ├── reflect.rkt
│ │ │ │ ├── specialize.rkt
│ │ │ │ ├── splicing.rkt
│ │ │ │ └── template.rkt
│ │ │ ├── lib/
│ │ │ │ └── function-header.rkt
│ │ │ ├── pre.rkt
│ │ │ ├── private/
│ │ │ │ ├── const-expr.rkt
│ │ │ │ ├── datum-to-expr.rkt
│ │ │ │ ├── interp.md
│ │ │ │ ├── keywords.rkt
│ │ │ │ ├── kws.rkt
│ │ │ │ ├── lib.rkt
│ │ │ │ ├── litconv.rkt
│ │ │ │ ├── minimatch.rkt
│ │ │ │ ├── opt-interp.rkt
│ │ │ │ ├── opt.rkt
│ │ │ │ ├── parse-classic.rkt
│ │ │ │ ├── parse-interp.rkt
│ │ │ │ ├── parse.rkt
│ │ │ │ ├── pattern-expander.rkt
│ │ │ │ ├── rep-attrs.rkt
│ │ │ │ ├── rep-data.rkt
│ │ │ │ ├── rep-patterns.rkt
│ │ │ │ ├── rep.rkt
│ │ │ │ ├── residual-interp.rkt
│ │ │ │ ├── residual.rkt
│ │ │ │ ├── runtime-reflect.rkt
│ │ │ │ ├── runtime-report.rkt
│ │ │ │ ├── runtime.rkt
│ │ │ │ ├── sc.rkt
│ │ │ │ ├── tree-util.rkt
│ │ │ │ └── txlift.rkt
│ │ │ ├── report-config.rkt
│ │ │ └── todo.txt
│ │ ├── parse.rkt
│ │ ├── path-spec.rkt
│ │ ├── primitives.rkt
│ │ ├── private/
│ │ │ ├── boundmap.rkt
│ │ │ ├── doctable.rkt
│ │ │ ├── id-set.rkt
│ │ │ ├── id-table.rkt
│ │ │ ├── keyword.rkt
│ │ │ ├── modcode-noctc.rkt
│ │ │ ├── modcollapse-noctc.rkt
│ │ │ ├── modhelp.rkt
│ │ │ ├── modresolve-noctc.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── template-runtime.rkt
│ │ │ └── util/
│ │ │ └── expand.rkt
│ │ ├── quote.rkt
│ │ ├── readerr.rkt
│ │ ├── srcloc.rkt
│ │ ├── strip-context.rkt
│ │ ├── struct.rkt
│ │ ├── stx.rkt
│ │ ├── template.rkt
│ │ ├── to-string.rkt
│ │ ├── toplevel.rkt
│ │ ├── transformer.rkt
│ │ ├── trusted-xforms.rkt
│ │ ├── unsafe/
│ │ │ └── for-transform.rkt
│ │ └── wrap-modbeg.rkt
│ ├── version/
│ │ ├── check.rkt
│ │ ├── patchlevel.rkt
│ │ └── utils.rkt
│ └── xml/
│ ├── main.rkt
│ ├── path.rkt
│ ├── plist.rkt
│ ├── private/
│ │ ├── core.rkt
│ │ ├── reader.rkt
│ │ ├── space.rkt
│ │ ├── structures.rkt
│ │ ├── syntax.rkt
│ │ ├── writer.rkt
│ │ ├── xexpr-core.rkt
│ │ └── xexpr.rkt
│ ├── xexpr.rkt
│ └── xml.rkt
└── src/
├── .gitignore
├── ChezScheme/
│ ├── .gitattributes
│ ├── .gitignore
│ ├── BUILDING
│ ├── CHARTER.md
│ ├── CONTRIBUTING.md
│ ├── IMPLEMENTATION.md
│ ├── LICENSE
│ ├── LOG
│ ├── NOTICE
│ ├── README.md
│ ├── archive/
│ │ └── checkin
│ ├── build.bat
│ ├── build.zuo
│ ├── c/
│ │ ├── .gitattributes
│ │ ├── a6nt-jump.asm
│ │ ├── alloc.c
│ │ ├── arm64nt-jump.S
│ │ ├── arm64nt-jump.asm
│ │ ├── atomic.h
│ │ ├── build.zuo
│ │ ├── clearcache.c
│ │ ├── compress-io.c
│ │ ├── compress-io.h
│ │ ├── expeditor.c
│ │ ├── externs.h
│ │ ├── fasl.c
│ │ ├── ffi.c
│ │ ├── flushcache.c
│ │ ├── foreign.c
│ │ ├── gc-011.c
│ │ ├── gc-ocd.c
│ │ ├── gc-oce.c
│ │ ├── gc-par.c
│ │ ├── gc.c
│ │ ├── gcwrapper.c
│ │ ├── globals.h
│ │ ├── i3le.c
│ │ ├── intern.c
│ │ ├── io.c
│ │ ├── itest.c
│ │ ├── lib.zuo
│ │ ├── main.c
│ │ ├── mingw.zuo
│ │ ├── new-io.c
│ │ ├── nocurses.h
│ │ ├── number.c
│ │ ├── pb.c
│ │ ├── pb.h
│ │ ├── popcount.h
│ │ ├── ppc32.c
│ │ ├── prim.c
│ │ ├── prim5.c
│ │ ├── print.c
│ │ ├── random.c
│ │ ├── scheme.c
│ │ ├── scheme.exe.manifest
│ │ ├── scheme.rc
│ │ ├── schlib.c
│ │ ├── schsig.c
│ │ ├── segment.c
│ │ ├── segment.h
│ │ ├── self-exe.c
│ │ ├── sort.h
│ │ ├── statics.c
│ │ ├── stats.c
│ │ ├── symbol.c
│ │ ├── system.h
│ │ ├── thread.c
│ │ ├── thread.h
│ │ ├── types.h
│ │ ├── version.h
│ │ ├── vfasl.c
│ │ ├── vs.bat
│ │ ├── windows.c
│ │ └── winlib.zuo
│ ├── configure
│ ├── csug/
│ │ ├── bibliography.stex
│ │ ├── binding.stex
│ │ ├── canned/
│ │ │ ├── about.html
│ │ │ ├── copyright.html
│ │ │ └── csug.css
│ │ ├── compat.stex
│ │ ├── contents.stex
│ │ ├── control.stex
│ │ ├── copyright.stex
│ │ ├── csug.bib
│ │ ├── csug.css
│ │ ├── csug.stex
│ │ ├── csug8.cls
│ │ ├── csug8.hcls
│ │ ├── csug810.clo
│ │ ├── debug.stex
│ │ ├── docond.ss
│ │ ├── expeditor.stex
│ │ ├── foreign.stex
│ │ ├── intro.stex
│ │ ├── io.stex
│ │ ├── libraries.stex
│ │ ├── myfile.ss
│ │ ├── numeric.stex
│ │ ├── objects.stex
│ │ ├── oop.stex
│ │ ├── preface.stex
│ │ ├── priminfo.ss
│ │ ├── scheme.hsty
│ │ ├── scheme.sty
│ │ ├── setup.ss
│ │ ├── smgmt.stex
│ │ ├── summary.ss
│ │ ├── summary.stex
│ │ ├── syntax.stex
│ │ ├── system.stex
│ │ ├── threads.stex
│ │ ├── title.stex
│ │ ├── tspl.bst
│ │ ├── tspl4/
│ │ │ ├── answers.aux
│ │ │ ├── bibliography.aux
│ │ │ ├── binding.aux
│ │ │ ├── contents.aux
│ │ │ ├── control.aux
│ │ │ ├── copyright.aux
│ │ │ ├── examples.aux
│ │ │ ├── exceptions.aux
│ │ │ ├── further.aux
│ │ │ ├── grammar.aux
│ │ │ ├── intro.aux
│ │ │ ├── io.aux
│ │ │ ├── libraries.aux
│ │ │ ├── objects.aux
│ │ │ ├── out.hidx
│ │ │ ├── preface.aux
│ │ │ ├── records.aux
│ │ │ ├── start.aux
│ │ │ ├── summary.aux
│ │ │ ├── syntax.aux
│ │ │ ├── title.aux
│ │ │ ├── to-hyperref.ss
│ │ │ ├── tspl.aux
│ │ │ ├── tspl.haux
│ │ │ ├── tspl.idx
│ │ │ └── tspl.rfm
│ │ ├── tspl4-prep.stex
│ │ └── use.stex
│ ├── examples/
│ │ ├── Makefile
│ │ ├── build.zuo
│ │ ├── compat.ss
│ │ ├── crepl.c
│ │ ├── csocket.c
│ │ ├── def.ss
│ │ ├── edit.ss
│ │ ├── ez-grammar-test.ss
│ │ ├── ez-grammar.ss
│ │ ├── fact.ss
│ │ ├── fatfib.ss
│ │ ├── fft.ss
│ │ ├── fib.ss
│ │ ├── foreign.ss
│ │ ├── freq.ss
│ │ ├── interpret.ss
│ │ ├── m4.ss
│ │ ├── macro.ss
│ │ ├── matrix.ss
│ │ ├── object.ss
│ │ ├── power.ss
│ │ ├── queue.ss
│ │ ├── rabbit.ss
│ │ ├── rsa.ss
│ │ ├── scons.ss
│ │ ├── setof.ss
│ │ ├── socket.ss
│ │ ├── template.ss
│ │ └── unify.ss
│ ├── makefiles/
│ │ ├── Makefile-cross.in
│ │ ├── Makefile-csug.in
│ │ ├── Makefile-release_notes.in
│ │ ├── Makefile.in
│ │ ├── Makefile.nt
│ │ ├── bintar.zuo
│ │ ├── boot.zuo
│ │ ├── buildmain.zuo
│ │ ├── install.zuo
│ │ ├── installsh
│ │ ├── lib.zuo
│ │ ├── libpath.zuo
│ │ ├── version.zuo
│ │ └── workmain.zuo
│ ├── maketarball
│ ├── mats/
│ │ ├── 3.ms
│ │ ├── 4.ms
│ │ ├── 5_1.ms
│ │ ├── 5_2.ms
│ │ ├── 5_3.ms
│ │ ├── 5_4.ms
│ │ ├── 5_5.ms
│ │ ├── 5_6.ms
│ │ ├── 5_7.ms
│ │ ├── 5_8.ms
│ │ ├── 6.ms
│ │ ├── 7.ms
│ │ ├── 8.ms
│ │ ├── build.zuo
│ │ ├── bytevector.ms
│ │ ├── cat_flush.c
│ │ ├── cfl.ms
│ │ ├── cp0.ms
│ │ ├── cptypes.ms
│ │ ├── date.ms
│ │ ├── enum.ms
│ │ ├── examples.ms
│ │ ├── exceptions.ms
│ │ ├── fl.ms
│ │ ├── foreign.ms
│ │ ├── foreign1.c
│ │ ├── foreign2.c
│ │ ├── foreign3.c
│ │ ├── foreign4.c
│ │ ├── format.ms
│ │ ├── freq.in
│ │ ├── freq.out
│ │ ├── ftype.h
│ │ ├── ftype.ms
│ │ ├── fx.ms
│ │ ├── hash.ms
│ │ ├── ht.ss
│ │ ├── ieee.ms
│ │ ├── io.ms
│ │ ├── m4test.in
│ │ ├── m4test.out
│ │ ├── mat.ss
│ │ ├── misc.ms
│ │ ├── oop.ms
│ │ ├── oop.ss
│ │ ├── patch-compile-0-f-f-t
│ │ ├── patch-compile-0-f-t-f
│ │ ├── patch-compile-0-f-t-t
│ │ ├── patch-compile-0-t-f-f
│ │ ├── patch-compile-0-t-f-t
│ │ ├── patch-compile-0-t-t-f
│ │ ├── patch-compile-0-t-t-t
│ │ ├── patch-compile-3-f-f-t
│ │ ├── patch-compile-3-f-t-f
│ │ ├── patch-compile-3-f-t-t
│ │ ├── patch-compile-3-t-f-f
│ │ ├── patch-compile-3-t-f-t
│ │ ├── patch-compile-3-t-t-f
│ │ ├── patch-compile-3-t-t-t
│ │ ├── patch-interpret-0-f-f-f
│ │ ├── patch-interpret-0-f-t-f
│ │ ├── patch-interpret-0-t-f-f
│ │ ├── patch-interpret-0-t-t-f
│ │ ├── patch-interpret-3-f-f-f
│ │ ├── patch-interpret-3-f-t-f
│ │ ├── patch-interpret-3-t-f-f
│ │ ├── patch-interpret-3-t-t-f
│ │ ├── primvars.ms
│ │ ├── profile.ms
│ │ ├── record.ms
│ │ ├── root-experr-compile-0-f-f-f
│ │ ├── root-experr-compile-3-f-f-f
│ │ ├── thread-check.ss
│ │ ├── thread.ms
│ │ ├── unix.ms
│ │ └── windows.ms
│ ├── nanopass/
│ │ ├── .gitignore
│ │ ├── .travis/
│ │ │ ├── install_scheme
│ │ │ └── run_tests
│ │ ├── .travis.yml
│ │ ├── Acknowledgements
│ │ ├── Copyright
│ │ ├── LOG
│ │ ├── ReadMe.md
│ │ ├── TODO
│ │ ├── doc/
│ │ │ ├── Makefile
│ │ │ ├── language-api.ss
│ │ │ ├── user-guide.bib
│ │ │ └── user-guide.stex
│ │ ├── nanopass/
│ │ │ ├── exp-syntax.sls
│ │ │ ├── experimental.sls
│ │ │ ├── helpers.ss
│ │ │ ├── implementation-helpers.chezscheme.sls
│ │ │ ├── implementation-helpers.ikarus.ss
│ │ │ ├── implementation-helpers.ironscheme.sls
│ │ │ ├── implementation-helpers.vicare.sls
│ │ │ ├── language-helpers.ss
│ │ │ ├── language-node-counter.ss
│ │ │ ├── language.ss
│ │ │ ├── meta-parser.ss
│ │ │ ├── meta-syntax-dispatch.ss
│ │ │ ├── nano-syntax-dispatch.ss
│ │ │ ├── parser.ss
│ │ │ ├── pass.ss
│ │ │ ├── prefix-matcher.ss
│ │ │ ├── records.ss
│ │ │ ├── syntactic-property.sls
│ │ │ ├── syntaxconvert.ss
│ │ │ └── unparser.ss
│ │ ├── nanopass.ss
│ │ ├── test-all.ss
│ │ └── tests/
│ │ ├── alltests.ss
│ │ ├── compiler-test.ss
│ │ ├── compiler.ss
│ │ ├── helpers.ss
│ │ ├── implementation-helpers.chezscheme.sls
│ │ ├── implementation-helpers.ikarus.ss
│ │ ├── implementation-helpers.ironscheme.sls
│ │ ├── implementation-helpers.ss
│ │ ├── implementation-helpers.vicare.sls
│ │ ├── new-compiler.ss
│ │ ├── synforms.ss
│ │ ├── test-driver.ss
│ │ ├── unit-test-helpers-implementation.chezscheme.sls
│ │ ├── unit-test-helpers-implementation.ikarus.sls
│ │ ├── unit-test-helpers-implementation.ironscheme.sls
│ │ ├── unit-test-helpers-implementation.vicare.sls
│ │ ├── unit-test-helpers.ss
│ │ └── unit-tests.ss
│ ├── newrelease
│ ├── pkg/
│ │ ├── Makefile
│ │ └── rmpkg
│ ├── release_notes/
│ │ ├── macros.stex
│ │ ├── release_notes.stex
│ │ ├── releasenotes.cls
│ │ ├── releasenotes.css
│ │ ├── releasenotes.hcls
│ │ └── scheme.sty
│ ├── rpm/
│ │ └── Makefile
│ ├── s/
│ │ ├── 4.ss
│ │ ├── 5_1.ss
│ │ ├── 5_2.ss
│ │ ├── 5_3.ss
│ │ ├── 5_4.ss
│ │ ├── 5_6.ss
│ │ ├── 5_7.ss
│ │ ├── 6.ss
│ │ ├── 7.ss
│ │ ├── a6.def
│ │ ├── a6nt.def
│ │ ├── arm32.def
│ │ ├── arm32.ss
│ │ ├── arm64.def
│ │ ├── arm64.ss
│ │ ├── arm64nt.def
│ │ ├── back.ss
│ │ ├── base-lang.ss
│ │ ├── boot.bat
│ │ ├── bootpbchunk.ss
│ │ ├── build.zuo
│ │ ├── bytevector.ss
│ │ ├── cafe.ss
│ │ ├── cback.ss
│ │ ├── cmacros.ss
│ │ ├── compile.ss
│ │ ├── costctr.ss
│ │ ├── cp0.ss
│ │ ├── cpcheck.ss
│ │ ├── cpcommonize.ss
│ │ ├── cpletrec.ss
│ │ ├── cpnanopass.ss
│ │ ├── cpprim.ss
│ │ ├── cprep.ss
│ │ ├── cptypes-lattice.ss
│ │ ├── cptypes.ss
│ │ ├── cpvalid.ss
│ │ ├── date.ss
│ │ ├── debug.ss
│ │ ├── default.def
│ │ ├── engine.ss
│ │ ├── enum.ss
│ │ ├── env.ss
│ │ ├── event.ss
│ │ ├── exceptions.ss
│ │ ├── expand-lang.ss
│ │ ├── expeditor.ss
│ │ ├── fasl-helpers.ss
│ │ ├── fasl.ss
│ │ ├── ffi-help.ss
│ │ ├── foreign.ss
│ │ ├── format.ss
│ │ ├── front.ss
│ │ ├── ftype.ss
│ │ ├── fxmap.ss
│ │ ├── hashtable-types.ss
│ │ ├── i3.def
│ │ ├── i3nt.def
│ │ ├── i3qnx.def
│ │ ├── inspect.ss
│ │ ├── interpret.ss
│ │ ├── io-types.ss
│ │ ├── io.ss
│ │ ├── la64.def
│ │ ├── layout.ss
│ │ ├── library.ss
│ │ ├── loongarch64.ss
│ │ ├── machine.zuo
│ │ ├── mathprims.ss
│ │ ├── mkgc.ss
│ │ ├── mkheader.ss
│ │ ├── newhash.ss
│ │ ├── np-help.ss
│ │ ├── np-info.ss
│ │ ├── np-languages.ss
│ │ ├── np-register.ss
│ │ ├── nt.def
│ │ ├── patch.ss
│ │ ├── pb.def
│ │ ├── pb.ss
│ │ ├── pbarch.def
│ │ ├── pbchunk.ss
│ │ ├── pbcommon.def
│ │ ├── pbcommon32.def
│ │ ├── pbcommon64.def
│ │ ├── pdhtml.ss
│ │ ├── ppc32.def
│ │ ├── ppc32.ss
│ │ ├── ppc32osx.def
│ │ ├── pretty.ss
│ │ ├── primdata.ss
│ │ ├── priminfo.ss
│ │ ├── primref.ss
│ │ ├── prims.ss
│ │ ├── primvars.ss
│ │ ├── print.ss
│ │ ├── read.ss
│ │ ├── reboot-record-wrap.ss
│ │ ├── reboot-record.ss
│ │ ├── reboot.ss
│ │ ├── reboot.zuo
│ │ ├── record.ss
│ │ ├── reloc.ss
│ │ ├── riscv64.ss
│ │ ├── rv64.def
│ │ ├── setup.ss
│ │ ├── strip-types.ss
│ │ ├── strip.ss
│ │ ├── strnum.ss
│ │ ├── syntax.ss
│ │ ├── ta6nt.def
│ │ ├── target-fixnum.ss
│ │ ├── tarm64nt.def
│ │ ├── ti3nt.def
│ │ ├── tpb.def
│ │ ├── tpbarch.def
│ │ ├── tppc32osx.def
│ │ ├── trace.ss
│ │ ├── tunix.def
│ │ ├── types.ss
│ │ ├── ubify.ss
│ │ ├── unix.def
│ │ ├── vfasl.ss
│ │ ├── x86.ss
│ │ └── x86_64.ss
│ ├── scheme.1.in
│ ├── stex/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── Makefile.template
│ │ ├── Mf-stex
│ │ ├── ReadMe
│ │ ├── doc/
│ │ │ ├── Makefile
│ │ │ ├── stex.css
│ │ │ ├── stex.html
│ │ │ └── stex.stex
│ │ ├── gifs/
│ │ │ ├── Makefile
│ │ │ └── Rightarrow.tex
│ │ ├── inputs/
│ │ │ ├── assign-prep.stex
│ │ │ ├── assignment.bst
│ │ │ ├── assignment.cls
│ │ │ ├── assignment.hcls
│ │ │ ├── exam.cls
│ │ │ ├── fullpage.sty
│ │ │ ├── grammar.hsty
│ │ │ ├── grammar.sty
│ │ │ ├── html-prep.tex
│ │ │ ├── monograph.cls
│ │ │ ├── monograph.hcls
│ │ │ ├── quiz.cls
│ │ │ ├── scheme.hsty
│ │ │ ├── scheme.sty
│ │ │ ├── website.cls
│ │ │ └── website.hcls
│ │ ├── math/
│ │ │ ├── Makefile
│ │ │ └── mathmacros
│ │ ├── sbin/
│ │ │ └── install
│ │ └── src/
│ │ ├── dsm.ss
│ │ ├── fixbibtex.ss
│ │ ├── html-prep.ss
│ │ ├── preplib.ss
│ │ ├── scheme-prep.ss
│ │ └── script.ss
│ ├── unicode/
│ │ ├── Makefile
│ │ ├── ReadMe
│ │ ├── UNIDATA/
│ │ │ ├── CaseFolding.txt
│ │ │ ├── CompositionExclusions.txt
│ │ │ ├── DerivedCoreProperties.txt
│ │ │ ├── GraphemeBreakProperty.txt
│ │ │ ├── GraphemeBreakTest.txt
│ │ │ ├── NormalizationTest.txt
│ │ │ ├── PropList.txt
│ │ │ ├── SpecialCasing.txt
│ │ │ ├── UnicodeData.txt
│ │ │ ├── WordBreakProperty.txt
│ │ │ └── emoji-data.txt
│ │ ├── extract-char-cases.ss
│ │ ├── extract-common.ss
│ │ ├── extract-info.ss
│ │ ├── get-UNIDATA
│ │ ├── unicode-char-cases.ss
│ │ ├── unicode-charinfo.ss
│ │ └── unicode-data.ss
│ ├── wininstall/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── a6nt.wxs
│ │ ├── bundle.wxs
│ │ ├── candle.bat
│ │ ├── examples.wxs
│ │ ├── i3nt.wxs
│ │ ├── license.rtf
│ │ ├── light.bat
│ │ ├── product.wxs
│ │ ├── ta6nt.wxs
│ │ ├── ti3nt.wxs
│ │ └── ui.wxs
│ └── zlib/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── ChangeLog
│ ├── FAQ
│ ├── INDEX
│ ├── LICENSE
│ ├── Makefile
│ ├── Makefile.in
│ ├── README
│ ├── adler32.c
│ ├── amiga/
│ │ ├── Makefile.pup
│ │ └── Makefile.sas
│ ├── compress.c
│ ├── configure
│ ├── contrib/
│ │ ├── README.contrib
│ │ ├── ada/
│ │ │ ├── buffer_demo.adb
│ │ │ ├── mtest.adb
│ │ │ ├── read.adb
│ │ │ ├── readme.txt
│ │ │ ├── test.adb
│ │ │ ├── zlib-streams.adb
│ │ │ ├── zlib-streams.ads
│ │ │ ├── zlib-thin.adb
│ │ │ ├── zlib-thin.ads
│ │ │ ├── zlib.adb
│ │ │ ├── zlib.ads
│ │ │ └── zlib.gpr
│ │ ├── blast/
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── blast.c
│ │ │ ├── blast.h
│ │ │ ├── test.pk
│ │ │ └── test.txt
│ │ ├── delphi/
│ │ │ ├── ZLib.pas
│ │ │ ├── ZLibConst.pas
│ │ │ ├── readme.txt
│ │ │ └── zlibd32.mak
│ │ ├── dotzlib/
│ │ │ ├── DotZLib/
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ ├── ChecksumImpl.cs
│ │ │ │ ├── CircularBuffer.cs
│ │ │ │ ├── CodecBase.cs
│ │ │ │ ├── Deflater.cs
│ │ │ │ ├── DotZLib.cs
│ │ │ │ ├── DotZLib.csproj
│ │ │ │ ├── GZipStream.cs
│ │ │ │ ├── Inflater.cs
│ │ │ │ └── UnitTests.cs
│ │ │ ├── DotZLib.build
│ │ │ ├── DotZLib.chm
│ │ │ ├── DotZLib.sln
│ │ │ ├── LICENSE_1_0.txt
│ │ │ └── readme.txt
│ │ ├── gcc_gvmat64/
│ │ │ └── gvmat64.S
│ │ ├── infback9/
│ │ │ ├── README
│ │ │ ├── infback9.c
│ │ │ ├── infback9.h
│ │ │ ├── inffix9.h
│ │ │ ├── inflate9.h
│ │ │ ├── inftree9.c
│ │ │ └── inftree9.h
│ │ ├── iostream/
│ │ │ ├── test.cpp
│ │ │ ├── zfstream.cpp
│ │ │ └── zfstream.h
│ │ ├── iostream2/
│ │ │ ├── zstream.h
│ │ │ └── zstream_test.cpp
│ │ ├── iostream3/
│ │ │ ├── README
│ │ │ ├── TODO
│ │ │ ├── test.cc
│ │ │ ├── zfstream.cc
│ │ │ └── zfstream.h
│ │ ├── minizip/
│ │ │ ├── Makefile
│ │ │ ├── Makefile.am
│ │ │ ├── MiniZip64_Changes.txt
│ │ │ ├── MiniZip64_info.txt
│ │ │ ├── configure.ac
│ │ │ ├── crypt.h
│ │ │ ├── ioapi.c
│ │ │ ├── ioapi.h
│ │ │ ├── iowin32.c
│ │ │ ├── iowin32.h
│ │ │ ├── make_vms.com
│ │ │ ├── miniunz.c
│ │ │ ├── miniunzip.1
│ │ │ ├── minizip.1
│ │ │ ├── minizip.c
│ │ │ ├── minizip.pc.in
│ │ │ ├── mztools.c
│ │ │ ├── mztools.h
│ │ │ ├── unzip.c
│ │ │ ├── unzip.h
│ │ │ ├── zip.c
│ │ │ └── zip.h
│ │ ├── nuget/
│ │ │ ├── nuget.csproj
│ │ │ └── nuget.sln
│ │ ├── pascal/
│ │ │ ├── example.pas
│ │ │ ├── readme.txt
│ │ │ ├── zlibd32.mak
│ │ │ └── zlibpas.pas
│ │ ├── puff/
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── puff.c
│ │ │ ├── puff.h
│ │ │ ├── pufftest.c
│ │ │ └── zeros.raw
│ │ ├── testzlib/
│ │ │ ├── testzlib.c
│ │ │ └── testzlib.txt
│ │ ├── untgz/
│ │ │ ├── Makefile
│ │ │ ├── Makefile.msc
│ │ │ └── untgz.c
│ │ └── vstudio/
│ │ ├── readme.txt
│ │ ├── vc10/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── miniunz.vcxproj.filters
│ │ │ ├── minizip.vcxproj
│ │ │ ├── minizip.vcxproj.filters
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlib.vcxproj.filters
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── testzlibdll.vcxproj.filters
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibstat.vcxproj.filters
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ ├── zlibvc.vcxproj
│ │ │ └── zlibvc.vcxproj.filters
│ │ ├── vc11/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ ├── vc12/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ ├── vc14/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ ├── vc17/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ └── vc9/
│ │ ├── miniunz.vcproj
│ │ ├── minizip.vcproj
│ │ ├── testzlib.vcproj
│ │ ├── testzlibdll.vcproj
│ │ ├── zlib.rc
│ │ ├── zlibstat.vcproj
│ │ ├── zlibvc.def
│ │ ├── zlibvc.sln
│ │ └── zlibvc.vcproj
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── doc/
│ │ ├── algorithm.txt
│ │ ├── rfc1950.txt
│ │ ├── rfc1951.txt
│ │ ├── rfc1952.txt
│ │ └── txtvsbin.txt
│ ├── examples/
│ │ ├── README.examples
│ │ ├── enough.c
│ │ ├── fitblk.c
│ │ ├── gun.c
│ │ ├── gzappend.c
│ │ ├── gzjoin.c
│ │ ├── gzlog.c
│ │ ├── gzlog.h
│ │ ├── gznorm.c
│ │ ├── zlib_how.html
│ │ ├── zpipe.c
│ │ ├── zran.c
│ │ └── zran.h
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── make_vms.com
│ ├── msdos/
│ │ ├── Makefile.bor
│ │ ├── Makefile.dj2
│ │ ├── Makefile.emx
│ │ ├── Makefile.msc
│ │ └── Makefile.tc
│ ├── nintendods/
│ │ ├── Makefile
│ │ └── README
│ ├── old/
│ │ ├── Makefile.emx
│ │ ├── Makefile.riscos
│ │ ├── README
│ │ ├── descrip.mms
│ │ ├── os2/
│ │ │ ├── Makefile.os2
│ │ │ └── zlib.def
│ │ └── visual-basic.txt
│ ├── os400/
│ │ ├── README400
│ │ ├── bndsrc
│ │ ├── make.sh
│ │ └── zlib.inc
│ ├── qnx/
│ │ └── package.qpg
│ ├── test/
│ │ ├── example.c
│ │ ├── infcover.c
│ │ └── minigzip.c
│ ├── treebuild.xml
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── watcom/
│ │ ├── watcom_f.mak
│ │ └── watcom_l.mak
│ ├── win32/
│ │ ├── DLL_FAQ.txt
│ │ ├── Makefile.bor
│ │ ├── Makefile.gcc
│ │ ├── Makefile.msc
│ │ ├── README-WIN32.txt
│ │ ├── VisualC.txt
│ │ ├── zlib.def
│ │ └── zlib1.rc
│ ├── zconf.h
│ ├── zconf.h.cmakein
│ ├── zconf.h.in
│ ├── zlib.3
│ ├── zlib.h
│ ├── zlib.pc.cmakein
│ ├── zlib.pc.in
│ ├── zutil.c
│ └── zutil.h
├── LICENSE-APACHE.txt
├── LICENSE-GPL.txt
├── LICENSE-LGPL.txt
├── LICENSE-MIT.txt
├── LICENSE-libscheme.txt
├── LICENSE.txt
├── Makefile.in
├── Makefile.nt
├── README.txt
├── ac/
│ ├── .gitignore
│ ├── Makefile
│ ├── add_c_flags.m4
│ ├── asan.m4
│ ├── asan_arg.m4
│ ├── boothelp.m4
│ ├── boothelp_arg.m4
│ ├── crossany.m4
│ ├── crossany_arg.m4
│ ├── curses.m4
│ ├── curses_arg.m4
│ ├── filter_add.sh
│ ├── iconv.m4
│ ├── iconv_arg.m4
│ ├── instlib.m4
│ ├── instlib_arg.m4
│ ├── is_gcc.m4
│ ├── libffi.m4
│ ├── make-configure
│ ├── natipkg.m4
│ ├── natipkg_arg.m4
│ ├── natipkg_show.m4
│ ├── path.m4
│ ├── path_arg.m4
│ ├── path_pkgscope.m4
│ ├── path_show.m4
│ ├── pkgs.m4
│ ├── pkgs_arg.m4
│ ├── pkgs_show.m4
│ ├── portable_arg.m4
│ ├── portable_show.m4
│ ├── postlink.m4
│ ├── postlink_arg.m4
│ ├── rktio_keep.m4
│ ├── sdk.m4
│ ├── sdk_arg.m4
│ ├── sdk_ios.m4
│ ├── sdk_mac.m4
│ ├── sdk_show.m4
│ ├── strip.m4
│ ├── strip_arg.m4
│ ├── strip_show.m4
│ ├── ubsan.m4
│ ├── ubsan_arg.m4
│ ├── valid_sizeof.m4
│ ├── vm.m4
│ └── vm_arg.m4
├── bc/
│ ├── Makefile.in
│ ├── README.txt
│ ├── build.zuo
│ ├── buildmain.zuo
│ ├── cmdline.inc
│ ├── configure
│ ├── configure.ac
│ ├── dynsrc/
│ │ ├── .gitignore
│ │ ├── dynexmpl.c
│ │ ├── fixup.c
│ │ ├── init.cc
│ │ ├── mkbordyn.bat
│ │ ├── mkmzdyn.bat
│ │ ├── mzdyn.c
│ │ ├── mzdyn.def
│ │ └── mzdynb.def
│ ├── foreign/
│ │ ├── README
│ │ ├── buildffi.zuo
│ │ ├── foreign.c
│ │ ├── foreign.rktc
│ │ ├── libffi/
│ │ │ ├── ChangeLog
│ │ │ ├── ChangeLog.old
│ │ │ ├── LICENSE
│ │ │ ├── LICENSE-BUILDTOOLS
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── README.md
│ │ │ ├── acinclude.m4
│ │ │ ├── aclocal.m4
│ │ │ ├── compile
│ │ │ ├── config.guess
│ │ │ ├── config.sub
│ │ │ ├── configure
│ │ │ ├── configure.ac
│ │ │ ├── configure.host
│ │ │ ├── depcomp
│ │ │ ├── doc/
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── Makefile.in
│ │ │ │ ├── libffi.info
│ │ │ │ ├── libffi.texi
│ │ │ │ ├── mdate-sh
│ │ │ │ ├── stamp-vti
│ │ │ │ ├── texinfo.tex
│ │ │ │ └── version.texi
│ │ │ ├── fficonfig.h.in
│ │ │ ├── generate-darwin-source-and-headers.py
│ │ │ ├── include/
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── Makefile.in
│ │ │ │ ├── ffi.h.in
│ │ │ │ ├── ffi_cfi.h
│ │ │ │ ├── ffi_common.h
│ │ │ │ └── tramp.h
│ │ │ ├── install-sh
│ │ │ ├── libffi.map.in
│ │ │ ├── libffi.pc.in
│ │ │ ├── libffi.xcodeproj/
│ │ │ │ └── project.pbxproj
│ │ │ ├── libtool-ldflags
│ │ │ ├── libtool-version
│ │ │ ├── ltmain.sh
│ │ │ ├── m4/
│ │ │ │ ├── asmcfi.m4
│ │ │ │ ├── ax_cc_maxopt.m4
│ │ │ │ ├── ax_cflags_warn_all.m4
│ │ │ │ ├── ax_check_compile_flag.m4
│ │ │ │ ├── ax_compiler_vendor.m4
│ │ │ │ ├── ax_configure_args.m4
│ │ │ │ ├── ax_enable_builddir.m4
│ │ │ │ ├── ax_gcc_archflag.m4
│ │ │ │ ├── ax_gcc_x86_cpuid.m4
│ │ │ │ ├── ax_prepend_flag.m4
│ │ │ │ ├── ax_require_defined.m4
│ │ │ │ ├── libtool.m4
│ │ │ │ ├── ltoptions.m4
│ │ │ │ ├── ltsugar.m4
│ │ │ │ ├── ltversion.m4
│ │ │ │ └── lt~obsolete.m4
│ │ │ ├── make_sunver.pl
│ │ │ ├── man/
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── Makefile.in
│ │ │ │ ├── ffi.3
│ │ │ │ ├── ffi_call.3
│ │ │ │ ├── ffi_prep_cif.3
│ │ │ │ └── ffi_prep_cif_var.3
│ │ │ ├── missing
│ │ │ ├── msvc_build/
│ │ │ │ └── aarch64/
│ │ │ │ ├── Ffi_staticLib.sln
│ │ │ │ ├── Ffi_staticLib.vcxproj
│ │ │ │ ├── Ffi_staticLib.vcxproj.filters
│ │ │ │ ├── Ffi_staticLib.vcxproj.user
│ │ │ │ └── aarch64_include/
│ │ │ │ ├── ffi.h
│ │ │ │ └── fficonfig.h
│ │ │ ├── msvcc.sh
│ │ │ ├── src/
│ │ │ │ ├── aarch64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ └── win64_armasm.S
│ │ │ │ ├── alpha/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ └── osf.S
│ │ │ │ ├── arc/
│ │ │ │ │ ├── arcompact.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── arm/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ └── sysv_msvc_arm32.S
│ │ │ │ ├── avr32/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── bfin/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── closures.c
│ │ │ │ ├── cris/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── csky/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── debug.c
│ │ │ │ ├── dlmalloc.c
│ │ │ │ ├── frv/
│ │ │ │ │ ├── eabi.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── ia64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── ia64_flags.h
│ │ │ │ │ └── unix.S
│ │ │ │ ├── java_raw_api.c
│ │ │ │ ├── kvx/
│ │ │ │ │ ├── asm.h
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── loongarch64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── m32r/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── m68k/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── m88k/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── obsd.S
│ │ │ │ ├── metag/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── microblaze/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── mips/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── n32.S
│ │ │ │ │ └── o32.S
│ │ │ │ ├── moxie/
│ │ │ │ │ ├── eabi.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── nios2/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── or1k/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── pa/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── hpux32.S
│ │ │ │ │ ├── hpux64.S
│ │ │ │ │ └── linux.S
│ │ │ │ ├── powerpc/
│ │ │ │ │ ├── aix.S
│ │ │ │ │ ├── aix_closure.S
│ │ │ │ │ ├── asm.h
│ │ │ │ │ ├── darwin.S
│ │ │ │ │ ├── darwin_closure.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffi_darwin.c
│ │ │ │ │ ├── ffi_linux64.c
│ │ │ │ │ ├── ffi_powerpc.h
│ │ │ │ │ ├── ffi_sysv.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── linux64.S
│ │ │ │ │ ├── linux64_closure.S
│ │ │ │ │ ├── ppc_closure.S
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ └── t-aix
│ │ │ │ ├── prep_cif.c
│ │ │ │ ├── raw_api.c
│ │ │ │ ├── riscv/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── s390/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── sh/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── sh64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── sparc/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffi64.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── v8.S
│ │ │ │ │ └── v9.S
│ │ │ │ ├── tile/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── tile.S
│ │ │ │ ├── tramp.c
│ │ │ │ ├── types.c
│ │ │ │ ├── vax/
│ │ │ │ │ ├── elfbsd.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── wasm32/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── x86/
│ │ │ │ │ ├── asmnames.h
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffi64.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── ffiw64.c
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── internal64.h
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ ├── sysv_intel.S
│ │ │ │ │ ├── unix64.S
│ │ │ │ │ ├── win64.S
│ │ │ │ │ └── win64_intel.S
│ │ │ │ └── xtensa/
│ │ │ │ ├── ffi.c
│ │ │ │ ├── ffitarget.h
│ │ │ │ └── sysv.S
│ │ │ └── testsuite/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── config/
│ │ │ │ └── default.exp
│ │ │ ├── emscripten/
│ │ │ │ ├── build-tests.sh
│ │ │ │ ├── build.sh
│ │ │ │ ├── conftest.py
│ │ │ │ ├── node-tests.sh
│ │ │ │ ├── test.html
│ │ │ │ └── test_libffi.py
│ │ │ ├── lib/
│ │ │ │ ├── libffi.exp
│ │ │ │ ├── target-libpath.exp
│ │ │ │ └── wrapper.exp
│ │ │ ├── libffi.bhaible/
│ │ │ │ ├── Makefile
│ │ │ │ ├── README
│ │ │ │ ├── alignof.h
│ │ │ │ ├── bhaible.exp
│ │ │ │ ├── test-call.c
│ │ │ │ ├── test-callback.c
│ │ │ │ └── testcases.c
│ │ │ ├── libffi.call/
│ │ │ │ ├── align_mixed.c
│ │ │ │ ├── align_stdcall.c
│ │ │ │ ├── bpo_38748.c
│ │ │ │ ├── call.exp
│ │ │ │ ├── callback.c
│ │ │ │ ├── callback2.c
│ │ │ │ ├── callback3.c
│ │ │ │ ├── callback4.c
│ │ │ │ ├── err_bad_typedef.c
│ │ │ │ ├── ffitest.h
│ │ │ │ ├── float.c
│ │ │ │ ├── float1.c
│ │ │ │ ├── float2.c
│ │ │ │ ├── float3.c
│ │ │ │ ├── float4.c
│ │ │ │ ├── float_va.c
│ │ │ │ ├── many.c
│ │ │ │ ├── many2.c
│ │ │ │ ├── many_double.c
│ │ │ │ ├── many_mixed.c
│ │ │ │ ├── negint.c
│ │ │ │ ├── offsets.c
│ │ │ │ ├── pr1172638.c
│ │ │ │ ├── promotion.c
│ │ │ │ ├── pyobjc_tc.c
│ │ │ │ ├── return_dbl.c
│ │ │ │ ├── return_dbl1.c
│ │ │ │ ├── return_dbl2.c
│ │ │ │ ├── return_fl.c
│ │ │ │ ├── return_fl1.c
│ │ │ │ ├── return_fl2.c
│ │ │ │ ├── return_fl3.c
│ │ │ │ ├── return_ldl.c
│ │ │ │ ├── return_ll.c
│ │ │ │ ├── return_ll1.c
│ │ │ │ ├── return_sc.c
│ │ │ │ ├── return_sl.c
│ │ │ │ ├── return_uc.c
│ │ │ │ ├── return_ul.c
│ │ │ │ ├── s55.c
│ │ │ │ ├── strlen.c
│ │ │ │ ├── strlen2.c
│ │ │ │ ├── strlen3.c
│ │ │ │ ├── strlen4.c
│ │ │ │ ├── struct1.c
│ │ │ │ ├── struct10.c
│ │ │ │ ├── struct2.c
│ │ │ │ ├── struct3.c
│ │ │ │ ├── struct4.c
│ │ │ │ ├── struct5.c
│ │ │ │ ├── struct6.c
│ │ │ │ ├── struct7.c
│ │ │ │ ├── struct8.c
│ │ │ │ ├── struct9.c
│ │ │ │ ├── struct_by_value_2.c
│ │ │ │ ├── struct_by_value_3.c
│ │ │ │ ├── struct_by_value_3f.c
│ │ │ │ ├── struct_by_value_4.c
│ │ │ │ ├── struct_by_value_4f.c
│ │ │ │ ├── struct_by_value_big.c
│ │ │ │ ├── struct_by_value_small.c
│ │ │ │ ├── struct_return_2H.c
│ │ │ │ ├── struct_return_8H.c
│ │ │ │ ├── uninitialized.c
│ │ │ │ ├── va_1.c
│ │ │ │ ├── va_2.c
│ │ │ │ ├── va_3.c
│ │ │ │ ├── va_struct1.c
│ │ │ │ ├── va_struct2.c
│ │ │ │ └── va_struct3.c
│ │ │ ├── libffi.closures/
│ │ │ │ ├── closure.exp
│ │ │ │ ├── closure_fn0.c
│ │ │ │ ├── closure_fn1.c
│ │ │ │ ├── closure_fn2.c
│ │ │ │ ├── closure_fn3.c
│ │ │ │ ├── closure_fn4.c
│ │ │ │ ├── closure_fn5.c
│ │ │ │ ├── closure_fn6.c
│ │ │ │ ├── closure_loc_fn0.c
│ │ │ │ ├── closure_simple.c
│ │ │ │ ├── cls_12byte.c
│ │ │ │ ├── cls_16byte.c
│ │ │ │ ├── cls_18byte.c
│ │ │ │ ├── cls_19byte.c
│ │ │ │ ├── cls_1_1byte.c
│ │ │ │ ├── cls_20byte.c
│ │ │ │ ├── cls_20byte1.c
│ │ │ │ ├── cls_24byte.c
│ │ │ │ ├── cls_2byte.c
│ │ │ │ ├── cls_3_1byte.c
│ │ │ │ ├── cls_3byte1.c
│ │ │ │ ├── cls_3byte2.c
│ │ │ │ ├── cls_3float.c
│ │ │ │ ├── cls_4_1byte.c
│ │ │ │ ├── cls_4byte.c
│ │ │ │ ├── cls_5_1_byte.c
│ │ │ │ ├── cls_5byte.c
│ │ │ │ ├── cls_64byte.c
│ │ │ │ ├── cls_6_1_byte.c
│ │ │ │ ├── cls_6byte.c
│ │ │ │ ├── cls_7_1_byte.c
│ │ │ │ ├── cls_7byte.c
│ │ │ │ ├── cls_8byte.c
│ │ │ │ ├── cls_9byte1.c
│ │ │ │ ├── cls_9byte2.c
│ │ │ │ ├── cls_align_double.c
│ │ │ │ ├── cls_align_float.c
│ │ │ │ ├── cls_align_longdouble.c
│ │ │ │ ├── cls_align_longdouble_split.c
│ │ │ │ ├── cls_align_longdouble_split2.c
│ │ │ │ ├── cls_align_pointer.c
│ │ │ │ ├── cls_align_sint16.c
│ │ │ │ ├── cls_align_sint32.c
│ │ │ │ ├── cls_align_sint64.c
│ │ │ │ ├── cls_align_uint16.c
│ │ │ │ ├── cls_align_uint32.c
│ │ │ │ ├── cls_align_uint64.c
│ │ │ │ ├── cls_dbls_struct.c
│ │ │ │ ├── cls_double.c
│ │ │ │ ├── cls_double_va.c
│ │ │ │ ├── cls_float.c
│ │ │ │ ├── cls_longdouble.c
│ │ │ │ ├── cls_longdouble_va.c
│ │ │ │ ├── cls_many_mixed_args.c
│ │ │ │ ├── cls_many_mixed_float_double.c
│ │ │ │ ├── cls_multi_schar.c
│ │ │ │ ├── cls_multi_sshort.c
│ │ │ │ ├── cls_multi_sshortchar.c
│ │ │ │ ├── cls_multi_uchar.c
│ │ │ │ ├── cls_multi_ushort.c
│ │ │ │ ├── cls_multi_ushortchar.c
│ │ │ │ ├── cls_pointer.c
│ │ │ │ ├── cls_pointer_stack.c
│ │ │ │ ├── cls_schar.c
│ │ │ │ ├── cls_sint.c
│ │ │ │ ├── cls_sshort.c
│ │ │ │ ├── cls_struct_va1.c
│ │ │ │ ├── cls_uchar.c
│ │ │ │ ├── cls_uint.c
│ │ │ │ ├── cls_uint_va.c
│ │ │ │ ├── cls_ulong_va.c
│ │ │ │ ├── cls_ulonglong.c
│ │ │ │ ├── cls_ushort.c
│ │ │ │ ├── err_bad_abi.c
│ │ │ │ ├── ffitest.h
│ │ │ │ ├── huge_struct.c
│ │ │ │ ├── nested_struct.c
│ │ │ │ ├── nested_struct1.c
│ │ │ │ ├── nested_struct10.c
│ │ │ │ ├── nested_struct11.c
│ │ │ │ ├── nested_struct12.c
│ │ │ │ ├── nested_struct13.c
│ │ │ │ ├── nested_struct2.c
│ │ │ │ ├── nested_struct3.c
│ │ │ │ ├── nested_struct4.c
│ │ │ │ ├── nested_struct5.c
│ │ │ │ ├── nested_struct6.c
│ │ │ │ ├── nested_struct7.c
│ │ │ │ ├── nested_struct8.c
│ │ │ │ ├── nested_struct9.c
│ │ │ │ ├── problem1.c
│ │ │ │ ├── single_entry_structs1.c
│ │ │ │ ├── single_entry_structs2.c
│ │ │ │ ├── single_entry_structs3.c
│ │ │ │ ├── stret_large.c
│ │ │ │ ├── stret_large2.c
│ │ │ │ ├── stret_medium.c
│ │ │ │ ├── stret_medium2.c
│ │ │ │ ├── testclosure.c
│ │ │ │ ├── unwindtest.cc
│ │ │ │ └── unwindtest_ffi_call.cc
│ │ │ ├── libffi.complex/
│ │ │ │ ├── cls_align_complex.inc
│ │ │ │ ├── cls_align_complex_double.c
│ │ │ │ ├── cls_align_complex_float.c
│ │ │ │ ├── cls_align_complex_longdouble.c
│ │ │ │ ├── cls_complex.inc
│ │ │ │ ├── cls_complex_double.c
│ │ │ │ ├── cls_complex_float.c
│ │ │ │ ├── cls_complex_longdouble.c
│ │ │ │ ├── cls_complex_struct.inc
│ │ │ │ ├── cls_complex_struct_double.c
│ │ │ │ ├── cls_complex_struct_float.c
│ │ │ │ ├── cls_complex_struct_longdouble.c
│ │ │ │ ├── cls_complex_va.inc
│ │ │ │ ├── cls_complex_va_double.c
│ │ │ │ ├── cls_complex_va_float.c
│ │ │ │ ├── cls_complex_va_longdouble.c
│ │ │ │ ├── complex.exp
│ │ │ │ ├── complex.inc
│ │ │ │ ├── complex_defs_double.inc
│ │ │ │ ├── complex_defs_float.inc
│ │ │ │ ├── complex_defs_longdouble.inc
│ │ │ │ ├── complex_double.c
│ │ │ │ ├── complex_float.c
│ │ │ │ ├── complex_int.c
│ │ │ │ ├── complex_longdouble.c
│ │ │ │ ├── ffitest.h
│ │ │ │ ├── many_complex.inc
│ │ │ │ ├── many_complex_double.c
│ │ │ │ ├── many_complex_float.c
│ │ │ │ ├── many_complex_longdouble.c
│ │ │ │ ├── return_complex.inc
│ │ │ │ ├── return_complex1.inc
│ │ │ │ ├── return_complex1_double.c
│ │ │ │ ├── return_complex1_float.c
│ │ │ │ ├── return_complex1_longdouble.c
│ │ │ │ ├── return_complex2.inc
│ │ │ │ ├── return_complex2_double.c
│ │ │ │ ├── return_complex2_float.c
│ │ │ │ ├── return_complex2_longdouble.c
│ │ │ │ ├── return_complex_double.c
│ │ │ │ ├── return_complex_float.c
│ │ │ │ └── return_complex_longdouble.c
│ │ │ └── libffi.go/
│ │ │ ├── aa-direct.c
│ │ │ ├── closure1.c
│ │ │ ├── ffitest.h
│ │ │ ├── go.exp
│ │ │ └── static-chain.h
│ │ └── rktc-utils.rkt
│ ├── gc2/
│ │ ├── README
│ │ ├── alloc_cache.c
│ │ ├── backtrace.c
│ │ ├── block_cache.c
│ │ ├── check-sdep.rkt
│ │ ├── commongc_internal.h
│ │ ├── fnls.c
│ │ ├── gc.h
│ │ ├── gc2.c
│ │ ├── gc2.h
│ │ ├── gc2_dump.h
│ │ ├── gc2_obj.h
│ │ ├── gclist.h
│ │ ├── immobile_boxes.c
│ │ ├── mem_account.c
│ │ ├── msgprint.c
│ │ ├── my_qsort.c
│ │ ├── newgc.c
│ │ ├── newgc.h
│ │ ├── page_range.c
│ │ ├── places_gc.c
│ │ ├── platforms.h
│ │ ├── precomp.c
│ │ ├── rlimit_heapsize.c
│ │ ├── roots.c
│ │ ├── sighand.c
│ │ ├── stack_comp.c
│ │ ├── testing.c
│ │ ├── var_stack.c
│ │ ├── vm.c
│ │ ├── vm_memalign.c
│ │ ├── vm_mmap.c
│ │ ├── vm_osk.c
│ │ ├── vm_osx.c
│ │ ├── vm_win.c
│ │ ├── weak.c
│ │ └── xform-mod.rkt
│ ├── gracket/
│ │ ├── README
│ │ └── grmain.c
│ ├── include/
│ │ ├── cgc2.h
│ │ ├── escheme.h
│ │ ├── ext.exp
│ │ ├── gmzwin.def
│ │ ├── mzscheme.exp
│ │ ├── mzscheme3m.exp
│ │ ├── mzwin.def
│ │ ├── mzwin3m.def
│ │ ├── racket.exp
│ │ ├── racket3m.exp
│ │ ├── scheme.h
│ │ └── schthread.h
│ ├── main.c
│ ├── mk-gdbinit.rkt
│ ├── mkincludes.rkt
│ ├── mksystem.rkt
│ ├── mzconfig.h.in
│ ├── sconfig.h
│ ├── sgc/
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── autostat.inc
│ │ ├── checkreg
│ │ ├── collect.inc
│ │ ├── gc.h
│ │ ├── sgc.c
│ │ ├── sgc.h
│ │ ├── sgcdiff
│ │ └── test.c
│ ├── src/
│ │ ├── .gitignore
│ │ ├── bgnfloat.inc
│ │ ├── bignum.c
│ │ ├── bool.c
│ │ ├── char.c
│ │ ├── cify-check.rkt
│ │ ├── cify-startup.rkt
│ │ ├── codetab.inc
│ │ ├── compenv.c
│ │ ├── compile-startup.rkt
│ │ ├── compile.c
│ │ ├── complex.c
│ │ ├── dlcompat.inc
│ │ ├── dynext.c
│ │ ├── dynext.inc
│ │ ├── env.c
│ │ ├── error.c
│ │ ├── eval.c
│ │ ├── file.c
│ │ ├── fun.c
│ │ ├── future.c
│ │ ├── future.h
│ │ ├── gen-jit-ts.rkt
│ │ ├── gmp/
│ │ │ ├── README
│ │ │ ├── gmp-impl.h
│ │ │ ├── gmp-mparam.h
│ │ │ ├── gmp.c
│ │ │ ├── gmp.h
│ │ │ ├── gmp_alpha_gcc.s
│ │ │ ├── gmp_arm_gcc.S
│ │ │ └── gmplonglong.h
│ │ ├── hamt_subset.inc
│ │ ├── hash.c
│ │ ├── help-startup.rkt
│ │ ├── jit.c
│ │ ├── jit.h
│ │ ├── jit_ts.c
│ │ ├── jit_ts_def.c
│ │ ├── jit_ts_future_glue.c
│ │ ├── jit_ts_protos.h
│ │ ├── jit_ts_runtime_glue.c
│ │ ├── jitalloc.c
│ │ ├── jitarith.c
│ │ ├── jitcall.c
│ │ ├── jitcommon.c
│ │ ├── jitfpu.h
│ │ ├── jitinline.c
│ │ ├── jitprep.c
│ │ ├── jitstack.c
│ │ ├── jitstate.c
│ │ ├── letrec_check.c
│ │ ├── lightning/
│ │ │ ├── README
│ │ │ ├── arm/
│ │ │ │ ├── asm-common.h
│ │ │ │ ├── asm.h
│ │ │ │ ├── core-common.h
│ │ │ │ ├── core.h
│ │ │ │ ├── fp-common.h
│ │ │ │ ├── fp-swf.h
│ │ │ │ ├── fp-vfp.h
│ │ │ │ ├── fp.h
│ │ │ │ ├── funcs-common.h
│ │ │ │ └── funcs.h
│ │ │ ├── i386/
│ │ │ │ ├── asm-common.h
│ │ │ │ ├── asm.h
│ │ │ │ ├── core-common.h
│ │ │ │ ├── core.h
│ │ │ │ ├── fp-common.h
│ │ │ │ ├── fp-extfpu.h
│ │ │ │ ├── fp-sse.h
│ │ │ │ ├── fp.h
│ │ │ │ ├── funcs-common.h
│ │ │ │ └── funcs.h
│ │ │ ├── lightning.h
│ │ │ └── ppc/
│ │ │ ├── asm-common.h
│ │ │ ├── asm.h
│ │ │ ├── core-common.h
│ │ │ ├── core.h
│ │ │ ├── fp-common.h
│ │ │ ├── fp.h
│ │ │ ├── funcs-common.h
│ │ │ └── funcs.h
│ │ ├── linklet.c
│ │ ├── list.c
│ │ ├── longdouble/
│ │ │ ├── longdouble.c
│ │ │ └── longdouble.h
│ │ ├── mac_roman.inc
│ │ ├── macdnr.inc
│ │ ├── makeexn
│ │ ├── makex.rkt
│ │ ├── marshal.c
│ │ ├── mk-uchar.rkt
│ │ ├── mkmark.rkt
│ │ ├── mzclpf_decl.inc
│ │ ├── mzclpf_post.inc
│ │ ├── mzclpf_pre.inc
│ │ ├── mzeqchk.inc
│ │ ├── mzhashchk.inc
│ │ ├── mzmark_compenv.inc
│ │ ├── mzmark_compile.inc
│ │ ├── mzmark_env.inc
│ │ ├── mzmark_eval.inc
│ │ ├── mzmark_fun.inc
│ │ ├── mzmark_future.inc
│ │ ├── mzmark_hash.inc
│ │ ├── mzmark_jit.inc
│ │ ├── mzmark_letrec_check.inc
│ │ ├── mzmark_linklet.inc
│ │ ├── mzmark_network.inc
│ │ ├── mzmark_optimize.inc
│ │ ├── mzmark_place.inc
│ │ ├── mzmark_port.inc
│ │ ├── mzmark_portfun.inc
│ │ ├── mzmark_print.inc
│ │ ├── mzmark_read.inc
│ │ ├── mzmark_regexp.inc
│ │ ├── mzmark_resolve.inc
│ │ ├── mzmark_salloc.inc
│ │ ├── mzmark_sema.inc
│ │ ├── mzmark_sfs.inc
│ │ ├── mzmark_string.inc
│ │ ├── mzmark_struct.inc
│ │ ├── mzmark_syntax.inc
│ │ ├── mzmark_thread.inc
│ │ ├── mzmark_type.inc
│ │ ├── mzmark_validate.inc
│ │ ├── mzmarksrc.c
│ │ ├── mzrt.c
│ │ ├── mzrt.h
│ │ ├── mzrt_cas.inc
│ │ ├── mzsj86.c
│ │ ├── mzsj86g.S
│ │ ├── mzsj86w64.S
│ │ ├── mzsjarm64.S
│ │ ├── mzstkchk.h
│ │ ├── network.c
│ │ ├── newrandom.inc
│ │ ├── numarith.c
│ │ ├── number.c
│ │ ├── numcomp.c
│ │ ├── nummacs.h
│ │ ├── numstr.c
│ │ ├── optimize.c
│ │ ├── pc_keys.inc
│ │ ├── place.c
│ │ ├── port.c
│ │ ├── portfun.c
│ │ ├── print.c
│ │ ├── print_vector.inc
│ │ ├── qqsrc.rkt
│ │ ├── random.inc
│ │ ├── ratfloat.inc
│ │ ├── rational.c
│ │ ├── read.c
│ │ ├── regexp.c
│ │ ├── renumber.rkt
│ │ ├── resolve.c
│ │ ├── salloc.c
│ │ ├── schapp.inc
│ │ ├── schcpt.h
│ │ ├── schemef.h
│ │ ├── schemex.h
│ │ ├── schemex.inc
│ │ ├── schemexm.h
│ │ ├── schexn.h
│ │ ├── schgc.h
│ │ ├── schgencat.h
│ │ ├── schmach.h
│ │ ├── schmap.inc
│ │ ├── schminc.h
│ │ ├── schnapp.inc
│ │ ├── schpriv.h
│ │ ├── schrktio.h
│ │ ├── schround.inc
│ │ ├── schrunst.h
│ │ ├── schrx.h
│ │ ├── schuchar.inc
│ │ ├── schustr.inc
│ │ ├── sema.c
│ │ ├── setjmpup.c
│ │ ├── sfs.c
│ │ ├── sort.c
│ │ ├── startup-glue.inc
│ │ ├── startup-select.rkt
│ │ ├── startup.c
│ │ ├── startup.inc
│ │ ├── string.c
│ │ ├── strops.inc
│ │ ├── struct.c
│ │ ├── stypes.h
│ │ ├── symbol.c
│ │ ├── syntax.c
│ │ ├── sysname
│ │ ├── systype.c
│ │ ├── systype.inc
│ │ ├── thread.c
│ │ ├── type.c
│ │ ├── unwind/
│ │ │ ├── libunwind.c
│ │ │ ├── libunwind.h
│ │ │ ├── libunwind_i.h
│ │ │ └── os-linux.h
│ │ ├── validate.c
│ │ └── vector.c
│ ├── uconfig.h
│ ├── utils/
│ │ ├── schiptr.h
│ │ └── splay.c
│ ├── win_tls.inc
│ └── winfig.bat
├── build.zuo
├── buildmain.zuo
├── cify/
│ ├── README.txt
│ ├── arg.rkt
│ ├── debug.rkt
│ ├── free-var.rkt
│ ├── function.rkt
│ ├── generate.rkt
│ ├── id.rkt
│ ├── inline.rkt
│ ├── lambda.rkt
│ ├── literal.rkt
│ ├── main.rkt
│ ├── match.rkt
│ ├── out.rkt
│ ├── prim-name.rkt
│ ├── primitive.rkt
│ ├── prune.rkt
│ ├── ref.rkt
│ ├── return.rkt
│ ├── runstack.rkt
│ ├── simple.rkt
│ ├── sort.rkt
│ ├── state.rkt
│ ├── struct.rkt
│ ├── top-name.rkt
│ ├── union-find.rkt
│ ├── union.rkt
│ ├── unique.rkt
│ └── vehicle.rkt
├── common/
│ ├── check.rkt
│ └── queue.rkt
├── configure
├── cs/
│ ├── .gitignore
│ ├── README.txt
│ ├── absify.rkt
│ ├── absify.ss
│ ├── c/
│ │ ├── Makefile.in
│ │ ├── README.txt
│ │ ├── add-terminator.rkt
│ │ ├── adjust-compress.rkt
│ │ ├── api.h
│ │ ├── boot.c
│ │ ├── boot.h
│ │ ├── build.zuo
│ │ ├── buildmain.zuo
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── convert-to-boot.ss
│ │ ├── cross-serve.ss
│ │ ├── cs_config.h.in
│ │ ├── embed-boot.rkt
│ │ ├── gen-system.rkt
│ │ ├── grmain.c
│ │ ├── main.c
│ │ ├── mk-cross-serve.ss
│ │ ├── path_replace.inc
│ │ ├── same-boot.ss
│ │ ├── scheme-version.zuo
│ │ ├── to-pbchunk.ss
│ │ ├── to-vfasl.ss
│ │ └── winfig.bat
│ ├── chezpart.sls
│ ├── compile-file.ss
│ ├── convert.rkt
│ ├── demo/
│ │ ├── chaperone.ss
│ │ ├── control.ss
│ │ ├── expander.ss
│ │ ├── foreign.ss
│ │ ├── hash.ss
│ │ ├── io.rkt
│ │ ├── io.ss
│ │ ├── linklet.rkt
│ │ ├── linklet.ss
│ │ ├── regexp.rkt
│ │ ├── regexp.rktl
│ │ ├── regexp.ss
│ │ ├── struct.ss
│ │ ├── thread.ss
│ │ └── will.ss
│ ├── expander/
│ │ └── env.ss
│ ├── expander.rkt
│ ├── expander.sls
│ ├── include.ss
│ ├── io/
│ │ └── terminal.ss
│ ├── io.sls
│ ├── known.rkt
│ ├── linklet/
│ │ ├── annotation.ss
│ │ ├── check.ss
│ │ ├── compress.ss
│ │ ├── config.ss
│ │ ├── cross-compile.ss
│ │ ├── performance.ss
│ │ ├── read.ss
│ │ ├── trace.ss
│ │ ├── version.ss
│ │ └── write.ss
│ ├── linklet.sls
│ ├── main/
│ │ ├── eval-all.ss
│ │ └── help.ss
│ ├── main.sps
│ ├── main.zuo
│ ├── place-register.ss
│ ├── primitive/
│ │ ├── extfl.ss
│ │ ├── flfxnum.ss
│ │ ├── foreign.ss
│ │ ├── futures.ss
│ │ ├── internal.ss
│ │ ├── kernel.ss
│ │ ├── linklet.ss
│ │ ├── network.ss
│ │ ├── paramz.ss
│ │ ├── place.ss
│ │ ├── terminal.ss
│ │ └── unsafe.ss
│ ├── regexp.sls
│ ├── rumble/
│ │ ├── arity.ss
│ │ ├── async-callback.ss
│ │ ├── begin0.ss
│ │ ├── boolean.ss
│ │ ├── box.ss
│ │ ├── bytes.ss
│ │ ├── char-range.ss
│ │ ├── char.ss
│ │ ├── check.ss
│ │ ├── constant.ss
│ │ ├── control.ss
│ │ ├── correlated.ss
│ │ ├── datum.ss
│ │ ├── engine.ss
│ │ ├── ephemeron.ss
│ │ ├── equal.ss
│ │ ├── errno-data.ss
│ │ ├── error-adjuster.ss
│ │ ├── error-rewrite.ss
│ │ ├── error.ss
│ │ ├── extfl.ss
│ │ ├── flvector.ss
│ │ ├── foreign.ss
│ │ ├── fsemaphore.ss
│ │ ├── future.ss
│ │ ├── graph.ss
│ │ ├── hamt-stencil.ss
│ │ ├── hamt-vector.ss
│ │ ├── hash-code.ss
│ │ ├── hash.ss
│ │ ├── immutable.ss
│ │ ├── impersonator.ss
│ │ ├── inline.ss
│ │ ├── interrupt.ss
│ │ ├── intmap.ss
│ │ ├── keyword.ss
│ │ ├── list.ss
│ │ ├── lock.ss
│ │ ├── memory.ss
│ │ ├── mpair.ss
│ │ ├── name.ss
│ │ ├── number.ss
│ │ ├── object-name.ss
│ │ ├── parameter.ss
│ │ ├── patricia.ss
│ │ ├── place.ss
│ │ ├── prefab.ss
│ │ ├── procedure.ss
│ │ ├── pthread.ss
│ │ ├── random.ss
│ │ ├── source.ss
│ │ ├── srcloc.ss
│ │ ├── string.ss
│ │ ├── struct.ss
│ │ ├── symbol.ss
│ │ ├── syntax-rule.ss
│ │ ├── system.ss
│ │ ├── thread-cell.ss
│ │ ├── thread-local.ss
│ │ ├── time.ss
│ │ ├── unsafe.ss
│ │ ├── value.ss
│ │ ├── variable.ss
│ │ ├── vector.ss
│ │ ├── version.ss
│ │ ├── virtual-register.ss
│ │ └── will-executor.ss
│ ├── rumble.sls
│ ├── schemified/
│ │ ├── expander.scm
│ │ ├── io.scm
│ │ ├── known.scm
│ │ ├── regexp.scm
│ │ ├── schemify.scm
│ │ └── thread.scm
│ ├── schemify.sls
│ ├── strip.ss
│ └── thread.sls
├── expander/
│ ├── .gitignore
│ ├── README.txt
│ ├── boot/
│ │ ├── core-primitive.rkt
│ │ ├── expobs-primitive.rkt
│ │ ├── handler.rkt
│ │ ├── kernel.rkt
│ │ ├── linklet-primitive.rkt
│ │ ├── load-handler.rkt
│ │ ├── main-primitive.rkt
│ │ ├── place-primitive.rkt
│ │ ├── read-primitive.rkt
│ │ ├── runtime-primitive.rkt
│ │ └── utils-primitive.rkt
│ ├── bootstrap-demo.rkt
│ ├── bootstrap-run.rkt
│ ├── common/
│ │ ├── contract.rkt
│ │ ├── fasl.rkt
│ │ ├── inline.rkt
│ │ ├── intern.rkt
│ │ ├── list-ish.rkt
│ │ ├── make-match.rkt
│ │ ├── memo.rkt
│ │ ├── module-path-intern.rkt
│ │ ├── module-path.rkt
│ │ ├── parameter-like.rkt
│ │ ├── parse-module-path.rkt
│ │ ├── performance.rkt
│ │ ├── phase+space.rkt
│ │ ├── phase.rkt
│ │ ├── prefab.rkt
│ │ ├── promise.rkt
│ │ ├── reflect-hash.rkt
│ │ ├── set.rkt
│ │ ├── small-hash.rkt
│ │ └── struct-star.rkt
│ ├── compile/
│ │ ├── built-in-symbol.rkt
│ │ ├── compiled-in-memory.rkt
│ │ ├── context.rkt
│ │ ├── correlate.rkt
│ │ ├── correlated-linklet.rkt
│ │ ├── eager-instance.rkt
│ │ ├── expr.rkt
│ │ ├── extra-inspector.rkt
│ │ ├── form.rkt
│ │ ├── header.rkt
│ │ ├── instance.rkt
│ │ ├── known.rkt
│ │ ├── linklet-api.rkt
│ │ ├── linklet.rkt
│ │ ├── main.rkt
│ │ ├── module-use.rkt
│ │ ├── module.rkt
│ │ ├── multi-top-data.rkt
│ │ ├── multi-top.rkt
│ │ ├── namespace-scope.rkt
│ │ ├── read-linklet.rkt
│ │ ├── recompile.rkt
│ │ ├── reserved-symbol.rkt
│ │ ├── self-quoting.rkt
│ │ ├── serialize-property.rkt
│ │ ├── serialize-state.rkt
│ │ ├── serialize.rkt
│ │ ├── side-effect.rkt
│ │ ├── top.rkt
│ │ ├── version-bytes.rkt
│ │ └── write-linklet.rkt
│ ├── demo.rkt
│ ├── eval/
│ │ ├── api.rkt
│ │ ├── collection.rkt
│ │ ├── direct.rkt
│ │ ├── dynamic-require.rkt
│ │ ├── load.rkt
│ │ ├── main.rkt
│ │ ├── module-cache.rkt
│ │ ├── module-read.rkt
│ │ ├── module.rkt
│ │ ├── multi-top.rkt
│ │ ├── parameter.rkt
│ │ ├── protect.rkt
│ │ ├── reflect-compiled.rkt
│ │ ├── reflect-name.rkt
│ │ ├── reflect-submodule.rkt
│ │ ├── reflect.rkt
│ │ ├── root-context.rkt
│ │ ├── shadow-directory.rkt
│ │ ├── top-level-instance.rkt
│ │ └── top.rkt
│ ├── expand/
│ │ ├── allowed-context.rkt
│ │ ├── already-expanded.rkt
│ │ ├── append.rkt
│ │ ├── apply-transformer.rkt
│ │ ├── bind-top.rkt
│ │ ├── binding-for-transformer.rkt
│ │ ├── binding-to-module.rkt
│ │ ├── bindings-arity-error.rkt
│ │ ├── body.rkt
│ │ ├── configure.rkt
│ │ ├── context.rkt
│ │ ├── cross-phase.rkt
│ │ ├── def-id.rkt
│ │ ├── definition-context.rkt
│ │ ├── dup-check.rkt
│ │ ├── env.rkt
│ │ ├── expanded+parsed.rkt
│ │ ├── expr.rkt
│ │ ├── free-id-set.rkt
│ │ ├── implicit-property.rkt
│ │ ├── liberal-def-ctx.rkt
│ │ ├── lift-context.rkt
│ │ ├── lift-key.rkt
│ │ ├── local-expand.rkt
│ │ ├── log.rkt
│ │ ├── main.rkt
│ │ ├── missing-module.rkt
│ │ ├── module-path.rkt
│ │ ├── module-prompt.rkt
│ │ ├── module.rkt
│ │ ├── parsed.rkt
│ │ ├── portal-syntax.rkt
│ │ ├── prepare.rkt
│ │ ├── protect.rkt
│ │ ├── provide.rkt
│ │ ├── rebuild.rkt
│ │ ├── reference-record.rkt
│ │ ├── rename-trans.rkt
│ │ ├── require+provide.rkt
│ │ ├── require.rkt
│ │ ├── root-expand-context.rkt
│ │ ├── save-and-restore.rkt
│ │ ├── set-bang-trans.rkt
│ │ ├── stop-ids.rkt
│ │ ├── syntax-id-error.rkt
│ │ ├── syntax-implicit-error.rkt
│ │ ├── syntax-local.rkt
│ │ ├── top-portal-syntax.rkt
│ │ ├── top.rkt
│ │ └── use-site.rkt
│ ├── extract/
│ │ ├── c-encode.rkt
│ │ ├── check-and-report.rkt
│ │ ├── decompile.rkt
│ │ ├── defn-known.rkt
│ │ ├── defn.rkt
│ │ ├── export.rkt
│ │ ├── flatten.rkt
│ │ ├── gc-defn.rkt
│ │ ├── get-linklet.rkt
│ │ ├── global.rkt
│ │ ├── known-primitive.rkt
│ │ ├── link.rkt
│ │ ├── linklet-info.rkt
│ │ ├── linklet.rkt
│ │ ├── main.rkt
│ │ ├── module.rkt
│ │ ├── needed.rkt
│ │ ├── primitive-table.rkt
│ │ ├── prune-name.rkt
│ │ ├── save-and-report.rkt
│ │ ├── simplify-defn.rkt
│ │ ├── symbol.rkt
│ │ ├── underscore.rkt
│ │ └── variable.rkt
│ ├── host/
│ │ ├── correlate-syntax.rkt
│ │ ├── correlate.rkt
│ │ ├── linklet.rkt
│ │ ├── reader-syntax.rkt
│ │ ├── string-to-number.rkt
│ │ └── syntax-to-reader-syntax.rkt
│ ├── info.rkt
│ ├── main.rkt
│ ├── main.zuo
│ ├── namespace/
│ │ ├── api-module.rkt
│ │ ├── api.rkt
│ │ ├── attach.rkt
│ │ ├── core.rkt
│ │ ├── inspector.rkt
│ │ ├── module.rkt
│ │ ├── namespace.rkt
│ │ ├── primitive-module.rkt
│ │ ├── provide-for-api.rkt
│ │ ├── provided.rkt
│ │ ├── registry.rkt
│ │ └── variable-reference.rkt
│ ├── read/
│ │ ├── accum-string.rkt
│ │ ├── api.rkt
│ │ ├── box.rkt
│ │ ├── char.rkt
│ │ ├── closer.rkt
│ │ ├── coerce-key.rkt
│ │ ├── coerce.rkt
│ │ ├── config.rkt
│ │ ├── constant.rkt
│ │ ├── consume.rkt
│ │ ├── delimiter.rkt
│ │ ├── demo.rkt
│ │ ├── digit.rkt
│ │ ├── error.rkt
│ │ ├── extension.rkt
│ │ ├── fixnum-flonum.rkt
│ │ ├── graph.rkt
│ │ ├── hash.rkt
│ │ ├── indentation.rkt
│ │ ├── language.rkt
│ │ ├── location.rkt
│ │ ├── main.rkt
│ │ ├── number.rkt
│ │ ├── parameter.rkt
│ │ ├── parse-case.rkt
│ │ ├── primitive-parameter.rkt
│ │ ├── quote.rkt
│ │ ├── readtable-parameter.rkt
│ │ ├── readtable.rkt
│ │ ├── regexp.rkt
│ │ ├── sequence.rkt
│ │ ├── special-comment.rkt
│ │ ├── special.rkt
│ │ ├── string.rkt
│ │ ├── struct.rkt
│ │ ├── symbol-or-number.rkt
│ │ ├── vector.rkt
│ │ ├── whitespace.rkt
│ │ └── wrap.rkt
│ ├── run/
│ │ ├── bootstrap.rkt
│ │ ├── cache.rkt
│ │ ├── correlated-to-host-syntax.rkt
│ │ ├── linklet-operation.rkt
│ │ ├── linklet.rkt
│ │ ├── status.rkt
│ │ └── submodule.rkt
│ ├── run.rkt
│ └── syntax/
│ ├── api-taint.rkt
│ ├── api.rkt
│ ├── binding-set.rkt
│ ├── binding-table.rkt
│ ├── binding.rkt
│ ├── bulk-binding.rkt
│ ├── cache.rkt
│ ├── datum-map.rkt
│ ├── debug.rkt
│ ├── error.rkt
│ ├── fallback.rkt
│ ├── full-binding.rkt
│ ├── like-ambiguous-binding.rkt
│ ├── local-binding.rkt
│ ├── mapped-name.rkt
│ ├── match.rkt
│ ├── module-binding.rkt
│ ├── original.rkt
│ ├── preserved.rkt
│ ├── property.rkt
│ ├── read-syntax.rkt
│ ├── scope.rkt
│ ├── serialize.rkt
│ ├── space-scope.rkt
│ ├── srcloc.rkt
│ ├── syntax.rkt
│ ├── taint-object.rkt
│ ├── taint.rkt
│ ├── to-list.rkt
│ ├── track.rkt
│ └── weaker-inspector.rkt
├── get-config.rkt
├── io/
│ ├── README.txt
│ ├── bootstrap-main.rkt
│ ├── common/
│ │ ├── bytes-no-nuls.rkt
│ │ ├── check.rkt
│ │ ├── class.rkt
│ │ ├── internal-error.rkt
│ │ ├── resource.rkt
│ │ └── set-two.rkt
│ ├── converter/
│ │ ├── encoding.rkt
│ │ ├── main.rkt
│ │ └── utf-8.rkt
│ ├── demo.rkt
│ ├── envvar/
│ │ ├── main.rkt
│ │ └── string.rkt
│ ├── error/
│ │ ├── main.rkt
│ │ ├── message.rkt
│ │ └── value-string.rkt
│ ├── file/
│ │ ├── error.rkt
│ │ ├── host.rkt
│ │ ├── identity.rkt
│ │ ├── main.rkt
│ │ ├── parameter.rkt
│ │ ├── permissions.rkt
│ │ └── stat.rkt
│ ├── filesystem-change-evt/
│ │ └── main.rkt
│ ├── foreign/
│ │ └── main.rkt
│ ├── format/
│ │ ├── main.rkt
│ │ └── printf.rkt
│ ├── host/
│ │ ├── bootstrap-rktio.rkt
│ │ ├── bootstrap-thread.rkt
│ │ ├── bootstrap.rkt
│ │ ├── error.rkt
│ │ ├── place-local.rkt
│ │ ├── processor-count.rkt
│ │ ├── pthread.rkt
│ │ ├── rktio.rkt
│ │ └── thread.rkt
│ ├── locale/
│ │ ├── cache.rkt
│ │ ├── collate.rkt
│ │ ├── main.rkt
│ │ ├── nul-char.rkt
│ │ ├── parameter.rkt
│ │ ├── recase.rkt
│ │ ├── string.rkt
│ │ └── ucs-4.rkt
│ ├── logger/
│ │ ├── demo.rkt
│ │ ├── level.rkt
│ │ ├── lock.rkt
│ │ ├── logger.rkt
│ │ ├── main.rkt
│ │ ├── receiver.rkt
│ │ └── wanted.rkt
│ ├── machine/
│ │ └── main.rkt
│ ├── main.rkt
│ ├── main.zuo
│ ├── network/
│ │ ├── address-cache.rkt
│ │ ├── address.rkt
│ │ ├── check.rkt
│ │ ├── error.rkt
│ │ ├── evt.rkt
│ │ ├── main.rkt
│ │ ├── port-number.rkt
│ │ ├── tcp-accept.rkt
│ │ ├── tcp-address.rkt
│ │ ├── tcp-connect.rkt
│ │ ├── tcp-listen.rkt
│ │ ├── tcp-port.rkt
│ │ ├── tcp.rkt
│ │ ├── udp-multicast.rkt
│ │ ├── udp-receive.rkt
│ │ ├── udp-send.rkt
│ │ ├── udp-socket.rkt
│ │ └── udp.rkt
│ ├── path/
│ │ ├── api.rkt
│ │ ├── build.rkt
│ │ ├── check-path.rkt
│ │ ├── check.rkt
│ │ ├── cleanse.rkt
│ │ ├── complete.rkt
│ │ ├── directory-path.rkt
│ │ ├── ffi.rkt
│ │ ├── main.rkt
│ │ ├── parameter.rkt
│ │ ├── path.rkt
│ │ ├── protect.rkt
│ │ ├── relativity.rkt
│ │ ├── sep.rkt
│ │ ├── simplify-nofs.rkt
│ │ ├── simplify.rkt
│ │ ├── split.rkt
│ │ ├── string.rkt
│ │ ├── system.rkt
│ │ ├── user-relative.rkt
│ │ └── windows.rkt
│ ├── port/
│ │ ├── buffer-mode.rkt
│ │ ├── bytes-input.rkt
│ │ ├── bytes-output.rkt
│ │ ├── bytes-port.rkt
│ │ ├── check.rkt
│ │ ├── close.rkt
│ │ ├── commit-manager.rkt
│ │ ├── commit-port.rkt
│ │ ├── count.rkt
│ │ ├── custom-input-port.rkt
│ │ ├── custom-output-port.rkt
│ │ ├── custom-port.rkt
│ │ ├── evt.rkt
│ │ ├── fd-port.rkt
│ │ ├── file-identity.rkt
│ │ ├── file-lock.rkt
│ │ ├── file-port.rkt
│ │ ├── file-position.rkt
│ │ ├── file-stat.rkt
│ │ ├── f
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
.git* export-ignore
/.mailmap export-ignore
/racket/src/cs/schemified/*.scm linguist-generated=true
/racket/src/bc/src/startup.inc linguist-generated=true
*.zuo linguist-language=Racket
================================================
FILE: .github/CITATION.cff
================================================
cff-version: 1.1.0
message: If you use this software, please cite it as below.
authors:
- family-names: Flatt
given-names: Matthew
- name: PLT
title: "Reference: Racket"
version: 8.2
date-released: 2010
================================================
FILE: .github/CODE_OF_CONDUCT.md
================================================
The code of conduct can be found at https://racket-lang.org/friendly.html
================================================
FILE: .github/CONTRIBUTING.md
================================================
Contributing
------------
Contribute to Racket by
* [submitting a pull request](https://github.com/racket/racket)
* visiting the Racket forums
* [Racket Discussions Discourse](https://racket.discourse.group/)
* [Racket Discord](https://discord.gg/6Zq8sH5) #internals
* [Slack](https://racket-slack.herokuapp.com/)
By making a contribution, you are agreeing that your contribution is
licensed under the LGPLv3, Apache 2.0, and MIT licenses. Those
licenses are available in this repository in the files
racket/src/LICENSE-LGPL.txt, racket/src/LICENSE-APACHE.txt, and
racket/src/LICENSE-MIT.txt.
See the [Building, Distributing, and Contributing to Racket](/build.md)
for more guidance on contributing.
The [Friendly Environment Policy](https://racket-lang.org/friendly.html)
contains guidelines on expected behavior within the Racket community.
================================================
FILE: .github/FUNDING.yml
================================================
github: racket
custom: https://racket-lang.org/sfc.html
================================================
FILE: .github/ISSUE_TEMPLATE/bug-report.md
================================================
---
name: Bug report
about: Report a problem with Racket or Racket's tools
---
**What version of Racket are you using?**
e.g., 7.7 [cs]
**What program did you run?**
Please include a short example that triggers the bug
**What should have happened?**
**If you got an error message, please include it here.**
**Please include any other relevant details**
e.g., the operating system used or how you are running the code.
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
contact_links:
- name: Racket Discourse - A forum for all things related to Racket. Ask your questions here!
url: https://racket.discourse.group
about: Please ask and answer questions here.
- name: Racket Slack - A chat list for all things related to Racket. Ask your questions here!
url: https://racket-slack.herokuapp.com/
about: Click here to join.
================================================
FILE: .github/ISSUE_TEMPLATE/feature-request.md
================================================
---
name: Feature request
about: Suggest an idea to discuss
title: "[Feature Request] ..."
labels: feature-request
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A description of what the problem is. E.g., I'm always frustrated when [...]
**Describe the solution you'd like**
A description of what you want to happen.
**Describe alternatives you've considered**
A description of any alternative solutions or features you've considered.
**Do you want to contribute to this feature**
If you're interested in working on the development of this feature, say so here.
**[Optional] Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .github/SECURITY.md
================================================
# Security Policy
Security updates are included in each new release.
Previous releases do not get security updates.
## Reporting a Vulnerability
Please create a report with the [Report a vulnerability](https://github.com/racket/racket/security/advisories/new) issue template.
================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
================================================
FILE: .github/images/Dockerfile
================================================
FROM debian:buster-slim
LABEL maintainer="pmatos@linki.tools"
LABEL description="Debian Stable Slim image with Racket dependencies pre-installed. Mostly used for Racket CI."
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y ca-certificates clang curl gcc git libcairo2-dev libffi-dev libfindbin-libs-perl libfontconfig1-dev libgtk2.0-0 libjpeg-dev libpango1.0-dev libturbojpeg0-dev libxml2-dev make openssl procps python sqlite sudo unzip uuid-dev wget xvfb texlive && \
curl -sL https://deb.nodesource.com/setup_14.x | bash - && \
apt-get update && apt-get install -y nodejs && \
apt-get clean
ENV USER=root
CMD ["bash"]
================================================
FILE: .github/images/README.md
================================================
# Docker images for CI
In order to speed up building and testing of Racket, we have prepared some Docker images.
Currently pushed to DockerHub under the racket/racket-ci repo. This is then used in the CI
configuration with:
```
image: "racket/racket-ci:latest"
```
The image is automatically built and uploaded on all relevant commits through GitHub Actions.
================================================
FILE: .github/pull_request_template.md
================================================
<!--
Thank you for contributing. Please provide a description to help reviewers.
For more information about how to contribute please see
* https://github.com/racket/racket/blob/master/.github/CONTRIBUTING.md
* https://docs.racket-lang.org/racket-build-guide/contribute.html
Bug fixes and new features should include tests.
-->
## Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->
- [ ] Bugfix
- [ ] Feature
- [ ] tests included
- [ ] documentation
## Description of change
<!-- Please provide a description of the change here. -->
================================================
FILE: .github/scripts/adjust-sarif-tool.sh
================================================
#!/bin/bash
MODE="$1"
shopt -s globstar
for file in **/*.sarif; do
echo "Processing $file"
cat $file | \
jq "setpath([\"runs\",0,\"tool\",\"driver\",\"name\"]; \"clang-${MODE}\")" | \
jq '(.. | .uri? | select(. != null)) |= sub( "^file:///__w/racket/racket/"; "" )' | \
sponge $file
done
================================================
FILE: .github/scripts/matting.sh
================================================
#!/bin/bash
# We don't use grep because on Windows, it doesn't flush its output.
live=no
while read -r line; do
echo "$line" >> mats.out
if [[ "$line" = matting* ]]; then
echo "$line"
live=yes
elif [[ "$live" = no ]]; then
echo "$line"
fi
done
================================================
FILE: .github/scripts/run-racket-tests.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
HERE="$(dirname "$0")"
RACKET="racket"
RACO="raco"
echo Using `which "$RACKET"`
"$RACKET" -v
CPUS="$("$RACKET" -e '(processor-count)')"
echo Installing dt-test and racket-test using `which "$RACO"`
"$RACO" pkg install --auto --skip-installed db-test racket-test
do_test/notimeout() {
"$RACO" test -j "$CPUS" "$@"
}
do_test() {
do_test/notimeout --timeout 300 "$@"
}
# What Gets Tested
# ~~~~~~~~~~~~~~~~
# These tests run in GitHub Actions, where the environment isn't suited
# to run all the tests. This script tries to run most of the tests that
# can easily run in that environment. The rest of the tests are run by
# DrDr[1] whenever changes are made to the master branch.
#
# [1]: http://drdr.racket-lang.org/
# Core Tests.
# ~~~~~~~~~~~~~~~~
# The core test suite of Racket itself.
printf '\n\n\n\n%s\n\n' "== Testing core tests, 'tests/racket/test' =="
do_test/notimeout -l "tests/racket/test"
# Collection Tests
# ~~~~~~~~~~~~~~~~
# Tests where `raco test` can discover and run all the tests.
COLLECTIONS_TO_TEST=(
tests/file
tests/future
tests/generic
tests/json
tests/match
tests/net
tests/setup
tests/stxparse
tests/syntax
tests/units
tests/utils
tests/xml
)
for collection in "${COLLECTIONS_TO_TEST[@]}"; do
printf '\n\n\n\n%s\n\n' "== Testing collection '$collection' =="
do_test -c "$collection"
done
# Module Tests
# ~~~~~~~~~~~~
# Tests where a central module controls what gets tested.
MODULES_TO_TEST=(
tests/db/all-tests
tests/openssl/basic
tests/openssl/https
tests/zo-path
)
for mpath in "${MODULES_TO_TEST[@]}"; do
printf '\n\n\n\n%s\n\n' "== Testing module path '$mpath' =="
do_test -l "$mpath"
done
# Special Cases
# ~~~~~~~~~~~~~
# Tests that don't fit in the previous two buckets.
printf '\n\n\n\n%s\n\n' "== Testing 'tests/racket/contract/all' =="
"$RACKET" -l tests/racket/contract/all
================================================
FILE: .github/scripts/summary
================================================
-------- o=0 --------
-------- o=0 cp0=t --------
-------- o=3 --------
-------- o=3 cp0=t --------
-------- o=3 cp0=t eval=interpret --------
================================================
FILE: .github/scripts/test.sh
================================================
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
runmats() {
echo zuo . all "$@"
bin/zuo ${MACH}/mats all "$@" noisy=t 2>&1 | tee -a Make.out | grep '^matting '
}
# Split these out so that we get output every 10 minutes on Windows builds.
runmats o=0
runmats o=0 cp0=t
runmats o=3
runmats o=3 cp0=t
runmats o=3 cp0=t eval=interpret
if [ -f ${MACH}/mats/summary ]; then
cat ${MACH}/mats/summary
diff -q ${DIR}/summary ${MACH}/mats/summary
exit $?
else
exit 1
fi
================================================
FILE: .github/workflows/chez-build.yml
================================================
name: Solo Chez Build
on:
push:
branches:
- master
paths:
- "racket/src/ChezScheme/**"
- ".github/scripts/**"
- ".github/workflows/chez-build.yml"
- "Makefile"
pull_request:
paths:
- "racket/src/ChezScheme/**"
- ".github/scripts/**"
- ".github/workflows/chez-build.yml"
- "Makefile"
permissions:
contents: read
jobs:
build-linux:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
mach: ['i3le', 'ti3le', 'a6le', 'ta6le']
env:
MACH: ${{ matrix.mach }}
steps:
- name: Download base dependencies
run: |
sudo apt-get update
sudo apt-get install -y make git gcc
- uses: actions/checkout@v6
with:
fetch-depth: 50
- name: Download pb boot files
run: make fetch-pb
- name: Proceed with TARGET_MACHINE == ${{ matrix.mach }}
run: echo $TARGET_MACHINE
- name: Install libs for 32-bit
if: matrix.mach == 'i3le' || matrix.mach == 'ti3le'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y gcc-multilib lib32ncurses-dev libssl-dev:i386
- name: Install libs for 64-bit
run: |
sudo apt-get update
sudo apt-get install -y libncurses5-dev libssl-dev libx11-dev
- name: Build Chez with PB boot files
working-directory: racket/src/ChezScheme
run: |
./configure --pb
make -j$(($(nproc) + 1)) -l$(nproc) ${{ matrix.mach }}.bootquick
- name: Build Chez with native boot files
working-directory: racket/src/ChezScheme
run: |
./configure -m=${{ matrix.mach }}
make -j$(($(nproc) + 1)) -l$(nproc)
- name: Test Chez
working-directory: racket/src/ChezScheme
run: ../../../.github/scripts/test.sh
================================================
FILE: .github/workflows/ci-asan.yml
================================================
name: Test with ASan
on:
push:
branches:
- master
permissions:
contents: read
jobs:
racketcs-asan:
runs-on: ubuntu-22.04
container: racket/racket-ci:latest
env:
ASAN_OPTIONS: 'halt_on_error=0,log_path=racket-asan'
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- name: Create logs directory
run: mkdir $PWD/logs
- name: Build
run: |
export cpus=$(grep -c ^processor /proc/cpuinfo)
make CPUS="${cpus}" PKGS="racket-test db-test unstable-flonum-lib net-test" CONFIGURE_ARGS_qq='--enable-asan' cs-in-place 2>&1 | tee logs/build.log
- name: Add new racket to PATH
run: |
echo "${GITHUB_WORKSPACE}/racket/bin" >> $GITHUB_PATH
find /__w/racket/racket/racket/bin -type f
- name: Racket version
run: |
which racket
racket --version
- name: Run tests/racket/test
continue-on-error: true
run: raco test -l tests/racket/test
- name: Run tests/racket/contract/all
continue-on-error: true
run: racket -l tests/racket/contract/all
- name: Run tests/json/json
continue-on-error: true
run: raco test -l tests/json/json
- name: Run tests/file/main
continue-on-error: true
run: raco test -l tests/file/main
- name: Run tests/net/head
continue-on-error: true
run: raco test -l tests/net/head
- name: Run tests/net/uri-codec
continue-on-error: true
run: raco test -l tests/net/uri-codec
- name: Run tests/net/url
continue-on-error: true
run: raco test -l tests/net/url
- name: Run tests/net/url-port
continue-on-error: true
run: raco test -l tests/net/url-port
- name: Run tests/net/encoders
continue-on-error: true
run: raco test -l tests/net/encoders
- name: Run tests/openssl/basic
continue-on-error: true
run: raco test -l tests/openssl/basic
- name: Run tests/openssl/https
continue-on-error: true
run: raco test -l tests/openssl/https
- name: Run tests/match/main
continue-on-error: true
run: raco test -l tests/match/main
- name: Run tests/zo-path
continue-on-error: true
run: raco test -l tests/zo-path
- name: Run tests/xml
continue-on-error: true
run: raco test -c tests/xml
- name: Run tests/future
continue-on-error: true
run: raco test --timeout 300 -c tests/future
- name: Run tests/stxparse
continue-on-error: true
run: raco test -c tests/stxparse
- name: Run db tests
continue-on-error: true
run: raco test -l tests/db/all-tests
- uses: actions/upload-artifact@v7
with:
name: asan-errors-cs_git${{ github.sha }}
path: ./racket-asan.*
================================================
FILE: .github/workflows/ci-pr.yml
================================================
name: CI Pull Request
on: [pull_request]
permissions:
contents: read
jobs:
buildtest-linux-x86:
container:
image: racket/racket-ci:latest
options: --init
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
- name: Build
run: make CPUS="$(nproc)" PKGS=""
- name: Extend PATH with Racket executable
run: echo "${GITHUB_WORKSPACE}/racket/bin" >> $GITHUB_PATH
- name: Test
run: bash .github/scripts/run-racket-tests.sh
buildtest-macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v6
- name: Build
run: make CPUS="$(sysctl -n hw.physicalcpu)" PKGS=""
- name: Extend PATH with Racket executable
run: echo "${GITHUB_WORKSPACE}/racket/bin" >> $GITHUB_PATH
- name: Test
run: bash .github/scripts/run-racket-tests.sh
- name: Tarball
run: tar -cvjf racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2 racket
- uses: actions/upload-artifact@v7
with:
name: racketcs-macos-aarch64_git${{ github.sha }}
path: racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2
build-ios:
runs-on: macos-14
needs: buildtest-macos
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racketcs-macos-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}
- name: Untar host Racket
run: |
mkdir host-racket
tar -xvjf racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2 -C host-racket --strip-components 1
- name: Build iOS Racket
run: |
set -euxo pipefail
mkdir -p racket/src/build-ios
pushd racket/src/build-ios
../configure \
--host=aarch64-apple-darwin \
--enable-ios=iPhoneOS \
--enable-racket=${{ github.workspace }}/host-racket/bin/racket \
--enable-scheme=${{ github.workspace }}/host-racket/src/build/cs/c
make
make install
build-pb-ios:
runs-on: macos-14
steps:
- uses: actions/checkout@v6
- name: Build LibFFI
run: |
set -euxo pipefail
brew install automake libtool
git clone https://github.com/libffi/libffi
cd libffi
git checkout v3.4.6
./autogen.sh
python generate-darwin-source-and-headers.py --only-ios
xcodebuild \
-configuration release \
-target libffi-iOS \
-scheme libffi-iOS \
-sdk "$(xcode-select -p)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk" \
-derivedDataPath dist \
IPHONEOS_DEPLOYMENT_TARGET=12
- name: Build PB iOS Racket
run: |
set -euxo pipefail
make fetch-pb
mkdir -p racket/src/build
cd racket/src/build
cat >libffi.pc <<EOF
prefix=${GITHUB_WORKSPACE}/libffi/dist/Build/Products/Release-iphoneos
exec_prefix=\${prefix}
libdir=\${exec_prefix}
toolexeclibdir=\${libdir}
includedir=\${prefix}/include/ffi
Name: libffi
Description: Library supporting Foreign Function Interfaces
Version: 3.4.6
Libs: -L\${toolexeclibdir} -lffi
Cflags: -I\${includedir}
EOF
cat libffi.pc
env PKG_CONFIG_PATH="$(pwd)" \
../configure \
--host=aarch64-apple-darwin \
--enable-ios=iPhoneOS \
--enable-pb \
--enable-racket=auto \
--enable-libffi
make
make install
================================================
FILE: .github/workflows/ci-push-x86_linux.yml
================================================
name: CI Linux x86
on:
push:
branches:
- master
jobs:
# Build jobs
# These jobs build each Racket component separately and tests on the component start as soon as each
# component finishes building.
build-racketcgc:
runs-on: ubuntu-22.04
container:
image: racket/racket-ci:latest
strategy:
fail-fast: false
matrix:
cify: [nocify]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- name: Setup cify if enabled
if: matrix.cify == 'cify'
run: echo "CIFY_OPTION=--enable-cify" >> $GITHUB_ENV
- name: Setup cify if disabled
if: matrix.cify == 'nocify'
run: echo "CIFY_OPTION=--disable-cify" >> $GITHUB_ENV
- name: Configuring Racket CGC
working-directory: ./racket/src
run: >
./configure
--prefix=/usr/local/racketcgc
--enable-werror
--enable-cgcdefault
--enable-jit
--enable-foreign
--enable-places
--enable-futures
--enable-float
$CIFY_OPTION
--enable-pthread
--disable-docs
- name: Building
working-directory: ./racket/src
run: |
export cpus=$(nproc)
make -l $cpus -j $((cpus+1))
- name: Installing
working-directory: ./racket/src
run: make -j $((cpus+1)) install
- name: Tarballing
working-directory: /usr/local
run: tar -cvjf /tmp/racketcgc-debian10-${{ matrix.cify }}-x64_git${{ github.sha }}.tar.bz2 racketcgc
- uses: actions/upload-artifact@v7
with:
name: racketcgc-debian10-${{ matrix.cify }}-x64_git${{ github.sha }}
path: /tmp/racketcgc-debian10-${{ matrix.cify }}-x64_git${{ github.sha }}.tar.bz2
build-racket3m:
runs-on: ubuntu-22.04
container:
image: racket/racket-ci:latest
needs: build-racketcgc
strategy:
fail-fast: false
matrix:
cify: [nocify]
jit: [jit]
efp: [efp]
cc: [gcc]
include:
- jit: nojit
cify: cify
efp: noefp
cc: gcc
- jit: jit
cify: nocify
efp: efp
cc: gcc # clang has a problem with future tests timing out
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- name: Setup cify if enabled
if: matrix.cify == 'cify'
run: echo "CIFY_OPTION=--enable-cify" >> $GITHUB_ENV
- name: Setup cify if disabled
if: matrix.cify == 'nocify'
run: echo "CIFY_OPTION=--disable-cify" >> $GITHUB_ENV
- name: Setup jit if enabled
if: matrix.jit == 'jit'
run: echo "JIT_OPTION=--enable-jit" >> $GITHUB_ENV
- name: Setup jit if disabled
if: matrix.jit == 'nojit'
run: echo "JIT_OPTION=--disable-jit" >> $GITHUB_ENV
- name: Setup efp if enabled
if: matrix.efp == 'efp'
run: echo "EFP_OPTIONS=--enable-extflonums --enable-places --enable-futures" >> $GITHUB_ENV
- name: Setup efp if disabled
if: matrix.efp == 'noefp'
run: echo "EFP_OPTIONS=--disable-extflonums --disable-places --disable-futures" >> $GITHUB_ENV
- uses: actions/download-artifact@v8
with:
name: racketcgc-debian10-nocify-x64_git${{ github.sha }}
path: /tmp
- name: Untar
working-directory: /usr/local
run: tar -xvjf /tmp/racketcgc-debian10-nocify-x64_git${{ github.sha }}.tar.bz2
- name: Configuring Racket 3m
working-directory: ./racket/src
env:
CC: ${{ matrix.cc }}
run: >
./configure
--prefix=/usr/local/racket3m
--enable-werror
--enable-bcdefault
--enable-racket=/usr/local/racketcgc/bin/racket
--enable-foreign
--enable-float
--disable-docs
$CIFY_OPTION
$JIT_OPTION
$EFP_OPTIONS
--enable-pthread
- name: Building
working-directory: ./racket/src
run: |
export cpus=$(nproc)
make -l $cpus -j $((cpus+1))
- name: Installing
working-directory: ./racket/src
run: make -j $((cpus+1)) install
# We build on Linux with gcc and on MacOS with clang only.
- name: Tarballing
working-directory: /usr/local
run: tar -cvjf /tmp/racket3m-debian10-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha}}.tar.bz2 racket3m
- uses: actions/upload-artifact@v7
with:
name: racket3m-debian10-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}
path: /tmp/racket3m-debian10-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}.tar.bz2
build-racketcs:
runs-on: ubuntu-22.04
container:
image: racket/racket-ci:latest
needs: build-racketcgc
strategy:
fail-fast: false
matrix:
cc: [gcc, clang]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- uses: actions/download-artifact@v8
with:
name: racketcgc-debian10-nocify-x64_git${{ github.sha }}
path: /tmp
- name: Untar
working-directory: /usr/local
run: tar -xvjf /tmp/racketcgc-debian10-nocify-x64_git${{ github.sha }}.tar.bz2
- name: Configuring Racket CS
working-directory: ./racket/src
env:
CC: ${{ matrix.cc }}
run: >
./configure
--prefix=/usr/local/racketcs
$RACKET_EXTRA_CONFIGURE_ARGS
--enable-racket=/usr/local/racketcgc/bin/racket
--enable-compress
--disable-docs
--enable-pthread
--enable-csdefault
--enable-csonly
- name: Building
working-directory: ./racket/src
run: |
export cpus=$(nproc)
make -l $cpus -j $((cpus+1))
- name: Installing
working-directory: ./racket/src
run: make -j $((cpus+1)) install
- name: Tarballing
working-directory: /usr/local
run: tar -cvjf /tmp/racketcs-debian10-x64-${{ matrix.cc }}_git${{ github.sha }}.tar.bz2 racketcs
- uses: actions/upload-artifact@v7
with:
name: racketcs-debian10-x64-${{ matrix.cc }}_git${{ github.sha }}
path: /tmp/racketcs-debian10-x64-${{ matrix.cc }}_git${{ github.sha }}.tar.bz2
# Tests
# Note: the reason we cannot transform this into a matrix build is
# because we cannot use variables in the needs keyword.
test-cgc:
runs-on: ubuntu-22.04
container:
image: racket/racket-ci:latest
options: --init
needs: build-racketcgc
strategy:
fail-fast: false
matrix:
cify: [nocify]
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racketcgc-debian10-${{ matrix.cify }}-x64_git${{ github.sha }}
path: /tmp
- name: Untar
working-directory: /usr/local
run: tar -xvjf /tmp/racketcgc-debian10-${{ matrix.cify }}-x64_git${{ github.sha }}.tar.bz2
- name: Extend PATH with Racket executable
run: echo "/usr/local/racketcgc/bin" >> $GITHUB_PATH
- name: Check for Racket
run: racket --version
- name: Install catalog
run: |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org
- name: Install racket-test dependency
run: raco pkg install --auto racket-test
- name: Install db tests dependency
run: raco pkg install --auto db-test
- name: Test
run: bash .github/scripts/run-racket-tests.sh
test-3m:
runs-on: ubuntu-22.04
container:
image: racket/racket-ci:latest
options: --init
needs: build-racket3m
strategy:
fail-fast: false
matrix:
cify: [nocify]
jit: [jit]
efp: [efp]
cc: [gcc]
include:
- jit: nojit
cify: cify
efp: noefp
cc: gcc
- jit: jit
cify: nocify
efp: efp
cc: gcc
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racket3m-debian10-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}
path: /tmp
- name: Untar
working-directory: /usr/local
run: tar -xvjf /tmp/racket3m-debian10-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}.tar.bz2
- name: Extend PATH with Racket executable
run: echo "/usr/local/racket3m/bin" >> $GITHUB_PATH
- name: Check for Racket
run: racket --version
- name: Install catalog and required packages
run: |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org
- name: Install racket-test dependency
run: raco pkg install --auto racket-test
- name: Install db tests dependency
run: raco pkg install --auto db-test
- name: Test
run: bash .github/scripts/run-racket-tests.sh
test-cs:
runs-on: ubuntu-22.04
container:
image: racket/racket-ci:latest
options: --init
needs: build-racketcs
strategy:
fail-fast: false
matrix:
cc: [gcc]
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racketcs-debian10-x64-${{ matrix.cc }}_git${{ github.sha }}
path: /tmp
- name: Untar
working-directory: /usr/local
run: tar -xvjf /tmp/racketcs-debian10-x64-${{ matrix.cc }}_git${{ github.sha }}.tar.bz2
- name: Extend PATH with Racket executable
run: echo "/usr/local/racketcs/bin" >> $GITHUB_PATH
- name: Check for Racket
run: racket --version
- name: Install catalog and required packages
run: |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org
- name: Test
run: bash .github/scripts/run-racket-tests.sh
# XXX: Do we still need/want this?
slack:
runs-on: ubuntu-latest
needs: [test-cgc, test-3m, test-cs]
# this is required, otherwise it gets skipped if any needed jobs fail.
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds
if: always()
steps:
- uses: technote-space/workflow-conclusion-action@v3
- name: Send Slack notification
uses: 8398a7/action-slack@v3
if: github.repository == 'racket/racket'
with:
status: ${{ env.WORKFLOW_CONCLUSION }}
author_name: ${{ github.actor }}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
================================================
FILE: .github/workflows/ci-push_macos.yml
================================================
name: CI MacOS
on:
push:
branches:
- master
permissions:
contents: read
jobs:
# Build jobs
# These jobs build each Racket component separately and tests on the component start as soon as each
# component finishes building.
build-racketcgc:
strategy:
fail-fast: false
matrix:
cify: [nocify]
runs-on: macos-14
env:
RACKET_EXTRA_CONFIGURE_ARGS: ""
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- name: Setup cify if enabled1
if: matrix.cify == 'cify'
run: echo "CIFY_OPTION=--enable-cify" >> $GITHUB_ENV
- name: Setup cify if disabled
if: matrix.cify == 'nocify'
run: echo "CIFY_OPTION=--disable-cify" >> $GITHUB_ENV
- name: Configuring Racket CGC
working-directory: ./racket/src
run: >
./configure
--prefix=$GITHUB_WORKSPACE/racketcgc
$RACKET_EXTRA_CONFIGURE_ARGS
--enable-cgcdefault
--enable-jit
--enable-foreign
--enable-macprefix
--enable-places
--enable-float
$CIFY_OPTION
--enable-pthread
--disable-docs
- name: Building
working-directory: ./racket/src
run: |
export cpus=$(sysctl -n hw.physicalcpu)
make CFLAGS="-Werror" -l $cpus -j $((cpus+1))
- name: Installing
working-directory: ./racket/src
run: make -j $((cpus+1)) install
- name: Tarballing
working-directory: ${{ github.workspace }}
run: tar -cvjf racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2 racketcgc
- uses: actions/upload-artifact@v7
with:
name: racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}/racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2
build-racket3m:
strategy:
fail-fast: false
matrix:
cify: [nocify]
runs-on: macos-14
needs: build-racketcgc
env:
RACKET_EXTRA_CONFIGURE_ARGS: ""
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- name: Setup cify if enabled
if: matrix.cify == 'cify'
run: echo "CIFY_OPTION=--enable-cify" >> $GITHUB_ENV
- name: Setup cify if disabled
if: matrix.cify == 'nocify'
run: echo "CIFY_OPTION=--disable-cify" >> $GITHUB_ENV
- uses: actions/download-artifact@v8
with:
name: racketcgc-macos-nocify-aarch64_git${{ github.sha }}
path: ${{ runner.temp }}
- name: Untar
working-directory: ${{ github.workspace }}
run: tar -xvjf ${{ runner.temp }}/racketcgc-macos-nocify-aarch64_git${{ github.sha }}.tar.bz2
- name: Configuring Racket 3m
working-directory: ./racket/src
env:
CC: clang
run: >
./configure
--prefix=$GITHUB_WORKSPACE/racket3m
$RACKET_EXTRA_CONFIGURE_ARGS
--enable-racket=$GITHUB_WORKSPACE/racketcgc/bin/racket
--enable-bcdefault
--enable-jit
--enable-foreign
--enable-macprefix
--enable-places
--enable-float
--disable-docs
$CIFY_OPTION
--enable-pthread
- name: Building
working-directory: ./racket/src
run: |
export cpus=$(sysctl -n hw.physicalcpu)
make CFLAGS="-Werror" -l $cpus -j $((cpus+1))
- name: Installing
working-directory: ./racket/src
run: make -j $((cpus+1)) install
- name: Tarballing
working-directory: ${{ github.workspace }}
run: tar -cvjf racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha}}.tar.bz2 racket3m
- uses: actions/upload-artifact@v7
with:
name: racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}/racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2
build-racketcs:
runs-on: macos-14
needs: build-racketcgc
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- uses: actions/download-artifact@v8
with:
name: racketcgc-macos-nocify-aarch64_git${{ github.sha }}
path: ${{ runner.temp }}
- name: Untar
working-directory: ${{ github.workspace }}
run: tar -xvjf ${{ runner.temp }}/racketcgc-macos-nocify-aarch64_git${{ github.sha}}.tar.bz2
- name: Configuring Racket CS
working-directory: ./racket/src
env:
CC: ${{ matrix.cc }}
run: >
./configure
--prefix=$GITHUB_WORKSPACE/racketcs
--enable-racket=$GITHUB_WORKSPACE/racketcgc/bin/racket
--enable-macprefix
--enable-compress
--disable-docs
--enable-pthread
--enable-csdefault
--enable-csonly
- name: Building
working-directory: ./racket/src
run: |
export cpus=$(sysctl -n hw.physicalcpu)
make -l $cpus -j $((cpus+1))
- name: Installing
working-directory: ./racket/src
run: make -j $((cpus+1)) install
- name: Copying src/ into distro # ChezScheme build is needed by build-ios
run: cp -r racket/src racketcs/
- name: Tarballing
working-directory: ${{ github.workspace }}
run: tar -cvjf racketcs-macos-aarch64_git${{ github.sha}}.tar.bz2 racketcs
- uses: actions/upload-artifact@v7
with:
name: racketcs-macos-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}/racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2
build-ios:
runs-on: macos-14
needs: build-racketcs
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racketcs-macos-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}
- name: Untar host Racket
run: |
mkdir host-racket
tar -xvjf racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2 -C host-racket --strip-components 1
- name: Build iOS Racket
run: |
set -euxo pipefail
mkdir -p racket/src/build-ios
pushd racket/src/build-ios
../configure \
--host=aarch64-apple-darwin \
--enable-ios=iPhoneOS \
--enable-racket=${{ github.workspace }}/host-racket/bin/racket \
--enable-scheme=${{ github.workspace }}/host-racket/src/cs/c
make
make install
# Tests
# Note: the reason we cannot transform this into a matrix build is
# because we cannot use variables in the needs keyword.
test-cgc:
strategy:
fail-fast: false
matrix:
cify: [nocify]
runs-on: macos-14
needs: build-racketcgc
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}
- name: Untar
working-directory: ${{ github.workspace }}
run: tar -xvjf racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2
- name: Extend PATH with Racket executable
working-directory: ${{ github.workspace }}
run: echo "$PWD/racketcgc/bin" >> $GITHUB_PATH
- name: Check for Racket
run: racket --version
- name: Install catalog
run: |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org
- name: Test
run: bash .github/scripts/run-racket-tests.sh
test-3m:
strategy:
fail-fast: false
matrix:
cify: [nocify]
runs-on: macos-14
needs: build-racket3m
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}
- name: Untar
working-directory: ${{ github.workspace }}
run: tar -xvjf racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2
- name: Extend PATH with Racket executable
working-directory: ${{ github.workspace }}
run: echo "$PWD/racket3m/bin" >> $GITHUB_PATH
- name: Check for Racket
run: racket --version
- name: Install catalog and required packages
run: |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org
- name: Test
run: bash .github/scripts/run-racket-tests.sh
test-cs:
runs-on: macos-14
needs: build-racketcs
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: racketcs-macos-aarch64_git${{ github.sha }}
path: ${{ github.workspace }}
- name: Untar
working-directory: ${{ github.workspace }}
run: tar -xvjf racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2
- name: Extend PATH with Racket executable
working-directory: ${{ github.workspace }}
run: echo "$PWD/racketcs/bin" >> $GITHUB_PATH
- name: Check for Racket
run: racket --version
- name: Install catalog and required packages
run: |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org
- name: Test
run: bash .github/scripts/run-racket-tests.sh
================================================
FILE: .github/workflows/ci-snapshot.yml
================================================
name: Snapshot Generation
on:
push:
branches:
- master
# Only run at most one snapshot action
# https://docs.github.com/en/enterprise-cloud@latest/actions/using-jobs/using-concurrency
# https://stackoverflow.com/questions/66335225/how-to-cancel-previous-runs-in-the-pr-when-you-push-new-commitsupdate-the-curre
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
create-installer:
runs-on: ubuntu-22.04
if: github.repository == 'racket/racket'
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Cleanup # this is only needed in `act` testing
run: |
rm -rf ~/.racket/
- uses: Bogdanp/setup-racket@v1.15
with:
architecture: 'x64'
# FIXME: use the binary s3-sync pkg
distribution: 'full'
variant: 'CS'
version: '7.7'
packages: 's3-sync'
- name: Install pkg dependencies
run: |
sudo apt update
sudo apt install -y libffi-dev unzip libfindbin-libs-perl
- name: Building
env:
DISTRO_BUILD_SITE_DEST: "${{ runner.temp }}/site-dest/"
run: |
export cpus=$(grep -c ^processor /proc/cpuinfo)
export HERE=`pwd`
make snapshot-site CONFIG=".github/workflows/site-small.rkt" -j $((cpus+1))
- name: S3 Sync
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWSAccessKeyID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWSSecretKey }}
run: |
ls -l ${{ runner.temp }}/site-dest/
raco s3-sync --acl public-read --web --redirects-links ${{ runner.temp }}/site-dest/ s3://ci-snapshot.racket-lang.org/
================================================
FILE: .github/workflows/ci_win.yml
================================================
name: CI Win
on:
push:
branches:
- master
pull_request:
permissions:
contents: read
jobs:
# Build jobs
# These jobs build each Racket component separately and tests on the component start as soon as each
# component finishes building.
buildtest-win:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
mode: ['3m', 'CS']
# According to
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/software-installed-on-github-hosted-runners#windows-server-2019
# VS2019 is what is installed in the hosted runners:
# Version: VisualStudio/16.3.6+29418.71
# Location: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
steps:
- uses: actions/checkout@v6
- name: Build 3m
if: matrix.mode == '3m'
shell: cmd
run: |
call racket\src\worksp\msvcprep.bat x86_amd64
nmake bc-base RACKETBC_SUFFIX=
- name: Build CS
if: matrix.mode == 'CS'
shell: cmd
run: |
call racket\src\worksp\msvcprep.bat x86_amd64
nmake cs-base RACKETCS_SUFFIX=
- name: Check reported racket version
shell: cmd
run: |
call racket\racket.exe --version
- name: Install catalog
shell: cmd
run: |
racket\racket.exe -l- pkg/dirs-catalog --immediate %cd%\rktcat %cd%\pkgs\
racket\raco.exe pkg config --set catalogs %cd%\rktcat\ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org
- name: Install Testing Deps
shell: cmd
run: |
call racket\raco.exe pkg install --auto --no-docs racket-test unstable-flonum-lib net-test
- name: Run tests/racket/test
shell: cmd
run: |
call .\racket\src\worksp\msvcprep.bat x86_amd64
racket\raco.exe test -l tests/racket/test
- name: Run tests/racket/contract/all
shell: cmd
run: racket\racket.exe -l tests/racket/contract/all
- name: Run tests/json/json
shell: cmd
run: racket\raco.exe test -l tests/json/json
- name: Run tests/file/main
shell: cmd
run: racket\raco.exe test -l tests/file/main
- name: Run tests/net/head
shell: cmd
run: racket\raco.exe test -l tests/net/head
- name: Run tests/net/uri-codec
shell: cmd
run: racket\raco.exe test -l tests/net/uri-codec
- name: Run tests/net/url
shell: cmd
run: racket\raco.exe test -l tests/net/url
- name: Run tests/net/url-port
shell: cmd
run: racket\raco.exe test -l tests/net/url-port
- name: Run tests/net/encoders
shell: cmd
run: racket\raco.exe test -l tests/net/encoders
- name: Run tests/openssl/basic
shell: cmd
run: racket\raco.exe test -l tests/openssl/basic
- name: Run tests/openssl/https
shell: cmd
run: racket\raco.exe test -l tests/openssl/https
- name: Run tests/match/main
shell: cmd
run: racket\raco.exe test -l tests/match/main
- name: Run tests/zo-path
shell: cmd
run: racket\raco.exe test -l tests/zo-path
- name: Run tests/xml
shell: cmd
run: racket\raco.exe test -c tests/xml
- name: Run tests/future
shell: cmd
run: racket\raco.exe test -c tests/future
- name: Install db tests dependency
shell: cmd
run: racket\raco.exe pkg install --auto db-test
- name: Run db tests
shell: cmd
run: racket\raco.exe test -l tests/db/all-tests
- name: Run tests/stxparse
shell: cmd
run: racket\raco.exe test -c tests/stxparse
- name: Run syntax tests
shell: cmd
run: racket\raco.exe test -c tests/syntax
- name: Install demo tests dependency
shell: cmd
run: racket\raco.exe pkg install --auto compiler-test
- name: Run demod tests
shell: cmd
run: racket\raco.exe test -l tests/compiler/demodularizer/demod-test.rkt
================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
name: "LGTM Code Scanning"
on:
push:
branches:
- master
pull_request:
permissions:
security-events: write
jobs:
CodeQL-Build:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: cpp
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
#- name: Autobuild
# uses: github/codeql-action/autobuild@v2
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
- run: |
make base
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
================================================
FILE: .github/workflows/docker-racketci.yml
================================================
name: Build RacketCI Docker Image
on:
push:
branches:
- master
paths:
- '.github/images/Dockerfile'
- '.github/workflows/docker-racketci.yml'
permissions:
contents: read
jobs:
build-image:
runs-on: ubuntu-22.04
env:
IMAGE_NAME: racket-ci
VERSION: ${{ github.sha }}
steps:
- uses: actions/checkout@v6
- name: Build image
working-directory: ./.github/images
run: docker build --tag image .
- name: Log into registry
run: echo "${{ secrets.DOCKER_TOKEN }}" | docker login -u pmatos --password-stdin
- name: Push image
run: |
IMAGE_ID=racket/$IMAGE_NAME
docker tag image $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
docker tag image $IMAGE_ID:latest
docker push $IMAGE_ID:latest
================================================
FILE: .github/workflows/scribble_build-guide.yml
================================================
name: Scribble Racket Build Guide
on:
push:
branches:
- master
paths:
- "build.md"
- ".github/workflows/scribble_build-guide.yml"
- "pkgs/racket-build-guide/**"
pull_request:
paths:
- "build.md"
- ".github/workflows/scribble_build-guide.yml"
- "pkgs/racket-build-guide/**"
jobs:
scribble:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
- uses: Bogdanp/setup-racket@v1.15
with:
architecture: 'x64'
distribution: 'full'
variant: 'CS'
version: 'current'
- name: Scribble Build Guide
run: raco pkg install --auto -j $(nproc) pkgs/racket-build-guide
generation-check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
- uses: Bogdanp/setup-racket@v1.15
with:
architecture: 'x64'
distribution: 'full'
variant: 'CS'
version: 'current'
- name: Move original build.md
run: mv build.md build.md.orig
- name: Generate new build.md
working-directory: pkgs/racket-build-guide
run: make
- name: Check differences
run: diff build.md build.md.orig
================================================
FILE: .github/workflows/scribble_license.yml
================================================
name: Scribble License Files
on:
push:
branches:
- master
paths:
- "LICENSE.txt"
- "racket/src/LICENSE.txt"
- ".github/workflows/scribble_license.yml"
- "pkgs/racket-index/scribblings/main/*"
pull_request:
paths:
- "LICENSE.txt"
- "racket/src/LICENSE.txt"
- ".github/workflows/scribble_license.yml"
- "pkgs/racket-index/scribblings/main/*"
jobs:
scribble:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
- uses: Bogdanp/setup-racket@v1.15
with:
architecture: 'x64'
distribution: 'full'
variant: 'CS'
version: 'current'
- name: Update racket-index
run: sudo raco pkg update -j $(nproc) --batch --auto pkgs/racket-index
generation-check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
- uses: Bogdanp/setup-racket@v1.15
with:
architecture: 'x64'
distribution: 'full'
variant: 'CS'
version: 'current'
- name: Move original root LICENSE.txt
run: mv LICENSE.txt LICENSE.txt.orig
- name: Move original racket/src/LICENSE.txt
working-directory: racket/src
run: mv LICENSE.txt LICENSE.txt.orig
- name: Generate new LICENSE.txt files
working-directory: pkgs/racket-index
run: make
- name: Check differences
shell: bash
run: |
diff LICENSE.txt LICENSE.txt.orig
root_status=$?
diff racket/src/LICENSE.txt racket/src/LICENSE.txt.orig
src_status=$?
if [ $root_status -eq 0 ] && [ $src_status -eq 0 ]; then
exit 0
else
echo "License files differ." 1>&2
exit 1
fi
================================================
FILE: .github/workflows/site-small.rkt
================================================
#lang distro-build/config
(require racket/format racket/runtime-path racket/string racket/date)
(define-runtime-path here ".")
(define source-dir (path->string (build-path here ".." "..")))
(define (build-dir-name)
(case (current-mode)
[("release") "release-build"]
[else "build"]))
(define (stamp)
(substring (or (getenv "GITHUB_SHA") "0000000000000") 0 10))
(define (dest-dir-name)
(case (current-mode)
[("release") "ci-release"]
[else (~a (stamp))]))
(define server-base-url (~a "https://ci-snapshot.racket-lang.org/" (dest-dir-name) "/"))
(define distro-content
'("main-distribution"))
(define (prebuilt-racket)
(or (and (getenv "PLTHOME") (~a (getenv "PLTHOME") "/racket/" "bin/" "racket"))
"/usr/bin/racket"))
(define windows "{1} Windows")
(define macosx "{2} Mac OS X")
(define linux "{3} Linux")
(define unix-platforms "{8} Unix")
(define all-platforms "{9} All Platforms")
(define (convert-log-name name)
(define v (string-trim (regexp-replace* #rx"{[0-9]}|[\\(\\)\\|]" name "")))
(string-append (string-downcase (regexp-replace* (regexp "[ ,]+") v "_")) ".txt"))
(define (machine/sh+tgz #:name name)
;; Create all Linux installer forms
(sequential
(machine #:name (~a name " | {1} Installer"))
(machine #:name (~a name " | {3} Tarball")
#:tgz? #t)))
(define (dist-base minimal?)
(if minimal? "racket-minimal" "racket"))
(define (cs-machine #:name name #:pkgs [pkgs distro-content])
(sequential
#:dist-base (dist-base (null? pkgs))
#:j 2
#:log-file (convert-log-name name)
#:pkgs pkgs
#:timeout (* 60 60 (if (null? pkgs) 1/2 2)) ;; 2 hours for the full build
#:variant 'cs
#:dist-vm-suffix "cs"
#:dist-aliases '((#f #f ""))
(machine/sh+tgz #:name name)))
(define (bc-machine #:name name #:pkgs [pkgs distro-content])
(sequential
;; these three lines are because it's the non-default build
#:dir "bc-build"
#:repo source-dir
#:pull? #f
;; this is just usual configuration (mirrored for cs-machine)
#:dist-base (dist-base (null? pkgs))
#:j 2
#:log-file (convert-log-name name)
#:pkgs pkgs
#:timeout (* 60 60 (if (null? pkgs) 1/2 2)) ;; 2 hours for the full build
#:variant 'bc
#:dist-vm-suffix "bc"
(machine/sh+tgz #:name name)))
;; The overall configuration:
(sequential
#:pkgs distro-content
#:dist-base-url server-base-url
#:site-dest (build-path (or (getenv "DISTRO_BUILD_SITE_DEST") "/tmp/racket-snapshots/") (dest-dir-name))
#:plt-web-style? #t
#:site-title (format "Snapshot: ~a ~a" (stamp) (parameterize ([date-display-format 'iso-8601]) (date->string (current-date))))
#:build-stamp (stamp)
#:fail-on-client-failures #f
#:dist-base-version (stamp)
#:dist-suffix ""
(sequential
(bc-machine #:name "Racket BC (Ubuntu 18.04, x86_64)")
(bc-machine #:name "Minimal Racket BC (Ubuntu 18.04, x86_64)" #:pkgs null))
(sequential
(cs-machine #:name "Racket CS (Ubuntu 18.04, x86_64)")
(cs-machine #:name "Minimal Racket CS (Ubuntu 18.04, x86_64)" #:pkgs null)))
================================================
FILE: .github/workflows/ubsan-x86.yml
================================================
name: Test with UBSan on X86
on:
push:
branches:
- master
permissions:
contents: read
jobs:
# Build jobs
# These jobs build Racket using undefined behaviour sanitizers and gathers the results into a final log
racket3m-ubsan:
runs-on: ubuntu-22.04
container: racket/racket-ci:latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- name: Create logs directory
run: mkdir $PWD/logs
- name: Build
run: |
export cpus=$(grep -c ^processor /proc/cpuinfo)
make CPUS="${cpus}" PKGS="racket-test db-test unstable-flonum-lib net-test" CONFIGURE_ARGS_qq='CFLAGS="-fno-var-tracking-assignments" --enable-ubsan' RACKETBC_SUFFIX="" bc-in-place 2>&1 | tee logs/build.log
- name: Add new racket to PATH
run: |
echo "${GITHUB_WORKSPACE}/racket/bin" >> $GITHUB_PATH
find /__w/racket/racket/racket/bin -type f
- name: Racket version
run: |
which racket
racket --version
- name: Run tests/racket/test
continue-on-error: true
run: raco test -l tests/racket/test 2>&1 | tee logs/racket-test.log
- name: Run tests/racket/contract/all
continue-on-error: true
run: racket -l tests/racket/contract/all | tee logs/contract-all.log
- name: Run tests/json/json
continue-on-error: true
run: raco test -l tests/json/json | tee logs/json-json.log
- name: Run tests/file/main
continue-on-error: true
run: raco test -l tests/file/main | tee logs/file-main.log
- name: Run tests/net/head
continue-on-error: true
run: raco test -l tests/net/head | tee logs/net-head.log
- name: Run tests/net/uri-codec
continue-on-error: true
run: raco test -l tests/net/uri-codec | tee logs/uri-codec.log
- name: Run tests/net/url
continue-on-error: true
run: raco test -l tests/net/url | tee logs/net-url.log
- name: Run tests/net/url-port
continue-on-error: true
run: raco test -l tests/net/url-port | tee logs/url-port.log
- name: Run tests/net/encoders
continue-on-error: true
run: raco test -l tests/net/encoders | tee logs/net-encoders.log
- name: Run tests/openssl/basic
continue-on-error: true
run: raco test -l tests/openssl/basic | tee logs/openssl-basic.log
- name: Run tests/openssl/https
continue-on-error: true
run: raco test -l tests/openssl/https | tee logs/openssl-https.log
- name: Run tests/match/main
continue-on-error: true
run: raco test -l tests/match/main | tee logs/match-main.log
- name: Run tests/zo-path
continue-on-error: true
run: raco test -l tests/zo-path | tee logs/zo-path.log
- name: Run tests/xml
continue-on-error: true
run: raco test -c tests/xml | tee logs/xml.log
- name: Run tests/future
continue-on-error: true
run: raco test --timeout 300 -c tests/future | tee logs/future.log
- name: Run tests/stxparse
continue-on-error: true
run: raco test -c tests/stxparse | tee logs/stxparse.log
- name: Run db tests
continue-on-error: true
run: raco test -l tests/db/all-tests | tee logs/db-all-tests.log
- name: Gather runtime errors
run: |
grep 'runtime error' logs/*.log > runtime-errors_git${{ github.sha }}.log || true
test ! -s runtime-errors_git${{ github.sha }}.log
- uses: actions/upload-artifact@v7
with:
name: runtime-errors_git${{ github.sha }}
path: runtime-errors_git${{ github.sha }}.log
racketcs-ubsan:
runs-on: ubuntu-22.04
container: racket/racket-ci:latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 100
- name: Create logs directory
run: mkdir $PWD/logs
- name: Build
run: |
export cpus=$(grep -c ^processor /proc/cpuinfo)
make CPUS="${cpus}" PKGS="racket-test db-test unstable-flonum-lib net-test" CONFIGURE_ARGS_qq='CFLAGS="-fno-var-tracking-assignments" --enable-ubsan' cs-in-place 2>&1 | tee logs/build.log
- name: Add new racket to PATH
run: |
echo "${GITHUB_WORKSPACE}/racket/bin" >> $GITHUB_PATH
find /__w/racket/racket/racket/bin -type f
- name: Racket version
run: |
which racket
racket --version
- name: Run tests/racket/test
continue-on-error: true
run: raco test -l tests/racket/test 2>&1 | tee logs/racket-test.log
- name: Run tests/racket/contract/all
continue-on-error: true
run: racket -l tests/racket/contract/all | tee logs/contract-all.log
- name: Run tests/json/json
continue-on-error: true
run: raco test -l tests/json/json | tee logs/json-json.log
- name: Run tests/file/main
continue-on-error: true
run: raco test -l tests/file/main | tee logs/file-main.log
- name: Run tests/net/head
continue-on-error: true
run: raco test -l tests/net/head | tee logs/net-head.log
- name: Run tests/net/uri-codec
continue-on-error: true
run: raco test -l tests/net/uri-codec | tee logs/uri-codec.log
- name: Run tests/net/url
continue-on-error: true
run: raco test -l tests/net/url | tee logs/net-url.log
- name: Run tests/net/url-port
continue-on-error: true
run: raco test -l tests/net/url-port | tee logs/url-port.log
- name: Run tests/net/encoders
continue-on-error: true
run: raco test -l tests/net/encoders | tee logs/net-encoders.log
- name: Run tests/openssl/basic
continue-on-error: true
run: raco test -l tests/openssl/basic | tee logs/openssl-basic.log
- name: Run tests/openssl/https
continue-on-error: true
run: raco test -l tests/openssl/https | tee logs/openssl-https.log
- name: Run tests/match/main
continue-on-error: true
run: raco test -l tests/match/main | tee logs/match-main.log
- name: Run tests/zo-path
continue-on-error: true
run: raco test -l tests/zo-path | tee logs/zo-path.log
- name: Run tests/xml
continue-on-error: true
run: raco test -c tests/xml | tee logs/xml.log
- name: Run tests/future
continue-on-error: true
run: raco test --timeout 300 -c tests/future | tee logs/future.log
- name: Run tests/stxparse
continue-on-error: true
run: raco test -c tests/stxparse | tee logs/stxparse.log
- name: Run db tests
continue-on-error: true
run: raco test -l tests/db/all-tests | tee logs/db-all-tests.log
- name: Gather runtime errors
run: |
grep 'runtime error' logs/*.log > runtime-errors-cs_git${{ github.sha }}.log || true
test ! -s runtime-errors_git${{ github.sha }}.log
- uses: actions/upload-artifact@v7
if: failure()
with:
name: runtime-errors-cs_git${{ github.sha }}
path: runtime-errors-cs_git${{ github.sha }}.log
================================================
FILE: .gitignore
================================================
# The "build" and "bundle" directories are used when creating installers
# via the `server', `client', and/or `farm' makefile targets.
/build/
/bundle/
# It's common to configure the PLTADDONDIR to be here.
/add-on/
# This is where to put packages installed with `--clone`
/extra-pkgs/
# Everything below makes sense on any package repository, so it's
# stuff that should be put into each such repository. The same holds
# for ".mailmap" (which some people can decide if they want to thin it
# out or not include it) and for ".gitattributes" (which is probably
# irrelevant except maybe for the core repo).
compiled/
# common backups, autosaves, lock files, OS meta-files
*~
\#*
.#*
.DS_Store
*.bak
TAGS
*.swn
*.swo
*.swp
.gdb_history
/.vscode/
# generated by patch
*.orig
*.rej
# coredumps
*.core
# generated by Zuo
_zuo.db
_zuo_tc.db
================================================
FILE: .lgtm.yml
================================================
extraction:
cpp:
configure:
command:
- make fetch-pb
- cd racket/src
- ./configure --disable-docs
index:
build_command:
- cd racket/src
- make -j2
================================================
FILE: .mailmap
================================================
# Core racket-lang.org people
Eli Barzilay <eli@racket-lang.org> <eli@barzilay.org>
Eli Barzilay <eli@racket-lang.org> <eli@plt-racket.org>
Kevin Tew <tewk@racket-lang.org> <tewk@tan.tewk.com>
Sam Tobin-Hochstadt <samth@racket-lang.org> <samth@punge.ccs.neu.edu>
Sam Tobin-Hochstadt <samth@racket-lang.org> <samth@ccs.neu.edu>
Vincent St-Amour <stamourv@racket-lang.org> <stamourv@ccs.neu.edu>
James Swaine <jamesswaine@racket-lang.org> <james.swaine@gmail.com>
Jens Axel Soegaard <soegaard@racket-lang.org> <jensaxel@soegaard.net>
Matthew Flatt <mflatt@racket-lang.org> <mflatt@cs.utah.edu>
Matthew Flatt <mflatt@racket-lang.org> <mflatt@debian.cs.utah.edu>
Matthew Flatt <mflatt@racket-lang.org> <mflatt@localhost.(none)>
Matthew Flatt <mflatt@racket-lang.org> <mflatt@mflatt-laptop.(none)>
Matthew Flatt <mflatt@racket-lang.org> <mflatt@mflatt-VirtualBox.(none)>
Matthew Flatt <mflatt@racket-lang.org> <mflatt@ubuntu-12-64.(none)>
Kathy Gray <kathyg@racket-lang.org> <kathryn.gray@cl.cam.ac.uk>
Kathy Gray <kathyg@racket-lang.org> <kathyg@c0133.aw.cl.cam.ac.uk>
Matthias Felleisen <matthias@racket-lang.org> <matthias@ccs.neu.edu>
Robby Findler <robby@racket-lang.org> <robby@eecs.northwestern.edu>
Jon Rafkind <rafkind@racket-lang.org> jon <jon@jon-laptop.(none)>
Stephen Chang <stchang@racket-lang.org> <stchang216@gmail.com>
Stephen Chang <stchang@racket-lang.org> <stchang@ccs.neu.edu>
Asumu Takikawa <asumu@racket-lang.org> <asumu@ccs.neu.edu>
Asumu Takikawa <asumu@racket-lang.org> <asumu@interchange.ubc.ca>
Guillaume Marceau <gmarceau@racket-lang.org> <gmarceau@gmail.com>
Danny Yoo <dyoo@racket-lang.org> <dyoo@cs.wpi.edu>
Danny Yoo <dyoo@racket-lang.org> <dyoo@hashcollision.org>
Philippe Meunier <meunier@racket-lang.org> <meunier@git.racket-lang.org>
David Van Horn <dvanhorn@racket-lang.org> <dvanhorn@ccs.neu.edu>
Christos Dimoulas <chrdimo@racket-lang.org>
Eric Dobson <endobson@racket-lang.org> <endobson@cs.brown.edu>
Eric Dobson <endobson@racket-lang.org> <eric.n.dobson@gmail.com>
# Additional people
Gregory Cooper <ghcooper@gmail.com>
Gregory Cooper <ghcooper@gmail.com> <greg@cs.brown.edu>
J. Ian Johnson <ianj@ccs.neu.edu> <ianj@bubbles.ccs.neu.edu>
J. Ian Johnson <ianj@ccs.neu.edu> <ianj@moonpatrol.ccs.neu.edu>
Kimberly Wilber <kimmy@kjwilber.org> <gcr@sneakygcr.net>
Kimberly Wilber <kimmy@kjwilber.org> <wilmic1102@gmail.com>
Michael Filonenko <filonenko.mikhail@gmail.com> <mfilonenko@ipa.nw.ru>
Rodolfo Carvalho <rhcarvalho@gmail.com>
Steven Jaconette <jacones@u.northwestern.edu> <stevenjaconette2007@u.northwestern.edu>
Tim Brown <tim@timb.net> <tim.brown@cityc.co.uk>
Marc Burns <m4burns@uwaterloo.ca> Marc Burns <marc@localhost.localdomain>
Alexander McLin <alex.mclin@gmail.com> <abmclin@users.noreply.github.com>
Alexander McLin <alex.mclin@gmail.com> <abm@automaton.win.ad.jhu.edu>
Alexander McLin <alex.mclin@gmail.com> Alexander B. McLin <alex.mclin@gmail.com>
Winston Weinert <winston@ml1.net>
Alex Knauth <alexander@knauth.org>
Ben Greenman <types@ccs.neu.edu>
Ben Greenman <types@ccs.neu.edu> <benjaminlgreenman@gmail.com>
Gustavo Massaccesi <gustavo@oma.org.ar>
Milo Turner <iitalics@gmail.com>
Tobias Grelsson <tgrelsson@gmail.com>
Chen Xiao <chenxiao770117@gmail.com>
Richard Hopkins <hopkinsr@server.fake>
================================================
FILE: LICENSE.txt
================================================
Racket is distributed under the MIT license and the Apache License,
version 2.0, at your option. However, the Racket runtime system includes
components distributed under other licenses. In short:
* The Racket CS runtime system embeds Chez Scheme, which is distributed
under the Apache License, version 2.0. This runtime system is built
from code in "racket/src/cs" and "racket/src/ChezScheme".
* The Racket BC runtime system includes code distributed under the GNU
Lesser General Public License, either version 3 of the license, or (at
your option) any later version. This runtime system is built from code
in "racket/src/bc".
Except for Windows executables that are created with the “embed DLLs”
option, the runtime system remains separate as a shared library or
additional executable, which means that it is dynamically linked and can
be replaced with a modified variant by users.
See the file "racket/src/LICENSE-APACHE.txt" for the full text of the
Apache License, version 2.0.
See the file "racket/src/LICENSE-MIT.txt" for the full text of the MIT
license.
See the file "racket/src/LICENSE-LGPL.txt" for the full text of the GNU
Lesser General Public License, version 3.
The source code of Racket is available at
https://github.com/racket/racket and
https://download.racket-lang.org/releases.
The Racket runtime system includes or extends several components which
have their own licenses.
The following are used in all Racket executables:
* SHA-224 and SHA-256 implementation from Mbed TLS
Copyright © 2006–2015, ARM Limited, All Rights Reserved
Mbed TLS is licensed under the Apache License, version 2.0.
Code from Mbed TLS can be found in "racket/src/rktio/rktio_sha2.c" and
"racket/src/zuo/zuo.c".
* ZLib
Copyright © 1995–2022 Jean-loup Gailly and Mark Adler
Zlib is distributed under a liberal license: see https://zlib.net.
Code translated from earlier versions of Zlib can be found in
"racket/collects/file/{gzip,gunzip}.rkt". Racket CS executables also
use Zlib via Chez Scheme: a copy of Zlib can be found in
"racket/src/ChezScheme/zlib". Additionally, on some platforms, Zlib is
packaged with the support libraries for racket/draw.
* Terminal support from Chez Scheme
Both Racket BC and Racket CS use primitive terminal support code from
Chez Scheme’s expression editor, which is based on a command-line
editor for Scheme developed from 1989 through 1994 by C. David Boyer.
This code can be found in "racket/src/ChezScheme/c/expeditor.c". The
expression editor, like the rest of Chez Scheme, is licensed under the
Apache License, version 2.0.
* Startup path support from LLVM
The implementation of the C API function racket_get_self_exe_path in
Racket CS and related internal functions in Racket BC includes code
from the LLVM Project, which is licensed under the Apache License,
version 2.0, with LLVM exceptions. Code adapted from the LLVM Project
can be found in "racket/src/start/self_exe.inc".
The following are used in all Racket executables for Windows:
* MemoryModule
Copyright © 2004–2015 by Joachim Bauch / mail@joachim-bauch.de
https://www.joachim-bauch.de
MemoryModule is licensed under the Mozilla Public License, version
2.0: see https://www.mozilla.org/en-US/MPL/2.0/ for the full text of
the license. Code from MemoryModule can be found in
"racket/src/start/MemoryModule.{c,h}".
The following are used only in Racket BC executables:
* libscheme
Copyright © 1994 Brent Benson
All rights reserved.
See the file "racket/src/LICENSE-libscheme.txt" for the full text of
the libscheme license. Code from libscheme can be found in
"racket/src/bc/src".
* GNU Lightning
Copyright © 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2011 Free
Software Foundation, Inc.
GNU Lightning is distributed under the GNU Lesser General Public
License, version 3, or (at your option) any later version.
A fork of GNU Lightning can be found in "racket/src/bc/src/lightning".
* GNU MP Library
Copyright © 1991, 1992, 1993, 1994, 1996, 1999, 2000, 2007 Free
Software Foundation, Inc.
GMP is distributed under the GNU Lesser General Public License,
version 3, or (at your option) any later version.
Code from GMP can be found in "racket/src/bc/src/gmp".
* libunwind
Copyright © 2003–2005 Hewlett-Packard Development Company, L.P.
libunwind is distributed under the MIT license.
Code from libunwind can be found in "racket/src/bc/src/unwind".
* libffi
Copyright © 1996–2019 Anthony Green, Red Hat, Inc and others.
libffi is distributed under the MIT license.
A copy of libffi can be found in "racket/src/bc/foreign/libffi".
* random.inc
Based on "random.c" from FreeBSD 2.2.
Copyright © 1983, 1993 The Regents of the University of California.
This code is distributed under a three-clause BSD license.
Code from FreeBSD 2.2 can be found in "racket/src/bc/src/random.inc".
In addition to the Racket runtime system, the default mode of building
Racket will install some packages, which are distributed under their own
licenses.
The Racket code for all packages in the main Racket distribution is
primarily under the MIT license and the Apache License, version 2.0, at
your option, but some packages contain Racket code under other
permissive licenses.
Some components of Racket are implemented using additional shared
libraries. For some platforms and installation modes (especially for
Windows and Mac OS), these libraries are distributed in
platform-specific Racket packages; in other cases, they may be included
with the operating system or installable via the system’s package
manager. In all cases, these libraries are dynamically loaded and can be
replaced with modified variants by users. In particular:
* Even the “minimal Racket” distribution may include shared libraries
for OpenSSL, SQLite, and/or Editline, depending on the platform.
The Windows distribution also includes GNU libiconv, which is
distributed under the GNU Lesser General Public License, either
version 3 of the license, or (at your option) any later version. See
the byte converter documentation for further details.
* The Racket Drawing Toolkit is implemented using Cairo, Pango,
HarfBuzz, FriBidi, FreeType, FontConfig, and Glib. Some of these
libraries are distributed under the GNU Lesser General Public License:
see the applicable platform-specific Racket packages for details.
* The Racket Graphical Interface Toolkit is primarily implemented using
racket/draw and the native GUI framework for each platform, but can be
configured to always use GTK, instead. On Mac OS, racket/gui also
uses the libraries MMTabBarView and/or PSMTabBarControl, which are
distributed under a three-clause BSD license.
* The math/bigfloat library uses GNU MP and MPFR, which are distributed
under the GNU Lesser General Public License, either version 3 of the
license, or (at your option) any later version.
* Files generated by Scribble’s LaTeX renderer use LaTeX packages with
various licenses, such as the LaTeX Project Public License. Some of
these are distributed with the Racket package "scribble-lib"; others
may be installed as part of your TeX distribution.
For further details about the licenses for these libraries, see the
"LICENSE.txt" files included with the applicable platform-specific
packages.
Similarly, your Racket distribution or installation may have been
configured with additional packages, including third-party packages,
which could use other licenses: see the documentation or "LICENSE.txt"
file included with each package for information about the applicable
licenses.
The Racket source distribution also includes build scripts generated by
GNU Autoconf which are under various licenses, including the GNU General
Public License with Autoconf exception; however, these files are not
installed with Racket.
Finally, this Git repository also contains (in the "racket-benchmarks"
package) the following benchmarks based on third-party code which are
not part of the standard Racket distribution:
* psyntax (Portable implementation of syntax-case)
By R. Kent Dybvig, Oscar Waddell, Bob Hieb, and Carl Bruggeman
psyntax was extracted from Chez Scheme, which is distributed under the
Apache License, version 2.0; see also the file header for the original
permissive license. Code from psyntax can be found in
"pkgs/racket-benchmarks/tests/racket/benchmarks/common/psyntax.sch".
* SCM
Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
SCM is distributed under the GNU Lesser General Public License,
version 3, or (at your option) any later version.
Code from SCM can be found in
"pkgs/racket-benchmarks/tests/racket/benchmarks/shootout/pidigits1.rkt".
================================================
FILE: Makefile
================================================
# This makefile defines default values for various build modes and
# provides targets that mostly just dispatch to "main.zuo". It can
# be used either with `make` or `nmake`.
#
# The main targets are
#
# in-place = build in "racket" with all packages in development mode
#
# as-is = like `in-place`, but don't download anything new
#
# base = build in "collects" only (i.e., first step of `in-place`)
#
# [`cs-` or `bc-` can prefix any of the above to select a Racket CS
# or Racket BC build.]
#
# server = build base, build packages listed in $(PKGS) or specified
# via $(CONFIG), start server at port $(SERVER_PORT)
#
# client = build base, create an installer with $(PKGS) with the help
# of $(SERVER); result is recorded in "bundle/installer.txt"
#
# installers = `server' plus `client' via $(CONFIG)
#
# Various configuration options can be provided as arguments to
# `make`. For example, `PKGS` can be supplied with `make PKGS="..."`.
# Not all variables in the makefile are intended as arguments,
# though.
#
# Instead of using `make`, you can use `zuo` with the same targets
# and variable options.
# ------------------------------------------------------------
# Zuo macros (with `make` versus `nmake` magic)
# Most `make` variants will continue the end of this comment
# to the next line, due to the final backslash, but `nmake` won't.
# Also, OpenBSD's `make` won't, so see the end of this file \
ZUO = racket\src\build\zuo.exe
# Get `nmake` to skip this part \
!if 0
ZUO = racket/src/build/bin/zuo
PLUS_MODIFIER = +
#\
!endif
RUN_ZUO = $(PLUS_MODIFIER) $(ZUO) .
# ------------------------------------------------------------
# Base, in-place, and Unix-style builds
# Implementation selector: `cs` or `bc`
VM = cs
# Makefile parallelism propagated to `raco setup`:
JOBS =
# Backward compatibility:
CPUS =
# Parallelism from `make -j` with GNU make might also be detected
# Arguments to include in a call to `configure`
CONFIGURE_ARGS =
# Like `CONFIGURE_ARGS`, but for historical reasons, "`pwd`" is
# replaced with the build subdirectory where `configure` is run
CONFIGURE_ARGS_qq =
# ------------------------------------------------------------
# Cross-build support
# Cross-build mode: `-cross` or ``
CS_CROSS_SUFFIX =
# Racket to use for building `RACKET`, which must be the same
# version and virtual machine as being built:
RACKET =
# Old name for `RACKET`:
PLAIN_RACKET =
# For CS, if `RACKET` and `BOOTFILE_RACKET` are not set, the build
# uses the `pb` repo to get initial portable-byte Chez Scheme boot
# files; if `RACKET` is set, then it is always run in preference to
# the built Racket, so it's useful for cross-compilation, and it needs
# to be essentially the same version and variant as being built; if
# only `BOOTFILE_RACKET` is set, then it doesn't have to be so similar
# to the one being built, because it's used only to create initial
# Chez Scheme boot files
BOOTFILE_RACKET =
# For CS, `SCHEME` can be set to a Chez Scheme (v9.5.3 and up)
# executable that runs on the build platform; if set, this will be used
# to create the Chez Scheme boot files (for both cross and non-cross
# builds); this is a much more direct path than supplying `RACKET`; it
# does not need to match the Chez Scheme version as used in the Racket
# being built; a "reboot" bootstrapping path is able to reconstruct
# boot files across versions.
SCHEME =
# For CS, points a cross build at a directory containing a host build;
# this path can be relative to the cross build directory
CS_HOST_WORKAREA_PREFIX =
# For building Zuo:
CC_FOR_BUILD = $(CC) -O2
CFLAGS_FOR_BUILD =
# ------------------------------------------------------------
# Racket CS boot files
# This branch name must be changed each time the pb boot files are
# updated:
PB_BRANCH = v10.4.0-pre-release.4-1
PB_REPO = https://github.com/racket/pb
# Set to empty for Git before v1.7.10:
SINGLE_BRANCH_FLAG = --single-branch
# Alternative source for Chez Scheme boot files, normally set by
# the distro-build client driver
EXTRA_REPOS_BASE =
# ------------------------------------------------------------
# Package update and setup options
# Packages (separated by spaces) to link in development mode or
# to include in a distribution; if "{}" appears at the start,
# then the content of "build/PKGS" can override when that file
# exists:
PKGS = {} main-distribution main-distribution-test
# Needed for any distribution (not meant to be configured):
REQUIRED_PKGS = racket-lib
# Needed for distro-build (not meant to be configured):
DISTRO_BUILD_PKGS = distro-build-lib
# Options passed along to any `raco pkg update` run:
PKG_UPDATE_OPTIONS =
# Options passed along to any `raco setup` run:
PLT_SETUP_OPTIONS =
# Catalog for package sources, but packages within this
# repo take precedence:
SRC_CATALOG = https://pkgs.racket-lang.org
# Built-in catalog for package sources (not meant to be configured):
DEFAULT_SRC_CATALOG = https://pkgs.racket-lang.org
# For -M, etc., to pick the target machine for compilation:
SETUP_MACHINE_FLAGS =
# Set to "-M" as a shorthand for
# SETUP_MACHINE_FLAGS="-MCR `pwd`build/zo:"
# CONFIGURE_ARGS="--enable-crossany"
# for `server` and derived targets
SERVER_COMPILE_MACHINE = -M
# ------------------------------------------------------------
# Installation options
# For Unix-style builds, where to install:
PREFIX =
# For Unix-style builds, a directory where an installation
# that's destined for `PREFIX` is staged (to be moved later):
DESTDIR =
# Can be "bc" or empty:
RACKETBC_SUFFIX = bc
# Can be "cs" or empty:
RACKETCS_SUFFIX =
# ------------------------------------------------------------
# Build targets
# Using `$(MAKE)` instead of `"$(MAKE)"` to work with Windows and NMAKE
BUILD_VARS = MAKE=$(MAKE) \
VM="$(VM)" \
JOBS="$(JOBS)" \
CPUS="$(CPUS)" \
CONFIGURE_ARGS_qq='$(CONFIGURE_ARGS_qq)' \
CONFIGURE_ARGS="$(CONFIGURE_ARGS)" \
CS_CROSS_SUFFIX="$(CS_CROSS_SUFFIX)" \
RACKET="$(RACKET)" \
PLAIN_RACKET="$(PLAIN_RACKET)" \
BOOTFILE_RACKET="$(BOOTFILE_RACKET)" \
SCHEME="$(SCHEME)" \
CS_HOST_WORKAREA_PREFIX="$(CS_HOST_WORKAREA_PREFIX)" \
PB_BRANCH="$(PB_BRANCH)" \
PB_REPO="$(PB_REPO)" \
SINGLE_BRANCH_FLAG="$(SINGLE_BRANCH_FLAG)" \
EXTRA_REPOS_BASE="$(EXTRA_REPOS_BASE)" \
PKGS="$(PKGS)" \
PKG_UPDATE_OPTIONS="$(PKG_UPDATE_OPTIONS)" \
PLT_SETUP_OPTIONS="$(PLT_SETUP_OPTIONS)" \
SRC_CATALOG="$(SRC_CATALOG)" \
SETUP_MACHINE_FLAGS="$(SETUP_MACHINE_FLAGS)" \
PREFIX="$(PREFIX)" \
RACKETBC_SUFFIX="$(RACKETBC_SUFFIX)" \
RACKETCS_SUFFIX="$(RACKETCS_SUFFIX)" \
DESTDIR="$(DESTDIR)"
in-place: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS)
as-is: $(ZUO)
$(RUN_ZUO) as-is $(BUILD_VARS)
unix-style: $(ZUO)
$(RUN_ZUO) unix-style $(BUILD_VARS)
base: $(ZUO)
$(RUN_ZUO) base $(BUILD_VARS)
cs: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS) VM=cs
bc: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS) VM=bc
both: $(ZUO)
$(RUN_ZUO) both $(BUILD_VARS)
# Build of CS without pulling new packages or building docs
also-cs: $(ZUO)
$(RUN_ZUO) also-in-place $(BUILD_VARS) VM=cs
# Build of BC without pulling new packages or building docs
also-bc: $(ZUO)
$(RUN_ZUO) also-in-place $(BUILD_VARS) VM=bc
# For cross-compilation, build a native executable with no configure options:
native-cs-for-cross: $(ZUO)
$(RUN_ZUO) native-cs-for-cross $(BUILD_VARS)
native-bc-for-cross: $(ZUO)
$(RUN_ZUO) native-bc-for-cross $(BUILD_VARS)
local-catalog: $(ZUO)
$(RUN_ZUO) local-catalog $(BUILD_VARS)
# ------------------------------------------------------------
# pb update
# Helpers for managing the "pb" repo:
# * `make pb-build` to rebuild pb boot files
# * `make pb-stage` after updating `PB_BRANCH`
# * `make pb-push` to upload the branch after checking that
# the staged branch looks right
# If you don't have push access to `PB_REPO`, you may need to
# change the origin of your "pb" checkout.
pb-fetch: $(ZUO)
$(RUN_ZUO) pb-fetch $(BUILD_VARS)
pb-build: $(ZUO)
$(RUN_ZUO) pb-build $(BUILD_VARS)
pb-stage: $(ZUO)
$(RUN_ZUO) pb-stage $(BUILD_VARS)
pb-push: $(ZUO)
$(RUN_ZUO) pb-push $(BUILD_VARS)
# ------------------------------------------------------------
# Clean (which just gives advice)
clean:
@echo "No makefile support for cleaning. Instead, try"
@echo " git clean -d -x -f ."
@exit 1
# ------------------------------------------------------------
# Linking all packages (development mode; not an installer build)
pkgs-catalog: $(ZUO)
$(RUN_ZUO) pkgs-catalog $(BUILD_VARS)
# ------------------------------------------------------------
# Configuration options for building installers
# On variable definitions: Spaces are allowed where noted and
# disallowed otherwise. If a variable name ends in "_q" or "_qq", then
# it means that the variable can expand to include double-quote marks.
# (If a variable's name ends in "_qq", then it used to allow a
# combination of single-quote and double-quote marks, sortof, but
# that's no longer supported at all; use `zuo` directly if that's
# needed). If a variable's name does not end in "_q" or "_qq", don't
# use any quote marks on the right-hand side of its definition.
# A URL embedded in documentation for remote searches, where a Racket
# version and search key are added as query fields to the URL, and ""
# is replaced by default:
DOC_SEARCH =
# Server for built packages (i.e., the host where you'll run the
# server):
SERVER = localhost
SERVER_PORT = 9440
SERVER_URL_SCHEME = http
# Paths on the server to reach catalog content and "collects.tgz",
# if not the root:
SERVER_CATALOG_PATH =
SERVER_COLLECTS_PATH =
# Set `SERVER_HOSTS` to a comma-delimited set of server addresses
# that determine the interfaces on which the server listens; the
# default, "localhost", listens only on the loopback device, while
# anf empty value listens on all interfaces:
SERVER_HOSTS = localhost
# Set `PACK_BUILT_OPTIONS` to "--mode <mode>" to force all packages to
# a specific mode, but the default infers "built" or "binary"
PACK_BUILT_OPTIONS =
# Set to "--release" to create release-mode installers (as opposed to
# snapshot installers):
RELEASE_MODE =
# Set to "--source" to create an archive (instead of an "installer"
# proper) on a client that has the run-time system in source form:
SOURCE_MODE =
# Set to "--versionless" to avoid a version number in an installer's
# name or installation path:
VERSIONLESS_MODE =
# Set to "--mac-pkg" to create ".pkg"-based installers for Mac OS,
# instead of a ".dmg" for drag-and-drop installation:
MAC_PKG_MODE =
# Set to "--tgz" to create a ".tgz" archive instead of an installer:
TGZ_MODE =
# Comma-separated options for the `--packed-options` argument to
# `distro-build/installer`, which generalizes simple switches like
# `--mac-pkg` and `--tgz`; we don't just take a sequence of regular
# command-line switches here, because it's difficult to thread those
# through `make` variants like `nmake`:
INSTALLER_OPTIONS =
# Set to "--source --no-setup" to include packages in an installer
# (or archive) only in source form:
PKG_SOURCE_MODE =
# Set to "--disable-lib" to avoid including ".a" and ".boot" files
# for use in embedding Racket in other applications
DISABLE_STATIC_LIBS =
# Set to a base64-encoded list of strings for an executable and
# arguments to run on an assembled directory (on the client machine)
# before it is packaged into an installer, or empty for no pre-process
# action:
INSTALLER_PRE_PROCESS_BASE64 =
# Set to a base64-encoded list of strings for an executable and
# arguments to run on an installer (on the client machine) before the
# installer is uploaded, or empty for no post-process action:
INSTALLER_POST_PROCESS_BASE64 =
# Set to a base64-encoded list of 2-element lists, symbol and value,
# to install as "racket-prefs.rktd" in the configuration directory,
# which initialized preferences to default values when a preferences
# file does not already exist:
PREF_DEFAULTS_BASE64 =
# Human-readable name (spaces allowed), installation name base, and
# Unix installation directory name for the generated installers:
DIST_NAME = Racket
DIST_BASE = racket
DIST_DIR = racket
# An extra suffix for the installer name, usually used to specify
# a variant of an OS:
DIST_SUFFIX =
# A human-readable description (spaces allowed) of the generated
# installer, usually describing a platform, used for upload:
DIST_DESC =
# Package catalog URLs (individually quoted as needed, separated by
# spaces) to install as the initial configuration in generated
# installers, where "" is replaced by the default configuration:
DIST_CATALOGS_q = ""
# An identifier for this build; if not specified, a build identifier
# is inferred from the date and git repository
BUILD_STAMP =
# "Name" of the installation used for `user' package scope by default
# in an installation from an installer, where an empty value leaves
# the default as the version number:
INSTALL_NAME =
# For Mac OS, a signing identity (spaces allowed) for binaries in an
# installer:
SIGN_IDENTITY =
# For Mac OS, set to a signing certificate configuration for use with
# `rcodesign` as a base64-encoded hash table, where the distro-build
# documentation for `#:sign-cert-config` describes the keys and
# values:
SIGN_CERT_BASE64 =
# For Mac OS, set to a notarization configuration as a base64-encoded
# hash table <config> in `--notarization-config <config>`, where the
# distro-build documentation for `#:notarization-config` describes the
# keys and values:
NOTARIZATION_CONFIG =
# For Windows, `osslsigncode' arguments other than `-n', `-t', `-in',
# and `-out' as a Base64-encoded, S-expression, list of strings:
OSSLSIGNCODE_ARGS_BASE64 =
# URL for a README file to include in an installer (empty for none,
# spaces allowed):
README = $(SERVER_URL_SCHEME)://$(SVR_PRT)/README.txt
# URL destination to upload an installer file after it is created
# (empty for no upload, spaces allowed); the file name is added to the
# end of the URL, and DIST_DESC is passed as a "Description:" header:
UPLOAD =
# Configuration module that describes a build, normally implemented
# with `#lang distro-build/config':
CONFIG = build/site.rkt
# A mode that is made available to the site-configuration module
# through the `current-mode' parameter:
CONFIG_MODE = default
# Set to "--clean" to flush client directories in a build farm
# (except as overridden in the `CONFIG' module):
CLEAN_MODE =
# Alternate way to set the number of parallel jobs used for package and
# setup operations; leave empty or set to "-j <jobs>":
JOB_OPTIONS =
# $(USER_RACKET) arguments for a command to run after the server has
# started; normally set by the `installers' target:
SERVE_DURING_CMD_qq =
# To configure package installations for the installer:
PKG_INSTALL_OPTIONS =
# Set to `--skip` to avoid unpacking collects from the server:
UNPACK_COLLECTS_FLAGS =
# Directory to cache recompiled modules
RECOMPILE_CACHE =
# The `test-client` atarget is an optional test step for an installer
# build, were `TEST_PKGS` names extra packages to install, and
# `TEST_ARGS_q` is a set of arguments to `raco test`. This step will
# not make sense for some kinds of builds, such as source builds or
# cross-platform builds.
TEST_PKGS =
TEST_ARGS_q =
# Backward-compatibility target selector: `base` or `cs-base` or `bc-base`
CLIENT_BASE = base
# Backward-compatibility target selector: `win-base` or `win-cs-base` or `win-bc-base`
WIN32_CLIENT_BASE = win-base
# Backward-compatibility target selector: `bundle-from-server` or `bundle-cross-from-server`
BUNDLE_FROM_SERVER_TARGET = bundle-from-server
# For `client-from-site`, relative path on server for the site
SITE_PATH =
DISTRO_BUILD_VARS = SERVER_COMPILE_MACHINE="$(SERVER_COMPILE_MACHINE)" \
DOC_SEARCH="$(DOC_SEARCH)" \
SERVER="$(SERVER)" \
SERVER_PORT="$(SERVER_PORT)" \
SERVER_URL_SCHEME="$(SERVER_URL_SCHEME)" \
SERVER_CATALOG_PATH="$(SERVER_CATALOG_PATH)" \
SERVER_COLLECTS_PATH="$(SERVER_COLLECTS_PATH)" \
SERVER_HOSTS="$(SERVER_HOSTS)" \
PACK_BUILT_OPTIONS="$(PACK_BUILT_OPTIONS)" \
RELEASE_MODE="$(RELEASE_MODE)" \
SOURCE_MODE="$(SOURCE_MODE)" \
VERSIONLESS_MODE="$(VERSIONLESS_MODE)" \
MAC_PKG_MODE="$(MAC_PKG_MODE)" \
TGZ_MODE="$(TGZ_MODE)" \
INSTALLER_OPTIONS="$(INSTALLER_OPTIONS)" \
PKG_SOURCE_MODE="$(PKG_SOURCE_MODE)" \
DISABLE_STATIC_LIBS="$(DISABLE_STATIC_LIBS)" \
INSTALLER_PRE_PROCESS_BASE64="$(INSTALLER_PRE_PROCESS_BASE64)" \
INSTALLER_POST_PROCESS_BASE64="$(INSTALLER_POST_PROCESS_BASE64)" \
PREF_DEFAULTS_BASE64="$(PREF_DEFAULTS_BASE64)" \
DIST_NAME="$(DIST_NAME)" \
DIST_BASE="$(DIST_BASE)" \
DIST_DIR="$(DIST_DIR)" \
DIST_SUFFIX="$(DIST_SUFFIX)" \
DIST_DESC="$(DIST_DESC)" \
DIST_CATALOGS_q='$(DIST_CATALOGS_q)' \
BUILD_STAMP="$(BUILD_STAMP)" \
INSTALL_NAME="$(INSTALL_NAME)" \
SIGN_IDENTITY="$(SIGN_IDENTITY)" \
SIGN_CERT_BASE64="$(SIGN_CERT_BASE64)" \
NOTARIZATION_CONFIG="$(NOTARIZATION_CONFIG)" \
OSSLSIGNCODE_ARGS_BASE64="$(OSSLSIGNCODE_ARGS_BASE64)" \
README="$(README)" \
UPLOAD="$(UPLOAD)" \
CONFIG="$(CONFIG)" \
CONFIG_MODE="$(CONFIG_MODE)" \
CLEAN_MODE="$(CLEAN_MODE)" \
JOB_OPTIONS="$(JOB_OPTIONS)" \
SERVE_DURING_CMD_qq='$(SERVE_DURING_CMD_qq)' \
PKG_INSTALL_OPTIONS="$(PKG_INSTALL_OPTIONS)" \
UNPACK_COLLECTS_FLAGS="$(UNPACK_COLLECTS_FLAGS)" \
RECOMPILE_CACHE="$(RECOMPILE_CACHE)" \
TEST_PKGS="$(TEST_PKGS)" \
TEST_ARGS_q='$(TEST_ARGS_q)' \
CLIENT_BASE="$(CLIENT_BASE)" \
WIN32_CLIENT_BASE="$(WIN32_CLIENT_BASE)" \
BUNDLE_FROM_SERVER_TARGET="$(BUNDLE_FROM_SERVER_TARGET)"
# ------------------------------------------------------------
# On a server platform (for an installer build):
# These targets require GNU `make`, so that we don't have to propagate
# variables through all of the target layers.
server: $(ZUO)
$(RUN_ZUO) server $(BUILD_VARS) $(DISTRO_BUILD_VARS)
server-from-base: $(ZUO)
$(RUN_ZUO) server-from-base $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# ------------------------------------------------------------
# On each supported platform (for an installer build):
#
# The `client` (and `win-client`) targets are also used by
# `distro-build/drive-clients`, which is in turn run by the
# `installers` target.
#
# For a non-Windows machine, if "build/log" exists, then
# keep the "build/user" directory on the grounds that the
# client is the same as the server.
client: $(ZUO)
$(RUN_ZUO) client $(BUILD_VARS) $(DISTRO_BUILD_VARS)
client-compile-any: $(ZUO)
$(RUN_ZUO) client-compile-any $(BUILD_VARS) $(DISTRO_BUILD_VARS)
client-no-installer: $(ZUO)
$(RUN_ZUO) client-no-installer $(BUILD_VARS) $(DISTRO_BUILD_VARS)
test-client: $(ZUO)
$(RUN_ZUO) test-client $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# ------------------------------------------------------------
# On a supported platform (for an installer build) after a `make site'
# has completed; SERVER, SERVER_PORT (usually 80), and SITE_PATH
# should be set, and other configurations are propagated; normally,
# README should be set (possibly to empty), because a site doesn't
# provide a generic "README.txt".
client-from-site:
$(RUN_ZUO) client-from-site $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# ------------------------------------------------------------
# Drive installer build across server and clients:
# Full server build and clients drive, based on `CONFIG':
installers: $(ZUO)
$(RUN_ZUO) installers $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# Server is already built; start it and drive clients:
installers-from-built: $(ZUO)
$(RUN_ZUO) installers-from-built $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# Cleans local clients --- including Docker containers, but cannot clean remote
# or virtual machines, if any; does not delete anything that `installers`
# will delete, anyway, but creates a clean slate for `installers-from-built`
clean-clients: $(ZUO)
$(RUN_ZUO) clean-clients $(BUILD_VARS) $(DISTRO_BUILD_VARS)
describe-clients: $(ZUO)
$(RUN_ZUO) describe-clients $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# ------------------------------------------------------------
# Create installers, then assemble as a web site:
site: $(ZUO)
$(RUN_ZUO) site $(BUILD_VARS) $(DISTRO_BUILD_VARS)
site-from-installers: $(ZUO)
$(RUN_ZUO) site-from-installers $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# ------------------------------------------------------------
# Create a snapshot site:
snapshot-site: $(ZUO)
$(RUN_ZUO) snapshot-site $(BUILD_VARS) $(DISTRO_BUILD_VARS)
snapshot-at-site: $(ZUO)
$(RUN_ZUO) snapshot-at-site $(BUILD_VARS) $(DISTRO_BUILD_VARS)
# ------------------------------------------------------------
# Run steps that require a working `racket` to build things
# that need to be in sync to build `racket` in the first place
derived: $(ZUO)
$(RUN_ZUO) derived $(BUILD_VARS)
# ------------------------------------------------------------
# Compatibility targets
cs-base: $(ZUO)
$(RUN_ZUO) base $(BUILD_VARS) VM=cs
bc-base: $(ZUO)
$(RUN_ZUO) base $(BUILD_VARS) VM=bc
cs-in-place: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS) VM=cs
bc-in-place: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS) VM=bc
win32-in-place: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS)
win32-as-is: $(ZUO)
$(RUN_ZUO) as-is $(BUILD_VARS)
win32-base: $(ZUO)
$(RUN_ZUO) base $(BUILD_VARS)
win32-cs: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS) VM=cs
win32-cs-in-place: $(ZUO)
$(RUN_ZUO) in-place $(BUILD_VARS) VM=cs
win32-cs-as-is: $(ZUO)
$(RUN_ZUO) as-is $(BUILD_VARS) VM=cs
win32-cs-base: $(ZUO)
$(RUN_ZUO) base $(BUILD_VARS) VM=cs
win32-both: $(ZUO)
$(RUN_ZUO) both $(BUILD_VARS)
win32-also-cs: $(ZUO)
$(RUN_ZUO) also-cs $(BUILD_VARS)
win-client: $(ZUO)
$(RUN_ZUO) client $(BUILD_VARS) $(DISTRO_BUILD_VARS)
win-test-client: $(ZUO)
$(RUN_ZUO) test-client $(BUILD_VARS) $(DISTRO_BUILD_VARS)
fetch-pb: $(ZUO)
$(RUN_ZUO) pb-fetch $(BUILD_VARS)
ping: $(ZUO)
$(RUN_ZUO) ping $(BUILD_VARS)
# ------------------------------------------------------------
# Zuo build rules
racket/src/build/bin/zuo: racket/src/zuo/zuo.c
$(PLUS_MODIFIER) mkdir -p racket/src/build/bin
$(PLUS_MODIFIER) $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DZUO_LIB_PATH='"../../zuo/lib"' -o $(ZUO) racket/src/zuo/zuo.c
racket\src\build\zuo.exe: racket\src\zuo\zuo.c
IF NOT EXIST racket\src\build cmd /c mkdir racket\src\build
cd racket\src\build && cl.exe /O2 /DZUO_LIB_PATH=\"..\\zuo\\lib\" /Fezuo.exe ..\zuo\zuo.c
# ------------------------------------------------------------
# OpenBSD `make` workaround
# Open BSD sees the `!` lines that are intended for `nmake`, and it
# treats them as an empty target name with dependencies `if`, `0`,
# and `endif` --- and since that empty target is the first target, it's
# treated as the default, so bounce to the actual default target
# \
!if 0
#\
if endif 0: in-place
# \
!endif
================================================
FILE: README.md
================================================
[Racket](https://racket-lang.org/) is a general-purpose programming
language and an ecosystem for language-oriented programming.
This repository holds the source code for the core of Racket plus some
related packages. The rest of the Racket distribution source code is
in other repositories, mostly under [the Racket GitHub
organization](https://github.com/racket).
Quick Start
-----------
Pre-built versions of Racket for a variety of operating systems and
architectures, as well as convenient source distributions are
available at
[https://download.racket-lang.org](https://download.racket-lang.org)
Racket comes with extensive documentation, including several tutorials.
You can read all of this documentation, as well as documentation for
third-party packages at
[https://docs.racket-lang.org](https://docs.racket-lang.org)
Building from Source
--------------------
For information on building Racket from this repository, see the
[Build Guide](build.md).
Contributing
------------
Contribute to Racket by
* [submitting a pull request](https://github.com/racket/racket)
* visiting the Racket forums
* [Racket Discussions Discourse](https://racket.discourse.group/)
* [Racket Discord](https://discord.gg/6Zq8sH5) #internals
* [Slack](https://racket-slack.herokuapp.com/)
By making a contribution, you are agreeing that your contribution is
licensed under the LGPLv3, Apache 2.0, and MIT licenses. Those
licenses are available in this repository in the files
racket/src/LICENSE-LGPL.txt, racket/src/LICENSE-APACHE.txt, and
racket/src/LICENSE-MIT.txt.
See the [Building, Distributing, and Contributing to Racket](build.md)
for more guidance on contributing.
The [Friendly Environment Policy](https://racket-lang.org/friendly.html)
contains guidelines on expected behavior within the Racket community.
License
-------
Racket is free software; see [LICENSE](LICENSE.txt) for more details.
================================================
FILE: build.md
================================================
# Building, Distributing, and Contributing to Racket
The main Racket source code repository is
[https://github.com/racket/racket](https://github.com/racket/racket)
This guide explains how to build those sources, how to create Racket
distributions like the ones at
[https://download.racket-lang.org](https://download.racket-lang.org),
and how to contribute to Racket development.
If you’re reading this document in Markdown form, you may find the
[online HTML
version](https://docs.racket-lang.org/racket-build-guide/index.html)
more readable. There’s no guarantee that the online version is still
available or matches the Racket sources you’re using, however.
> [1 Building Racket from Source](#1-building-racket-from-source)
>> [1.1 Git Repository versus Source Distribution](#11-git-repository-versus-source-distribution)
>> [1.2 Git Repository Build Modes](#12-git-repository-build-modes)
>> [1.3 Quick Instructions: In-Place Build](#13-quick-instructions-in-place-build)
>> [1.4 Quick Instructions: Unix-Style Install](#14-quick-instructions-unix-style-install)
>> [1.5 More Instructions: Building Racket](#15-more-instructions-building-racket)
>> [1.6 More Instructions: Building Racket CS and Racket BC](#16-more-instructions-building-racket-cs-and-racket-bc)
>> [1.7 Even More Instructions: Building Racket Pieces](#17-even-more-instructions-building-racket-pieces)
>>> [1.7.1 Building Minimal Racket](#171-building-minimal-racket)
>>> [1.7.2 Installing Packages](#172-installing-packages)
>>> [1.7.3 Linking Packages for In-Place Development Mode](#173-linking-packages-for-in-place-development-mode)
> [2 Contributing to Racket Development](#2-contributing-to-racket-development)
>> [2.1 Main-Repository Contributions](#21-main-repository-contributions)
>> [2.2 Distribution-Package Contributions](#22-distribution-package-contributions)
>> [2.3 General Contribution Guidelines](#23-general-contribution-guidelines)
>> [2.4 More Resources](#24-more-resources)
> [3 Zuo and the Racket Build System](#3-zuo-and-the-racket-build-system)
> [4 Bootstrapping Racket](#4-bootstrapping-racket)
> [5 Distributing Racket Variants](#5-distributing-racket-variants)
>> [5.1 Running Build Farms](#51-running-build-farms)
>> [5.2 Generating Installer Web Sites](#52-generating-installer-web-sites)
>> [5.3 Managing Snapshot Web Sites](#53-managing-snapshot-web-sites)
>> [5.4 Separate Server and Clients](#54-separate-server-and-clients)
>> [5.5 Creating a Client from an Installer Web Site](#55-creating-a-client-from-an-installer-web-site)
>> [5.6 Cleaning Up Docker Containers](#56-cleaning-up-docker-containers)
## 1. Building Racket from Source
In a checkout of the Racket [Git
repository](https://github.com/racket/racket), you could try just
running
`make`
but we recommend that you at least consider the information in [Git
Repository versus Source
Distribution](#11-git-repository-versus-source-distribution) and [Git
Repository Build Modes](#12-git-repository-build-modes).
### 1.1. Git Repository versus Source Distribution
Instead of building from the [Git
repository](https://github.com/racket/racket), consider getting source
for the current Racket release from
[http://download.racket-lang.org/](http://download.racket-lang.org/)
or get a source snapshot (updated daily) from
[http://snapshot.racket-lang.org/](http://snapshot.racket-lang.org/)
The Source + built packages options from those sites will build and
install especially quickly, because platform-independent bytecode and
documentation are pre-built.
In contrast to the Git repository, release and snapshot source
distributions will work in the
`configure --prefix=... && make && make install`
way that you probably expect.
### 1.2. Git Repository Build Modes
The rest of this chapter assumes that you’re sticking with the [source
repository](https://github.com/racket/racket). In that case, you still
have several options, depending on your goal, but you almost certainly
want the first one:
* **In-place build** — _This mode is the default, and it is almost
certainly the mode you want._ In this mode, “build” and “install” are
the same, because the build is self-contained for in-place use. It
creates a build in the `"racket"` subdirectory and installs (local to
that subdirectory) packages that you specify (or the
`"main-distribution"` plus `"main-distribution-test"` packages by
default). Building and installing packages implies that documentation
provided by those packages is built and locally installed, too. Any
package implementations that reside in the `"pkgs"` subdirectory are
linked in-place. This is the most natural mode for developing Racket
itself or staying on the bleeding edge. See [Quick Instructions:
In-Place Build](#13-quick-instructions-in-place-build) for more
instructions.
* **Unix-style install** — _This mode is not the one you want for
contributing to Racket, but it can be a sensible choice for installing
Racket._ This mode builds and installs to a given destination
directory (on platforms other than Windows), leaving no reference to
the source directory. This is the most natural mode for installing
once from the source repository. See [Quick Instructions: Unix-Style
Install](#14-quick-instructions-unix-style-install) for more
instructions.
* **Minimal** — _This mode is a building block for miscellaneous tasks,
and probably not the mode you want._ This mode is like a source
distribution, and it is described in the `"src"` subdirectory of
`"racket"` (i.e., ignore the repository’s root directory and `"pkgs"`
subdirectory). Build an in-place minimal Racket using `make base`.
Alternatively, use `make pb-fetch` to download bootstrapping support,
and then in `"racket/src"` use the usual `configure && make && make
install` steps (or similar for Windows). After installation, you can
install packages from the catalog server with `raco pkg`; if you do
not use `make base`, you should install at least the `"racket-lib"`
package. See [Building Minimal Racket](#171-building-minimal-racket)
for more information.
* **Installers** — _This mode is for creating new distributions of
Racket, not for developing or installing Racket locally._ This mode
creates Racket distribution installers for a variety of platforms by
farming out work to machines that run those platforms. This is the way
that Racket snapshots and releases are created, and you can create
your own. See [Distributing Racket
Variants](#5-distributing-racket-variants) for more instructions.
* **In-place Racket BC build** — _This mode is for software
archeologists or developers with a particular need to access a
historical Racket implementation in a contemporary context._ This
mode builds the old Racket implementation (where “BC” means “bytecode”
or “before Chez Scheme”). Final executables with names that end in
`bc` or `BC` are the Racket BC variants. See [More Instructions:
Building Racket CS and Racket
BC](#16-more-instructions-building-racket-cs-and-racket-bc) for more
information.
### 1.3. Quick Instructions: In-Place Build
On Unix (including Linux) and Mac OS, `make` (or `make in-place`)
creates a build in the `"racket"` directory, and the build is an
“installation” in the sense that you can run it directly.
On Windows with Microsoft Visual Studio (any version between 2008/9.0
and 2022/17.0), `nmake` creates a build in the `"racket"` directory. If
your command-prompt environment is not already configured for Visual
Studio to run programs like `nmake.exe` and `cl.exe`, you can run
`"racket/src/worksp/msvcprep.bat"` \(PowerShell:
`"racket/src/worksp/msvcprep.ps1"`) and provide an argument that selects
a build mode: `x86` (32-bit Intel/AMD mode), `x64` or `x86_amd64`
(64-bit Intel/AMD mode), or `x64_arm64` (64-bit Arm mode). Any use of
`make` described in this build guide should also work with `nmake`,
except as noted.
In all cases, an in-place build includes (via links) a few packages that
are in the `"pkgs"` directory. To get new versions of those packages, as
well as the Racket core, then use `git pull`. Afterward, or to get new
versions of any other package, use `make in-place` again, which includes
a `raco pkg update` step.
See [More Instructions: Building
Racket](#15-more-instructions-building-racket) for more information. If
your goal is to contribute to Racket development, skip to [Contributing
to Racket Development](#2-contributing-to-racket-development), first.
### 1.4. Quick Instructions: Unix-Style Install
On Unix (including Linux), `make unix-style PREFIX=<dir>` builds and
installs into `"<dir>"` with binaries in `"<dir>/bin"`, packages in
`"<dir>/share/racket/pkgs"`, documentation in
`"<dir>/share/racket/doc"`, etc.
On Mac OS, `make unix-style PREFIX=<dir>` builds and installs into
`"<dir>"` with binaries in `"<dir>/bin"`, packages in
`"<dir>/share/pkgs"`, documentation in `"<dir>/doc"`, etc.
On Windows, Unix-style install is not supported.
A Unix-style install leaves no reference to the source directory.
To split the build and install steps of a Unix-style installation,
supply `DESTDIR=<dest-dir>` with `make unix-style PREFIX=<dir>`, which
assembles the installation in `"<dest-dir>"`. Then, copy or move the
content of `"<dest-dir>"` to the target root `"<dir>"`; take care to
preserve file timestamps.
See [More Instructions: Building
Racket](#15-more-instructions-building-racket) for more information.
### 1.5. More Instructions: Building Racket
The `"racket"` directory contains minimal Racket, which is just enough
to run `raco pkg` to install everything else. A first step of `make
in-place` or `make unix-style` is to build minimal Racket, and you can
read `"racket/src/README.txt"` for more information, including
information about dependencies. (The very first step of a build is to
compile Zuo, which is a tiny variant of Racket that [drives the rest of
the build system](#3-zuo-and-the-racket-build-system).)
If you would like to provide arguments to `configure` for the minimal
Racket build, then you can supply them with by adding
`CONFIGURE_ARGS="<options>"` to `make in-place` or `make unix-style`.
You can also put <_options_> in a file `"build/CONFIGURE_ARGS"` relative
to the repository’s root directory, and those are added to the end of
any <_options_> provided as `CONFIGURE_ARGS="<options>"`. On Windows,
the <_options_> are supplied to `winfig.bat` instead of `configure`.
The `"pkgs"` directory contains packages that are tied to the Racket
core implementation and are therefore kept in the same Git repository. A
`make in-place` links to the package in-place, while `make unix-style`
copies packages out of `"pkgs"` to install them.
To install a subset of the packages that would otherwise be installed,
supply a `PKGS` value to `make` or put a list of packages in
`"build/PKGS"` (relative to the repository’s root directory). For
example,
`make PKGS="gui-lib readline-lib"`
installs only the `"gui-lib"` and `"readline-lib"` packages and their
dependencies. The default value of `PKGS` is `"{} main-distribution
main-distribution-test"`, where the leading `{}` means that if
`"build/PKGS"` exists, its content is used as the list of packages. If
you run `make` a second time, all previously installed packages remain
installed and are updated, while new packages are added. To uninstall
previously selected package, use `raco pkg remove`.
To build anything other than the latest sources in the repository
\(e.g., when building from the `v6.2.1` tag), you need a catalog that’s
compatible with those sources. Release tags starting with `v7.1` include
a default catalog that corresponds to the release. For earlier versions,
the release distribution is configured to use a catalog specific to that
release, so you can extract the catalog’s URL from there.
Using `make` (or `make in-place`) sets the installation’s name to
`development`, unless the installation has been previously configured
(i.e., unless the `"racket/etc/config.rktd"` file exists). The
installation name affects, for example, the directory where
user-specific documentation is installed. Using `make` also sets the
default package scope to `installation`, which means that packages are
installed by default into the installation’s space instead of
user-specific space. The name and/or default-scope configuration can be
changed through `raco pkg config`.
When `make -j <n>` is used to specify parallelism, the build system may
be able to propagate that choice to intermediate steps and the `raco
setup` part. A more portable alternative is to supply the `JOBS`
variable:
`make JOBS=<n>`
Setting `JOBS` works with other targets, including `make unix-style`.
For backward compatibility, `CPUS` is recognized as an alias for `JOBS`.
Use `make as-is` to perform the same build actions as `make in-place`,
but without consulting any package catalogs or package sources to
install or update packages. In other words, use `make as-is` to rebuild
after local changes that could include changes to minimal Racket. (If
you change only packages, then `raco setup` should suffice.)
If you need even more control over the build, carry on to [Even More
Instructions: Building Racket
Pieces](#17-even-more-instructions-building-racket-pieces) further
below. If your goal is to contribute to Racket development, skip to
[Contributing to Racket
Development](#2-contributing-to-racket-development), first.
### 1.6. More Instructions: Building Racket CS and Racket BC
The default build of Racket, also known as Racket CS, uses and
incorporates Chez Scheme. Chez Scheme sources are included in the Racket
repository.
Building Racket CS requires either an existing Racket or pb (portable
bytecode) boot files for Chez Scheme. By default, pb boot files are
downloaded from a separate Git repository by `make`. If you have Racket
v7.1 or later, then you can choose instead to bootstrap using that
Racket implementation with
`make cs BOOTFILE_RACKET=racket`
The `make bc` target (or `make bc-as-is` for a rebuild) builds an older
variant of Racket, called Racket BC, which does not use Chez Scheme. By
default, the executables for the Racket BC variant all have a `bc` or
`BC` suffix, and they coexist with a Racket CS build by keeping compiled
files in a `"bc"` subdirectory of the `"compiled"` directory. You can
remove the `bc` suffix and the subdirectory in `"compiled"` by providing
`RACKETBC_SUFFIX=""` to `make bc`.
Along similar lines, you can add a `cs` suffix to the Racket CS
executables and cause them to use a machine-specific subdirectory of
`"compiled"` by providing `RACKETCS_SUFFIX="cs"` to `make` or `make cs`.
Use `make both` to build both Racket BC and Racket CS, where packages
are updated and documentation is built only once (using Racket CS).
### 1.7. Even More Instructions: Building Racket Pieces
Instead of just using `make in-place` or `make unix-style`, you can take
more control over the build by understanding how the pieces fit
together. You can also read `"Makefile"`, which defines and describes
many variables that can be supplied via `make`.
If you are just trying to get a build in place so you can to contribute
to Racket development, then you’ve probably read too far in this
section. Try jumping to [Contributing to Racket
Development](#2-contributing-to-racket-development).
#### 1.7.1. Building Minimal Racket
Instead of using the top-level makefile, you can go into `"racket/src"`
and follow the `"README.txt"` there, which gives you more configuration
options.
If you don’t want any special configuration and you just want the base
build, you can use `make base` with the top-level makefile.
Minimal Racket does not require additional native libraries to run.
Under Windows, encoding-conversion, extflonum, and SSL functionality is
hobbled until native libraries from the `"racket-lib"` package’s
dependencies are installed; that package is installed as part of `nmake
install`.
On all platforms, from the top-level makefile, the `PLT_SETUP_OPTIONS`
makefile variable is passed on to the `raco setup` that is used to build
minimal-Racket libraries. See the documentation for `raco setup` for
information on the options. (The `JOB_OPTIONS` makefile variable is also
passed on, but it is meant to be set by some makefile targets when
`CPUS` is non-empty.)
For cross compilation, add configuration options to
`CONFIGURE_ARGS="<options>"` as described in the `"README.txt"` of
`"racket/src"`, but also add a `RACKET=...` argument for the top-level
makefile instead of using `--enable-racket=...` for `configure`. \(You
can also put <_options_> in a file `"build/CONFIGURE_ARGS"`.)
Specify `SETUP_MACHINE_FLAGS=<options>` to set Racket flags that control
the target machine of compiled bytecode for `raco setup` and `raco pkg
install`. For example `SETUP_MACHINE_FLAGS=-M` causes the generated
bytecode to be machine-independent, which is mainly useful when the
generated installation will be used as a template for other platforms or
for cross-compilation.
#### 1.7.2. Installing Packages
After you’ve built and installed minimal Racket, you could install
packages via the package-catalog server, completely ignoring the content
of `"pkgs"`.
If you want to install packages manually out of the `"pkgs"` directory,
the `local-catalog` target creates a catalog as `"racket/local/catalog"`
that merges the currently configured catalog’s content with pointers to
the packages in `"pkgs"`. A Unix-style build works that way: it builds
and installs minimal Racket, and then it installs packages out of a
catalog that is created by `make local-catalog`.
To add a package catalog that is used after the content of `"pkgs"` but
before the default package catalogs, specify the catalog’s URL as the
`SRC_CATALOG` makefile variable:
`make .... SRC_CATALOG=<url>`
#### 1.7.3. Linking Packages for In-Place Development Mode
With an in-place build, you can edit packages within `"pkgs"` directly
or update those packages with `git pull` plus `raco setup`, since the
packages are installed with the equivalent of `raco pkg install -i
--static-link <path>`.
Instead of actually using `raco pkg install --static-link ...`, the
`pkgs-catalog` makefile target creates a catalog that points to the
packages in `"pkgs"`, and the catalog indicates that the packages are to
be installed as links. The `pkgs-catalog` target further configures the
new catalog as the first one to check when installing packages. The
configuration adjustment is made only if no configuration file
`"racket/etc/config.rktd"` exists already.
All other packages (as specified by `PKGS`) are installed via the
configured package catalog. They are installed in installation scope,
but the content of `"racket/share/pkgs"` is not meant to be edited. To
reinstall a package in a mode suitable for editing and manipulation with
Git tools, use
`raco pkg update --clone extra-pkgs/<pkg-name>`
The `"extra-pkgs"` directory name is a convention that is supported by a
`".gitignore"` entry in the repository root.
## 2. Contributing to Racket Development
The Racket developers are happy to receive bug reports and improvements
to the implementation and documentation through GitHub issues and pull
requests:
* Issues (bug reports):
[https://github.com/racket/racket/issues](https://github.com/racket/racket/issues)
* Pull requests (improvements):
[https://github.com/racket/racket/pulls](https://github.com/racket/racket/pulls)
The Racket distribution includes scores of packages that have their own
separate repositories, which somewhat complicates the process of sending
pull requests. The mechanism is the same, but see [Distribution-Package
Contributions](#22-distribution-package-contributions) for more
guidance.
By making a contribution, you are agreeing that your contribution is
licensed under the LGPLv3, Apache 2.0, and MIT licenses. Those licenses
are available in the [Racket Git
repository](https://github.com/racket/racket) in the files
`"LICENSE.txt"`, `"LICENSE-APACHE.txt"`, and `"LICENSE-MIT.txt"`.
### 2.1. Main-Repository Contributions
The [main Racket Git repository](https://github.com/racket/racket)
contains the implementation of everything that is in the Minimal Racket
distribution. That includes the runtime system, core libraries, and
`raco pkg` so that other packages can be installed.
The main Racket repository also has the source to the Racket Reference,
Racket Guide, and other core-ish documentation, including the source to
the document that you are reading. Those document sources are in the
repository’s `"pkgs"` directory.
Finally, the main repository includes a few other packages that are
especially tightly bound to the runtime-system implementation, such as
the `"compiler-lib"` package or the `"racket-test"` package. Those
package sources are also in the repository’s `"pkgs"` directory.
To develop improvements to any of those parts of Racket, following the
usual GitHub-based workflow:
* Fork the Racket repository.
* Create an in-place build as described in [Building Racket from
Source](#1-building-racket-from-source).
* Make your changes and rebuild with `make` or `make as-is` or `raco
setup`, where `raco setup` is the best choice when modifying Racket
libraries that are in `"collects"` or a package. If your changes
involve modifying things that are part of the `racket` executable,
then a simple `make` may not suffice; see “Modifying Racket” in
`"racket/src/README.txt"` for more information.
* Commit changes to your fork and [submit a pull
request](https://help.github.com/en/articles/creating-a-pull-request).
See the [General Contribution
Guidelines](#23-general-contribution-guidelines).
### 2.2. Distribution-Package Contributions
If you find yourself changing a file that is in a `"share/pkgs"`
subdirectory (either installed as part of a Racket release or as a
product of an in-place build), then that file is probably not part of
the main Racket Git repository. It almost certainly has its own Git
repository somewhere else, possibly within
[https://github.com/racket](https://github.com/racket), but possibly in
another user’s space. The name of the directory in `"share/pkgs"` is
almost certainly the package name.
To start working on a package <_pkg-name_>, in the directory you’d like
to hold the package’s source, use
`raco pkg update --clone <pkg-name>`
> For Racket version 8.14 and earlier as a release or snapshot, before
> using `--clone`, you first need to adjust the package installation to
> use the source specified by the main package catalog:
> `raco pkg update --no-setup --catalog https://pkgs.racket-lang.org
> <pkg-name>`
That command will clone the package’s source Git repository into
`"<pkg-name>"` within the current directory and checkout the appropriate
commit. Then, it will replace the current installation of the package in
your Racket build to point at that directory, and then it will rebuild
(essentially by using `raco setup`) with the new location of the package
installation. Now you can edit in `"<pkg-name>"`, and your changes will
be live.
Some information that might improve your experience:
* You can add `--no-setup` to the `raco pkg update` command to skip the
`raco setup` step, which makes sense if you want to make changes and
then run `raco setup` yourself.
* The argument after `--clone` is a directory, and by default, the
package name is inferred from the directory. Within an in-place build
of the main Racket repository, for example, the conventional use
`raco pkg update --clone extra-pkgs/<pkg-name>`
creates `"extra-pkgs/<pkg-name>"` as a clone of the Git repository for
<_pkg-name_> (and `".gitignore"` for the Racket repository excludes
`"extra-pkgs"`).
* To use a clone directory name that is different than the package name,
you can supply the package name explicitly after the `--clone`
directory name:
`raco pkg update --clone <repo-name> <pkg-name>`
* If you’re done and want to go back to the normal installation for
<_pkg-name_>, use
`raco pkg update --unclone <pkg-name>`
* See Developing Packages with Git for more information about how
packages are meant to work as Git repositories.
Note that none of this is necessary if you’re modifying a package in the
main Racket repository’s `"pkgs"` directory. Those are automatically
linked in place for an in-place build of Racket.
### 2.3. General Contribution Guidelines
When you make a pull request, the Racket developers will help you get
the improvement in shape to merge to the Racket repository. You can make
that process faster by keeping a few guidelines in mind:
* Try to follow the style guide.
* When you fix a bug or create a new feature, include a test case for
it.
Note that core Racket tests are in
`"pkgs/racket-test-core/tests/racket"`, and tests for other libraries
are also sometimes in a separate `"-test"` package.
* Include new or updated documentation as appropriate.
To locate a documentation (Scribble) source file, visit the current
documentation in a browser, and click at the page heading. A box will
appear with a URL to a documentation source. Note that while it is
likely that the documentation source will not be the file that you
want to edit exactly, it should give you a rough idea for where it is.
Particularly, the Racket reference is in
`"pkgs/racket-doc/scribblings/reference"`, and the Racket guide is in
`"pkgs/racket-doc/scribblings/guide"`.
When adding to a library or extending an existing binding’s behavior,
be sure to include a `history` note in the documentation to record the
change.
* Build with your changes.
Don’t break the Racket build. That means at least checking that `raco
setup` runs and completes without errors. If you added or modified
documentation, visually inspect the newly rendered documentation to
make sure it reads as intended.
A common mistake is to just run a modified library or its tests, but
where a change creates a new package dependency that will only be
detected by a full `raco setup`. _Really:_ run `raco setup`.
* For changes to the C code, ensure your code follows the C99 standard.
On Unix systems, extensions that are part of the `_DEFAULT_SOURCE`
pre-processor flag are also allowed. See the
[glibc](https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html#index-_005fDEFAULT_005fSOURCE)
manual for more details.
### 2.4. More Resources
For additional pointers on how to contribute to Racket, see
[https://github.com/racket/racket/wiki/Ways-to-contribute-to-Racket](https://github.com/racket/racket/wiki/Ways-to-contribute-to-Racket)
## 3. Zuo and the Racket Build System
Racket builds with many options, and the build needs to work in a
variety of environments. That variability is difficult to manage through
a traditional makefile. The Racket build is mostly driven instead with
Zuo, which is a tiny, Racket-like scripting language with facilities
inspired by `make` and [Shake](https://shakebuild.com/). When you build
Racket with `make`, the makefile target ensures that `zuo` is built, and
then it bounces the build request to a `"main.zuo"` script.
Racket makefiles build `zuo` using the `CC_FOR_BUILD` makefile variable
plus `CFLAGS_FOR_BUILD`. The `CC_FOR_BUILD` variable defaults to using
the `CC` makefile variable plus `-O2`, while `CC` normally defaults to
`cc`. If you need to specify a C compiler or options for building Zuo,
supply `CC=<compiler>`, `CC_FOR_BUILD=<compiler>`, and/or
`CFLAGS_FOR_BUILD=<flags>` to `make`.
In you have `zuo` installed, you can generally substitute `zuo .` in
place of `make` when building Racket components. You can even use just
`zuo` in place of `make` if you’re not providing additional target or
variable arguments to `make`, but otherwise `.` is needed after `zuo` to
select the `main.zuo` script in the current directory. In most cases, it
doesn’t matter whether you use `make` or `zuo .`, but if you move deep
enough into the Racket build tree, there are only Zuo scripts. To
install Zuo, you can use the usual `configure && make && make install`
in `"racket/src/zuo"`.
Even when you run `zuo` directly, configuration information is
frequently read from `"Makefile"` or `"Mf-config"`. The latter name is
used when the makefile exists only for recording a configuration and
does not provide targets. When you run a `configure` script,
configuration choices are recorded in a generated `"Makefile"` or
`"Mf-config"`.
By convention, a source file `"build.zuo"` is analogous to
`"Makefile.in"`: it is meant to be instantiated in a build directory as
`"main.zuo"`. Instead of copying and updating, as typically happens to
convert `"Makefile.in"` to `"Makefile"`, a `"main.zuo"` is typically
instantiated as a small module, possibly by copying a `"buildmain.zuo"`
file to `"main.zuo"`. That `"main.zuo"` reaches `"build.zuo"` using a
source directory that is recorded in an accompanying `"Makefile"` or
`"Mf-config"`.
## 4. Bootstrapping Racket
Although Racket is implemented in Racket, you do not normally need an
existing Racket installation to build Racket. Distribution archives
include the needed bootstrapping artifacts in a portable form. The
Racket Git repository similarly includes some of those artifacts checked
in directly, and some are in a separate repository that is downloaded by
`make`. Specifically:
* `"racket/src/cs/schemified"` includes macro-expanded, schemified
versions of layers that are implemented in Racket for Racket CS, and
these are checked into the Git repository;
* `"racket/src/bc/srcstartup.inc"` is the macro-expanded expander (as
implemented in Racket) for Racket BC, and it is checked into the Git
repository; and
* `"racket/src/ChezScheme/boot/pb"` contains Chez Scheme pb (portable
bytecode) boot files, normally downloaded from a separate Git
repository in a branch that has a single commit \(i.e., no history of
old versions within the branch\).
If you modify certain pieces of Racket, you will need an existing build
of Racket to bootstrap. That includes the Chez Scheme implementation (at
least for some kinds of modifications), the Racket macro expander, and
in the case of Racket CS, the "thread", "io", "regexp", and "schemify"
layers.
For more information about modifying Chez Scheme, see
`"racket/src/cs/README.txt"`. As explained there, you can create new
boot files in `"racket/src/ChezScheme/boot/pb"` or platform-specific
boot files using even a relatively old version of Chez Scheme or Racket.
For information about modifying the macro expander for Racket CS and/or
BC, see `"racket/src/expander/README.txt"`. Building the expander may
require a relatively new version of Racket, perhaps even the very latest
version before the change.
Finally, for information about modifying the other layers for Racket CS,
see `"racket/src/cs/README.txt"`. Rebuilding these layers requires a
relatively new version of Racket, too.
## 5. Distributing Racket Variants
This chapter is about distributing variants of Racket, as opposed to
distributing applications that are built with Racket. See `raco
distribute`: Sharing Stand-Alone Executables for information about
distributing applications.
**Important:** To build installers that can be distributed to other
users, do not use `make in-place` or `make unix-style`, but instead
start from a clean repository.
Use one non-Windows machine as a server, where packages will be
pre-built. Then, as described below, create platform-specific installers
on some number of client machines, each of which contacts the server
machine to obtain pre-built packages. The server can act as a client,
naturally, to create an installer for the server’s platform. Instead of
using separate client machines, Docker containers can be used to
cross-compile for multiple platforms, all on a single “server” machine.
The distribution-build process is a collaboration between the Racket Git
repository’s top-level makefile and the `"distro-build"` package.
### 5.1. Running Build Farms
The `installers` target of the makefile will do everything to generate
installers: build a server on the current machine, run clients on hosts
specified via `CONFIG`, and start/stop Docker containers or VirtualBox
virtual machines that act as client machines.
If the server is already built, the `installers-from-built` target will
drive the client builds without re-building the server.
See the documentation of the `"distro-build"` package for a description
of the site-configuration module and requirements on client hosts. The
`distro-build/main-distribution` library provides site-configuration
helpers for creating a distribution like the one at the main Racket
download site and using Docker containers (all on one host machine) to
cross-compile for supported platforms.
If `"my-site-config.rkt"` is a configuration module, then
`make installers CONFIG=my-site-config.rkt`
drives the build farm, and the resulting installers are in
`"build/installers"`, with a hash table mapping descriptions to
installer filenames in `"build/installer/table.rktd"`. A log file for
each client is written to `"build/log"`.
If you have the `"distro-build-server"` package installed in some Racket
build (not the one for building installers), you can use
`make describe-clients CONFIG=my-site-config.rkt`
to see, without building anything, the effect of the configuration in
`"my-site-config.rkt"` and the planned build steps. See also the
`#:fake-installers?` site-configuration option.
The default `CONFIG` path is `"build/site.rkt"`, so you could put your
configuration file there and omit the `CONFIG` argument to `make`. A
default configuration file is created there automatically. Supply
`CONFIG_MODE=...` to pass a configuration mode on to your
site-configuration module (accessible via the `current-mode` parameter).
Supply `CLEAN_MODE=--clean` to make the default `#:clean?` configuration
for a client to `#t` instead of `#f`, supply `RELEASE_MODE=--release` to
make the default `#:release?` configuration `#t`, supply
`SOURCE_MODE=--source` to make the default `#:source?` configuration
`#t`, and supply `VERSIONLESS_MODE=--version` to make the default
`#:versionless?` configuration `#t`.
A configuration file can specify the packages to include, host address
of the server, distribution name, installer directory, and documentation
search URL, but defaults can be provided as `make` arguments via `PKGS`,
`SERVER` plus `SERVER_PORT` plus `SERVER_HOSTS`, `DIST_NAME`,
`DIST_BASE`, and `DIST_DIR`, `DOC_SEARCH`, respectively. The site
configuration’s top-level options for packages and documentation search
URL are used to configure the set of packages that are available to
client machines to include in installers.
For each installer written to `"build/installers"`, the installer’s name
is
`"<dist-base>-<version>-<platform>-<dist-suffix>.<ext>"`
where <_dist-base_> defaults to `"racket"` (but can be set via
`DIST_BASE`), <_platform_> is from `(system-library-subpath #f)` but
normalizing the Windows results to `"i386-win32"` and `"x86_63-win32"`,
-<_dist-suffix_> is omitted unless a `#:dist-suffix` string is specified
for the client in the site configuration, and <_ext_> is
platform-specific: `".sh"` for Unix (including Linux), `".dmg"` or
`".pkg"` for Mac OS, and `".exe"` for Windows.
The server supports CS clients on different platforms and BC clients by
creating built packages in machine-independent form (which is then
recompiled to the client’s native format, still much faster than
compiling from source).
### 5.2. Generating Installer Web Sites
The `site` target of the makefile uses the `installers` target to
generate a set of installers, and then it combines the installers,
packages, a package catalog, and log files into a directory that is
suitable for access via a web server.
Supply the same `CONFIG=...` and `CONFIG_MODE=...` arguments for `site`
as for `installers`. The configuration file should have a
`#:dist-base-url` entry for the URL where installers and packages will
be made available; the `installers` target uses `#:dist-base-url` to
embed suitable configuration into the installers. Specifically,
installers are configured to access pre-built packages and documentation
from the site indicated by `#:dist-base-url`.
Note that `#:dist-base-url` should almost always end with `"/"`, since
other URLs will be constructed as relative to `#:dist-base-url`.
The site is generated as `"build/site"` by default. A `#:site-dest`
entry in the configuration file can select an alternate destination.
Use the `site-from-installers` makefile target to perform the part of
`site` that happens after `installers` (i.e., to generate a `site` from
an already-generated set of installers).
### 5.3. Managing Snapshot Web Sites
The `snapshot-site` makefile target uses `site` (so supply the same
`CONFIG=...` and `CONFIG_MODE=...` arguments), and then treats the
resulting site as a snapshot with additional snapshot-management tasks.
For snapshot management, the destination of the files generated for
`site` (as specified by `#:site-dest`) should be within a directory of
snapshots. The configuration file can use `(current-stamp)` to get a
string that represents the current build, and then use the string both
for `#:dist-base-url` and `#:site-dest`. Normally, the stamp string is a
combination of the date and Git commit hash.
Snapshot management includes creating an `"index.html"` file in the
snapshots directory (essentially a copy of the snapshot’s own
`"index.html"`) and pruning snapshot subdirectories to keep the number
of snapshots at the amount specified by `#:max-snapshots`
configuration-file entry (with a default value of `5`).
Use the `snapshot-at-site` makefile target to perform the part of
`snapshot-site` that happens after `site` (i.e., to manage snapshots
around an already-generated site).
### 5.4. Separate Server and Clients
Instead of using the `installers` makefile target and a site
configuration file, you can run server and client processes manually.
Roughly, the steps are as follows
* On the server machine:
`make server PKGS="<pkgs>"`
See step 2 in the detailed steps below for more information on
variables other than `PKGS` that you can provide with `make`.
* On each client machine:
`make client SERVER=<address> PKGS="<pkgs>"`
See 4 in the detailed steps below for more information on variables
other than `SERVER` and `PKGS` that you can provide with `make`.
In more detail, the steps are as follows:
* Build `racket` on a server.
The `base` target of the makefile will do that, if you haven’t done it
already. (The server only works on non-Windows platforms, currently.)
* On the server, build packages and start a catalog server.
The `server-from-base` target of the makefile will do that.
Alternatively, use the `server` target, which combines `base` and
`server-from-base` (i.e., steps 1 and 2).
The `SERVER_PORT` variable of the makefile choose the port on which
the server listens to clients. The default is port `9440`.
The `SERVER_HOSTS` variable of the makefile determines the interfaces
at which the server listens. The default is `localhost` which listens
only on the loopback device (for security). Supply the empty string to
listen on all interfaces. Supply multiple addresses by separating them
with a comma.
The `PKGS` variable of the makefile determines which packages are
built for potential inclusion in a distribution.
The `DOC_SEARCH` variable of the makefile determine a URL that is
embedded in rendered documentation for cases where a remote search is
needed (because other documentation is not installed).
The `SRC_CATALOG` variable determines the catalog that is used to get
package sources and native-library packages. The default is
`http://pkgs.racket-lang.org`.
The `SERVER_PKG_INSTALL_OPTIONS` variable determines extra flags that
are passed to `raco pkg install` when installing on the server (to
create package builds that are sent to clients). For example,
`SERVER_PKG_INSTALL_OPTIONS=--source` could be useful to ensure that
the server always builds from sources.
The `PACK_BUILT_OPTIONS` variable can be set to `--mode <mode>` to set
the package mode for built packages. The default `infer` mode uses the
package’s `distribution-preference` `"info.rkt"` field, if any, infers
`binary` if the package has any native libraries and no Racket
sources, and infers `built` otherwise.
The server provides README files from the `"build/readmes"` directory.
If `"README.txt"` does not exist when the sever is started, a default
file is created (and clients download `"README.txt"` by default).
If you stop the server and want to restart it, use the
`built-package-server` makefile target instead of starting over with
the `server` target.
* On each client (one for each platform to bundle), build `racket`.
This is the same as step 1, but on each client. If the client and
server are the same, there’s nothing more to do for step 3.
* On each client, create an installer.
The `client` target of the makefile will do that.
Provide `SERVER` as the hostname of the server machine, but a
`localhost`-based tunnel back to the server is more secure and avoids
the need to specify `SERVER_HOSTS` when starting the server in step 2.
Also, provide `SERVER_PORT` if an alternate port was specified in step
2.
Provide the same `PKGS` (or a subset) as in step 2 if you want a
different set than the ones listed in the makefile. Similarly,
`DOC_SEARCH` normally should be the same as in step 2, but for a
client, it affects future documentation builds in the installation.
Alternatively, use the `client` target, which combines `base` and
`client-from-base` (i.e., steps 3 and 4).
On Windows, you need NSIS installed, either in the usual location or
with `makensis` in your command-line path.
To create a release installer, provide `RELEASE_MODE` as `--release`
to `make`. A release installer has slightly different defaults that
are suitable for infrequently updated release installations, as
opposed to frequently updated snapshot installations.
To create a source archive, provide `SOURCE_MODE` as `--source` to
`make`.
To create an archive that omits the version number and also omit and
version number in installer paths, provide `VERSIONLESS_MODE` as
`--versionless` to `make`.
To change the human-readable name of the distribution as embedded in
the installer, provide `DIST_NAME` to `make`. The default distribution
name is `Racket`. Whatever name you pick, the Racket version number is
automatically added for various contexts.
To change the base name of the installer file, provide `DIST_BASE` to
`make`. The default is `racket`.
To change the directory name for installation on Unix (including
Linux), provide `DIST_DIR` to `make`. The default is `racket`.
To add an extra piece to the installer’s name, such as an identifier
for a variant of Linux, provide `DIST_SUFFIX` to `make`. The default
is `"", which` omits the prefix and its preceding hyphen.
To set the description string for the installer, provide `DIST_DESC`
to `make`. The description string is recorded alongside the installer.
To set the initial package catalogs URLs for an installation, provide
`DIST_CATALOGS_q` to `make`. Separate multiple URLs with a space, and
use an empty string in place of a URL to indicate that the default
catalogs should be used. The `_q` in the variable name indicates that
its value can include double quotes (but not single quotes)—which are
needed to specify an empty string, for example.
To select a `"README"` file for the client, provide `README` to
`make`. The `README` value is used as a file name to download from the
server.
To create a `".tgz"` archive instead of an installer (or any
platform), set `TGZ_MODE` to `--tgz`.
For a Mac OS installer, set `SIGN_IDENTITY` as the name to which the
signing certificate is associated. Set `MAC_PKG_MODE` to `--mac-pkg`
to create a `".pkg"` installer instead of a `".dmg"` image.
For a Windows installer, set `OSSLSIGNCODE_ARGS_BASE64` as a Base64
encoding of an S-expression for a list of argument strings for
`osslsigncode`. The `-n`, `-t`, `-in`, and `-out` arguments are
provided to `osslsigncode` automatically, so supply the others.
The `SERVER_CATALOG_PATH` and `SERVER_COLLECTS_PATH` makefile
variables specify paths at `SERVER` plus `SERVER_PORT` to access the
package catalog and pre-built `"collects"` tree needed for a client,
but those paths should be empty for a server started with `make
server`, and they are used mainly by `make client-from-site`
\(described below\).
The `UPLOAD` makefile variable specifies a URL to use as an upload
destination for the created installed, where the installer’s name is
added to the end of the URL, or leave as empty for no upload.
On each client, step 4 produces a `"bundle/installer.txt"` file that
contains the path to the generated installer on one line, followed by
the description on a second line. The installer is also uploaded to the
server, which leaves the installer in a `"build/installers"` directory
and records a mapping from the installer’s description to its filename
in `"build/installers/table.rktd"`.
If you provide `JOB_OPTIONS=<options>` for either a client or server
build, the options are used both for `raco setup` and `raco pkg
install`. Normally, `JOB_OPTIONS` is used to control parallelism.
### 5.5. Creating a Client from an Installer Web Site
If you (or someone else) previously created an installer site with `make
site`, then `make client-from-site` in a clean repository creates an
installer for the current platform drawing packages from the site.
At a minimum, provide `SERVER`, `SERVER_PORT` (usually 80 or 443),
`SERVER_URL_SCHEME` (if `https` instead of `http`) and `SITE_PATH` (if
not empty, include a trailing `/`) makefile variables to access a site
at
`http://$(SERVER):$(SERVER_PORT)/$(SITE_PATH)`
The `client-from-site` makefile target chains to `make client` while
passing suitable values for `DIST_CATALOGS_q`, `DOC_SEARCH`,
`SERVER_CATALOG_PATH`, and `SERVER_COLLECTS_PATH`. Supply any other
suitable variables, such as `DIST_NAME` or `RELEASE_MODE`, the same as
for `make client`.
### 5.6. Cleaning Up Docker Containers
When building with Docker containers as clients, the containers will
remain after the completion of client builds, and they will be used for
incremental updates as long as they exist. The containers can be removed
at any time between builds. Use
`make clean-clients`
to clean up Docker instances and shared data that is created by client
builds.
================================================
FILE: main.zuo
================================================
#lang zuo
(require "racket/src/lib.zuo")
;; This Zuo script drives a Racket build from a Git checkout, either
;; for an in-place build (which is the most typical mode), a Unix-style
;; build, or a distro-build server or client.
;; Build options are provided as <variable>=<value> command-line
;; arguments, as in
;; zuo . PKGS="compiler-lib"
;; or
;; zuo main.zuo unix-style PKGS="compiler-lib"
;; All variables are described in `Makefile`, which also provides
;; all default values.
;; `Makefile` also effectively lists the available targets, and it
;; bounces each of those targets to this script after ensuring that a
;; `zuo` executable is built.
(provide-targets targets-at)
;; We ignore the `at-dir` argument and instead do everything
;; relative to the source directory
(define (targets-at at-dir-ignored [vars (hash)])
(define config (config-file->hash (at-source "Makefile") vars))
(define (lookup key [default ""]) (hash-ref config key default))
(define (lookup! key) (or (hash-ref config key #f)
(error "required configuration entry is missing" key)))
(define build-config.rktd (at-source "build/config/config.rktd"))
(define build/site.rkt (at-source "build/site.rkt"))
(define vm (let ([cb (lookup 'CLIENT_BASE)]
[wcb (lookup 'WIN32_CLIENT_BASE)])
(cond
[(equal? cb "cs-base") 'cs]
[(equal? cb "bc-base") 'bc]
[(equal? wcb "win-cs-base") 'cs]
[(equal? wcb "win-bc-base") 'bc]
[else (string->symbol (lookup 'VM "cs"))])))
(define required-pkgs (shell->strings (hash-ref config 'REQUIRED_PKGS)))
(define default-src-catalog (hash-ref config 'DEFAULT_SRC_CATALOG))
(define (get-provided-racket)
(let ([r (lookup 'RACKET)])
(if (equal? r "")
(lookup 'PLAIN_RACKET)
r)))
(define (get-jobs)
(define cpus (let ([s (lookup 'CPUS)])
(and (not (equal? s ""))
s)))
(define simple-jobs (or cpus
(let ([s (lookup 'JOBS)])
(and (not (equal? s ""))
s))))
(define jobs (or simple-jobs
(let ([l (string-split (lookup 'JOB_OPTIONS))])
(and (= 2 (length l))
(equal? (car l) "-j")
(cadr l)))))
(define n-jobs (and jobs (string->integer jobs)))
(when (and jobs
(or (not n-jobs)
(< n-jobs 1)))
(error (~a (if cpus "CPUS" (if simple-jobs "JOBS" "JOB_OPTIONS argument"))
"is not a positive integer"
jobs)))
(or n-jobs
(infer-gnu-make-jobs)))
(define (build-options)
(define n-jobs (get-jobs))
(if n-jobs
(hash 'jobs n-jobs)
(hash)))
(define (derived-options)
(define r (get-provided-racket))
(if (equal? r "")
(hash)
(hash 'racket (or (find-executable-path r) r))))
(define (get-job-options)
(define jobs (get-jobs))
(if jobs
(list "-j" (~a jobs))
'()))
(define (setup-options)
(define opts (lookup 'PLT_SETUP_OPTIONS))
(build-shell opts (get-job-options)))
(define (get-recompile-cache-options)
(define cache-dir (lookup 'RECOMPILE_CACHE))
(if (equal? cache-dir "")
'()
(list "--recompile-cache" cache-dir)))
(define (get-mcr-args)
(list "-MCR" (~a (path->complete-path (at-source "build/zo")) ":")))
(define (pkgs-to-install)
(define s (string-trim (lookup 'PKGS)))
(define f (at-source "build/PKGS"))
(shell->strings
(cond
[(glob-match? "{}*" s)
(if (file-exists? f)
(file->string f)
(substring s 2))]
[else s])))
;; for distro-build steps, doesn't try to use "build/PKGS",
;; but does strip a leading "{}"
(define (lookup-pkgs)
(define s (string-trim (lookup 'PKGS)))
(if (glob-match? "{}*" s)
(substring s 2)
s))
;; ------------------------------------------------------------
;; check consistent use of checkout
(define (check-mode mode)
(define mode-file (at-source "racket/src/build/checkout-mode"))
(cond
[(file-exists? mode-file)
(define old-mode (file->string mode-file))
(unless (equal? old-mode mode)
(error (~a "checkout previously built in "
(~s old-mode)
" mode; start with a fresh checkout for "
(~s mode)
" mode")))]
[else
(mkdir-p (path-only mode-file))
(display-to-file mode mode-file)]))
;; ------------------------------------------------------------
;; pb setup
(define (pb-manage step)
(define boot-dir (at-source "racket/src/ChezScheme/boot"))
(define pb-dir (build-path boot-dir "pb"))
(define branch (lookup! 'PB_BRANCH))
(cond
[(eq? step 'fetch)
(mkdir-p boot-dir)
(if (directory-exists? pb-dir)
(shell/wait "git fetch -q origin" (~a branch ":remotes/origin/" branch)
(hash 'dir pb-dir))
(shell/wait "git clone -q" (lookup 'SINGLE_BRANCH_FLAG)
"-b" branch (string->shell
(let ([ex (lookup 'EXTRA_REPOS_BASE)])
(if (equal? ex "")
(lookup! 'PB_REPO)
(~a ex "pb/.git"))))
(string->shell pb-dir)))
(shell/wait "git remote set-branches origin" branch
(hash 'dir pb-dir))
(shell/wait "git checkout -q" branch
(hash 'dir pb-dir))]
[(eq? step 'build)
(define scheme (and (not (lookup 'RKTBOOT #f))
(let ([s (lookup 'SCHEME)])
(if (equal? s "")
(find-executable-path "scheme")
s))))
(cond
[scheme
(define reboot (dynamic-require "racket/src/ChezScheme/s/reboot.zuo" 'reboot))
(reboot 'infer "pb" scheme (hash 'work-dir "build" 'out-dir "racket/src/ChezScheme"))]
[else
(shell/wait "racket ../rktboot/main.rkt --machine pb"
(hash 'dir (at-source "racket/src/ChezScheme")))])]
[(eq? step 'stage)
(define options (hash 'dir pb-dir))
(shell/wait "git branch" branch options)
(shell/wait "git checkout" branch options)
(shell/wait "git add . && git commit --amend --reset-author -m" (string->shell "new build")
options)]
[(eq? step 'push)
(shell/wait "git push -u origin" branch
(hash 'dir pb-dir))]
[else
(error "unknown pb step" step)]))
;; ------------------------------------------------------------
;; base, in-place, and unix-style
;; non-#f prefix implies Unix-style build:
(define (build-base subdir token [options (hash)])
(define also? (hash-ref options 'also? #f))
(define prefix (hash-ref options 'prefix #f))
(define msvc? (eq? 'windows (hash-ref (runtime-env) 'toolchain-type)))
(define targets
(configured-targets-at (hash
'configure (if (eq? 'windows (hash-ref (runtime-env) 'toolchain-type))
(at-source "racket/src" subdir "winfig.bat")
(at-source "racket/src" subdir "configure"))
'inputs (list (at-source "racket/src" subdir "Makefile.in"))
'outputs (list (at-source "racket/src/build" subdir "Makefile"))
'configure-args (append
(if msvc?
'()
(shell->strings (shell-subst-pwd (lookup 'CONFIGURE_ARGS_qq)
(at-source "racket/src/build" subdir))))
(shell->strings (lookup 'CONFIGURE_ARGS))
(let ([f (at-source "build/CONFIGURE_ARGS")])
(if (file-exists? f)
(shell->strings (file->string f))
'()))
(if (hash-ref options 'server-compile-machine? #f)
'("--enable-crossany")
'())
(shell->strings (lookup 'DISABLE_STATIC_LIBS))
(cond
[msvc?
'()]
[(and (equal? subdir "cs/c")
(equal? (lookup 'RACKETCS_SUFFIX) ""))
'("--enable-csdefault")]
[(and (equal? subdir "bc")
(equal? (lookup 'RACKETBC_SUFFIX) ""))
'("--enable-bcdefault")]
[else '()])
(cond
[msvc?
'()]
[prefix (list (~a "--prefix=" prefix)
"--enable-macprefix")]
[else '("--disable-useprefix"
"--enable-origtree")]))
'vars (hash-maybe-set*
(hash
;; causes the `raco setup` step to not build
;; installed packages (unless `prefix`):
'SELF_ROOT_CONFIG_DIR (if prefix
""
(path-only build-config.rktd))
'SETUP_MACHINE_FLAGS (build-shell
(lookup 'SETUP_MACHINE_FLAGS)
(if (hash-ref options 'server-compile-machine? #f)
(map string->shell (get-mcr-args))
""))
'PLT_SETUP_OPTIONS (build-shell
(if also? "-D" "")
(setup-options)
(get-recompile-cache-options))
'DESTDIR (if prefix
(lookup 'DESTDIR "")
"")
'CS_INSTALLED (lookup 'RACKETCS_SUFFIX)
'MMM_INSTALLED (lookup 'RACKETBC_SUFFIX)
'MMM_CAP_INSTALLED (string-upcase (lookup 'RACKETBC_SUFFIX))
;; for a unix-style install, we'll run any needed
;; `DESTDIR` fixes later:
'SKIP_DESTDIR_FIX "skip"
;; Propagate `MAKE`
'MAKE (lookup 'MAKE))
;; Propagate `RACKET` and similar if specified
'RACKET (get-provided-racket)
'BOOTFILE_RACKET (lookup 'BOOTFILE_RACKET)
'SCHEME (lookup 'SCHEME)
'SCHEME_DIR (let ([s (lookup 'CS_HOST_WORKAREA_PREFIX)])
(if (equal? s "")
""
(build-path s "ChezScheme")))
'CROSS_MODE (if (equal? (lookup 'CS_CROSS_SUFFIX) "-cross")
"cross"
"")))))
(build (find-target "build" targets)
#f
(build-options))
(when (eq? 'windows (system-type))
(remove-early-load-dlls))
(build (find-target "install-again" targets)
#f
(build-options)))
(define (remove-early-load-dlls)
;; On Windows, remove DLLs that might be loaded by `raco` on startup,
;; but which we might need to reinstall via `raco`
(for-each (lambda (dll)
(rm* (at-source "racket/lib" dll)))
'("longdouble.dll"
"libiconv-2.dll"
"iconv.dll"
"libeay32.dll"
"ssleay32.dll")))
(define (native-for-cross subdir token)
(define targets
(configured-targets-at (hash
'configure (if (eq? 'windows (system-type))
(at-source "racket/src" subdir "winfig.bat")
(at-source "racket/src" subdir "configure"))
'configure-args (if (equal? subdir "cs/c")
(list "--enable-csdefault")
(list "--enable-bcdefault"))
'inputs (list (at-source "racket/src" subdir "Makefile.in"))
'outputs (list (at-source "racket/src/build/cross" subdir "Makefile"))
'vars (hash))))
(build (find-target "build" targets)
#f
(build-options)))
(define (find-racket vm [config (at-source "racket/etc")] [options (hash)])
(define provided-racket (get-provided-racket))
(define racket.exe
(cond
[(not (equal? provided-racket ""))
(executable->path provided-racket at-source)]
[else
(define sfx (if (eq? vm 'cs)
(lookup 'RACKETCS_SUFFIX)
(lookup 'RACKETBC_SUFFIX)))
(cond
[(eq? 'windows (system-type))
(at-source "racket" (~a "Racket" (string-upcase sfx) ".exe"))]
[else
(at-source "racket/bin" (~a "racket" sfx))])]))
(hash 'racket racket.exe
'racket-args (append (if (and (hash-ref options 'server-compile-machine? #f)
(hash-ref options 'build-user-dir #f))
(list "-A" (hash-ref options 'build-user-dir #f))
'())
(shell->strings (lookup 'SETUP_MACHINE_FLAGS))
(if (hash-ref options 'server-compile-machine? #f)
(get-mcr-args)
'())
(list "-G" config
"-X" (at-source "racket/collects")))))
(define (local-catalog [racket (hash-ref (find-racket vm) 'racket)]
[raco #f])
(define loc-catalog (at-source "build/local/pkgs-catalog"))
(define unix-catalog (at-source "build/local/catalog"))
(process/wait racket "-l-" "pkg/dirs-catalog" "--check-metadata" loc-catalog "pkgs")
(process/wait (or raco racket)
(if raco '() (list "-l-" "raco"))
"pkg" "catalog-copy" "--force" "--from-config" loc-catalog
unix-catalog)
unix-catalog)
(define (setup vm . args)
(raco (find-racket vm)
"setup"
args
(shell->strings (setup-options))
(get-recompile-cache-options)))
(define (maybe-fetch vm)
(when (eq? vm 'cs)
(when (or (andmap (lambda (key) (equal? (lookup key) ""))
'(RACKET BOOTFILE_RACKET PLAIN_RACKET SCHEME SCHEME_DIR CS_HOST_WORKAREA_PREFIX))
;; include `racket/src/ChezScheme/boot/pb` in source:
(not (equal? (lookup 'SOURCE_MODE) "")))
(pb-manage 'fetch))))
(define (base token vm [options (hash)])
(build/dep (find-target build-config.rktd the-targets) token)
(cond
[(eq? vm 'cs)
(build-base "cs/c" token options)]
[else
(build-base "bc" token options)]))
;; currently does not support Windows or cross compilation
(define (unix-style token vm)
(check-mode "unix-style")
(define prefix (lookup! 'PREFIX))
(when (equal? prefix "")
(error "supply PREFIX=<prefix> for a unix-style installation"))
(maybe-fetch vm)
;; builds and installs to `DESTDIR` plus `prefix`
(base token vm (hash 'prefix prefix))
;; run installed `raco` and `racket`
(define raco (at-destdir vars (build-path prefix "bin" "raco")))
(define racket (at-destdir vars (build-path prefix "bin" "racket")))
;; setup installed catalog
(define src-catalog (lookup 'SRC_CATALOG))
(unless (equal? src-catalog default-src-catalog)
(process/wait raco "pkg" "config" "-i"
"--set" "catalogs" src-catalog ""))
;; create local catalog
(define unix-catalog (local-catalog racket raco))
;; install packages
(define jobs (get-jobs))
(process/wait raco "pkg" "install"
(if jobs (list "-j" (~a jobs)) '())
"--catalog" unix-catalog "--auto" "-i"
required-pkgs
(pkgs-to-install))
;; destdir fixups
(define at-vm-dir (make-at-dir (at-source "racket/src/build" (if (eq? vm 'cs) "cs/c" "bc"))))
(define config (config-file->hash (at-vm-dir "Makefile") vars))
(maybe-libzo-move config racket #f at-vm-dir)
(maybe-destdir-fix config racket #f at-vm-dir))
(define (as-is token vm)
(check-mode "in-place")
(base token vm)
(racket (find-racket vm)
(list "-U" "-G" (path-only build-config.rktd)
(at-source "racket/src/pkgs-config.rkt")
"--maybe-update-stamp"))
(setup vm))
(define (in-place token vm [also? #f] [setup-extra-args ""])
(check-mode "in-place")
(maybe-fetch vm)
(base token vm (hash 'also? also?))
(define vars (find-racket vm))
(define jobs (get-jobs))
(unless also?
(pkgs-catalog token vars)
(raco vars "pkg" "update"
"--all" "--auto" "--no-setup" "--scope" "installation"
(shell->strings (lookup 'PKG_UPDATE_OPTIONS)))
(raco vars "pkg" "install"
(if jobs (list "-j" (~a jobs)) '())
"--no-setup" "--pkgs" "--skip-installed" "--scope" "installation"
"--deps" "search-auto"
required-pkgs
(pkgs-to-install))
(setup vm "--only-foreign-libs"))
(setup vm (shell->strings setup-extra-args)
(if also? "-D" '())))
(define (pkgs-catalog token vars)
(racket vars
(list "-U" "-G" (path-only build-config.rktd)
"-l-" "pkg/dirs-catalog"
"--link" "--check-metadata" "--immediate"
(at-source "racket/share/pkgs-catalog")
(local-pkg-dirs)))
(racket vars
(list "-U" "-G" (path-only build-config.rktd)
(at-source "racket/src/pkgs-config.rkt")
"--pkgs-catalog"
default-src-catalog
(lookup 'SRC_CATALOG)))
(racket vars
(at-source "racket/src/pkgs-check.rkt")
(at-source "racket/share/pkgs-catalog")))
(define (local-pkg-dirs)
(list (at-source "pkgs")
(at-source "racket/src/expander")
(at-source "racket/src/zuo/zuo-doc")))
;; ------------------------------------------------------------
;; Distribution builds: server
(define svr-prt (~a (lookup 'SERVER) ":" (lookup 'SERVER_PORT)))
(define svr-cat (~a (lookup 'SERVER_URL_SCHEME) "://" svr-prt "/" (lookup 'SERVER_CATALOG_PATH)))
(define config+mode (list (lookup 'CONFIG) (lookup 'CONFIG_MODE)))
;; Catch problems due to malformed distribution-build packages
(define recompile-options (list "--recompile-only"))
(define auto-options (list "--skip-installed" "--deps" "search-auto" "--pkgs" (get-job-options) (get-recompile-cache-options)))
(define user-auto-options (list "--scope" "user" auto-options))
(define source-user-auto (list "--catalog" "build/catalog-copy" user-auto-options
(shell->strings (lookup 'SERVER_PKG_INSTALL_OPTIONS))))
(define remote-user-auto (list "--catalog" svr-cat user-auto-options))
(define remote-inst-auto (list "--catalog" svr-cat "--scope" "installation"
auto-options recompile-options
(shell->strings (lookup 'PKG_INSTALL_OPTIONS))))
(define (find-built-racket options)
(define vars (find-racket vm
(at-source "build/user/config")
(if (or (and (hash-ref options 'cross? #f)
(eq? vm 'cs))
(hash-ref options 'server-compile-machine? #f))
(hash 'server-compile-machine? #t
'build-user-dir (if (hash-ref options 'hide-client-user-dir? #f)
"build/server-user"
"build/user"))
(hash))))
(hash-set vars
'racket-args
(append (hash-ref vars 'racket-args '())
(list '"-A" "build/user"))))
(define (built-racket options . args)
(racket (find-built-racket options) args))
(define (built-raco options . args)
(built-racket options "-N" "raco" "-l-" "raco" args))
(define (add-server-compile-machine options)
(if (equal? "-M" (lookup 'SERVER_COMPILE_MACHINE))
(hash-set options 'server-compile-machine? #t)
options))
(define (server token [options (hash)])
(check-mode "server")
(maybe-fetch 'cs)
(rm* "build/zo")
(define cache-dir "build/recompile-cache")
(when (directory-exists? cache-dir)
(for-each
(lambda (f-name)
(define f (build-path cache-dir f-name))
(when (directory-exists? f)
;; Use Docker to remove directories that were created by
;; Docker instances. This avoids permission issues by
;; using whatever user is set up in the writing Docker
;; image. A default Docker image to use for removal is
;; hardwired, but distro-build should record a recommended
;; Docker image to use; the redommendation for "<dir>"
;; is in "<dir>.txt".
(define image-file (path-replace-extension f ".txt"))
(define image
(or (and (file-exists? image-file)
(string-trim (file->string image-file) "\n"))
"racket/distro-build:debian10"))
(shell/wait "docker run -i --rm"
"-v" (string->shell (~a (path->complete-path "build") ":/build"))
image
"-c" (string->shell (~a "/bin/rm -rf /build/recompile-cache/" f-name "/*")))))
(ls cache-dir))
(rm* cache-dir))
(base token vm (add-server-compile-machine options))
(server-from-base token options))
(define (server-from-base token [options-in (hash)])
(check-mode "server")
(make-build/site.rkt)
(define options (add-server-compile-machine options-in))
(update-stamp.txt options)
;; Create a copy of `SRC_CATALOG', so that we snapshot checksums, and
;; start building from it. The packages are installed in user scope,
;; but we set the add-on directory to "build/user", so that we don't
;; affect the actual current user's installation (and to a large degree
;; we're insulated from it). Before using `SRC_CATALOG`, though, use
;; packages that are part of the main repo in preference to entries
;; in the catalog.
(rm* "build/user")
(define link-catalog "build/link-catalog")
(rm* link-catalog)
(built-racket options
"-l-" "pkg/dirs-catalog" "--immediate"
link-catalog
(local-pkg-dirs))
(rm* "build/catalog-copy")
(built-raco options "pkg" "catalog-copy"
link-catalog (lookup 'SRC_CATALOG)
"build/catalog-copy")
(server-cache-config options)
(built-raco options "pkg" "install" "--all-platforms" source-user-auto
required-pkgs
(shell->strings (lookup 'DISTRO_BUILD_PKGS)))
(server-set-config options)
(built-racket options "-l-" "distro-build/pkg-info" "-o" "build/pkgs.rktd" "build/catalog-copy")
(built-racket options "-l" "distro-build/start-site" config+mode)
(built-racket options "-l" "distro-build/install-pkgs" config+mode
(build-shell (lookup-pkgs) (lookup 'TEST_PKGS))
source-user-auto
"--all-platforms")
(built-raco options "setup" "--avoid-main" (get-job-options))
;; Although a client will build its own "collects", pack up the
;; server's version to be used by each client, so that every client has
;; exactly the same bytecode (which matters for SHA1-based dependency
;; tracking)
(built-racket options "-l" "distro-build/pack-collects")
;; Now that we've built packages from local sources, create "built"
;; versions of the packages from the installation into "build/user"
(built-racket options "-l-" "distro-build/pack-built"
(shell->strings (lookup 'PACK_BUILT_OPTIONS))
"build/pkgs.rktd")
(built-catalog-server token options))
(define (built-catalog-server token [options (hash)])
;; Run a catalog server to provide pre-built packages, as well
;; as the copy of the server's "collects" tree:
(when (directory-exists? ".git")
(shell/wait "git update-server-info"))
(let ([rkt (find-built-racket options)])
(built-racket options "-l" "distro-build/serve-catalog" config+mode
(lookup 'SERVER_HOSTS) (lookup 'SERVER_PORT)
(hash-ref rkt 'racket) (hash-ref rkt 'racket-args)
(or (hash-ref options 'serve-during-cmd #f)
(shell->strings (lookup 'SERVE_DURING_CMD_qq))))))
(define (make-build/site.rkt)
(when (and (equal? (lookup 'CONFIG) build/site.rkt)
(not (file-exists? build/site.rkt)))
(mkdir-p (path-only build/site.rkt))
(display-to-file (~a "#lang distro-build/config\n"
"(machine)")
build/site.rkt)))
(define (update-stamp.txt options)
(define given-stamp (lookup 'BUILD_STAMP))
(define stamp
(cond
[(not (equal? given-stamp ""))
given-stamp]
[else
(define cmds
(list (find-built-racket options)
(at-source "racket/src/pkgs-config.rkt")
"--display-auto-stamp"))
(define p
(apply racket/process (append cmds (list (hash 'stdout 'pipe)))))
(define r
(fd-read (hash-ref p 'stdout) eof))
(process-wait (hash-ref p 'process))
(unless (= 0 (process-status (hash-ref p 'process)))
(error "failed" cmds))
(car (string-split r "\n"))]))
(display-to-file (~a stamp "\n") (at-source "build/stamp.txt") :truncate))
(define (server-cache-config options)
(built-raco options "pkg" "config" "-i" "--set" "download-cache-dir" "build/cache")
(built-raco options "pkg" "config" "-i" "--set" "download-cache-max-files" "1023")
(built-raco options "pkg" "config" "-i" "--set" "download-cache-max-bytes" "671088640"))
(define (server-set-config options)
(built-racket options "-l" "distro-build/set-server-config" "build/user/config/config.rktd"
config+mode "" "" (lookup 'DOC_SEARCH) ""))
;; ------------------------------------------------------------
;; Distribution builds: client
(define (client-base token [options-in (hash)])
(cond
[(directory-exists? "build/log") ; => server space also used for client build
(check-mode "server")]
[else
(check-mode "client")
(rm* "build/user")])
(maybe-fetch 'cs)
(base token vm options-in))
(define (client token [options-in (hash)])
(client-base token options-in)
(define cross? (or (hash-ref options-in 'server-compile-machine? #f)
(equal? (lookup 'BUNDLE_FROM_SERVER_TARGET) "bundle-cross-from-server")
(equal? (lookup 'CS_CROSS_SUFFIX) "-cross")))
(define options (if cross?
(hash-set (hash-set options-in 'cross? #t) 'hide-client-user-dir? #t)
options-in))
(define (built-racket* . args) (built-racket options args))
(define (built-raco* . args) (built-raco options args))
;; Install the "distro-build" package from the server into
;; a local build:
(built-raco* "pkg" "install" remote-user-auto "distro-build-client")
(when cross?
(rm* (apply build-path (cons "build/zo" (cdr (explode-path (path->complete-path (at-source "bundle"))))))))
;; Copy our local build into a "bundle/racket" build, dropping in the
;; process things that should not be in an installer (such as the "src"
;; directory). Then, replace the "collects" tree with the one from the
;; server. Run `raco setup` in case the replacing "collects" tree needs
;; recompiling. Install required packages next, because they may include
;; packages that are needed to make core functionality work right
;; (which as the SQLite3 library). At last, install the selected packages
;; from the server, and the run a post-adjustment script.
(rm* "bundle")
(mkdir-p "bundle/racket")
(built-racket* "-l" "setup/unixstyle-install" "bundle" "racket" "bundle/racket")
(built-racket* "-l" "setup/winstrip" "bundle/racket")
(built-racket* "-l" "setup/winvers-change" "bundle/racket")
(built-racket* "-l-" "distro-build/unpack-collects" (shell->strings (lookup 'UNPACK_COLLECTS_FLAGS))
(~a (lookup 'SERVER_URL_SCHEME) "://" svr-prt "/" (lookup 'SERVER_COLLECTS_PATH)))
(in-bundle-raco options "setup" "--no-user" (get-job-options) recompile-options (get-recompile-cache-options))
(define pkg-source-flags (shell->strings (lookup 'PKG_SOURCE_MODE)))
(in-bundle-raco options "pkg" "install" remote-inst-auto pkg-source-flags required-pkgs)
(in-bundle-raco options "pkg" "install" remote-inst-auto pkg-source-flags (shell->strings (lookup-pkgs)))
(built-racket* "-l" "setup/unixstyle-install" "post-adjust" (lookup 'SOURCE_MODE) (lookup 'PKG_SOURCE_MODE) "racket" "bundle/racket")
(built-racket* "-l" "distro-build/set-config" "bundle/racket/etc/config.rktd"
(lookup 'INSTALL_NAME) (lookup 'BUILD_STAMP) (lookup 'DOC_SEARCH)
(if (hash-ref options 'from-site? #f)
(list (~a (lookup 'SERVER_URL_SCHEME) "://" svr-prt "/"
(let ([s (lookup 'SITE_PATH)])
(if (or (equal? s "") (= (char "/") (string-ref s (- (string-length s) 1))))
s
(~a s "/")))
"catalog/")
"")
(shell->strings (lookup 'DIST_CATALOGS_q))))
(define pref-defaults (lookup 'PREF_DEFAULTS_BASE64))
(unless (equal? pref-defaults "")
(built-racket* "-l" "distro-build/set-pref-defaults" "bundle/racket/etc/racket-prefs.rktd" pref-defaults))
(built-racket* "-l-" "distro-build/installer"
"--readme" (lookup 'README) "--upload" (lookup 'UPLOAD)
"--desc" (lookup 'DIST_DESC)
(shell->strings (lookup 'RELEASE_MODE))
(shell->strings (lookup 'SOURCE_MODE))
(shell->strings (lookup 'VERSIONLESS_MODE))
(shell->strings (lookup 'MAC_PKG_MODE))
(shell->strings (lookup 'TGZ_MODE))
"--packed-options" (lookup 'INSTALLER_OPTIONS)
"--pre-process" (lookup 'INSTALLER_PRE_PROCESS_BASE64)
"--post-process" (lookup 'INSTALLER_POST_PROCESS_BASE64)
(shell->strings (lookup 'NOTARIZATION_CONFIG))
(lookup 'DIST_NAME) (lookup 'DIST_BASE) (lookup 'DIST_DIR)
(lookup 'DIST_SUFFIX)
(lookup 'SIGN_IDENTITY) (lookup 'OSSLSIGNCODE_ARGS_BASE64)
(lookup 'SIGN_CERT_BASE64)))
(define (in-bundle-raco options . args)
(if (hash-ref options 'cross? #f)
(built-racket options
(list "-G" "bundle/racket/etc" "-X" "bundle/racket/collects"
"-C" "-A" "bundle/user" "-l" "raco")
args)
(shell/wait (if (eq? 'windows (system-type))
"bundle\\racket\\raco.exe"
"bundle/racket/bin/raco")
args)))
(define (test-client token [options (hash)])
(in-bundle-raco options
"pkg" "install" remote-inst-auto (shell->strings (lookup 'PKG_SOURCE_MODE))
(shell->strings (lookup 'TEST_PKGS)))
(in-bundle-raco options
"test" (shell->strings (lookup 'TEST_ARGS_q))))
;; ------------------------------------------------------------
;; Distribution builds: installers
(define (installers token)
(rm* "build/installers")
(rm* "build/log")
(server token (hash 'serve-during-cmd (get-drive-clients-args))))
(define (installers-from-built token)
(built-catalog-server token (add-server-compile-machine
(hash 'serve-during-cmd (get-drive-clients-args)))))
(define (clean-clients token)
(check-mode "server")
(displayln "removing containers")
(define containers-file "build/containers.txt")
(define (split-lines s) (filter (lambda (s) (not (equal? s ""))) (string-split s "\n")))
(define containers
(if (file-exists? containers-file)
(split-lines (file->string containers-file))
'()))
(for-each (lambda (container)
(define p (shell "docker container ls -a --filter"
(~a "NAME='^" container "$'")
(hash 'stdout 'pipe)))
(define ls-str (fd-read (hash-ref p 'stdout) eof))
(process-wait (hash-ref p 'process))
(if (> (length (split-lines ls-str)) 1)
(shell/wait "docker" "container" "rm" container)
(alert (~a "no container " container))))
containers)
(define (rm/show s)
(displayln (~a "removing " s))
(rm* s))
(rm/show containers-file)
(rm/show "build/common")
(rm/show "build/recompile-cache"))
(define (get-drive-clients-args [describe-clients? #f])
(list "-l-" "distro-build/drive-clients"
(if describe-clients?
(list "--describe")
'())
(shell->strings (lookup 'RELEASE_MODE))
(shell->strings (lookup 'SOURCE_MODE))
(shell->strings (lookup 'VERSIONLESS_MODE))
(shell->strings (lookup 'CLEAN_MODE))
(shell->strings (lookup 'SERVER_COMPILE_MACHINE))
config+mode
(lookup 'SERVER) (lookup 'SERVER_PORT)
(lookup 'SERVER_HOSTS)
(lookup-pkgs)
(lookup 'DOC_SEARCH) (lookup 'DIST_NAME)
(lookup 'DIST_BASE) (lookup 'DIST_DIR)))
(define (describe-clients token)
(built-racket (hash) (get-drive-clients-args #t)))
;; ------------------------------------------------------------
;; Distribution builds: site and snapshot
(define (site token)
(installers token)
(site-from-installers token))
(define (site-from-installers token)
(define options (add-server-compile-machine (hash)))
(rm* "build/docs")
(rm* (build-path "build/zo"
(apply build-path (cdr (explode-path (hash-ref (runtime-env) 'dir))))
"build/docs"))
(built-racket options "-l-" "distro-build/install-for-docs" "build/docs"
config+mode (lookup-pkgs)
"build/built/catalog" "build/native/catalog")
(built-racket options "-l-" "distro-build/assemble-site"
config+mode (lookup 'DIST_BASE)
(build-shell (lookup-pkgs) (lookup 'TEST_PKGS))))
(define (snapshot-site token)
(site token)
(snapshot-at-site token))
(define (snapshot-at-site token)
(define options (add-server-compile-machine (hash)))
(built-racket options "-l-" "distro-build/manage-snapshots" config+mode (lookup 'DIST_BASE)))
;; ------------------------------------------------------------
;; Derived: steps that require a working `racket` to build things
;; that need to be in sync to build `racket` in the first place
(define (derived token)
(define (build-one src target-name)
(let ([src (at-source src)])
(build (find-target target-name
((dynamic-require src 'targets-at)
(make-at-dir (path-only src))
(derived-options)))
token)))
(build-one "racket/src/rktio/build.zuo" "rktio-rktl")
(build-one "racket/src/expander/main.zuo" "expander")
(build-one "racket/src/cs/main.zuo" "schemified"))
;; ------------------------------------------------------------
;; Targets
(define the-targets
(make-targets
`([:target in-place () ,(lambda (token) (in-place token vm))]
[:target as-is () ,(lambda (token) (as-is token vm))]
[:target base () ,(lambda (token) (maybe-fetch vm) (base token vm))]
[:target unix-style () ,(lambda (token) (unix-style token vm))]
[:target both () ,(lambda (token)
(in-place token vm #f "--error-out build/step")
(in-place token (if (eq? vm 'cs) 'bc 'cs) #t "--error-in build/step"))]
[:target also-in-place () ,(lambda (token) (in-place token vm #t))]
[:target cs () ,(lambda (token) (in-place token 'cs))]
[:target cs-base () ,(lambda (token) (maybe-fetch 'cs) (base token 'cs))]
[:target cs-as-is () ,(lambda (token) (as-is token 'cs))]
[:target cs-in-place () ,(lambda (token) (in-place token 'cs))]
[:target cs-unix-style () ,(lambda (token) (unix-style token 'cs))]
[:target bc () ,(lambda (token) (in-place token 'bc))]
[:target bc-base () ,(lambda (token) (base token 'bc))]
[:target bc-as-is () ,(lambda (token) (as-is token 'bc))]
[:target bc-in-place () ,(lambda (token) (in-place token 'bc))]
[:target bc-unix-style () ,(lambda (token) (unix-style token 'bc))]
[:target pb-fetch () ,(lambda (token) (pb-manage 'fetch))]
[:target pb-build () ,(lambda (token) (pb-manage 'build))]
[:target pb-stage () ,(lambda (token) (pb-manage 'stage))]
[:target pb-push () ,(lambda (token) (pb-manage 'push))]
[:target pkgs-catalog () ,(lambda (token) (pkgs-catalog token (find-racket vars vm)))]
[:target native-cs-for-cross () ,(lambda (token) (maybe-fetch 'cs) (native-for-cross "cs/c" token))]
[:target native-bc-for-cross () ,(lambda (token) (native-for-cross "bc" token))]
[:target server () ,(lambda (token) (server token))]
[:target server-from-base () ,(lambda (token) (server-from-base token))]
[:target client () ,(lambda (token) (client token))]
[:target client-compile-any () ,(lambda (token) (client token (hash 'server-compile-machine? #t)))]
[:target client-no-installer () ,(lambda (token) (client-base token))]
[:target client-from-site () ,(lambda (token) (client token (hash 'from-site? #t)))]
[:target test-client () ,(lambda (token) (test-client token))]
[:target installers () ,(lambda (token) (installers token))]
[:target installers-from-built () ,(lambda (token) (installers-from-built token))]
[:target clean-clients () ,(lambda (token) (clean-clients token))]
[:target describe-clients () ,(lambda (token) (describe-clients token))]
[:target site () ,(lambda (token) (site token))]
[:target site-from-installers () ,(lambda (token) (site-from-installers token))]
[:target snapshot-site () ,(lambda (token) (snapshot-site token))]
[:target snapshot-at-site () ,(lambda (token) (snapshot-at-site token))]
[:target ,build-config.rktd ()
,(lambda (path token)
(mkdir-p (path-only path))
(display-to-file "#hash((links-search-files . ()))\n"
path
:truncate))]
[:target local-catalog () ,(lambda (token) (local-catalog))]
[:target derived () ,(lambda (token) (derived token))]
;; does nothing; used to make sure that "main.zuo" loads without error
[:target ping () ,(lambda (token) (alert "pong"))])))
the-targets)
================================================
FILE: pkgs/at-exp-lib/LICENSE
================================================
This component of Racket is distributed under the under the Apache 2.0
and MIT licenses. The user can choose the license under which they
will be using the software. There may be other licenses within the
distribution with which the user must also comply.
See the files
https://github.com/racket/racket/blob/master/racket/src/LICENSE-APACHE.txt
and
https://github.com/racket/racket/blob/master/racket/src/LICENSE-MIT.txt
for the full text of the licenses.
================================================
FILE: pkgs/at-exp-lib/at-exp/lang/language-info.rkt
================================================
#lang racket/base
(provide get-language-info)
(require racket/match)
(define (get-language-info data)
(define other-get-info
(match data
[(vector mod sym data2)
((dynamic-require mod sym) data2)]
[_ (lambda (key default) default)]))
(lambda (key default)
(case key
[(configure-runtime)
(define config-vec '#[at-exp/lang/runtime-config configure #f])
(define other-config (other-get-info key default))
(cond [(list? other-config) (cons config-vec other-config)]
[else (list config-vec)])]
[else (other-get-info key default)])))
================================================
FILE: pkgs/at-exp-lib/at-exp/lang/reader.rkt
================================================
#lang racket/base
(require syntax/module-reader
(only-in scribble/reader make-at-readtable))
(provide (rename-out [at-read read]
[at-read-syntax read-syntax]
[at-get-info get-info]))
(define (wrap-reader p)
(lambda args
(parameterize ([current-readtable (make-at-readtable #:datum-readtable 'dynamic
#:command-readtable 'dynamic)])
(apply p args))))
(define-values (at-read at-read-syntax at-get-info)
(make-meta-reader
'at-exp
"language path"
lang-reader-module-paths
wrap-reader
(lambda (orig-read-syntax)
(define read-syntax (wrap-reader orig-read-syntax))
(lambda args
(define stx (apply read-syntax args))
(define old-prop (syntax-property stx 'module-language))
(define new-prop `#(at-exp/lang/language-info get-language-info ,old-prop))
(syntax-property stx 'module-language new-prop)))
(lambda (proc)
(lambda (key defval)
(define (fallback) (if proc (proc key defval) defval))
(define (try-dynamic-require lib export)
(with-handlers ([exn:missing-module?
(λ (x) (fallback))])
(dynamic-require lib export)))
(case key
[(color-lexer)
(try-dynamic-require 'syntax-color/scribble-lexer 'scribble-lexer)]
[(drracket:indentation)
(try-dynamic-require 'scribble/private/indentation 'determine-spaces)]
[(drracket:keystrokes)
(try-dynamic-require 'scribble/private/indentation 'keystrokes)]
;; Note: Do /not/ supply drracket:comment-delimiters here;
;; that would cause the at-exp meta-lang to overrule the
;; main lang.
[else (fallback)])))))
================================================
FILE: pkgs/at-exp-lib/at-exp/lang/runtime-config.rkt
================================================
#lang racket/base
(provide configure)
(require (only-in scribble/reader make-at-readtable))
(define (configure data)
(define old-read (current-read-interaction))
(define (new-read src in)
(parameterize ([current-readtable (make-at-readtable #:readtable (current-readtable))])
(old-read src in)))
(current-read-interaction new-read))
================================================
FILE: pkgs/at-exp-lib/info.rkt
================================================
#lang info
(define collection 'multi)
(define deps '("base"))
(define pkg-desc "Libraries for @-expressions")
(define pkg-authors '(eli mflatt))
(define version "1.2")
(define license
'(Apache-2.0 OR MIT))
================================================
FILE: pkgs/at-exp-lib/scribble/base/reader.rkt
================================================
#lang racket/base
(require (prefix-in scribble: scribble/reader)
(rename-in syntax/module-reader
[#%module-begin #%reader-module-begin]))
(provide (rename-out [module-begin #%module-begin])
(except-out (all-from-out racket/base)
#%module-begin)
scribble-base-info
scribble-base-reader-info
scribble-base-language-info)
(define-syntax-rule (module-begin lang #:wrapper1 wrapper1)
(#%reader-module-begin
lang
#:read scribble:read-inside
#:read-syntax scribble:read-syntax-inside
#:whole-body-readers? #t
#:wrapper1 wrapper1
#:info (scribble-base-info)
#:language-info (scribble-base-language-info)))
;; Settings that apply just to the surface syntax:
(define (scribble-base-reader-info)
(lambda (key defval default)
(define (try-dynamic-require lib export)
(with-handlers ([exn:missing-module?
(λ (x) (default key defval))])
(dynamic-require lib export)))
(case key
[(color-lexer)
(try-dynamic-require 'syntax-color/scribble-lexer 'scribble-inside-lexer)]
[(drracket:indentation)
(try-dynamic-require 'scribble/private/indentation 'determine-spaces)]
[(drracket:keystrokes)
(try-dynamic-require 'scribble/private/indentation 'keystrokes)]
[(drracket:default-extension) "scrbl"]
[(drracket:comment-delimiters)
'((line "@;" " "))]
[(drracket:define-popup)
(try-dynamic-require 'scribble/private/define-popup 'define-popup)]
[else (default key defval)])))
;; Settings that apply to Scribble-renderable docs:
(define (scribble-base-info)
(lambda (key defval default)
(case key
[(drracket:toolbar-buttons)
(dynamic-require 'scribble/tools/drracket-buttons 'drracket-buttons)]
[else ((scribble-base-reader-info) key defval default)])))
(define (scribble-base-language-info)
'#(racket/language-info get-info #f))
================================================
FILE: pkgs/at-exp-lib/scribble/reader.rkt
================================================
;; ============================================================================
;; Implements the @-reader macro for embedding text in Racket code.
#lang racket/base
(require syntax/readerr)
;; ----------------------------------------------------------------------------
;; utilities for syntax specifications below
;; regexps
(define (px . args)
(let* ([args (let loop ([xs args])
(if (list? xs) (apply append (map loop xs)) (list xs)))]
[args (map (lambda (x)
(cond [(bytes? x) x]
[(string? x) (string->bytes/utf-8 x)]
[(char? x) (regexp-quote (string->bytes/utf-8 (string x)))]
[(not x) #""]
[else (internal-error 'px)]))
args)])
(byte-pregexp (apply bytes-append args))))
(define (^px . args) (px #"^" args))
;; reverses a byte string visually
(define reverse-bytes
(let ([pairs (let ([xs (bytes->list #"([{<")]
[ys (bytes->list #")]}>")])
(append (map cons xs ys) (map cons ys xs)))])
(define (rev-byte b)
(cond [(assq b pairs) => cdr]
[else b]))
(lambda (bs) (list->bytes (map rev-byte (reverse (bytes->list bs)))))))
;; ----------------------------------------------------------------------------
;; syntax
;; basic syntax customization
(define ch:command #\@)
(define ch:comment #\;)
(define ch:expr-escape #\|)
(define ch:datums-begin #\[)
(define ch:datums-end #\])
(define ch:lines-begin #\{)
(define ch:lines-end #\})
(define str:lines-begin* #"(\\|[^a-zA-Z0-9 \t\r\n\f@\\\177-\377{]*)\\{")
(define str:end-of-line "[ \t]*\r?\n[ \t]*") ; eat spaces on the next line
;; regexps based on the above (more in make-dispatcher)
(define re:whitespaces (^px "\\s+"))
(define re:comment-start (^px ch:comment))
(define re:comment-line (^px "[^\n]*(?:\n|$)[ \t]*")) ; like tex's `%'
(define re:expr-escape (^px ch:expr-escape))
(define re:datums-begin (^px ch:datums-begin))
(define re:datums-end (^px ch:datums-end))
(define re:lines-begin (^px ch:lines-begin))
(define re:lines-begin* (^px str:lines-begin*))
(define re:lines-end (^px ch:lines-end))
(define re:end-of-line (^px str:end-of-line))
;; ----------------------------------------------------------------------------
;; utilities
Showing preview only (292K chars total). Download the full file or copy to clipboard to get everything.
gitextract_iymedpji/
├── .gitattributes
├── .github/
│ ├── CITATION.cff
│ ├── CODE_OF_CONDUCT.md
│ ├── CONTRIBUTING.md
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug-report.md
│ │ ├── config.yml
│ │ └── feature-request.md
│ ├── SECURITY.md
│ ├── dependabot.yml
│ ├── images/
│ │ ├── Dockerfile
│ │ └── README.md
│ ├── pull_request_template.md
│ ├── scripts/
│ │ ├── adjust-sarif-tool.sh
│ │ ├── matting.sh
│ │ ├── run-racket-tests.sh
│ │ ├── summary
│ │ └── test.sh
│ └── workflows/
│ ├── chez-build.yml
│ ├── ci-asan.yml
│ ├── ci-pr.yml
│ ├── ci-push-x86_linux.yml
│ ├── ci-push_macos.yml
│ ├── ci-snapshot.yml
│ ├── ci_win.yml
│ ├── codeql-analysis.yml
│ ├── docker-racketci.yml
│ ├── scribble_build-guide.yml
│ ├── scribble_license.yml
│ ├── site-small.rkt
│ └── ubsan-x86.yml
├── .gitignore
├── .lgtm.yml
├── .mailmap
├── LICENSE.txt
├── Makefile
├── README.md
├── build.md
├── main.zuo
├── pkgs/
│ ├── at-exp-lib/
│ │ ├── LICENSE
│ │ ├── at-exp/
│ │ │ └── lang/
│ │ │ ├── language-info.rkt
│ │ │ ├── reader.rkt
│ │ │ └── runtime-config.rkt
│ │ ├── info.rkt
│ │ └── scribble/
│ │ ├── base/
│ │ │ └── reader.rkt
│ │ └── reader.rkt
│ ├── base/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── compiler/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── compiler-lib/
│ │ ├── LICENSE
│ │ ├── compiler/
│ │ │ ├── bundle-dist.rkt
│ │ │ ├── commands/
│ │ │ │ ├── decompile.rkt
│ │ │ │ ├── exe-dir.rkt
│ │ │ │ ├── exe.rkt
│ │ │ │ ├── expand.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── make.rkt
│ │ │ │ ├── pack.rkt
│ │ │ │ ├── read.rkt
│ │ │ │ ├── test.rkt
│ │ │ │ └── unpack.rkt
│ │ │ ├── compiler-unit.rkt
│ │ │ ├── decompile.rkt
│ │ │ ├── demod.rkt
│ │ │ ├── demodularizer/
│ │ │ │ ├── at-phase-level.rkt
│ │ │ │ ├── batch.rkt
│ │ │ │ ├── binding-lookup.rkt
│ │ │ │ ├── binding.rkt
│ │ │ │ ├── bundle.rkt
│ │ │ │ ├── deshadow.rkt
│ │ │ │ ├── gc.rkt
│ │ │ │ ├── import-name.rkt
│ │ │ │ ├── import.rkt
│ │ │ │ ├── linklet.rkt
│ │ │ │ ├── log.rkt
│ │ │ │ ├── main.rkt
│ │ │ │ ├── merge.rkt
│ │ │ │ ├── merged.rkt
│ │ │ │ ├── module-path.rkt
│ │ │ │ ├── module.rkt
│ │ │ │ ├── name.rkt
│ │ │ │ ├── one-mod.rkt
│ │ │ │ ├── pane.rkt
│ │ │ │ ├── path-submod.rkt
│ │ │ │ ├── provide.rkt
│ │ │ │ ├── remap.rkt
│ │ │ │ ├── run.rkt
│ │ │ │ ├── runs.rkt
│ │ │ │ ├── simplify.rkt
│ │ │ │ ├── syntax.rkt
│ │ │ │ └── write.rkt
│ │ │ ├── embed-sig.rkt
│ │ │ ├── embed-unit.rkt
│ │ │ ├── option-unit.rkt
│ │ │ ├── private/
│ │ │ │ ├── chez.rkt
│ │ │ │ ├── deserialize.rkt
│ │ │ │ └── language.rkt
│ │ │ └── sig.rkt
│ │ ├── info.rkt
│ │ ├── launcher/
│ │ │ ├── launcher-sig.rkt
│ │ │ └── launcher-unit.rkt
│ │ ├── raco/
│ │ │ └── testing.rkt
│ │ └── setup/
│ │ ├── option-sig.rkt
│ │ ├── option-unit.rkt
│ │ └── setup-unit.rkt
│ ├── compiler-test/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ └── compiler/
│ │ ├── collection-zos.rkt
│ │ ├── commands/
│ │ │ └── test.rkt
│ │ ├── ctool.rkt
│ │ ├── demodularizer/
│ │ │ ├── demod-test.rkt
│ │ │ ├── info.rkt
│ │ │ ├── sandbox-test/
│ │ │ │ ├── avoid-leaf.rkt
│ │ │ │ ├── main-src.rkt
│ │ │ │ ├── main.rkt
│ │ │ │ └── modbeg.rkt
│ │ │ ├── sandbox.rkt
│ │ │ └── tests/
│ │ │ ├── base-5-lib.rkt
│ │ │ ├── base-5-lib2.rkt
│ │ │ ├── base-5.rkt
│ │ │ ├── base-assign.rkt
│ │ │ ├── base-effect-defn.rkt
│ │ │ ├── has-main-5.rkt
│ │ │ ├── kernel-5.rkt
│ │ │ ├── racket-5.rkt
│ │ │ ├── syntax-parse-lib.rkt
│ │ │ └── use-sub-5.rkt
│ │ ├── embed/
│ │ │ ├── embed-asl.rkt
│ │ │ ├── embed-bsl.rkt
│ │ │ ├── embed-bsla.rkt
│ │ │ ├── embed-isl.rkt
│ │ │ ├── embed-isll.rkt
│ │ │ ├── embed-me1.rkt
│ │ │ ├── embed-me10.rkt
│ │ │ ├── embed-me11-rd.rkt
│ │ │ ├── embed-me11.rkt
│ │ │ ├── embed-me12-rd.ss
│ │ │ ├── embed-me12.ss
│ │ │ ├── embed-me13.rkt
│ │ │ ├── embed-me14.rkt
│ │ │ ├── embed-me15-one.rkt
│ │ │ ├── embed-me15.rkt
│ │ │ ├── embed-me16.rkt
│ │ │ ├── embed-me17.rkt
│ │ │ ├── embed-me17a.rkt
│ │ │ ├── embed-me18.rkt
│ │ │ ├── embed-me18a.rkt
│ │ │ ├── embed-me19.rkt
│ │ │ ├── embed-me1b.rkt
│ │ │ ├── embed-me1c.rkt
│ │ │ ├── embed-me1d.rkt
│ │ │ ├── embed-me1e.rkt
│ │ │ ├── embed-me1f.rkt
│ │ │ ├── embed-me1f1.rktl
│ │ │ ├── embed-me2.rkt
│ │ │ ├── embed-me20.rkt
│ │ │ ├── embed-me21.rkt
│ │ │ ├── embed-me22.rkt
│ │ │ ├── embed-me23.rkt
│ │ │ ├── embed-me24.rkt
│ │ │ ├── embed-me25.rkt
│ │ │ ├── embed-me26.rkt
│ │ │ ├── embed-me27.rkt
│ │ │ ├── embed-me28.rkt
│ │ │ ├── embed-me29-2.rkt
│ │ │ ├── embed-me29.rkt
│ │ │ ├── embed-me3.rkt
│ │ │ ├── embed-me30.rkt
│ │ │ ├── embed-me31.rkt
│ │ │ ├── embed-me32.rkt
│ │ │ ├── embed-me33.rkt
│ │ │ ├── embed-me34-print.rkt
│ │ │ ├── embed-me34.rkt
│ │ │ ├── embed-me35.rkt
│ │ │ ├── embed-me36.rkt
│ │ │ ├── embed-me37.rkt
│ │ │ ├── embed-me37b.rkt
│ │ │ ├── embed-me38.rkt
│ │ │ ├── embed-me39.rkt
│ │ │ ├── embed-me4.rktl
│ │ │ ├── embed-me40.rkt
│ │ │ ├── embed-me40b.rkt
│ │ │ ├── embed-me41.rkt
│ │ │ ├── embed-me5.rkt
│ │ │ ├── embed-me6.rkt
│ │ │ ├── embed-me6b.rkt
│ │ │ ├── embed-me8.c
│ │ │ ├── embed-me9.rkt
│ │ │ ├── embed-place.rkt
│ │ │ ├── embed-place2.rkt
│ │ │ ├── embed-planet-1/
│ │ │ │ ├── alt.rkt
│ │ │ │ ├── dyn-sub.rkt
│ │ │ │ ├── has-sub.rkt
│ │ │ │ ├── main.rkt
│ │ │ │ └── other.rkt
│ │ │ ├── embed-planet-2/
│ │ │ │ ├── main.ss
│ │ │ │ └── private/
│ │ │ │ └── sub.rkt
│ │ │ ├── info.rkt
│ │ │ ├── sub/
│ │ │ │ └── embed-me1f2.rktl
│ │ │ └── test.rkt
│ │ ├── info.rkt
│ │ ├── make.rkt
│ │ ├── regression.rkt
│ │ ├── test/
│ │ │ ├── a.rkt
│ │ │ ├── args.rkt
│ │ │ ├── b.rkt
│ │ │ ├── d/
│ │ │ │ ├── .ignored.rkt
│ │ │ │ ├── c.rkt
│ │ │ │ └── d.rkt
│ │ │ ├── extensions/
│ │ │ │ ├── a-omit-1.racket-file
│ │ │ │ ├── a-omit-1.rkt
│ │ │ │ ├── b-include-1.racket-file
│ │ │ │ ├── b-include-1.rkt
│ │ │ │ └── info.rkt
│ │ │ ├── output.rkt
│ │ │ ├── racket.rkt
│ │ │ ├── runtime.rkt
│ │ │ └── scheme.rkt
│ │ ├── zo-exs.rkt
│ │ ├── zo-test-util.rkt
│ │ ├── zo-test-worker.rkt
│ │ ├── zo-test.rkt
│ │ └── zo.rkt
│ ├── ffi2/
│ │ ├── ffi2/
│ │ │ ├── scribblings/
│ │ │ │ ├── base-type.scrbl
│ │ │ │ ├── common.rkt
│ │ │ │ ├── compound-type.scrbl
│ │ │ │ ├── define-type.scrbl
│ │ │ │ ├── ffi2.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── pointer.scrbl
│ │ │ │ ├── procedure.scrbl
│ │ │ │ └── racket-id.rkt
│ │ │ └── tests/
│ │ │ ├── array.rkt
│ │ │ ├── base.rkt
│ │ │ ├── benchmark.rkt
│ │ │ ├── bstr.rkt
│ │ │ ├── c.rkt
│ │ │ ├── callback-exn.rkt
│ │ │ ├── cast.rkt
│ │ │ ├── collect-safe.rkt
│ │ │ ├── define-type.rkt
│ │ │ ├── definer.rkt
│ │ │ ├── errno.rkt
│ │ │ ├── ffi2.c
│ │ │ ├── make-ffi2-lib.rkt
│ │ │ ├── original.rkt
│ │ │ ├── pointer.rkt
│ │ │ ├── procedure.rkt
│ │ │ ├── struct-arg.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── system-type-case.rkt
│ │ │ ├── union.rkt
│ │ │ └── varargs.rkt
│ │ └── info.rkt
│ ├── ffi2-lib/
│ │ ├── ffi2/
│ │ │ ├── main.rkt
│ │ │ └── private/
│ │ │ ├── base-pred.rkt
│ │ │ ├── base-type.rkt
│ │ │ ├── cpointer.rkt
│ │ │ ├── error.rkt
│ │ │ ├── lib.rkt
│ │ │ ├── string-convert.rkt
│ │ │ ├── system-type-case.rkt
│ │ │ └── type.rkt
│ │ └── info.rkt
│ ├── net/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── net-doc/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── net/
│ │ └── scribblings/
│ │ ├── base64.scrbl
│ │ ├── cgi.scrbl
│ │ ├── common.rkt
│ │ ├── cookie.scrbl
│ │ ├── dns.scrbl
│ │ ├── ftp.scrbl
│ │ ├── git-checkout.scrbl
│ │ ├── head.scrbl
│ │ ├── http-client.scrbl
│ │ ├── imap.scrbl
│ │ ├── info.rkt
│ │ ├── mime.scrbl
│ │ ├── net.scrbl
│ │ ├── nntp.scrbl
│ │ ├── osx-ssl.scrbl
│ │ ├── pop3.scrbl
│ │ ├── qp.scrbl
│ │ ├── sendmail.scrbl
│ │ ├── sendurl.scrbl
│ │ ├── smtp.scrbl
│ │ ├── ssl-tcp-unit.scrbl
│ │ ├── tcp-redirect.scrbl
│ │ ├── tcp.scrbl
│ │ ├── unihead.scrbl
│ │ ├── uri-codec.scrbl
│ │ ├── url.scrbl
│ │ └── win32-ssl.scrbl
│ ├── net-lib/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── net/
│ │ ├── cgi.rkt
│ │ ├── cookie.rkt
│ │ ├── dns.rkt
│ │ ├── ftp.rkt
│ │ ├── imap.rkt
│ │ ├── mime-util.rkt
│ │ ├── mime.rkt
│ │ ├── nntp.rkt
│ │ ├── pop3.rkt
│ │ ├── private/
│ │ │ ├── ip.rkt
│ │ │ ├── rbtree.rkt
│ │ │ ├── rr-generic.rkt
│ │ │ ├── rr-srv.rkt
│ │ │ └── xoauth2.rkt
│ │ ├── qp.rkt
│ │ ├── sendmail.rkt
│ │ ├── sendurl.rkt
│ │ ├── smtp.rkt
│ │ ├── ssl-tcp-unit.rkt
│ │ ├── tcp-redirect.rkt
│ │ ├── tcp-sig.rkt
│ │ ├── tcp-unit.rkt
│ │ └── unihead.rkt
│ ├── net-test/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ └── net/
│ │ ├── available.rkt
│ │ ├── bad-proxy-envvar.rkt
│ │ ├── base64.rkt
│ │ ├── cgi.rkt
│ │ ├── cookie.rkt
│ │ ├── dns.rkt
│ │ ├── encoders.rkt
│ │ ├── ftp.rkt
│ │ ├── git-checkout.rkt
│ │ ├── head.rkt
│ │ ├── http-client/
│ │ │ ├── rst-server-constants.c
│ │ │ └── rst-server.rkt
│ │ ├── http-client.rkt
│ │ ├── http-proxy/
│ │ │ ├── echo-server.rkt
│ │ │ ├── generic-server.rkt
│ │ │ ├── https-non-server.rkt
│ │ │ └── proxy-server.rkt
│ │ ├── imap.rkt
│ │ ├── info.rkt
│ │ ├── ip.rkt
│ │ ├── main.rkt
│ │ ├── mime.rkt
│ │ ├── pr/
│ │ │ └── pr1.rkt
│ │ ├── stress/
│ │ │ └── info.rkt
│ │ ├── uri-codec.rkt
│ │ ├── url-port.rkt
│ │ ├── url-string.rkt
│ │ └── url.rkt
│ ├── plt-services/
│ │ ├── LICENSE
│ │ └── meta/
│ │ └── props
│ ├── racket-benchmarks/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ ├── mini-bar-plot/
│ │ │ ├── bm.rkt
│ │ │ └── main.rkt
│ │ └── tests/
│ │ ├── future/
│ │ │ └── timing-test.rkt
│ │ └── racket/
│ │ └── benchmarks/
│ │ ├── chaperone/
│ │ │ ├── config.rkt
│ │ │ └── struct.rkt
│ │ ├── common/
│ │ │ ├── .gitignore
│ │ │ ├── README.txt
│ │ │ ├── auto.rkt
│ │ │ ├── bigloo-prelude.sch
│ │ │ ├── browse.sch
│ │ │ ├── cmdline.rkt
│ │ │ ├── collatz-q.rkt
│ │ │ ├── collatz-q.sch
│ │ │ ├── collatz.rkt
│ │ │ ├── collatz.sch
│ │ │ ├── conform.rkt
│ │ │ ├── conform.sch
│ │ │ ├── cpstak.rkt
│ │ │ ├── cpstak.sch
│ │ │ ├── ctak.rkt
│ │ │ ├── ctak.sch
│ │ │ ├── dderiv.rkt
│ │ │ ├── dderiv.sch
│ │ │ ├── deriv.rkt
│ │ │ ├── deriv.sch
│ │ │ ├── destruct.rkt
│ │ │ ├── destruct.sch
│ │ │ ├── div.rkt
│ │ │ ├── div.sch
│ │ │ ├── dynamic.rkt
│ │ │ ├── dynamic.sch
│ │ │ ├── dynamic2.rkt
│ │ │ ├── dynamic2.sch
│ │ │ ├── earley.rkt
│ │ │ ├── earley.sch
│ │ │ ├── fft.rkt
│ │ │ ├── fft.sch
│ │ │ ├── gambit-prelude.sch
│ │ │ ├── graphs.rkt
│ │ │ ├── graphs.sch
│ │ │ ├── guile-prelude.sch
│ │ │ ├── index-template.html
│ │ │ ├── input.txt
│ │ │ ├── kanren.rkt
│ │ │ ├── kanren.sch
│ │ │ ├── lattice.rkt
│ │ │ ├── lattice.sch
│ │ │ ├── lattice2.rkt
│ │ │ ├── lattice2.sch
│ │ │ ├── maze.rkt
│ │ │ ├── maze.sch
│ │ │ ├── maze2.rkt
│ │ │ ├── maze2.sch
│ │ │ ├── mazefun.rkt
│ │ │ ├── mazefun.sch
│ │ │ ├── mit-prelude.sch
│ │ │ ├── mk-bigloo.rktl
│ │ │ ├── mk-chicken.rktl
│ │ │ ├── mk-gambit.rktl
│ │ │ ├── nboyer.rkt
│ │ │ ├── nboyer.sch
│ │ │ ├── nestedloop.rkt
│ │ │ ├── nestedloop.sch
│ │ │ ├── nfa.rkt
│ │ │ ├── nfa.sch
│ │ │ ├── nothing.rkt
│ │ │ ├── nothing.sch
│ │ │ ├── nqueens.rkt
│ │ │ ├── nqueens.sch
│ │ │ ├── nucleic2.rkt
│ │ │ ├── nucleic2.sch
│ │ │ ├── nucleic3.rkt
│ │ │ ├── nucleic3.sch
│ │ │ ├── paraffins.rkt
│ │ │ ├── paraffins.sch
│ │ │ ├── petite-prelude.sch
│ │ │ ├── peval.rkt
│ │ │ ├── peval.sch
│ │ │ ├── psyntax-input.txt
│ │ │ ├── psyntax.rkt
│ │ │ ├── psyntax.sch
│ │ │ ├── puzzle.rkt
│ │ │ ├── puzzle.sch
│ │ │ ├── r5rs-wrap.rktl
│ │ │ ├── ray.rkt
│ │ │ ├── ray.sch
│ │ │ ├── sboyer.rkt
│ │ │ ├── sboyer.sch
│ │ │ ├── scheme-c.rkt
│ │ │ ├── scheme-c.sch
│ │ │ ├── scheme-c2.rkt
│ │ │ ├── scheme-c2.sch
│ │ │ ├── scheme-i.rkt
│ │ │ ├── scheme-i.sch
│ │ │ ├── scheme-i2.rkt
│ │ │ ├── scheme-i2.sch
│ │ │ ├── scheme.rkt
│ │ │ ├── scheme.sch
│ │ │ ├── scheme2.rkt
│ │ │ ├── scheme2.sch
│ │ │ ├── scheme48-prelude.sch
│ │ │ ├── sort1.rkt
│ │ │ ├── sort1.sch
│ │ │ ├── tabulate.rkt
│ │ │ ├── tak.rkt
│ │ │ ├── tak.sch
│ │ │ ├── takl.rkt
│ │ │ ├── takl.sch
│ │ │ ├── takr.rkt
│ │ │ ├── takr.sch
│ │ │ ├── takr2.rkt
│ │ │ ├── takr2.sch
│ │ │ ├── traverse.sch
│ │ │ ├── triangle.rkt
│ │ │ ├── triangle.sch
│ │ │ ├── typed/
│ │ │ │ ├── collatz-non-optimizing.rkt
│ │ │ │ ├── collatz-optimizing.rkt
│ │ │ │ ├── collatz-q-non-optimizing.rkt
│ │ │ │ ├── collatz-q-optimizing.rkt
│ │ │ │ ├── collatz-q.rktl
│ │ │ │ ├── collatz.rktl
│ │ │ │ ├── cpstak-non-optimizing.rkt
│ │ │ │ ├── cpstak-optimizing.rkt
│ │ │ │ ├── cpstak.rktl
│ │ │ │ ├── ctak-non-optimizing.rkt
│ │ │ │ ├── ctak-optimizing.rkt
│ │ │ │ ├── ctak.rktl
│ │ │ │ ├── dderiv-non-optimizing.rkt
│ │ │ │ ├── dderiv-optimizing.rkt
│ │ │ │ ├── dderiv.rktl
│ │ │ │ ├── deriv-non-optimizing.rkt
│ │ │ │ ├── deriv-optimizing.rkt
│ │ │ │ ├── deriv.rktl
│ │ │ │ ├── div-non-optimizing.rkt
│ │ │ │ ├── div-optimizing.rkt
│ │ │ │ ├── div.rktl
│ │ │ │ ├── fft-non-optimizing.rkt
│ │ │ │ ├── fft-optimizing.rkt
│ │ │ │ ├── fft.rktl
│ │ │ │ ├── graphs-non-optimizing.rkt
│ │ │ │ ├── graphs-optimizing.rkt
│ │ │ │ ├── graphs.rktl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── lattice2-non-optimizing.rkt
│ │ │ │ ├── lattice2-optimizing.rkt
│ │ │ │ ├── lattice2.rktl
│ │ │ │ ├── maze2-non-optimizing.rkt
│ │ │ │ ├── maze2-optimizing.rkt
│ │ │ │ ├── maze2.rktl
│ │ │ │ ├── mazefun-non-optimizing.rkt
│ │ │ │ ├── mazefun-optimizing.rkt
│ │ │ │ ├── mazefun.rktl
│ │ │ │ ├── nestedloop-non-optimizing.rkt
│ │ │ │ ├── nestedloop-optimizing.rkt
│ │ │ │ ├── nestedloop.rktl
│ │ │ │ ├── nfa-non-optimizing.rkt
│ │ │ │ ├── nfa-optimizing.rkt
│ │ │ │ ├── nfa.rktl
│ │ │ │ ├── nothing-non-optimizing.rkt
│ │ │ │ ├── nothing-optimizing.rkt
│ │ │ │ ├── nothing.rktl
│ │ │ │ ├── nqueens-non-optimizing.rkt
│ │ │ │ ├── nqueens-optimizing.rkt
│ │ │ │ ├── nqueens.rktl
│ │ │ │ ├── nucleic3-non-optimizing.rkt
│ │ │ │ ├── nucleic3-optimizing.rkt
│ │ │ │ ├── nucleic3.rktl
│ │ │ │ ├── paraffins-non-optimizing.rkt
│ │ │ │ ├── paraffins-optimizing.rkt
│ │ │ │ ├── paraffins.rktl
│ │ │ │ ├── puzzle-non-optimizing.rkt
│ │ │ │ ├── puzzle-optimizing.rkt
│ │ │ │ ├── puzzle.rktl
│ │ │ │ ├── ray-non-optimizing.rkt
│ │ │ │ ├── ray-optimizing.rkt
│ │ │ │ ├── ray.rktl
│ │ │ │ ├── tak-non-optimizing.rkt
│ │ │ │ ├── tak-optimizing.rkt
│ │ │ │ ├── tak.rktl
│ │ │ │ ├── takl-non-optimizing.rkt
│ │ │ │ ├── takl-optimizing.rkt
│ │ │ │ ├── takl.rktl
│ │ │ │ ├── takr-non-optimizing.rkt
│ │ │ │ ├── takr-optimizing.rkt
│ │ │ │ ├── takr.rktl
│ │ │ │ ├── takr2-non-optimizing.rkt
│ │ │ │ ├── takr2-optimizing.rkt
│ │ │ │ ├── takr2.rktl
│ │ │ │ ├── triangle-non-optimizing.rkt
│ │ │ │ ├── triangle-optimizing.rkt
│ │ │ │ ├── triangle.rktl
│ │ │ │ └── wrapper.rkt
│ │ │ ├── wrap-common.rkt
│ │ │ └── wrap.rkt
│ │ ├── control/
│ │ │ ├── README.txt
│ │ │ ├── attach.sch
│ │ │ ├── barrier.rkt
│ │ │ ├── baseline.rkt
│ │ │ ├── baseline.sch
│ │ │ ├── capture-mark.rkt
│ │ │ ├── cell.rkt
│ │ │ ├── compose.rkt
│ │ │ ├── config.rktl
│ │ │ ├── cont.rkt
│ │ │ ├── cont.sch
│ │ │ ├── exn.rkt
│ │ │ ├── get.rkt
│ │ │ ├── hasheq.rkt
│ │ │ ├── immediate.rkt
│ │ │ ├── info.rkt
│ │ │ ├── mark.rkt
│ │ │ ├── param.rkt
│ │ │ ├── setup.rktl
│ │ │ ├── sync.rkt
│ │ │ └── thread.rkt
│ │ ├── hash/
│ │ │ ├── all.rkt
│ │ │ ├── config.rkt
│ │ │ ├── info.rkt
│ │ │ ├── iterate.rkt
│ │ │ ├── ref.rkt
│ │ │ ├── remove.rkt
│ │ │ ├── set.rkt
│ │ │ ├── subset.rkt
│ │ │ └── summary.rkt
│ │ ├── mz/
│ │ │ ├── expand-class.rkt
│ │ │ ├── info.rkt
│ │ │ ├── input.xml
│ │ │ ├── parsing.rkt
│ │ │ ├── redsem.rkt
│ │ │ └── ssax.rkt
│ │ ├── places/
│ │ │ ├── info.rkt
│ │ │ ├── place-channel.rkt
│ │ │ ├── place-launch.rkt
│ │ │ ├── place-processes.rkt
│ │ │ └── symbols.rkt
│ │ ├── redrawing-ala-drracket.rkt
│ │ ├── rx/
│ │ │ ├── .gitignore
│ │ │ ├── auto.rkt
│ │ │ ├── index-template.html
│ │ │ ├── pcre.rkt
│ │ │ ├── perl_prefix.pl
│ │ │ └── python_prefix.py
│ │ ├── shootout/
│ │ │ ├── README.txt
│ │ │ ├── ackermann.rkt
│ │ │ ├── ary.rkt
│ │ │ ├── auto.rkt
│ │ │ ├── binarytrees-normal.rkt
│ │ │ ├── binarytrees-places.rkt
│ │ │ ├── binarytrees.rkt
│ │ │ ├── chameneos.rkt
│ │ │ ├── cheapconcurrency.rkt
│ │ │ ├── echo.rkt
│ │ │ ├── except.rkt
│ │ │ ├── fannkuch-redux.rkt
│ │ │ ├── fannkuch.rkt
│ │ │ ├── fasta-new.rkt
│ │ │ ├── fasta.rkt
│ │ │ ├── fibo.rkt
│ │ │ ├── hash.rkt
│ │ │ ├── hash2.rkt
│ │ │ ├── heapsort.rkt
│ │ │ ├── hello.rkt
│ │ │ ├── info.rkt
│ │ │ ├── k-nucleotide-bytes-par.rkt
│ │ │ ├── k-nucleotide.rkt
│ │ │ ├── lists.rkt
│ │ │ ├── mandelbrot-futures.rkt
│ │ │ ├── mandelbrot-generic.rkt
│ │ │ ├── mandelbrot.rkt
│ │ │ ├── matrix.rkt
│ │ │ ├── meteor.rkt
│ │ │ ├── moments.rkt
│ │ │ ├── nbody-generic.rkt
│ │ │ ├── nbody-vec-generic.rkt
│ │ │ ├── nbody-vec.rkt
│ │ │ ├── nbody.rkt
│ │ │ ├── nestedloop.rkt
│ │ │ ├── nothing.rkt
│ │ │ ├── nsieve.rkt
│ │ │ ├── nsievebits.rkt
│ │ │ ├── partialsums.rkt
│ │ │ ├── pidigits-gmp.rkt
│ │ │ ├── pidigits.rkt
│ │ │ ├── pidigits1.rkt
│ │ │ ├── random.rkt
│ │ │ ├── recursive.rkt
│ │ │ ├── regexmatch.rkt
│ │ │ ├── regexpdna-places.rkt
│ │ │ ├── regexpdna.rkt
│ │ │ ├── reversecomplement.rkt
│ │ │ ├── reversefile.rkt
│ │ │ ├── run.rkt
│ │ │ ├── sieve.rkt
│ │ │ ├── spectralnorm-generic.rkt
│ │ │ ├── spectralnorm-par.rkt
│ │ │ ├── spectralnorm.rkt
│ │ │ ├── spellcheck.rkt
│ │ │ ├── strcat.rkt
│ │ │ ├── sumcol-input.txt
│ │ │ ├── sumcol.rkt
│ │ │ ├── thread-ring.rkt
│ │ │ ├── typed/
│ │ │ │ ├── ackermann-non-optimizing.rkt
│ │ │ │ ├── ackermann-optimizing.rkt
│ │ │ │ ├── ackermann.rktl
│ │ │ │ ├── ary-non-optimizing.rkt
│ │ │ │ ├── ary-optimizing.rkt
│ │ │ │ ├── ary.rktl
│ │ │ │ ├── binarytrees-non-optimizing.rkt
│ │ │ │ ├── binarytrees-optimizing.rkt
│ │ │ │ ├── binarytrees.rktl
│ │ │ │ ├── chameneos-non-optimizing.rkt
│ │ │ │ ├── chameneos-optimizing.rkt
│ │ │ │ ├── chameneos.rktl
│ │ │ │ ├── cheapconcurrency-non-optimizing.rkt
│ │ │ │ ├── cheapconcurrency-optimizing.rkt
│ │ │ │ ├── cheapconcurrency.rktl
│ │ │ │ ├── echo-non-optimizing.rkt
│ │ │ │ ├── echo-optimizing.rkt
│ │ │ │ ├── echo.rktl
│ │ │ │ ├── except-non-optimizing.rkt
│ │ │ │ ├── except-optimizing.rkt
│ │ │ │ ├── except.rktl
│ │ │ │ ├── fannkuch-non-optimizing.rkt
│ │ │ │ ├── fannkuch-optimizing.rkt
│ │ │ │ ├── fannkuch-redux-non-optimizing.rkt
│ │ │ │ ├── fannkuch-redux-optimizing.rkt
│ │ │ │ ├── fannkuch-redux.rktl
│ │ │ │ ├── fannkuch.rktl
│ │ │ │ ├── fasta-non-optimizing.rkt
│ │ │ │ ├── fasta-optimizing.rkt
│ │ │ │ ├── fasta.rktl
│ │ │ │ ├── fibo-non-optimizing.rkt
│ │ │ │ ├── fibo-optimizing.rkt
│ │ │ │ ├── fibo.rktl
│ │ │ │ ├── hash-non-optimizing.rkt
│ │ │ │ ├── hash-optimizing.rkt
│ │ │ │ ├── hash.rktl
│ │ │ │ ├── hash2-non-optimizing.rkt
│ │ │ │ ├── hash2-optimizing.rkt
│ │ │ │ ├── hash2.rktl
│ │ │ │ ├── heapsort-non-optimizing.rkt
│ │ │ │ ├── heapsort-optimizing.rkt
│ │ │ │ ├── heapsort.rktl
│ │ │ │ ├── hello-non-optimizing.rkt
│ │ │ │ ├── hello-optimizing.rkt
│ │ │ │ ├── hello.rktl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── k-nucleotide-non-optimizing.rkt
│ │ │ │ ├── k-nucleotide-optimizing.rkt
│ │ │ │ ├── k-nucleotide.rktl
│ │ │ │ ├── lists-non-optimizing.rkt
│ │ │ │ ├── lists-optimizing.rkt
│ │ │ │ ├── lists.rktl
│ │ │ │ ├── mandelbrot-generic-non-optimizing.rkt
│ │ │ │ ├── mandelbrot-generic-optimizing.rkt
│ │ │ │ ├── mandelbrot-generic.rktl
│ │ │ │ ├── mandelbrot-non-optimizing.rkt
│ │ │ │ ├── mandelbrot-optimizing.rkt
│ │ │ │ ├── mandelbrot.rktl
│ │ │ │ ├── matrix-non-optimizing.rkt
│ │ │ │ ├── matrix-optimizing.rkt
│ │ │ │ ├── matrix.rktl
│ │ │ │ ├── meteor-non-optimizing.rkt
│ │ │ │ ├── meteor-optimizing.rkt
│ │ │ │ ├── meteor.rktl
│ │ │ │ ├── moments-non-optimizing.rkt
│ │ │ │ ├── moments-optimizing.rkt
│ │ │ │ ├── moments.rktl
│ │ │ │ ├── nbody-generic-non-optimizing.rkt
│ │ │ │ ├── nbody-generic-optimizing.rkt
│ │ │ │ ├── nbody-generic.rktl
│ │ │ │ ├── nbody-non-optimizing.rkt
│ │ │ │ ├── nbody-optimizing.rkt
│ │ │ │ ├── nbody-vec-generic-non-optimizing.rkt
│ │ │ │ ├── nbody-vec-generic-optimizing.rkt
│ │ │ │ ├── nbody-vec-generic.rktl
│ │ │ │ ├── nbody-vec-non-optimizing.rkt
│ │ │ │ ├── nbody-vec-optimizing.rkt
│ │ │ │ ├── nbody-vec.rktl
│ │ │ │ ├── nbody.rktl
│ │ │ │ ├── nestedloop-non-optimizing.rkt
│ │ │ │ ├── nestedloop-optimizing.rkt
│ │ │ │ ├── nestedloop.rktl
│ │ │ │ ├── nothing-non-optimizing.rkt
│ │ │ │ ├── nothing-optimizing.rkt
│ │ │ │ ├── nothing.rktl
│ │ │ │ ├── nsieve-non-optimizing.rkt
│ │ │ │ ├── nsieve-optimizing.rkt
│ │ │ │ ├── nsieve.rktl
│ │ │ │ ├── nsievebits-non-optimizing.rkt
│ │ │ │ ├── nsievebits-optimizing.rkt
│ │ │ │ ├── nsievebits.rktl
│ │ │ │ ├── partialsums-non-optimizing.rkt
│ │ │ │ ├── partialsums-optimizing.rkt
│ │ │ │ ├── partialsums.rktl
│ │ │ │ ├── pidigits-non-optimizing.rkt
│ │ │ │ ├── pidigits-optimizing.rkt
│ │ │ │ ├── pidigits.rktl
│ │ │ │ ├── pidigits1-non-optimizing.rkt
│ │ │ │ ├── pidigits1-optimizing.rkt
│ │ │ │ ├── pidigits1.rktl
│ │ │ │ ├── random-non-optimizing.rkt
│ │ │ │ ├── random-optimizing.rkt
│ │ │ │ ├── random.rktl
│ │ │ │ ├── recursive-non-optimizing.rkt
│ │ │ │ ├── recursive-optimizing.rkt
│ │ │ │ ├── recursive.rktl
│ │ │ │ ├── regexmatch-non-optimizing.rkt
│ │ │ │ ├── regexmatch-optimizing.rkt
│ │ │ │ ├── regexmatch.rktl
│ │ │ │ ├── regexpdna-non-optimizing.rkt
│ │ │ │ ├── regexpdna-optimizing.rkt
│ │ │ │ ├── regexpdna.rktl
│ │ │ │ ├── reversecomplement-non-optimizing.rkt
│ │ │ │ ├── reversecomplement-optimizing.rkt
│ │ │ │ ├── reversecomplement.rktl
│ │ │ │ ├── reversefile-non-optimizing.rkt
│ │ │ │ ├── reversefile-optimizing.rkt
│ │ │ │ ├── reversefile.rktl
│ │ │ │ ├── sieve-non-optimizing.rkt
│ │ │ │ ├── sieve-optimizing.rkt
│ │ │ │ ├── sieve.rktl
│ │ │ │ ├── spectralnorm-generic-non-optimizing.rkt
│ │ │ │ ├── spectralnorm-generic-optimizing.rkt
│ │ │ │ ├── spectralnorm-generic.rktl
│ │ │ │ ├── spectralnorm-non-optimizing.rkt
│ │ │ │ ├── spectralnorm-optimizing.rkt
│ │ │ │ ├── spectralnorm.rktl
│ │ │ │ ├── spellcheck-non-optimizing.rkt
│ │ │ │ ├── spellcheck-optimizing.rkt
│ │ │ │ ├── spellcheck.rktl
│ │ │ │ ├── strcat-non-optimizing.rkt
│ │ │ │ ├── strcat-optimizing.rkt
│ │ │ │ ├── strcat.rktl
│ │ │ │ ├── sumcol-non-optimizing.rkt
│ │ │ │ ├── sumcol-optimizing.rkt
│ │ │ │ ├── sumcol.rktl
│ │ │ │ ├── thread-ring-non-optimizing.rkt
│ │ │ │ ├── thread-ring-optimizing.rkt
│ │ │ │ ├── thread-ring.rktl
│ │ │ │ ├── wc-non-optimizing.rkt
│ │ │ │ ├── wc-optimizing.rkt
│ │ │ │ ├── wc.rktl
│ │ │ │ ├── wordfreq-non-optimizing.rkt
│ │ │ │ ├── wordfreq-optimizing.rkt
│ │ │ │ ├── wordfreq.rktl
│ │ │ │ └── wrapper.rkt
│ │ │ ├── wc.rkt
│ │ │ └── wordfreq.rkt
│ │ └── treelist/
│ │ └── bm.rkt
│ ├── racket-build-guide/
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── bootstrap.scrbl
│ │ ├── build.scrbl
│ │ ├── common.rkt
│ │ ├── contribute.scrbl
│ │ ├── distribute.scrbl
│ │ ├── info.rkt
│ │ ├── racket-build-guide.scrbl
│ │ └── zuo.scrbl
│ ├── racket-doc/
│ │ ├── LICENSE
│ │ ├── compatibility/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── compatibility.scrbl
│ │ │ ├── defmacro.scrbl
│ │ │ ├── mlists.scrbl
│ │ │ └── package.scrbl
│ │ ├── dynext/
│ │ │ ├── dynext.scrbl
│ │ │ └── info.rkt
│ │ ├── ffi/
│ │ │ └── examples/
│ │ │ ├── c-printf.rkt
│ │ │ ├── crypt.rkt
│ │ │ ├── esd.rkt
│ │ │ ├── info.rkt
│ │ │ ├── magick.rkt
│ │ │ ├── sndfile.rkt
│ │ │ ├── tcl.rkt
│ │ │ ├── use-c-printf.rkt
│ │ │ ├── use-crypt.rkt
│ │ │ ├── use-esd.rkt
│ │ │ ├── use-magick.rkt
│ │ │ ├── use-sndfile.rkt
│ │ │ ├── use-tcl.rkt
│ │ │ ├── use-xmmsctrl.rkt
│ │ │ ├── use-xosd.rkt
│ │ │ ├── xmmsctrl.rkt
│ │ │ └── xosd.rkt
│ │ ├── file/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── cache.scrbl
│ │ │ ├── common.rkt
│ │ │ ├── convertible.scrbl
│ │ │ ├── file.scrbl
│ │ │ ├── gif.scrbl
│ │ │ ├── glob.scrbl
│ │ │ ├── gunzip.scrbl
│ │ │ ├── gzip.scrbl
│ │ │ ├── ico.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── md5.scrbl
│ │ │ ├── resource.scrbl
│ │ │ ├── sha1.scrbl
│ │ │ ├── tar.scrbl
│ │ │ ├── untar.scrbl
│ │ │ ├── untgz.scrbl
│ │ │ ├── unzip.scrbl
│ │ │ └── zip.scrbl
│ │ ├── help/
│ │ │ ├── compat.scrbl
│ │ │ ├── help.scrbl
│ │ │ └── info.rkt
│ │ ├── info.rkt
│ │ ├── json/
│ │ │ ├── info.rkt
│ │ │ └── json.scrbl
│ │ ├── openssl/
│ │ │ ├── info.rkt
│ │ │ └── openssl.scrbl
│ │ ├── pkg/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── apis.scrbl
│ │ │ ├── catalog-protocol.scrbl
│ │ │ ├── common.rkt
│ │ │ ├── db.scrbl
│ │ │ ├── dirs-catalog.scrbl
│ │ │ ├── envvars.scrbl
│ │ │ ├── getting-started.scrbl
│ │ │ ├── git-workflow.scrbl
│ │ │ ├── implementation.scrbl
│ │ │ ├── lib.scrbl
│ │ │ ├── name.scrbl
│ │ │ ├── path.scrbl
│ │ │ ├── pkg.scrbl
│ │ │ └── strip.scrbl
│ │ ├── scribblings/
│ │ │ ├── foreign/
│ │ │ │ ├── active-x.scrbl
│ │ │ │ ├── alloc.scrbl
│ │ │ │ ├── atomic.scrbl
│ │ │ │ ├── collect-callback.scrbl
│ │ │ │ ├── com-auto.scrbl
│ │ │ │ ├── com-common.rkt
│ │ │ │ ├── com-intf.scrbl
│ │ │ │ ├── com.scrbl
│ │ │ │ ├── cpointer.scrbl
│ │ │ │ ├── custodian.scrbl
│ │ │ │ ├── cvector.scrbl
│ │ │ │ ├── define.scrbl
│ │ │ │ ├── derived.scrbl
│ │ │ │ ├── file.scrbl
│ │ │ │ ├── foreign.scrbl
│ │ │ │ ├── global.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── intro.scrbl
│ │ │ │ ├── libs.scrbl
│ │ │ │ ├── misc.scrbl
│ │ │ │ ├── ns.scrbl
│ │ │ │ ├── objc.scrbl
│ │ │ │ ├── os-thread.scrbl
│ │ │ │ ├── pointers.scrbl
│ │ │ │ ├── port.scrbl
│ │ │ │ ├── schedule.scrbl
│ │ │ │ ├── serialize-cstruct.scrbl
│ │ │ │ ├── static.scrbl
│ │ │ │ ├── try-atomic.scrbl
│ │ │ │ ├── types.scrbl
│ │ │ │ ├── unexported.scrbl
│ │ │ │ ├── utils.rkt
│ │ │ │ ├── vector.scrbl
│ │ │ │ ├── vm.scrbl
│ │ │ │ └── winapi.scrbl
│ │ │ ├── getting-started/
│ │ │ │ ├── getting-started.scrbl
│ │ │ │ └── info.rkt
│ │ │ ├── guide/
│ │ │ │ ├── apply.scrbl
│ │ │ │ ├── arith.rkt
│ │ │ │ ├── begin.scrbl
│ │ │ │ ├── binding.scrbl
│ │ │ │ ├── booleans.scrbl
│ │ │ │ ├── boxes.scrbl
│ │ │ │ ├── byte-strings.scrbl
│ │ │ │ ├── case.scrbl
│ │ │ │ ├── char-strings.scrbl
│ │ │ │ ├── chars.scrbl
│ │ │ │ ├── class.scrbl
│ │ │ │ ├── cmdline.scrbl
│ │ │ │ ├── compile.scrbl
│ │ │ │ ├── concurrency.scrbl
│ │ │ │ ├── cond.scrbl
│ │ │ │ ├── contracts/
│ │ │ │ │ ├── examples/
│ │ │ │ │ │ ├── 1-test.rkt
│ │ │ │ │ │ ├── 1.rkt
│ │ │ │ │ │ ├── 1b.rkt
│ │ │ │ │ │ ├── 2-test.rkt
│ │ │ │ │ │ ├── 2.rkt
│ │ │ │ │ │ ├── 3-test.rkt
│ │ │ │ │ │ ├── 3.rkt
│ │ │ │ │ │ ├── 5-test.rkt
│ │ │ │ │ │ ├── 5.rkt
│ │ │ │ │ │ ├── ho-version1.rkt
│ │ │ │ │ │ ├── ho-version2.rkt
│ │ │ │ │ │ ├── ho-version2a.rkt
│ │ │ │ │ │ ├── ho-version3.rkt
│ │ │ │ │ │ ├── ho-version3a.rkt
│ │ │ │ │ │ ├── ho-version3b.rkt
│ │ │ │ │ │ └── ho-version4.rkt
│ │ │ │ │ ├── examples.scrbl
│ │ │ │ │ ├── exists.scrbl
│ │ │ │ │ ├── first-extended-example.scrbl
│ │ │ │ │ ├── general-function.scrbl
│ │ │ │ │ ├── gotchas.scrbl
│ │ │ │ │ ├── intro.scrbl
│ │ │ │ │ ├── new-combinators.scrbl
│ │ │ │ │ ├── simple-function.scrbl
│ │ │ │ │ ├── structure.scrbl
│ │ │ │ │ └── utils.rkt
│ │ │ │ ├── contracts.scrbl
│ │ │ │ ├── control.scrbl
│ │ │ │ ├── data.scrbl
│ │ │ │ ├── death-list-5.rkt
│ │ │ │ ├── define-struct.scrbl
│ │ │ │ ├── define.scrbl
│ │ │ │ ├── dialects.scrbl
│ │ │ │ ├── distributed.scrbl
│ │ │ │ ├── dollar-racket.rkt
│ │ │ │ ├── dollar.rkt
│ │ │ │ ├── five.rkt
│ │ │ │ ├── for.scrbl
│ │ │ │ ├── forms.scrbl
│ │ │ │ ├── futures.scrbl
│ │ │ │ ├── graphics.scrbl
│ │ │ │ ├── guide-utils.rkt
│ │ │ │ ├── guide.scrbl
│ │ │ │ ├── hash-languages.scrbl
│ │ │ │ ├── hash-tables.scrbl
│ │ │ │ ├── html.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── io.scrbl
│ │ │ │ ├── keywords.scrbl
│ │ │ │ ├── kiddo.rkt
│ │ │ │ ├── lambda.scrbl
│ │ │ │ ├── languages.scrbl
│ │ │ │ ├── let.scrbl
│ │ │ │ ├── lists.scrbl
│ │ │ │ ├── literal-main-get-info.rkt
│ │ │ │ ├── literal-main-language-info.rkt
│ │ │ │ ├── literal-main.rkt
│ │ │ │ ├── literal.rkt
│ │ │ │ ├── macro-module.scrbl
│ │ │ │ ├── macros.scrbl
│ │ │ │ ├── match.scrbl
│ │ │ │ ├── modfile.rkt
│ │ │ │ ├── module-basics.scrbl
│ │ │ │ ├── module-hier.rkt
│ │ │ │ ├── module-languages.scrbl
│ │ │ │ ├── module-macro.scrbl
│ │ │ │ ├── module-paths.scrbl
│ │ │ │ ├── module-protect.scrbl
│ │ │ │ ├── module-provide.scrbl
│ │ │ │ ├── module-require.scrbl
│ │ │ │ ├── module-set.scrbl
│ │ │ │ ├── module-syntax.scrbl
│ │ │ │ ├── modules.scrbl
│ │ │ │ ├── named-let.scrbl
│ │ │ │ ├── namespaces.scrbl
│ │ │ │ ├── numbers.scrbl
│ │ │ │ ├── other-editors.scrbl
│ │ │ │ ├── other.scrbl
│ │ │ │ ├── pairs.scrbl
│ │ │ │ ├── parallel-threads.scrbl
│ │ │ │ ├── parallelism.scrbl
│ │ │ │ ├── parameterize.scrbl
│ │ │ │ ├── paths.scrbl
│ │ │ │ ├── pattern-macros.scrbl
│ │ │ │ ├── performance.scrbl
│ │ │ │ ├── phases.scrbl
│ │ │ │ ├── places.scrbl
│ │ │ │ ├── ports.scrbl
│ │ │ │ ├── proc-macros.scrbl
│ │ │ │ ├── qq.scrbl
│ │ │ │ ├── quote.scrbl
│ │ │ │ ├── reader-extension.scrbl
│ │ │ │ ├── regexp.scrbl
│ │ │ │ ├── regexps-data.scrbl
│ │ │ │ ├── running.scrbl
│ │ │ │ ├── scripts.scrbl
│ │ │ │ ├── set.scrbl
│ │ │ │ ├── simple-data.scrbl
│ │ │ │ ├── simple-syntax.scrbl
│ │ │ │ ├── store.rkt
│ │ │ │ ├── symbols.scrbl
│ │ │ │ ├── syntax-taints.scrbl
│ │ │ │ ├── to-scheme.scrbl
│ │ │ │ ├── truth.scrbl
│ │ │ │ ├── tuvalu.rkt
│ │ │ │ ├── unit.scrbl
│ │ │ │ ├── vectors.scrbl
│ │ │ │ ├── void-and-undef.scrbl
│ │ │ │ └── welcome.scrbl
│ │ │ ├── icons.css
│ │ │ ├── icons.rkt
│ │ │ ├── icons.tex
│ │ │ ├── info.rkt
│ │ │ ├── inside/
│ │ │ │ ├── appendix.scrbl
│ │ │ │ ├── bc.scrbl
│ │ │ │ ├── contmarks.scrbl
│ │ │ │ ├── cs-embedding.scrbl
│ │ │ │ ├── cs-eval.scrbl
│ │ │ │ ├── cs-overview.scrbl
│ │ │ │ ├── cs-procs.scrbl
│ │ │ │ ├── cs-start.scrbl
│ │ │ │ ├── cs-thread.scrbl
│ │ │ │ ├── cs-values.scrbl
│ │ │ │ ├── cs.scrbl
│ │ │ │ ├── custodians.scrbl
│ │ │ │ ├── embedding.scrbl
│ │ │ │ ├── eval.scrbl
│ │ │ │ ├── exns.scrbl
│ │ │ │ ├── extensions.scrbl
│ │ │ │ ├── hooks.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── inside.scrbl
│ │ │ │ ├── memory.scrbl
│ │ │ │ ├── misc.scrbl
│ │ │ │ ├── namespaces.scrbl
│ │ │ │ ├── numbers.scrbl
│ │ │ │ ├── overview.scrbl
│ │ │ │ ├── params.scrbl
│ │ │ │ ├── ports.scrbl
│ │ │ │ ├── procedures.scrbl
│ │ │ │ ├── security.scrbl
│ │ │ │ ├── strings.scrbl
│ │ │ │ ├── structures.scrbl
│ │ │ │ ├── subprocesses.scrbl
│ │ │ │ ├── threads.scrbl
│ │ │ │ ├── utils.rkt
│ │ │ │ └── values.scrbl
│ │ │ ├── more/
│ │ │ │ ├── info.rkt
│ │ │ │ ├── more.scrbl
│ │ │ │ ├── step0.txt
│ │ │ │ ├── step1.txt
│ │ │ │ ├── step2.txt
│ │ │ │ ├── step3.txt
│ │ │ │ ├── step4.txt
│ │ │ │ ├── step5.txt
│ │ │ │ ├── step6.txt
│ │ │ │ ├── step7.txt
│ │ │ │ ├── step8.txt
│ │ │ │ └── step9.txt
│ │ │ ├── private/
│ │ │ │ └── docname.rkt
│ │ │ ├── raco/
│ │ │ │ ├── api.scrbl
│ │ │ │ ├── bundle-api.scrbl
│ │ │ │ ├── c-mods.scrbl
│ │ │ │ ├── cc.scrbl
│ │ │ │ ├── command.scrbl
│ │ │ │ ├── common.rkt
│ │ │ │ ├── config.scrbl
│ │ │ │ ├── ctool.scrbl
│ │ │ │ ├── decompile.scrbl
│ │ │ │ ├── demod.scrbl
│ │ │ │ ├── dist-api.scrbl
│ │ │ │ ├── dist.scrbl
│ │ │ │ ├── docs.scrbl
│ │ │ │ ├── exe-api.scrbl
│ │ │ │ ├── exe-dylib-path.scrbl
│ │ │ │ ├── exe.scrbl
│ │ │ │ ├── expand.scrbl
│ │ │ │ ├── ext.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── info.scrbl
│ │ │ │ ├── launcher.scrbl
│ │ │ │ ├── link.scrbl
│ │ │ │ ├── make.scrbl
│ │ │ │ ├── pkg.scrbl
│ │ │ │ ├── planet.scrbl
│ │ │ │ ├── plt.scrbl
│ │ │ │ ├── raco.scrbl
│ │ │ │ ├── read.scrbl
│ │ │ │ ├── scribble.scrbl
│ │ │ │ ├── setup-info.scrbl
│ │ │ │ ├── setup.scrbl
│ │ │ │ ├── test.scrbl
│ │ │ │ ├── unpack.scrbl
│ │ │ │ ├── zo-parse.scrbl
│ │ │ │ └── zo-struct.scrbl
│ │ │ ├── reference/
│ │ │ │ ├── async-channels.scrbl
│ │ │ │ ├── black-box.scrbl
│ │ │ │ ├── block.scrbl
│ │ │ │ ├── booleans.scrbl
│ │ │ │ ├── breaks.scrbl
│ │ │ │ ├── bytes.scrbl
│ │ │ │ ├── channels.scrbl
│ │ │ │ ├── chaperones.scrbl
│ │ │ │ ├── chars.scrbl
│ │ │ │ ├── class.scrbl
│ │ │ │ ├── cmdline.scrbl
│ │ │ │ ├── code-inspectors.scrbl
│ │ │ │ ├── collects.scrbl
│ │ │ │ ├── compiler.scrbl
│ │ │ │ ├── concurrency.scrbl
│ │ │ │ ├── cont-marks.scrbl
│ │ │ │ ├── cont.scrbl
│ │ │ │ ├── contracts-struct-prop.scrbl
│ │ │ │ ├── contracts.scrbl
│ │ │ │ ├── control-lib.scrbl
│ │ │ │ ├── control.scrbl
│ │ │ │ ├── custodians.scrbl
│ │ │ │ ├── custom-ports.scrbl
│ │ │ │ ├── custom-write.scrbl
│ │ │ │ ├── data.scrbl
│ │ │ │ ├── debugging.scrbl
│ │ │ │ ├── define-struct.scrbl
│ │ │ │ ├── deprecation.scrbl
│ │ │ │ ├── dicts.scrbl
│ │ │ │ ├── ellipses-defn.rkt
│ │ │ │ ├── ellipses.rkt
│ │ │ │ ├── encodings.scrbl
│ │ │ │ ├── engine.scrbl
│ │ │ │ ├── enter.scrbl
│ │ │ │ ├── envvars.scrbl
│ │ │ │ ├── equality.scrbl
│ │ │ │ ├── eval-model.scrbl
│ │ │ │ ├── eval.scrbl
│ │ │ │ ├── evts.scrbl
│ │ │ │ ├── exit.scrbl
│ │ │ │ ├── exns.scrbl
│ │ │ │ ├── extflonums.scrbl
│ │ │ │ ├── extras.css
│ │ │ │ ├── extras.tex
│ │ │ │ ├── fasl.scrbl
│ │ │ │ ├── file-ports.scrbl
│ │ │ │ ├── filesystem.scrbl
│ │ │ │ ├── fixnums.scrbl
│ │ │ │ ├── flonums.scrbl
│ │ │ │ ├── for.scrbl
│ │ │ │ ├── format.scrbl
│ │ │ │ ├── futures-logging.scrbl
│ │ │ │ ├── futures.scrbl
│ │ │ │ ├── generic.scrbl
│ │ │ │ ├── hashes.scrbl
│ │ │ │ ├── help.scrbl
│ │ │ │ ├── implementation.scrbl
│ │ │ │ ├── include.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── init.scrbl
│ │ │ │ ├── interaction-info.scrbl
│ │ │ │ ├── interactive.scrbl
│ │ │ │ ├── io.scrbl
│ │ │ │ ├── kernel.scrbl
│ │ │ │ ├── keywords.scrbl
│ │ │ │ ├── linklet.scrbl
│ │ │ │ ├── load-lang.scrbl
│ │ │ │ ├── logging.scrbl
│ │ │ │ ├── macros.scrbl
│ │ │ │ ├── match-grammar.rkt
│ │ │ │ ├── match-parse.rkt
│ │ │ │ ├── match.scrbl
│ │ │ │ ├── memory-order.scrbl
│ │ │ │ ├── memory.scrbl
│ │ │ │ ├── model.scrbl
│ │ │ │ ├── module-reflect.scrbl
│ │ │ │ ├── mpairs.scrbl
│ │ │ │ ├── mz.rkt
│ │ │ │ ├── namespaces.scrbl
│ │ │ │ ├── networking.scrbl
│ │ │ │ ├── notation.scrbl
│ │ │ │ ├── numbers.scrbl
│ │ │ │ ├── os-lib.scrbl
│ │ │ │ ├── os.scrbl
│ │ │ │ ├── pairs.scrbl
│ │ │ │ ├── parameters.scrbl
│ │ │ │ ├── paths.scrbl
│ │ │ │ ├── phase+space.scrbl
│ │ │ │ ├── pipes.scrbl
│ │ │ │ ├── places-logging.scrbl
│ │ │ │ ├── places.scrbl
│ │ │ │ ├── plumbers.scrbl
│ │ │ │ ├── port-buffers.scrbl
│ │ │ │ ├── port-lib.scrbl
│ │ │ │ ├── port-line-counting.scrbl
│ │ │ │ ├── port-procs.scrbl
│ │ │ │ ├── ports.scrbl
│ │ │ │ ├── pretty-print.scrbl
│ │ │ │ ├── printer.scrbl
│ │ │ │ ├── procedures.scrbl
│ │ │ │ ├── prog-steps.rkt
│ │ │ │ ├── promise.scrbl
│ │ │ │ ├── prop-port.scrbl
│ │ │ │ ├── read.scrbl
│ │ │ │ ├── reader-example.rkt
│ │ │ │ ├── reader.scrbl
│ │ │ │ ├── readtables.scrbl
│ │ │ │ ├── reference.scrbl
│ │ │ │ ├── regexps.scrbl
│ │ │ │ ├── repl.scrbl
│ │ │ │ ├── rerequire.scrbl
│ │ │ │ ├── running.scrbl
│ │ │ │ ├── runtime.scrbl
│ │ │ │ ├── rx.rkt
│ │ │ │ ├── sandbox.scrbl
│ │ │ │ ├── security-guards.scrbl
│ │ │ │ ├── security.scrbl
│ │ │ │ ├── semaphores.scrbl
│ │ │ │ ├── sequences.scrbl
│ │ │ │ ├── serialization.scrbl
│ │ │ │ ├── sets.scrbl
│ │ │ │ ├── sha.scrbl
│ │ │ │ ├── shared.scrbl
│ │ │ │ ├── splicing.scrbl
│ │ │ │ ├── startup.scrbl
│ │ │ │ ├── stencil-vectors.scrbl
│ │ │ │ ├── string-input.scrbl
│ │ │ │ ├── string-output.scrbl
│ │ │ │ ├── string-ports.scrbl
│ │ │ │ ├── strings.scrbl
│ │ │ │ ├── struct-inspectors.scrbl
│ │ │ │ ├── struct.scrbl
│ │ │ │ ├── stx-comp.scrbl
│ │ │ │ ├── stx-expand.scrbl
│ │ │ │ ├── stx-ops.scrbl
│ │ │ │ ├── stx-param.scrbl
│ │ │ │ ├── stx-patterns.scrbl
│ │ │ │ ├── stx-props.scrbl
│ │ │ │ ├── stx-serialize.scrbl
│ │ │ │ ├── stx-taints.scrbl
│ │ │ │ ├── stx-trans.scrbl
│ │ │ │ ├── subprocess.scrbl
│ │ │ │ ├── surrogate.scrbl
│ │ │ │ ├── symbols.scrbl
│ │ │ │ ├── sync.scrbl
│ │ │ │ ├── syntax-model.scrbl
│ │ │ │ ├── syntax-util.scrbl
│ │ │ │ ├── syntax.scrbl
│ │ │ │ ├── thread-cells.scrbl
│ │ │ │ ├── thread-groups.scrbl
│ │ │ │ ├── thread-local.scrbl
│ │ │ │ ├── threads.scrbl
│ │ │ │ ├── time.scrbl
│ │ │ │ ├── trace.scrbl
│ │ │ │ ├── treelists.scrbl
│ │ │ │ ├── undefined.scrbl
│ │ │ │ ├── units.scrbl
│ │ │ │ ├── unix-paths.scrbl
│ │ │ │ ├── unreachable.scrbl
│ │ │ │ ├── unsafe-undefined.scrbl
│ │ │ │ ├── unsafe.scrbl
│ │ │ │ ├── values.scrbl
│ │ │ │ ├── vectors.scrbl
│ │ │ │ ├── windows-paths.scrbl
│ │ │ │ └── write.scrbl
│ │ │ └── style/
│ │ │ ├── acknowledgment.scrbl
│ │ │ ├── branch-and-commit.scrbl
│ │ │ ├── constructs.scrbl
│ │ │ ├── correct-maintain-speed.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── scribble.scrbl
│ │ │ ├── shared.rkt
│ │ │ ├── some-performance.scrbl
│ │ │ ├── style.scrbl
│ │ │ ├── testing.scrbl
│ │ │ ├── textual.scrbl
│ │ │ ├── todo.scrbl
│ │ │ └── unit.scrbl
│ │ ├── syntax/
│ │ │ ├── info.rkt
│ │ │ └── scribblings/
│ │ │ ├── apply-transformer.scrbl
│ │ │ ├── boundmap.scrbl
│ │ │ ├── common.rkt
│ │ │ ├── context.scrbl
│ │ │ ├── contract.scrbl
│ │ │ ├── datum.scrbl
│ │ │ ├── define.scrbl
│ │ │ ├── docprovide.scrbl
│ │ │ ├── flatten-begin.scrbl
│ │ │ ├── for-body.scrbl
│ │ │ ├── for-transform.scrbl
│ │ │ ├── free-vars.scrbl
│ │ │ ├── id-set.scrbl
│ │ │ ├── id-table.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── intdef.scrbl
│ │ │ ├── kerncase.scrbl
│ │ │ ├── keyword.scrbl
│ │ │ ├── macro-testing.scrbl
│ │ │ ├── modcode.scrbl
│ │ │ ├── modcollapse.scrbl
│ │ │ ├── moddep.scrbl
│ │ │ ├── modread.scrbl
│ │ │ ├── modresolve.scrbl
│ │ │ ├── module-helpers.scrbl
│ │ │ ├── module-reader.scrbl
│ │ │ ├── name.scrbl
│ │ │ ├── parse/
│ │ │ │ ├── debug.scrbl
│ │ │ │ ├── define.scrbl
│ │ │ │ ├── error.scrbl
│ │ │ │ ├── ex-exprc.scrbl
│ │ │ │ ├── ex-kw-args.scrbl
│ │ │ │ ├── ex-many-kws.scrbl
│ │ │ │ ├── ex-mods-stxclasses.scrbl
│ │ │ │ ├── ex-uniform.scrbl
│ │ │ │ ├── ex-varied.scrbl
│ │ │ │ ├── examples.scrbl
│ │ │ │ ├── experimental.scrbl
│ │ │ │ ├── info.rkt
│ │ │ │ ├── intro.scrbl
│ │ │ │ ├── lib.scrbl
│ │ │ │ ├── litconv.scrbl
│ │ │ │ ├── parse-common.rkt
│ │ │ │ ├── parse-dummy-bindings.rkt
│ │ │ │ ├── parsing.scrbl
│ │ │ │ ├── patterns.scrbl
│ │ │ │ ├── pre.scrbl
│ │ │ │ ├── state.scrbl
│ │ │ │ └── stxclasses.scrbl
│ │ │ ├── parse.scrbl
│ │ │ ├── path-spec.scrbl
│ │ │ ├── quote.scrbl
│ │ │ ├── reader-helpers.scrbl
│ │ │ ├── readerr.scrbl
│ │ │ ├── srcloc.scrbl
│ │ │ ├── strip-context.scrbl
│ │ │ ├── struct.scrbl
│ │ │ ├── stx.scrbl
│ │ │ ├── syntax-object-helpers.scrbl
│ │ │ ├── syntax.scrbl
│ │ │ ├── template.scrbl
│ │ │ ├── to-string.scrbl
│ │ │ ├── toplevel.scrbl
│ │ │ ├── transformer-helpers.scrbl
│ │ │ ├── transformer.scrbl
│ │ │ ├── trusted-xforms.scrbl
│ │ │ └── wrap-modbeg.scrbl
│ │ ├── version/
│ │ │ ├── info.rkt
│ │ │ └── version.scrbl
│ │ └── xml/
│ │ ├── info.rkt
│ │ └── xml.scrbl
│ ├── racket-index/
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── help/
│ │ │ ├── help-utils.rkt
│ │ │ ├── info.rkt
│ │ │ ├── main.rkt
│ │ │ └── private/
│ │ │ ├── command.rkt
│ │ │ ├── family.rkt
│ │ │ └── search.rkt
│ │ ├── info.rkt
│ │ ├── rackunit/
│ │ │ └── docs-complete.rkt
│ │ ├── scribblings/
│ │ │ └── main/
│ │ │ ├── README.txt
│ │ │ ├── acks.scrbl
│ │ │ ├── config.rkt
│ │ │ ├── contents.rkt
│ │ │ ├── family.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── license.scrbl
│ │ │ ├── local-redirect.scrbl
│ │ │ ├── private/
│ │ │ │ ├── family.js
│ │ │ │ ├── family.rkt
│ │ │ │ ├── index-scope.rkt
│ │ │ │ ├── local-redirect.rkt
│ │ │ │ ├── make-search.rkt
│ │ │ │ ├── manuals.rkt
│ │ │ │ ├── notice.rkt
│ │ │ │ ├── pkg.rkt
│ │ │ │ ├── release.rkt
│ │ │ │ ├── root-info.css
│ │ │ │ ├── root-info.js
│ │ │ │ ├── search-context.html
│ │ │ │ ├── search-merge.js
│ │ │ │ ├── search.css
│ │ │ │ ├── search.js
│ │ │ │ └── utils.rkt
│ │ │ ├── release.scrbl
│ │ │ ├── search.scrbl
│ │ │ ├── start.scrbl
│ │ │ └── user/
│ │ │ ├── family.scrbl
│ │ │ ├── info.rkt
│ │ │ ├── local-redirect.scrbl
│ │ │ ├── release.scrbl
│ │ │ ├── search.scrbl
│ │ │ └── start.scrbl
│ │ └── setup/
│ │ ├── materialize-user-docs.rkt
│ │ ├── private/
│ │ │ ├── doc-path.rkt
│ │ │ └── validate-scribblings.rkt
│ │ ├── scribble.rkt
│ │ └── xref.rkt
│ ├── racket-index-exe/
│ │ ├── help/
│ │ │ ├── help.creator
│ │ │ ├── help.icns
│ │ │ ├── info.rkt
│ │ │ ├── installer.rkt
│ │ │ └── plt-help.1
│ │ └── info.rkt
│ ├── racket-lib/
│ │ ├── LICENSE
│ │ └── info.rkt
│ ├── racket-test/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ ├── file/
│ │ │ ├── cache.rkt
│ │ │ ├── glob-test-dir/
│ │ │ │ ├── .secret1.rkt
│ │ │ │ ├── .secret2.rkt
│ │ │ │ ├── A.txt
│ │ │ │ ├── B.txt
│ │ │ │ ├── C.txt
│ │ │ │ ├── README.md
│ │ │ │ └── glob-test-subdir/
│ │ │ │ ├── .secret3.rkt
│ │ │ │ ├── .secret4.rkt
│ │ │ │ ├── A1.txt
│ │ │ │ ├── A2.txt
│ │ │ │ ├── A3.txt
│ │ │ │ └── glob-test-sub-sub-dir/
│ │ │ │ ├── .deep.secret
│ │ │ │ ├── A4.txt
│ │ │ │ └── deep.c
│ │ │ ├── glob.rkt
│ │ │ ├── gzip.rkt
│ │ │ ├── info.rkt
│ │ │ ├── main.rkt
│ │ │ ├── md5.rkt
│ │ │ ├── packers.rkt
│ │ │ ├── sha1.rkt
│ │ │ ├── tar-long-paths.rkt
│ │ │ ├── test-docs-complete.rkt
│ │ │ ├── unpackers.rkt
│ │ │ ├── unzip.rkt
│ │ │ └── zip-round-trip.rkt
│ │ ├── future/
│ │ │ ├── dynamic-wind.rkt
│ │ │ ├── fsema-lock.rkt
│ │ │ ├── fsemaphore-fairness.rkt
│ │ │ ├── fsemaphore.rkt
│ │ │ ├── future.rkt
│ │ │ ├── hash-lock.rkt
│ │ │ ├── info.rkt
│ │ │ ├── list-flags.rkt
│ │ │ ├── shutdown-stress.rkt
│ │ │ ├── slow-getter.rkt
│ │ │ ├── tail-apply.rkt
│ │ │ ├── tail-end.rkt
│ │ │ ├── touch-and-final.rkt
│ │ │ ├── uninterruptible.rkt
│ │ │ └── vector-limit.rkt
│ │ ├── generic/
│ │ │ ├── alist.rkt
│ │ │ ├── base-interfaces.rkt
│ │ │ ├── benchmark.rkt
│ │ │ ├── contract.rkt
│ │ │ ├── custom-hash.rkt
│ │ │ ├── custom-write.rkt
│ │ │ ├── defaults.rkt
│ │ │ ├── defined-table.rkt
│ │ │ ├── empty-interface.rkt
│ │ │ ├── equal+hash.rkt
│ │ │ ├── errors.rkt
│ │ │ ├── fallbacks.rkt
│ │ │ ├── from-docs.rkt
│ │ │ ├── from-unstable.rkt
│ │ │ ├── gh_1405.rkt
│ │ │ ├── impersonate.rkt
│ │ │ ├── info.rkt
│ │ │ ├── iterator.rkt
│ │ │ ├── marked.rkt
│ │ │ ├── method-table.rkt
│ │ │ ├── methods.rkt
│ │ │ ├── poly-contracts.rkt
│ │ │ ├── pr13737.rkt
│ │ │ ├── stream.rkt
│ │ │ ├── struct-form.rkt
│ │ │ ├── struct-type-property.rkt
│ │ │ ├── syntax-errors.rkt
│ │ │ ├── tests.rkt
│ │ │ └── top-level.rkt
│ │ ├── help/
│ │ │ └── test-docs-complete.rkt
│ │ ├── info.rkt
│ │ ├── json/
│ │ │ ├── .gitignore
│ │ │ ├── alias.sh
│ │ │ ├── indent-test-data/
│ │ │ │ ├── 042799b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 0b80275/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 1c482fd/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 1db4198/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 20c84e6/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 2573379/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 2771047/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 2e08dc7/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 335ba29/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 3414e05/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 36df15b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 3aba14b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 3b8c89c/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 45a9f98/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 4647fd9/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 4ca35c3/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 54b83ce/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 58c53d7/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 5b0e34b/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 5e2a11f/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 5f6f7f2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 634fd58/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6406607/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6adfd0e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6eddee1/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 6ef2ee0/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 721184e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 73a7723/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 7593947/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 7e6e0bc/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 8432f68/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 84dbc69/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 872bb9a/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 887586d/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 8f7d34e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── 96f9a13/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a2588cd/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a70de3e/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a8206c9/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── a82f416/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── aa49306/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── b78df2c/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── b7e00b6/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── b9f381f/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── ba47ab2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── d012ae1/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── daf92d2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── e5f1450/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── e7123c2/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── eecfb21/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ ├── f076170/
│ │ │ │ │ ├── datum.rktd
│ │ │ │ │ └── node.json
│ │ │ │ └── f821794/
│ │ │ │ ├── datum.rktd
│ │ │ │ └── node.json
│ │ │ ├── indent.rkt
│ │ │ └── json.rkt
│ │ ├── launcher/
│ │ │ └── test-docs-complete.rkt
│ │ ├── match/
│ │ │ ├── case-tests.rkt
│ │ │ ├── define-match.rkt
│ │ │ ├── examples.rkt
│ │ │ ├── hash-table-tests.rkt
│ │ │ ├── info.rkt
│ │ │ ├── legacy-match-tests.rkt
│ │ │ ├── main.rkt
│ │ │ ├── match-exn-tests.rkt
│ │ │ ├── match-tests.rkt
│ │ │ ├── other-plt-tests.rkt
│ │ │ └── other-tests.rkt
│ │ ├── openssl/
│ │ │ ├── basic.rkt
│ │ │ ├── ca_key.pem
│ │ │ ├── cacert.pem
│ │ │ ├── channel-binding/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Makefile
│ │ │ │ └── server.c
│ │ │ ├── client_crt.pem
│ │ │ ├── client_key.pem
│ │ │ ├── generate-certs.sh
│ │ │ ├── hostname.rkt
│ │ │ ├── https.rkt
│ │ │ ├── info.rkt
│ │ │ ├── legacy.rkt
│ │ │ ├── peer-verif.rkt
│ │ │ ├── peer-verif2.rkt
│ │ │ ├── server_crt.pem
│ │ │ ├── server_crt2.pem
│ │ │ ├── server_key.pem
│ │ │ ├── server_lambda_crt.pem
│ │ │ ├── server_ultimate_crt.pem
│ │ │ ├── server_ultimate_key.pem
│ │ │ ├── test-alpn.rkt
│ │ │ ├── test-channel-binding.rkt
│ │ │ ├── test-ephemeral.rkt
│ │ │ ├── test-keylog.rkt
│ │ │ ├── test-secure.rkt
│ │ │ ├── test-server-sni.rkt
│ │ │ └── test-sni.rkt
│ │ ├── pkg/
│ │ │ ├── README.txt
│ │ │ ├── basic-index.rkt
│ │ │ ├── git-http-proxy.rkt
│ │ │ ├── info.rkt
│ │ │ ├── path.rkt
│ │ │ ├── shelly.rkt
│ │ │ ├── test-catalogs-api.rkt
│ │ │ ├── test-docs.rkt
│ │ │ ├── test-pkgs/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── pkg-a-first/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-a/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-a-second/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-a/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-a-third/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── pkg-a/
│ │ │ │ │ │ └── main.rkt
│ │ │ │ │ └── pkg-b/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-add-1/
│ │ │ │ │ ├── 1
│ │ │ │ │ ├── b.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── y.rkt
│ │ │ │ ├── pkg-add-a/
│ │ │ │ │ ├── 2
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── y.rkt
│ │ │ │ ├── pkg-add-base/
│ │ │ │ │ ├── 1
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── x.rkt
│ │ │ │ ├── pkg-add-excl/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── neither/
│ │ │ │ │ │ ├── 1
│ │ │ │ │ │ ├── a.scrbl
│ │ │ │ │ │ ├── info.rkt
│ │ │ │ │ │ └── x.rkt
│ │ │ │ │ └── not-me/
│ │ │ │ │ ├── 1
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── x.rkt
│ │ │ │ ├── pkg-add-none/
│ │ │ │ │ ├── 1
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-add-x/
│ │ │ │ │ ├── 2
│ │ │ │ │ ├── a.scrbl
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── x.rkt
│ │ │ │ ├── pkg-b-first/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-b/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-b-second/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-b/
│ │ │ │ │ ├── contains-dep.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-c/
│ │ │ │ │ └── c.rkt
│ │ │ │ ├── pkg-cycle1/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-cycle2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-git/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-implied-one/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-implied-two/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-implies/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-strip/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test1/
│ │ │ │ │ ├── README
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── empty-set.rkt
│ │ │ │ │ │ └── info.rkt
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── number.rkt
│ │ │ │ │ └── update.rkt
│ │ │ │ ├── pkg-test1-conflict/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test1-manifest-error/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ └── update.rkt
│ │ │ │ ├── pkg-test1-not-conflict/
│ │ │ │ │ ├── README
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-test1-staging/
│ │ │ │ │ ├── a.rkt
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-test1-v2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test1/
│ │ │ │ │ ├── conflict.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── number.rkt
│ │ │ │ │ └── update.rkt
│ │ │ │ ├── pkg-test2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test2/
│ │ │ │ │ ├── contains-dep.rkt
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test3/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ └── number.rkt
│ │ │ │ ├── pkg-test3-v2/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── pkg-test3/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── pkg-test3-v3/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ └── subdir/
│ │ │ │ │ └── README
│ │ │ │ ├── pkg-v-one/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-v-three/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-v-two/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-w-one/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-w-three/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-w-two/
│ │ │ │ │ └── info.rkt
│ │ │ │ ├── pkg-x/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── nobin-top.txt
│ │ │ │ │ ├── nobinlib-top.txt
│ │ │ │ │ ├── nosrc-top.txt
│ │ │ │ │ └── x/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── keep/
│ │ │ │ │ │ └── doc/
│ │ │ │ │ │ └── keep.txt
│ │ │ │ │ ├── keep.scrbl
│ │ │ │ │ ├── keep2/
│ │ │ │ │ │ └── doc/
│ │ │ │ │ │ └── readme.txt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── nobin.txt
│ │ │ │ │ ├── nobinlib.txt
│ │ │ │ │ ├── nosrc.txt
│ │ │ │ │ └── x.scrbl
│ │ │ │ ├── pkg-y/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── y/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ ├── main.rkt
│ │ │ │ │ ├── other.rkt
│ │ │ │ │ ├── sub/
│ │ │ │ │ │ └── s.rkt
│ │ │ │ │ └── y.scrbl
│ │ │ │ ├── pkg-z/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── z/
│ │ │ │ │ └── main.rkt
│ │ │ │ ├── racket-conflict/
│ │ │ │ │ ├── info.rkt
│ │ │ │ │ └── racket/
│ │ │ │ │ └── list.rkt
│ │ │ │ └── raco-pkg/
│ │ │ │ ├── info.rkt
│ │ │ │ └── raco-pkg/
│ │ │ │ ├── info.rkt
│ │ │ │ └── main.rkt
│ │ │ ├── test-scope-add.rkt
│ │ │ ├── test.rkt
│ │ │ ├── tests-api.rkt
│ │ │ ├── tests-basic.rkt
│ │ │ ├── tests-binary.rkt
│ │ │ ├── tests-catalog-links.rkt
│ │ │ ├── tests-catalogs.rkt
│ │ │ ├── tests-checksums.rkt
│ │ │ ├── tests-clone.rkt
│ │ │ ├── tests-config.rkt
│ │ │ ├── tests-conflicts.rkt
│ │ │ ├── tests-create.rkt
│ │ │ ├── tests-db.rkt
│ │ │ ├── tests-deps.rkt
│ │ │ ├── tests-failure.rkt
│ │ │ ├── tests-implies.rkt
│ │ │ ├── tests-install.rkt
│ │ │ ├── tests-locking.rkt
│ │ │ ├── tests-main-server.rkt
│ │ │ ├── tests-migrate.rkt
│ │ │ ├── tests-name.rkt
│ │ │ ├── tests-network.rkt
│ │ │ ├── tests-new.rkt
│ │ │ ├── tests-overwrite.rkt
│ │ │ ├── tests-permissions.rkt
│ │ │ ├── tests-planet.rkt
│ │ │ ├── tests-platform.rkt
│ │ │ ├── tests-promote.rkt
│ │ │ ├── tests-raco.rkt
│ │ │ ├── tests-scope.rkt
│ │ │ ├── tests-trash.rkt
│ │ │ ├── tests-uninstall.rkt
│ │ │ ├── tests-update-auto.rkt
│ │ │ ├── tests-update-deps.rkt
│ │ │ ├── tests-update.rkt
│ │ │ ├── tests-versions.rkt
│ │ │ └── util.rkt
│ │ ├── racket/
│ │ │ ├── .gitignore
│ │ │ ├── atomic-callback.rkt
│ │ │ ├── bool.rkt
│ │ │ ├── cat.rkt
│ │ │ ├── collection-name.rkt
│ │ │ ├── com-category.rkt
│ │ │ ├── com.rkt
│ │ │ ├── contract/
│ │ │ │ ├── all.rkt
│ │ │ │ ├── any-and-none.rkt
│ │ │ │ ├── arrow-d.rkt
│ │ │ │ ├── arrow-i.rkt
│ │ │ │ ├── arrow-neg-party.rkt
│ │ │ │ ├── arrow-star.rkt
│ │ │ │ ├── arrow.rkt
│ │ │ │ ├── assertion.rkt
│ │ │ │ ├── async-channel.rkt
│ │ │ │ ├── blame.rkt
│ │ │ │ ├── box.rkt
│ │ │ │ ├── bug.rkt
│ │ │ │ ├── case-arrow.rkt
│ │ │ │ ├── channel.rkt
│ │ │ │ ├── class.rkt
│ │ │ │ ├── collapsible-arrow.rkt
│ │ │ │ ├── collapsible-vector.rkt
│ │ │ │ ├── context.rkt
│ │ │ │ ├── continuation-mark.rkt
│ │ │ │ ├── contract-in.rkt
│ │ │ │ ├── contract-out.rkt
│ │ │ │ ├── define-contract-struct.rkt
│ │ │ │ ├── define-contract.rkt
│ │ │ │ ├── define-opt-c.rkt
│ │ │ │ ├── define-struct-contract.rkt
│ │ │ │ ├── equivalent.rkt
│ │ │ │ ├── errortrace.rkt
│ │ │ │ ├── evt.rkt
│ │ │ │ ├── exists.rkt
│ │ │ │ ├── first-order.rkt
│ │ │ │ ├── flat-contracts.rkt
│ │ │ │ ├── hash.rkt
│ │ │ │ ├── helpers.rkt
│ │ │ │ ├── ifc.rkt
│ │ │ │ ├── immutable.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── instanceof.rkt
│ │ │ │ ├── interface.rkt
│ │ │ │ ├── list-contract.rkt
│ │ │ │ ├── list.rkt
│ │ │ │ ├── make-contract.rkt
│ │ │ │ ├── make-proj-contract.rkt
│ │ │ │ ├── multi-file.rkt
│ │ │ │ ├── name.rkt
│ │ │ │ ├── object-contract.rkt
│ │ │ │ ├── object.rkt
│ │ │ │ ├── obligations.rkt
│ │ │ │ ├── opt-c.rkt
│ │ │ │ ├── or-and.rkt
│ │ │ │ ├── parameter.rkt
│ │ │ │ ├── parametric.rkt
│ │ │ │ ├── predicates.rkt
│ │ │ │ ├── proc-accepts-and-more.rkt
│ │ │ │ ├── prof.rkt
│ │ │ │ ├── promise.rkt
│ │ │ │ ├── prompt-tag.rkt
│ │ │ │ ├── property.rkt
│ │ │ │ ├── random-generate.rkt
│ │ │ │ ├── recontract.rkt
│ │ │ │ ├── recursive-contract.rkt
│ │ │ │ ├── rename.rkt
│ │ │ │ ├── sequence.rkt
│ │ │ │ ├── set.rkt
│ │ │ │ ├── stream.rkt
│ │ │ │ ├── stronger.rkt
│ │ │ │ ├── struct-contract.rkt
│ │ │ │ ├── struct-dc.rkt
│ │ │ │ ├── struct-type-property.rkt
│ │ │ │ ├── syntax.rkt
│ │ │ │ ├── tail.rkt
│ │ │ │ ├── test-util.rkt
│ │ │ │ ├── treelist.rkt
│ │ │ │ ├── unconstrained-domain.rkt
│ │ │ │ ├── value-contract.rkt
│ │ │ │ ├── vector.rkt
│ │ │ │ └── with-contract.rkt
│ │ │ ├── contract-stress-argmin.rkt
│ │ │ ├── contract-stress-take-right.rkt
│ │ │ ├── cross-phase.rkt
│ │ │ ├── curry.rkt
│ │ │ ├── custodian-finalize-help.rkt
│ │ │ ├── custodian-finalize.rkt
│ │ │ ├── deprecation.rkt
│ │ │ ├── deterministic-zo.rkt
│ │ │ ├── dump-tilde-name.rkt
│ │ │ ├── embed-in-c.c
│ │ │ ├── embed-in-c.rkt
│ │ │ ├── embed-place.rkt
│ │ │ ├── enter/
│ │ │ │ ├── reexport-racket.rkt
│ │ │ │ └── use-s-exp-lang.rkt
│ │ │ ├── enter.rkt
│ │ │ ├── ffi-alloc.rkt
│ │ │ ├── ffi-call-final.rkt
│ │ │ ├── ffi-custodian.rkt
│ │ │ ├── ffi-orig-place.rkt
│ │ │ ├── format.rkt
│ │ │ ├── glib-log.rkt
│ │ │ ├── hash-code.rkt
│ │ │ ├── hash-mem.rkt
│ │ │ ├── hash-random.rkt
│ │ │ ├── info.rkt
│ │ │ ├── keyword-apply-dict.rkt
│ │ │ ├── link.rkt
│ │ │ ├── load-handler.rkt
│ │ │ ├── locale-cache.rkt
│ │ │ ├── long-cmdline.rkt
│ │ │ ├── mpair.rkt
│ │ │ ├── old-make-zo.rkt
│ │ │ ├── os-async-channel.rkt
│ │ │ ├── os-thread.rkt
│ │ │ ├── parallel-build.rkt
│ │ │ ├── parallel-plot.rkt
│ │ │ ├── place-and-future.rkt
│ │ │ ├── place-channel-chaperone.rkt
│ │ │ ├── place-channel-compete.rkt
│ │ │ ├── place-channel-fd.rkt
│ │ │ ├── place-channel-fd2.rkt
│ │ │ ├── place-channel-fd3.rkt
│ │ │ ├── place-channel-ffi.rkt
│ │ │ ├── place-channel-fnl.rkt
│ │ │ ├── place-channel-limits.rkt
│ │ │ ├── place-channel-socket.rkt
│ │ │ ├── place-channel.rkt
│ │ │ ├── place-char.rkt
│ │ │ ├── place-chmsg-gc-acct.rkt
│ │ │ ├── place-chmsg-gc.rkt
│ │ │ ├── place-cross-phase.rkt
│ │ │ ├── place-gc-logger.rkt
│ │ │ ├── place-in-channel-fnl.rkt
│ │ │ ├── place-init-param.rkt
│ │ │ ├── place-kill-unwind.rkt
│ │ │ ├── place-kill.rkt
│ │ │ ├── place-log.rkt
│ │ │ ├── place-master-gc.rkt
│ │ │ ├── place-msg-gc.rkt
│ │ │ ├── place-msg-rational.rkt
│ │ │ ├── place-no-writer.rkt
│ │ │ ├── place-parallel.rkt
│ │ │ ├── place-plumber.rkt
│ │ │ ├── place-ports.rkt
│ │ │ ├── place-shutdown-ffi.rkt
│ │ │ ├── place-stdio.rkt
│ │ │ ├── place-struct-info.rkt
│ │ │ ├── place-sync-gc.rkt
│ │ │ ├── place-thread-sleep.rkt
│ │ │ ├── place1.rkt
│ │ │ ├── place2.rkt
│ │ │ ├── places.rkt
│ │ │ ├── pr14207.rkt
│ │ │ ├── pregexp.rkt
│ │ │ ├── print-value-columns.rkt
│ │ │ ├── prompt-sfs.rkt
│ │ │ ├── remote-atomic-write.rkt
│ │ │ ├── require.rkt
│ │ │ ├── rerequire.rkt
│ │ │ ├── runaway-place.rkt
│ │ │ ├── sandbox.rkt
│ │ │ ├── stress/
│ │ │ │ ├── apply.rkt
│ │ │ │ ├── cm-lock.rkt
│ │ │ │ ├── concurrent-resolve.rkt
│ │ │ │ ├── contract-lifting.rkt
│ │ │ │ ├── cumulative-memory.rkt
│ │ │ │ ├── custodian-accounting.rkt
│ │ │ │ ├── custodian-managed-list.rkt
│ │ │ │ ├── custodian.rkt
│ │ │ │ ├── datum-intern.rkt
│ │ │ │ ├── datum-to-syntax.rkt
│ │ │ │ ├── dict.rkt
│ │ │ │ ├── fact.rkt
│ │ │ │ ├── file-string-eof.rkt
│ │ │ │ ├── fs-change.rkt
│ │ │ │ ├── fuzz.rkt
│ │ │ │ ├── hash.rkt
│ │ │ │ ├── info.rkt
│ │ │ │ ├── log-receiver.rkt
│ │ │ │ ├── long-file-list.rkt
│ │ │ │ ├── malloc.rkt
│ │ │ │ ├── module-stack.rkt
│ │ │ │ ├── mutable-hash-remove.rkt
│ │ │ │ ├── number-hash.rkt
│ │ │ │ ├── or.rkt
│ │ │ │ ├── parallel-custodian.rkt
│ │ │ │ ├── parallel-foreign.rkt
│ │ │ │ ├── parallel-hash.rkt
│ │ │ │ ├── parallel-hasheq.rkt
│ │ │ │ ├── parallel-sync.rkt
│ │ │ │ ├── parallel-thread-pool.rkt
│ │ │ │ ├── prompt-mem-use.rkt
│ │ │ │ ├── schedule-loop.rkt
│ │ │ │ ├── semaphore.rkt
│ │ │ │ ├── sequence.rkt
│ │ │ │ ├── stx-concurrent.rkt
│ │ │ │ └── vector.rkt
│ │ │ ├── surrogate.rkt
│ │ │ ├── testing.rkt
│ │ │ ├── thread-kill-wait-gc.rkt
│ │ │ ├── thread-self-wait-gc.rkt
│ │ │ ├── thread-suspend-gc.rkt
│ │ │ ├── thread-suspend-wait-gc.rkt
│ │ │ ├── thread-wait-gc.rkt
│ │ │ ├── udp-dns.rkt
│ │ │ └── win-link.rkt
│ │ ├── run-automated-tests.rkt
│ │ ├── setup/
│ │ │ ├── bad%coll/
│ │ │ │ └── m.rkt
│ │ │ ├── collection-search.rkt
│ │ │ ├── cross-system.rkt
│ │ │ ├── matching-platform.rkt
│ │ │ ├── parallel-build.rkt
│ │ │ ├── path-to-collects.rkt
│ │ │ └── path-to-relative.rkt
│ │ ├── stress.rkt
│ │ ├── stxparse/
│ │ │ ├── deps.rkt
│ │ │ ├── function-header.rkt
│ │ │ ├── info.rkt
│ │ │ ├── manual/
│ │ │ │ └── disappeared-uses.rkt
│ │ │ ├── report-config.rkt
│ │ │ ├── select.rkt
│ │ │ ├── setup.rkt
│ │ │ ├── stress-template.rkt
│ │ │ ├── stress.rkt
│ │ │ ├── stxclass.rkt
│ │ │ ├── test-datum.rkt
│ │ │ ├── test-errors.rkt
│ │ │ ├── test-exp.rkt
│ │ │ ├── test-exprc.rkt
│ │ │ ├── test-litset.rkt
│ │ │ ├── test-syntax.rkt
│ │ │ ├── test-template.rkt
│ │ │ └── test.rkt
│ │ ├── syntax/
│ │ │ ├── contract/
│ │ │ │ ├── client1-1.rkt
│ │ │ │ ├── client1-2.rkt
│ │ │ │ ├── expr-c-part-a.rkt
│ │ │ │ ├── expr-c-part-b.rkt
│ │ │ │ ├── macro1.rkt
│ │ │ │ ├── macro2.rkt
│ │ │ │ ├── perf-liftable.rkt
│ │ │ │ ├── perf-nolift-result.rkt
│ │ │ │ ├── perf-nolift.rkt
│ │ │ │ ├── phase.rkt
│ │ │ │ ├── test-errors.rkt
│ │ │ │ └── test-exprc-paths.rkt
│ │ │ ├── datum.rkt
│ │ │ ├── flatten-begin.rkt
│ │ │ ├── free-vars.rkt
│ │ │ ├── info.rkt
│ │ │ ├── location.rkt
│ │ │ ├── meta-reader-original.rkt
│ │ │ ├── modcode.rkt
│ │ │ ├── modcollapse.rkt
│ │ │ ├── module-reader-synthetic-pos.rkt
│ │ │ ├── mzstruct.rkt
│ │ │ ├── racket-syntax.rkt
│ │ │ ├── run.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── test-readerr.rkt
│ │ │ ├── tests/
│ │ │ │ ├── location.rkt
│ │ │ │ ├── macro-testing.rkt
│ │ │ │ ├── pr12017.rkt
│ │ │ │ └── transformer.rkt
│ │ │ └── to-string.rkt
│ │ ├── units/
│ │ │ ├── info.rkt
│ │ │ ├── multi-mod-sigs.rkt
│ │ │ ├── test-cert.rkt
│ │ │ ├── test-deps.rkt
│ │ │ ├── test-exptime.rkt
│ │ │ ├── test-harness.rkt
│ │ │ ├── test-runtime.rkt
│ │ │ ├── test-unit-contracts.rkt
│ │ │ └── test-unit.rkt
│ │ ├── utils/
│ │ │ ├── info.rkt
│ │ │ ├── sexp-diff.rkt
│ │ │ └── test-util.rkt
│ │ ├── xml/
│ │ │ ├── .gitignore
│ │ │ ├── info.rkt
│ │ │ ├── num-entity.rkt
│ │ │ ├── offset.rkt
│ │ │ ├── pr2440.rkt
│ │ │ ├── rss.xml
│ │ │ ├── serialize.rkt
│ │ │ ├── srcloc.rkt
│ │ │ ├── test-clark.rkt
│ │ │ ├── test-path.rkt
│ │ │ ├── test-xexpr.rkt
│ │ │ ├── test.rkt
│ │ │ └── to-list.rkt
│ │ ├── zo-path.rkt
│ │ └── zo-size.rkt
│ ├── racket-test-core/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ ├── mzlib/
│ │ │ └── info.rkt
│ │ └── tests/
│ │ └── racket/
│ │ ├── .gitignore
│ │ ├── all-parallel.rkt
│ │ ├── all-parallel.rktl
│ │ ├── all.rktl
│ │ ├── async-channel.rktl
│ │ ├── basic.rktl
│ │ ├── boundmap-test.rktl
│ │ ├── bytes.rktl
│ │ ├── censor.rktl
│ │ ├── chaperone.rktl
│ │ ├── cm.rktl
│ │ ├── cmdline-eval.rkt
│ │ ├── cmdline.rktl
│ │ ├── collects.rktl
│ │ ├── contmark.rktl
│ │ ├── control.rktl
│ │ ├── core-tests.rktl
│ │ ├── cstruct.rktl
│ │ ├── date.rktl
│ │ ├── deep.rktl
│ │ ├── dict.rktl
│ │ ├── distro.rkt
│ │ ├── draw-box.rkt
│ │ ├── error.rktl
│ │ ├── expand.rktl
│ │ ├── expobs-regression.rktd
│ │ ├── expobs.rktl
│ │ ├── extflonum.rktl
│ │ ├── fasl.rktl
│ │ ├── ffi-lock.rkt
│ │ ├── file.rktl
│ │ ├── filelib.rktl
│ │ ├── fixnum.rktl
│ │ ├── flonum.rktl
│ │ ├── for-submod.rkt
│ │ ├── for-util.rkt
│ │ ├── for.rktl
│ │ ├── foreign-inline.rktl
│ │ ├── foreign-test.c
│ │ ├── foreign-test.rktl
│ │ ├── function.rktl
│ │ ├── future.rktl
│ │ ├── gambit-numeric.rktl
│ │ ├── generator.rktl
│ │ ├── has-submod.rkt
│ │ ├── hash.rktl
│ │ ├── id-set-test.rktl
│ │ ├── id-table-test.rktl
│ │ ├── info.rkt
│ │ ├── iostream.rktl
│ │ ├── jitinline.rktl
│ │ ├── lang/
│ │ │ └── reader.rkt
│ │ ├── letrec.rktl
│ │ ├── linklet.rktl
│ │ ├── list.rktl
│ │ ├── loadable.rktl
│ │ ├── loadtest.rktl
│ │ ├── logger.rktl
│ │ ├── macro.rktl
│ │ ├── math.rktl
│ │ ├── maybe-single.rkt
│ │ ├── moddep.rktl
│ │ ├── modprot.rktl
│ │ ├── module-reader.rktl
│ │ ├── module.rktl
│ │ ├── name.rktl
│ │ ├── namespac.rktl
│ │ ├── net-available.rkt
│ │ ├── number.rktl
│ │ ├── numstrs.rktl
│ │ ├── object.rktl
│ │ ├── optimize.rktl
│ │ ├── pack.rktl
│ │ ├── parallel.rktl
│ │ ├── param.rktl
│ │ ├── path.rktl
│ │ ├── pathlib.rktl
│ │ ├── phantom-bytes.rkt
│ │ ├── place-utils.rkt
│ │ ├── place.rktl
│ │ ├── port.rktl
│ │ ├── portlib.rktl
│ │ ├── pp-regression.rktd
│ │ ├── pretty.rktl
│ │ ├── print.rktl
│ │ ├── proc-defs.rktl
│ │ ├── procs.rktl
│ │ ├── promise.rktl
│ │ ├── prompt-tests.rktl
│ │ ├── prompt.rktl
│ │ ├── quiet.rktl
│ │ ├── read.rktl
│ │ ├── readtable.rktl
│ │ ├── resource.rktl
│ │ ├── rx.rktl
│ │ ├── sandbox.rktl
│ │ ├── scheme-tests.rktl
│ │ ├── sequence.rktl
│ │ ├── serialize.rktl
│ │ ├── set.rktl
│ │ ├── setup.rktl
│ │ ├── shared-tests.rktl
│ │ ├── shared.rktl
│ │ ├── srcloc.rktl
│ │ ├── stream.rktl
│ │ ├── string.rktl
│ │ ├── struct-derived.rktl
│ │ ├── struct.rktl
│ │ ├── stx.rktl
│ │ ├── stxparam.rktl
│ │ ├── submodule.rktl
│ │ ├── subprocess.rktl
│ │ ├── sync.rktl
│ │ ├── syntax.rktl
│ │ ├── syntaxlibs.rktl
│ │ ├── test-pack.rkt
│ │ ├── test.rkt
│ │ ├── testing.rktl
│ │ ├── text.rktd
│ │ ├── thread.rktl
│ │ ├── trace.rktl
│ │ ├── trait.rktl
│ │ ├── treelist.rktl
│ │ ├── try-atomic.rkt
│ │ ├── udp.rktl
│ │ ├── uni-norm.rktl
│ │ ├── unicode.rktl
│ │ ├── unix_check.c
│ │ ├── unsafe.rktl
│ │ ├── vector.rktl
│ │ ├── version.rktl
│ │ └── will.rktl
│ ├── racket-test-extra/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── tests/
│ │ ├── ffi/
│ │ │ ├── serialize-cstruct.rkt
│ │ │ └── union.rkt
│ │ ├── future/
│ │ │ └── random-future.rkt
│ │ ├── racket/
│ │ │ ├── fasl-prefix.rkt
│ │ │ ├── many-places.rkt
│ │ │ ├── pair-accessor-error-message.rkt
│ │ │ ├── place-chan-rand-help.rkt
│ │ │ ├── place-chan-rand.rkt
│ │ │ ├── set-regression.rkt
│ │ │ ├── struct-out-supertype.rkt
│ │ │ └── syntax-parse-arrow.rkt
│ │ └── raco/
│ │ └── prefix.rkt
│ ├── sandbox-lib/
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── info.rkt
│ │ ├── racket/
│ │ │ ├── private/
│ │ │ │ └── sandbox-coverage.rkt
│ │ │ └── sandbox.rkt
│ │ └── scheme/
│ │ └── sandbox.rkt
│ ├── scheme-doc/
│ │ ├── info.rkt
│ │ └── scribblings/
│ │ └── scheme/
│ │ ├── compat.scrbl
│ │ ├── info.rkt
│ │ └── scheme.scrbl
│ ├── sequence-tools-lib/
│ │ ├── LICENSE
│ │ ├── info.rkt
│ │ └── racket/
│ │ └── list/
│ │ ├── grouping.rkt
│ │ └── iteration.rkt
│ └── zo-lib/
│ ├── LICENSE
│ ├── compiler/
│ │ ├── faslable-correlated.rkt
│ │ ├── private/
│ │ │ └── opaque.rkt
│ │ ├── zo-marshal.rkt
│ │ ├── zo-parse.rkt
│ │ └── zo-structs.rkt
│ └── info.rkt
└── racket/
├── .gitignore
├── collects/
│ ├── .gitignore
│ ├── acks/
│ │ └── acks.rkt
│ ├── compiler/
│ │ ├── cm-accomplice.rkt
│ │ ├── cm.rkt
│ │ ├── compilation-path.rkt
│ │ ├── compile-file.rkt
│ │ ├── compiler.rkt
│ │ ├── cross.rkt
│ │ ├── depend.rkt
│ │ ├── distribute.rkt
│ │ ├── embed.rkt
│ │ ├── exe-dylib-path.rkt
│ │ ├── find-exe.rkt
│ │ ├── module-suffix.rkt
│ │ ├── option.rkt
│ │ └── private/
│ │ ├── cm-dep.rkt
│ │ ├── cm-file.rkt
│ │ ├── cm-hash.rkt
│ │ ├── cm-log.rkt
│ │ ├── cm-minimal.rkt
│ │ ├── cm-path.rkt
│ │ ├── cm-security.rkt
│ │ ├── cm-util.rkt
│ │ ├── collects-path.rkt
│ │ ├── configdir.rkt
│ │ ├── dep.rkt
│ │ ├── elf.rkt
│ │ ├── embed.rkt
│ │ ├── macfw.rkt
│ │ ├── mach-o.rkt
│ │ ├── pe-rsrc.rkt
│ │ ├── read-bstr.rkt
│ │ ├── recompile-cache.rkt
│ │ ├── win-dll-list.rkt
│ │ ├── windlldir.rkt
│ │ ├── winsubsys.rkt
│ │ ├── winutf16.rkt
│ │ ├── write-perm.rkt
│ │ └── xform.rkt
│ ├── data/
│ │ ├── bit-vector.rkt
│ │ ├── integer-set.rkt
│ │ └── queue.rkt
│ ├── db/
│ │ └── private/
│ │ ├── generic/
│ │ │ ├── common.rkt
│ │ │ ├── ffi-common.rkt
│ │ │ ├── functions.rkt
│ │ │ ├── interfaces.rkt
│ │ │ ├── prepared.rkt
│ │ │ └── sql-data.rkt
│ │ ├── pre.rkt
│ │ └── sqlite3/
│ │ ├── connection.rkt
│ │ ├── dbsystem.rkt
│ │ ├── ffi-constants.rkt
│ │ ├── ffi.rkt
│ │ └── main.rkt
│ ├── dynext/
│ │ ├── file.rkt
│ │ └── filename-version.rkt
│ ├── ffi/
│ │ ├── com-registry.rkt
│ │ ├── com.rkt
│ │ ├── cvector.rkt
│ │ ├── file.rkt
│ │ ├── objc.rkt
│ │ ├── unsafe/
│ │ │ ├── alloc.rkt
│ │ │ ├── atomic.rkt
│ │ │ ├── collect-callback.rkt
│ │ │ ├── com.rkt
│ │ │ ├── custodian.rkt
│ │ │ ├── cvector.rkt
│ │ │ ├── define/
│ │ │ │ └── conventions.rkt
│ │ │ ├── define.rkt
│ │ │ ├── global.rkt
│ │ │ ├── nsalloc.rkt
│ │ │ ├── nsstring.rkt
│ │ │ ├── objc.rkt
│ │ │ ├── os-async-channel.rkt
│ │ │ ├── os-thread.rkt
│ │ │ ├── port.rkt
│ │ │ ├── private/
│ │ │ │ ├── ffi-lib.rkt
│ │ │ │ ├── not-available.rkt
│ │ │ │ └── win32.rkt
│ │ │ ├── schedule.rkt
│ │ │ ├── static.rkt
│ │ │ ├── try-atomic.rkt
│ │ │ └── vm.rkt
│ │ ├── unsafe.rkt
│ │ ├── vector.rkt
│ │ └── winapi.rkt
│ ├── file/
│ │ ├── cache.rkt
│ │ ├── convertible.rkt
│ │ ├── glob.rkt
│ │ ├── gunzip.rkt
│ │ ├── gzip.rkt
│ │ ├── ico.rkt
│ │ ├── md5.rkt
│ │ ├── private/
│ │ │ ├── check-path.rkt
│ │ │ ├── convertible.rkt
│ │ │ ├── glob.rkt
│ │ │ └── strip-prefix.rkt
│ │ ├── resource.rkt
│ │ ├── sha1.rkt
│ │ ├── tar.rkt
│ │ ├── untar.rkt
│ │ ├── untgz.rkt
│ │ ├── unzip.rkt
│ │ └── zip.rkt
│ ├── info/
│ │ └── main.rkt
│ ├── json/
│ │ └── main.rkt
│ ├── launcher/
│ │ ├── .gitignore
│ │ ├── info.rkt
│ │ ├── launcher.rkt
│ │ └── main.rkt
│ ├── net/
│ │ ├── base64.rkt
│ │ ├── git-checkout.rkt
│ │ ├── head.rkt
│ │ ├── http-client.rkt
│ │ ├── osx-ssl.rkt
│ │ ├── platform-ssl.rkt
│ │ ├── uri-codec.rkt
│ │ ├── url-connect.rkt
│ │ ├── url-exception.rkt
│ │ ├── url-string.rkt
│ │ ├── url-structs.rkt
│ │ ├── url.rkt
│ │ └── win32-ssl.rkt
│ ├── openssl/
│ │ ├── legacy.rkt
│ │ ├── libcrypto.rkt
│ │ ├── libssl.rkt
│ │ ├── main.rkt
│ │ ├── md5.rkt
│ │ ├── mzssl.rkt
│ │ ├── openssl.rkt
│ │ ├── private/
│ │ │ ├── add-cert.rkt
│ │ │ ├── ffi.rkt
│ │ │ ├── macosx.rkt
│ │ │ └── win32.rkt
│ │ ├── sha1.rkt
│ │ └── test.pem
│ ├── pkg/
│ │ ├── commands.rkt
│ │ ├── db.rkt
│ │ ├── dirs-catalog.rkt
│ │ ├── info.rkt
│ │ ├── lib.rkt
│ │ ├── main.rkt
│ │ ├── name.rkt
│ │ ├── path.rkt
│ │ ├── private/
│ │ │ ├── addl-installs.rkt
│ │ │ ├── archive.rkt
│ │ │ ├── catalog-archive.rkt
│ │ │ ├── catalog-copy.rkt
│ │ │ ├── catalog-show.rkt
│ │ │ ├── catalog-update.rkt
│ │ │ ├── catalog.rkt
│ │ │ ├── check-will-exist.rkt
│ │ │ ├── checkout-credentials.rkt
│ │ │ ├── clone-path.rkt
│ │ │ ├── collects.rkt
│ │ │ ├── config.rkt
│ │ │ ├── content.rkt
│ │ │ ├── create.rkt
│ │ │ ├── dep.rkt
│ │ │ ├── desc.rkt
│ │ │ ├── dirs.rkt
│ │ │ ├── download.rkt
│ │ │ ├── get-info.rkt
│ │ │ ├── git-url-scheme.rkt
│ │ │ ├── git.rkt
│ │ │ ├── github-url.rkt
│ │ │ ├── info-to-desc.rkt
│ │ │ ├── install.rkt
│ │ │ ├── lock.rkt
│ │ │ ├── metadata.rkt
│ │ │ ├── migrate.rkt
│ │ │ ├── missing-deps.rkt
│ │ │ ├── mod-paths.rkt
│ │ │ ├── network.rkt
│ │ │ ├── new.rkt
│ │ │ ├── orig-pkg.rkt
│ │ │ ├── params.rkt
│ │ │ ├── path.rkt
│ │ │ ├── pkg-db.rkt
│ │ │ ├── prefetch.rkt
│ │ │ ├── print.rkt
│ │ │ ├── remove.rkt
│ │ │ ├── rename-dir.rkt
│ │ │ ├── repo-path.rkt
│ │ │ ├── show.rkt
│ │ │ ├── stage.rkt
│ │ │ ├── suggestions.rkt
│ │ │ ├── timeout.rkt
│ │ │ └── trash.rkt
│ │ ├── raco.rkt
│ │ └── strip.rkt
│ ├── planet/
│ │ ├── cachepath.rkt
│ │ ├── config.rkt
│ │ ├── planet-archives.rkt
│ │ ├── private/
│ │ │ ├── command.rkt
│ │ │ ├── data.rkt
│ │ │ ├── define-config.rkt
│ │ │ ├── linkage.rkt
│ │ │ ├── parsereq.rkt
│ │ │ ├── planet-shared.rkt
│ │ │ ├── prefix-dispatcher.rkt
│ │ │ ├── resolver.rkt
│ │ │ └── short-syntax-helpers.rkt
│ │ ├── resolver.rkt
│ │ └── terse-info.rkt
│ ├── racket/
│ │ ├── HISTORY.txt
│ │ ├── MzScheme_200.txt
│ │ ├── MzScheme_300.txt
│ │ ├── MzScheme_4.txt
│ │ ├── Racket_5.txt
│ │ ├── async-channel.rkt
│ │ ├── base/
│ │ │ └── lang/
│ │ │ └── reader.rkt
│ │ ├── base.rkt
│ │ ├── block.rkt
│ │ ├── bool.rkt
│ │ ├── bytes.rkt
│ │ ├── case.rkt
│ │ ├── class.rkt
│ │ ├── cmdline.rkt
│ │ ├── contract/
│ │ │ ├── base.rkt
│ │ │ ├── collapsible.rkt
│ │ │ ├── combinator.rkt
│ │ │ ├── parametric.rkt
│ │ │ ├── private/
│ │ │ │ ├── and.rkt
│ │ │ │ ├── application-arity-checking.rkt
│ │ │ │ ├── arity-checking.rkt
│ │ │ │ ├── arr-d.rkt
│ │ │ │ ├── arr-i-parse.rkt
│ │ │ │ ├── arr-i.rkt
│ │ │ │ ├── arr-util.rkt
│ │ │ │ ├── arrow-collapsible.rkt
│ │ │ │ ├── arrow-common.rkt
│ │ │ │ ├── arrow-higher-order.rkt
│ │ │ │ ├── arrow-val-first.rkt
│ │ │ │ ├── base.rkt
│ │ │ │ ├── basic-opters.rkt
│ │ │ │ ├── blame.rkt
│ │ │ │ ├── box.rkt
│ │ │ │ ├── case-arrow.rkt
│ │ │ │ ├── collapsible-common.rkt
│ │ │ │ ├── ds-helpers.rkt
│ │ │ │ ├── ds.rkt
│ │ │ │ ├── exists.rkt
│ │ │ │ ├── generate-base.rkt
│ │ │ │ ├── generate.rkt
│ │ │ │ ├── guts.rkt
│ │ │ │ ├── hash.rkt
│ │ │ │ ├── helpers.rkt
│ │ │ │ ├── in-out.rkt
│ │ │ │ ├── in.rkt
│ │ │ │ ├── kwd-info-struct.rkt
│ │ │ │ ├── legacy.rkt
│ │ │ │ ├── list.rkt
│ │ │ │ ├── merge-cache.rkt
│ │ │ │ ├── misc.rkt
│ │ │ │ ├── module-boundary-ctc.rkt
│ │ │ │ ├── object-c-wrapper.rkt
│ │ │ │ ├── object.rkt
│ │ │ │ ├── opt-guts.rkt
│ │ │ │ ├── opt.rkt
│ │ │ │ ├── opters.rkt
│ │ │ │ ├── orc.rkt
│ │ │ │ ├── out.rkt
│ │ │ │ ├── parametric.rkt
│ │ │ │ ├── prop.rkt
│ │ │ │ ├── property.rkt
│ │ │ │ ├── provide.rkt
│ │ │ │ ├── rand.rkt
│ │ │ │ ├── struct-dc.rkt
│ │ │ │ ├── struct-prop.rkt
│ │ │ │ ├── top-sort.rkt
│ │ │ │ ├── treelist.rkt
│ │ │ │ ├── types.rkt
│ │ │ │ ├── unconstrained-domain-arrow.rkt
│ │ │ │ ├── vector-collapsible.rkt
│ │ │ │ ├── vector-common.rkt
│ │ │ │ └── vector.rkt
│ │ │ └── region.rkt
│ │ ├── contract.rkt
│ │ ├── control.rkt
│ │ ├── date.rkt
│ │ ├── deprecation/
│ │ │ └── transformer.rkt
│ │ ├── deprecation.rkt
│ │ ├── dict.rkt
│ │ ├── engine.rkt
│ │ ├── enter.rkt
│ │ ├── exn.rkt
│ │ ├── extflonum.rkt
│ │ ├── fasl.rkt
│ │ ├── file.rkt
│ │ ├── fixnum.rkt
│ │ ├── flonum.rkt
│ │ ├── for-clause.rkt
│ │ ├── format.rkt
│ │ ├── function.rkt
│ │ ├── future.rkt
│ │ ├── generator.rkt
│ │ ├── generic.rkt
│ │ ├── gui/
│ │ │ └── dynamic.rkt
│ │ ├── hash-code.rkt
│ │ ├── hash.rkt
│ │ ├── help.rkt
│ │ ├── include.rkt
│ │ ├── info.rkt
│ │ ├── init.rkt
│ │ ├── interaction-info.rkt
│ │ ├── interactive.rkt
│ │ ├── kernel/
│ │ │ └── init.rkt
│ │ ├── kernel.rkt
│ │ ├── keyword-transform.rkt
│ │ ├── keyword.rkt
│ │ ├── lang/
│ │ │ └── reader.rkt
│ │ ├── language-info.rkt
│ │ ├── lazy-require.rkt
│ │ ├── linklet.rkt
│ │ ├── list.rkt
│ │ ├── load/
│ │ │ └── lang/
│ │ │ └── reader.rkt
│ │ ├── load.rkt
│ │ ├── local.rkt
│ │ ├── logging.rkt
│ │ ├── main.rkt
│ │ ├── match/
│ │ │ ├── compiler.rkt
│ │ │ ├── define-forms.rkt
│ │ │ ├── gen-match.rkt
│ │ │ ├── legacy-match.rkt
│ │ │ ├── match-expander.rkt
│ │ │ ├── match.rkt
│ │ │ ├── parse-helper.rkt
│ │ │ ├── parse-legacy.rkt
│ │ │ ├── parse-quasi.rkt
│ │ │ ├── parse.rkt
│ │ │ ├── patterns.rkt
│ │ │ ├── reorder.rkt
│ │ │ ├── runtime.rkt
│ │ │ ├── split-rows.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── stxtime.rkt
│ │ │ └── syntax-local-match-introduce.rkt
│ │ ├── match.rkt
│ │ ├── math.rkt
│ │ ├── mutability.rkt
│ │ ├── mutable-treelist.rkt
│ │ ├── os.rkt
│ │ ├── path.rkt
│ │ ├── performance-hint.rkt
│ │ ├── phase+space.rkt
│ │ ├── place/
│ │ │ ├── dynamic.rkt
│ │ │ └── private/
│ │ │ ├── async-bi-channel.rkt
│ │ │ ├── coercion.rkt
│ │ │ ├── prop.rkt
│ │ │ └── th-place.rkt
│ │ ├── place.rkt
│ │ ├── port.rkt
│ │ ├── prefab.rkt
│ │ ├── pretty.rkt
│ │ ├── private/
│ │ │ ├── arity.rkt
│ │ │ ├── base.rkt
│ │ │ ├── case.rkt
│ │ │ ├── cert.rkt
│ │ │ ├── check.rkt
│ │ │ ├── choose-file-to-load.rkt
│ │ │ ├── class-c.rkt
│ │ │ ├── class-internal.rkt
│ │ │ ├── class-struct.rkt
│ │ │ ├── class-undef.rkt
│ │ │ ├── classidmap.rkt
│ │ │ ├── collect.rkt
│ │ │ ├── cond.rkt
│ │ │ ├── config.rkt
│ │ │ ├── custom-hash.rkt
│ │ │ ├── custom-write.rkt
│ │ │ ├── define-et-al.rkt
│ │ │ ├── define-struct.rkt
│ │ │ ├── define.rkt
│ │ │ ├── dict.rkt
│ │ │ ├── ellipses.rkt
│ │ │ ├── executable-path.rkt
│ │ │ ├── fixnum.rkt
│ │ │ ├── for-compatibility-lib.rkt
│ │ │ ├── for.rkt
│ │ │ ├── generic-interfaces.rkt
│ │ │ ├── generic-methods.rkt
│ │ │ ├── generic.rkt
│ │ │ ├── hash.rkt
│ │ │ ├── immediate-default.rkt
│ │ │ ├── increader.rkt
│ │ │ ├── intdef-util.rkt
│ │ │ ├── kernstruct.rkt
│ │ │ ├── keyword-apply-dict.rkt
│ │ │ ├── kw-file.rkt
│ │ │ ├── kw-prop-key.rkt
│ │ │ ├── kw-syntax-binding.rkt
│ │ │ ├── kw-syntax-serialize.rkt
│ │ │ ├── kw-thread.rkt
│ │ │ ├── kw.rkt
│ │ │ ├── letstx-scheme.rkt
│ │ │ ├── link-path.rkt
│ │ │ ├── list-predicates.rkt
│ │ │ ├── list.rkt
│ │ │ ├── local.rkt
│ │ │ ├── logger.rkt
│ │ │ ├── map.rkt
│ │ │ ├── math-predicates.rkt
│ │ │ ├── misc.rkt
│ │ │ ├── modbeg.rkt
│ │ │ ├── more-scheme.rkt
│ │ │ ├── name.rkt
│ │ │ ├── namespace.rkt
│ │ │ ├── norm-arity.rkt
│ │ │ ├── norm-define.rkt
│ │ │ ├── object-c.rkt
│ │ │ ├── old-path.rkt
│ │ │ ├── path-list.rkt
│ │ │ ├── path.rkt
│ │ │ ├── performance-hint.rkt
│ │ │ ├── pico.rkt
│ │ │ ├── place-local.rkt
│ │ │ ├── place.rkt
│ │ │ ├── port.rkt
│ │ │ ├── portlines.rkt
│ │ │ ├── pre-base.rkt
│ │ │ ├── primitive-table.rkt
│ │ │ ├── print-value-columns.rkt
│ │ │ ├── procedure-alias.rkt
│ │ │ ├── promise.rkt
│ │ │ ├── qq-and-or.rkt
│ │ │ ├── qqstx.rkt
│ │ │ ├── reading-param.rkt
│ │ │ ├── relative-path.rkt
│ │ │ ├── reqprov.rkt
│ │ │ ├── require-lift.rkt
│ │ │ ├── runtime-path-table.rkt
│ │ │ ├── sc.rkt
│ │ │ ├── sequence.rkt
│ │ │ ├── serialize-structs.rkt
│ │ │ ├── serialize.rkt
│ │ │ ├── set-types.rkt
│ │ │ ├── set.rkt
│ │ │ ├── share-search.rkt
│ │ │ ├── shared-body.rkt
│ │ │ ├── shell.rkt
│ │ │ ├── small-scheme.rkt
│ │ │ ├── so-search.rkt
│ │ │ ├── sort.rkt
│ │ │ ├── stream-cons.rkt
│ │ │ ├── streams.rkt
│ │ │ ├── string.rkt
│ │ │ ├── struct-info.rkt
│ │ │ ├── struct-type-property.rkt
│ │ │ ├── struct-util.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── stx.rkt
│ │ │ ├── stxcase-scheme.rkt
│ │ │ ├── stxcase.rkt
│ │ │ ├── stxloc.rkt
│ │ │ ├── stxparam.rkt
│ │ │ ├── stxparamkey.rkt
│ │ │ ├── submodule.rkt
│ │ │ ├── template.rkt
│ │ │ ├── tethered-installer.rkt
│ │ │ ├── this-expression-source-directory.rkt
│ │ │ ├── top-int.rkt
│ │ │ ├── truncate-path.rkt
│ │ │ ├── unit/
│ │ │ │ ├── contract-syntax.rkt
│ │ │ │ ├── contract.rkt
│ │ │ │ ├── exptime/
│ │ │ │ │ ├── import-export.rkt
│ │ │ │ │ ├── signature.rkt
│ │ │ │ │ ├── syntax.rkt
│ │ │ │ │ ├── unit-infer.rkt
│ │ │ │ │ └── util.rkt
│ │ │ │ ├── keywords.rkt
│ │ │ │ ├── runtime.rkt
│ │ │ │ ├── signature.rkt
│ │ │ │ ├── unit-core.rkt
│ │ │ │ ├── unit-infer.rkt
│ │ │ │ └── util.rkt
│ │ │ ├── unit-compiletime.rkt
│ │ │ ├── unit-syntax.rkt
│ │ │ ├── unix-rand.rkt
│ │ │ ├── vector-wraps.rkt
│ │ │ ├── windows-rand.rkt
│ │ │ └── with-stx.rkt
│ │ ├── promise.rkt
│ │ ├── provide-syntax.rkt
│ │ ├── provide-transform.rkt
│ │ ├── provide.rkt
│ │ ├── racket.1
│ │ ├── random.rkt
│ │ ├── repl.rkt
│ │ ├── require-syntax.rkt
│ │ ├── require-transform.rkt
│ │ ├── require.rkt
│ │ ├── rerequire.rkt
│ │ ├── runtime-config.rkt
│ │ ├── runtime-path.rkt
│ │ ├── sequence.rkt
│ │ ├── serialize-structs.rkt
│ │ ├── serialize.rkt
│ │ ├── set.rkt
│ │ ├── shared.rkt
│ │ ├── signature/
│ │ │ ├── lang/
│ │ │ │ └── reader.rkt
│ │ │ └── lang.rkt
│ │ ├── splicing.rkt
│ │ ├── stream.rkt
│ │ ├── string.rkt
│ │ ├── struct-info.rkt
│ │ ├── struct.rkt
│ │ ├── stxparam-exptime.rkt
│ │ ├── stxparam.rkt
│ │ ├── surrogate.rkt
│ │ ├── symbol.rkt
│ │ ├── syntax-srcloc.rkt
│ │ ├── syntax.rkt
│ │ ├── system.rkt
│ │ ├── tcp.rkt
│ │ ├── trace.rkt
│ │ ├── trait.rkt
│ │ ├── treelist.rkt
│ │ ├── udp.rkt
│ │ ├── undefined.rkt
│ │ ├── unit/
│ │ │ ├── lang/
│ │ │ │ └── reader.rkt
│ │ │ └── lang.rkt
│ │ ├── unit-exptime.rkt
│ │ ├── unit.rkt
│ │ ├── unreachable.rkt
│ │ ├── unsafe/
│ │ │ ├── ops.rkt
│ │ │ ├── struct-type-property.rkt
│ │ │ └── undefined.rkt
│ │ └── vector.rkt
│ ├── raco/
│ │ ├── all-tools.rkt
│ │ ├── command-name.rkt
│ │ ├── info.rkt
│ │ ├── main.extreg
│ │ ├── main.lch
│ │ ├── main.rkt
│ │ ├── raco.1
│ │ └── raco.rkt
│ ├── reader/
│ │ └── lang/
│ │ └── reader.rkt
│ ├── realm/
│ │ └── README.txt
│ ├── s-exp/
│ │ └── lang/
│ │ └── reader.rkt
│ ├── setup/
│ │ ├── collection-name.rkt
│ │ ├── collection-search.rkt
│ │ ├── collects.rkt
│ │ ├── commands/
│ │ │ └── link.rkt
│ │ ├── cross-system.rkt
│ │ ├── dirs.rkt
│ │ ├── doc-db.rkt
│ │ ├── getinfo.rkt
│ │ ├── info.rkt
│ │ ├── infotab/
│ │ │ └── lang/
│ │ │ └── reader.rkt
│ │ ├── infotab.rkt
│ │ ├── language-family.rkt
│ │ ├── link.rkt
│ │ ├── main-collects.rkt
│ │ ├── main-doc.rkt
│ │ ├── main.lch
│ │ ├── main.rkt
│ │ ├── matching-platform.rkt
│ │ ├── option.rkt
│ │ ├── pack.rkt
│ │ ├── parallel-build.rkt
│ │ ├── parallel-do.rkt
│ │ ├── path-relativize.rkt
│ │ ├── path-to-relative.rkt
│ │ ├── plt-single-installer.rkt
│ │ ├── private/
│ │ │ ├── cc-struct.rkt
│ │ │ ├── command-name.rkt
│ │ │ ├── dirs.rkt
│ │ │ ├── dylib.rkt
│ │ │ ├── elf.rkt
│ │ │ ├── encode-relative.rkt
│ │ │ ├── format-error.rkt
│ │ │ ├── lib-roots.rkt
│ │ │ ├── omitted-paths.rkt
│ │ │ ├── pkg-deps.rkt
│ │ │ ├── relevant-collects.rkt
│ │ │ ├── setup-fprintf.rkt
│ │ │ └── time.rkt
│ │ ├── setup-cmdline.rkt
│ │ ├── setup-core.rkt
│ │ ├── setup-go.rkt
│ │ ├── setup.rkt
│ │ ├── unixstyle-install.rkt
│ │ ├── unpack.rkt
│ │ ├── variant.rkt
│ │ ├── winstrip.rkt
│ │ ├── winvers-change.rkt
│ │ └── winvers.rkt
│ ├── syntax/
│ │ ├── apply-transformer.rkt
│ │ ├── boundmap.rkt
│ │ ├── context.rkt
│ │ ├── contract.rkt
│ │ ├── datum.rkt
│ │ ├── define.rkt
│ │ ├── doc.txt
│ │ ├── docprovide.rkt
│ │ ├── flatten-begin.rkt
│ │ ├── for-body.rkt
│ │ ├── free-vars.rkt
│ │ ├── id-set.rkt
│ │ ├── id-table.rkt
│ │ ├── intdef.rkt
│ │ ├── kerncase.rkt
│ │ ├── keyword.rkt
│ │ ├── location.rkt
│ │ ├── macro-testing.rkt
│ │ ├── modcode.rkt
│ │ ├── modcollapse.rkt
│ │ ├── moddep.rkt
│ │ ├── modread.rkt
│ │ ├── modresolve.rkt
│ │ ├── module-reader.rkt
│ │ ├── name.rkt
│ │ ├── parse/
│ │ │ ├── debug.rkt
│ │ │ ├── define.rkt
│ │ │ ├── experimental/
│ │ │ │ ├── c.rkt
│ │ │ │ ├── contract.rkt
│ │ │ │ ├── eh.rkt
│ │ │ │ ├── provide.rkt
│ │ │ │ ├── reflect.rkt
│ │ │ │ ├── specialize.rkt
│ │ │ │ ├── splicing.rkt
│ │ │ │ └── template.rkt
│ │ │ ├── lib/
│ │ │ │ └── function-header.rkt
│ │ │ ├── pre.rkt
│ │ │ ├── private/
│ │ │ │ ├── const-expr.rkt
│ │ │ │ ├── datum-to-expr.rkt
│ │ │ │ ├── interp.md
│ │ │ │ ├── keywords.rkt
│ │ │ │ ├── kws.rkt
│ │ │ │ ├── lib.rkt
│ │ │ │ ├── litconv.rkt
│ │ │ │ ├── minimatch.rkt
│ │ │ │ ├── opt-interp.rkt
│ │ │ │ ├── opt.rkt
│ │ │ │ ├── parse-classic.rkt
│ │ │ │ ├── parse-interp.rkt
│ │ │ │ ├── parse.rkt
│ │ │ │ ├── pattern-expander.rkt
│ │ │ │ ├── rep-attrs.rkt
│ │ │ │ ├── rep-data.rkt
│ │ │ │ ├── rep-patterns.rkt
│ │ │ │ ├── rep.rkt
│ │ │ │ ├── residual-interp.rkt
│ │ │ │ ├── residual.rkt
│ │ │ │ ├── runtime-reflect.rkt
│ │ │ │ ├── runtime-report.rkt
│ │ │ │ ├── runtime.rkt
│ │ │ │ ├── sc.rkt
│ │ │ │ ├── tree-util.rkt
│ │ │ │ └── txlift.rkt
│ │ │ ├── report-config.rkt
│ │ │ └── todo.txt
│ │ ├── parse.rkt
│ │ ├── path-spec.rkt
│ │ ├── primitives.rkt
│ │ ├── private/
│ │ │ ├── boundmap.rkt
│ │ │ ├── doctable.rkt
│ │ │ ├── id-set.rkt
│ │ │ ├── id-table.rkt
│ │ │ ├── keyword.rkt
│ │ │ ├── modcode-noctc.rkt
│ │ │ ├── modcollapse-noctc.rkt
│ │ │ ├── modhelp.rkt
│ │ │ ├── modresolve-noctc.rkt
│ │ │ ├── struct.rkt
│ │ │ ├── template-runtime.rkt
│ │ │ └── util/
│ │ │ └── expand.rkt
│ │ ├── quote.rkt
│ │ ├── readerr.rkt
│ │ ├── srcloc.rkt
│ │ ├── strip-context.rkt
│ │ ├── struct.rkt
│ │ ├── stx.rkt
│ │ ├── template.rkt
│ │ ├── to-string.rkt
│ │ ├── toplevel.rkt
│ │ ├── transformer.rkt
│ │ ├── trusted-xforms.rkt
│ │ ├── unsafe/
│ │ │ └── for-transform.rkt
│ │ └── wrap-modbeg.rkt
│ ├── version/
│ │ ├── check.rkt
│ │ ├── patchlevel.rkt
│ │ └── utils.rkt
│ └── xml/
│ ├── main.rkt
│ ├── path.rkt
│ ├── plist.rkt
│ ├── private/
│ │ ├── core.rkt
│ │ ├── reader.rkt
│ │ ├── space.rkt
│ │ ├── structures.rkt
│ │ ├── syntax.rkt
│ │ ├── writer.rkt
│ │ ├── xexpr-core.rkt
│ │ └── xexpr.rkt
│ ├── xexpr.rkt
│ └── xml.rkt
└── src/
├── .gitignore
├── ChezScheme/
│ ├── .gitattributes
│ ├── .gitignore
│ ├── BUILDING
│ ├── CHARTER.md
│ ├── CONTRIBUTING.md
│ ├── IMPLEMENTATION.md
│ ├── LICENSE
│ ├── LOG
│ ├── NOTICE
│ ├── README.md
│ ├── archive/
│ │ └── checkin
│ ├── build.bat
│ ├── build.zuo
│ ├── c/
│ │ ├── .gitattributes
│ │ ├── a6nt-jump.asm
│ │ ├── alloc.c
│ │ ├── arm64nt-jump.S
│ │ ├── arm64nt-jump.asm
│ │ ├── atomic.h
│ │ ├── build.zuo
│ │ ├── clearcache.c
│ │ ├── compress-io.c
│ │ ├── compress-io.h
│ │ ├── expeditor.c
│ │ ├── externs.h
│ │ ├── fasl.c
│ │ ├── ffi.c
│ │ ├── flushcache.c
│ │ ├── foreign.c
│ │ ├── gc-011.c
│ │ ├── gc-ocd.c
│ │ ├── gc-oce.c
│ │ ├── gc-par.c
│ │ ├── gc.c
│ │ ├── gcwrapper.c
│ │ ├── globals.h
│ │ ├── i3le.c
│ │ ├── intern.c
│ │ ├── io.c
│ │ ├── itest.c
│ │ ├── lib.zuo
│ │ ├── main.c
│ │ ├── mingw.zuo
│ │ ├── new-io.c
│ │ ├── nocurses.h
│ │ ├── number.c
│ │ ├── pb.c
│ │ ├── pb.h
│ │ ├── popcount.h
│ │ ├── ppc32.c
│ │ ├── prim.c
│ │ ├── prim5.c
│ │ ├── print.c
│ │ ├── random.c
│ │ ├── scheme.c
│ │ ├── scheme.exe.manifest
│ │ ├── scheme.rc
│ │ ├── schlib.c
│ │ ├── schsig.c
│ │ ├── segment.c
│ │ ├── segment.h
│ │ ├── self-exe.c
│ │ ├── sort.h
│ │ ├── statics.c
│ │ ├── stats.c
│ │ ├── symbol.c
│ │ ├── system.h
│ │ ├── thread.c
│ │ ├── thread.h
│ │ ├── types.h
│ │ ├── version.h
│ │ ├── vfasl.c
│ │ ├── vs.bat
│ │ ├── windows.c
│ │ └── winlib.zuo
│ ├── configure
│ ├── csug/
│ │ ├── bibliography.stex
│ │ ├── binding.stex
│ │ ├── canned/
│ │ │ ├── about.html
│ │ │ ├── copyright.html
│ │ │ └── csug.css
│ │ ├── compat.stex
│ │ ├── contents.stex
│ │ ├── control.stex
│ │ ├── copyright.stex
│ │ ├── csug.bib
│ │ ├── csug.css
│ │ ├── csug.stex
│ │ ├── csug8.cls
│ │ ├── csug8.hcls
│ │ ├── csug810.clo
│ │ ├── debug.stex
│ │ ├── docond.ss
│ │ ├── expeditor.stex
│ │ ├── foreign.stex
│ │ ├── intro.stex
│ │ ├── io.stex
│ │ ├── libraries.stex
│ │ ├── myfile.ss
│ │ ├── numeric.stex
│ │ ├── objects.stex
│ │ ├── oop.stex
│ │ ├── preface.stex
│ │ ├── priminfo.ss
│ │ ├── scheme.hsty
│ │ ├── scheme.sty
│ │ ├── setup.ss
│ │ ├── smgmt.stex
│ │ ├── summary.ss
│ │ ├── summary.stex
│ │ ├── syntax.stex
│ │ ├── system.stex
│ │ ├── threads.stex
│ │ ├── title.stex
│ │ ├── tspl.bst
│ │ ├── tspl4/
│ │ │ ├── answers.aux
│ │ │ ├── bibliography.aux
│ │ │ ├── binding.aux
│ │ │ ├── contents.aux
│ │ │ ├── control.aux
│ │ │ ├── copyright.aux
│ │ │ ├── examples.aux
│ │ │ ├── exceptions.aux
│ │ │ ├── further.aux
│ │ │ ├── grammar.aux
│ │ │ ├── intro.aux
│ │ │ ├── io.aux
│ │ │ ├── libraries.aux
│ │ │ ├── objects.aux
│ │ │ ├── out.hidx
│ │ │ ├── preface.aux
│ │ │ ├── records.aux
│ │ │ ├── start.aux
│ │ │ ├── summary.aux
│ │ │ ├── syntax.aux
│ │ │ ├── title.aux
│ │ │ ├── to-hyperref.ss
│ │ │ ├── tspl.aux
│ │ │ ├── tspl.haux
│ │ │ ├── tspl.idx
│ │ │ └── tspl.rfm
│ │ ├── tspl4-prep.stex
│ │ └── use.stex
│ ├── examples/
│ │ ├── Makefile
│ │ ├── build.zuo
│ │ ├── compat.ss
│ │ ├── crepl.c
│ │ ├── csocket.c
│ │ ├── def.ss
│ │ ├── edit.ss
│ │ ├── ez-grammar-test.ss
│ │ ├── ez-grammar.ss
│ │ ├── fact.ss
│ │ ├── fatfib.ss
│ │ ├── fft.ss
│ │ ├── fib.ss
│ │ ├── foreign.ss
│ │ ├── freq.ss
│ │ ├── interpret.ss
│ │ ├── m4.ss
│ │ ├── macro.ss
│ │ ├── matrix.ss
│ │ ├── object.ss
│ │ ├── power.ss
│ │ ├── queue.ss
│ │ ├── rabbit.ss
│ │ ├── rsa.ss
│ │ ├── scons.ss
│ │ ├── setof.ss
│ │ ├── socket.ss
│ │ ├── template.ss
│ │ └── unify.ss
│ ├── makefiles/
│ │ ├── Makefile-cross.in
│ │ ├── Makefile-csug.in
│ │ ├── Makefile-release_notes.in
│ │ ├── Makefile.in
│ │ ├── Makefile.nt
│ │ ├── bintar.zuo
│ │ ├── boot.zuo
│ │ ├── buildmain.zuo
│ │ ├── install.zuo
│ │ ├── installsh
│ │ ├── lib.zuo
│ │ ├── libpath.zuo
│ │ ├── version.zuo
│ │ └── workmain.zuo
│ ├── maketarball
│ ├── mats/
│ │ ├── 3.ms
│ │ ├── 4.ms
│ │ ├── 5_1.ms
│ │ ├── 5_2.ms
│ │ ├── 5_3.ms
│ │ ├── 5_4.ms
│ │ ├── 5_5.ms
│ │ ├── 5_6.ms
│ │ ├── 5_7.ms
│ │ ├── 5_8.ms
│ │ ├── 6.ms
│ │ ├── 7.ms
│ │ ├── 8.ms
│ │ ├── build.zuo
│ │ ├── bytevector.ms
│ │ ├── cat_flush.c
│ │ ├── cfl.ms
│ │ ├── cp0.ms
│ │ ├── cptypes.ms
│ │ ├── date.ms
│ │ ├── enum.ms
│ │ ├── examples.ms
│ │ ├── exceptions.ms
│ │ ├── fl.ms
│ │ ├── foreign.ms
│ │ ├── foreign1.c
│ │ ├── foreign2.c
│ │ ├── foreign3.c
│ │ ├── foreign4.c
│ │ ├── format.ms
│ │ ├── freq.in
│ │ ├── freq.out
│ │ ├── ftype.h
│ │ ├── ftype.ms
│ │ ├── fx.ms
│ │ ├── hash.ms
│ │ ├── ht.ss
│ │ ├── ieee.ms
│ │ ├── io.ms
│ │ ├── m4test.in
│ │ ├── m4test.out
│ │ ├── mat.ss
│ │ ├── misc.ms
│ │ ├── oop.ms
│ │ ├── oop.ss
│ │ ├── patch-compile-0-f-f-t
│ │ ├── patch-compile-0-f-t-f
│ │ ├── patch-compile-0-f-t-t
│ │ ├── patch-compile-0-t-f-f
│ │ ├── patch-compile-0-t-f-t
│ │ ├── patch-compile-0-t-t-f
│ │ ├── patch-compile-0-t-t-t
│ │ ├── patch-compile-3-f-f-t
│ │ ├── patch-compile-3-f-t-f
│ │ ├── patch-compile-3-f-t-t
│ │ ├── patch-compile-3-t-f-f
│ │ ├── patch-compile-3-t-f-t
│ │ ├── patch-compile-3-t-t-f
│ │ ├── patch-compile-3-t-t-t
│ │ ├── patch-interpret-0-f-f-f
│ │ ├── patch-interpret-0-f-t-f
│ │ ├── patch-interpret-0-t-f-f
│ │ ├── patch-interpret-0-t-t-f
│ │ ├── patch-interpret-3-f-f-f
│ │ ├── patch-interpret-3-f-t-f
│ │ ├── patch-interpret-3-t-f-f
│ │ ├── patch-interpret-3-t-t-f
│ │ ├── primvars.ms
│ │ ├── profile.ms
│ │ ├── record.ms
│ │ ├── root-experr-compile-0-f-f-f
│ │ ├── root-experr-compile-3-f-f-f
│ │ ├── thread-check.ss
│ │ ├── thread.ms
│ │ ├── unix.ms
│ │ └── windows.ms
│ ├── nanopass/
│ │ ├── .gitignore
│ │ ├── .travis/
│ │ │ ├── install_scheme
│ │ │ └── run_tests
│ │ ├── .travis.yml
│ │ ├── Acknowledgements
│ │ ├── Copyright
│ │ ├── LOG
│ │ ├── ReadMe.md
│ │ ├── TODO
│ │ ├── doc/
│ │ │ ├── Makefile
│ │ │ ├── language-api.ss
│ │ │ ├── user-guide.bib
│ │ │ └── user-guide.stex
│ │ ├── nanopass/
│ │ │ ├── exp-syntax.sls
│ │ │ ├── experimental.sls
│ │ │ ├── helpers.ss
│ │ │ ├── implementation-helpers.chezscheme.sls
│ │ │ ├── implementation-helpers.ikarus.ss
│ │ │ ├── implementation-helpers.ironscheme.sls
│ │ │ ├── implementation-helpers.vicare.sls
│ │ │ ├── language-helpers.ss
│ │ │ ├── language-node-counter.ss
│ │ │ ├── language.ss
│ │ │ ├── meta-parser.ss
│ │ │ ├── meta-syntax-dispatch.ss
│ │ │ ├── nano-syntax-dispatch.ss
│ │ │ ├── parser.ss
│ │ │ ├── pass.ss
│ │ │ ├── prefix-matcher.ss
│ │ │ ├── records.ss
│ │ │ ├── syntactic-property.sls
│ │ │ ├── syntaxconvert.ss
│ │ │ └── unparser.ss
│ │ ├── nanopass.ss
│ │ ├── test-all.ss
│ │ └── tests/
│ │ ├── alltests.ss
│ │ ├── compiler-test.ss
│ │ ├── compiler.ss
│ │ ├── helpers.ss
│ │ ├── implementation-helpers.chezscheme.sls
│ │ ├── implementation-helpers.ikarus.ss
│ │ ├── implementation-helpers.ironscheme.sls
│ │ ├── implementation-helpers.ss
│ │ ├── implementation-helpers.vicare.sls
│ │ ├── new-compiler.ss
│ │ ├── synforms.ss
│ │ ├── test-driver.ss
│ │ ├── unit-test-helpers-implementation.chezscheme.sls
│ │ ├── unit-test-helpers-implementation.ikarus.sls
│ │ ├── unit-test-helpers-implementation.ironscheme.sls
│ │ ├── unit-test-helpers-implementation.vicare.sls
│ │ ├── unit-test-helpers.ss
│ │ └── unit-tests.ss
│ ├── newrelease
│ ├── pkg/
│ │ ├── Makefile
│ │ └── rmpkg
│ ├── release_notes/
│ │ ├── macros.stex
│ │ ├── release_notes.stex
│ │ ├── releasenotes.cls
│ │ ├── releasenotes.css
│ │ ├── releasenotes.hcls
│ │ └── scheme.sty
│ ├── rpm/
│ │ └── Makefile
│ ├── s/
│ │ ├── 4.ss
│ │ ├── 5_1.ss
│ │ ├── 5_2.ss
│ │ ├── 5_3.ss
│ │ ├── 5_4.ss
│ │ ├── 5_6.ss
│ │ ├── 5_7.ss
│ │ ├── 6.ss
│ │ ├── 7.ss
│ │ ├── a6.def
│ │ ├── a6nt.def
│ │ ├── arm32.def
│ │ ├── arm32.ss
│ │ ├── arm64.def
│ │ ├── arm64.ss
│ │ ├── arm64nt.def
│ │ ├── back.ss
│ │ ├── base-lang.ss
│ │ ├── boot.bat
│ │ ├── bootpbchunk.ss
│ │ ├── build.zuo
│ │ ├── bytevector.ss
│ │ ├── cafe.ss
│ │ ├── cback.ss
│ │ ├── cmacros.ss
│ │ ├── compile.ss
│ │ ├── costctr.ss
│ │ ├── cp0.ss
│ │ ├── cpcheck.ss
│ │ ├── cpcommonize.ss
│ │ ├── cpletrec.ss
│ │ ├── cpnanopass.ss
│ │ ├── cpprim.ss
│ │ ├── cprep.ss
│ │ ├── cptypes-lattice.ss
│ │ ├── cptypes.ss
│ │ ├── cpvalid.ss
│ │ ├── date.ss
│ │ ├── debug.ss
│ │ ├── default.def
│ │ ├── engine.ss
│ │ ├── enum.ss
│ │ ├── env.ss
│ │ ├── event.ss
│ │ ├── exceptions.ss
│ │ ├── expand-lang.ss
│ │ ├── expeditor.ss
│ │ ├── fasl-helpers.ss
│ │ ├── fasl.ss
│ │ ├── ffi-help.ss
│ │ ├── foreign.ss
│ │ ├── format.ss
│ │ ├── front.ss
│ │ ├── ftype.ss
│ │ ├── fxmap.ss
│ │ ├── hashtable-types.ss
│ │ ├── i3.def
│ │ ├── i3nt.def
│ │ ├── i3qnx.def
│ │ ├── inspect.ss
│ │ ├── interpret.ss
│ │ ├── io-types.ss
│ │ ├── io.ss
│ │ ├── la64.def
│ │ ├── layout.ss
│ │ ├── library.ss
│ │ ├── loongarch64.ss
│ │ ├── machine.zuo
│ │ ├── mathprims.ss
│ │ ├── mkgc.ss
│ │ ├── mkheader.ss
│ │ ├── newhash.ss
│ │ ├── np-help.ss
│ │ ├── np-info.ss
│ │ ├── np-languages.ss
│ │ ├── np-register.ss
│ │ ├── nt.def
│ │ ├── patch.ss
│ │ ├── pb.def
│ │ ├── pb.ss
│ │ ├── pbarch.def
│ │ ├── pbchunk.ss
│ │ ├── pbcommon.def
│ │ ├── pbcommon32.def
│ │ ├── pbcommon64.def
│ │ ├── pdhtml.ss
│ │ ├── ppc32.def
│ │ ├── ppc32.ss
│ │ ├── ppc32osx.def
│ │ ├── pretty.ss
│ │ ├── primdata.ss
│ │ ├── priminfo.ss
│ │ ├── primref.ss
│ │ ├── prims.ss
│ │ ├── primvars.ss
│ │ ├── print.ss
│ │ ├── read.ss
│ │ ├── reboot-record-wrap.ss
│ │ ├── reboot-record.ss
│ │ ├── reboot.ss
│ │ ├── reboot.zuo
│ │ ├── record.ss
│ │ ├── reloc.ss
│ │ ├── riscv64.ss
│ │ ├── rv64.def
│ │ ├── setup.ss
│ │ ├── strip-types.ss
│ │ ├── strip.ss
│ │ ├── strnum.ss
│ │ ├── syntax.ss
│ │ ├── ta6nt.def
│ │ ├── target-fixnum.ss
│ │ ├── tarm64nt.def
│ │ ├── ti3nt.def
│ │ ├── tpb.def
│ │ ├── tpbarch.def
│ │ ├── tppc32osx.def
│ │ ├── trace.ss
│ │ ├── tunix.def
│ │ ├── types.ss
│ │ ├── ubify.ss
│ │ ├── unix.def
│ │ ├── vfasl.ss
│ │ ├── x86.ss
│ │ └── x86_64.ss
│ ├── scheme.1.in
│ ├── stex/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── Makefile.template
│ │ ├── Mf-stex
│ │ ├── ReadMe
│ │ ├── doc/
│ │ │ ├── Makefile
│ │ │ ├── stex.css
│ │ │ ├── stex.html
│ │ │ └── stex.stex
│ │ ├── gifs/
│ │ │ ├── Makefile
│ │ │ └── Rightarrow.tex
│ │ ├── inputs/
│ │ │ ├── assign-prep.stex
│ │ │ ├── assignment.bst
│ │ │ ├── assignment.cls
│ │ │ ├── assignment.hcls
│ │ │ ├── exam.cls
│ │ │ ├── fullpage.sty
│ │ │ ├── grammar.hsty
│ │ │ ├── grammar.sty
│ │ │ ├── html-prep.tex
│ │ │ ├── monograph.cls
│ │ │ ├── monograph.hcls
│ │ │ ├── quiz.cls
│ │ │ ├── scheme.hsty
│ │ │ ├── scheme.sty
│ │ │ ├── website.cls
│ │ │ └── website.hcls
│ │ ├── math/
│ │ │ ├── Makefile
│ │ │ └── mathmacros
│ │ ├── sbin/
│ │ │ └── install
│ │ └── src/
│ │ ├── dsm.ss
│ │ ├── fixbibtex.ss
│ │ ├── html-prep.ss
│ │ ├── preplib.ss
│ │ ├── scheme-prep.ss
│ │ └── script.ss
│ ├── unicode/
│ │ ├── Makefile
│ │ ├── ReadMe
│ │ ├── UNIDATA/
│ │ │ ├── CaseFolding.txt
│ │ │ ├── CompositionExclusions.txt
│ │ │ ├── DerivedCoreProperties.txt
│ │ │ ├── GraphemeBreakProperty.txt
│ │ │ ├── GraphemeBreakTest.txt
│ │ │ ├── NormalizationTest.txt
│ │ │ ├── PropList.txt
│ │ │ ├── SpecialCasing.txt
│ │ │ ├── UnicodeData.txt
│ │ │ ├── WordBreakProperty.txt
│ │ │ └── emoji-data.txt
│ │ ├── extract-char-cases.ss
│ │ ├── extract-common.ss
│ │ ├── extract-info.ss
│ │ ├── get-UNIDATA
│ │ ├── unicode-char-cases.ss
│ │ ├── unicode-charinfo.ss
│ │ └── unicode-data.ss
│ ├── wininstall/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── a6nt.wxs
│ │ ├── bundle.wxs
│ │ ├── candle.bat
│ │ ├── examples.wxs
│ │ ├── i3nt.wxs
│ │ ├── license.rtf
│ │ ├── light.bat
│ │ ├── product.wxs
│ │ ├── ta6nt.wxs
│ │ ├── ti3nt.wxs
│ │ └── ui.wxs
│ └── zlib/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── ChangeLog
│ ├── FAQ
│ ├── INDEX
│ ├── LICENSE
│ ├── Makefile
│ ├── Makefile.in
│ ├── README
│ ├── adler32.c
│ ├── amiga/
│ │ ├── Makefile.pup
│ │ └── Makefile.sas
│ ├── compress.c
│ ├── configure
│ ├── contrib/
│ │ ├── README.contrib
│ │ ├── ada/
│ │ │ ├── buffer_demo.adb
│ │ │ ├── mtest.adb
│ │ │ ├── read.adb
│ │ │ ├── readme.txt
│ │ │ ├── test.adb
│ │ │ ├── zlib-streams.adb
│ │ │ ├── zlib-streams.ads
│ │ │ ├── zlib-thin.adb
│ │ │ ├── zlib-thin.ads
│ │ │ ├── zlib.adb
│ │ │ ├── zlib.ads
│ │ │ └── zlib.gpr
│ │ ├── blast/
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── blast.c
│ │ │ ├── blast.h
│ │ │ ├── test.pk
│ │ │ └── test.txt
│ │ ├── delphi/
│ │ │ ├── ZLib.pas
│ │ │ ├── ZLibConst.pas
│ │ │ ├── readme.txt
│ │ │ └── zlibd32.mak
│ │ ├── dotzlib/
│ │ │ ├── DotZLib/
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ ├── ChecksumImpl.cs
│ │ │ │ ├── CircularBuffer.cs
│ │ │ │ ├── CodecBase.cs
│ │ │ │ ├── Deflater.cs
│ │ │ │ ├── DotZLib.cs
│ │ │ │ ├── DotZLib.csproj
│ │ │ │ ├── GZipStream.cs
│ │ │ │ ├── Inflater.cs
│ │ │ │ └── UnitTests.cs
│ │ │ ├── DotZLib.build
│ │ │ ├── DotZLib.chm
│ │ │ ├── DotZLib.sln
│ │ │ ├── LICENSE_1_0.txt
│ │ │ └── readme.txt
│ │ ├── gcc_gvmat64/
│ │ │ └── gvmat64.S
│ │ ├── infback9/
│ │ │ ├── README
│ │ │ ├── infback9.c
│ │ │ ├── infback9.h
│ │ │ ├── inffix9.h
│ │ │ ├── inflate9.h
│ │ │ ├── inftree9.c
│ │ │ └── inftree9.h
│ │ ├── iostream/
│ │ │ ├── test.cpp
│ │ │ ├── zfstream.cpp
│ │ │ └── zfstream.h
│ │ ├── iostream2/
│ │ │ ├── zstream.h
│ │ │ └── zstream_test.cpp
│ │ ├── iostream3/
│ │ │ ├── README
│ │ │ ├── TODO
│ │ │ ├── test.cc
│ │ │ ├── zfstream.cc
│ │ │ └── zfstream.h
│ │ ├── minizip/
│ │ │ ├── Makefile
│ │ │ ├── Makefile.am
│ │ │ ├── MiniZip64_Changes.txt
│ │ │ ├── MiniZip64_info.txt
│ │ │ ├── configure.ac
│ │ │ ├── crypt.h
│ │ │ ├── ioapi.c
│ │ │ ├── ioapi.h
│ │ │ ├── iowin32.c
│ │ │ ├── iowin32.h
│ │ │ ├── make_vms.com
│ │ │ ├── miniunz.c
│ │ │ ├── miniunzip.1
│ │ │ ├── minizip.1
│ │ │ ├── minizip.c
│ │ │ ├── minizip.pc.in
│ │ │ ├── mztools.c
│ │ │ ├── mztools.h
│ │ │ ├── unzip.c
│ │ │ ├── unzip.h
│ │ │ ├── zip.c
│ │ │ └── zip.h
│ │ ├── nuget/
│ │ │ ├── nuget.csproj
│ │ │ └── nuget.sln
│ │ ├── pascal/
│ │ │ ├── example.pas
│ │ │ ├── readme.txt
│ │ │ ├── zlibd32.mak
│ │ │ └── zlibpas.pas
│ │ ├── puff/
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── puff.c
│ │ │ ├── puff.h
│ │ │ ├── pufftest.c
│ │ │ └── zeros.raw
│ │ ├── testzlib/
│ │ │ ├── testzlib.c
│ │ │ └── testzlib.txt
│ │ ├── untgz/
│ │ │ ├── Makefile
│ │ │ ├── Makefile.msc
│ │ │ └── untgz.c
│ │ └── vstudio/
│ │ ├── readme.txt
│ │ ├── vc10/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── miniunz.vcxproj.filters
│ │ │ ├── minizip.vcxproj
│ │ │ ├── minizip.vcxproj.filters
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlib.vcxproj.filters
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── testzlibdll.vcxproj.filters
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibstat.vcxproj.filters
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ ├── zlibvc.vcxproj
│ │ │ └── zlibvc.vcxproj.filters
│ │ ├── vc11/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ ├── vc12/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ ├── vc14/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ ├── vc17/
│ │ │ ├── miniunz.vcxproj
│ │ │ ├── minizip.vcxproj
│ │ │ ├── testzlib.vcxproj
│ │ │ ├── testzlibdll.vcxproj
│ │ │ ├── zlib.rc
│ │ │ ├── zlibstat.vcxproj
│ │ │ ├── zlibvc.def
│ │ │ ├── zlibvc.sln
│ │ │ └── zlibvc.vcxproj
│ │ └── vc9/
│ │ ├── miniunz.vcproj
│ │ ├── minizip.vcproj
│ │ ├── testzlib.vcproj
│ │ ├── testzlibdll.vcproj
│ │ ├── zlib.rc
│ │ ├── zlibstat.vcproj
│ │ ├── zlibvc.def
│ │ ├── zlibvc.sln
│ │ └── zlibvc.vcproj
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── doc/
│ │ ├── algorithm.txt
│ │ ├── rfc1950.txt
│ │ ├── rfc1951.txt
│ │ ├── rfc1952.txt
│ │ └── txtvsbin.txt
│ ├── examples/
│ │ ├── README.examples
│ │ ├── enough.c
│ │ ├── fitblk.c
│ │ ├── gun.c
│ │ ├── gzappend.c
│ │ ├── gzjoin.c
│ │ ├── gzlog.c
│ │ ├── gzlog.h
│ │ ├── gznorm.c
│ │ ├── zlib_how.html
│ │ ├── zpipe.c
│ │ ├── zran.c
│ │ └── zran.h
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── make_vms.com
│ ├── msdos/
│ │ ├── Makefile.bor
│ │ ├── Makefile.dj2
│ │ ├── Makefile.emx
│ │ ├── Makefile.msc
│ │ └── Makefile.tc
│ ├── nintendods/
│ │ ├── Makefile
│ │ └── README
│ ├── old/
│ │ ├── Makefile.emx
│ │ ├── Makefile.riscos
│ │ ├── README
│ │ ├── descrip.mms
│ │ ├── os2/
│ │ │ ├── Makefile.os2
│ │ │ └── zlib.def
│ │ └── visual-basic.txt
│ ├── os400/
│ │ ├── README400
│ │ ├── bndsrc
│ │ ├── make.sh
│ │ └── zlib.inc
│ ├── qnx/
│ │ └── package.qpg
│ ├── test/
│ │ ├── example.c
│ │ ├── infcover.c
│ │ └── minigzip.c
│ ├── treebuild.xml
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── watcom/
│ │ ├── watcom_f.mak
│ │ └── watcom_l.mak
│ ├── win32/
│ │ ├── DLL_FAQ.txt
│ │ ├── Makefile.bor
│ │ ├── Makefile.gcc
│ │ ├── Makefile.msc
│ │ ├── README-WIN32.txt
│ │ ├── VisualC.txt
│ │ ├── zlib.def
│ │ └── zlib1.rc
│ ├── zconf.h
│ ├── zconf.h.cmakein
│ ├── zconf.h.in
│ ├── zlib.3
│ ├── zlib.h
│ ├── zlib.pc.cmakein
│ ├── zlib.pc.in
│ ├── zutil.c
│ └── zutil.h
├── LICENSE-APACHE.txt
├── LICENSE-GPL.txt
├── LICENSE-LGPL.txt
├── LICENSE-MIT.txt
├── LICENSE-libscheme.txt
├── LICENSE.txt
├── Makefile.in
├── Makefile.nt
├── README.txt
├── ac/
│ ├── .gitignore
│ ├── Makefile
│ ├── add_c_flags.m4
│ ├── asan.m4
│ ├── asan_arg.m4
│ ├── boothelp.m4
│ ├── boothelp_arg.m4
│ ├── crossany.m4
│ ├── crossany_arg.m4
│ ├── curses.m4
│ ├── curses_arg.m4
│ ├── filter_add.sh
│ ├── iconv.m4
│ ├── iconv_arg.m4
│ ├── instlib.m4
│ ├── instlib_arg.m4
│ ├── is_gcc.m4
│ ├── libffi.m4
│ ├── make-configure
│ ├── natipkg.m4
│ ├── natipkg_arg.m4
│ ├── natipkg_show.m4
│ ├── path.m4
│ ├── path_arg.m4
│ ├── path_pkgscope.m4
│ ├── path_show.m4
│ ├── pkgs.m4
│ ├── pkgs_arg.m4
│ ├── pkgs_show.m4
│ ├── portable_arg.m4
│ ├── portable_show.m4
│ ├── postlink.m4
│ ├── postlink_arg.m4
│ ├── rktio_keep.m4
│ ├── sdk.m4
│ ├── sdk_arg.m4
│ ├── sdk_ios.m4
│ ├── sdk_mac.m4
│ ├── sdk_show.m4
│ ├── strip.m4
│ ├── strip_arg.m4
│ ├── strip_show.m4
│ ├── ubsan.m4
│ ├── ubsan_arg.m4
│ ├── valid_sizeof.m4
│ ├── vm.m4
│ └── vm_arg.m4
├── bc/
│ ├── Makefile.in
│ ├── README.txt
│ ├── build.zuo
│ ├── buildmain.zuo
│ ├── cmdline.inc
│ ├── configure
│ ├── configure.ac
│ ├── dynsrc/
│ │ ├── .gitignore
│ │ ├── dynexmpl.c
│ │ ├── fixup.c
│ │ ├── init.cc
│ │ ├── mkbordyn.bat
│ │ ├── mkmzdyn.bat
│ │ ├── mzdyn.c
│ │ ├── mzdyn.def
│ │ └── mzdynb.def
│ ├── foreign/
│ │ ├── README
│ │ ├── buildffi.zuo
│ │ ├── foreign.c
│ │ ├── foreign.rktc
│ │ ├── libffi/
│ │ │ ├── ChangeLog
│ │ │ ├── ChangeLog.old
│ │ │ ├── LICENSE
│ │ │ ├── LICENSE-BUILDTOOLS
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── README.md
│ │ │ ├── acinclude.m4
│ │ │ ├── aclocal.m4
│ │ │ ├── compile
│ │ │ ├── config.guess
│ │ │ ├── config.sub
│ │ │ ├── configure
│ │ │ ├── configure.ac
│ │ │ ├── configure.host
│ │ │ ├── depcomp
│ │ │ ├── doc/
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── Makefile.in
│ │ │ │ ├── libffi.info
│ │ │ │ ├── libffi.texi
│ │ │ │ ├── mdate-sh
│ │ │ │ ├── stamp-vti
│ │ │ │ ├── texinfo.tex
│ │ │ │ └── version.texi
│ │ │ ├── fficonfig.h.in
│ │ │ ├── generate-darwin-source-and-headers.py
│ │ │ ├── include/
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── Makefile.in
│ │ │ │ ├── ffi.h.in
│ │ │ │ ├── ffi_cfi.h
│ │ │ │ ├── ffi_common.h
│ │ │ │ └── tramp.h
│ │ │ ├── install-sh
│ │ │ ├── libffi.map.in
│ │ │ ├── libffi.pc.in
│ │ │ ├── libffi.xcodeproj/
│ │ │ │ └── project.pbxproj
│ │ │ ├── libtool-ldflags
│ │ │ ├── libtool-version
│ │ │ ├── ltmain.sh
│ │ │ ├── m4/
│ │ │ │ ├── asmcfi.m4
│ │ │ │ ├── ax_cc_maxopt.m4
│ │ │ │ ├── ax_cflags_warn_all.m4
│ │ │ │ ├── ax_check_compile_flag.m4
│ │ │ │ ├── ax_compiler_vendor.m4
│ │ │ │ ├── ax_configure_args.m4
│ │ │ │ ├── ax_enable_builddir.m4
│ │ │ │ ├── ax_gcc_archflag.m4
│ │ │ │ ├── ax_gcc_x86_cpuid.m4
│ │ │ │ ├── ax_prepend_flag.m4
│ │ │ │ ├── ax_require_defined.m4
│ │ │ │ ├── libtool.m4
│ │ │ │ ├── ltoptions.m4
│ │ │ │ ├── ltsugar.m4
│ │ │ │ ├── ltversion.m4
│ │ │ │ └── lt~obsolete.m4
│ │ │ ├── make_sunver.pl
│ │ │ ├── man/
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── Makefile.in
│ │ │ │ ├── ffi.3
│ │ │ │ ├── ffi_call.3
│ │ │ │ ├── ffi_prep_cif.3
│ │ │ │ └── ffi_prep_cif_var.3
│ │ │ ├── missing
│ │ │ ├── msvc_build/
│ │ │ │ └── aarch64/
│ │ │ │ ├── Ffi_staticLib.sln
│ │ │ │ ├── Ffi_staticLib.vcxproj
│ │ │ │ ├── Ffi_staticLib.vcxproj.filters
│ │ │ │ ├── Ffi_staticLib.vcxproj.user
│ │ │ │ └── aarch64_include/
│ │ │ │ ├── ffi.h
│ │ │ │ └── fficonfig.h
│ │ │ ├── msvcc.sh
│ │ │ ├── src/
│ │ │ │ ├── aarch64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ └── win64_armasm.S
│ │ │ │ ├── alpha/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ └── osf.S
│ │ │ │ ├── arc/
│ │ │ │ │ ├── arcompact.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── arm/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ └── sysv_msvc_arm32.S
│ │ │ │ ├── avr32/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── bfin/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── closures.c
│ │ │ │ ├── cris/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── csky/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── debug.c
│ │ │ │ ├── dlmalloc.c
│ │ │ │ ├── frv/
│ │ │ │ │ ├── eabi.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── ia64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── ia64_flags.h
│ │ │ │ │ └── unix.S
│ │ │ │ ├── java_raw_api.c
│ │ │ │ ├── kvx/
│ │ │ │ │ ├── asm.h
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── loongarch64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── m32r/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── m68k/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── m88k/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── obsd.S
│ │ │ │ ├── metag/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── microblaze/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── mips/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── n32.S
│ │ │ │ │ └── o32.S
│ │ │ │ ├── moxie/
│ │ │ │ │ ├── eabi.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── nios2/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── or1k/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── pa/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── hpux32.S
│ │ │ │ │ ├── hpux64.S
│ │ │ │ │ └── linux.S
│ │ │ │ ├── powerpc/
│ │ │ │ │ ├── aix.S
│ │ │ │ │ ├── aix_closure.S
│ │ │ │ │ ├── asm.h
│ │ │ │ │ ├── darwin.S
│ │ │ │ │ ├── darwin_closure.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffi_darwin.c
│ │ │ │ │ ├── ffi_linux64.c
│ │ │ │ │ ├── ffi_powerpc.h
│ │ │ │ │ ├── ffi_sysv.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── linux64.S
│ │ │ │ │ ├── linux64_closure.S
│ │ │ │ │ ├── ppc_closure.S
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ └── t-aix
│ │ │ │ ├── prep_cif.c
│ │ │ │ ├── raw_api.c
│ │ │ │ ├── riscv/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── s390/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── sh/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── sh64/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── sysv.S
│ │ │ │ ├── sparc/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffi64.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── v8.S
│ │ │ │ │ └── v9.S
│ │ │ │ ├── tile/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ └── tile.S
│ │ │ │ ├── tramp.c
│ │ │ │ ├── types.c
│ │ │ │ ├── vax/
│ │ │ │ │ ├── elfbsd.S
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── wasm32/
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ └── ffitarget.h
│ │ │ │ ├── x86/
│ │ │ │ │ ├── asmnames.h
│ │ │ │ │ ├── ffi.c
│ │ │ │ │ ├── ffi64.c
│ │ │ │ │ ├── ffitarget.h
│ │ │ │ │ ├── ffiw64.c
│ │ │ │ │ ├── internal.h
│ │ │ │ │ ├── internal64.h
│ │ │ │ │ ├── sysv.S
│ │ │ │ │ ├── sysv_intel.S
│ │ │ │ │ ├── unix64.S
│ │ │ │ │ ├── win64.S
│ │ │ │ │ └── win64_intel.S
│ │ │ │ └── xtensa/
│ │ │ │ ├── ffi.c
│ │ │ │ ├── ffitarget.h
│ │ │ │ └── sysv.S
│ │ │ └── testsuite/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── config/
│ │ │ │ └── default.exp
│ │ │ ├── emscripten/
│ │ │ │ ├── build-tests.sh
│ │ │ │ ├── build.sh
│ │ │ │ ├── conftest.py
│ │ │ │ ├── node-tests.sh
│ │ │ │ ├── test.html
│ │ │ │ └── test_libffi.py
│ │ │ ├── lib/
│ │ │ │ ├── libffi.exp
│ │ │ │ ├── target-libpath.exp
│ │ │ │ └── wrapper.exp
│ │ │ ├── libffi.bhaible/
│ │ │ │ ├── Makefile
│ │ │ │ ├── README
│ │ │ │ ├── alignof.h
│ │ │ │ ├── bhaible.exp
│ │ │ │ ├── test-call.c
│ │ │ │ ├── test-callback.c
│ │ │ │ └── testcases.c
│ │ │ ├── libffi.call/
│ │ │ │ ├── align_mixed.c
│ │ │ │ ├── align_stdcall.c
│ │ │ │ ├── bpo_38748.c
│ │ │ │ ├── call.exp
│ │ │ │ ├── callback.c
│ │ │ │ ├── callback2.c
│ │ │ │ ├── callback3.c
│ │ │ │ ├── callback4.c
│ │ │ │ ├── err_bad_typedef.c
│ │ │ │ ├── ffitest.h
│ │ │ │ ├── float.c
│ │ │ │ ├── float1.c
│ │ │ │ ├── float2.c
│ │ │ │ ├── float3.c
│ │ │ │ ├── float4.c
│ │ │ │ ├── float_va.c
│ │ │ │ ├── many.c
│ │ │ │ ├── many2.c
│ │ │ │ ├── many_double.c
│ │ │ │ ├── many_mixed.c
│ │ │ │ ├── negint.c
│ │ │ │ ├── offsets.c
│ │ │ │ ├── pr1172638.c
│ │ │ │ ├── promotion.c
│ │ │ │ ├── pyobjc_tc.c
│ │ │ │ ├── return_dbl.c
│ │ │ │ ├── return_dbl1.c
│ │ │ │ ├── return_dbl2.c
│ │ │ │ ├── return_fl.c
│ │ │ │ ├── return_fl1.c
│ │ │ │ ├── return_fl2.c
│ │ │ │ ├── return_fl3.c
│ │ │ │ ├── return_ldl.c
│ │ │ │ ├── return_ll.c
│ │ │ │ ├── return_ll1.c
│ │ │ │ ├── return_sc.c
│ │ │ │ ├── return_sl.c
│ │ │ │ ├── return_uc.c
│ │ │ │ ├── return_ul.c
│ │ │ │ ├── s55.c
│ │ │ │ ├── strlen.c
│ │ │ │ ├── strlen2.c
│ │ │ │ ├── strlen3.c
│ │ │ │ ├── strlen4.c
│ │ │ │ ├── struct1.c
│ │ │ │ ├── struct10.c
│ │ │ │ ├── struct2.c
│ │ │ │ ├── struct3.c
│ │ │ │ ├── struct4.c
│ │ │ │ ├── struct5.c
│ │ │ │ ├── struct6.c
│ │ │ │ ├── struct7.c
│ │ │ │ ├── struct8.c
│ │ │ │ ├── struct9.c
│ │ │ │ ├── struct_by_value_2.c
│ │ │ │ ├── struct_by_value_3.c
│ │ │ │ ├── struct_by_value_3f.c
│ │ │ │ ├── struct_by_value_4.c
│ │ │ │ ├── struct_by_value_4f.c
│ │ │ │ ├── struct_by_value_big.c
│ │ │ │ ├── struct_by_value_small.c
│ │ │ │ ├── struct_return_2H.c
│ │ │ │ ├── struct_return_8H.c
│ │ │ │ ├── uninitialized.c
│ │ │ │ ├── va_1.c
│ │ │ │ ├── va_2.c
│ │ │ │ ├── va_3.c
│ │ │ │ ├── va_struct1.c
│ │ │ │ ├── va_struct2.c
│ │ │ │ └── va_struct3.c
│ │ │ ├── libffi.closures/
│ │ │ │ ├── closure.exp
│ │ │ │ ├── closure_fn0.c
│ │ │ │ ├── closure_fn1.c
│ │ │ │ ├── closure_fn2.c
│ │ │ │ ├── closure_fn3.c
│ │ │ │ ├── closure_fn4.c
│ │ │ │ ├── closure_fn5.c
│ │ │ │ ├── closure_fn6.c
│ │ │ │ ├── closure_loc_fn0.c
│ │ │ │ ├── closure_simple.c
│ │ │ │ ├── cls_12byte.c
│ │ │ │ ├── cls_16byte.c
│ │ │ │ ├── cls_18byte.c
│ │ │ │ ├── cls_19byte.c
│ │ │ │ ├── cls_1_1byte.c
│ │ │ │ ├── cls_20byte.c
│ │ │ │ ├── cls_20byte1.c
│ │ │ │ ├── cls_24byte.c
│ │ │ │ ├── cls_2byte.c
│ │ │ │ ├── cls_3_1byte.c
│ │ │ │ ├── cls_3byte1.c
│ │ │ │ ├── cls_3byte2.c
│ │ │ │ ├── cls_3float.c
│ │ │ │ ├── cls_4_1byte.c
│ │ │ │ ├── cls_4byte.c
│ │ │ │ ├── cls_5_1_byte.c
│ │ │ │ ├── cls_5byte.c
│ │ │ │ ├── cls_64byte.c
│ │ │ │ ├── cls_6_1_byte.c
│ │ │ │ ├── cls_6byte.c
│ │ │ │ ├── cls_7_1_byte.c
│ │ │ │ ├── cls_7byte.c
│ │ │ │ ├── cls_8byte.c
│ │ │ │ ├── cls_9byte1.c
│ │ │ │ ├── cls_9byte2.c
│ │ │ │ ├── cls_align_double.c
│ │ │ │ ├── cls_align_float.c
│ │ │ │ ├── cls_align_longdouble.c
│ │ │ │ ├── cls_align_longdouble_split.c
│ │ │ │ ├── cls_align_longdouble_split2.c
│ │ │ │ ├── cls_align_pointer.c
│ │ │ │ ├── cls_align_sint16.c
│ │ │ │ ├── cls_align_sint32.c
│ │ │ │ ├── cls_align_sint64.c
│ │ │ │ ├── cls_align_uint16.c
│ │ │ │ ├── cls_align_uint32.c
│ │ │ │ ├── cls_align_uint64.c
│ │ │ │ ├── cls_dbls_struct.c
│ │ │ │ ├── cls_double.c
│ │ │ │ ├── cls_double_va.c
│ │ │ │ ├── cls_float.c
│ │ │ │ ├── cls_longdouble.c
│ │ │ │ ├── cls_longdouble_va.c
│ │ │ │ ├── cls_many_mixed_args.c
│ │ │ │ ├── cls_many_mixed_float_double.c
│ │ │ │ ├── cls_multi_schar.c
│ │ │ │ ├── cls_multi_sshort.c
│ │ │ │ ├── cls_multi_sshortchar.c
│ │ │ │ ├── cls_multi_uchar.c
│ │ │ │ ├── cls_multi_ushort.c
│ │ │ │ ├── cls_multi_ushortchar.c
│ │ │ │ ├── cls_pointer.c
│ │ │ │ ├── cls_pointer_stack.c
│ │ │ │ ├── cls_schar.c
│ │ │ │ ├── cls_sint.c
│ │ │ │ ├── cls_sshort.c
│ │ │ │ ├── cls_struct_va1.c
│ │ │ │ ├── cls_uchar.c
│ │ │ │ ├── cls_uint.c
│ │ │ │ ├── cls_uint_va.c
│ │ │ │ ├── cls_ulong_va.c
│ │ │ │ ├── cls_ulonglong.c
│ │ │ │ ├── cls_ushort.c
│ │ │ │ ├── err_bad_abi.c
│ │ │ │ ├── ffitest.h
│ │ │ │ ├── huge_struct.c
│ │ │ │ ├── nested_struct.c
│ │ │ │ ├── nested_struct1.c
│ │ │ │ ├── nested_struct10.c
│ │ │ │ ├── nested_struct11.c
│ │ │ │ ├── nested_struct12.c
│ │ │ │ ├── nested_struct13.c
│ │ │ │ ├── nested_struct2.c
│ │ │ │ ├── nested_struct3.c
│ │ │ │ ├── nested_struct4.c
│ │ │ │ ├── nested_struct5.c
│ │ │ │ ├── nested_struct6.c
│ │ │ │ ├── nested_struct7.c
│ │ │ │ ├── nested_struct8.c
│ │ │ │ ├── nested_struct9.c
│ │ │ │ ├── problem1.c
│ │ │ │ ├── single_entry_structs1.c
│ │ │ │ ├── single_entry_structs2.c
│ │ │ │ ├── single_entry_structs3.c
│ │ │ │ ├── stret_large.c
│ │ │ │ ├── stret_large2.c
│ │ │ │ ├── stret_medium.c
│ │ │ │ ├── stret_medium2.c
│ │ │ │ ├── testclosure.c
│ │ │ │ ├── unwindtest.cc
│ │ │ │ └── unwindtest_ffi_call.cc
│ │ │ ├── libffi.complex/
│ │ │ │ ├── cls_align_complex.inc
│ │ │ │ ├── cls_align_complex_double.c
│ │ │ │ ├── cls_align_complex_float.c
│ │ │ │ ├── cls_align_complex_longdouble.c
│ │ │ │ ├── cls_complex.inc
│ │ │ │ ├── cls_complex_double.c
│ │ │ │ ├── cls_complex_float.c
│ │ │ │ ├── cls_complex_longdouble.c
│ │ │ │ ├── cls_complex_struct.inc
│ │ │ │ ├── cls_complex_struct_double.c
│ │ │ │ ├── cls_complex_struct_float.c
│ │ │ │ ├── cls_complex_struct_longdouble.c
│ │ │ │ ├── cls_complex_va.inc
│ │ │ │ ├── cls_complex_va_double.c
│ │ │ │ ├── cls_complex_va_float.c
│ │ │ │ ├── cls_complex_va_longdouble.c
│ │ │ │ ├── complex.exp
│ │ │ │ ├── complex.inc
│ │ │ │ ├── complex_defs_double.inc
│ │ │ │ ├── complex_defs_float.inc
│ │ │ │ ├── complex_defs_longdouble.inc
│ │ │ │ ├── complex_double.c
│ │ │ │ ├── complex_float.c
│ │ │ │ ├── complex_int.c
│ │ │ │ ├── complex_longdouble.c
│ │ │ │ ├── ffitest.h
│ │ │ │ ├── many_complex.inc
│ │ │ │ ├── many_complex_double.c
│ │ │ │ ├── many_complex_float.c
│ │ │ │ ├── many_complex_longdouble.c
│ │ │ │ ├── return_complex.inc
│ │ │ │ ├── return_complex1.inc
│ │ │ │ ├── return_complex1_double.c
│ │ │ │ ├── return_complex1_float.c
│ │ │ │ ├── return_complex1_longdouble.c
│ │ │ │ ├── return_complex2.inc
│ │ │ │ ├── return_complex2_double.c
│ │ │ │ ├── return_complex2_float.c
│ │ │ │ ├── return_complex2_longdouble.c
│ │ │ │ ├── return_complex_double.c
│ │ │ │ ├── return_complex_float.c
│ │ │ │ └── return_complex_longdouble.c
│ │ │ └── libffi.go/
│ │ │ ├── aa-direct.c
│ │ │ ├── closure1.c
│ │ │ ├── ffitest.h
│ │ │ ├── go.exp
│ │ │ └── static-chain.h
│ │ └── rktc-utils.rkt
│ ├── gc2/
│ │ ├── README
│ │ ├── alloc_cache.c
│ │ ├── backtrace.c
│ │ ├── block_cache.c
│ │ ├── check-sdep.rkt
│ │ ├── commongc_internal.h
│ │ ├── fnls.c
│ │ ├── gc.h
│ │ ├── gc2.c
│ │ ├── gc2.h
│ │ ├── gc2_dump.h
│ │ ├── gc2_obj.h
│ │ ├── gclist.h
│ │ ├── immobile_boxes.c
│ │ ├── mem_account.c
│ │ ├── msgprint.c
│ │ ├── my_qsort.c
│ │ ├── newgc.c
│ │ ├── newgc.h
│ │ ├── page_range.c
│ │ ├── places_gc.c
│ │ ├── platforms.h
│ │ ├── precomp.c
│ │ ├── rlimit_heapsize.c
│ │ ├── roots.c
│ │ ├── sighand.c
│ │ ├── stack_comp.c
│ │ ├── testing.c
│ │ ├── var_stack.c
│ │ ├── vm.c
│ │ ├── vm_memalign.c
│ │ ├── vm_mmap.c
│ │ ├── vm_osk.c
│ │ ├── vm_osx.c
│ │ ├── vm_win.c
│ │ ├── weak.c
│ │ └── xform-mod.rkt
│ ├── gracket/
│ │ ├── README
│ │ └── grmain.c
│ ├── include/
│ │ ├── cgc2.h
│ │ ├── escheme.h
│ │ ├── ext.exp
│ │ ├── gmzwin.def
│ │ ├── mzscheme.exp
│ │ ├── mzscheme3m.exp
│ │ ├── mzwin.def
│ │ ├── mzwin3m.def
│ │ ├── racket.exp
│ │ ├── racket3m.exp
│ │ ├── scheme.h
│ │ └── schthread.h
│ ├── main.c
│ ├── mk-gdbinit.rkt
│ ├── mkincludes.rkt
│ ├── mksystem.rkt
│ ├── mzconfig.h.in
│ ├── sconfig.h
│ ├── sgc/
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── autostat.inc
│ │ ├── checkreg
│ │ ├── collect.inc
│ │ ├── gc.h
│ │ ├── sgc.c
│ │ ├── sgc.h
│ │ ├── sgcdiff
│ │ └── test.c
│ ├── src/
│ │ ├── .gitignore
│ │ ├── bgnfloat.inc
│ │ ├── bignum.c
│ │ ├── bool.c
│ │ ├── char.c
│ │ ├── cify-check.rkt
│ │ ├── cify-startup.rkt
│ │ ├── codetab.inc
│ │ ├── compenv.c
│ │ ├── compile-startup.rkt
│ │ ├── compile.c
│ │ ├── complex.c
│ │ ├── dlcompat.inc
│ │ ├── dynext.c
│ │ ├── dynext.inc
│ │ ├── env.c
│ │ ├── error.c
│ │ ├── eval.c
│ │ ├── file.c
│ │ ├── fun.c
│ │ ├── future.c
│ │ ├── future.h
│ │ ├── gen-jit-ts.rkt
│ │ ├── gmp/
│ │ │ ├── README
│ │ │ ├── gmp-impl.h
│ │ │ ├── gmp-mparam.h
│ │ │ ├── gmp.c
│ │ │ ├── gmp.h
│ │ │ ├── gmp_alpha_gcc.s
│ │ │ ├── gmp_arm_gcc.S
│ │ │ └── gmplonglong.h
│ │ ├── hamt_subset.inc
│ │ ├── hash.c
│ │ ├── help-startup.rkt
│ │ ├── jit.c
│ │ ├── jit.h
│ │ ├── jit_ts.c
│ │ ├── jit_ts_def.c
│ │ ├── jit_ts_future_glue.c
│ │ ├── jit_ts_protos.h
│ │ ├── jit_ts_runtime_glue.c
│ │ ├── jitalloc.c
│ │ ├── jitarith.c
│ │ ├── jitcall.c
│ │ ├── jitcommon.c
│ │ ├── jitfpu.h
│ │ ├── jitinline.c
│ │ ├── jitprep.c
│ │ ├── jitstack.c
│ │ ├── jitstate.c
│ │ ├── letrec_check.c
│ │ ├── lightning/
│ │ │ ├── README
│ │ │ ├── arm/
│ │ │ │ ├── asm-common.h
│ │ │ │ ├── asm.h
│ │ │ │ ├── core-common.h
│ │ │ │ ├── core.h
│ │ │ │ ├── fp-common.h
│ │ │ │ ├── fp-swf.h
│ │ │ │ ├── fp-vfp.h
│ │ │ │ ├── fp.h
│ │ │ │ ├── funcs-common.h
│ │ │ │ └── funcs.h
│ │ │ ├── i386/
│ │ │ │ ├── asm-common.h
│ │ │ │ ├── asm.h
│ │ │ │ ├── core-common.h
│ │ │ │ ├── core.h
│ │ │ │ ├── fp-common.h
│ │ │ │ ├── fp-extfpu.h
│ │ │ │ ├── fp-sse.h
│ │ │ │ ├── fp.h
│ │ │ │ ├── funcs-common.h
│ │ │ │ └── funcs.h
│ │ │ ├── lightning.h
│ │ │ └── ppc/
│ │ │ ├── asm-common.h
│ │ │ ├── asm.h
│ │ │ ├── core-common.h
│ │ │ ├── core.h
│ │ │ ├── fp-common.h
│ │ │ ├── fp.h
│ │ │ ├── funcs-common.h
│ │ │ └── funcs.h
│ │ ├── linklet.c
│ │ ├── list.c
│ │ ├── longdouble/
│ │ │ ├── longdouble.c
│ │ │ └── longdouble.h
│ │ ├── mac_roman.inc
│ │ ├── macdnr.inc
│ │ ├── makeexn
│ │ ├── makex.rkt
│ │ ├── marshal.c
│ │ ├── mk-uchar.rkt
│ │ ├── mkmark.rkt
│ │ ├── mzclpf_decl.inc
│ │ ├── mzclpf_post.inc
│ │ ├── mzclpf_pre.inc
│ │ ├── mzeqchk.inc
│ │ ├── mzhashchk.inc
│ │ ├── mzmark_compenv.inc
│ │ ├── mzmark_compile.inc
│ │ ├── mzmark_env.inc
│ │ ├── mzmark_eval.inc
│ │ ├── mzmark_fun.inc
│ │ ├── mzmark_future.inc
│ │ ├── mzmark_hash.inc
│ │ ├── mzmark_jit.inc
│ │ ├── mzmark_letrec_check.inc
│ │ ├── mzmark_linklet.inc
│ │ ├── mzmark_network.inc
│ │ ├── mzmark_optimize.inc
│ │ ├── mzmark_place.inc
│ │ ├── mzmark_port.inc
│ │ ├── mzmark_portfun.inc
│ │ ├── mzmark_print.inc
│ │ ├── mzmark_read.inc
│ │ ├── mzmark_regexp.inc
│ │ ├── mzmark_resolve.inc
│ │ ├── mzmark_salloc.inc
│ │ ├── mzmark_sema.inc
│ │ ├── mzmark_sfs.inc
│ │ ├── mzmark_string.inc
│ │ ├── mzmark_struct.inc
│ │ ├── mzmark_syntax.inc
│ │ ├── mzmark_thread.inc
│ │ ├── mzmark_type.inc
│ │ ├── mzmark_validate.inc
│ │ ├── mzmarksrc.c
│ │ ├── mzrt.c
│ │ ├── mzrt.h
│ │ ├── mzrt_cas.inc
│ │ ├── mzsj86.c
│ │ ├── mzsj86g.S
│ │ ├── mzsj86w64.S
│ │ ├── mzsjarm64.S
│ │ ├── mzstkchk.h
│ │ ├── network.c
│ │ ├── newrandom.inc
│ │ ├── numarith.c
│ │ ├── number.c
│ │ ├── numcomp.c
│ │ ├── nummacs.h
│ │ ├── numstr.c
│ │ ├── optimize.c
│ │ ├── pc_keys.inc
│ │ ├── place.c
│ │ ├── port.c
│ │ ├── portfun.c
│ │ ├── print.c
│ │ ├── print_vector.inc
│ │ ├── qqsrc.rkt
│ │ ├── random.inc
│ │ ├── ratfloat.inc
│ │ ├── rational.c
│ │ ├── read.c
│ │ ├── regexp.c
│ │ ├── renumber.rkt
│ │ ├── resolve.c
│ │ ├── salloc.c
│ │ ├── schapp.inc
│ │ ├── schcpt.h
│ │ ├── schemef.h
│ │ ├── schemex.h
│ │ ├── schemex.inc
│ │ ├── schemexm.h
│ │ ├── schexn.h
│ │ ├── schgc.h
│ │ ├── schgencat.h
│ │ ├── schmach.h
│ │ ├── schmap.inc
│ │ ├── schminc.h
│ │ ├── schnapp.inc
│ │ ├── schpriv.h
│ │ ├── schrktio.h
│ │ ├── schround.inc
│ │ ├── schrunst.h
│ │ ├── schrx.h
│ │ ├── schuchar.inc
│ │ ├── schustr.inc
│ │ ├── sema.c
│ │ ├── setjmpup.c
│ │ ├── sfs.c
│ │ ├── sort.c
│ │ ├── startup-glue.inc
│ │ ├── startup-select.rkt
│ │ ├── startup.c
│ │ ├── startup.inc
│ │ ├── string.c
│ │ ├── strops.inc
│ │ ├── struct.c
│ │ ├── stypes.h
│ │ ├── symbol.c
│ │ ├── syntax.c
│ │ ├── sysname
│ │ ├── systype.c
│ │ ├── systype.inc
│ │ ├── thread.c
│ │ ├── type.c
│ │ ├── unwind/
│ │ │ ├── libunwind.c
│ │ │ ├── libunwind.h
│ │ │ ├── libunwind_i.h
│ │ │ └── os-linux.h
│ │ ├── validate.c
│ │ └── vector.c
│ ├── uconfig.h
│ ├── utils/
│ │ ├── schiptr.h
│ │ └── splay.c
│ ├── win_tls.inc
│ └── winfig.bat
├── build.zuo
├── buildmain.zuo
├── cify/
│ ├── README.txt
│ ├── arg.rkt
│ ├── debug.rkt
│ ├── free-var.rkt
│ ├── function.rkt
│ ├── generate.rkt
│ ├── id.rkt
│ ├── inline.rkt
│ ├── lambda.rkt
│ ├── literal.rkt
│ ├── main.rkt
│ ├── match.rkt
│ ├── out.rkt
│ ├── prim-name.rkt
│ ├── primitive.rkt
│ ├── prune.rkt
│ ├── ref.rkt
│ ├── return.rkt
│ ├── runstack.rkt
│ ├── simple.rkt
│ ├── sort.rkt
│ ├── state.rkt
│ ├── struct.rkt
│ ├── top-name.rkt
│ ├── union-find.rkt
│ ├── union.rkt
│ ├── unique.rkt
│ └── vehicle.rkt
├── common/
│ ├── check.rkt
│ └── queue.rkt
├── configure
├── cs/
│ ├── .gitignore
│ ├── README.txt
│ ├── absify.rkt
│ ├── absify.ss
│ ├── c/
│ │ ├── Makefile.in
│ │ ├── README.txt
│ │ ├── add-terminator.rkt
│ │ ├── adjust-compress.rkt
│ │ ├── api.h
│ │ ├── boot.c
│ │ ├── boot.h
│ │ ├── build.zuo
│ │ ├── buildmain.zuo
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── convert-to-boot.ss
│ │ ├── cross-serve.ss
│ │ ├── cs_config.h.in
│ │ ├── embed-boot.rkt
│ │ ├── gen-system.rkt
│ │ ├── grmain.c
│ │ ├── main.c
│ │ ├── mk-cross-serve.ss
│ │ ├── path_replace.inc
│ │ ├── same-boot.ss
│ │ ├── scheme-version.zuo
│ │ ├── to-pbchunk.ss
│ │ ├── to-vfasl.ss
│ │ └── winfig.bat
│ ├── chezpart.sls
│ ├── compile-file.ss
│ ├── convert.rkt
│ ├── demo/
│ │ ├── chaperone.ss
│ │ ├── control.ss
│ │ ├── expander.ss
│ │ ├── foreign.ss
│ │ ├── hash.ss
│ │ ├── io.rkt
│ │ ├── io.ss
│ │ ├── linklet.rkt
│ │ ├── linklet.ss
│ │ ├── regexp.rkt
│ │ ├── regexp.rktl
│ │ ├── regexp.ss
│ │ ├── struct.ss
│ │ ├── thread.ss
│ │ └── will.ss
│ ├── expander/
│ │ └── env.ss
│ ├── expander.rkt
│ ├── expander.sls
│ ├── include.ss
│ ├── io/
│ │ └── terminal.ss
│ ├── io.sls
│ ├── known.rkt
│ ├── linklet/
│ │ ├── annotation.ss
│ │ ├── check.ss
│ │ ├── compress.ss
│ │ ├── config.ss
│ │ ├── cross-compile.ss
│ │ ├── performance.ss
│ │ ├── read.ss
│ │ ├── trace.ss
│ │ ├── version.ss
│ │ └── write.ss
│ ├── linklet.sls
│ ├── main/
│ │ ├── eval-all.ss
│ │ └── help.ss
│ ├── main.sps
│ ├── main.zuo
│ ├── place-register.ss
│ ├── primitive/
│ │ ├── extfl.ss
│ │ ├── flfxnum.ss
│ │ ├── foreign.ss
│ │ ├── futures.ss
│ │ ├── internal.ss
│ │ ├── kernel.ss
│ │ ├── linklet.ss
│ │ ├── network.ss
│ │ ├── paramz.ss
│ │ ├── place.ss
│ │ ├── terminal.ss
│ │ └── unsafe.ss
│ ├── regexp.sls
│ ├── rumble/
│ │ ├── arity.ss
│ │ ├── async-callback.ss
│ │ ├── begin0.ss
│ │ ├── boolean.ss
│ │ ├── box.ss
│ │ ├── bytes.ss
│ │ ├── char-range.ss
│ │ ├── char.ss
│ │ ├── check.ss
│ │ ├── constant.ss
│ │ ├── control.ss
│ │ ├── correlated.ss
│ │ ├── datum.ss
│ │ ├── engine.ss
│ │ ├── ephemeron.ss
│ │ ├── equal.ss
│ │ ├── errno-data.ss
│ │ ├── error-adjuster.ss
│ │ ├── error-rewrite.ss
│ │ ├── error.ss
│ │ ├── extfl.ss
│ │ ├── flvector.ss
│ │ ├── foreign.ss
│ │ ├── fsemaphore.ss
│ │ ├── future.ss
│ │ ├── graph.ss
│ │ ├── hamt-stencil.ss
│ │ ├── hamt-vector.ss
│ │ ├── hash-code.ss
│ │ ├── hash.ss
│ │ ├── immutable.ss
│ │ ├── impersonator.ss
│ │ ├── inline.ss
│ │ ├── interrupt.ss
│ │ ├── intmap.ss
│ │ ├── keyword.ss
│ │ ├── list.ss
│ │ ├── lock.ss
│ │ ├── memory.ss
│ │ ├── mpair.ss
│ │ ├── name.ss
│ │ ├── number.ss
│ │ ├── object-name.ss
│ │ ├── parameter.ss
│ │ ├── patricia.ss
│ │ ├── place.ss
│ │ ├── prefab.ss
│ │ ├── procedure.ss
│ │ ├── pthread.ss
│ │ ├── random.ss
│ │ ├── source.ss
│ │ ├── srcloc.ss
│ │ ├── string.ss
│ │ ├── struct.ss
│ │ ├── symbol.ss
│ │ ├── syntax-rule.ss
│ │ ├── system.ss
│ │ ├── thread-cell.ss
│ │ ├── thread-local.ss
│ │ ├── time.ss
│ │ ├── unsafe.ss
│ │ ├── value.ss
│ │ ├── variable.ss
│ │ ├── vector.ss
│ │ ├── version.ss
│ │ ├── virtual-register.ss
│ │ └── will-executor.ss
│ ├── rumble.sls
│ ├── schemified/
│ │ ├── expander.scm
│ │ ├── io.scm
│ │ ├── known.scm
│ │ ├── regexp.scm
│ │ ├── schemify.scm
│ │ └── thread.scm
│ ├── schemify.sls
│ ├── strip.ss
│ └── thread.sls
├── expander/
│ ├── .gitignore
│ ├── README.txt
│ ├── boot/
│ │ ├── core-primitive.rkt
│ │ ├── expobs-primitive.rkt
│ │ ├── handler.rkt
│ │ ├── kernel.rkt
│ │ ├── linklet-primitive.rkt
│ │ ├── load-handler.rkt
│ │ ├── main-primitive.rkt
│ │ ├── place-primitive.rkt
│ │ ├── read-primitive.rkt
│ │ ├── runtime-primitive.rkt
│ │ └── utils-primitive.rkt
│ ├── bootstrap-demo.rkt
│ ├── bootstrap-run.rkt
│ ├── common/
│ │ ├── contract.rkt
│ │ ├── fasl.rkt
│ │ ├── inline.rkt
│ │ ├── intern.rkt
│ │ ├── list-ish.rkt
│ │ ├── make-match.rkt
│ │ ├── memo.rkt
│ │ ├── module-path-intern.rkt
│ │ ├── module-path.rkt
│ │ ├── parameter-like.rkt
│ │ ├── parse-module-path.rkt
│ │ ├── performance.rkt
│ │ ├── phase+space.rkt
│ │ ├── phase.rkt
│ │ ├── prefab.rkt
│ │ ├── promise.rkt
│ │ ├── reflect-hash.rkt
│ │ ├── set.rkt
│ │ ├── small-hash.rkt
│ │ └── struct-star.rkt
│ ├── compile/
│ │ ├── built-in-symbol.rkt
│ │ ├── compiled-in-memory.rkt
│ │ ├── context.rkt
│ │ ├── correlate.rkt
│ │ ├── correlated-linklet.rkt
│ │ ├── eager-instance.rkt
│ │ ├── expr.rkt
│ │ ├── extra-inspector.rkt
│ │ ├── form.rkt
│ │ ├── header.rkt
│ │ ├── instance.rkt
│ │ ├── known.rkt
│ │ ├── linklet-api.rkt
│ │ ├── linklet.rkt
│ │ ├── main.rkt
│ │ ├── module-use.rkt
│ │ ├── module.rkt
│ │ ├── multi-top-data.rkt
│ │ ├── multi-top.rkt
│ │ ├── namespace-scope.rkt
│ │ ├── read-linklet.rkt
│ │ ├── recompile.rkt
│ │ ├── reserved-symbol.rkt
│ │ ├── self-quoting.rkt
│ │ ├── serialize-property.rkt
│ │ ├── serialize-state.rkt
│ │ ├── serialize.rkt
│ │ ├── side-effect.rkt
│ │ ├── top.rkt
│ │ ├── version-bytes.rkt
│ │ └── write-linklet.rkt
│ ├── demo.rkt
│ ├── eval/
│ │ ├── api.rkt
│ │ ├── collection.rkt
│ │ ├── direct.rkt
│ │ ├── dynamic-require.rkt
│ │ ├── load.rkt
│ │ ├── main.rkt
│ │ ├── module-cache.rkt
│ │ ├── module-read.rkt
│ │ ├── module.rkt
│ │ ├── multi-top.rkt
│ │ ├── parameter.rkt
│ │ ├── protect.rkt
│ │ ├── reflect-compiled.rkt
│ │ ├── reflect-name.rkt
│ │ ├── reflect-submodule.rkt
│ │ ├── reflect.rkt
│ │ ├── root-context.rkt
│ │ ├── shadow-directory.rkt
│ │ ├── top-level-instance.rkt
│ │ └── top.rkt
│ ├── expand/
│ │ ├── allowed-context.rkt
│ │ ├── already-expanded.rkt
│ │ ├── append.rkt
│ │ ├── apply-transformer.rkt
│ │ ├── bind-top.rkt
│ │ ├── binding-for-transformer.rkt
│ │ ├── binding-to-module.rkt
│ │ ├── bindings-arity-error.rkt
│ │ ├── body.rkt
│ │ ├── configure.rkt
│ │ ├── context.rkt
│ │ ├── cross-phase.rkt
│ │ ├── def-id.rkt
│ │ ├── definition-context.rkt
│ │ ├── dup-check.rkt
│ │ ├── env.rkt
│ │ ├── expanded+parsed.rkt
│ │ ├── expr.rkt
│ │ ├── free-id-set.rkt
│ │ ├── implicit-property.rkt
│ │ ├── liberal-def-ctx.rkt
│ │ ├── lift-context.rkt
│ │ ├── lift-key.rkt
│ │ ├── local-expand.rkt
│ │ ├── log.rkt
│ │ ├── main.rkt
│ │ ├── missing-module.rkt
│ │ ├── module-path.rkt
│ │ ├── module-prompt.rkt
│ │ ├── module.rkt
│ │ ├── parsed.rkt
│ │ ├── portal-syntax.rkt
│ │ ├── prepare.rkt
│ │ ├── protect.rkt
│ │ ├── provide.rkt
│ │ ├── rebuild.rkt
│ │ ├── reference-record.rkt
│ │ ├── rename-trans.rkt
│ │ ├── require+provide.rkt
│ │ ├── require.rkt
│ │ ├── root-expand-context.rkt
│ │ ├── save-and-restore.rkt
│ │ ├── set-bang-trans.rkt
│ │ ├── stop-ids.rkt
│ │ ├── syntax-id-error.rkt
│ │ ├── syntax-implicit-error.rkt
│ │ ├── syntax-local.rkt
│ │ ├── top-portal-syntax.rkt
│ │ ├── top.rkt
│ │ └── use-site.rkt
│ ├── extract/
│ │ ├── c-encode.rkt
│ │ ├── check-and-report.rkt
│ │ ├── decompile.rkt
│ │ ├── defn-known.rkt
│ │ ├── defn.rkt
│ │ ├── export.rkt
│ │ ├── flatten.rkt
│ │ ├── gc-defn.rkt
│ │ ├── get-linklet.rkt
│ │ ├── global.rkt
│ │ ├── known-primitive.rkt
│ │ ├── link.rkt
│ │ ├── linklet-info.rkt
│ │ ├── linklet.rkt
│ │ ├── main.rkt
│ │ ├── module.rkt
│ │ ├── needed.rkt
│ │ ├── primitive-table.rkt
│ │ ├── prune-name.rkt
│ │ ├── save-and-report.rkt
│ │ ├── simplify-defn.rkt
│ │ ├── symbol.rkt
│ │ ├── underscore.rkt
│ │ └── variable.rkt
│ ├── host/
│ │ ├── correlate-syntax.rkt
│ │ ├── correlate.rkt
│ │ ├── linklet.rkt
│ │ ├── reader-syntax.rkt
│ │ ├── string-to-number.rkt
│ │ └── syntax-to-reader-syntax.rkt
│ ├── info.rkt
│ ├── main.rkt
│ ├── main.zuo
│ ├── namespace/
│ │ ├── api-module.rkt
│ │ ├── api.rkt
│ │ ├── attach.rkt
│ │ ├── core.rkt
│ │ ├── inspector.rkt
│ │ ├── module.rkt
│ │ ├── namespace.rkt
│ │ ├── primitive-module.rkt
│ │ ├── provide-for-api.rkt
│ │ ├── provided.rkt
│ │ ├── registry.rkt
│ │ └── variable-reference.rkt
│ ├── read/
│ │ ├── accum-string.rkt
│ │ ├── api.rkt
│ │ ├── box.rkt
│ │ ├── char.rkt
│ │ ├── closer.rkt
│ │ ├── coerce-key.rkt
│ │ ├── coerce.rkt
│ │ ├── config.rkt
│ │ ├── constant.rkt
│ │ ├── consume.rkt
│ │ ├── delimiter.rkt
│ │ ├── demo.rkt
│ │ ├── digit.rkt
│ │ ├── error.rkt
│ │ ├── extension.rkt
│ │ ├── fixnum-flonum.rkt
│ │ ├── graph.rkt
│ │ ├── hash.rkt
│ │ ├── indentation.rkt
│ │ ├── language.rkt
│ │ ├── location.rkt
│ │ ├── main.rkt
│ │ ├── number.rkt
│ │ ├── parameter.rkt
│ │ ├── parse-case.rkt
│ │ ├── primitive-parameter.rkt
│ │ ├── quote.rkt
│ │ ├── readtable-parameter.rkt
│ │ ├── readtable.rkt
│ │ ├── regexp.rkt
│ │ ├── sequence.rkt
│ │ ├── special-comment.rkt
│ │ ├── special.rkt
│ │ ├── string.rkt
│ │ ├── struct.rkt
│ │ ├── symbol-or-number.rkt
│ │ ├── vector.rkt
│ │ ├── whitespace.rkt
│ │ └── wrap.rkt
│ ├── run/
│ │ ├── bootstrap.rkt
│ │ ├── cache.rkt
│ │ ├── correlated-to-host-syntax.rkt
│ │ ├── linklet-operation.rkt
│ │ ├── linklet.rkt
│ │ ├── status.rkt
│ │ └── submodule.rkt
│ ├── run.rkt
│ └── syntax/
│ ├── api-taint.rkt
│ ├── api.rkt
│ ├── binding-set.rkt
│ ├── binding-table.rkt
│ ├── binding.rkt
│ ├── bulk-binding.rkt
│ ├── cache.rkt
│ ├── datum-map.rkt
│ ├── debug.rkt
│ ├── error.rkt
│ ├── fallback.rkt
│ ├── full-binding.rkt
│ ├── like-ambiguous-binding.rkt
│ ├── local-binding.rkt
│ ├── mapped-name.rkt
│ ├── match.rkt
│ ├── module-binding.rkt
│ ├── original.rkt
│ ├── preserved.rkt
│ ├── property.rkt
│ ├── read-syntax.rkt
│ ├── scope.rkt
│ ├── serialize.rkt
│ ├── space-scope.rkt
│ ├── srcloc.rkt
│ ├── syntax.rkt
│ ├── taint-object.rkt
│ ├── taint.rkt
│ ├── to-list.rkt
│ ├── track.rkt
│ └── weaker-inspector.rkt
├── get-config.rkt
├── io/
│ ├── README.txt
│ ├── bootstrap-main.rkt
│ ├── common/
│ │ ├── bytes-no-nuls.rkt
│ │ ├── check.rkt
│ │ ├── class.rkt
│ │ ├── internal-error.rkt
│ │ ├── resource.rkt
│ │ └── set-two.rkt
│ ├── converter/
│ │ ├── encoding.rkt
│ │ ├── main.rkt
│ │ └── utf-8.rkt
│ ├── demo.rkt
│ ├── envvar/
│ │ ├── main.rkt
│ │ └── string.rkt
│ ├── error/
│ │ ├── main.rkt
│ │ ├── message.rkt
│ │ └── value-string.rkt
│ ├── file/
│ │ ├── error.rkt
│ │ ├── host.rkt
│ │ ├── identity.rkt
│ │ ├── main.rkt
│ │ ├── parameter.rkt
│ │ ├── permissions.rkt
│ │ └── stat.rkt
│ ├── filesystem-change-evt/
│ │ └── main.rkt
│ ├── foreign/
│ │ └── main.rkt
│ ├── format/
│ │ ├── main.rkt
│ │ └── printf.rkt
│ ├── host/
│ │ ├── bootstrap-rktio.rkt
│ │ ├── bootstrap-thread.rkt
│ │ ├── bootstrap.rkt
│ │ ├── error.rkt
│ │ ├── place-local.rkt
│ │ ├── processor-count.rkt
│ │ ├── pthread.rkt
│ │ ├── rktio.rkt
│ │ └── thread.rkt
│ ├── locale/
│ │ ├── cache.rkt
│ │ ├── collate.rkt
│ │ ├── main.rkt
│ │ ├── nul-char.rkt
│ │ ├── parameter.rkt
│ │ ├── recase.rkt
│ │ ├── string.rkt
│ │ └── ucs-4.rkt
│ ├── logger/
│ │ ├── demo.rkt
│ │ ├── level.rkt
│ │ ├── lock.rkt
│ │ ├── logger.rkt
│ │ ├── main.rkt
│ │ ├── receiver.rkt
│ │ └── wanted.rkt
│ ├── machine/
│ │ └── main.rkt
│ ├── main.rkt
│ ├── main.zuo
│ ├── network/
│ │ ├── address-cache.rkt
│ │ ├── address.rkt
│ │ ├── check.rkt
│ │ ├── error.rkt
│ │ ├── evt.rkt
│ │ ├── main.rkt
│ │ ├── port-number.rkt
│ │ ├── tcp-accept.rkt
│ │ ├── tcp-address.rkt
│ │ ├── tcp-connect.rkt
│ │ ├── tcp-listen.rkt
│ │ ├── tcp-port.rkt
│ │ ├── tcp.rkt
│ │ ├── udp-multicast.rkt
│ │ ├── udp-receive.rkt
│ │ ├── udp-send.rkt
│ │ ├── udp-socket.rkt
│ │ └── udp.rkt
│ ├── path/
│ │ ├── api.rkt
│ │ ├── build.rkt
│ │ ├── check-path.rkt
│ │ ├── check.rkt
│ │ ├── cleanse.rkt
│ │ ├── complete.rkt
│ │ ├── directory-path.rkt
│ │ ├── ffi.rkt
│ │ ├── main.rkt
│ │ ├── parameter.rkt
│ │ ├── path.rkt
│ │ ├── protect.rkt
│ │ ├── relativity.rkt
│ │ ├── sep.rkt
│ │ ├── simplify-nofs.rkt
│ │ ├── simplify.rkt
│ │ ├── split.rkt
│ │ ├── string.rkt
│ │ ├── system.rkt
│ │ ├── user-relative.rkt
│ │ └── windows.rkt
│ ├── port/
│ │ ├── buffer-mode.rkt
│ │ ├── bytes-input.rkt
│ │ ├── bytes-output.rkt
│ │ ├── bytes-port.rkt
│ │ ├── check.rkt
│ │ ├── close.rkt
│ │ ├── commit-manager.rkt
│ │ ├── commit-port.rkt
│ │ ├── count.rkt
│ │ ├── custom-input-port.rkt
│ │ ├── custom-output-port.rkt
│ │ ├── custom-port.rkt
│ │ ├── evt.rkt
│ │ ├── fd-port.rkt
│ │ ├── file-identity.rkt
│ │ ├── file-lock.rkt
│ │ ├── file-port.rkt
│ │ ├── file-position.rkt
│ │ ├── file-stat.rkt
│ │ ├── file-stream.rkt
│ │ ├── file-truncate.rkt
│ │ ├── flush-output.rkt
│ │ ├── handle
Showing preview only (1,043K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (11645 symbols across 585 files)
FILE: pkgs/compiler-test/tests/compiler/embed/embed-me8.c
function Scheme_Object (line 3) | Scheme_Object *ex(int argc, Scheme_Object **argv)
function Scheme_Object (line 8) | Scheme_Object *scheme_reload(Scheme_Env *env)
function Scheme_Object (line 22) | Scheme_Object *scheme_initialize(Scheme_Env *env)
function Scheme_Object (line 28) | Scheme_Object *scheme_module_name()
FILE: pkgs/ffi2/ffi2/tests/ffi2.c
type intfloat (line 11) | typedef struct {
type intfloat (line 17) | typedef intfloat (*intfloat_build_t)(int i, float f);
function EXPORT (line 19) | EXPORT int int_sum(int a, int b) {
function EXPORT (line 23) | EXPORT double double_sum(double a, double b) {
function EXPORT (line 27) | EXPORT double intfloat_sum(intfloat n) {
function EXPORT (line 31) | EXPORT double intfloat_sum_content(intfloat *n) {
function EXPORT (line 35) | EXPORT intfloat intfloat_build(int i, float f) {
function EXPORT (line 40) | EXPORT double double_built(double_build_t proc) {
function EXPORT (line 44) | EXPORT double multiply_built(double_build_t proc, int n) {
function EXPORT (line 53) | EXPORT double multiply_built2(double_build_t proc, double_build_t proc2,...
function EXPORT (line 63) | EXPORT double intfloat_sum_built(intfloat_build_t proc) {
function EXPORT (line 67) | EXPORT int add1_and_errno(int v) {
function EXPORT (line 72) | EXPORT void sleep_seconds(int n) {
FILE: pkgs/net-test/tests/net/http-client/rst-server-constants.c
function main (line 4) | int main(void) {
FILE: pkgs/racket-benchmarks/tests/racket/benchmarks/rx/python_prefix.py
function test (line 5) | def test(rx, input, iterations):
FILE: pkgs/racket-index/scribblings/main/private/root-info.js
function GoToRootPath (line 10) | function GoToRootPath() {
function DisableRootPath (line 14) | function DisableRootPath() {
FILE: pkgs/racket-index/scribblings/main/private/search-merge.js
function convert_span (line 16) | function convert_span(x) {
function convert (line 29) | function convert(line) {
FILE: pkgs/racket-index/scribblings/main/private/search.js
function MakePref (line 33) | function MakePref(label, input) {
function PrefInputArgs (line 38) | function PrefInputArgs(name, desc) {
function MakeChevrons (line 49) | function MakeChevrons(num, middle) {
function MakeContextQueryItem (line 67) | function MakeContextQueryItem(qry, desc) {
function MakeLanguageFamilySuggestions (line 78) | function MakeLanguageFamilySuggestions() {
function MakeSVGRef (line 102) | function MakeSVGRef(img, padding) {
function MakeIcon (line 107) | function MakeIcon(img,label,title,action) {
function MakePageIcon (line 118) | function MakePageIcon(img,label) {
function InitializeSearch (line 122) | function InitializeSearch() {
function AdjustMainLink (line 290) | function AdjustMainLink(famroot) {
function makeProtoSearchResult (line 301) | function makeProtoSearchResult() {
function AdjustResultsNum (line 307) | function AdjustResultsNum() {
function Compare (line 350) | function Compare(pat, str) {
function MaxCompares (line 357) | function MaxCompares(pat, strs) {
function SortByLength (line 367) | function SortByLength(x, y) {
function CompileWordCompare (line 375) | function CompileWordCompare(term) {
function NormalizeSpaces (line 436) | function NormalizeSpaces(str) {
function SanitizeHTML (line 441) | function SanitizeHTML(str) {
function UrlToManual (line 453) | function UrlToManual(url) {
function CompareKey (line 474) | function CompareKey(term, x){
function CompileTerm (line 497) | function CompileTerm(term) {
function CompileAndTerms (line 570) | function CompileAndTerms(preds) {
function CompileOrTerms (line 581) | function CompileOrTerms(preds) {
function CompileTermsR (line 592) | function CompileTermsR(terms, nested) {
function CompileTerms (line 610) | function CompileTerms(terms, nested) {
function Id (line 615) | function Id(x) {
function MakeShowProgress (line 635) | function MakeShowProgress() {
function packageAndOrderCompare (line 643) | function packageAndOrderCompare(a, b) {
function languageFamilyCompare (line 673) | function languageFamilyCompare(a, b) {
function splitWithQuotes (line 686) | function splitWithQuotes(input) {
function Search (line 692) | function Search(data, term, is_pre, K) {
function GetContextHTML (line 752) | function GetContextHTML() {
function GetContextClearerHTML (line 758) | function GetContextClearerHTML(text) {
function ContextFilter (line 769) | function ContextFilter() {
function DoDelayedSearch (line 805) | function DoDelayedSearch() {
function DoSearch (line 812) | function DoSearch() {
function UncompactUrl (line 834) | function UncompactUrl(url) {
function UncompactHtml (line 838) | function UncompactHtml(x) {
function StripQArg (line 853) | function StripQArg(args) {
function UpdateResults (line 865) | function UpdateResults() {
function HandleKeyEvent (line 1013) | function HandleKeyEvent(event) {
function NewQuery (line 1063) | function NewQuery(node,label) {
function RefineQuery (line 1083) | function RefineQuery(node) {
function TogglePanel (line 1098) | function TogglePanel(name) {
function HidePrefs (line 1125) | function HidePrefs(event) {
function SetContextQuery (line 1133) | function SetContextQuery(inp,label) {
function SetShowManuals (line 1151) | function SetShowManuals(inp) {
function SetShowManualTitles (line 1160) | function SetShowManualTitles(inp) {
function SetResultsNum (line 1169) | function SetResultsNum(inp) {
function SetTypeDelay (line 1181) | function SetTypeDelay(inp) {
function SetHighlightColor (line 1191) | function SetHighlightColor(inp) {
function GotoDocIndex (line 1207) | function GotoDocIndex(ver, name) {
FILE: pkgs/racket-test-core/tests/racket/foreign-test.c
type byte (line 8) | typedef unsigned char byte;
function X (line 16) | X void* return_null() { return NULL; }
function X (line 18) | X int add1_int_int (int x) { return x + 1; }
function X (line 19) | X int add1_byte_int (byte x) { return x + 1; }
function X (line 20) | X byte add1_int_byte (int x) { return x + 1; }
function X (line 21) | X byte add1_byte_byte (byte x) { return x + 1; }
function X (line 22) | X float add1_float_float (float x) { return x + 1; }
function X (line 23) | X double add1_double_double (double x) { return x + 1; }
function X (line 24) | X int decimal_int_int_int (int x, int y) { return 10*x + y; }
function X (line 25) | X int decimal_byte_int_int (byte x, int y) { return 10*x + y; }
function X (line 26) | X int decimal_int_byte_int (int x, byte y) { return 10*x + y; }
function X (line 27) | X int decimal_byte_byte_int (byte x, byte y) { return 10*x + y; }
function X (line 28) | X byte decimal_int_int_byte (int x, int y) { return 10*x + y; }
function X (line 29) | X byte decimal_byte_int_byte (byte x, int y) { return 10*x + y; }
function X (line 30) | X byte decimal_int_byte_byte (int x, byte y) { return 10*x + y; }
function X (line 31) | X byte decimal_byte_byte_byte (byte x, byte y) { return 10*x + y; }
function X (line 33) | X int callback3_int_int_int (int(*f)(int)) { if (f) return f(3);...
function X (line 34) | X int callback3_byte_int_int (int(*f)(byte)) { return f(3); }
function X (line 35) | X int callback3_short_int_int (int(*f)(short)) { return f(3); }
function X (line 36) | X int callback3_int_byte_int (byte(*f)(int)) { return f(3); }
function X (line 37) | X int callback3_int_short_int (short(*f)(int)) { return f(3); }
function X (line 38) | X int callback3_byte_byte_int (byte(*f)(byte)) { return f(3); }
function X (line 39) | X int callback3_short_short_int (short(*f)(short)) { return f(3); }
function X (line 40) | X byte callback3_int_int_byte (int(*f)(int)) { return f(3); }
function callback3_int_int_short (line 41) | X short callback3_int_int_short (int(*f)(int)) { return f(3); }
function X (line 42) | X byte callback3_byte_int_byte (int(*f)(byte)) { return f(3); }
function callback3_short_int_short (line 43) | X short callback3_short_int_short (int(*f)(short)) { return f(3); }
function X (line 44) | X byte callback3_int_byte_byte (byte(*f)(int)) { return f(3); }
function callback3_int_short_short (line 45) | X short callback3_int_short_short (short(*f)(int)) { return f(3); }
function X (line 46) | X byte callback3_byte_byte_byte (byte(*f)(byte)) { return f(3); }
function callback3_short_short_short (line 47) | X short callback3_short_short_short(short(*f)(short)) { return f(3); }
function X (line 48) | X float callback3_float_float_float(float(*f)(float)) { return f(3.0); }
function X (line 49) | X double callback3_double_double_double(double(*f)(double)) { return f(...
function X (line 52) | X int curry_ret_int_int (int x) { return g1 + x; }
function X (line 53) | X int curry_ret_byte_int (byte x) { return g1 + x; }
function X (line 54) | X byte curry_ret_int_byte (int x) { return g1 + x; }
function X (line 55) | X byte curry_ret_byte_byte (byte x) { return g1 + x; }
function X (line 56) | X void* curry_int_int_int (int x) { g1 = x; return &curry_ret_int_in...
function X (line 57) | X void* curry_byte_int_int (byte x) { g1 = x; return &curry_ret_int_in...
function X (line 58) | X void* curry_int_byte_int (int x) { g1 = x; return &curry_ret_byte_i...
function X (line 59) | X void* curry_byte_byte_int (byte x) { g1 = x; return &curry_ret_byte_i...
function X (line 60) | X void* curry_int_int_byte (int x) { g1 = x; return &curry_ret_int_by...
function X (line 61) | X void* curry_byte_int_byte (byte x) { g1 = x; return &curry_ret_int_by...
function X (line 62) | X void* curry_int_byte_byte (int x) { g1 = x; return &curry_ret_byte_b...
function X (line 63) | X void* curry_byte_byte_byte(byte x) { g1 = x; return &curry_ret_byte_b...
function X (line 66) | X int ho_return(int x) { return g2 + x; }
function X (line 67) | X void* ho(int(*f)(int), int x) { g2 = f(x); return ho_return; }
function X (line 70) | X int use_g3(int x) { return ((int(*)(int))g3)(x); }
function X (line 75) | X int hoho(int x, int(*(*f)(int))(int)) { return (f(x+1))(x-1); }
function X (line 77) | X int grab7th(void *p) { return ((char *)p)[7]; }
function X (line 79) | X char *second_string(char **x) { return x[1]; }
function X (line 81) | X void reverse_strings(char **x) {
function X (line 95) | X int vec4(int x[]) { return x[0]+x[1]+x[2]+x[3]; }
type char_int (line 97) | typedef struct _char_int { unsigned char a; int b; } char_int;
function X (line 98) | X int charint_to_int(char_int x) { return ((int)x.a) + x.b; }
function X (line 99) | X char_int int_to_charint(int x) {
function X (line 105) | X char_int charint_swap(char_int x) {
function X (line 113) | X void grab_callback(int(*f)(int)) { grabbed_callback = f; }
function X (line 114) | X int use_grabbed_callback(int n) { return grabbed_callback(n); }
function X (line 118) | X char* increment_c_array(c7_array c) {
type char7 (line 125) | struct char7 {
type int_char7_int (line 128) | struct int_char7_int {
function int_char7_int (line 134) | int_char7_int increment_ic7i(struct int_char7_int v)
function int_char7_int (line 146) | int_char7_int ic7i_cb(struct int_char7_int v,
function X (line 166) | X char* increment_2d_array(char c[3][7]) {
function X (line 176) | X int with_2d_array_cb(void (*cb)(char c[3][7]))
function borl (line 204) | borl increment_borl(int which, union borl v)
function iord (line 222) | iord increment_iord(int which, union iord v)
function dorf (line 240) | dorf increment_dorf(int which, union dorf v)
function dor2f (line 258) | dor2f increment_dor2f(int which, union dor2f v)
type int_char7_int (line 273) | struct int_char7_int
function ic7iorl (line 277) | ic7iorl increment_ic7iorl(int which, union ic7iorl v)
function X (line 309) | X void** foreign_thread_callback_setup(test_callback_t f,
function X (line 328) | X int foreign_thread_callback_check_done(void **d)
function X (line 333) | X void *foreign_thread_callback_finish(void **d)
function X (line 347) | X void* foreign_thread_callback(test_callback_t f,
function X (line 363) | X int check_multiple_of_ten(int v) {
function X (line 373) | X int sum_after_callback(int *a, int n, void (*cb)()) {
function varargs_check (line 386) | X long varargs_check(int init, int n, ...) {
function X (line 422) | X int callback_hungry(int (*f)(void*)) {
function X (line 427) | X void underscore_variable() {
function X (line 431) | X void camelCaseVariable() {
function X (line 435) | X void PascalCaseVariable() {
FILE: pkgs/racket-test-core/tests/racket/unix_check.c
function main (line 8) | int main()
FILE: pkgs/racket-test/tests/openssl/channel-binding/server.c
function main (line 46) | int main(void)
function print_channel_binding (line 125) | static void print_channel_binding(gnutls_session_t session) {
FILE: pkgs/racket-test/tests/racket/embed-in-c.c
function run (line 7) | static int run(Scheme_Env *e, int argc, char *argv[])
function main (line 92) | int main(int argc, char *argv[])
FILE: racket/src/ChezScheme/c/alloc.c
function S_alloc_init (line 23) | void S_alloc_init(void) {
function S_protect (line 98) | void S_protect(ptr *p) {
function S_reset_scheme_stack (line 105) | void S_reset_scheme_stack(ptr tc, iptr n) {
function ptr (line 140) | ptr S_compute_bytes_allocated(ptr xg, ptr xs) {
function ptr (line 204) | ptr S_bytes_finalized() {
function maybe_queue_fire_collector (line 209) | static void maybe_queue_fire_collector(thread_gc *tgc) {
function S_maybe_fire_collector (line 214) | void S_maybe_fire_collector(thread_gc *tgc) {
function close_off_segment (line 224) | static void close_off_segment(thread_gc *tgc, ptr old, ptr base_loc, ptr...
function ptr (line 255) | ptr S_find_more_gc_room(thread_gc *tgc, ISPC s, IGEN g, iptr n, ptr old) {
function S_close_off_thread_local_segment (line 308) | void S_close_off_thread_local_segment(ptr tc, ISPC s, IGEN g) {
function S_reset_allocation_pointer (line 331) | void S_reset_allocation_pointer(ptr tc) {
function S_record_new_dirty_card (line 358) | void S_record_new_dirty_card(thread_gc *tgc, ptr *ppp, IGEN to_g) {
function FORCEINLINE (line 378) | FORCEINLINE void mark_segment_dirty(seginfo *si, IGEN from_g, IGEN to_g) {
function S_dirty_set (line 397) | void S_dirty_set(ptr *loc, ptr x) {
function S_mark_card_dirty (line 421) | void S_mark_card_dirty(uptr card, IGEN to_g) {
function S_scan_dirty (line 434) | void S_scan_dirty(ptr *p, ptr *endp) {
function S_scan_remembered_set (line 467) | void S_scan_remembered_set(void) {
function S_get_more_room (line 501) | void S_get_more_room(void) {
function ptr (line 514) | ptr S_get_more_room_help(ptr tc, uptr ap, uptr type, uptr size) {
function ptr (line 561) | ptr S_list_bits_ref(ptr p) {
function S_list_bits_set (line 571) | void S_list_bits_set(ptr p, iptr bits) {
function ptr (line 601) | ptr S_cons_in(ptr tc, ISPC s, IGEN g, ptr car, ptr cdr) {
function ptr (line 610) | ptr Scons(ptr car, ptr cdr) {
function ptr (line 620) | ptr S_ephemeron_cons_in(IGEN gen, ptr car, ptr cdr) {
function ptr (line 633) | ptr S_box2(ptr ref, IBOOL immobile) {
function ptr (line 646) | ptr Sbox(ptr ref) {
function ptr (line 650) | ptr S_symbol(ptr name) {
function ptr (line 665) | ptr S_rational(ptr n, ptr d) {
function ptr (line 679) | ptr S_tlc(ptr keyval, ptr ht, ptr next) {
function ptr (line 691) | ptr S_vector_in(ptr tc, ISPC s, IGEN g, iptr n) {
function ptr (line 705) | ptr S_vector(iptr n) {
function ptr (line 722) | ptr S_fxvector(iptr n) {
function ptr (line 739) | ptr S_flvector(iptr n) {
function ptr (line 756) | ptr S_bytevector(iptr n) {
function ptr (line 760) | ptr S_bytevector2(ptr tc, iptr n, ISPC spc) {
function ptr (line 777) | ptr S_null_immutable_vector(void) {
function ptr (line 785) | ptr S_null_immutable_bytevector(void) {
function ptr (line 793) | ptr S_null_immutable_string(void) {
function ptr (line 801) | static ptr stencil_vector(uptr type, uptr mask) {
function ptr (line 814) | ptr S_stencil_vector(uptr mask) {
function ptr (line 818) | ptr S_system_stencil_vector(uptr mask) {
function ptr (line 822) | ptr S_record(iptr n) {
function ptr (line 830) | ptr Srecord_type(ptr r) {
function ptr (line 834) | ptr Srecord_type_parent(ptr rtd) {
function uptr (line 838) | uptr Srecord_type_size(ptr rtd) {
function Srecord_type_uniformp (line 842) | int Srecord_type_uniformp(ptr rtd) {
function ptr (line 846) | ptr S_closure(ptr cod, iptr n) {
function ptr (line 856) | ptr S_mkcontinuation(ISPC s, IGEN g, ptr nuate, ptr stack, iptr length, ...
function ptr (line 873) | ptr Sflonum(double x) {
function ptr (line 882) | ptr S_inexactnum(double rp, double ip) {
function ptr (line 893) | ptr S_thread(ptr tc) {
function ptr (line 902) | ptr S_exactnum(ptr a, ptr b) {
function ptr (line 916) | ptr S_string(const char *s, iptr n) {
function ptr (line 954) | ptr Sstring_utf8(const char *s, iptr n) {
function ptr (line 1073) | ptr S_bignum(ptr tc, iptr n, IBOOL sign) {
function ptr (line 1088) | ptr S_code(ptr tc, iptr type, iptr n) {
function ptr (line 1102) | ptr S_relocation_table(iptr n) {
function ptr (line 1112) | ptr S_weak_cons(ptr car, ptr cdr) {
function ptr (line 1117) | ptr S_phantom_bytevector(uptr sz) {
function S_phantom_bytevector_adjust (line 1131) | void S_phantom_bytevector_adjust(ptr ph, uptr new_sz) {
FILE: racket/src/ChezScheme/c/atomic.h
function FORCEINLINE (line 79) | FORCEINLINE int COMPARE_AND_SWAP_PTR(volatile void *addr, void *old_val,...
function FORCEINLINE (line 97) | FORCEINLINE int COMPARE_AND_SWAP_PTR(volatile void *addr, void *old_val,...
function FORCEINLINE (line 123) | FORCEINLINE int COMPARE_AND_SWAP_PTR(volatile void *addr, void *old_val,...
function FORCEINLINE (line 132) | FORCEINLINE int COMPARE_AND_SWAP_PTR(volatile void *addr, void *old_val,...
FILE: racket/src/ChezScheme/c/clearcache.c
function INT (line 36) | INT S_flushcache_max_gap(void) {
function S_doflush (line 40) | void S_doflush(uptr start, uptr end) {
function S_machine_init (line 60) | void S_machine_init(void) {
FILE: racket/src/ChezScheme/c/compress-io.c
type lz4File_out (line 58) | typedef struct lz4File_out_r {
type lz4File_in (line 68) | typedef struct lz4File_in_r {
type sized_buffer (line 80) | typedef struct sized_buffer_r {
function INT (line 94) | INT S_zlib_compress_level(INT compress_level) {
function glzFile (line 111) | static glzFile glzdopen_output_gz(INT fd, INT compress_level) {
function INT (line 140) | INT S_lz4_compress_level(INT compress_level) {
function glzFile (line 157) | static glzFile glzdopen_output_lz4(INT fd, INT compress_level) {
function glzFile (line 184) | glzFile S_glzdopen_output(INT fd, INT compress_format, INT compress_leve...
function glzFile (line 196) | static glzFile glzdopen_input_gz(INT fd) {
function glzFile (line 213) | static glzFile glzdopen_input_lz4(INT fd, off_t init_pos) {
function glzFile (line 250) | glzFile S_glzdopen_input(INT fd) {
function glzFile (line 287) | glzFile S_glzopen_input(const char *path) {
function glzFile (line 299) | glzFile S_glzopen_input_w(const wchar_t *path) {
function IBOOL (line 311) | IBOOL S_glzdirect(glzFile glz) {
function INT (line 318) | INT S_glzclose(glzFile glz) {
function INT (line 362) | static INT glzread_lz4(lz4File_in *lz4, void *buffer, UINT count) {
function INT (line 454) | INT S_glzread(glzFile glz, void *buffer, UINT count) {
function INT (line 466) | static INT glzemit_lz4(lz4File_out *lz4, void *buffer, UINT count) {
function INT (line 506) | static INT glzwrite_lz4(lz4File_out *lz4, void *buffer, UINT count) {
function INT (line 526) | INT S_glzwrite(glzFile glz, void *buffer, UINT count) {
function S_glzseek (line 538) | long S_glzseek(glzFile glz, long offset, INT whence) {
function INT (line 591) | INT S_glzgetc(glzFile glz) {
function INT (line 611) | INT S_glzungetc(INT c, glzFile glz) {
function INT (line 637) | INT S_glzrewind(glzFile glz) {
function S_glzerror (line 641) | void S_glzerror(glzFile glz, INT *errnum) {
function S_glzclearerr (line 658) | void S_glzclearerr(glzFile glz) {
FILE: racket/src/ChezScheme/c/compress-io.h
type glzFile_r (line 17) | struct glzFile_r {
FILE: racket/src/ChezScheme/c/expeditor.c
function IBOOL (line 60) | static IBOOL s_ee_init_term(iptr hIn, iptr hOut) {
function ptr (line 88) | static ptr s_ee_read_char(IBOOL blockp) {
function ptr (line 324) | static ptr s_ee_get_screen_size(void) {
function s_ee_raw (line 335) | static void s_ee_raw(void) {
function s_ee_noraw (line 343) | static void s_ee_noraw(void) {
function s_ee_postoutput (line 349) | static void s_ee_postoutput(void) { }
function s_ee_nopostoutput (line 350) | static void s_ee_nopostoutput(void) { }
function s_ee_signal (line 352) | static void s_ee_signal(void) {
function s_ee_nosignal (line 358) | static void s_ee_nosignal(void) {
function s_ee_enter_am_mode (line 364) | static void s_ee_enter_am_mode(void) { return; }
function s_ee_exit_am_mode (line 366) | static void s_ee_exit_am_mode(void) { return; }
function s_ee_pause (line 368) | static void s_ee_pause(void) { return; }
function s_ee_nanosleep (line 370) | static void s_ee_nanosleep(U32 secs, U32 nanosecs) {
function s_ee_up (line 374) | static void s_ee_up(I32 n) {
function s_ee_down (line 391) | static void s_ee_down(I32 n) {
function s_ee_left (line 408) | static void s_ee_left(I32 n) {
function s_ee_right (line 425) | static void s_ee_right(I32 n) {
function s_ee_clear_eol (line 442) | static void s_ee_clear_eol(void) {
function s_ee_clear_eos (line 465) | static void s_ee_clear_eos(void) {
function s_ee_clear_screen (line 490) | static void s_ee_clear_screen(void) {
function s_ee_scroll_reverse (line 518) | static void s_ee_scroll_reverse(I32 n) {
function s_ee_bell (line 565) | static void s_ee_bell(void) {
function s_ee_carriage_return (line 569) | static void s_ee_carriage_return(void) {
function s_ee_line_feed (line 585) | static void s_ee_line_feed(void) {
function ptr (line 622) | static ptr s_ee_get_clipboard(void) {
function s_ee_write_char (line 642) | static int s_ee_write_char(wchar_t c) {
function s_ee_char_width (line 661) | static int s_ee_char_width(UNUSED wchar_t c)
function s_ee_set_color (line 710) | static void s_ee_set_color(int color_id, IBOOL background) {
function locale_t (line 779) | static locale_t uselocale_alt(locale_t l) {
function handle_sigwinch (line 796) | static void handle_sigwinch(UNUSED int sig) {
function IBOOL (line 811) | static IBOOL s_ee_init_term(iptr in, iptr out) {
function ptr (line 899) | static ptr s_ee_read_char(IBOOL blockp) {
function ptr (line 964) | static ptr s_ee_get_screen_size(void) {
function eeputc (line 1006) | static int eeputc(tputsputcchar c) {
type termios (line 1010) | struct termios
function attr_error (line 1012) | static void attr_error (const char *who) {
function get_stdin_attr (line 1024) | static void get_stdin_attr (struct termios *t, const char *who) {
function set_stdin_attr (line 1031) | static void set_stdin_attr (struct termios *t, const char *who) {
function s_ee_raw (line 1038) | static void s_ee_raw(void) {
function s_ee_noraw (line 1059) | static void s_ee_noraw(void) {
function s_ee_postoutput (line 1063) | static void s_ee_postoutput(void) {
function s_ee_nopostoutput (line 1072) | static void s_ee_nopostoutput(void) {
function s_ee_signal (line 1081) | static void s_ee_signal(void) {
function s_ee_nosignal (line 1090) | static void s_ee_nosignal(void) {
function s_ee_enter_am_mode (line 1099) | static void s_ee_enter_am_mode(void) {
function s_ee_exit_am_mode (line 1113) | static void s_ee_exit_am_mode(void) {
function s_ee_pause (line 1119) | static void s_ee_pause(void) { /* used to handle ^Z */
function s_ee_nanosleep (line 1124) | static void s_ee_nanosleep(U32 secs, U32 nanosecs) {
function s_ee_up (line 1131) | static void s_ee_up(I32 n) {
function s_ee_down (line 1135) | static void s_ee_down(I32 n) {
function s_ee_left (line 1139) | static void s_ee_left(I32 n) {
function s_ee_right (line 1143) | static void s_ee_right(I32 n) {
function s_ee_clear_eol (line 1147) | static void s_ee_clear_eol(void) {
function s_ee_clear_eos (line 1151) | static void s_ee_clear_eos(void) {
function s_ee_clear_screen (line 1155) | static void s_ee_clear_screen(void) {
function s_ee_scroll_reverse (line 1159) | static void s_ee_scroll_reverse(I32 n) {
function s_ee_bell (line 1171) | static void s_ee_bell(void) {
function s_ee_carriage_return (line 1175) | static void s_ee_carriage_return(void) {
function s_ee_line_feed (line 1185) | static void s_ee_line_feed(void) {
function ptr (line 1196) | static ptr s_ee_get_clipboard(void) {
function s_ee_write_char (line 1325) | static int s_ee_write_char(wchar_t wch) {
function s_ee_char_width (line 1348) | static int s_ee_char_width(wchar_t wch)
function s_ee_set_color (line 1365) | static void s_ee_set_color(int color_id, IBOOL background) {
function s_ee_flush (line 1388) | static void s_ee_flush(void) {
function ptr (line 1392) | static ptr s_ee_pending_winch() {
function S_expeditor_init (line 1400) | void S_expeditor_init(void) {
FILE: racket/src/ChezScheme/c/externs.h
type exception (line 390) | struct exception
type timespec (line 421) | struct timespec
type STATBUF (line 470) | struct STATBUF
FILE: racket/src/ChezScheme/c/fasl.c
function S_fasl_init (line 283) | void S_fasl_init(void) {
function S_fasl_init_fd (line 316) | void S_fasl_init_fd(fileFaslFile ffo, ptr path, INT fd,
function S_fasl_init_bytes (line 327) | void S_fasl_init_bytes(faslFile ffo, ptr path, void *data, iptr len) {
function S_fasl_init_bv (line 338) | void S_fasl_init_bv(faslFile ffo, ptr path, ptr bv) {
function ptr (line 342) | ptr S_fasl_read(INT fd, IFASLCODE situation, ptr path, ptr externals) {
function ptr (line 354) | ptr S_bv_fasl_read(ptr bv, int ty, uptr offset, uptr len, ptr path, ptr ...
function ptr (line 363) | ptr S_boot_read(faslFile f, const char *path) {
function ptr (line 391) | static ptr fasl_entry(ptr tc, IFASLCODE situation, faslFile f, ptr exter...
function ptr (line 516) | static ptr bv_fasl_entry(ptr tc, ptr bv, int ty, uptr offset, uptr len, ...
function iptr (line 542) | static iptr uf_read(unbufFaslFile uf, octet *s, iptr n) {
function uf_skipbytes (line 575) | static void uf_skipbytes(unbufFaslFile uf, iptr n) {
function fillFaslFile (line 585) | static void fillFaslFile(faslFile f) {
function S_fasl_bytein (line 601) | int S_fasl_bytein(faslFile f) {
function must_bytein (line 610) | static int must_bytein(faslFile f) {
function S_fasl_bytesin (line 617) | void S_fasl_bytesin(octet *s, iptr n, faslFile f) {
function skipbytes (line 636) | static void skipbytes(iptr n, faslFile f) {
function code_bytesin (line 650) | static void code_bytesin(octet *s, iptr n, faslFile f) {
function toolarge (line 669) | static void toolarge(ptr path) {
function iptr (line 675) | static iptr iptrin(faslFile f) {
function uptr (line 706) | uptr S_fasl_uptrin(faslFile f, INT *bytes_consumed) {
function singlein (line 734) | static float singlein(faslFile f) {
function doublein (line 742) | static double doublein(faslFile f) {
function iptr (line 755) | static iptr stringin(ptr *pstrbuf, iptr start, faslFile f) {
function faslin (line 768) | static void faslin(ptr tc, ptr *x, ptr t, ptr *pstrbuf, faslFile f) {
function fasl_record (line 1211) | static void fasl_record(ptr tc, ptr *x, ptr t, ptr *pstrbuf, faslFile f,...
function S_fasl_intern_rtd (line 1350) | int S_fasl_intern_rtd(ptr *x)
function IBOOL (line 1377) | static IBOOL equalp(ptr x, ptr y) {
function IBOOL (line 1390) | static IBOOL rtd_equiv(ptr x, ptr y) {
function IBOOL (line 1405) | static IBOOL rtd_extras_equiv(ptr x, ptr y) {
function INT (line 1414) | INT pax_decode21(INT x)
function INT (line 1427) | INT pax_encode21(INT n)
function S_set_code_obj (line 1442) | void S_set_code_obj(char *who, IFASLCODE typ, ptr p, iptr n, ptr x, iptr...
function ptr (line 1556) | ptr S_get_code_obj(IFASLCODE typ, ptr p, iptr n, iptr o) {
function pb_set_abs (line 1657) | static void pb_set_abs(void *address, uptr item) {
function uptr (line 1661) | static uptr pb_get_abs(void *address) {
function arm32_set_abs (line 1668) | static void arm32_set_abs(void *address, uptr item) {
function uptr (line 1674) | static uptr arm32_get_abs(void *address) {
function arm32_set_jump (line 1691) | static void arm32_set_jump(void *address, uptr item, IBOOL callp) {
function uptr (line 1710) | static uptr arm32_get_jump(void *address) {
function arm64_set_abs (line 1737) | static void arm64_set_abs(void *address, uptr item) {
function uptr (line 1748) | static uptr arm64_get_abs(void *address) {
function ppc32_set_abs (line 1772) | static void ppc32_set_abs(void *address, uptr item) {
function uptr (line 1784) | static uptr ppc32_get_abs(void *address) {
function ppc32_set_jump (line 1789) | static void ppc32_set_jump(void *address, uptr item, IBOOL callp) {
function uptr (line 1804) | static uptr ppc32_get_jump(void *address) {
function x86_64_set_jump (line 1824) | static void x86_64_set_jump(void *address, uptr item, IBOOL callp) {
function uptr (line 1846) | static uptr x86_64_get_jump(void *address) {
function x86_64_set_popcount (line 1857) | static void x86_64_set_popcount(void *address, uptr item) {
function x86_64_set_popcount_present (line 1877) | void x86_64_set_popcount_present(ptr code) {
function INT (line 1915) | static INT extract_reg_from_sethi(void* address) {
function emit_sethi_lo (line 1919) | static void emit_sethi_lo(U32 item, INT destreg, void *address) {
function uptr (line 1929) | static uptr sparc64_get_literal(void *address) {
function U32 (line 1951) | static U32 adjust_delay_inst(U32 delay_inst, U32 *old_call_addr, U32 *ne...
function sparc64_set_call (line 1974) | static void sparc64_set_call(void *address, U32 *call_addr, uptr item) {
function INT (line 1994) | static INT sparc64_set_lit_only(void *address, uptr item, I32 destreg) {
function sparc64_set_literal (line 2027) | static void sparc64_set_literal(void* address, uptr item) {
function uptr (line 2059) | static uptr riscv64_get_abs(void* address)
function uptr (line 2064) | static uptr riscv64_get_jump(void* address)
function riscv64_set_abs (line 2075) | static void riscv64_set_abs(void* address, uptr item)
function riscv64_set_jump (line 2095) | static void riscv64_set_jump(void* address, uptr item)
function uptr (line 2120) | static uptr loongarch64_get_abs(void* address)
function uptr (line 2125) | static uptr loongarch64_get_jump(void* address)
function loongarch64_set_abs (line 2130) | static void loongarch64_set_abs(void* address, uptr item)
function loongarch64_set_jump (line 2145) | static void loongarch64_set_jump(void* address, uptr item)
type rpheader_t (line 2162) | typedef struct {
function swap_code_endian (line 2169) | static void swap_code_endian(octet *code, uptr len)
function S_swap_dounderflow_header_endian (line 2273) | void S_swap_dounderflow_header_endian(ptr co)
FILE: racket/src/ChezScheme/c/ffi.c
type alloc_state (line 34) | typedef struct alloc_state {
function ffi_type (line 47) | ffi_type *decode_type(alloc_state *alloc, ptr type, ffi_abi abi, IBOOL *...
function integer_ptr_size (line 281) | static unsigned int integer_ptr_size(ptr type) {
function ffi_cif (line 315) | ffi_cif *make_cif(ptr types) {
function S_ffi_call (line 383) | void S_ffi_call(ptr types, ptr proc, ptr *arena) {
function ptr (line 573) | ptr S_ffi_closure(ptr types, ptr proc) {
function closure_callback (line 603) | static void closure_callback(UNUSED ffi_cif *cif, void *ret, void **args...
function ptr (line 800) | ptr Sforeign_callable_code_object(void *addr) {
function check_prune_callables (line 822) | void check_prune_callables() {
function S_ffi_call (line 854) | void S_ffi_call(UNUSED ptr types, UNUSED ptr proc, UNUSED ptr *arena) {
function ptr (line 858) | ptr S_ffi_closure(UNUSED ptr types, UNUSED ptr proc) {
function ptr (line 862) | ptr Sforeign_callable_code_object(UNUSED void *addr) {
FILE: racket/src/ChezScheme/c/flushcache.c
type mod_range (line 20) | typedef struct {
function ptr (line 32) | static ptr make_mod_range(ptr tc, uptr start, uptr end) {
function S_record_code_mod (line 43) | void S_record_code_mod(ptr tc, uptr addr, uptr bytes) {
function S_flush_instruction_cache (line 66) | extern void S_flush_instruction_cache(ptr tc) {
function S_flushcache_init (line 75) | extern void S_flushcache_init(void) {
function S_record_code_mod (line 85) | extern void S_record_code_mod(UNUSED ptr tc, UNUSED uptr addr, UNUSED up...
function S_flush_instruction_cache (line 86) | extern void S_flush_instruction_cache(UNUSED ptr tc) {}
function S_flushcache_init (line 87) | extern void S_flushcache_init(void) { return; }
FILE: racket/src/ChezScheme/c/foreign.c
function ptr (line 82) | static ptr bvstring(const char *s) {
function iptr (line 90) | static iptr symhash(const char *s) {
function ptr (line 98) | static ptr lookup_static(const char *s) {
function ptr (line 111) | static ptr lookup_dynamic(const char *s, ptr tbl) {
function Sforeign_symbol (line 188) | void Sforeign_symbol(const char *s, void *v) {
function Sregister_symbol (line 209) | void Sregister_symbol(const char *s, void *v) {
function ptr (line 227) | static ptr remove_foreign_entry(const char *s) {
function load_shared_object (line 253) | static void load_shared_object(const char *path) {
function S_foreign_entry (line 277) | void S_foreign_entry(void) {
function ptr (line 308) | static ptr lookup_foreign_entry(const char *s) {
function ptr (line 312) | static ptr foreign_entries(void) {
function ptr (line 324) | static ptr foreign_static_table(void) { return S_G.foreign_static; }
function ptr (line 326) | static ptr foreign_dynamic_table(void) { return S_foreign_dynamic; }
function ptr (line 328) | static ptr foreign_dynamic_table(void) { return Sfalse; }
function octet (line 331) | static octet *foreign_address_name(ptr addr) {
function S_foreign_init (line 342) | void S_foreign_init(void) {
FILE: racket/src/ChezScheme/c/gc-011.c
function S_gc_011 (line 26) | void S_gc_011(ptr tc) {
FILE: racket/src/ChezScheme/c/gc-ocd.c
function ptr (line 22) | ptr S_gc_ocd(ptr tc, IGEN max_cg, IGEN min_tg, IGEN max_tg, ptr count_ro...
FILE: racket/src/ChezScheme/c/gc-oce.c
function ptr (line 26) | ptr S_gc_oce(ptr tc, IGEN max_cg, IGEN min_tg, IGEN max_tg, ptr count_ro...
FILE: racket/src/ChezScheme/c/gc-par.c
function ptr (line 25) | ptr S_gc_par(ptr tc, IGEN max_cg, IGEN min_tg, IGEN max_tg, ptr count_ro...
FILE: racket/src/ChezScheme/c/gc.c
function uptr (line 265) | static uptr get_real_time () {
function uptr (line 270) | static uptr get_cpu_time () {
function FORCEINLINE (line 328) | FORCEINLINE IGEN compute_target_generation(IGEN g) {
function FORCEINLINE (line 387) | FORCEINLINE int get_in_parallel_sweepers() { return in_parallel_sweepers; }
type gc_sweeper (line 424) | typedef struct {
function uptr (line 498) | uptr list_length(ptr ls) {
function init_fully_marked_mask (line 524) | static void init_fully_marked_mask(thread_gc *tgc, IGEN g) {
function flonum_set_forwarded (line 534) | static void flonum_set_forwarded(thread_gc *tgc, ptr p, seginfo *si) {
function flonum_is_forwarded_p (line 540) | static int flonum_is_forwarded_p(ptr p, seginfo *si) {
function do_relocate_pure_in_owner (line 617) | static void do_relocate_pure_in_owner(thread_gc *tgc, ptr *ppp) {
function FORCEINLINE (line 747) | FORCEINLINE void check_triggers(thread_gc *tgc, seginfo *si) {
function sweep_in_old (line 783) | static void sweep_in_old(thread_gc *tgc, ptr p) {
function sweep_dirty_object_if_space_new (line 798) | static void sweep_dirty_object_if_space_new(thread_gc *tgc, ptr p) {
function ptr (line 804) | static ptr copy_stack(thread_gc *tgc, ptr old, iptr *length, iptr clengt...
type count_root_t (line 891) | typedef struct count_root_t {
function ptr (line 896) | ptr GCENTRY(ptr tc, ptr count_roots_ls) {
function push_remote_sweep (line 1815) | static void push_remote_sweep(thread_gc *tgc, ptr p, thread_gc *remote_t...
function resweep_weak_pairs (line 1870) | static void resweep_weak_pairs(thread_gc *tgc, seginfo *oldweakspacesegm...
function forward_or_bwp (line 1926) | static void forward_or_bwp(NO_DIRTY_NEWSPACE_UNUSED thread_gc *tgc, NO_D...
function iptr (line 1955) | static iptr sweep_generation_pass(thread_gc *tgc) {
function sweep_generation (line 2086) | static void sweep_generation(thread_gc *tgc) {
function enlarge_stack (line 2090) | void enlarge_stack(thread_gc *tgc, ptr *stack, ptr *stack_start, ptr *st...
function iptr (line 2104) | iptr sweep_from_stack(thread_gc *tgc) {
function iptr (line 2124) | static iptr sweep_typed_object(thread_gc *tgc, ptr p, IGEN from_g) {
type weakseginfo (line 2141) | typedef struct _weakseginfo {
function record_dirty_segment (line 2149) | static void record_dirty_segment(IGEN from_g, IGEN to_g, seginfo *si) {
function add_weaksegments_to_resweep (line 2167) | static void add_weaksegments_to_resweep(weakseginfo *segs, weakseginfo *...
function setup_sweep_dirty (line 2176) | static void setup_sweep_dirty(NO_PARALLEL_UNUSED thread_gc *tgc) {
function uptr (line 2218) | static uptr sweep_dirty_segments(thread_gc *tgc, seginfo **dirty_segment...
function sweep_dirty (line 2574) | static void sweep_dirty(thread_gc *tgc) {
function resweep_dirty_weak_pairs (line 2579) | static void resweep_dirty_weak_pairs(thread_gc *tgc) {
function add_pending_guardian (line 2656) | static void add_pending_guardian(ptr gdn, ptr tconc)
function add_trigger_guardians_to_recheck (line 2664) | static void add_trigger_guardians_to_recheck(ptr ls)
function ephemeron_remove (line 2681) | static void ephemeron_remove(ptr pe) {
function ephemeron_add (line 2690) | static void ephemeron_add(ptr *first, ptr pe) {
function add_ephemeron_to_pending (line 2704) | static void add_ephemeron_to_pending(thread_gc *tgc, ptr pe) {
function add_trigger_ephemerons_to_pending (line 2714) | static void add_trigger_ephemerons_to_pending(thread_gc *tgc, ptr pe) {
function check_ephemeron (line 2718) | static void check_ephemeron(thread_gc *tgc, ptr pe) {
function check_pending_ephemerons (line 2763) | static void check_pending_ephemerons(thread_gc *tgc) {
function IGEN (line 2782) | static IGEN check_dirty_ephemeron(thread_gc *tgc, ptr pe, IGEN youngest) {
function finish_pending_ephemerons (line 2833) | static void finish_pending_ephemerons(thread_gc *tgc, seginfo *si) {
function uptr (line 2855) | static uptr total_size_so_far() {
function uptr (line 2873) | static uptr target_generation_space_so_far(thread_gc *tgc) {
function copy_and_clear_list_bits (line 2891) | void copy_and_clear_list_bits(thread_gc *tgc, seginfo *oldspacesegments) {
function assign_sweeper (line 2971) | static void assign_sweeper(int n, thread_gc *t_tgc) {
function setup_sweepers (line 2989) | static void setup_sweepers(thread_gc *tgc) {
function s_thread_rv_t (line 3041) | static s_thread_rv_t start_sweeper(void *_sweeper) {
function IBOOL (line 3066) | static IBOOL sweeper_started(int i, IBOOL start_new) {
function run_sweepers (line 3095) | static void run_sweepers(void) {
function teardown_sweepers (line 3124) | static void teardown_sweepers(void) {
function run_sweeper (line 3155) | static void run_sweeper(gc_sweeper *sweeper) {
function send_and_receive_remote_sweeps (line 3221) | static void send_and_receive_remote_sweeps(thread_gc *tgc) {
function init_measure (line 3279) | static void init_measure(thread_gc *tgc, IGEN min_gen, IGEN max_gen) {
function finish_measure (line 3295) | static void finish_measure() {
function init_counting_mask (line 3313) | static void init_counting_mask(thread_gc *tgc, seginfo *si) {
function init_measure_mask (line 3317) | static void init_measure_mask(thread_gc *tgc, seginfo *si) {
function push_measure (line 3333) | static void push_measure(thread_gc *tgc, ptr p)
function measure_add_stack_size (line 3386) | static void measure_add_stack_size(ptr stack, uptr size) {
function add_ephemeron_to_pending_measure (line 3394) | static void add_ephemeron_to_pending_measure(thread_gc *tgc, ptr pe) {
function add_trigger_ephemerons_to_pending_measure (line 3410) | static void add_trigger_ephemerons_to_pending_measure(ptr pe) {
function check_ephemeron_measure (line 3414) | static void check_ephemeron_measure(thread_gc *tgc, ptr pe) {
function check_pending_measure_ephemerons (line 3441) | static void check_pending_measure_ephemerons(thread_gc *tgc) {
function gc_measure_one (line 3453) | void gc_measure_one(thread_gc *tgc, ptr p) {
function flush_measure_stack (line 3466) | void flush_measure_stack(thread_gc *tgc) {
function ptr (line 3483) | ptr S_count_size_increments(ptr ls, IGEN generation) {
FILE: racket/src/ChezScheme/c/gcwrapper.c
function S_gc_init (line 30) | void S_gc_init(void) {
function IGEN (line 151) | IGEN S_maxgen(void) {
function S_set_maxgen (line 155) | void S_set_maxgen(IGEN g) {
function IGEN (line 166) | IGEN S_minfreegen(void) {
function S_set_minfreegen (line 170) | void S_set_minfreegen(IGEN g) {
function IGEN (line 177) | IGEN S_minmarkgen(void) {
function S_set_minmarkgen (line 181) | void S_set_minmarkgen(IGEN g) {
function S_immobilize_object (line 185) | void S_immobilize_object(ptr x) {
function S_mobilize_object (line 212) | void S_mobilize_object(ptr x) {
function IBOOL (line 234) | static IBOOL memqp(ptr x, ptr ls) {
function IBOOL (line 242) | static IBOOL remove_first_nomorep(ptr x, ptr *pls, IBOOL look) {
function IBOOL (line 261) | IBOOL Slocked_objectp(ptr x) {
function ptr (line 281) | ptr S_locked_objects(void) {
function Slock_object (line 298) | void Slock_object(ptr x) {
function Sunlock_object (line 323) | void Sunlock_object(ptr x) {
function ptr (line 346) | ptr s_help_unregister_guardian(ptr *pls, ptr tconc, ptr result) {
function ptr (line 359) | ptr S_unregister_guardian(ptr tconc) {
function S_register_child_process (line 374) | void S_register_child_process(INT child) {
function IBOOL (line 381) | IBOOL S_enable_object_counts(void) {
function S_set_enable_object_counts (line 385) | void S_set_enable_object_counts(IBOOL eoc) {
function ptr (line 389) | ptr S_object_counts(void) {
function IBOOL (line 454) | IBOOL S_enable_object_backreferences(void) {
function S_set_enable_object_backreferences (line 458) | void S_set_enable_object_backreferences(IBOOL eoc) {
function ptr (line 462) | ptr S_object_backreferences(void) {
function seginfo (line 475) | seginfo *S_ptr_seginfo(ptr p) {
function Scompact_heap (line 482) | void Scompact_heap(void) {
function segment_tell (line 517) | static void segment_tell(uptr seg) {
function S_ptr_tell (line 543) | void S_ptr_tell(ptr p) {
function S_addr_tell (line 547) | void S_addr_tell(ptr p) {
function maybe_inexactnum_marked (line 551) | static int maybe_inexactnum_marked(ptr p, seginfo *psi) {
function check_pointer (line 571) | static void check_pointer(ptr *pp, IBOOL address_is_meaningful, IBOOL is...
function check_bignum (line 626) | static void check_bignum(ptr p) {
function ptr (line 635) | static ptr *find_nl(ptr *pp1, ISPC s, IGEN g) {
function ptr (line 650) | static ptr *find_nl(ptr *pp1, ptr *pp2, ISPC s, IGEN g) {
function check_heap_dirty_msg (line 666) | static void check_heap_dirty_msg(char *msg, ptr *x) {
function S_check_heap (line 676) | void S_check_heap(IBOOL aftergc, IGEN mcg) {
function IBOOL (line 1060) | static IBOOL dirty_listedp(seginfo *x, IGEN from_g, IGEN to_g) {
function check_dirty_space (line 1069) | static void check_dirty_space(ISPC s) {
function check_dirty (line 1100) | static void check_dirty(void) {
function check_locked_object (line 1148) | static void check_locked_object(ptr p, IBOOL locked, IGEN g, IBOOL after...
function S_fixup_counts (line 1177) | void S_fixup_counts(ptr counts) {
function ptr (line 1188) | ptr S_do_gc(IGEN max_cg, IGEN min_tg, IGEN max_tg, ptr count_roots) {
function ptr (line 1321) | ptr S_gc(ptr tc, IGEN max_cg, IGEN min_tg, IGEN max_tg, ptr count_roots) {
FILE: racket/src/ChezScheme/c/globals.h
function EXTERN (line 80) | EXTERN struct S_G_struct {
FILE: racket/src/ChezScheme/c/i3le.c
function S_machine_init (line 26) | void S_machine_init(void) {}
FILE: racket/src/ChezScheme/c/intern.c
function S_intern_init (line 29) | void S_intern_init(void) {
function oblist_insert (line 40) | static void oblist_insert(ptr sym, iptr idx, IGEN g) {
function S_resize_oblist (line 66) | void S_resize_oblist(void) {
function iptr (line 113) | static iptr hash(const unsigned char *s, iptr n) {
function iptr (line 117) | static iptr hash_sc(const string_char *s, iptr n) {
function iptr (line 121) | static iptr hash_uname(const string_char *s, iptr n) {
function I32 (line 127) | I32 S_symbol_hash32(ptr str) {
function I64 (line 133) | I64 S_symbol_hash64(ptr str) {
function ptr (line 138) | static ptr mkstring(const string_char *s, iptr n) {
function ptr (line 150) | ptr S_mkstring(const string_char *s, iptr n) {
function ptr (line 155) | ptr S_intern(const unsigned char *s) {
function ptr (line 195) | ptr S_intern_sc(const string_char *name, iptr n, ptr name_str) {
function ptr (line 232) | ptr S_intern3(const string_char *pname, iptr plen, const string_char *un...
function S_intern_gensym (line 271) | void S_intern_gensym(ptr sym, ptr sym_name) {
function ptr (line 308) | ptr S_intern4(ptr sym) {
function S_retrofit_nonprocedure_code (line 342) | void S_retrofit_nonprocedure_code(void) {
FILE: racket/src/ChezScheme/c/io.c
type passwd (line 76) | struct passwd
function wchar_t (line 111) | wchar_t *S_malloc_wide_pathname(const char *inpath) {
function IBOOL (line 136) | IBOOL S_file_existsp(const char *inpath, WIN32_UNUSED IBOOL followp) {
function IBOOL (line 158) | IBOOL S_file_regularp(const char *inpath, WIN32_UNUSED IBOOL followp) {
function IBOOL (line 182) | IBOOL S_file_directoryp(const char *inpath, WIN32_UNUSED IBOOL followp) {
function IBOOL (line 206) | IBOOL S_file_symbolic_linkp(const char *inpath) {
function ptr (line 230) | static ptr s_wstring_to_bytevector(const wchar_t *s) {
function ptr (line 239) | ptr S_find_files(const char *wildpath) {
function ptr (line 261) | static ptr s_string_to_bytevector(const char *s) {
function ptr (line 269) | ptr S_directory_list(const char *inpath) {
FILE: racket/src/ChezScheme/c/itest.c
function INT (line 22) | static INT digit_value(ICHAR c, INT r) {
function INT (line 43) | static INT read_int(ptr *v, ptr n, INT r, IBOOL sign) {
function INT (line 57) | static INT read_token(ptr *v) {
function ptr (line 139) | static ptr read_list(void) {
function ptr (line 148) | static ptr readx(INT t, ptr v) {
function ptr (line 166) | static ptr read_top(void) {
function ptr (line 182) | static ptr eval(ptr x) {
function bignum_test (line 230) | static void bignum_test(void) {
FILE: racket/src/ChezScheme/c/main.c
function main (line 79) | int main(int argc, const char *argv[]) {
FILE: racket/src/ChezScheme/c/new-io.c
function INT (line 148) | static INT lockfile(INT fd) { return FLOCK(fd, LOCK_EX); }
function INT (line 151) | static INT lockfile(INT fd) { return lockf(fd, F_LOCK, (off_t)0); }
function INT (line 154) | static INT lockfile(INT fd) { return fd >= 0; }
function INT (line 160) | INT S_gzxfile_fd(ptr x) {
function glzFile (line 164) | glzFile S_gzxfile_gzfile(ptr x) {
function ptr (line 168) | ptr S_new_open_input_fd(const char *infilename, IBOOL compressed) {
function ptr (line 236) | ptr S_compress_input_fd(INT fd, I64 pos) {
function ptr (line 272) | ptr S_compress_output_fd(INT fd) {
function ptr (line 285) | static ptr new_open_output_fd_helper( const char *infilename, INT mode, ...
function ptr (line 358) | ptr S_new_open_output_fd(const char *filename, INT mode, INT options) {
function ptr (line 364) | ptr S_new_open_input_output_fd(const char *filename, INT mode, INT optio...
function ptr (line 373) | ptr S_close_fd(ptr file, IBOOL gzflag) {
function iptr (line 415) | static iptr read_console(char* buf, unsigned size) {
function ptr (line 439) | ptr S_bytevector_read(ptr file, ptr bv, iptr start, iptr count, IBOOL gz...
function ptr (line 514) | ptr S_bytevector_read_nb(ptr file, ptr bv, iptr start, iptr count, IBOOL...
function ptr (line 567) | ptr S_bytevector_write(ptr file, ptr bv, iptr start, iptr count, IBOOL g...
function ptr (line 629) | ptr S_put_byte(ptr file, INT byte, IBOOL gzflag) {
function ptr (line 672) | ptr S_get_fd_pos(ptr file, IBOOL gzflag) {
function ptr (line 686) | ptr S_set_fd_pos(ptr file, ptr pos, IBOOL gzflag) {
function ptr (line 706) | ptr S_fd_can_set_pos(ptr file) {
function ptr (line 720) | ptr S_get_fd_non_blocking(WIN32_UNUSED ptr file, WIN32_UNUSED IBOOL gzfl...
function ptr (line 738) | ptr S_set_fd_non_blocking(WIN32_UNUSED ptr file, WIN32_UNUSED IBOOL x, W...
function ptr (line 777) | ptr S_get_fd_length(ptr file, IBOOL gzflag) {
function ptr (line 789) | ptr S_set_fd_length(ptr file, ptr length, IBOOL gzflag) {
function S_new_io_init (line 811) | void S_new_io_init(void) {
function is_valid_zlib_length (line 832) | static int is_valid_zlib_length(iptr count) {
function is_valid_lz4_length (line 838) | static int is_valid_lz4_length(iptr len) {
function uptr (line 845) | uptr S_bytevector_compress_size(iptr s_count, INT compress_format) {
function ptr (line 867) | ptr S_bytevector_compress(ptr dest_bv, iptr d_start, iptr d_count,
function ptr (line 918) | ptr S_bytevector_uncompress(ptr dest_bv, iptr d_start, iptr d_count,
FILE: racket/src/ChezScheme/c/number.c
function ptr (line 139) | ptr S_normalize_bignum(ptr x) {
function ptr (line 167) | static ptr copy_normalize(ptr tc, const bigit *p, iptr len, IBOOL sign) {
function IBOOL (line 209) | IBOOL Stry_integer_value(ptr x, iptr *val, const char** reason) {
function iptr (line 236) | iptr Sinteger_value(ptr x) {
function IBOOL (line 244) | IBOOL Stry_integer32_value(ptr x, Sint32_t* val, const char** reason) {
function Sint32_t (line 282) | Sint32_t Sinteger32_value(ptr x) {
function IBOOL (line 290) | IBOOL Stry_integer64_value(ptr x, Sint64_t *val, const char** reason) {
function I64 (line 313) | I64 S_int64_value(char *who, ptr x) {
function Sint64_t (line 320) | Sint64_t Sinteger64_value(ptr x) {
function IBOOL (line 324) | IBOOL Stry_unsigned_value(ptr x, uptr* val, const char** reason) {
function IBOOL (line 333) | IBOOL Stry_unsigned32_value(ptr x, Suint32_t* val, const char** reason) {
function IBOOL (line 342) | IBOOL Stry_unsigned64_value(ptr x, Suint64_t* val, const char** reason) {
function ptr (line 351) | ptr Sunsigned(uptr u) { /* convert arg to Scheme integer */
function ptr (line 362) | ptr Sinteger(iptr i) { /* convert arg to Scheme integer */
function ptr (line 373) | ptr Sunsigned32(Suint32_t u) { /* convert arg to Scheme integer */
function ptr (line 388) | ptr Sinteger32(Sint32_t i) { /* convert arg to Scheme integer */
function ptr (line 403) | ptr Sunsigned64(Suint64_t u) { /* convert arg to Scheme integer */
function ptr (line 414) | ptr Sinteger64(Sint64_t i) { /* convert arg to Scheme integer */
function IBOOL (line 480) | IBOOL S_big_lt(ptr x, ptr y) {
function IBOOL (line 493) | IBOOL S_big_eq(ptr x, ptr y) {
function IBOOL (line 497) | static IBOOL abs_big_lt(ptr x, ptr y, iptr xl, iptr yl) {
function IBOOL (line 510) | static IBOOL abs_big_eq(ptr x, ptr y, iptr xl, iptr yl) {
function ptr (line 529) | static ptr big_negate(ptr tc, ptr x) {
function ptr (line 533) | ptr S_big_negate(ptr x) {
function ptr (line 538) | static ptr big_add_pos(ptr tc, ptr x, ptr y, iptr xl, iptr yl, IBOOL sig...
function ptr (line 560) | static ptr big_add_neg(ptr tc, ptr x, ptr y, iptr xl, iptr yl, IBOOL sig...
function ptr (line 579) | static ptr big_add(ptr tc, ptr x, ptr y, iptr xl, iptr yl, IBOOL xs, IBO...
function ptr (line 593) | ptr S_add(ptr x, ptr y) {
function ptr (line 617) | ptr S_sub(ptr x, ptr y) {
function ptr (line 646) | static ptr big_mul(ptr tc, ptr x, ptr y, iptr xl, iptr yl, IBOOL sign) {
function ptr (line 680) | ptr S_mul(ptr x, ptr y) {
function ptr (line 718) | ptr S_div(ptr x, ptr y) {
function ptr (line 733) | ptr S_trunc(ptr x, ptr y) {
function ptr (line 739) | ptr S_rem(ptr x, ptr y) {
function S_trunc_rem (line 746) | void S_trunc_rem(ptr tc, ptr origx, ptr y, ptr *q, ptr *r) {
function big_short_trunc (line 785) | static void big_short_trunc(ptr tc, ptr x, bigit s, iptr xl, IBOOL qs, I...
function big_trunc (line 799) | static void big_trunc(ptr tc, ptr x, ptr y, iptr xl, iptr yl, IBOOL qs, ...
FILE: racket/src/ChezScheme/c/pb.c
type uptr (line 11) | typedef uptr (*chunk_t)(machine_state *ms, uptr, int);
function S_machine_init (line 18) | void S_machine_init() { pbchunk_register(); }
function S_machine_init (line 21) | void S_machine_init() { }
function Sregister_pbchunks (line 25) | void Sregister_pbchunks(void **add_chunks, int start_index, int end_inde...
function S_pb_interp (line 53) | void S_pb_interp(ptr tc, void *bytecode) {
function ptr (line 498) | ptr *S_get_call_arena(ptr tc) {
function S_pb_spinlock (line 503) | void S_pb_spinlock(void *addr) {
function S_pb_locked_adjust (line 510) | int S_pb_locked_adjust(void *addr, int delta) {
FILE: racket/src/ChezScheme/c/pb.h
type machine_state (line 4) | typedef struct machine_state {
type instruction_t (line 20) | typedef uint32_t instruction_t;
FILE: racket/src/ChezScheme/c/popcount.h
function Spopcount_32 (line 3) | static int Spopcount_32(U32 x)
function Spopcount_32 (line 8) | static int Spopcount_32(U32 x)
function Spopcount (line 25) | static int Spopcount(uptr x)
function Spopcount (line 30) | static int Spopcount(uptr x)
FILE: racket/src/ChezScheme/c/ppc32.c
function INT (line 30) | INT S_flushcache_max_gap(void) {
function S_doflush (line 34) | void S_doflush(uptr start, uptr end) {
function S_machine_init (line 55) | void S_machine_init(void) {
FILE: racket/src/ChezScheme/c/prim.c
function install_library_entry (line 30) | static void install_library_entry(ptr n, ptr x) {
function ptr (line 54) | ptr S_lookup_library_entry(iptr n, IBOOL errorp) {
function scheme_install_library_entry (line 65) | static void scheme_install_library_entry(void) {
function create_library_entry_vector (line 70) | static void create_library_entry_vector(void) {
function ptr (line 81) | ptr int2ptr(iptr f)
function S_install_c_entry (line 91) | void S_install_c_entry(iptr i, ptr x) {
function ptr (line 99) | ptr S_lookup_c_entry(iptr i) {
function ptr (line 109) | static ptr s_get_thread_context(void) {
function create_c_entry_vector (line 113) | static void create_c_entry_vector(void) {
function S_check_c_entry_vector (line 163) | void S_check_c_entry_vector() {
function S_prim_init (line 185) | void S_prim_init(void) {
function s_instantiate_code_object (line 230) | static void s_instantiate_code_object(void) {
function s_link_code_object (line 312) | static void s_link_code_object(ptr co, ptr objs) {
function INT (line 338) | static INT s_check_heap_enabledp(void) {
function s_enable_check_heap (line 342) | static void s_enable_check_heap(IBOOL b) {
function uptr (line 346) | static uptr s_check_heap_errors(void) {
FILE: racket/src/ChezScheme/c/prim5.c
function ptr (line 151) | ptr S_strerror(INT errnum) {
function INT (line 170) | static INT s_errno(void) {
function IBOOL (line 174) | static IBOOL s_addr_in_heap(uptr x) {
function IBOOL (line 178) | static IBOOL s_ptr_in_heap(ptr x) {
function ptr (line 182) | static ptr s_generation(ptr x) {
function iptr (line 187) | static iptr s_fxmul(iptr x, iptr y) {
function iptr (line 191) | static iptr s_fxdiv(iptr x, iptr y) {
function ptr (line 195) | static ptr s_trunc_rem(ptr x, ptr y) {
function ptr (line 201) | static ptr s_fltofx(ptr x) {
function ptr (line 205) | static ptr s_weak_pairp(ptr p) {
function ptr (line 210) | static ptr s_ephemeron_cons(ptr car, ptr cdr) {
function ptr (line 218) | static ptr s_ephemeron_pairp(ptr p) {
function ptr (line 223) | static ptr s_box_immobile(ptr p) {
function ptr (line 229) | static ptr s_make_immobile_bytevector(uptr len) {
function ptr (line 235) | static ptr s_make_immobile_vector(uptr len, ptr fill) {
function ptr (line 255) | static ptr s_make_reference_bytevector(uptr len) {
function ptr (line 273) | static ptr s_make_immobile_reference_bytevector(uptr len) {
function ptr (line 279) | static ptr s_reference_bytevectorp(ptr p) {
function ptr (line 284) | static ptr s_reference_star_address_object(ptr p) {
function ptr (line 293) | static ptr s_bytevector_reference_star_ref(ptr p, uptr offset) {
function ptr (line 297) | static ptr s_oblist() {
function ptr (line 311) | static ptr s_bigoddp(ptr n) {
function ptr (line 315) | static ptr s_float(ptr x) {
function ptr (line 319) | static ptr s_decode_float(ptr x) {
function ptr (line 328) | static ptr sorted_chunk_list(void) {
function s_show_info (line 355) | static void s_show_info(FILE *out) {
function s_show_chunks (line 416) | static void s_show_chunks(FILE *out, ptr sorted_chunks) {
function s_showalloc (line 458) | static void s_showalloc(IBOOL show_dump, const char *outfn) {
function ptr (line 712) | static ptr s_system(const char *s) {
function ptr (line 759) | static ptr s_process(char *s, IBOOL stderrp) {
function I32 (line 941) | static I32 s_chdir(const char *inpath) {
function ptr (line 977) | static ptr s_set_code_byte(ptr p, ptr n, ptr x) {
function ptr (line 989) | static ptr s_set_code_word(ptr p, ptr n, ptr x) {
function ptr (line 1001) | static ptr s_set_code_long(ptr p, ptr n, ptr x) {
function s_set_code_long2 (line 1013) | static void s_set_code_long2(ptr p, ptr n, ptr h, ptr l) {
function ptr (line 1023) | static ptr s_set_code_quad(ptr p, ptr n, ptr x) {
function ptr (line 1036) | static ptr s_set_reloc(ptr p, ptr n, ptr e) {
function ptr (line 1045) | static ptr s_flush_instruction_cache() {
function ptr (line 1050) | static ptr s_make_code(iptr flags, iptr free, ptr name, ptr arity_mark, ...
function ptr (line 1071) | static ptr s_make_reloc_table(ptr codeobj, ptr n) {
function ptr (line 1081) | static ptr s_make_closure(ptr offset, ptr codeobj) {
function ptr (line 1089) | static ptr s_fxrandom(ptr p) {
function ptr (line 1104) | static ptr s_flrandom(ptr x) {
function U32 (line 1115) | static U32 s_random_seed() {
function s_set_random_seed (line 1120) | static void s_set_random_seed(U32 x) {
function ptr (line 1125) | static ptr s_intern(ptr x) {
function ptr (line 1131) | static ptr s_intern2(ptr x, ptr n) {
function ptr (line 1136) | static ptr s_intern3(ptr x, ptr n, ptr m) {
function ptr (line 1141) | static ptr s_strings_to_gensym(ptr pname_str, ptr uname_str) {
function ptr (line 1147) | ptr S_uninterned(ptr x) {
function ptr (line 1168) | static ptr s_mkdir(const char *inpath, WIN32_UNUSED INT mode) {
function ptr (line 1183) | static ptr s_delete_file(const char *inpath) {
function ptr (line 1192) | static ptr s_delete_directory(const char *inpath) {
function ptr (line 1201) | static ptr s_rename_file(const char *inpath1, const char *inpath2) {
function ptr (line 1212) | static ptr s_chmod(const char *inpath, INT mode) {
function ptr (line 1230) | static ptr s_getmod(const char *inpath, IBOOL followp) {
function ptr (line 1248) | static ptr s_path_atime(const char *inpath, WIN32_UNUSED IBOOL followp) {
function ptr (line 1288) | static ptr s_path_ctime(const char *inpath, WIN32_UNUSED IBOOL followp) {
function ptr (line 1328) | static ptr s_path_mtime(const char *inpath, WIN32_UNUSED IBOOL followp) {
function ptr (line 1368) | static ptr s_fd_atime(INT fd) {
function ptr (line 1376) | static ptr s_fd_ctime(INT fd) {
function ptr (line 1384) | static ptr s_fd_mtime(INT fd) {
function IBOOL (line 1392) | static IBOOL s_fd_regularp(INT fd) {
function s_nanosleep (line 1400) | static void s_nanosleep(ptr xsec, ptr xnsec) {
function s_getpid (line 1429) | static int s_getpid(void) {
function ptr (line 1433) | static ptr s_set_collect_trip_bytes(ptr n) {
function c_exit (line 1438) | static void c_exit(I32 status) {
function s_mod (line 1442) | static double s_mod(double x, double y) { return fmod(x, y); }
function s_exp (line 1444) | static double s_exp(double x) { return exp(x); }
function s_log (line 1446) | static double s_log(double x) { return log(x); }
function s_log2 (line 1448) | static double s_log2(double x, double y) { return log(x) / log(y); }
function s_pow (line 1454) | static double s_pow(double x, double y) {
function s_pow (line 1471) | static double s_pow(double x, double y) { return powl(x, y); }
function s_pow (line 1473) | static double s_pow(double x, double y) { return pow(x, y); }
function s_sqrt (line 1486) | static double s_sqrt(double x) { return sqrt(x); }
function s_sin (line 1488) | static double s_sin(double x) { return sin(x); }
function s_cos (line 1490) | static double s_cos(double x) { return cos(x); }
function s_tan (line 1492) | static double s_tan(double x) { return tan(x); }
function s_asin (line 1494) | static double s_asin(double x) { return asin(x); }
function s_acos (line 1496) | static double s_acos(double x) { return acos(x); }
function s_atan (line 1498) | static double s_atan(double x) { return atan(x); }
function s_atan2 (line 1500) | static double s_atan2(double x, double y) { return atan2(x, y); }
function s_sinh (line 1502) | static double s_sinh(double x) { return sinh(x); }
function s_cosh (line 1504) | static double s_cosh(double x) { return cosh(x); }
function s_tanh (line 1506) | static double s_tanh(double x) { return tanh(x); }
function s_floor (line 1508) | static double s_floor(double x) { return floor(x); }
function s_ceil (line 1510) | static double s_ceil(double x) { return ceil(x); }
function s_round (line 1512) | static double s_round(double x) { return rint(x); }
function s_trunc (line 1514) | static double s_trunc(double x) { return trunc(x); }
function s_hypot (line 1516) | static double s_hypot(double x, double y) { return HYPOT(x, y); }
function s_asinh (line 1519) | static double s_asinh(double x) { return CHECK_ASINTAN_ZERO(x, asinh(x)); }
function s_acosh (line 1521) | static double s_acosh(double x) { return acosh(x); }
function s_atanh (line 1523) | static double s_atanh(double x) { return CHECK_ASINTAN_ZERO(x, atanh(x)); }
function s_log1p (line 1527) | static double s_log1p(double x) { return log1p(x); }
function ptr (line 1530) | static ptr s_getenv(char *name) {
function s_putenv (line 1547) | static void s_putenv(char *name, char *value) {
function s_thread_rv_t (line 1574) | static s_thread_rv_t s_backdoor_thread_start(void *p_in) {
function iptr (line 1590) | static iptr s_backdoor_thread(ptr p) {
function ptr (line 1595) | static ptr s_threads() {
function ptr (line 1623) | static ptr s_mutex_acquire_noblock(ptr m_p) {
function s_mutex_release (line 1628) | static void s_mutex_release(ptr m) {
function IBOOL (line 1632) | static IBOOL s_mutex_is_owner(ptr m) {
function s_condition_broadcast (line 1636) | static void s_condition_broadcast(ptr c_p) {
function s_condition_signal (line 1641) | static void s_condition_signal(ptr c_p) {
function s_condition_free (line 1646) | static void s_condition_free(ptr c) {
function IBOOL (line 1650) | static IBOOL s_condition_wait(ptr c, ptr m, ptr t) {
function s_thread_preserve_ownership (line 1656) | static void s_thread_preserve_ownership(ptr tc) {
function ptr (line 1665) | static ptr s_profile_counters(void) {
function ptr (line 1671) | static ptr s_profile_release_counters(void) {
function S_dump_tc (line 1690) | void S_dump_tc(ptr tc) {
function IBOOL (line 1710) | static IBOOL s_native_little_endian() {
function S_prim5_init (line 1725) | void S_prim5_init(void) {
function ptr (line 1980) | static ptr s_get_reloc(ptr co, IBOOL with_offsets) {
function s_byte_copy (line 2023) | static void s_byte_copy(ptr src, iptr srcoff, ptr dst, iptr dstoff, iptr...
function s_ptr_copy (line 2032) | static void s_ptr_copy(ptr src, iptr srcoff, ptr dst, iptr dstoff, iptr ...
function ptr (line 2043) | static ptr s_tlv(ptr x) {
function s_stlv (line 2047) | static void s_stlv(ptr x, ptr v) {
function s_test_schlib (line 2056) | static void s_test_schlib(void) {
function s_breakhere (line 2116) | static void s_breakhere(UNUSED ptr x) {
function IBOOL (line 2120) | static IBOOL s_interactivep(void) {
function IBOOL (line 2140) | static IBOOL s_same_devicep(INT fd1, INT fd2) {
function uptr (line 2173) | static uptr s_malloc(iptr n) {
function s_free (line 2186) | static void s_free(uptr addr) {
function use_sink (line 2196) | static void use_sink(UNUSED const void *p) { }
function use_sinki (line 2197) | static void use_sinki(UNUSED int i) { }
type iconv_t (line 2200) | typedef iconv_t (*iconv_open_ft)(const char *tocode, const char *fromcode);
function ptr (line 2218) | static ptr s_iconv_trouble(HMODULE h, const char *what) {
function ptr (line 2239) | static ptr s_iconv_open(const char *tocode, const char *fromcode) {
function s_iconv_close (line 2270) | static void s_iconv_close(uptr cd) {
function iconv_fixup (line 2276) | static size_t iconv_fixup(iconv_t cd, char **src, size_t *srcleft, char ...
function ptr (line 2320) | static ptr s_iconv_from_string(uptr cd, ptr in, uptr i, uptr iend, ptr o...
function ptr (line 2357) | static ptr s_iconv_to_string(uptr cd, ptr in, uptr i, uptr iend, ptr out...
function ptr (line 2393) | static ptr s_multibytetowidechar(unsigned cp, ptr inbv) {
function ptr (line 2413) | static ptr s_widechartomultibyte(unsigned cp, ptr inbv) {
function ptr (line 2435) | static ptr s_separatorchar() {
FILE: racket/src/ChezScheme/c/print.c
function S_print_init (line 43) | void S_print_init(void) {}
function S_prin1 (line 45) | void S_prin1(ptr x) {
function pimmediate (line 70) | static void pimmediate(ptr x) {
function pbox (line 82) | static void pbox(ptr x) {
function pclo (line 87) | static void pclo(UNUSED ptr x) {
function pcode (line 94) | static void pcode(UNUSED ptr x) {
function pcons (line 98) | static void pcons(ptr x) {
function pfile (line 114) | static void pfile(UNUSED ptr x) {
function pinexactnum (line 118) | static void pinexactnum(ptr x) {
function IBOOL (line 125) | static IBOOL exact_real_negativep(ptr x) {
function pexactnum (line 130) | static void pexactnum(ptr x) {
function prat (line 137) | static void prat(ptr x) {
function pchar (line 143) | static void pchar(ptr x) {
function pstr (line 150) | static void pstr(ptr x) {
function display_string (line 163) | static void display_string(ptr x) {
function psym (line 177) | static void psym(ptr x) {
function pvec (line 198) | static void pvec(ptr x) {
function pfxvector (line 217) | static void pfxvector(ptr x) {
function pflvector (line 236) | static void pflvector(ptr x) {
function pbytevector (line 255) | static void pbytevector(ptr x) {
function pflonum (line 274) | static void pflonum(ptr x) {
function pflodat (line 278) | static void pflodat(double x) {
function pfixnum (line 296) | static void pfixnum(ptr x) {
function pbignum (line 304) | static void pbignum(ptr x) {
function wrint (line 312) | static void wrint(ptr x) {
FILE: racket/src/ChezScheme/c/random.c
function mrg32k3a (line 55) | static double mrg32k3a(ptr s) { /* (double), in {0..m1-1} */
function uptr (line 89) | uptr S_random_state_next_integer(ptr s, uptr n)
function S_random_state_next_double (line 105) | double S_random_state_next_double(ptr s)
function UINT (line 114) | static UINT _random_m(UINT *_x)
function _random_n (line 124) | static int _random_n(UINT *_x, int n)
function sch_srand_half (line 129) | static void sch_srand_half(UINT x, ptr s)
function S_random_state_init (line 156) | void S_random_state_init(ptr s, UINT x)
function IBOOL (line 172) | IBOOL S_random_state_check(double x10, double x11, double x12,
FILE: racket/src/ChezScheme/c/scheme.c
type heap_state (line 35) | typedef enum { UNINITIALIZED, BOOTING, RUNNING, DEINITIALIZED } heap_state;
function main_init (line 48) | static void main_init(void) {
function idiot_checks (line 151) | static void idiot_checks(void) {
function ptr (line 388) | static ptr boot_call(ptr tc, ptr p, INT n) {
function check_ap (line 412) | static void check_ap(ptr tc) {
function S_generic_invoke (line 423) | void S_generic_invoke(ptr tc, ptr code) {
function IBOOL (line 539) | static IBOOL next_path(const char *execpath, char *path,
type boot_desc (line 626) | typedef struct boot_desc {
type boot_desc (line 639) | struct boot_desc
function add_boot (line 642) | static void add_boot(boot_desc *boot, const char *path) {
function IBOOL (line 657) | static IBOOL check_boot(faslFile f, IBOOL verbose, const char *path) {
function check_dependencies_header (line 710) | static void check_dependencies_header(faslFile f, const char *path) {
function finish_dependencies_header (line 718) | static void finish_dependencies_header(faslFile f, int c, const char *pa...
function IBOOL (line 729) | static IBOOL find_boot(const char *execpath, const char *name, const cha...
function INT (line 867) | static INT get_string(faslFile f, char *s, iptr max, INT *c) {
function set_load_binary (line 884) | static int set_load_binary(boot_desc *boot) {
function boot_element (line 894) | static void boot_element(ptr tc, ptr x, struct boot_desc *boot) {
function load (line 910) | static void load(ptr tc, struct boot_desc *boot, IBOOL base) {
function Sset_verbose (line 1001) | extern void Sset_verbose(INT v) {
function Sretain_static_relocation (line 1005) | extern void Sretain_static_relocation(void) {
function default_abnormal_exit (line 1013) | static void default_abnormal_exit(void) {
function Sscheme_init (line 1017) | extern void Sscheme_init(void (*abnormal_exit)(void)) {
function check_boot_file_state (line 1079) | static void check_boot_file_state(const char *who) {
function Sregister_boot_file (line 1093) | extern void Sregister_boot_file(const char *name) {
function Sregister_boot_executable_relative_file (line 1098) | extern void Sregister_boot_executable_relative_file(const char* execpath...
function Sregister_boot_relative_file (line 1103) | extern void Sregister_boot_relative_file(const char *name) {
function Sregister_boot_file_fd (line 1108) | extern void Sregister_boot_file_fd(const char *name, int fd) {
function Sregister_boot_file_fd_region (line 1113) | extern void Sregister_boot_file_fd_region(const char *name,
function Sregister_boot_file_bytes (line 1133) | extern void Sregister_boot_file_bytes(const char *name,
function Sregister_heap_file (line 1151) | extern void Sregister_heap_file(UNUSED const char *path) {
function Sbuild_heap (line 1156) | extern void Sbuild_heap(const char *execpath, void (*custom_init)(void)) {
function Senable_expeditor (line 1270) | extern void Senable_expeditor(const char *history_file) {
function INT (line 1277) | extern INT Sscheme_start(INT argc, const char *argv[]) {
function INT (line 1314) | static INT run_script(const char *who, const char *scriptfile, INT argc,...
function INT (line 1353) | extern INT Sscheme_script(const char *scriptfile, INT argc, const char *...
function INT (line 1357) | extern INT Sscheme_program(const char *programfile, INT argc, const char...
function Ssave_heap (line 1361) | extern void Ssave_heap(UNUSED const char *path, UNUSED INT level) {
function Sscheme_deinit (line 1366) | extern void Sscheme_deinit(void) {
FILE: racket/src/ChezScheme/c/schlib.c
function Sset_box (line 28) | void Sset_box(ptr x, ptr y) {
function Sset_car (line 32) | void Sset_car(ptr x, ptr y) {
function Sset_cdr (line 36) | void Sset_cdr(ptr x, ptr y) {
function Svector_set (line 40) | void Svector_set(ptr x, iptr i, ptr y) {
function ptr (line 46) | ptr Sstring_to_symbol(const char *s) {
function ptr (line 50) | ptr Ssymbol_to_string(ptr x) {
function ptr (line 64) | ptr Smake_vector(iptr n, ptr x) {
function ptr (line 72) | ptr Smake_fxvector(iptr n, ptr x) {
function ptr (line 80) | ptr Smake_flvector(iptr n, double x) {
function ptr (line 88) | ptr Smake_bytevector(iptr n, int x) {
function ptr (line 96) | ptr Smake_string(iptr n, int c) {
function ptr (line 104) | ptr Smake_uninitialized_string(iptr n) {
function ptr (line 108) | ptr Sstring(const char *s) {
function ptr (line 112) | ptr Sstring_of_length(const char *s, iptr n) {
function ptr (line 128) | ptr Stop_level_value(ptr x) {
function Sset_top_level_value (line 137) | void Sset_top_level_value(ptr x, ptr y) {
function ptr (line 148) | ptr Scall0(ptr cp) {
function ptr (line 154) | ptr Scall1(ptr cp, ptr x1) {
function ptr (line 161) | ptr Scall2(ptr cp, ptr x1, ptr x2) {
function ptr (line 169) | ptr Scall3(ptr cp, ptr x1, ptr x2, ptr x3) {
function Sinitframe (line 178) | void Sinitframe(iptr n) {
function S_initframe (line 183) | void S_initframe(ptr tc, iptr n) {
function Sput_arg (line 192) | void Sput_arg(iptr i, ptr x) {
function S_put_arg (line 197) | void S_put_arg(ptr tc, iptr i, ptr x) {
function ptr (line 204) | ptr Scall(ptr cp, iptr argcnt) {
function ptr (line 209) | static ptr S_call(ptr tc, ptr cp, iptr argcnt) {
function S_call_help (line 217) | void S_call_help(ptr tc_in, IBOOL singlep, IBOOL lock_ts) {
function S_call_one_result (line 290) | void S_call_one_result(void) {
function S_call_any_results (line 295) | void S_call_any_results(void) {
function S_return (line 301) | void S_return(void) {
FILE: racket/src/ChezScheme/c/schsig.c
function ptr (line 37) | ptr S_get_scheme_arg(ptr tc, iptr n) {
function S_put_scheme_arg (line 43) | void S_put_scheme_arg(ptr tc, iptr n, ptr x) {
function S_promote_to_multishot (line 49) | void S_promote_to_multishot(ptr k) {
function split (line 58) | static void split(ptr k, ptr *s) {
function S_split_and_resize (line 93) | void S_split_and_resize(void) {
function iptr (line 143) | iptr S_continuation_depth(ptr k) {
function ptr (line 163) | ptr S_single_continuation(ptr k, iptr n) {
function S_handle_overflow (line 201) | void S_handle_overflow() {
function S_handle_overflood (line 208) | void S_handle_overflood() {
function S_handle_apply_overflood (line 215) | void S_handle_apply_overflood() {
function S_overflow (line 231) | void S_overflow(ptr tc, iptr frame_request) {
function S_error_abort (line 315) | void S_error_abort(const char *s) {
function S_abnormal_exit (line 320) | void S_abnormal_exit() {
function reset_scheme (line 326) | static void reset_scheme() {
function S_error_reset (line 344) | void S_error_reset(const char *s) {
function S_error (line 350) | void S_error(const char *who, const char *s) {
function S_error1 (line 354) | void S_error1(const char *who, const char *s, ptr x) {
function S_error2 (line 358) | void S_error2(const char *who, const char *s, ptr x, ptr y) {
function S_error3 (line 362) | void S_error3(const char *who, const char *s, ptr x, ptr y, ptr z) {
function S_boot_error (line 366) | void S_boot_error(ptr who, ptr msg, ptr args) {
function do_error (line 379) | static void do_error(iptr type, const char *who, const char *s, ptr args) {
function handle_call_error (line 417) | static void handle_call_error(ptr tc, iptr type, ptr x) {
function S_handle_docall_error (line 437) | void S_handle_docall_error() {
function S_handle_arg_error (line 444) | void S_handle_arg_error() {
function S_handle_nonprocedure_symbol (line 450) | void S_handle_nonprocedure_symbol() {
function S_handle_values_error (line 462) | void S_handle_values_error(void) {
function S_handle_mvlet_error (line 468) | void S_handle_mvlet_error(void) {
function ptr (line 480) | ptr S_save_errno(void) {
function ptr (line 526) | ptr S_save_last_error(void) {
function S_handle_event_detour (line 531) | void S_handle_event_detour() {
function keyboard_interrupt (line 563) | static void keyboard_interrupt(ptr tc) {
function S_fire_collector (line 576) | void S_fire_collector(void) {
function S_noncontinuable_interrupt (line 598) | void S_noncontinuable_interrupt(void) {
function Sscheme_register_signal_registerer (line 606) | void Sscheme_register_signal_registerer(void (*registerer)(int)) {
function ptr (line 611) | ptr S_dequeue_scheme_signals(UNUSED ptr tc) {
function ptr (line 615) | ptr S_allocate_scheme_signal_queue() {
function S_register_scheme_signal (line 619) | void S_register_scheme_signal(UNUSED iptr sig) {
function BOOL (line 629) | static BOOL WINAPI handle_signal(DWORD dwCtrlType) {
function LONG (line 649) | static LONG WINAPI fault_handler(LPEXCEPTION_POINTERS e) {
function init_signal_handlers (line 661) | static void init_signal_handlers(void) {
type signal_queue (line 694) | struct signal_queue {
function IBOOL (line 700) | static IBOOL enqueue_scheme_signal(ptr tc, INT sig) {
function ptr (line 714) | ptr S_dequeue_scheme_signals(ptr tc) {
function forward_signal_to_scheme (line 730) | static void forward_signal_to_scheme(INT sig) {
function ptr (line 750) | static ptr allocate_scheme_signal_queue(void) {
function ptr (line 759) | ptr S_allocate_scheme_signal_queue(void) {
function S_register_scheme_signal (line 763) | void S_register_scheme_signal(iptr sig) {
function handle_signal (line 782) | static void handle_signal(INT sig, UNUSED siginfo_t *si, UNUSED void *da...
function no_op_register (line 836) | static void no_op_register(UNUSED int sigid) {
function init_signal_handlers (line 841) | static void init_signal_handlers(void) {
function S_schsig_init (line 890) | void S_schsig_init(void) {
FILE: racket/src/ChezScheme/c/segment.c
function S_segment_init (line 52) | void S_segment_init(void) {
function out_of_memory (line 84) | static void out_of_memory(void) {
function w_and_x_problem (line 91) | static void w_and_x_problem(void) {
function S_freemem (line 110) | void S_freemem(void *addr, iptr bytes, UNUSED IBOOL for_code) {
function S_freemem (line 138) | void S_freemem(void *addr, iptr bytes, UNUSED IBOOL for_code) {
function S_freemem (line 195) | void S_freemem(void *addr, iptr bytes, UNUSED IBOOL for_code) {
function S_move_to_chunk_list (line 209) | void S_move_to_chunk_list(chunkinfo *chunk, chunkinfo **pchunk_list) {
function add_to_chunk_list (line 214) | static void add_to_chunk_list(chunkinfo *chunk, chunkinfo **pchunk_list) {
function sort_chunk_unused_segments (line 224) | static void sort_chunk_unused_segments(chunkinfo *chunk) {
function INT (line 249) | static INT find_index(iptr n) {
function initialize_seginfo (line 255) | static void initialize_seginfo(seginfo *si, NO_THREADS_UNUSED thread_gc ...
function iptr (line 290) | iptr S_find_segments(thread_gc *creator, ISPC s, IGEN g, iptr n) {
function seginfo (line 393) | static seginfo *allocate_segments(uptr nreq, UNUSED IBOOL for_code) {
function S_free_chunk (line 450) | void S_free_chunk(chunkinfo *chunk, IBOOL for_code) {
function S_free_chunks (line 462) | void S_free_chunks(void) {
function uptr (line 485) | uptr S_curmembytes(void) {
function uptr (line 489) | uptr S_maxmembytes(void) {
function S_resetmaxmembytes (line 493) | void S_resetmaxmembytes(void) {
function S_adjustmembytes (line 497) | void S_adjustmembytes(iptr amt) {
function expand_segment_table (line 501) | static void expand_segment_table(uptr base, uptr end, seginfo *si) {
function contract_segment_table (line 541) | static void contract_segment_table(uptr base, uptr end) {
function S_thread_start_code_write (line 605) | void S_thread_start_code_write(WX_UNUSED ptr tc, WX_UNUSED IGEN maxg, WX...
function S_thread_end_code_write (line 614) | void S_thread_end_code_write(WX_UNUSED ptr tc, WX_UNUSED IGEN maxg, WX_U...
function IBOOL (line 625) | static IBOOL is_unused_seg(chunkinfo *chunk, seginfo *si) {
function enable_code_write (line 644) | static void enable_code_write(ptr tc, IGEN maxg, IBOOL on, IBOOL current...
FILE: racket/src/ChezScheme/c/segment.h
function FORCEINLINE (line 29) | FORCEINLINE seginfo *SegInfo(uptr i) {
function FORCEINLINE (line 33) | FORCEINLINE seginfo *MaybeSegInfo(uptr i) {
function FORCEINLINE (line 47) | FORCEINLINE seginfo *SegInfo(uptr i) {
function FORCEINLINE (line 51) | FORCEINLINE seginfo *MaybeSegInfo(uptr i) {
function FORCEINLINE (line 62) | FORCEINLINE seginfo *SegInfo(uptr i) {
function FORCEINLINE (line 66) | FORCEINLINE seginfo *MaybeSegInfo(uptr i) {
function FORCEINLINE (line 78) | FORCEINLINE uptr eq_hash(ptr key) {
function FORCEINLINE (line 90) | FORCEINLINE ptr S_object_to_reference(ptr p) {
function FORCEINLINE (line 97) | FORCEINLINE ptr S_reference_to_object(ptr p) {
function FORCEINLINE (line 118) | FORCEINLINE ptr S_maybe_reference_to_object(ptr p) {
FILE: racket/src/ChezScheme/c/self-exe.c
function main (line 334) | int main(int argc, char **argv) {
FILE: racket/src/ChezScheme/c/statics.c
function scheme_statics (line 23) | void scheme_statics(void) { }
FILE: racket/src/ChezScheme/c/stats.c
type timespec (line 39) | struct timespec
type tm (line 41) | struct tm
function ptr (line 51) | ptr S_unique_id(void) {
function ptr (line 71) | ptr S_unique_id() {
function ptr (line 116) | ptr S_unique_id(void) {
function ptr (line 137) | ptr S_unique_id(void) {
function ptr (line 159) | ptr S_unique_id(void) {
function S_gettime (line 185) | void S_gettime(INT typeno, struct timespec *tp) {
type tm (line 276) | struct tm
type tm (line 276) | struct tm
type tm (line 280) | struct tm
type tm (line 280) | struct tm
type tm (line 288) | struct tm
function S_gettime (line 294) | void S_gettime(INT typeno, struct timespec *tp) {
function ptr (line 363) | ptr S_clock_gettime(I32 typeno) {
function ptr (line 384) | ptr S_gmtime(ptr tzoff, ptr tspair) {
function ptr (line 430) | ptr S_asctime(ptr dtvec) {
function ptr (line 453) | ptr S_mktime(ptr dtvec) {
function adjust_time_zone (line 492) | static long adjust_time_zone(ptr dtvec, struct tm *tmxp, ptr given_tzoff) {
function ptr (line 549) | ptr S_cputime(void) {
function ptr (line 557) | ptr S_realtime(void) {
function S_stats_init (line 575) | void S_stats_init(void) {
FILE: racket/src/ChezScheme/c/symbol.c
function ptr (line 19) | ptr S_symbol_value(ptr sym) {
function ptr (line 25) | ptr S_symbol_racy_value(ptr sym) NO_THREAD_SANITIZE {
function S_set_symbol_value (line 29) | void S_set_symbol_value(ptr sym, ptr val) {
FILE: racket/src/ChezScheme/c/thread.c
function S_thread_init (line 27) | void S_thread_init(void) {
function ptr (line 58) | ptr S_create_thread_object(const char *who, ptr p_tc) {
function IBOOL (line 191) | IBOOL Sactivate_thread(void) { /* create or reactivate current thread */
function S_activate_thread (line 207) | int S_activate_thread(void) { /* Like Sactivate_thread(), but returns a ...
function S_unactivate_thread (line 220) | void S_unactivate_thread(int mode) { /* Reverts a previous S_activate_th...
function Sdeactivate_thread (line 234) | void Sdeactivate_thread(void) { /* deactivate current thread */
function Sdestroy_thread (line 239) | int Sdestroy_thread(void) { /* destroy current thread */
function IBOOL (line 248) | static IBOOL destroy_thread(ptr tc) {
function ptr (line 332) | ptr S_fork_thread(ptr thunk) {
function s_thread_rv_t (line 348) | static s_thread_rv_t start_thread(void *p) {
function ptr (line 369) | ptr S_make_mutex(void) {
function S_mutex_free (line 383) | void S_mutex_free(scheme_mutex_t *m) {
function S_mutex_acquire (line 388) | void S_mutex_acquire(scheme_mutex_t *m) NO_THREAD_SANITIZE {
function INT (line 406) | INT S_mutex_tryacquire(scheme_mutex_t *m) NO_THREAD_SANITIZE {
function IBOOL (line 428) | IBOOL S_mutex_is_owner(scheme_mutex_t *m) NO_THREAD_SANITIZE {
function S_mutex_release (line 433) | void S_mutex_release(scheme_mutex_t *m) NO_THREAD_SANITIZE {
function s_thread_cond_t (line 448) | s_thread_cond_t *S_make_condition() {
function S_condition_free (line 458) | void S_condition_free(s_thread_cond_t *c) {
function s_thread_cond_timedwait (line 465) | static inline int s_thread_cond_timedwait(s_thread_cond_t *cond, s_threa...
function s_thread_cond_timedwait (line 491) | static inline int s_thread_cond_timedwait(s_thread_cond_t *cond, s_threa...
function IBOOL (line 513) | IBOOL S_condition_wait(s_thread_cond_t *c, scheme_mutex_t *m, ptr t) {
FILE: racket/src/ChezScheme/c/thread.h
type DWORD (line 29) | typedef DWORD s_thread_t;
type DWORD (line 30) | typedef DWORD s_thread_key_t;
type CRITICAL_SECTION (line 31) | typedef CRITICAL_SECTION s_thread_mutex_t;
type CONDITION_VARIABLE (line 32) | typedef CONDITION_VARIABLE s_thread_cond_t;
type s_thread_rv_t (line 33) | typedef void s_thread_rv_t;
type pthread_t (line 58) | typedef pthread_t s_thread_t;
type pthread_key_t (line 59) | typedef pthread_key_t s_thread_key_t;
type pthread_mutex_t (line 60) | typedef pthread_mutex_t s_thread_mutex_t;
type pthread_cond_t (line 61) | typedef pthread_cond_t s_thread_cond_t;
function s_thread_create (line 66) | static inline int s_thread_create(void *(* start_routine)(void *), void ...
FILE: racket/src/ChezScheme/c/types.h
type U32 (line 32) | typedef U32 bigit;
type U64 (line 33) | typedef U64 bigitbigit;
type I32 (line 34) | typedef I32 ibigit;
type I64 (line 35) | typedef I64 ibigitbigit;
type INT (line 61) | typedef int INT;
type UINT (line 62) | typedef unsigned int UINT;
type ITYPE (line 63) | typedef int ITYPE;
type ISPC (line 64) | typedef int ISPC;
type IGEN (line 65) | typedef int IGEN;
type IDIRTYBYTE (line 66) | typedef int IDIRTYBYTE;
type IBOOL (line 67) | typedef int IBOOL;
type ICHAR (line 68) | typedef int ICHAR;
type IFASLCODE (line 69) | typedef int IFASLCODE;
type seginfo (line 143) | typedef struct _seginfo {
type chunkinfo (line 187) | typedef struct _chunkinfo {
type t1table (line 200) | typedef struct _t1table {
type t2table (line 205) | typedef struct _t2table {
type bucket (line 255) | typedef struct _bucket {
type bucket_list (line 260) | typedef struct _bucket_list {
type bucket_pointer_list (line 265) | typedef struct _bucket_pointer_list {
type dirtycardinfo (line 317) | typedef struct _dirtycardinfo {
type scheme_mutex_t (line 357) | typedef struct {
type thread_gc (line 467) | typedef struct thread_gc {
type unbufFaslFileObj (line 575) | struct unbufFaslFileObj {
type faslFileObj (line 581) | struct faslFileObj {
type fileFaslFileObj (line 590) | struct fileFaslFileObj {
FILE: racket/src/ChezScheme/c/version.h
function FORCEINLINE (line 87) | FORCEINLINE uptr load_unaligned_uptr(uptr *addr) {
function FORCEINLINE (line 90) | FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) {
type tputsputcchar (line 120) | typedef int tputsputcchar;
type tputsputcchar (line 156) | typedef int tputsputcchar;
type timespec (line 185) | struct timespec
type tputsputcchar (line 188) | typedef int tputsputcchar;
type timespec (line 218) | struct timespec
type timespec (line 270) | struct timespec
type timespec (line 287) | struct timespec
type tputsputcchar (line 290) | typedef int tputsputcchar;
type tputsputcchar (line 336) | typedef int tputsputcchar;
type tputsputcchar (line 369) | typedef int tputsputcchar;
type tputsputcchar (line 401) | typedef char tputsputcchar;
type tputsputcchar (line 426) | typedef int tputsputcchar;
FILE: racket/src/ChezScheme/c/vfasl.c
type uptr (line 55) | typedef uptr vfoff;
function uptr (line 77) | static uptr symbol_pos_to_offset(uptr sym_pos) {
function ptr (line 92) | ptr S_vfasl(ptr bv, faslFile stream, iptr offset, iptr input_len)
function ptr (line 463) | ptr S_vfasl_to(ptr bv)
function relink_code (line 480) | static void relink_code(ptr co, ptr sym_base, ptr *vspaces, uptr *vspace...
function ptr (line 579) | static ptr find_pointer_from_offset(uptr p_off, ptr *vspaces, uptr *vspa...
function ptr (line 610) | static ptr lookup_singleton(iptr which) {
FILE: racket/src/ChezScheme/c/windows.c
function S_machine_init (line 32) | void S_machine_init(void) {
function INT (line 40) | INT S_getpagesize(void) {
function HMODULE (line 53) | HMODULE *S_enum_process_modules(void) {
function ptr (line 89) | ptr S_ntdlerror(void) {
function S_doflush (line 94) | void S_doflush(uptr start, uptr end) {
function INT (line 98) | INT S_flushcache_max_gap(void) {
function SplitRegistryKey (line 103) | static void SplitRegistryKey(char *who, wchar_t *wholekey, HKEY *key, wc...
function ptr (line 136) | static ptr s_GetRegistry(wchar_t *s) {
function s_PutRegistry (line 178) | static void s_PutRegistry(wchar_t *s, wchar_t *val) {
function s_RemoveRegistry (line 223) | static void s_RemoveRegistry(wchar_t *s) {
function IUnknown (line 258) | static IUnknown *s_CreateInstance(CLSID *pCLSID, IID *iid) {
function ptr (line 275) | static ptr s_ErrorString(DWORD dwMessageId) {
function ptr (line 279) | static ptr s_ErrorStringImp(DWORD dwMessageId, const char *lpcDefault) {
function ptr (line 321) | ptr S_LastErrorString(void) {
function S_windows_open_exclusive (line 326) | int S_windows_open_exclusive(char *who, char *path, int flags) {
function S_windows_flock (line 360) | int S_windows_flock(int fd, int operation) {
function S_windows_chdir (line 385) | int S_windows_chdir(const char *pathname) {
function S_windows_chmod (line 393) | int S_windows_chmod(const char *pathname, int mode) {
function S_windows_mkdir (line 401) | int S_windows_mkdir(const char *pathname) {
function S_windows_open (line 409) | int S_windows_open(const char *pathname, int flags, int mode) {
function S_windows_rename (line 417) | int S_windows_rename(const char *oldpathname, const char *newpathname) {
function S_windows_rmdir (line 426) | int S_windows_rmdir(const char *pathname) {
function S_windows_stat64 (line 444) | int S_windows_stat64(const char *pathname, struct STATBUF *buffer) {
function S_windows_system (line 465) | int S_windows_system(const char *command) {
function S_windows_unlink (line 473) | int S_windows_unlink(const char *pathname) {
function wchar_t (line 519) | wchar_t *Sutf8_to_wide(const char *arg) {
FILE: racket/src/ChezScheme/examples/crepl.c
function custom_init (line 36) | static void custom_init(void) {}
function main (line 38) | int main(int argc, char *argv[]) {
FILE: racket/src/ChezScheme/examples/csocket.c
function c_write (line 19) | int c_write(int fd, char *buf, ssize_t start, ssize_t n) {
function c_read (line 37) | int c_read(int fd, char *buf, size_t start, size_t n) {
function bytes_ready (line 50) | int bytes_ready(int fd) {
function do_socket (line 60) | int do_socket(void) {
function do_bind (line 66) | int do_bind(int s, char *name) {
function do_accept (line 78) | int do_accept(int s) {
function do_connect (line 88) | int do_connect(int s, char *name) {
FILE: racket/src/ChezScheme/mats/cat_flush.c
function main (line 24) | int main() {
FILE: racket/src/ChezScheme/mats/foreign1.c
function EXPORT (line 27) | EXPORT int id(int x) {
function EXPORT (line 31) | EXPORT int idid(int x) {
function EXPORT (line 35) | EXPORT int ididid(int x) {
function iduns (line 39) | EXPORT unsigned int iduns(unsigned int x) {
function EXPORT (line 43) | EXPORT iptr idiptr(iptr x) {
function EXPORT (line 47) | EXPORT iptr idiptr_addr(void) {
function EXPORT (line 51) | EXPORT double float_id(double x) {
function EXPORT (line 123) | EXPORT char *windows_strcpy(char *dst, char *src) {
function EXPORT (line 127) | EXPORT int windows_strcmp(char *dst, char *src) {
function EXPORT (line 131) | EXPORT void *windows_malloc(long n) {
function EXPORT (line 135) | EXPORT void windows_free(void *x) {
function EXPORT (line 140) | EXPORT int set_errno_value(int x) {
function EXPORT (line 147) | EXPORT int set_last_error_value(int x) {
function EXPORT (line 155) | EXPORT int call_for_interrupt_test(int (*f)(int), int v) {
function EXPORT (line 163) | EXPORT int is_in_callback_for_interrupt_test() {
FILE: racket/src/ChezScheme/mats/foreign2.c
function EXPORT (line 30) | EXPORT int testten(int x0,int x1,int x2,int x3,int x4,int x5,int x6,int ...
function EXPORT (line 43) | EXPORT double flsum8(double x1,double x2,double x3,double x4,double x5,d...
function EXPORT (line 47) | EXPORT double sparcfltest(int x1,int x2,int x3,int x4,int x5,double x6,i...
function EXPORT (line 51) | EXPORT double mipsfltest1(int x1,int x2,double x3) {
function EXPORT (line 55) | EXPORT double mipsfltest2(int x1,double x2,double x3) {
function EXPORT (line 59) | EXPORT double ppcfltest(int x1,double x2,int x3,double x4,int x5,double ...
function EXPORT (line 63) | EXPORT double ppcfltest2(int x1, double x2, int x3, double x4, int x5, l...
type i8 (line 67) | typedef char i8;
type u8 (line 68) | typedef unsigned char u8;
type i16 (line 69) | typedef short i16;
type u16 (line 70) | typedef unsigned short u16;
type i32 (line 71) | typedef int i32;
type u32 (line 72) | typedef unsigned int u32;
type __int64 (line 74) | typedef __int64 i64;
type u64 (line 75) | typedef unsigned __int64 u64;
type __int64 (line 76) | typedef __int64 LONGLONG;
type UNSIGNED_LONGLONG (line 77) | typedef unsigned __int64 UNSIGNED_LONGLONG;
type i64 (line 79) | typedef long long i64;
type u64 (line 80) | typedef unsigned long long u64;
type LONGLONG (line 81) | typedef long long LONGLONG;
type UNSIGNED_LONGLONG (line 82) | typedef unsigned long long UNSIGNED_LONGLONG;
type single_float (line 84) | typedef float single_float;
type double_float (line 85) | typedef double double_float;
function EXPORT (line 87) | EXPORT int check_types(int Bchar, int Bwchar, int Bshort, int Bint, int ...
function EXPORT (line 168) | EXPORT i8 i8_to_i8(i8 x, int k) {
function EXPORT (line 172) | EXPORT u8 u8_to_u8(u8 x, int k) {
function EXPORT (line 176) | EXPORT i8 call_i8(ptr code, i8 x, int m, int k) {
function EXPORT (line 180) | EXPORT u8 call_u8(ptr code, u8 x, int m, int k) {
function EXPORT (line 184) | EXPORT i16 i16_to_i16(i16 x, int k) {
function EXPORT (line 188) | EXPORT u16 u16_to_u16(u16 x, int k) {
function EXPORT (line 192) | EXPORT i16 call_i16(ptr code, i16 x, int m, int k) {
function EXPORT (line 196) | EXPORT u16 call_u16(ptr code, u16 x, int m, int k) {
function EXPORT (line 200) | EXPORT i32 i32_to_i32(i32 x, int k) {
function EXPORT (line 204) | EXPORT u32 u32_to_u32(u32 x, int k) {
function EXPORT (line 208) | EXPORT i32 call_i32(ptr code, i32 x, int m, int k) {
function EXPORT (line 212) | EXPORT u32 call_u32(ptr code, u32 x, int m, int k) {
function EXPORT (line 216) | EXPORT i64 i64_to_i64(u64 x, int k) {
function EXPORT (line 220) | EXPORT u64 u64_to_u64(u64 x, int k) {
function EXPORT (line 224) | EXPORT i64 call_i64(ptr code, i64 x, int m, int k) {
function EXPORT (line 228) | EXPORT u64 call_u64(ptr code, u64 x, int m, int k) {
function EXPORT (line 232) | EXPORT single_float sf_to_sf(single_float x) {
function EXPORT (line 236) | EXPORT single_float call_sf(ptr code, single_float x, int m, int k) {
function EXPORT (line 240) | EXPORT double_float df_to_df(double_float x) {
function EXPORT (line 244) | EXPORT double_float call_df(ptr code, double_float x, int m, int k) {
function EXPORT (line 249) | EXPORT double_float call_varargs_df(ptr code, double_float x, int m, int...
function EXPORT (line 254) | EXPORT double_float call_varargs_dfii(ptr code, double_float x, int m, i...
function EXPORT (line 259) | EXPORT double_float call_varargs_dfidf(ptr code, double_float x, int m, ...
function EXPORT (line 264) | EXPORT double_float call_varargs_dfsfi(ptr code, double_float x, single_...
function EXPORT (line 269) | EXPORT double_float call_varargs_i7df(ptr code, int i,
function EXPORT (line 276) | EXPORT double_float varargs_df(double_float x, ...) {
function EXPORT (line 286) | EXPORT double_float varargs_dfii(double_float x, int m, ...) {
function EXPORT (line 295) | EXPORT double_float varargs_dfidf(double_float x, int m, ...) {
function EXPORT (line 304) | EXPORT double_float varargs_sfdfi(single_float x, double_float m, ...) {
function EXPORT (line 313) | EXPORT double_float varargs_i7df(int i, ...) {
function EXPORT (line 332) | EXPORT u8 *u8_star_to_u8_star(u8 *s) {
function EXPORT (line 336) | EXPORT u8 *call_u8_star(ptr code, u8 *s) {
function EXPORT (line 340) | EXPORT u16 *u16_star_to_u16_star(u16 *s) {
function EXPORT (line 344) | EXPORT u16 *call_u16_star(ptr code, u16 *s) {
function EXPORT (line 348) | EXPORT u32 *u32_star_to_u32_star(u32 *s) {
function EXPORT (line 352) | EXPORT u32 *call_u32_star(ptr code, u32 *s) {
function EXPORT (line 356) | EXPORT char *char_star_to_char_star(char *s) {
function EXPORT (line 360) | EXPORT char *call_string(ptr code, char *s) {
function EXPORT (line 364) | EXPORT wchar_t *wchar_star_to_wchar_star(wchar_t *s) {
function EXPORT (line 368) | EXPORT wchar_t *call_wstring(ptr code, wchar_t *s) {
function EXPORT (line 372) | EXPORT char char_to_char(char x) {
function EXPORT (line 376) | EXPORT char call_char(ptr code, char x, int m, int k) {
function EXPORT (line 380) | EXPORT wchar_t wchar_to_wchar(wchar_t x) {
function EXPORT (line 384) | EXPORT wchar_t call_wchar(ptr code, wchar_t x, int m, int k) {
function short_to_short (line 388) | EXPORT short short_to_short(short x, int k) {
function unsigned_short_to_unsigned_short (line 392) | EXPORT unsigned short unsigned_short_to_unsigned_short(unsigned short x,...
function call_short (line 396) | EXPORT short call_short(ptr code, short x, int m, int k) {
function call_unsigned_short (line 400) | EXPORT unsigned short call_unsigned_short(ptr code, unsigned short x, in...
function EXPORT (line 404) | EXPORT int int_to_int(int x, int k) {
function unsigned_to_unsigned (line 408) | EXPORT unsigned unsigned_to_unsigned(int x, int k) {
function EXPORT (line 412) | EXPORT int call_int(ptr code, int x, int m, int k) {
function call_unsigned (line 416) | EXPORT unsigned call_unsigned(ptr code, unsigned x, int m, int k) {
function long_to_long (line 420) | EXPORT long long_to_long(long x, int k) {
function unsigned_long_to_unsigned_long (line 424) | EXPORT unsigned long unsigned_long_to_unsigned_long(unsigned long x, int...
function call_long (line 428) | EXPORT long call_long(ptr code, long x, int m, int k) {
function call_unsigned_long (line 432) | EXPORT unsigned long call_unsigned_long(ptr code, unsigned long x, int m...
function EXPORT (line 436) | EXPORT LONGLONG long_long_to_long_long(LONGLONG x, int k) {
function EXPORT (line 440) | EXPORT UNSIGNED_LONGLONG unsigned_long_long_to_unsigned_long_long(UNSIGN...
function EXPORT (line 444) | EXPORT LONGLONG call_long_long(ptr code, LONGLONG x, int m, int k) {
function EXPORT (line 448) | EXPORT UNSIGNED_LONGLONG call_unsigned_long_long(ptr code, UNSIGNED_LONG...
function EXPORT (line 452) | EXPORT iptr iptr_to_iptr(iptr x, int k) {
function EXPORT (line 456) | EXPORT iptr uptr_to_uptr(uptr x, int k) {
function EXPORT (line 460) | EXPORT iptr call_iptr(ptr code, iptr x, int m, int k) {
function EXPORT (line 464) | EXPORT iptr call_uptr(ptr code, uptr x, int m, int k) {
function EXPORT (line 468) | EXPORT float float_to_float(float x) {
function EXPORT (line 472) | EXPORT float call_float(ptr code, float x, int m, int k) {
function EXPORT (line 476) | EXPORT double double_to_double(double x) {
function EXPORT (line 480) | EXPORT double call_double(ptr code, double x, int m, int k) {
function EXPORT (line 484) | EXPORT u64 u32xu32_to_u64(u32 x, u32 y) {
function EXPORT (line 488) | EXPORT i64 i32xu32_to_i64(i32 x, u32 y) {
function EXPORT (line 492) | EXPORT i64 call_i32xu32_to_i64(ptr code, i32 x, u32 y, int k) {
function EXPORT (line 497) | EXPORT u64 ufoo64a(u64 a, u64 b, u64 c, u64 d, u64 e, u64 f, u64 g) {
function EXPORT (line 501) | EXPORT u64 ufoo64b(u32 x, u64 a, u64 b, u64 c, u64 d, u64 e, u64 f, u64 ...
function EXPORT (line 505) | EXPORT i64 ifoo64a(i64 a, i64 b, i64 c, i64 d, i64 e, i64 f, i64 g) {
function EXPORT (line 509) | EXPORT i64 ifoo64b(i32 x, i64 a, i64 b, i64 c, i64 d, i64 e, i64 f, i64 ...
function EXPORT (line 513) | EXPORT void call_many_times(void (*f)(iptr))
function EXPORT (line 532) | EXPORT void call_many_times_bv(void (*f)(char *s))
function EXPORT (line 546) | EXPORT void call_with_many_args(many_arg_callback_t callback)
function EXPORT (line 551) | EXPORT iptr many_ints_and_floats(int o, int p, int q, int a, int b, int ...
type three_floats (line 555) | typedef struct {
function EXPORT (line 559) | EXPORT double many_doubles_and_three_floats_and_float(double a, double b...
function EXPORT (line 563) | EXPORT double many_doubles_and_float_and_three_floats(double a, double b...
function EXPORT (line 567) | EXPORT double many_doubles_and_three_floats_and_three_floats(double a, d...
type int_uint_int (line 571) | typedef struct {
function EXPORT (line 577) | EXPORT int_uint_int get_int_uint_int(int a, unsigned int b, int c){
function EXPORT (line 582) | EXPORT int call_with_int_uint_int(int (*f)(int_uint_int), int a, unsigne...
FILE: racket/src/ChezScheme/mats/foreign3.c
function EXPORT (line 37) | EXPORT int chk_data(void) {
function EXPORT (line 44) | EXPORT int chk_bss(void) {
function EXPORT (line 53) | EXPORT int chk_malloc(void) {
function EXPORT (line 67) | EXPORT float sxstos(float x, float y) {
function EXPORT (line 71) | EXPORT float singlesum12(float x1, float x2, float x3, float x4,
function EXPORT (line 82) | EXPORT double d1d2(double d1, double d2) {
function EXPORT (line 85) | EXPORT double s1s2(float s1, float s2) {
function EXPORT (line 88) | EXPORT double s1d1(float s1, double d1) {
function EXPORT (line 91) | EXPORT double d1s1(double d1, float s1) {
function EXPORT (line 94) | EXPORT double n1n2n3n4(int n1, int n2, int n3, int n4) {
function EXPORT (line 97) | EXPORT double d1n1d2(double d1, int n1, double d2) {
function EXPORT (line 100) | EXPORT double d1n1n2(double d1, int n1, int n2) {
function EXPORT (line 103) | EXPORT double s1n1n2(float s1, int n1, int n2) {
function EXPORT (line 106) | EXPORT double n1n2n3d1(int n1, int n2, int n3, double d1) {
function EXPORT (line 109) | EXPORT double n1n2n3s1(int n1, int n2, int n3, float s1) {
function EXPORT (line 112) | EXPORT double n1n2d1(int n1, int n2, double d1) {
function EXPORT (line 115) | EXPORT double n1d1(int n1, double d1) {
function EXPORT (line 118) | EXPORT double s1s2s3s4(float s1, float s2, float s3, float s4) {
function EXPORT (line 121) | EXPORT double s1n1s2n2(float s1, int n1, float s2, int n2) {
function EXPORT (line 124) | EXPORT double d1s1s2(double d1, float s1, float s2) {
function EXPORT (line 127) | EXPORT double s1s2d1(float s1, float s2, double d1) {
function EXPORT (line 130) | EXPORT double n1s1n2s2(int n1, float s1, int n2, float s2) {
function EXPORT (line 133) | EXPORT double n1s1n2n3(int n1, float s1, int n2, int n3) {
function EXPORT (line 136) | EXPORT double n1n2s1n3(int n1, int n2, float s1, int n3) {
function EXPORT (line 141) | EXPORT double d1d2s1s2(double d1, double d2, float s1, float s2) {
function EXPORT (line 144) | EXPORT double d1d2n1n2(double d1, double d2, int n1, int n2) {
function EXPORT (line 147) | EXPORT double s1d1s2s3(float s1, double d1, float s2, float s3) {
function EXPORT (line 152) | EXPORT ptr Sinvoke2(ptr code, ptr x1, iptr x2) {
function EXPORT (line 156) | EXPORT ptr Sargtest(iptr f, int x1, int x2, iptr x3, double x4, float x5...
function EXPORT (line 160) | EXPORT ptr Sargtest2(iptr f, short x1, int x2, char x3, double x4, short...
function EXPORT (line 164) | EXPORT int Srvtest_int32(ptr code, ptr x1) {
function Srvtest_uns32 (line 168) | EXPORT unsigned Srvtest_uns32(ptr code, ptr x1) {
function EXPORT (line 172) | EXPORT float Srvtest_single(ptr code, ptr x1) {
function EXPORT (line 176) | EXPORT double Srvtest_double(ptr code, ptr x1) {
function EXPORT (line 180) | EXPORT char Srvtest_char(ptr code, ptr x1) {
function EXPORT (line 184) | EXPORT bool Srvtest_stdbool(ptr code, ptr x1) {
function EXPORT (line 189) | EXPORT int __stdcall sum_stdcall(int a, int b) {
function EXPORT (line 193) | EXPORT ptr Sinvoke2_stdcall(ptr code, ptr x1, iptr x2) {
type com_instance_t (line 198) | typedef struct { comfunc *vtable; int data; } com_instance_t;
function com_method0 (line 203) | extern int __stdcall com_method0(void *inst, int val) {
function com_method1 (line 207) | extern int __stdcall com_method1(void *inst, int val) {
function EXPORT (line 211) | EXPORT com_instance_t *get_com_instance(void) {
function EXPORT (line 225) | EXPORT void cb_init(void) {
function EXPORT (line 232) | EXPORT void register_callback(char c, iptr cb) {
function EXPORT (line 236) | EXPORT void event_loop(char *s) {
function EXPORT (line 252) | EXPORT void call_twice(void (*foo)(int), int x, int y) {
function EXPORT (line 257) | EXPORT void unlock_callback(int (* f)(int)) {
function EXPORT (line 261) | EXPORT int call_and_unlock(int (* f)(int), int arg) {
function EXPORT (line 267) | EXPORT void init_lock (uptr *u) {
function EXPORT (line 271) | EXPORT void spinlock (uptr *u) {
function EXPORT (line 275) | EXPORT void unlock (uptr *u) {
function EXPORT (line 279) | EXPORT int locked_incr (uptr *u) {
function EXPORT (line 285) | EXPORT int locked_decr (uptr *u) {
FILE: racket/src/ChezScheme/mats/foreign4.c
type i8 (line 36) | typedef signed char i8;
type u8 (line 37) | typedef unsigned char u8;
type u16 (line 38) | typedef unsigned short u16;
type __int64 (line 40) | typedef __int64 i64;
type i64 (line 43) | typedef long long i64;
function EXPORT (line 59) | EXPORT void *malloc_at_boundary(int sz)
function EXPORT (line 68) | EXPORT void free_at_boundary(void *p)
function EXPORT (line 76) | EXPORT void *malloc_at_boundary(int sz)
function EXPORT (line 87) | EXPORT void free_at_boundary(void *p)
function EXPORT (line 96) | EXPORT void *malloc_at_boundary(int sz)
function EXPORT (line 101) | EXPORT void free_at_boundary(void *p)
type in_thread_args_t (line 120) | typedef struct in_thread_args_t {
function EXPORT (line 138) | EXPORT double call_in_unknown_thread(double (*proc)(double arg), double ...
type in_one_thread_args_t (line 164) | typedef struct in_one_thread_args_t {
function EXPORT (line 183) | EXPORT int call_in_many_unknown_threads(int (*proc)(int), int arg,
function spin_a_while (line 204) | EXPORT unsigned spin_a_while(int amt, unsigned a, unsigned b)
type struct_i8_i8_i8_i8_i8 (line 391) | typedef struct struct_i8_i8_i8_i8_i8 { i8 x, y, z, w, q; } struct_i8_i8_...
function _f4_sum_struct_i8_i8_i8_i8_i8 (line 392) | static double _f4_sum_struct_i8_i8_i8_i8_i8 (struct_i8_i8_i8_i8_i8 v) {
type struct_i8_i8_i8_i8_i8 (line 395) | struct struct_i8_i8_i8_i8_i8
type struct_i8_i8_i8_i8_i8_i8_i8 (line 398) | typedef struct struct_i8_i8_i8_i8_i8_i8_i8 { i8 x, y, z, w, q, r, s; } s...
function _f4_sum_struct_i8_i8_i8_i8_i8_i8_i8 (line 399) | static double _f4_sum_struct_i8_i8_i8_i8_i8_i8_i8 (struct struct_i8_i8_i...
type struct_i8_i8_i8_i8_i8_i8_i8 (line 402) | struct struct_i8_i8_i8_i8_i8_i8_i8
type struct_uniondoubledouble_double (line 441) | typedef struct struct_uniondoubledouble_double {
function _f4_sum_struct_uniondoubledouble_double (line 445) | static double _f4_sum_struct_uniondoubledouble_double (struct_uniondoubl...
type intfloat (line 451) | typedef struct {
type intfloat (line 455) | typedef intfloat (*intfloat_build_t)(int i, float f);
function intfloat_sum (line 457) | static double intfloat_sum(intfloat n) {
function EXPORT (line 460) | EXPORT double intfloat_sum_built(intfloat_build_t proc) {
FILE: racket/src/ChezScheme/zlib/adler32.c
function uLong (line 61) | uLong ZEXPORT adler32_z(uLong adler, const Bytef *buf, z_size_t len) {
function uLong (line 128) | uLong ZEXPORT adler32(uLong adler, const Bytef *buf, uInt len) {
function local (line 133) | local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2) {
function uLong (line 158) | uLong ZEXPORT adler32_combine(uLong adler1, uLong adler2, z_off_t len2) {
function uLong (line 162) | uLong ZEXPORT adler32_combine64(uLong adler1, uLong adler2, z_off64_t le...
FILE: racket/src/ChezScheme/zlib/compress.c
function compress2 (line 22) | int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source,
function compress (line 63) | int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source,
function uLong (line 72) | uLong ZEXPORT compressBound(uLong sourceLen) {
FILE: racket/src/ChezScheme/zlib/contrib/blast/blast.c
type state (line 41) | struct state {
function local (line 72) | local int bits(struct state *s, int need)
type huffman (line 103) | struct huffman {
function local (line 129) | local int decode(struct state *s, struct huffman *h)
function local (line 191) | local int construct(struct huffman *h, const unsigned char *rep, int n)
function local (line 282) | local int decomp(struct state *s)
function blast (line 383) | int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow,
function inf (line 432) | local unsigned inf(void *how, unsigned char **buf)
function local (line 440) | local int outf(void *how, unsigned char *buf, unsigned len)
function main (line 446) | int main(void)
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs
class ChecksumGeneratorBase (line 20) | public abstract class ChecksumGeneratorBase : ChecksumGenerator
method ChecksumGeneratorBase (line 31) | public ChecksumGeneratorBase()
method ChecksumGeneratorBase (line 40) | public ChecksumGeneratorBase(uint initialValue)
method Reset (line 48) | public void Reset() { _current = 0; }
method Update (line 66) | public abstract void Update(byte[] data, int offset, int count);
method Update (line 72) | public void Update(byte[] data)
method Update (line 82) | public void Update(string data)
method Update (line 92) | public void Update(string data, Encoding encoding)
class CRC32Checksum (line 104) | public sealed class CRC32Checksum : ChecksumGeneratorBase
method crc32 (line 108) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method CRC32Checksum (line 116) | public CRC32Checksum() : base() {}
method CRC32Checksum (line 122) | public CRC32Checksum(uint initialValue) : base(initialValue) {}
method Update (line 133) | public override void Update(byte[] data, int offset, int count)
class AdlerChecksum (line 155) | public sealed class AdlerChecksum : ChecksumGeneratorBase
method adler32 (line 159) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method AdlerChecksum (line 167) | public AdlerChecksum() : base() {}
method AdlerChecksum (line 173) | public AdlerChecksum(uint initialValue) : base(initialValue) {}
method Update (line 184) | public override void Update(byte[] data, int offset, int count)
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs
class CircularBuffer (line 17) | internal class CircularBuffer
method CircularBuffer (line 27) | public CircularBuffer(int capacity)
method Put (line 39) | public int Put(byte[] source, int offset, int count)
method Put (line 51) | public bool Put(byte b)
method Get (line 61) | public int Get(byte[] destination, int offset, int count)
method Get (line 72) | public int Get()
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/CodecBase.cs
class CodecBase (line 16) | public abstract class CodecBase : Codec, IDisposable
method CodecBase (line 50) | public CodecBase()
method OnDataAvailable (line 75) | protected void OnDataAvailable()
method Add (line 90) | public void Add(byte[] data)
method Add (line 103) | public abstract void Add(byte[] data, int offset, int count);
method Finish (line 109) | public abstract void Finish();
method Dispose (line 131) | public void Dispose()
method CleanUp (line 140) | protected abstract void CleanUp();
method CleanUp (line 143) | private void CleanUp(bool isDisposing)
method copyInput (line 168) | protected void copyInput(byte[] data, int startIndex, int count)
method resetOutput (line 180) | protected void resetOutput()
method setChecksum (line 191) | protected void setChecksum(uint newSum)
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/Deflater.cs
class Deflater (line 18) | public sealed class Deflater : CodecBase
method deflateInit_ (line 21) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, Cha...
method deflate (line 24) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method deflateReset (line 27) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method deflateEnd (line 30) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method Deflater (line 38) | public Deflater(CompressLevel level) : base()
method Add (line 54) | public override void Add(byte[] data, int offset, int count)
method Finish (line 86) | public override void Finish()
method CleanUp (line 103) | protected override void CleanUp() { deflateEnd(ref _ztream); }
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/DotZLib.cs
type FlushTypes (line 22) | internal enum FlushTypes
type ZStream (line 29) | [StructLayoutAttribute(LayoutKind.Sequential, Pack=4, Size=0, CharSet=Ch...
type CompressLevel (line 61) | public enum CompressLevel : int
class ZLibException (line 86) | public class ZLibException : ApplicationException
method ZLibException (line 94) | public ZLibException(int errorCode, string msg) : base(String.Format("...
method ZLibException (line 103) | public ZLibException(int errorCode) : base(String.Format("ZLib error {...
type ChecksumGenerator (line 114) | public interface ChecksumGenerator
method Reset (line 124) | void Reset();
method Update (line 130) | void Update(byte[] data);
method Update (line 141) | void Update(byte[] data, int offset, int count);
method Update (line 148) | void Update(string data);
method Update (line 155) | void Update(string data, Encoding encoding);
type Codec (line 174) | public interface Codec
method Add (line 186) | void Add(byte[] data);
method Add (line 195) | void Add(byte[] data, int offset, int count);
method Finish (line 200) | void Finish();
class Info (line 216) | public class Info
method zlibCompileFlags (line 219) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method zlibVersion (line 222) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method bitSize (line 230) | private static int bitSize(uint bits)
method Info (line 245) | public Info()
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/GZipStream.cs
class GZipStream (line 17) | public class GZipStream : Stream, IDisposable
method gzopen (line 20) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, Cha...
method gzclose (line 23) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method gzwrite (line 26) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method gzread (line 29) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method gzgetc (line 32) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method gzputc (line 35) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method GZipStream (line 53) | public GZipStream(string fileName, CompressLevel level)
method GZipStream (line 66) | public GZipStream(string fileName)
method Dispose (line 125) | public void Dispose()
method cleanUp (line 131) | private void cleanUp(bool isDisposing)
method Read (line 154) | public override int Read(byte[] buffer, int offset, int count)
method ReadByte (line 181) | public override int ReadByte()
method Write (line 199) | public override void Write(byte[] buffer, int offset, int count)
method WriteByte (line 226) | public override void WriteByte(byte value)
method SetLength (line 243) | public override void SetLength(long value)
method Seek (line 255) | public override long Seek(long offset, SeekOrigin origin)
method Flush (line 265) | public override void Flush()
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/Inflater.cs
class Inflater (line 18) | public class Inflater : CodecBase
method inflateInit_ (line 21) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, Cha...
method inflate (line 24) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method inflateReset (line 27) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method inflateEnd (line 30) | [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
method Inflater (line 37) | public Inflater() : base()
method Add (line 54) | public override void Add(byte[] data, int offset, int count)
method Finish (line 84) | public override void Finish()
method CleanUp (line 101) | protected override void CleanUp() { inflateEnd(ref _ztream); }
FILE: racket/src/ChezScheme/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
class Utils (line 28) | internal class Utils
method byteArrEqual (line 30) | public static bool byteArrEqual( byte[] lhs, byte[] rhs )
class CircBufferTests (line 43) | [TestFixture]
method SinglePutGet (line 47) | [Test]
method BlockPutGet (line 61) | [Test]
class ChecksumTests (line 80) | [TestFixture]
method CRC32_Null (line 84) | [Test]
method CRC32_Data (line 97) | [Test]
method Adler_Null (line 118) | [Test]
method Adler_Data (line 131) | [Test]
class InfoTests (line 151) | [TestFixture]
method Info_Version (line 155) | [Test]
class DeflateInflateTests (line 168) | [TestFixture]
method Deflate_Init (line 172) | [Test]
method CDataAvail (line 186) | public void CDataAvail(byte[] data, int startIndex, int count)
method Deflate_Compress (line 192) | [Test]
method Inflate_Init (line 212) | [Test]
method DDataAvail (line 220) | private void DDataAvail(byte[] data, int startIndex, int count)
method Inflate_Expand (line 226) | [Test]
class GZipStreamTests (line 243) | [TestFixture]
method GZipStream_WriteRead (line 247) | [Test]
FILE: racket/src/ChezScheme/zlib/contrib/infback9/infback9.c
function inflateBack9Init_ (line 19) | int ZEXPORT inflateBack9Init_(z_stream FAR *strm, unsigned char FAR *win...
function makefixed9 (line 50) | void makefixed9(void) {
function inflateBack9 (line 212) | int ZEXPORT inflateBack9(z_stream FAR *strm, in_func in, void FAR *in_desc,
function inflateBack9End (line 596) | int ZEXPORT inflateBack9End(z_stream FAR *strm) {
FILE: racket/src/ChezScheme/zlib/contrib/infback9/inflate9.h
type inflate_mode (line 12) | typedef enum {
type inflate_state (line 35) | struct inflate_state {
FILE: racket/src/ChezScheme/zlib/contrib/infback9/inftree9.c
function inflate_table9 (line 32) | int inflate_table9(codetype type, unsigned short FAR *lens, unsigned codes,
FILE: racket/src/ChezScheme/zlib/contrib/infback9/inftree9.h
type code (line 24) | typedef struct {
type codetype (line 53) | typedef enum {
FILE: racket/src/ChezScheme/zlib/contrib/iostream/test.cpp
function main (line 4) | int main() {
FILE: racket/src/ChezScheme/zlib/contrib/iostream/zfstream.cpp
function gzfilebuf (line 18) | gzfilebuf *gzfilebuf::open( const char *name,
function gzfilebuf (line 60) | gzfilebuf *gzfilebuf::attach( int file_descriptor,
function gzfilebuf (line 102) | gzfilebuf *gzfilebuf::close() {
function streampos (line 129) | streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int whic...
function gzfilebuf (line 286) | gzfilebuf *gzfilestream_common::rdbuf()
FILE: racket/src/ChezScheme/zlib/contrib/iostream/zfstream.h
function class (line 8) | class gzfilebuf : public streambuf {
function class (line 44) | class gzfilestream_common : virtual public ios {
function gzomanip (line 118) | inline gzomanip<int> setcompressionlevel(int l)
function gzomanip (line 123) | inline gzomanip<int> setcompressionstrategy(int l)
FILE: racket/src/ChezScheme/zlib/contrib/iostream2/zstream.h
function class (line 40) | class zstringlen {
function class (line 51) | class izstream
function m_fp (line 56) | izstream(const char* name) : m_fp(0) { open(name); }
function open (line 65) | void open(const char* name) {
function open (line 70) | void open(FILE* fp) {
function close (line 80) | int close() {
function read (line 87) | int read(void* buf, size_t len) {
function gzFile (line 101) | gzFile fp() { return m_fp; }
function zstringlen (line 129) | inline zstringlen::zstringlen(izstream& zs) {
function class (line 155) | class ozstream
function open (line 177) | void open(const char* name, int level = Z_DEFAULT_COMPRESSION) {
function open (line 186) | void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION) {
function close (line 198) | int close() {
function write (line 208) | int write(const void* buf, size_t len) {
function flush (line 219) | int flush(int _flush) {
function gzFile (line 234) | gzFile fp() { return m_fp; }
function os_flush (line 241) | void os_flush() {
function zstringlen (line 277) | inline zstringlen::zstringlen(ozstream& zs, const char* x) {
FILE: racket/src/ChezScheme/zlib/contrib/iostream2/zstream_test.cpp
function main (line 6) | void main() {
FILE: racket/src/ChezScheme/zlib/contrib/iostream3/test.cc
function main (line 11) | int main() {
FILE: racket/src/ChezScheme/zlib/contrib/iostream3/zfstream.cc
function gzfilebuf (line 50) | gzfilebuf*
function gzfilebuf (line 78) | gzfilebuf*
function gzfilebuf (line 106) | gzfilebuf*
FILE: racket/src/ChezScheme/zlib/contrib/iostream3/zfstream.h
function class (line 27) | class gzfilebuf : public std::streambuf
function class (line 234) | class gzifstream : public std::istream
function class (line 323) | class gzofstream : public std::ostream
function gzomanip2 (line 462) | inline gzomanip2<int,int>
FILE: racket/src/ChezScheme/zlib/contrib/minizip/crypt.h
function decrypt_byte (line 35) | static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab) {
function update_keys (line 48) | static int update_keys(unsigned long* pkeys, const z_crc_t* pcrc_32_tab,...
function init_keys (line 64) | static void init_keys(const char* passwd, unsigned long* pkeys, const z_...
function crypthead (line 88) | static unsigned crypthead(const char* passwd, /* password string */
FILE: racket/src/ChezScheme/zlib/contrib/minizip/ioapi.c
function voidpf (line 31) | voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc, const void...
function call_zseek64 (line 40) | long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filest...
function ZPOS64_T (line 53) | ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc, voidpf f...
function fill_zlib_filefunc64_32_def_from_filefunc32 (line 66) | void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def*...
function voidpf (line 82) | static voidpf ZCALLBACK fopen_file_func(voidpf opaque, const char* filen...
function voidpf (line 100) | static voidpf ZCALLBACK fopen64_file_func(voidpf opaque, const void* fil...
function uLong (line 119) | static uLong ZCALLBACK fread_file_func(voidpf opaque, voidpf stream, voi...
function uLong (line 126) | static uLong ZCALLBACK fwrite_file_func(voidpf opaque, voidpf stream, co...
function ftell_file_func (line 133) | static long ZCALLBACK ftell_file_func(voidpf opaque, voidpf stream) {
function ZPOS64_T (line 141) | static ZPOS64_T ZCALLBACK ftell64_file_func(voidpf opaque, voidpf stream) {
function fseek_file_func (line 148) | static long ZCALLBACK fseek_file_func(voidpf opaque, voidpf stream, uLon...
function fseek64_file_func (line 171) | static long ZCALLBACK fseek64_file_func(voidpf opaque, voidpf stream, ZP...
function fclose_file_func (line 197) | static int ZCALLBACK fclose_file_func(voidpf opaque, voidpf stream) {
function ferror_file_func (line 204) | static int ZCALLBACK ferror_file_func(voidpf opaque, voidpf stream) {
function fill_fopen_filefunc (line 211) | void fill_fopen_filefunc(zlib_filefunc_def* pzlib_filefunc_def) {
function fill_fopen64_filefunc (line 222) | void fill_fopen64_filefunc(zlib_filefunc64_def* pzlib_filefunc_def) {
FILE: racket/src/ChezScheme/zlib/contrib/minizip/ioapi.h
type IT_INT_CUSTOM_TYPE (line 87) | typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
type ZPOS64_T (line 91) | typedef uint64_t ZPOS64_T;
type ZPOS64_T (line 97) | typedef unsigned __int64 ZPOS64_T;
type ZPOS64_T (line 99) | typedef unsigned long long int ZPOS64_T;
type uLong (line 139) | typedef uLong (ZCALLBACK *write_file_func) (voidpf opaque, voidpf...
type zlib_filefunc_def (line 148) | typedef struct zlib_filefunc_def_s
type zlib_filefunc64_def (line 164) | typedef struct zlib_filefunc64_def_s
type zlib_filefunc64_32_def (line 180) | typedef struct zlib_filefunc64_32_def_s
FILE: racket/src/ChezScheme/zlib/contrib/minizip/iowin32.c
type WIN32FILE_IOWIN (line 41) | typedef struct
function win32_translate_open_mode (line 48) | static void win32_translate_open_mode(int mode,
function voidpf (line 73) | static voidpf win32_build_iowin(HANDLE hFile) {
function voidpf (line 91) | voidpf ZCALLBACK win32_open64_file_func(voidpf opaque, const void* filen...
function voidpf (line 119) | voidpf ZCALLBACK win32_open64_file_funcA(voidpf opaque, const void* file...
function voidpf (line 142) | voidpf ZCALLBACK win32_open64_file_funcW(voidpf opaque, const void* file...
function voidpf (line 161) | voidpf ZCALLBACK win32_open_file_func(voidpf opaque, const char* filenam...
function uLong (line 189) | uLong ZCALLBACK win32_read_file_func(voidpf opaque, voidpf stream, void*...
function uLong (line 210) | uLong ZCALLBACK win32_write_file_func(voidpf opaque, voidpf stream, cons...
function BOOL (line 230) | static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_IN...
function win32_tell_file_func (line 249) | long ZCALLBACK win32_tell_file_func(voidpf opaque, voidpf stream) {
function ZPOS64_T (line 271) | ZPOS64_T ZCALLBACK win32_tell64_file_func(voidpf opaque, voidpf stream) {
function win32_seek_file_func (line 295) | long ZCALLBACK win32_seek_file_func(voidpf opaque, voidpf stream, uLong ...
function win32_seek64_file_func (line 332) | long ZCALLBACK win32_seek64_file_func(voidpf opaque, voidpf stream, ZPOS...
function win32_close_file_func (line 370) | int ZCALLBACK win32_close_file_func(voidpf opaque, voidpf stream) {
function win32_error_file_func (line 387) | int ZCALLBACK win32_error_file_func(voidpf opaque, voidpf stream) {
function fill_win32_filefunc (line 396) | void fill_win32_filefunc(zlib_filefunc_def* pzlib_filefunc_def) {
function fill_win32_filefunc64 (line 407) | void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def) {
function fill_win32_filefunc64A (line 419) | void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def) {
function fill_win32_filefunc64W (line 431) | void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def) {
FILE: racket/src/ChezScheme/zlib/contrib/minizip/miniunz.c
function change_file_date (line 84) | static void change_file_date(const char *filename, uLong dosdate, tm_unz...
function mymkdir (line 126) | static int mymkdir(const char* dirname) {
function makedir (line 140) | static int makedir(const char *newdir) {
function do_banner (line 188) | static void do_banner(void) {
function do_help (line 193) | static void do_help(void) {
function Display64BitsSize (line 204) | static void Display64BitsSize(ZPOS64_T n, int size_char) {
function do_list (line 231) | static int do_list(unzFile uf) {
function do_extract_currentfile (line 307) | static int do_extract_currentfile(unzFile uf, const int* popt_extract_wi...
function do_extract (line 478) | static int do_extract(unzFile uf, int opt_extract_without_path, int opt_...
function do_extract_onefile (line 508) | static int do_extract_onefile(unzFile uf, const char* filename, int opt_...
function main (line 524) | int main(int argc, char *argv[]) {
FILE: racket/src/ChezScheme/zlib/contrib/minizip/minizip.c
function filetime (line 76) | static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
function filetime (line 98) | static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
function filetime (line 139) | static int filetime(const char *f, tm_zip *tmzip, uLong *dt) {
function check_exist_file (line 151) | static int check_exist_file(const char* filename) {
function do_banner (line 162) | static void do_banner(void) {
function do_help (line 167) | static void do_help(void) {
function getFileCrc (line 179) | static int getFileCrc(const char* filenameinzip, void* buf, unsigned lon...
function isLargeFile (line 217) | static int isLargeFile(const char* filename) {
function main (line 238) | int main(int argc, char *argv[]) {
FILE: racket/src/ChezScheme/zlib/contrib/minizip/mztools.c
function unzRepair (line 30) | extern int ZEXPORT unzRepair(const char* file, const char* fileOut, cons...
FILE: racket/src/ChezScheme/zlib/contrib/minizip/unzip.c
type unz_file_info64_internal (line 121) | typedef struct unz_file_info64_internal_s
type file_in_zip64_read_info_s (line 129) | typedef struct
type unz64_s (line 160) | typedef struct
function local (line 200) | local int unz64local_getShort(const zlib_filefunc64_32_def* pzlib_filefu...
function local (line 220) | local int unz64local_getLong(const zlib_filefunc64_32_def* pzlib_filefun...
function local (line 241) | local int unz64local_getLong64(const zlib_filefunc64_32_def* pzlib_filef...
function local (line 263) | local int strcmpcasenosensitive_internal(const char* fileName1, const ch...
function unzStringFileNameCompare (line 303) | extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,
function local (line 327) | local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def*...
function local (line 387) | local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_de...
function local (line 492) | local unzFile unzOpenInternal(const void *path,
function unzFile (line 672) | extern unzFile ZEXPORT unzOpen2(const char *path,
function unzFile (line 684) | extern unzFile ZEXPORT unzOpen2_64(const void *path,
function unzFile (line 698) | extern unzFile ZEXPORT unzOpen(const char *path) {
function unzFile (line 702) | extern unzFile ZEXPORT unzOpen64(const void *path) {
function unzClose (line 711) | extern int ZEXPORT unzClose(unzFile file) {
function unzGetGlobalInfo64 (line 730) | extern int ZEXPORT unzGetGlobalInfo64(unzFile file, unz_global_info64* p...
function unzGetGlobalInfo (line 739) | extern int ZEXPORT unzGetGlobalInfo(unzFile file, unz_global_info* pglob...
function local (line 752) | local void unz64local_DosDateToTmuDate(ZPOS64_T ulDosDate, tm_unz* ptm) {
function local (line 767) | local int unz64local_GetCurrentFileInfoInternal(unzFile file,
function unzGetCurrentFileInfo64 (line 1009) | extern int ZEXPORT unzGetCurrentFileInfo64(unzFile file,
function unzGetCurrentFileInfo (line 1020) | extern int ZEXPORT unzGetCurrentFileInfo(unzFile file,
function unzGoToFirstFile (line 1061) | extern int ZEXPORT unzGoToFirstFile(unzFile file) {
function unzGoToNextFile (line 1081) | extern int ZEXPORT unzGoToNextFile(unzFile file) {
function unzLocateFile (line 1113) | extern int ZEXPORT unzLocateFile(unzFile file, const char *szFileName, i...
function unzGetFilePos64 (line 1188) | extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_po...
function unzGetFilePos (line 1203) | extern int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos* file_pos) {
function unzGoToFilePos64 (line 1214) | extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* ...
function unzGoToFilePos (line 1235) | extern int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos* file_pos) {
function local (line 1257) | local int unz64local_CheckCurrentFileCoherencyHeader(unz64_s* s, uInt* p...
function unzOpenCurrentFile3 (line 1343) | extern int ZEXPORT unzOpenCurrentFile3(unzFile file, int* method,
function unzOpenCurrentFile (line 1513) | extern int ZEXPORT unzOpenCurrentFile(unzFile file) {
function unzOpenCurrentFilePassword (line 1517) | extern int ZEXPORT unzOpenCurrentFilePassword(unzFile file, const char* ...
function unzOpenCurrentFile2 (line 1521) | extern int ZEXPORT unzOpenCurrentFile2(unzFile file, int* method, int* l...
function ZPOS64_T (line 1527) | extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64(unzFile file) {
function unzReadCurrentFile (line 1552) | extern int ZEXPORT unzReadCurrentFile(unzFile file, voidp buf, unsigned ...
function z_off_t (line 1759) | extern z_off_t ZEXPORT unztell(unzFile file) {
function ZPOS64_T (line 1773) | extern ZPOS64_T ZEXPORT unztell64(unzFile file) {
function unzeof (line 1792) | extern int ZEXPORT unzeof(unzFile file) {
function unzGetLocalExtrafield (line 1823) | extern int ZEXPORT unzGetLocalExtrafield(unzFile file, voidp buf, unsign...
function unzCloseCurrentFile (line 1870) | extern int ZEXPORT unzCloseCurrentFile(unzFile file) {
function unzGetGlobalComment (line 1916) | extern int ZEXPORT unzGetGlobalComment(unzFile file, char * szComment, u...
function ZPOS64_T (line 1943) | extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file) {
function uLong (line 1957) | extern uLong ZEXPORT unzGetOffset(unzFile file) {
function unzSetOffset64 (line 1966) | extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos) {
function unzSetOffset (line 1983) | extern int ZEXPORT unzSetOffset (unzFile file, uLong pos) {
FILE: racket/src/ChezScheme/zlib/contrib/minizip/unzip.h
type unzFile__ (line 67) | typedef struct TagunzFile__ { int unused; } unzFile__;
type unzFile__ (line 68) | typedef unzFile__ *unzFile;
type voidp (line 70) | typedef voidp unzFile;
type tm_unz (line 84) | typedef struct tm_unz_s
type unz_global_info64 (line 96) | typedef struct unz_global_info64_s
type unz_global_info (line 103) | typedef struct unz_global_info_s
type unz_file_info64 (line 111) | typedef struct unz_file_info64_s
type unz_file_info (line 132) | typedef struct unz_file_info_s
type unz_file_pos (line 258) | typedef struct unz_file_pos_s
type unz64_file_pos (line 272) | typedef struct unz64_file_pos_s
FILE: racket/src/ChezScheme/zlib/contrib/minizip/zip.c
type linkedlist_datablock_internal (line 110) | typedef struct linkedlist_datablock_internal_s
type linkedlist_data (line 119) | typedef struct linkedlist_data_s
type curfile64_info (line 126) | typedef struct
type zip64_internal (line 161) | typedef struct
function local (line 185) | local linkedlist_datablock_internal* allocate_new_datablock(void) {
function local (line 198) | local void free_datablock(linkedlist_datablock_internal* ldi) {
function local (line 207) | local void init_linkedlist(linkedlist_data* ll) {
function local (line 211) | local void free_linkedlist(linkedlist_data* ll) {
function local (line 217) | local int add_data_in_datablock(linkedlist_data* ll, const void* buf, uL...
function local (line 277) | local int zip64local_putValue(const zlib_filefunc64_32_def* pzlib_filefu...
function local (line 299) | local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbB...
function local (line 319) | local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm) {
function local (line 333) | local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefun...
function local (line 354) | local int zip64local_getShort(const zlib_filefunc64_32_def* pzlib_filefu...
function local (line 373) | local int zip64local_getLong(const zlib_filefunc64_32_def* pzlib_filefun...
function local (line 401) | local int zip64local_getLong64(const zlib_filefunc64_32_def* pzlib_filef...
function local (line 452) | local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def*...
function local (line 511) | local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_de...
function local (line 608) | local int LoadCentralDirectoryRecord(zip64_internal* pziinit) {
function zipFile (line 816) | extern zipFile ZEXPORT zipOpen3(const void *pathname, int append, zipcha...
function zipFile (line 886) | extern zipFile ZEXPORT zipOpen2(const char *pathname, int append, zipcha...
function zipFile (line 897) | extern zipFile ZEXPORT zipOpen2_64(const void *pathname, int append, zip...
function zipFile (line 912) | extern zipFile ZEXPORT zipOpen(const char* pathname, int append) {
function zipFile (line 916) | extern zipFile ZEXPORT zipOpen64(const void* pathname, int append) {
function local (line 920) | local int Write_LocalFileHeader(zip64_internal* zi, const char* filename...
function zipOpenNewFileInZip4 (line 1236) | extern int ZEXPORT zipOpenNewFileInZip4(zipFile file, const char* filena...
function zipOpenNewFileInZip3 (line 1251) | extern int ZEXPORT zipOpenNewFileInZip3(zipFile file, const char* filena...
function zipOpenNewFileInZip3_64 (line 1265) | extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* fil...
function zipOpenNewFileInZip2 (line 1279) | extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filena...
function zipOpenNewFileInZip2_64 (line 1291) | extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* fil...
function zipOpenNewFileInZip64 (line 1303) | extern int ZEXPORT zipOpenNewFileInZip64(zipFile file, const char* filen...
function zipOpenNewFileInZip (line 1315) | extern int ZEXPORT zipOpenNewFileInZip(zipFile file, const char* filenam...
function local (line 1327) | local int zip64FlushWriteBuffer(zip64_internal* zi) {
function zipWriteInFileInZip (line 1365) | extern int ZEXPORT zipWriteInFileInZip(zipFile file, const void* buf, un...
function zipCloseFileInZipRaw (line 1466) | extern int ZEXPORT zipCloseFileInZipRaw(zipFile file, uLong uncompressed...
function zipCloseFileInZipRaw64 (line 1470) | extern int ZEXPORT zipCloseFileInZipRaw64(zipFile file, ZPOS64_T uncompr...
function zipCloseFileInZip (line 1705) | extern int ZEXPORT zipCloseFileInZip(zipFile file) {
function local (line 1709) | local int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZP...
function local (line 1730) | local int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLo...
function local (line 1769) | local int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong si...
function local (line 1816) | local int Write_GlobalComment(zip64_internal* zi, const char* global_com...
function zipClose (line 1833) | extern int ZEXPORT zipClose(zipFile file, const char* global_comment) {
function zipRemoveExtraInfoBlock (line 1901) | extern int ZEXPORT zipRemoveExtraInfoBlock(char* pData, int* dataLen, sh...
FILE: racket/src/ChezScheme/zlib/contrib/minizip/zip.h
type zipFile__ (line 66) | typedef struct TagzipFile__ { int unused; } zipFile__;
type zipFile__ (line 67) | typedef zipFile__ *zipFile;
type voidp (line 69) | typedef voidp zipFile;
type tm_zip (line 89) | typedef struct tm_zip_s
type zip_fileinfo (line 99) | typedef struct
FILE: racket/src/ChezScheme/zlib/contrib/puff/puff.c
type state (line 98) | struct state {
function local (line 126) | local int bits(struct state *s, int need)
function local (line 164) | local int stored(struct state *s)
type huffman (line 206) | struct huffman {
function local (line 235) | local int decode(struct state *s, const struct huffman *h)
function local (line 263) | local int decode(struct state *s, const struct huffman *h)
function local (line 340) | local int construct(struct huffman *h, const short *length, int n)
function local (line 436) | local int codes(struct state *s,
function local (line 536) | local int fixed(struct state *s)
function local (line 665) | local int dynamic(struct state *s)
function puff (line 793) | int puff(unsigned char *dest, /* pointer to destination pointe...
FILE: racket/src/ChezScheme/zlib/contrib/puff/pufftest.c
function local (line 37) | local size_t bythirds(size_t size)
function local (line 60) | local void *load(const char *name, size_t *len)
function main (line 88) | int main(int argc, char **argv)
FILE: racket/src/ChezScheme/zlib/contrib/testzlib/testzlib.c
function MyDoMinus64 (line 8) | void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B)
function BeginCountRdtsc (line 23) | void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
function LARGE_INTEGER (line 29) | LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQue...
function BeginCountRdtsc (line 52) | void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
function LARGE_INTEGER (line 57) | LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQue...
function myGetRDTSC32 (line 67) | void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
function BeginCountRdtsc (line 71) | void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
function LARGE_INTEGER (line 75) | LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQue...
function BeginCountPerfCounter (line 84) | void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTim...
function DWORD (line 93) | DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTim...
function ReadFileMemory (line 119) | int ReadFileMemory(const char* filename,long* plFileSize,unsigned char**...
function main (line 145) | int main(int argc, char *argv[])
FILE: racket/src/ChezScheme/zlib/contrib/untgz/untgz.c
type tar_header (line 81) | struct tar_header
type tar_header (line 105) | struct tar_header
type attr_item (line 108) | struct attr_item
function error (line 120) | void error(const char *msg)
function TGZnotfound (line 151) | void TGZnotfound (const char *arcname)
function getoct (line 167) | int getoct (char *p,int width)
type tm (line 192) | struct tm
function setfiletime (line 205) | int setfiletime (char *fname,time_t ftime)
function push_attr (line 252) | void push_attr(struct attr_item **list,char *fname,int mode,time_t time)
function restore_attr (line 269) | void restore_attr(struct attr_item **list)
function ExprMatch (line 289) | int ExprMatch (char *string,char *expr)
function makedir (line 327) | int makedir (char *newdir)
function matchname (line 370) | int matchname (int arg,int argc,char **argv,char *fname)
function tar (line 385) | int tar (gzFile in,int action,int arg,int argc,char **argv)
function help (line 580) | void help(int exitval)
function main (line 599) | int main(int argc,char **argv)
FILE: racket/src/ChezScheme/zlib/crc32.c
type Z_U8 (line 91) | typedef Z_U8 z_word_t;
type Z_U4 (line 95) | typedef Z_U4 z_word_t;
function local (line 113) | local z_word_t byte_swap(z_word_t word) {
function local (line 155) | local z_crc_t multmodp(z_crc_t a, z_crc_t b) {
function local (line 176) | local z_crc_t x2nmodp(z_off64_t n, unsigned k) {
type once_t (line 216) | typedef struct once_s once_t;
type once_s (line 225) | struct once_s {
function local (line 236) | local void once(once_t *state, void (*init)(void)) {
type once_s (line 251) | struct once_s {
function local (line 259) | local int test_and_set(int volatile *flag) {
function local (line 268) | local void once(once_t *state, void (*init)(void)) {
function local (line 310) | local void make_crc_table(void) {
function local (line 477) | local void write_table(FILE *out, const z_crc_t FAR *table, int k) {
function local (line 490) | local void write_table32hi(FILE *out, const z_word_t FAR *table, int k) {
function local (line 506) | local void write_table64(FILE *out, const z_word_t FAR *table, int k) {
function main (line 516) | int main(void) {
function local (line 528) | local void braid(z_crc_t ltl[][256], z_word_t big[][256], int n, int w) {
function z_crc_t (line 549) | const z_crc_t FAR * ZEXPORT get_crc_table(void) {
function crc32_z (line 575) | unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char FAR...
function local (line 676) | local z_crc_t crc_word(z_word_t data) {
function local (line 683) | local z_word_t crc_word_big(z_word_t data) {
function crc32_z (line 694) | unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char FAR...
function crc32 (line 1015) | unsigned long ZEXPORT crc32(unsigned long crc, const unsigned char FAR *...
function uLong (line 1021) | uLong ZEXPORT crc32_combine64(uLong crc1, uLong crc2, z_off64_t len2) {
function uLong (line 1029) | uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2) {
function uLong (line 1034) | uLong ZEXPORT crc32_combine_gen64(z_off64_t len2) {
function uLong (line 1042) | uLong ZEXPORT crc32_combine_gen(z_off_t len2) {
function uLong (line 1047) | uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op) {
FILE: racket/src/ChezScheme/zlib/deflate.c
type block_state (line 63) | typedef enum {
type block_state (line 70) | typedef block_state (*compress_func)(deflate_state *s, int flush);
type config (line 98) | typedef struct config_s {
function local (line 187) | local void slide_hash(deflate_state *s) {
function read_buf (line 218) | local unsigned read_buf(z_streamp strm, Bytef *buf, unsigned size) {
function local (line 251) | local void fill_window(deflate_state *s) {
function deflateInit_ (line 371) | int ZEXPORT deflateInit_(z_streamp strm, int level, const char *version,
function deflateInit2_ (line 379) | int ZEXPORT deflateInit2_(z_streamp strm, int level, int method,
function local (line 529) | local int deflateStateCheck(z_streamp strm) {
function deflateSetDictionary (line 550) | int ZEXPORT deflateSetDictionary(z_streamp strm, const Bytef *dictionary,
function deflateGetDictionary (line 616) | int ZEXPORT deflateGetDictionary(z_streamp strm, Bytef *dictionary,
function local (line 673) | local void lm_init(deflate_state *s) {
function deflateReset (line 695) | int ZEXPORT deflateReset(z_streamp strm) {
function deflateSetHeader (line 705) | int ZEXPORT deflateSetHeader(z_streamp strm, gz_headerp head) {
function deflatePending (line 713) | int ZEXPORT deflatePending(z_streamp strm, unsigned *pending, int *bits) {
function deflatePrime (line 723) | int ZEXPORT deflatePrime(z_streamp strm, int bits, int value) {
function deflateParams (line 752) | int ZEXPORT deflateParams(z_streamp strm, int level, int strategy) {
function deflateTune (line 797) | int ZEXPORT deflateTune(z_streamp strm, int good_length, int max_lazy,
function uLong (line 834) | uLong ZEXPORT deflateBound(z_streamp strm, uLong sourceLen) {
function local (line 904) | local void putShortMSB(deflate_state *s, uInt b) {
function local (line 915) | local void flush_pending(z_streamp strm) {
function deflate (line 946) | int ZEXPORT deflate(z_streamp strm, int flush) {
function deflateEnd (line 1258) | int ZEXPORT deflateEnd(z_streamp strm) {
function deflateCopy (line 1282) | int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) {
function local (line 1348) | local uInt longest_match(deflate_state *s, IPos cur_match) {
function local (line 1496) | local uInt longest_match(deflate_state *s, IPos cur_match) {
function local (line 1557) | local void check_match(deflate_state *s, IPos start, IPos match, int len...
function local (line 1627) | local block_state deflate_stored(deflate_state *s, int flush) {
function local (line 1811) | local block_state deflate_fast(deflate_state *s, int flush) {
function local (line 1910) | local block_state deflate_slow(deflate_state *s, int flush) {
function local (line 2038) | local block_state deflate_rle(deflate_state *s, int flush) {
function local (line 2109) | local block_state deflate_huff(deflate_state *s, int flush) {
FILE: racket/src/ChezScheme/zlib/deflate.h
type ct_data (line 72) | typedef struct ct_data_s {
type static_tree_desc (line 88) | typedef struct static_tree_desc_s static_tree_desc;
type tree_desc (line 90) | typedef struct tree_desc_s {
type ush (line 96) | typedef ush Pos;
type Pos (line 97) | typedef Pos FAR Posf;
type IPos (line 98) | typedef unsigned IPos;
type deflate_state (line 104) | typedef struct internal_state {
FILE: racket/src/ChezScheme/zlib/examples/enough.c
type uintmax_t (line 115) | typedef uintmax_t big_t;
type uintmax_t (line 117) | typedef uintmax_t code_t;
type tab (line 118) | struct tab { // type for been-here check
type string_t (line 174) | typedef struct {
function local (line 181) | local void string_clear(string_t *s) {
function local (line 187) | local void string_init(string_t *s) {
function local (line 195) | local void string_free(string_t *s) {
function local (line 204) | local void string_printf(string_t *s, char *fmt, ...) {
type tab (line 233) | struct tab
function local (line 237) | local inline size_t map(int syms, int left, int len) {
function local (line 244) | local void cleanup(void) {
function local (line 261) | local big_t count(int syms, int left, int len) {
function local (line 308) | local int been_here(int syms, int left, int len, int mem, int rem) {
function local (line 361) | local void examine(int syms, int left, int len, int mem, int rem) {
function local (line 454) | local void enough(int syms) {
function main (line 498) | int main(int argc, char **argv) {
FILE: racket/src/ChezScheme/zlib/examples/fitblk.c
function local (line 62) | local void quit(char *why)
function local (line 73) | local int partcompress(FILE *in, z_streamp def)
function local (line 96) | local int recompress(z_streamp inf, z_streamp def)
function main (line 127) | int main(int argc, char **argv)
FILE: racket/src/ChezScheme/zlib/examples/gun.c
type ind (line 81) | struct ind {
function in (line 89) | local unsigned in(void *in_desc, z_const unsigned char **buf)
type outd (line 119) | struct outd {
function local (line 131) | local int out(void *out_desc, unsigned char *buf, unsigned len)
function local (line 200) | local int lunpipe(unsigned have, z_const unsigned char *next, struct ind...
function local (line 383) | local int gunpipe(z_stream *strm, int infile, int outfile)
function local (line 517) | local void copymeta(char *from, char *to)
function local (line 548) | local int gunzip(z_stream *strm, char *inname, char *outname, int test)
function main (line 631) | int main(int argc, char **argv)
FILE: racket/src/ChezScheme/zlib/examples/gzappend.c
function local (line 93) | local void bye(char *msg1, char *msg2)
function gcd (line 102) | local unsigned gcd(unsigned a, unsigned b)
function local (line 123) | local void rotate(unsigned char *list, unsigned len, unsigned rot)
type file (line 170) | typedef struct {
function local (line 180) | local int readin(file *in)
function local (line 192) | local int readmore(file *in)
function local (line 202) | local void skip(file *in, unsigned n)
function read4 (line 223) | unsigned long read4(file *in)
function local (line 235) | local void gzheader(file *in)
function local (line 259) | local int gzscan(char *name, z_stream *strm, int level)
function local (line 388) | local void gztack(char *name, int gd, z_stream *strm, int last)
function main (line 466) | int main(int argc, char **argv)
FILE: racket/src/ChezScheme/zlib/examples/gzjoin.c
function local (line 66) | local int bail(char *why1, char *why2)
type bin (line 78) | typedef struct {
function local (line 87) | local void bclose(bin *in)
function local (line 100) | local bin *bopen(char *name)
function local (line 121) | local int bload(bin *in)
function bget4 (line 145) | local unsigned long bget4(bin *in)
function local (line 157) | local void bskip(bin *in, unsigned skip)
function local (line 204) | local void gzhead(bin *in)
function local (line 245) | local void put4(unsigned long val, FILE *out)
function local (line 254) | local void zpull(z_streamp strm, bin *in)
function local (line 265) | local void gzinit(unsigned long *crc, unsigned long *tot, FILE *out)
function local (line 279) | local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long...
function main (line 427) | int main(int argc, char **argv)
FILE: racket/src/ChezScheme/zlib/examples/gzlog.c
type uint (line 242) | typedef unsigned int uint;
type ulong (line 243) | typedef unsigned long ulong;
type log (line 289) | struct log {
function local (line 348) | local int log_lock(struct log *log)
function local (line 372) | local void log_touch(struct log *log)
function local (line 384) | local int log_check(struct log *log)
function local (line 396) | local void log_unlock(struct log *log)
function local (line 410) | local int log_head(struct log *log)
function local (line 437) | local int log_mark(struct log *log, int op)
function local (line 462) | local int log_last(struct log *log, int last)
function local (line 501) | local int log_append(struct log *log, unsigned char *data, size_t len)
function local (line 571) | local int log_replace(struct log *log)
function local (line 608) | local int log_compress(struct log *log, unsigned char *data, size_t len)
function local (line 718) | local void log_log(struct log *log, int op, char *record)
function local (line 738) | local int log_recover(struct log *log, int op)
function local (line 798) | local void log_close(struct log *log)
function local (line 815) | local int log_open(struct log *log)
function gzlog (line 867) | gzlog *gzlog_open(char *path)
function gzlog_compress (line 910) | int gzlog_compress(gzlog *logd)
function gzlog_write (line 997) | int gzlog_write(gzlog *logd, void *data, size_t len)
function gzlog_close (line 1044) | int gzlog_close(gzlog *logd)
FILE: racket/src/ChezScheme/zlib/examples/gzlog.h
type gzlog (line 52) | typedef void gzlog;
FILE: racket/src/ChezScheme/zlib/examples/gznorm.c
function local (line 36) | local char *aprintf(char *fmt, ...) {
function local (line 86) | local int gzip_normalize(FILE *in, FILE *out, char **err) {
function main (line 458) | int main(void) {
FILE: racket/src/ChezScheme/zlib/examples/zpipe.c
function def (line 36) | int def(FILE *source, FILE *dest, int level)
function inf (line 92) | int inf(FILE *source, FILE *dest)
function zerr (line 151) | void zerr(int ret)
function main (line 176) | int main(int argc, char **argv)
FILE: racket/src/ChezScheme/zlib/examples/zran.c
function deflate_index_free (line 68) | void deflate_index_free(struct deflate_index *index) {
type deflate_index (line 79) | struct deflate_index
type deflate_index (line 79) | struct deflate_index
type deflate_index (line 84) | struct deflate_index
function deflate_index_build (line 132) | int deflate_index_build(FILE *in, off_t span, struct deflate_index **bui...
function append_bits (line 252) | static inline void append_bits(unsigned value, int bits,
function inflatePreface (line 276) | static int inflatePreface(z_stream *strm, int bits, int value) {
function deflate_index_extract (line 330) | ptrdiff_t deflate_index_extract(FILE *in, struct deflate_index *index,
function main (line 466) | int main(int argc, char **argv) {
FILE: racket/src/ChezScheme/zlib/examples/zran.h
type point_t (line 10) | typedef struct point {
type deflate_index (line 18) | struct deflate_index {
type deflate_index (line 34) | struct deflate_index
type deflate_index (line 47) | struct deflate_index
type deflate_index (line 51) | struct deflate_index
FILE: racket/src/ChezScheme/zlib/gzclose.c
function gzclose (line 11) | int ZEXPORT gzclose(gzFile file) {
FILE: racket/src/ChezScheme/zlib/gzguts.h
type gz_state (line 169) | typedef struct {
type gz_state (line 202) | typedef gz_state FAR *gz_statep;
FILE: racket/src/ChezScheme/zlib/gzlib.c
function local (line 69) | local void gz_reset(gz_statep state) {
function local (line 85) | local gzFile gz_open(const void *path, int fd, const char *mode) {
function gzFile (line 260) | gzFile ZEXPORT gzopen(const char *path, const char *mode) {
function gzFile (line 265) | gzFile ZEXPORT gzopen64(const char *path, const char *mode) {
function gzFile (line 270) | gzFile ZEXPORT gzdopen(int fd, const char *mode) {
function gzFile (line 288) | gzFile ZEXPORT gzopen_w(const wchar_t *path, const char *mode) {
function gzbuffer (line 294) | int ZEXPORT gzbuffer(gzFile file, unsigned size) {
function gzrewind (line 318) | int ZEXPORT gzrewind(gzFile file) {
function z_off64_t (line 339) | z_off64_t ZEXPORT gzseek64(gzFile file, z_off64_t offset, int whence) {
function z_off_t (line 412) | z_off_t ZEXPORT gzseek(gzFile file, z_off_t offset, int whence) {
function z_off64_t (line 420) | z_off64_t ZEXPORT gztell64(gzFile file) {
function z_off_t (line 435) | z_off_t ZEXPORT gztell(gzFile file) {
function z_off64_t (line 443) | z_off64_t ZEXPORT gzoffset64(gzFile file) {
function z_off_t (line 464) | z_off_t ZEXPORT gzoffset(gzFile file) {
function gzeof (line 472) | int ZEXPORT gzeof(gzFile file) {
function gzclearerr (line 505) | void ZEXPORT gzclearerr(gzFile file) {
function gz_error (line 529) | void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) {
function gz_intmax (line 570) | unsigned ZLIB_INTERNAL gz_intmax(void) {
FILE: racket/src/ChezScheme/zlib/gzread.c
function local (line 12) | local int gz_load(gz_statep state, unsigned char *buf, unsigned len,
function local (line 43) | local int gz_avail(gz_statep state) {
function local (line 76) | local int gz_look(gz_statep state) {
function local (line 156) | local int gz_decomp(gz_statep state) {
function local (line 208) | local int gz_fetch(gz_statep state) {
function local (line 236) | local int gz_skip(gz_statep state, z_off64_t len) {
function local (line 268) | local z_size_t gz_read(gz_statep state, voidp buf, z_size_t len) {
function gzread (line 345) | int ZEXPORT gzread(gzFile file, voidp buf, unsigned len) {
function z_size_t (line 377) | z_size_t ZEXPORT gzfread(voidp buf, z_size_t size, z_size_t nitems, gzFi...
function gzgetc (line 408) | int ZEXPORT gzgetc(gzFile file) {
function gzgetc_ (line 433) | int ZEXPORT gzgetc_(gzFile file) {
function gzungetc (line 438) | int ZEXPORT gzungetc(int c, gzFile file) {
function gzdirect (line 559) | int ZEXPORT gzdirect(gzFile file) {
function gzclose_r (line 577) | int ZEXPORT gzclose_r(gzFile file) {
FILE: racket/src/ChezScheme/zlib/gzwrite.c
function local (line 11) | local int gz_init(gz_statep state) {
function local (line 65) | local int gz_comp(gz_statep state, int flush) {
function local (line 143) | local int gz_zero(gz_statep state, z_off64_t len) {
function local (line 173) | local z_size_t gz_write(gz_statep state, voidpc buf, z_size_t len) {
function gzwrite (line 237) | int ZEXPORT gzwrite(gzFile file, voidpc buf, unsigned len) {
function z_size_t (line 261) | z_size_t ZEXPORT gzfwrite(voidpc buf, z_size_t size, z_size_t nitems,
function gzputc (line 287) | int ZEXPORT gzputc(gzFile file, int c) {
function gzputs (line 332) | int ZEXPORT gzputs(gzFile file, const char *s) {
function gzvprintf (line 359) | int ZEXPORTVA gzvprintf(gzFile file, const char *format, va_list va) {
function gzprintf (line 430) | int ZEXPORTVA gzprintf(gzFile file, const char *format, ...) {
function gzprintf (line 443) | int ZEXPORTVA gzprintf(gzFile file, const char *format, int a1, int a2, ...
function gzflush (line 528) | int ZEXPORT gzflush(gzFile file, int flush) {
function gzsetparams (line 557) | int ZEXPORT gzsetparams(gzFile file, int level, int strategy) {
function gzclose_w (line 595) | int ZEXPORT gzclose_w(gzFile file) {
FILE: racket/src/ChezScheme/zlib/infback.c
function inflateBackInit_ (line 25) | int ZEXPORT inflateBackInit_(z_streamp strm, int windowBits,
function local (line 76) | local void fixedtables(struct inflate_state FAR *state) {
function inflateBack (line 242) | int ZEXPORT inflateBack(z_streamp strm, in_func in, void FAR *in_desc,
function inflateBackEnd (line 621) | int ZEXPORT inflateBackEnd(z_streamp strm) {
FILE: racket/src/ChezScheme/zlib/inffast.c
function inflate_fast (line 50) | void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
FILE: racket/src/ChezScheme/zlib/inflate.c
function local (line 94) | local int inflateStateCheck(z_streamp strm) {
function inflateResetKeep (line 106) | int ZEXPORT inflateResetKeep(z_streamp strm) {
function inflateReset (line 130) | int ZEXPORT inflateReset(z_streamp strm) {
function inflateReset2 (line 141) | int ZEXPORT inflateReset2(z_streamp strm, int windowBits) {
function inflateInit2_ (line 178) | int ZEXPORT inflateInit2_(z_streamp strm, int windowBits,
function inflateInit_ (line 218) | int ZEXPORT inflateInit_(z_streamp strm, const char *version,
function inflatePrime (line 223) | int ZEXPORT inflatePrime(z_streamp strm, int bits, int value) {
function local (line 252) | local void fixedtables(struct inflate_state FAR *state) {
function makefixed (line 314) | void makefixed(void)
function local (line 368) | local int updatewindow(z_streamp strm, const Bytef *end, unsigned copy) {
type inflate_state (line 591) | struct inflate_state
type inflate_state (line 614) | struct inflate_state
type inflate_state (line 1267) | struct inflate_state
type inflate_state (line 1270) | struct inflate_state
type inflate_state (line 1280) | struct inflate_state
type inflate_state (line 1284) | struct inflate_state
type inflate_state (line 1300) | struct inflate_state
type inflate_state (line 1306) | struct inflate_state
type inflate_state (line 1331) | struct inflate_state
type inflate_state (line 1335) | struct inflate_state
type inflate_state (line 1380) | struct inflate_state
type inflate_state (line 1384) | struct inflate_state
type inflate_state (line 1432) | struct inflate_state
type inflate_state (line 1435) | struct inflate_state
type inflate_state (line 1440) | struct inflate_state
type inflate_state (line 1441) | struct inflate_state
type inflate_state (line 1448) | struct inflate_state
type inflate_state (line 1451) | struct inflate_state
type inflate_state (line 1452) | struct inflate_state
type inflate_state (line 1466) | struct inflate_state
type internal_state (line 1479) | struct internal_state
type inflate_state (line 1484) | struct inflate_state
type inflate_state (line 1487) | struct inflate_state
type inflate_state (line 1499) | struct inflate_state
type inflate_state (line 1502) | struct inflate_state
type inflate_state (line 1511) | struct inflate_state
type inflate_state (line 1515) | struct inflate_state
type inflate_state (line 1522) | struct inflate_state
type inflate_state (line 1524) | struct inflate_state
FILE: racket/src/ChezScheme/zlib/inflate.h
type inflate_mode (line 20) | typedef enum {
type inflate_state (line 82) | struct inflate_state {
FILE: racket/src/ChezScheme/zlib/inftrees.c
function inflate_table (line 32) | int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR *lens,
FILE: racket/src/ChezScheme/zlib/inftrees.h
type code (line 24) | typedef struct {
type codetype (line 54) | typedef enum {
FILE: racket/src/ChezScheme/zlib/test/example.c
function myfree (line 44) | static void myfree(void *q, void *p) {
function test_compress (line 60) | static void test_compress(Byte *compr, uLong comprLen, Byte *uncompr,
function test_gzio (line 84) | static void test_gzio(const char *fname, Byte *uncompr, uLong uncomprLen) {
function test_deflate (line 166) | static void test_deflate(Byte *compr, uLong comprLen) {
function test_inflate (line 201) | static void test_inflate(Byte *compr, uLong comprLen, Byte *uncompr,
function test_large_deflate (line 240) | static void test_large_deflate(Byte *compr, uLong comprLen, Byte *uncompr,
function test_large_inflate (line 293) | static void test_large_inflate(Byte *compr, uLong comprLen, Byte *uncompr,
function test_flush (line 332) | static void test_flush(Byte *compr, uLong *comprLen) {
function test_sync (line 367) | static void test_sync(Byte *compr, uLong comprLen, Byte *uncompr,
function test_dict_deflate (line 408) | static void test_dict_deflate(Byte *compr, uLong comprLen) {
function test_dict_inflate (line 442) | static void test_dict_inflate(Byte *compr, uLong comprLen, Byte *uncompr,
function main (line 491) | int main(int argc, char *argv[]) {
FILE: racket/src/ChezScheme/zlib/test/infcover.c
type mem_item (line 56) | struct mem_item {
type mem_zone (line 63) | struct mem_zone {
function local (line 71) | local void *mem_alloc(void *mem, unsigned count, unsigned size)
function local (line 112) | local void mem_free(void *mem, void *ptr)
function local (line 158) | local void mem_setup(z_stream *strm)
function local (line 176) | local void mem_limit(z_stream *strm, size_t limit)
function local (line 184) | local void mem_used(z_stream *strm, char *prefix)
function local (line 192) | local void mem_high(z_stream *strm, char *prefix)
function local (line 200) | local void mem_done(z_stream *strm, char *prefix)
function local (line 284) | local void inf(char *hex, char *what, unsigned step, int win, unsigned len,
function local (line 350) | local void cover_support(void)
function local (line 388) | local void cover_wrap(void)
function pull (line 447) | local unsigned pull(void *desc, unsigned char **buf)
function local (line 463) | local int push(void *desc, unsigned char *buf, unsigned len)
function local (line 471) | local void cover_back(void)
function local (line 508) | local int try(char *hex, char *id, int err)
function local (line 582) | local void cover_inflate(void)
function local (line 618) | local void cover_trees(void)
function local (line 642) | local void cover_fast(void)
function main (line 662) | int main(void)
FILE: racket/src/ChezScheme/zlib/test/minigzip.c
function pwinerror (line 119) | static void pwinerror (s)
function myfree (line 157) | static void myfree(void *q, void *p) {
type gzFile_s (line 162) | struct gzFile_s {
function gzFile (line 170) | static gzFile gz_open(const char *path, int fd, const char *mode) {
function gzFile (line 204) | static gzFile gzopen(const char *path, const char *mode) {
function gzFile (line 208) | static gzFile gzdopen(int fd, const char *mode) {
function gzwrite (line 212) | static int gzwrite(gzFile gz, const void *buf, unsigned len) {
function gzread (line 230) | static int gzread(gzFile gz, void *buf, unsigned len) {
function gzclose (line 261) | static int gzclose(gzFile gz) {
function error (line 298) | static void error(const char *msg) {
function gz_compress_mmap (line 308) | static int gz_compress_mmap(FILE *in, gzFile out) {
function gz_compress (line 341) | static void gz_compress(FILE *in, gzFile out) {
function gz_uncompress (line 369) | static void gz_uncompress(gzFile in, FILE *out) {
function file_compress (line 393) | static void file_compress(char *file, char *mode) {
function file_uncompress (line 429) | static void file_uncompress(char *file) {
function main (line 487) | int main(int argc, char *argv[]) {
FILE: racket/src/ChezScheme/zlib/trees.c
type static_tree_desc_s (line 117) | struct static_tree_desc_s {
function bi_reverse (line 154) | local unsigned bi_reverse(unsigned code, int len) {
function local (line 166) | local void bi_flush(deflate_state *s) {
function local (line 181) | local void bi_windup(deflate_state *s) {
function local (line 202) | local void gen_codes(ct_data *tree, int max_code, ushf *bl_count) {
function local (line 252) | local void send_bits(deflate_state *s, int value, int length) {
function local (line 294) | local void tr_static_init(void) {
function gen_trees_header (line 387) | void gen_trees_header(void) {
function local (line 439) | local void init_block(deflate_state *s) {
function _tr_init (line 455) | void ZLIB_INTERNAL _tr_init(deflate_state *s) {
function local (line 507) | local void pqdownheap(deflate_state *s, ct_data *tree, int k) {
function local (line 538) | local void gen_bitlen(deflate_state *s, tree_desc *desc) {
function local (line 625) | local void build_tree(deflate_state *s, tree_desc *desc) {
function local (line 710) | local void scan_tree(deflate_state *s, ct_data *tree, int max_code) {
function local (line 751) | local void send_tree(deflate_state *s, ct_data *tree, int max_code) {
function local (line 798) | local int build_bl_tree(deflate_state *s) {
function local (line 831) | local void send_all_trees(deflate_state *s, int lcodes, int dcodes,
function _tr_stored_block (line 858) | void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf,
function _tr_flush_bits (line 878) | void ZLIB_INTERNAL _tr_flush_bits(deflate_state *s) {
function _tr_align (line 886) | void ZLIB_INTERNAL _tr_align(deflate_state *s) {
function local (line 898) | local void compress_block(deflate_state *s, const ct_data *ltree,
function local (line 964) | local int detect_data_type(deflate_state *s) {
function _tr_tally (line 1093) | int ZLIB_INTERNAL _tr_tally(deflate_state *s, unsigned dist, unsigned lc) {
FILE: racket/src/ChezScheme/zlib/uncompr.c
function uncompress2 (line 27) | int ZEXPORT uncompress2(Bytef *dest, uLongf *destLen, const Bytef *source,
function uncompress (line 82) | int ZEXPORT uncompress(Bytef *dest, uLongf *destLen, const Bytef *source,
FILE: racket/src/ChezScheme/zlib/zconf.h
type z_size_t (line 245) | typedef unsigned long long z_size_t;
type z_size_t (line 247) | typedef unsigned long z_size_t;
type z_size_t (line 252) | typedef unsigned NO_SIZE_T z_size_t;
type z_size_t (line 255) | typedef size_t z_size_t;
type z_size_t (line 257) | typedef unsigned long z_size_t;
type Byte (line 393) | typedef unsigned char Byte;
type uInt (line 395) | typedef unsigned int uInt;
type uLong (line 396) | typedef unsigned long uLong;
type Byte (line 402) | typedef Byte FAR Bytef;
type charf (line 404) | typedef char FAR charf;
type intf (line 405) | typedef int FAR intf;
type uInt (line 406) | typedef uInt FAR uIntf;
type uLong (line 407) | typedef uLong FAR uLongf;
type Byte (line 414) | typedef Byte const *voidpc;
type Byte (line 415) | typedef Byte FAR *voidpf;
type Byte (line 416) | typedef Byte *voidp;
type Z_U4 (line 431) | typedef Z_U4 z_crc_t;
type z_crc_t (line 433) | typedef unsigned long z_crc_t;
FILE: racket/src/ChezScheme/zlib/zlib.h
type voidpf (line 81) | typedef voidpf (*alloc_func)(voidpf opaque, uInt items, uInt size);
type internal_state (line 84) | struct internal_state
type z_stream (line 86) | typedef struct z_stream_s {
type z_stream (line 108) | typedef z_stream FAR *z_streamp;
type gz_header (line 114) | typedef struct gz_header_s {
type gz_header (line 131) | typedef gz_header FAR *gz_headerp;
type gzFile_s (line 1305) | struct gzFile_s
type gzFile_s (line 1837) | struct gzFile_s {
FILE: racket/src/ChezScheme/zlib/zutil.c
function uLong (line 31) | uLong ZEXPORT zlibCompileFlags(void) {
function z_error (line 122) | void ZLIB_INTERNAL z_error(char *m) {
function zmemcpy (line 145) | void ZLIB_INTERNAL zmemcpy(Bytef* dest, const Bytef* source, uInt len) {
function zmemcmp (line 152) | int ZLIB_INTERNAL zmemcmp(const Bytef* s1, const Bytef* s2, uInt len) {
function zmemzero (line 161) | void ZLIB_INTERNAL zmemzero(Bytef* dest, uInt len) {
type ptr_table (line 189) | typedef struct ptr_table_s {
function voidpf (line 202) | voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned siz...
function zcfree (line 227) | void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) {
function voidpf (line 263) | voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size) {
function zcfree (line 268) | void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) {
function voidpf (line 286) | voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned siz...
function zcfree (line 292) | void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) {
FILE: racket/src/ChezScheme/zlib/zutil.h
type uch (line 39) | typedef unsigned char uch;
type uch (line 40) | typedef uch FAR uchf;
type ush (line 41) | typedef unsigned short ush;
type ush (line 42) | typedef ush FAR ushf;
type ulg (line 43) | typedef unsigned long ulg;
FILE: racket/src/bc/dynsrc/dynexmpl.c
function Scheme_Object (line 9) | static Scheme_Object *sch_date(int argc, Scheme_Object **argv)
function Scheme_Object (line 28) | Scheme_Object *scheme_reload(Scheme_Env *env)
function Scheme_Object (line 35) | Scheme_Object *scheme_initialize(Scheme_Env *env)
FILE: racket/src/bc/dynsrc/init.cc
function dll_entry (line 22) | int WINAPI dll_entry (HANDLE, DWORD reason, void *){
FILE: racket/src/bc/foreign/foreign.c
type Tsint8 (line 37) | typedef signed char Tsint8;
type Tuint8 (line 38) | typedef unsigned char Tuint8;
type Tsint16 (line 41) | typedef signed short Tsint16;
type Tuint16 (line 42) | typedef unsigned short Tuint16;
type Tsint16 (line 44) | typedef signed int Tsint16;
type Tuint16 (line 45) | typedef unsigned int Tuint16;
type Tsint32 (line 51) | typedef signed int Tsint32;
type Tuint32 (line 52) | typedef unsigned int Tuint32;
type Tsint32 (line 54) | typedef signed long Tsint32;
type Tuint32 (line 55) | typedef unsigned long Tuint32;
type Tsint64 (line 61) | typedef signed long Tsint64;
type Tuint64 (line 62) | typedef unsigned long Tuint64;
type Tsint64 (line 64) | typedef signed long long Tsint64;
type Tuint64 (line 65) | typedef unsigned long long Tuint64;
type _int8 (line 74) | typedef _int8 Tsint8;
type Tuint8 (line 75) | typedef unsigned _int8 Tuint8;
type _int16 (line 76) | typedef _int16 Tsint16;
type Tuint16 (line 77) | typedef unsigned _int16 Tuint16;
type _int32 (line 78) | typedef _int32 Tsint32;
type Tuint32 (line 79) | typedef unsigned _int32 Tuint32;
type _int64 (line 80) | typedef _int64 Tsint64;
type Tuint64 (line 81) | typedef unsigned _int64 Tuint64;
function overflow_error (line 135) | static void overflow_error(const char *who, const char *op, intptr_t a, ...
function mult_check_overflow (line 144) | static intptr_t mult_check_overflow(const char *who, intptr_t a, intptr_...
function add_check_overflow (line 153) | static intptr_t add_check_overflow(const char *who, intptr_t a, intptr_t b)
type ffi_lib_struct (line 167) | typedef struct ffi_lib_struct {
function Scheme_Object (line 176) | static Scheme_Object *foreign_ffi_lib_p(int argc, Scheme_Object *argv[])
function ffi_lib_SIZE (line 184) | int ffi_lib_SIZE(void *p) {
function ffi_lib_MARK (line 187) | int ffi_lib_MARK(void *p) {
function ffi_lib_FIXUP (line 192) | int ffi_lib_FIXUP(void *p) {
function Scheme_Object (line 204) | static Scheme_Object *foreign_ffi_lib(int argc, Scheme_Object *argv[])
function Scheme_Object (line 255) | static Scheme_Object *foreign_ffi_lib_name(int argc, Scheme_Object *argv[])
function Scheme_Object (line 265) | static Scheme_Object *foreign_ffi_lib_unload(int argc, Scheme_Object *ar...
type ffi_obj_struct (line 315) | typedef struct ffi_obj_struct {
function Scheme_Object (line 323) | static Scheme_Object *foreign_ffi_obj_p(int argc, Scheme_Object *argv[])
function ffi_obj_SIZE (line 331) | int ffi_obj_SIZE(void *p) {
function ffi_obj_MARK (line 334) | int ffi_obj_MARK(void *p) {
function ffi_obj_FIXUP (line 339) | int ffi_obj_FIXUP(void *p) {
function Scheme_Object (line 349) | static Scheme_Object *foreign_ffi_obj(int argc, Scheme_Object *argv[])
function Scheme_Object (line 400) | static Scheme_Object *foreign_ffi_obj_lib(int argc, Scheme_Object *argv[])
function Scheme_Object (line 410) | static Scheme_Object *foreign_ffi_obj_name(int argc, Scheme_Object *argv[])
function XFORM_NONGCING (line 446) | XFORM_NONGCING int scheme_get_realint_val(Scheme_Object *o, int *v)
function XFORM_NONGCING (line 457) | XFORM_NONGCING int scheme_get_unsigned_realint_val(Scheme_Object *o, uns...
function get_byte_val (line 475) | static int get_byte_val(Scheme_Object *o, Tsint8 *_v)
function get_ubyte_val (line 487) | static int get_ubyte_val(Scheme_Object *o, Tuint8 *_v)
function get_short_val (line 499) | static int get_short_val(Scheme_Object *o, Tsint16 *_v)
function get_ushort_val (line 511) | static int get_ushort_val(Scheme_Object *o, Tuint16 *_v)
function XFORM_NONGCING (line 534) | XFORM_NONGCING static mzchar *ucs4_string_or_null_to_ucs4_pointer(Scheme...
function Scheme_Object (line 557) | static Scheme_Object *utf16_pointer_to_ucs4_string(unsigned short *utf)
type struct_align_slongdouble (line 758) | struct struct_align_slongdouble {
type struct_align_slongdouble (line 764) | struct struct_align_slongdouble
function mz_long_double (line 774) | static mz_long_double unsupported_long_double_val() {
function Scheme_Object (line 783) | static Scheme_Object *unsupported_make_long_double() {
type stdbool (line 823) | typedef signed char stdbool;
type stdbool (line 826) | typedef bool stdbool;
type ForeignAny (line 963) | typedef union _ForeignAny {
function XFORM_NONGCING (line 998) | XFORM_NONGCING static int is_gcable_pointer(Scheme_Object *o) {
type ctype_struct (line 1020) | typedef struct ctype_struct {
function Scheme_Object (line 1028) | static Scheme_Object *foreign_ctype_p(int argc, Scheme_Object *argv[])
function ctype_SIZE (line 1036) | int ctype_SIZE(void *p) {
function ctype_MARK (line 1039) | int ctype_MARK(void *p) {
function ctype_FIXUP (line 1046) | int ctype_FIXUP(void *p) {
function Scheme_Object (line 1070) | static Scheme_Object *foreign_ctype_basetype(int argc, Scheme_Object *ar...
function Scheme_Object (line 1085) | static Scheme_Object *foreign_ctype_scheme_to_c(int argc, Scheme_Object ...
function Scheme_Object (line 1095) | static Scheme_Object *foreign_ctype_c_to_scheme(int argc, Scheme_Object ...
function XFORM_NONGCING (line 1105) | XFORM_NONGCING static Scheme_Object *get_ctype_base(Scheme_Object *type)
function XFORM_NONGCING (line 1113) | XFORM_NONGCING static intptr_t ctype_sizeof(Scheme_Object *type)
function Scheme_Object (line 1156) | static Scheme_Object *foreign_make_ctype(int argc, Scheme_Object *argv[])
function free_libffi_type (line 1180) | static void free_libffi_type(void *ignored, void *p)
function free_libffi_type_two_layers (line 1186) | static void free_libffi_type_two_layers(void *ignored, void *p)
function ffi_abi (line 1203) | static ffi_abi sym_to_abi(const char *who, Scheme_Object *sym)
function wrong_void (line 1232) | static void wrong_void(const char *who, Scheme_Object *list_element, int...
function Scheme_Object (line 1267) | static Scheme_Object *foreign_make_cstruct_type(int argc, Scheme_Object ...
function wrong_intptr (line 1347) | static void wrong_intptr(const char *who, int which, int argc, Scheme_Ob...
function Scheme_Object (line 1380) | static Scheme_Object *foreign_make_array_type(int argc, Scheme_Object *a...
function Scheme_Object (line 1457) | static Scheme_Object *foreign_make_union_type(int argc, Scheme_Object *a...
function Scheme_Object (line 1574) | static Scheme_Object *all_float_types_k(void)
function all_float_types (line 1594) | static int all_float_types(GC_CAN_IGNORE ffi_type *libffi_type)
type ffi_callback_struct (line 1636) | typedef struct ffi_callback_struct {
function Scheme_Object (line 1647) | static Scheme_Object *foreign_ffi_callback_p(int argc, Scheme_Object *ar...
function ffi_callback_SIZE (line 1655) | int ffi_callback_SIZE(void *p) {
function ffi_callback_MARK (line 1658) | int ffi_callback_MARK(void *p) {
function ffi_callback_FIXUP (line 1666) | int ffi_callback_FIXUP(void *p) {
function check_cpointer_property (line 1718) | static int check_cpointer_property(Scheme_Object *v)
function Scheme_Object (line 1727) | static Scheme_Object *unwrap_cpointer_property_slow(Scheme_Object *orig_v)
function Scheme_Object (line 1759) | static Scheme_Object *unwrap_cpointer_property(Scheme_Object *v)
function scheme_is_cpointer (line 1767) | int scheme_is_cpointer(Scheme_Object *cp) {
function Scheme_Object (line 1772) | static Scheme_Object *foreign_cpointer_p(int argc, Scheme_Object *argv[])
function Scheme_Object (line 1781) | static Scheme_Object *foreign_cpointer_tag(int argc, Scheme_Object *argv[])
function Scheme_Object (line 1793) | Scheme_Object *scheme_cpointer_tag(Scheme_Object *ptr)
function Scheme_Object (line 1801) | static Scheme_Object *foreign_set_cpointer_tag_bang(int argc, Scheme_Obj...
function scheme_set_cpointer_tag (line 1812) | void scheme_set_cpointer_tag(Scheme_Object *ptr, Scheme_Object *val)
function Scheme_Object (line 1821) | static Scheme_Object *foreign_cpointer_gcable_p(int argc, Scheme_Object ...
function Scheme_Object (line 1863) | static Scheme_Object *C2SCHEME(Scheme_Object *already_ptr, Scheme_Object...
function Scheme_Object (line 2584) | static Scheme_Object *foreign_ctype_sizeof(int argc, Scheme_Object *argv[])
function Scheme_Object (line 2596) | static Scheme_Object *foreign_ctype_alignof(int argc, Scheme_Object *arg...
function Scheme_Object (line 2611) | static Scheme_Object *foreign_compiler_sizeof(int argc, Scheme_Object *a...
function Scheme_Malloc_Proc (line 2729) | static Scheme_Malloc_Proc mode_to_allocator(const char *who, Scheme_Obje...
function Scheme_Malloc_Proc (line 2752) | static Scheme_Malloc_Proc ctype_allocator(Scheme_Object *type)
function Scheme_Object (line 2783) | static Scheme_Object *foreign_malloc(int argc, Scheme_Object *argv[])
function Scheme_Object (line 2866) | static Scheme_Object *foreign_end_stubborn_change(int argc, Scheme_Objec...
function Scheme_Object (line 2887) | static Scheme_Object *foreign_free(int argc, Scheme_Object *argv[])
function Scheme_Object (line 2906) | static Scheme_Object *foreign_malloc_immobile_cell(int argc, Scheme_Obje...
function Scheme_Object (line 2916) | static Scheme_Object *foreign_free_immobile_cell(int argc, Scheme_Object...
function Scheme_Object (line 2939) | static Scheme_Object *do_ptr_add(const char *who, int is_bang,
function Scheme_Object (line 2988) | static Scheme_Object *foreign_ptr_add(int argc, Scheme_Object *argv[])
function Scheme_Object (line 2995) | static Scheme_Object *foreign_ptr_add_bang(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3004) | static Scheme_Object *foreign_offset_ptr_p(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3015) | static Scheme_Object *foreign_ptr_offset(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3029) | static Scheme_Object *foreign_set_ptr_offset_bang(int argc, Scheme_Objec...
function Scheme_Object (line 3063) | static Scheme_Object *do_memop(const char *who, int mode,
function Scheme_Object (line 3145) | static Scheme_Object *foreign_vector_to_cpointer(int argc, Scheme_Object...
function Scheme_Object (line 3154) | static Scheme_Object *foreign_flvector_to_cpointer(int argc, Scheme_Obje...
function Scheme_Object (line 3163) | static Scheme_Object *foreign_extflvector_to_cpointer(int argc, Scheme_O...
function Scheme_Object (line 3178) | static Scheme_Object *foreign_memset(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3184) | static Scheme_Object *foreign_memmove(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3190) | static Scheme_Object *foreign_memcpy(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3204) | static Scheme_Object *foreign_ptr_ref(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3262) | Scheme_Object *scheme_foreign_ptr_ref(int argc, Scheme_Object **argv)
function Scheme_Object (line 3273) | static Scheme_Object *foreign_ptr_set_bang(int argc, Scheme_Object *argv[])
function scheme_foreign_ptr_set (line 3315) | void scheme_foreign_ptr_set(int argc, Scheme_Object **argv)
function Scheme_Object (line 3322) | static Scheme_Object *foreign_ptr_equal_p(int argc, Scheme_Object *argv[])
function Scheme_Object (line 3340) | static Scheme_Object *foreign_make_sized_byte_string(int argc, Scheme_Ob...
function Scheme_Object (line 3364) | static Scheme_Object *make_vector_in_master(int count, Scheme_Object *va...
function wait_ffi_lock (line 3425) | static void wait_ffi_lock(Scheme_Object *lock)
function release_ffi_lock (line 3482) | static void release_ffi_lock(void *lock)
function extract_varargs_after (line 3501) | static int extract_varargs_after(const char *who, int argc, Scheme_Objec...
type FFI_Orig_Place_Call (line 3535) | typedef struct FFI_Orig_Place_Call {
function ffi_call_in_orig_place (line 3555) | static void ffi_call_in_orig_place(ffi_cif *cif, void *c_func, intptr_t ...
function finish_ffi_call (line 3665) | static void finish_ffi_call(ffi_cif *cif, void *c_func, intptr_t cfoff,
function finish_ffi_call_handle_exn (line 3694) | static void finish_ffi_call_handle_exn(ffi_cif *cif, void *c_func, intpt...
function Scheme_Object (line 3718) | static Scheme_Object *ffi_do_call(int argc, Scheme_Object *argv[], Schem...
function Scheme_Object (line 3875) | static Scheme_Object *ffi_do_call_k()
function Scheme_Object (line 3889) | static Scheme_Object *ffi_do_call_after_stack_check(int argc, Scheme_Obj...
function free_fficall_data (line 3904) | void free_fficall_data(void *data, void *p)
function Scheme_Object (line 3913) | static Scheme_Object *make_ffi_call_from_curried(int argc, Scheme_Object...
function Scheme_Object (line 3953) | static Scheme_Object *ffi_call_or_curry(const char *who, int curry, int ...
function Scheme_Object (line 4093) | static Scheme_Object *foreign_ffi_call(int argc, Scheme_Object *argv[])
function Scheme_Object (line 4102) | static Scheme_Object *foreign_ffi_call_maker(int argc, Scheme_Object *ar...
function ffi_callback_struct (line 4114) | static ffi_callback_struct *extract_ffi_callback(void *userdata)
function ffi_do_callback (line 4133) | static void ffi_do_callback(ffi_cif* cif, void* resultp, void** args, vo...
type Queued_Callback (line 4181) | typedef struct Queued_Callback {
type FFI_Sync_Queue (line 4191) | typedef struct FFI_Sync_Queue {
type FFI_Sync_Queue (line 4198) | struct FFI_Sync_Queue
function Scheme_Object (line 4200) | static Scheme_Object *callback_thunk(void *_qc, int argc, Scheme_Object ...
function check_foreign_work (line 4216) | static void check_foreign_work(int check_for_in_original)
function scheme_check_foreign_work (line 4293) | void scheme_check_foreign_work(void)
function ffi_queue_callback (line 4303) | static void ffi_queue_callback(ffi_cif* cif, void* resultp, void** args,...
type closure_and_cif (line 4356) | typedef struct closure_and_cif_struct {
function free_cl_cif_args (line 4367) | static void free_cl_cif_args(void *ignored, void *p)
function free_cl_cif_queue_args (line 4382) | static void free_cl_cif_queue_args(void *ignored, void *p)
function Scheme_Object (line 4398) | static Scheme_Object *ffi_callback_or_curry(const char *who, int curry, ...
function Scheme_Object (line 4606) | static Scheme_Object *foreign_ffi_callback(int argc, Scheme_Object *argv[])
function Scheme_Object (line 4612) | static Scheme_Object *make_ffi_callback_from_curried(int argc, Scheme_Ob...
function Scheme_Object (line 4634) | static Scheme_Object *foreign_ffi_callback_maker(int argc, Scheme_Object...
function Scheme_Object (line 4661) | static Scheme_Object *foreign_ffi_maybe_call_and_callback_core(int argc,...
function Scheme_Object (line 4679) | static Scheme_Object *foreign_assert_ctype_representation(int argc, Sche...
function Scheme_Object (line 4695) | static Scheme_Object *foreign_ffi2_internal_ptr_p(int argc, Scheme_Objec...
function Scheme_Object (line 4720) | static Scheme_Object *foreign_ffi2_internal_ptr_ref(int argc, Scheme_Obj...
function Scheme_Object (line 4739) | static Scheme_Object *foreign_ffi2_internal_ptr_set_bang(int argc, Schem...
function Scheme_Object (line 4760) | static Scheme_Object *foreign_ffi2_internal_malloc(int argc, Scheme_Obje...
function Scheme_Object (line 4784) | static Scheme_Object *foreign_ffi2_internal_cast(int argc, Scheme_Object...
function Scheme_Object (line 4807) | static Scheme_Object *foreign_ffi2_internal_sizeof(int argc, Scheme_Obje...
function Scheme_Object (line 4816) | static Scheme_Object *foreign_ffi2_internal_offsetof(int argc, Scheme_Ob...
function Scheme_Object (line 4838) | static Scheme_Object *foreign_ffi2_internal_procedure_maker(int argc, Sc...
function Scheme_Object (line 4898) | static Scheme_Object *foreign_ffi2_internal_callback_maker(int argc, Sch...
function Scheme_Object (line 4943) | static Scheme_Object *select_match(Scheme_Object *type) {
function Scheme_Object (line 4958) | static Scheme_Object *translate_type(Scheme_Object *type) {
function Scheme_Object (line 5076) | static Scheme_Object *wrap_type(Scheme_Object *type) {
function Scheme_Object (line 5080) | static Scheme_Object *unwrap_type(Scheme_Object *type) {
function Scheme_Object (line 5089) | static Scheme_Object *extract_type_tag(Scheme_Object *type) {
function Scheme_Object (line 5096) | static Scheme_Object *extract_type_is_compound(Scheme_Object *type) {
function Scheme_Object (line 5107) | static Scheme_Object *translate_malloc_kind(Scheme_Object *kind) {
function Scheme_Object (line 5123) | static Scheme_Object *expand_abi_select(Scheme_Object *a) {
function Scheme_Object (line 5135) | static Scheme_Object *maybe_varargs_after(Scheme_Object *a, Scheme_Objec...
function Scheme_Object (line 5143) | static Scheme_Object *maybe_abi(Scheme_Object *a, Scheme_Object *abi) {
function Scheme_Object (line 5153) | static Scheme_Object *add_pointer_tag(int argc, Scheme_Object *argv[], S...
function Scheme_Object (line 5166) | static Scheme_Object *add_tagging(Scheme_Object *type, Scheme_Object *ct...
function Scheme_Object (line 5187) | static Scheme_Object *list1(Scheme_Object *a) {
function Scheme_Object (line 5191) | static Scheme_Object *list2(Scheme_Object *a, Scheme_Object *b) {
function Scheme_Object (line 5195) | static Scheme_Object *list3(Scheme_Object *a, Scheme_Object *b, Scheme_O...
function Scheme_Object (line 5199) | static Scheme_Object *list4(Scheme_Object *a, Scheme_Object *b, Scheme_O...
function Scheme_Object (line 5203) | static Scheme_Object *list5(Scheme_Object *a, Scheme_Object *b, Scheme_O...
function Scheme_Object (line 5208) | static Scheme_Object *list6(Scheme_Object *a, Scheme_Object *b, Scheme_O...
function Scheme_Object (line 5213) | static Scheme_Object *list7(Scheme_Object *a, Scheme_Object *b, Scheme_O...
function Scheme_Object (line 5219) | static Scheme_Object *list8(Scheme_Object *a, Scheme_Object *b, Scheme_O...
function Scheme_Object (line 5225) | static Scheme_Object *quoted(Scheme_Object *a) {
function Scheme_Object (line 5229) | Scheme_Object *scheme_expand_foreign_form(Scheme_Object *form) {
function Scheme_Object (line 5401) | static Scheme_Object *foreign_ffi2_lib_ref(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5411) | static Scheme_Object *foreign_ffi2_ptr_p(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5419) | static Scheme_Object *foreign_ffi2_ptr_gcable_p(int argc, Scheme_Object ...
function Scheme_Object (line 5426) | static Scheme_Object *foreign_ffi2_free(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5433) | static Scheme_Object *foreign_ffi2_memset(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5439) | static Scheme_Object *foreign_ffi2_memmove(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5445) | static Scheme_Object *foreign_ffi2_memcpy(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5452) | static Scheme_Object *foreign_cpointer_to_ffi2_ptr(int argc, Scheme_Obje...
function Scheme_Object (line 5462) | static Scheme_Object *foreign_ffi2_ptr_to_cpointer(int argc, Scheme_Obje...
function Scheme_Object (line 5469) | static Scheme_Object *foreign_ffi2_uintptr_to_ptr(int argc, Scheme_Objec...
function Scheme_Object (line 5478) | static Scheme_Object *foreign_ffi2_ptr_to_uintptr(int argc, Scheme_Objec...
function save_errno_values (line 5491) | static void save_errno_values(int kind)
function Scheme_Object (line 5531) | static Scheme_Object *foreign_saved_errno(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5548) | static Scheme_Object *foreign_lookup_errno(int argc, Scheme_Object *argv[])
function Scheme_Object (line 5889) | static Scheme_Object *foreign_make_late_will_executor(int argc, Scheme_O...
function Scheme_Object (line 5897) | static Scheme_Object *foreign_make_late_weak_box(int argc, Scheme_Object...
function Scheme_Object (line 5905) | static Scheme_Object *foreign_make_late_weak_hasheq(int argc, Scheme_Obj...
function ctype_printer (line 5913) | void ctype_printer(Scheme_Object *ctype, int dis, Scheme_Print_Params *pp)
function scheme_init_foreign_globals (line 5938) | void scheme_init_foreign_globals()
function scheme_init_foreign_places (line 6018) | void scheme_init_foreign_places() {
function Scheme_Object (line 6029) | static Scheme_Object *scheme_make_inline_noncm_prim(Scheme_Prim *prim,
function scheme_init_foreign (line 6062) | void scheme_init_foreign(Scheme_Startup_Env *env)
function scheme_init_internal_foreign (line 6422) | void scheme_init_internal_foreign(Scheme_Startup_Env *env) {
function scheme_is_cpointer (line 6449) | int scheme_is_cpointer(Scheme_Object *cp)
function Scheme_Object (line 6458) | static Scheme_Object *unimplemented(int argc, Scheme_Object **argv, Sche...
function Scheme_Object (line 6465) | static Scheme_Object *foreign_compiler_sizeof(int argc, Scheme_Object **...
function Scheme_Object (line 6470) | static Scheme_Object *foreign_make_ctype(int argc, Scheme_Object **argv)
function Scheme_Object (line 6475) | static Scheme_Object *foreign_make_late_will_executor(int argc, Scheme_O...
function scheme_init_foreign (line 6480) | void scheme_init_foreign(Scheme_Env *env)
function scheme_init_internal_foreign (line 6647) | void scheme_init_internal_foreign(Scheme_Startup_Env *env) {
FILE: racket/src/bc/foreign/libffi/generate-darwin-source-and-headers.py
class Platform (line 10) | class Platform(object):
class i386_platform (line 14) | class i386_platform(Platform):
class x86_64_platform (line 23) | class x86_64_platform(Platform):
class arm64_platform (line 32) | class arm64_platform(Platform):
class armv7_platform (line 41) | class armv7_platform(Platform):
class ios_simulator_i386_platform (line 50) | class ios_simulator_i386_platform(i386_platform):
class ios_simulator_x86_64_platform (line 57) | class ios_simulator_x86_64_platform(x86_64_platform):
class ios_simulator_arm64_platform (line 64) | class ios_simulator_arm64_platform(arm64_platform):
class ios_device_armv7_platform (line 71) | class ios_device_armv7_platform(armv7_platform):
class ios_device_arm64_platform (line 78) | class ios_device_arm64_platform(arm64_platform):
class desktop_x86_64_platform (line 85) | class desktop_x86_64_platform(x86_64_platform):
class desktop_arm64_platform (line 92) | class desktop_arm64_platform(arm64_platform):
class tvos_simulator_x86_64_platform (line 99) | class tvos_simulator_x86_64_platform(x86_64_platform):
class tvos_simulator_arm64_platform (line 106) | class tvos_simulator_arm64_platform(arm64_platform):
class tvos_device_arm64_platform (line 113) | class tvos_device_arm64_platform(arm64_platform):
class watchos_simulator_i386_platform (line 120) | class watchos_simulator_i386_platform(i386_platform):
class watchos_simulator_x86_64_platform (line 127) | class watchos_simulator_x86_64_platform(x86_64_platform):
class watchos_simulator_arm64_platform (line 134) | class watchos_simulator_arm64_platform(arm64_platform):
class watchos_device_armv7k_platform (line 141) | class watchos_device_armv7k_platform(armv7_platform):
class watchos_device_arm64_32_platform (line 149) | class watchos_device_arm64_32_platform(arm64_platform):
function mkdir_p (line 157) | def mkdir_p(path):
function move_file (line 165) | def move_file(src_dir, dst_dir, filename, file_suffix=None, prefix='', s...
function list_files (line 187) | def list_files(src_dir, pattern=None, filelist=None):
function copy_files (line 193) | def copy_files(src_dir, dst_dir, pattern=None, filelist=None, file_suffi...
function copy_src_platform_files (line 198) | def copy_src_platform_files(platform):
function build_target (line 204) | def build_target(platform, platform_headers):
function generate_source_and_headers (line 241) | def generate_source_and_headers(
FILE: racket/src/bc/foreign/libffi/include/ffi_common.h
type extended_cif (line 138) | typedef struct
type UINT8 (line 147) | typedef unsigned cha
Copy disabled (too large)
Download .json
Condensed preview — 5704 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (96,484K chars).
[
{
"path": ".gitattributes",
"chars": 187,
"preview": ".git* export-ignore\n/.mailmap export-ignore\n/racket/src/cs/schemified/*.scm linguist-generated=true\n/racket/src/bc/src/s"
},
{
"path": ".github/CITATION.cff",
"chars": 211,
"preview": "cff-version: 1.1.0\nmessage: If you use this software, please cite it as below.\nauthors:\n - family-names: Flatt\n give"
},
{
"path": ".github/CODE_OF_CONDUCT.md",
"chars": 74,
"preview": "The code of conduct can be found at https://racket-lang.org/friendly.html\n"
},
{
"path": ".github/CONTRIBUTING.md",
"chars": 857,
"preview": "Contributing\n------------\n\nContribute to Racket by\n* [submitting a pull request](https://github.com/racket/racket)\n* vis"
},
{
"path": ".github/FUNDING.yml",
"chars": 56,
"preview": "github: racket\ncustom: https://racket-lang.org/sfc.html\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug-report.md",
"chars": 426,
"preview": "---\nname: Bug report\nabout: Report a problem with Racket or Racket's tools\n\n---\n\n**What version of Racket are you using?"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 377,
"preview": "contact_links:\n - name: Racket Discourse - A forum for all things related to Racket. Ask your questions here!\n url: "
},
{
"path": ".github/ISSUE_TEMPLATE/feature-request.md",
"chars": 712,
"preview": "---\nname: Feature request\nabout: Suggest an idea to discuss\ntitle: \"[Feature Request] ...\"\nlabels: feature-request\nassig"
},
{
"path": ".github/SECURITY.md",
"chars": 282,
"preview": "# Security Policy\n\nSecurity updates are included in each new release. \n\nPrevious releases do not get security updates.\n\n"
},
{
"path": ".github/dependabot.yml",
"chars": 118,
"preview": "version: 2\nupdates:\n - package-ecosystem: \"github-actions\"\n directory: \"/\"\n schedule:\n interval: \"weekly\"\n"
},
{
"path": ".github/images/Dockerfile",
"chars": 661,
"preview": "FROM debian:buster-slim\nLABEL maintainer=\"pmatos@linki.tools\"\nLABEL description=\"Debian Stable Slim image with Racket de"
},
{
"path": ".github/images/README.md",
"chars": 363,
"preview": "# Docker images for CI\n\nIn order to speed up building and testing of Racket, we have prepared some Docker images.\nCurren"
},
{
"path": ".github/pull_request_template.md",
"chars": 578,
"preview": "<!--\nThank you for contributing. Please provide a description to help reviewers. \n\nFor more information about how to con"
},
{
"path": ".github/scripts/adjust-sarif-tool.sh",
"chars": 315,
"preview": "#!/bin/bash\nMODE=\"$1\"\nshopt -s globstar\n\nfor file in **/*.sarif; do\n echo \"Processing $file\"\n cat $file | \\\n "
},
{
"path": ".github/scripts/matting.sh",
"chars": 263,
"preview": "#!/bin/bash\n# We don't use grep because on Windows, it doesn't flush its output.\nlive=no\nwhile read -r line; do\n echo"
},
{
"path": ".github/scripts/run-racket-tests.sh",
"chars": 1930,
"preview": "#!/usr/bin/env bash\n\nset -euo pipefail\nHERE=\"$(dirname \"$0\")\"\nRACKET=\"racket\"\nRACO=\"raco\"\n\necho Using `which \"$RACKET\"`\n"
},
{
"path": ".github/scripts/summary",
"chars": 143,
"preview": "-------- o=0 --------\n-------- o=0 cp0=t --------\n-------- o=3 --------\n-------- o=3 cp0=t --------\n-------- o=3 cp0=t e"
},
{
"path": ".github/scripts/test.sh",
"chars": 511,
"preview": "#!/bin/bash\nDIR=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" >/dev/null 2>&1 && pwd )\"\n\nrunmats() {\n echo zuo . all \"$@\"\n "
},
{
"path": ".github/workflows/chez-build.yml",
"chars": 1909,
"preview": "name: Solo Chez Build\n\non:\n push:\n branches:\n - master\n paths:\n - \"racket/src/ChezScheme/**\"\n - \"."
},
{
"path": ".github/workflows/ci-asan.yml",
"chars": 2796,
"preview": "name: Test with ASan\n\non:\n push:\n branches:\n - master\n\npermissions:\n contents: read\n\njobs:\n\n racketcs-asan:\n "
},
{
"path": ".github/workflows/ci-pr.yml",
"chars": 3524,
"preview": "name: CI Pull Request\n\non: [pull_request]\n\npermissions:\n contents: read\n\njobs:\n\n buildtest-linux-x86:\n container:\n "
},
{
"path": ".github/workflows/ci-push-x86_linux.yml",
"chars": 10979,
"preview": "name: CI Linux x86\n\non:\n push:\n branches:\n - master\n\njobs:\n\n# Build jobs\n# These jobs build each Racket compone"
},
{
"path": ".github/workflows/ci-push_macos.yml",
"chars": 9573,
"preview": "name: CI MacOS\n\non:\n push:\n branches:\n - master\n\npermissions:\n contents: read\n\njobs:\n\n# Build jobs\n# These job"
},
{
"path": ".github/workflows/ci-snapshot.yml",
"chars": 1673,
"preview": "name: Snapshot Generation\n\non:\n push:\n branches:\n - master\n\n# Only run at most one snapshot action\n# https://"
},
{
"path": ".github/workflows/ci_win.yml",
"chars": 3914,
"preview": "name: CI Win\n\non:\n push:\n branches:\n - master\n pull_request:\n\npermissions:\n contents: read\n\njobs:\n \n# Build "
},
{
"path": ".github/workflows/codeql-analysis.yml",
"chars": 1222,
"preview": "name: \"LGTM Code Scanning\"\n\non:\n push:\n branches:\n - master\n pull_request:\n\npermissions:\n security-events: wr"
},
{
"path": ".github/workflows/docker-racketci.yml",
"chars": 853,
"preview": "name: Build RacketCI Docker Image\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/images/Dockerfil"
},
{
"path": ".github/workflows/scribble_build-guide.yml",
"chars": 1171,
"preview": "name: Scribble Racket Build Guide\n\non:\n push:\n branches:\n - master\n paths:\n - \"build.md\"\n - \".gith"
},
{
"path": ".github/workflows/scribble_license.yml",
"chars": 1715,
"preview": "name: Scribble License Files\n\non:\n push:\n branches:\n - master\n paths:\n - \"LICENSE.txt\"\n - \"racket/"
},
{
"path": ".github/workflows/site-small.rkt",
"chars": 3060,
"preview": "#lang distro-build/config\n(require racket/format racket/runtime-path racket/string racket/date)\n\n(define-runtime-path he"
},
{
"path": ".github/workflows/ubsan-x86.yml",
"chars": 6901,
"preview": "name: Test with UBSan on X86\n\non:\n push:\n branches:\n - master\n\npermissions:\n contents: read\n\njobs:\n\n# Build jo"
},
{
"path": ".gitignore",
"chars": 844,
"preview": "# The \"build\" and \"bundle\" directories are used when creating installers\n# via the `server', `client', and/or `farm' mak"
},
{
"path": ".lgtm.yml",
"chars": 209,
"preview": "extraction:\n cpp:\n configure:\n command:\n - make fetch-pb\n - cd racket/src\n - ./configure -"
},
{
"path": ".mailmap",
"chars": 3672,
"preview": "# Core racket-lang.org people\nEli Barzilay <eli@racket-lang.org> <eli@barzilay.org>\nEli Barzilay <"
},
{
"path": "LICENSE.txt",
"chars": 8758,
"preview": "Racket is distributed under the MIT license and the Apache License,\nversion 2.0, at your option. However, the Racket run"
},
{
"path": "Makefile",
"chars": 23865,
"preview": "# This makefile defines default values for various build modes and\n# provides targets that mostly just dispatch to \"main"
},
{
"path": "README.md",
"chars": 1917,
"preview": "[Racket](https://racket-lang.org/) is a general-purpose programming\nlanguage and an ecosystem for language-oriented prog"
},
{
"path": "build.md",
"chars": 47039,
"preview": "# Building, Distributing, and Contributing to Racket\n\nThe main Racket source code repository is\n\n[https://github.com/rac"
},
{
"path": "main.zuo",
"chars": 42294,
"preview": "#lang zuo\n(require \"racket/src/lib.zuo\")\n\n;; This Zuo script drives a Racket build from a Git checkout, either\n;; for an"
},
{
"path": "pkgs/at-exp-lib/LICENSE",
"chars": 461,
"preview": "This component of Racket is distributed under the under the Apache 2.0\nand MIT licenses. The user can choose the license"
},
{
"path": "pkgs/at-exp-lib/at-exp/lang/language-info.rkt",
"chars": 607,
"preview": "#lang racket/base\n\n(provide get-language-info)\n\n(require racket/match)\n\n(define (get-language-info data)\n (define other"
},
{
"path": "pkgs/at-exp-lib/at-exp/lang/reader.rkt",
"chars": 1872,
"preview": "#lang racket/base\n (require syntax/module-reader\n (only-in scribble/reader make-at-readtable))\n\n (provide (r"
},
{
"path": "pkgs/at-exp-lib/at-exp/lang/runtime-config.rkt",
"chars": 352,
"preview": "#lang racket/base\n\n(provide configure)\n\n(require (only-in scribble/reader make-at-readtable))\n\n(define (configure data)\n"
},
{
"path": "pkgs/at-exp-lib/info.rkt",
"chars": 213,
"preview": "#lang info\n\n(define collection 'multi)\n(define deps '(\"base\"))\n\n(define pkg-desc \"Libraries for @-expressions\")\n\n(define"
},
{
"path": "pkgs/at-exp-lib/scribble/base/reader.rkt",
"chars": 1994,
"preview": "#lang racket/base\n(require (prefix-in scribble: scribble/reader)\n (rename-in syntax/module-reader\n "
},
{
"path": "pkgs/at-exp-lib/scribble/reader.rkt",
"chars": 30755,
"preview": ";; ============================================================================\n;; Implements the @-reader macro for emb"
},
{
"path": "pkgs/base/LICENSE",
"chars": 461,
"preview": "This component of Racket is distributed under the under the Apache 2.0\nand MIT licenses. The user can choose the license"
},
{
"path": "pkgs/base/info.rkt",
"chars": 894,
"preview": "#lang info\n\n;; The \"base\" package exists mainly as a way to declare dependencies\n;; on the current Racket core. If the c"
},
{
"path": "pkgs/compiler/LICENSE",
"chars": 461,
"preview": "This component of Racket is distributed under the under the Apache 2.0\nand MIT licenses. The user can choose the license"
},
{
"path": "pkgs/compiler/info.rkt",
"chars": 246,
"preview": "#lang info\n\n(define collection 'multi)\n\n(define deps '(\"compiler-lib\"))\n(define implies '(\"compiler-lib\"))\n\n(define pkg-"
},
{
"path": "pkgs/compiler-lib/LICENSE",
"chars": 461,
"preview": "This component of Racket is distributed under the under the Apache 2.0\nand MIT licenses. The user can choose the license"
},
{
"path": "pkgs/compiler-lib/compiler/bundle-dist.rkt",
"chars": 2961,
"preview": "\n(module bundle-dist racket/base\n (require racket/file\n (only-in racket/base lambda)\n racket/path\n\t"
},
{
"path": "pkgs/compiler-lib/compiler/commands/decompile.rkt",
"chars": 3746,
"preview": "#lang racket/base\n(require racket/cmdline\n raco/command-name\n compiler/zo-parse\n compiler/decomp"
},
{
"path": "pkgs/compiler-lib/compiler/commands/exe-dir.rkt",
"chars": 989,
"preview": "#lang scheme/base\n(require scheme/cmdline\n raco/command-name\n compiler/distribute)\n\n(define verbose (mak"
},
{
"path": "pkgs/compiler-lib/compiler/commands/exe.rkt",
"chars": 7895,
"preview": "#lang racket/base\n(require racket/cmdline\n raco/command-name\n compiler/private/embed\n launcher/l"
},
{
"path": "pkgs/compiler-lib/compiler/commands/expand.rkt",
"chars": 1408,
"preview": "#lang racket/base\n\n(module expand racket/base\n (require racket/cmdline\n raco/command-name\n racket/p"
},
{
"path": "pkgs/compiler-lib/compiler/commands/info.rkt",
"chars": 878,
"preview": "#lang info\n\n(define raco-commands\n '((\"make\" compiler/commands/make \"compile source to bytecode\" 100)\n (\"exe\" compil"
},
{
"path": "pkgs/compiler-lib/compiler/commands/make.rkt",
"chars": 5463,
"preview": "#lang racket/base\n(require racket/cmdline\n raco/command-name\n compiler/cm\n compiler/compiler\n "
},
{
"path": "pkgs/compiler-lib/compiler/commands/pack.rkt",
"chars": 3870,
"preview": "#lang scheme/base\n(require scheme/cmdline\n raco/command-name\n setup/pack\n setup/getinfo\n "
},
{
"path": "pkgs/compiler-lib/compiler/commands/read.rkt",
"chars": 88,
"preview": "#lang racket/base\n(require (submod \"expand.rkt\" expand))\n\n(show-program (lambda (e) e))\n"
},
{
"path": "pkgs/compiler-lib/compiler/commands/test.rkt",
"chars": 46611,
"preview": "#lang racket/base\n(require racket/cmdline\n racket/match\n racket/format\n racket/list\n rac"
},
{
"path": "pkgs/compiler-lib/compiler/commands/unpack.rkt",
"chars": 4211,
"preview": "#lang scheme/base\n(require scheme/cmdline\n raco/command-name\n setup/unpack\n racket/file\n "
},
{
"path": "pkgs/compiler-lib/compiler/compiler-unit.rkt",
"chars": 138,
"preview": "#lang racket/base\n\n(require compiler/compiler compiler/sig racket/unit)\n(provide compiler@)\n(define-unit-from-context co"
},
{
"path": "pkgs/compiler-lib/compiler/decompile.rkt",
"chars": 34111,
"preview": "#lang racket/base\n(require racket/linklet\n compiler/zo-parse\n compiler/zo-marshal\n syntax/modcol"
},
{
"path": "pkgs/compiler-lib/compiler/demod.rkt",
"chars": 6961,
"preview": "#lang racket/base\n(require (for-syntax racket/base\n syntax/parse/pre\n compiler/c"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/at-phase-level.rkt",
"chars": 114,
"preview": "#lang racket/base\n\n(provide (struct-out at-phase-level))\n\n(struct at-phase-level (phase+submod phase)\n #:prefab)\n"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/batch.rkt",
"chars": 2932,
"preview": "#lang racket/base\n(require racket/cmdline\n racket/set\n raco/command-name\n \"main.rkt\")\n\n(let ([ou"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/binding-lookup.rkt",
"chars": 2064,
"preview": "#lang racket/base\n(require \"one-mod.rkt\"\n \"at-phase-level.rkt\")\n\n(provide binding-lookup)\n\n(define (binding-look"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/binding.rkt",
"chars": 4895,
"preview": "#lang racket/base\n(require racket/match\n \"../private/deserialize.rkt\"\n \"import.rkt\"\n \"binding-lo"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/bundle.rkt",
"chars": 18456,
"preview": "#lang racket/base\n(require racket/set\n racket/list\n compiler/zo-structs\n racket/pretty\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/deshadow.rkt",
"chars": 4190,
"preview": "#lang racket/base\n(require racket/match)\n\n(provide deshadow-linklet)\n\n;; A linklet is not allowed to have shadowing bind"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/gc.rkt",
"chars": 12647,
"preview": "#lang racket/base\n(require racket/match\n racket/set\n compiler/zo-structs\n compiler/faslable-corr"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/import-name.rkt",
"chars": 3606,
"preview": "#lang racket/base\n(require compiler/zo-structs\n racket/match\n \"one-mod.rkt\"\n \"run.rkt\"\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/import.rkt",
"chars": 200,
"preview": "#lang racket/base\n\n(provide (struct-out import))\n\n(struct import (name ; name used in import context\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/linklet.rkt",
"chars": 3751,
"preview": "#lang racket/base\n(require racket/match\n racket/linklet\n compiler/private/deserialize\n compiler/"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/log.rkt",
"chars": 78,
"preview": "#lang racket/base\n\n(provide (all-defined-out))\n\n(define-logger demodularizer)\n"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/main.rkt",
"chars": 12919,
"preview": "#lang racket/base\n(require racket/set\n compiler/cm\n racket/file\n racket/path\n compiler/z"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/merge.rkt",
"chars": 5810,
"preview": "#lang racket/base\n(require compiler/zo-structs\n racket/match\n racket/pretty\n \"run.rkt\"\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/merged.rkt",
"chars": 233,
"preview": "#lang racket/base\n\n(provide (struct-out merged))\n\n(struct merged (body\n used-import-names\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/module-path.rkt",
"chars": 1479,
"preview": "#lang racket/base\n(require syntax/modresolve\n racket/path\n \"path-submod.rkt\")\n\n(provide module-path-inde"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/module.rkt",
"chars": 17078,
"preview": "#lang racket/base\n(require racket/set\n racket/path\n racket/match\n racket/string\n compile"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/name.rkt",
"chars": 3785,
"preview": "#lang racket/base\n(require racket/match\n (only-in racket/linklet linklet-body-reserved-symbol?)\n \"linkle"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/one-mod.rkt",
"chars": 909,
"preview": "#lang racket/base\n\n(provide (struct-out one-mod))\n\n;; A (sub)module without its own submodules\n(struct one-mod (order ; "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/pane.rkt",
"chars": 18164,
"preview": "#lang racket/base\n(require racket/path\n racket/set\n \"module-path.rkt\"\n \"path-submod.rkt\"\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/path-submod.rkt",
"chars": 1277,
"preview": "#lang racket/base\n\n(provide path/submod-join\n path/submod-path\n path/submod-submod\n path/submod-"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/provide.rkt",
"chars": 3415,
"preview": "#lang racket/base\n(require racket/phase+space\n \"binding.rkt\"\n \"binding-lookup.rkt\"\n \"name.rkt\"\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/remap.rkt",
"chars": 4223,
"preview": "#lang racket/base\n(require racket/match\n racket/set\n compiler/zo-structs\n compiler/faslable-corr"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/run.rkt",
"chars": 405,
"preview": "#lang racket/base\n\n(provide (struct-out run))\n\n(struct run (path/submod phase linkl meta-linkl\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/runs.rkt",
"chars": 7236,
"preview": "#lang racket/base\n(require racket/set\n compiler/zo-parse\n syntax/modcode\n racket/linklet\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/simplify.rkt",
"chars": 12687,
"preview": "#lang racket/base\n(require racket/match\n racket/set\n compiler/faslable-correlated\n \"merged.rkt\")"
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/syntax.rkt",
"chars": 12223,
"preview": "#lang racket/base\n(require (only-in '#%kernel [syntax-serialize kernel:syntax-serialize])\n racket/linklet\n "
},
{
"path": "pkgs/compiler-lib/compiler/demodularizer/write.rkt",
"chars": 335,
"preview": "#lang racket/base\n(require compiler/zo-marshal)\n\n(provide write-module)\n\n(define (write-module output-file bundle)\n (if"
},
{
"path": "pkgs/compiler-lib/compiler/embed-sig.rkt",
"chars": 397,
"preview": "\n(module embed-sig racket/base\n (require racket/unit)\n (provide compiler:embed^)\n\n (define-signature compiler:embed^\n"
},
{
"path": "pkgs/compiler-lib/compiler/embed-unit.rkt",
"chars": 199,
"preview": "#lang racket/base\n(require racket/unit\n racket/contract\n\t \"sig.rkt\"\n\t compiler/embed \n\t \"embed-sig.rkt\")\n\n(defin"
},
{
"path": "pkgs/compiler-lib/compiler/option-unit.rkt",
"chars": 160,
"preview": "#lang racket/base\n\n(require racket/unit compiler/sig compiler/option)\n\n(provide compiler:option@)\n\n(define-unit-from-con"
},
{
"path": "pkgs/compiler-lib/compiler/private/chez.rkt",
"chars": 6693,
"preview": "#lang racket/base\n(require ffi/unsafe/vm\n ffi/unsafe\n racket/promise)\n\n(provide decompile-chez-procedure"
},
{
"path": "pkgs/compiler-lib/compiler/private/deserialize.rkt",
"chars": 8785,
"preview": "#lang racket/base\n(require racket/linklet\n compiler/zo-parse\n compiler/zo-marshal\n compiler/fasl"
},
{
"path": "pkgs/compiler-lib/compiler/private/language.rkt",
"chars": 2749,
"preview": "#lang racket/base\n(require syntax/modcollapse)\n\n(provide languages->libraries)\n\n;; Used to implement the `++lang` flag f"
},
{
"path": "pkgs/compiler-lib/compiler/sig.rkt",
"chars": 954,
"preview": "#lang racket/base\n\n(require racket/unit)\n\n(provide compiler:option^\n compiler^)\n\n;; Compiler options\n(define-sig"
},
{
"path": "pkgs/compiler-lib/info.rkt",
"chars": 361,
"preview": "#lang info\n\n(define collection 'multi)\n\n(define deps '([\"base\" #:version \"8.13.0.6\"]\n \"scheme-lib\"\n "
},
{
"path": "pkgs/compiler-lib/launcher/launcher-sig.rkt",
"chars": 1425,
"preview": "#lang racket/signature\n\nmake-gracket-launcher\nmake-racket-launcher\nmake-mred-launcher\nmake-mzscheme-launcher\n\nmake-grack"
},
{
"path": "pkgs/compiler-lib/launcher/launcher-unit.rkt",
"chars": 147,
"preview": "#lang racket/base\n\n(require racket/unit \"launcher-sig.rkt\" launcher/launcher)\n\n(provide launcher@)\n\n(define-unit-from-co"
},
{
"path": "pkgs/compiler-lib/raco/testing.rkt",
"chars": 1424,
"preview": ";; This code originally appeared in rackunit/log\n\n#lang racket/base\n\n(provide test-log-enabled?\n test-log!\n "
},
{
"path": "pkgs/compiler-lib/setup/option-sig.rkt",
"chars": 803,
"preview": "(module option-sig racket/base\n (require racket/unit)\n \n (provide setup-option^)\n\n (define-signature setup-option^\n "
},
{
"path": "pkgs/compiler-lib/setup/option-unit.rkt",
"chars": 166,
"preview": "#lang racket/base\n(require racket/unit setup/option \"option-sig.rkt\")\n\n(provide setup:option@ set-flag-params)\n\n(define-"
},
{
"path": "pkgs/compiler-lib/setup/setup-unit.rkt",
"chars": 134,
"preview": "#lang racket/base\n\n(require racket/unit setup/setup-core)\n\n(provide setup@)\n(define-unit setup@\n (import)\n (export)\n "
},
{
"path": "pkgs/compiler-test/LICENSE",
"chars": 461,
"preview": "This component of Racket is distributed under the under the Apache 2.0\nand MIT licenses. The user can choose the license"
},
{
"path": "pkgs/compiler-test/info.rkt",
"chars": 657,
"preview": "#lang info\n\n(define collection 'multi)\n\n(define deps '(\"base\" \"icons\"))\n\n(define pkg-desc \"tests for \\\"compiler-lib\\\"\")\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/collection-zos.rkt",
"chars": 100,
"preview": "#lang racket\n(require compiler/compiler)\n\n;; minimal sanity check:\n(compile-collection-zos \"setup\")\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/commands/test.rkt",
"chars": 160,
"preview": "#lang racket\n(require rackunit)\n(require (only-in (submod compiler/commands/test paths) collection-paths))\n\n(check-exn e"
},
{
"path": "pkgs/compiler-test/tests/compiler/ctool.rkt",
"chars": 583,
"preview": "#lang racket\n(require setup/dirs\n compiler/find-exe)\n\n(define racket (find-exe))\n\n(define tmp (make-temporary-fi"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/demod-test.rkt",
"chars": 4262,
"preview": "#lang racket\n(require tests/eli-tester\n racket/runtime-path\n compiler/find-exe\n racket/cmdline)\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/info.rkt",
"chars": 61,
"preview": "#lang info\n\n(define test-timeouts '((\"demod-test.rkt\" 300)))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/sandbox-test/avoid-leaf.rkt",
"chars": 56,
"preview": "#lang racket/base\n\n(provide tree)\n\n(define tree \"tree\")\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/sandbox-test/main-src.rkt",
"chars": 243,
"preview": "#lang racket/base\n(require \"modbeg.rkt\"\n ;; `for-syntax` import intended to push \"modbeg.rkt\"\n ;; into i"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/sandbox-test/main.rkt",
"chars": 68,
"preview": "#lang compiler/demod\n\"main-src.rkt\"\n\n#:exclude (#:collect \"racket\")\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/sandbox-test/modbeg.rkt",
"chars": 163,
"preview": "#lang racket/base\n(require \"avoid-leaf.rkt\") ; encourage demod of this module\n\n(provide module-begin)\n\n(define-syntax-ru"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/sandbox.rkt",
"chars": 228,
"preview": "#lang racket/base\n(require racket/sandbox)\n\n(sandbox-output 'bytes)\n(define e (make-evaluator 'tests/compiler/demodulari"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/base-5-lib.rkt",
"chars": 105,
"preview": "#lang racket/base\n\n(define unexported-five 5)\n(define s (quote-syntax unexported-five))\n\n(eval-syntax s)\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/base-5-lib2.rkt",
"chars": 174,
"preview": "#lang racket/base\n(require \"base-5-lib.rkt\")\n\n;; Same name as in \"base-5-lib.rkt\":\n(define unexported-five \"five\")\n(defi"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/base-5.rkt",
"chars": 20,
"preview": "#lang racket/base\n5\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/base-assign.rkt",
"chars": 320,
"preview": "#lang racket/base\n\n;; Make sure assignment to unused is pruned, while\n;; assumed to used is preserved\n\n(define unused (p"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/base-effect-defn.rkt",
"chars": 64,
"preview": "#lang racket/base\n(define unused (printf \"unused!\\n\"))\n\"result\"\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/has-main-5.rkt",
"chars": 38,
"preview": "#lang racket/base\n\n(module+ main\n 5)\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/kernel-5.rkt",
"chars": 157,
"preview": "(module kernel-5 '#%kernel\n (#%require racket/private/map)\n (define-values (id) (λ (x) x))\n (define-values (xs) (list"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/racket-5.rkt",
"chars": 15,
"preview": "#lang racket\n5\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/syntax-parse-lib.rkt",
"chars": 114,
"preview": "#lang racket/base\n(require syntax/parse)\n\n(syntax-parse (read-syntax 'str (open-input-string \"five\"))\n [_:id 5])\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/demodularizer/tests/use-sub-5.rkt",
"chars": 113,
"preview": "#lang racket/base\n\n(module sub racket/base\n (provide five)\n (define five 5))\n\n(require (submod \".\" sub))\n\nfive\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-asl.rkt",
"chars": 345,
"preview": ";; The first three lines of this file were inserted by DrRacket. They record metadata\n;; about the language level of thi"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-bsl.rkt",
"chars": 345,
"preview": ";; The first three lines of this file were inserted by DrRacket. They record metadata\n;; about the language level of thi"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-bsla.rkt",
"chars": 350,
"preview": ";; The first three lines of this file were inserted by DrRacket. They record metadata\n;; about the language level of thi"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-isl.rkt",
"chars": 349,
"preview": ";; The first three lines of this file were inserted by DrRacket. They record metadata\n;; about the language level of thi"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-isll.rkt",
"chars": 356,
"preview": ";; The first three lines of this file were inserted by DrRacket. They record metadata\n;; about the language level of thi"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me1.rkt",
"chars": 155,
"preview": "(module embed-me1 mzscheme\n (with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n (lambda () (pri"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me10.rkt",
"chars": 199,
"preview": "(module embed-me10 mzscheme\n (require openssl/mzssl)\n\n (with-output-to-file (build-path (find-system-path 'temp-dir) \""
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me11-rd.rkt",
"chars": 463,
"preview": "(module embed-me11-rd mzscheme\n (provide (rename *read-syntax read-syntax)\n (rename *read read))\n\n (define ("
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me11.rkt",
"chars": 78,
"preview": "#reader(lib \"embed-me11-rd.ss\" \"tests\" \"compiler\" \"embed\")\n\"It goes to ~a!\\n\"\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me12-rd.ss",
"chars": 463,
"preview": "(module embed-me11-rd mzscheme\n (provide (rename *read-syntax read-syntax)\n (rename *read read))\n\n (define ("
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me12.ss",
"chars": 79,
"preview": "#reader(lib \"embed-me12-rd.rkt\" \"tests\" \"compiler\" \"embed\")\n\"It goes to ~a!\\n\"\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me13.rkt",
"chars": 131,
"preview": "#lang racket/base\n(require racket/runtime-path)\n(define-runtime-module-path-index _mod \"embed-me14.rkt\")\n(dynamic-requir"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me14.rkt",
"chars": 175,
"preview": "#lang racket/base\n(require \"embed-me13.rkt\")\n(with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n ("
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me15-one.rkt",
"chars": 210,
"preview": "#lang racket/base\n(define two 2)\n(provide two)\n\n(module* one #f\n (require (submod \".\" \"..\" three))\n (define one 1)\n ("
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me15.rkt",
"chars": 213,
"preview": "#lang racket/base\n(require (submod \"embed-me15-one.rkt\" one))\n(with-output-to-file (build-path (find-system-path 'temp-d"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me16.rkt",
"chars": 205,
"preview": "#lang racket/base\n\n;; a `main' submodule:\n(module main racket/base\n (with-output-to-file (build-path (find-system-path "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me17.rkt",
"chars": 59,
"preview": "#lang racket/base\n(require (submod \"embed-me17a.rkt\" sub))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me17a.rkt",
"chars": 195,
"preview": "#lang racket\n\n(define print-17\n (lambda () (printf \"This is 17.\\n\")))\n\n(module+ sub\n (with-output-to-file (build-path "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me18.rkt",
"chars": 243,
"preview": "#lang racket/base\n(require (submod tests/compiler/embed/embed-me18a sub))\n(with-output-to-file (build-path (find-system-"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me18a.rkt",
"chars": 120,
"preview": "#lang racket/base\n(module sub racket/base\n (provide print-18)\n (define (print-18)\n (printf \"This is 18.\\n\")))\n\n\n\n "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me19.rkt",
"chars": 466,
"preview": "#lang racket/base\n(require racket/runtime-path)\n\n(define-runtime-module-path plai plai)\n(define-runtime-module-path plai"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me1b.rkt",
"chars": 265,
"preview": "#lang scheme/base\n\n(require scheme/runtime-path\n (for-syntax scheme/base))\n(define-runtime-path file '(lib \"icon"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me1c.rkt",
"chars": 268,
"preview": "#lang scheme/base\n\n(require scheme/runtime-path\n (for-syntax scheme/base))\n(define-runtime-path file '(lib \"etc."
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me1d.rkt",
"chars": 266,
"preview": "#lang scheme/base\n\n(require scheme/runtime-path\n (for-syntax scheme/base))\n(define-runtime-path file '(lib \"file"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me1e.rkt",
"chars": 254,
"preview": "#lang scheme/base\n\n(require scheme/runtime-path\n (for-syntax scheme/base))\n(define-runtime-path file '(lib \"html"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me1f.rkt",
"chars": 377,
"preview": "#lang scheme/base\n\n(require scheme/runtime-path)\n\n;; Check that relative paths are preserved:\n(define-runtime-path f1 \"e"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me1f1.rktl",
"chars": 39,
"preview": "(load-relative \"sub/embed-me1f2.rktl\")\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me2.rkt",
"chars": 204,
"preview": "(module embed-me2 mzscheme\n (require \"embed-me1.ss\"\n\t mzlib/etc)\n (with-output-to-file (build-path (find-system-path"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me20.rkt",
"chars": 212,
"preview": "#lang racket/base\n\n;; like \"embed-me16.rkt\" using `module+'\n(module+ main\n (with-output-to-file (build-path (find-syste"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me21.rkt",
"chars": 357,
"preview": "#lang racket/base\n(require racket/match)\n\n;; check using `racket/match', particularly with a pattern\n;; that eneds run-t"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me22.rkt",
"chars": 114,
"preview": "#lang racket/kernel\n\n(printf \"This is 22.\\n\")\n\n(module configure-runtime racket/kernel\n (printf \"Configure!\\n\"))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me23.rkt",
"chars": 146,
"preview": "#lang racket/base\n(require racket/serialize)\n\n(serializable-struct foo (a b))\n\n(define f (deserialize (serialize (foo 1 "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me24.rkt",
"chars": 19,
"preview": "#lang racket\n\n\"Ok\"\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me25.rkt",
"chars": 77,
"preview": "#lang racket/base\n\n(module+ main\n 12)\n\n(module submod racket/base\n 11)\n\n10\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me26.rkt",
"chars": 126,
"preview": "#lang racket/base\n\n(module+ main\n 12)\n\n(module submod racket/base\n 11)\n\n10\n(require (submod \"embed-me27.rkt\" other-sub"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me27.rkt",
"chars": 45,
"preview": "#lang racket/base\n\n(module+ other-submod 'y)\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me28.rkt",
"chars": 416,
"preview": "#lang racket/base\n(require racket/place)\n\n(define (go)\n (place pch\n (place-channel-put pch 28)))\n\n(module+ main"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me29-2.rkt",
"chars": 92,
"preview": "#lang racket/base\n\n(module inside racket/base\n (define inside 'inside)\n (provide inside))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me29.rkt",
"chars": 101,
"preview": "#lang racket/base\n\n(module main racket/base\n (require (submod \"embed-me29-2.rkt\" inside))\n inside)\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me3.rkt",
"chars": 198,
"preview": "(module embed-me3 mzscheme\n (require mzlib/etc)\n (with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me30.rkt",
"chars": 104,
"preview": "#lang racket\n(require \"embed-place2.rkt\")\n(module+ main\n (void (sync (place-dead-evt (start-place)))))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me31.rkt",
"chars": 428,
"preview": "#lang racket/base\n\n;; check that `declare-preserve-for-embedding` works\n\n(module keep-me racket/base\n (module declare-p"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me32.rkt",
"chars": 466,
"preview": "#lang racket/base\n(require syntax/modread)\n\n;; Read and run a `#lang racket/base` program\n\n(parameterize ([current-modul"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me33.rkt",
"chars": 481,
"preview": "#lang racket/base\n(require syntax/modread)\n\n;; Read and run a `#lang at-exp racket/base` program\n\n(parameterize ([curren"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me34-print.rkt",
"chars": 96,
"preview": "#lang racket\n\n(provide print)\n\n(define (print ch)\n (printf \"This is 34 in a second place.\\n\"))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me34.rkt",
"chars": 332,
"preview": "#lang racket/base\n(require racket/place\n racket/runtime-path)\n\n(define-runtime-module-path-index mod-for-place \""
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me35.rkt",
"chars": 534,
"preview": "#lang racket/base\n(require setup/dirs)\n\n(define (check-path-or-false p)\n (unless (or (not p) (path? p))\n (error 'emb"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me36.rkt",
"chars": 191,
"preview": "#lang racket/base\n\n;; Make sure this module doesn't get compiled, because the intent is\n;; to test `raco exe` on the mod"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me37.rkt",
"chars": 203,
"preview": "#lang racket/base\n(require \"embed-me37b.rkt\")\n\n(define form-list\n (dynamic-require ''basic:base 'list))\n\n(form-list 'a\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me37b.rkt",
"chars": 101,
"preview": "#lang racket/base\n\n(list 'b\n (variable-reference->module-source\n (#%variable-reference)))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me38.rkt",
"chars": 216,
"preview": "#lang racket/base\n(require racket/runtime-path\n (for-syntax racket/base))\n\n(define-runtime-path license '(share "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me39.rkt",
"chars": 387,
"preview": "#lang racket/base\n\n(module+ main\n (require (for-syntax racket/base)\n racket/runtime-path)\n (define-runtime-p"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me4.rktl",
"chars": 103,
"preview": "(with-output-to-file \"stdout\"\n (lambda () (printf \"This is the literal expression 4.\\n\"))\n 'append)\n\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me40.rkt",
"chars": 219,
"preview": "#lang racket/base\n(require racket/runtime-path\n (for-syntax racket/base)\n \"embed-me40b.rkt\")\n\n(define-ru"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me40b.rkt",
"chars": 54,
"preview": "#lang racket/base\n(provide b)\n(define b (gensym 'b))\n\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me41.rkt",
"chars": 246,
"preview": "#lang racket/base\n(require racket/serialize\n racket/treelist\n racket/mutable-treelist)\n\n(and\n (treelist?"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me5.rkt",
"chars": 184,
"preview": "(module embed-me5 mzscheme\n (require mred)\n (with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me6.rkt",
"chars": 283,
"preview": "(module embed-me6 mzscheme\n (with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n (lambda () \n "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me6b.rkt",
"chars": 306,
"preview": "(module embed-me6b racket/base\n (with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n (lambda () "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me8.c",
"chars": 629,
"preview": "#include \"escheme.h\"\n\nScheme_Object *ex(int argc, Scheme_Object **argv)\n{\n return scheme_make_utf8_string(\"Hello, world"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-me9.rkt",
"chars": 218,
"preview": "(module embed-me9 mzscheme\n (require \"embed-me8.ss\")\n (with-output-to-file (build-path (find-system-path 'temp-dir) \"s"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-place.rkt",
"chars": 101,
"preview": "#lang racket/base\n(require racket/place)\n\n(provide go)\n\n(define (go ch)\n (place-channel-put ch 42))\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-place2.rkt",
"chars": 238,
"preview": "#lang racket\n(provide start-place)\n(define (start-place)\n (place pch\n (with-output-to-file (build-path (find-sy"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-planet-1/alt.rkt",
"chars": 164,
"preview": "#lang racket/base\n(require \"main.rkt\")\n\n(with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n #:exis"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-planet-1/dyn-sub.rkt",
"chars": 323,
"preview": "#lang racket/base\n(require (submod (planet racket-tester/p1/has-sub) the-sub))\n\n(with-output-to-file (build-path (find-s"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-planet-1/has-sub.rkt",
"chars": 74,
"preview": "#lang racket/base\n\n(module+ the-sub\n (provide out)\n (define out 'out))\n\n"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-planet-1/main.rkt",
"chars": 124,
"preview": "#lang racket/base\n\n(with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n (lambda () (displayln \"one\""
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-planet-1/other.rkt",
"chars": 181,
"preview": "#lang racket/base\n(require (planet racket-tester/p2))\n\n(with-output-to-file (build-path (find-system-path 'temp-dir) \"st"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-planet-2/main.ss",
"chars": 125,
"preview": "#lang racket/base\n\n\n(with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n (lambda () (displayln \"two"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/embed-planet-2/private/sub.rkt",
"chars": 166,
"preview": "#lang racket/base\n(require \"../main.ss\")\n\n(with-output-to-file (build-path (find-system-path 'temp-dir) \"stdout\")\n #:ex"
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/info.rkt",
"chars": 914,
"preview": "#lang info\n\n(define compile-omit-paths '(\"embed-me9.rkt\"\n \"embed-planet-1\"\n "
},
{
"path": "pkgs/compiler-test/tests/compiler/embed/sub/embed-me1f2.rktl",
"chars": 24,
"preview": "(printf \"This is 1f\\n\")\n"
}
]
// ... and 5504 more files (download for full content)
About this extraction
This page contains the full source code of the racket/racket GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5704 files (88.1 MB), approximately 23.4M tokens, and a symbol index with 11645 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.