low-packages.scm 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. ; Part of Scheme 48 1.9. See file COPYING for notices and license.
  2. ; Authors: Richard Kelsey, Jonathan Rees, Mike Sperber
  3. ; Alternate implementations of the low-structures.
  4. ; Cf. low-structures-interface in ../packages.scm and ../alt-structures.scm.
  5. ; Most of the low-structures are assumed to be inherited or obtained
  6. ; elsewhere (probably from a running Scheme 48). This only defines
  7. ; structures that export privileged operations.
  8. (define-structure escapes escapes-interface
  9. (open scheme-level-2 define-record-types low-exceptions)
  10. (files escape))
  11. (define-structures ((primitives primitives-interface)
  12. (primitives-internal (export maybe-handle-interrupt
  13. raise-exception
  14. get-exception-handler
  15. ?start)))
  16. (open scheme-level-2
  17. define-record-types
  18. bitwise ;Only for re-export
  19. features ;Only for re-export
  20. low-exceptions
  21. ;; templates -- unneeded now?
  22. )
  23. (files primitives
  24. weak
  25. contin))
  26. ; NB: Our syntax-rules implementation really wants a quote here that
  27. ; preserves sharing. Scheme 48 doesn't traditionally do this.
  28. (define-structure code-quotation (export (code-quote :syntax))
  29. (open scheme-level-2)
  30. (begin
  31. (define-syntax code-quote
  32. (lambda (e r c)
  33. e)))) ; this version should never get called
  34. (define-structure syntax-transformers syntax-transformers-interface
  35. (open scheme-level-2)
  36. (files "../rts/low-syntax"))