1 Philosophy

remix intends to only change the standard library of Racket, rather than providing a radically new model of programs, semantics, or data values. It should be possible and easy for remix programs to use Racket libraries and Racket programs to use remix libraries, although it is acceptable for some light, local adaptation to be required.

remix attempts to make the following changes to the standard library:
  • Remove outdated, deprecated, or unadvised functions.

  • Expand keyword argument adoption, removing extraneous functions in the process, such as rkt:assoc and rkt:assq.

  • Systemize required function argument order and names to a subject-verb-object style.

  • Update syntactic forms with more extensible positions and form-specific expanders.

  • Add richer surface notations, specifically different parenthesis shapes, a C-style dot notation, and enabling the @ Syntax by default.

  • Change library mores to better support backwards and forwards compatibility.