Instructions:
If you check the box above, provide a
quoted surfance language program.
The interrogator will trace the entire
compilation of the program.
Otherwise, provide an expression or rackunit test using one
of the compiler passes, and the interrogator will run it.
There is a de-factor limit on the size
of the input example, depending on your
browser. I strongly recommend using
Firefox, which has a large limit.
Limits for common browsers:
- Chrome's Limit: 32779 character
- Android's Limit: 8192 character
- Firefox's Limit: >64k character
- Safari's Limit: >64k character
- IE's Limit: 2047 character
- Edge's Limit: 2047 character
You can use the following identifiers:
- check-values-lang
- uniquify
- sequentialize-let
- impose-calling-conventions
- normalize-bind
- select-instructions
- uncover-locals
- undead-analysis
- conflict-analysis
- assign-call-undead-variables
- allocate-frames
- assign-registers
- replace-locations
- assign-frame-variables
- implement-fvars
- optimize-predicates
- expose-basic-blocks
- resolve-predicates
- flatten-program
- patch-instructions
- generate-x64
- current-assignable-registers
- current-patch-instructions-registers
- current-parameter-registers
- current-return-value-register
- current-return-address-register
- current-frame-base-pointer-register
- interp-paren-x64
- link-paren-x64
- compile
- parameterize
- current-pass-list
- let
- compile
- max-int
- min-int
- check-equal?
- check-match
- check-exn
- check-not-exn
- compose
- pretty-display
- thunk
- lambda
- list