initial-packages.scm 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. ; Copyright (c) 1993-2007 by Richard Kelsey and Jonathan Rees. See file COPYING.
  2. ; Packages involved in building the initial system.
  3. ; Access to values from packages and structures
  4. (define-structure environments environments-interface
  5. (open scheme-level-2
  6. packages bindings meta-types
  7. fluids cells
  8. locations ; contents location-assigned?
  9. simple-signals) ; error
  10. (files (rts env)))
  11. ; EVAL and LOAD
  12. (define-structure evaluation evaluation-interface
  13. (open scheme-level-2
  14. packages ;package-uid package->environment link!
  15. environments ;package-for-load
  16. compiler-envs ;bind-source-filename
  17. reading-forms ;read-forms $note-file-package
  18. syntactic ;scan-forms expand-forms
  19. compiler ;compile-forms
  20. closures ;make-closure
  21. vm-exposure ;invoke-closure
  22. features ;current-noise-port force-output
  23. simple-signals fluids)
  24. (files (rts eval)))
  25. ; Scheme = scheme-level-2 plus EVAL and friends
  26. (define-module (make-scheme environments evaluation)
  27. (define-structure scheme scheme-interface
  28. (open scheme-level-2
  29. environments
  30. evaluation))
  31. scheme)
  32. ; Command processor.
  33. (define-module (make-mini-command scheme) ;copied from debug-packages.scm
  34. (define-structure mini-command (export command-processor)
  35. (open scheme
  36. ascii byte-vectors os-strings
  37. writing methods
  38. simple-signals simple-conditions handle
  39. i/o) ;current-error-port
  40. (files (debug mini-command)
  41. (env dispcond))) ; avoid having to include this generally
  42. mini-command)
  43. ; For building systems.
  44. (define-module (make-initial-system scheme command)
  45. (define-structure initial-system (export start)
  46. (open scheme
  47. command
  48. interfaces ;make-simple-interface
  49. packages ;make-simple-package
  50. environments ;with-interaction-environment, etc.
  51. usual-resumer
  52. simple-conditions handle ;error? with-handler
  53. simple-signals) ;error
  54. (files (env start)))
  55. initial-system)
  56. ; Utility to load packages following dependency links (OPEN and ACCESS)
  57. ;Cf. (link-initial-system) and Makefile
  58. (define-structure ensures-loaded (export ensure-loaded)
  59. (open scheme-level-2
  60. features ;current-noise-port
  61. packages ;package-uid package-clients
  62. packages-internal ;package-loaded? set-package-loaded?!
  63. scan-package ;collect-packages check-structure
  64. compile-packages ;compile-package
  65. closures ;make-closure
  66. vm-exposure ;invoke-closure
  67. environments ;with-interaction-environment
  68. weak ;walk-population
  69. )
  70. (files (env load-package)))
  71. ; Things needed by the expression generated by REIFY-STRUCTURES.
  72. (define-structure for-reification for-reification-interface
  73. (open scheme-level-1
  74. packages packages-internal
  75. simple-signals
  76. meta-types ;sexp->type structure-type
  77. interfaces ;make-simple-interface
  78. bindings
  79. nodes ;get-operator operator? operator-type
  80. primops ;get-primop primop? primop-type
  81. usual-macros ;usual-transform
  82. inline ;inline-transform
  83. transforms ;make-transform transform? transform-type
  84. tables)
  85. (files (bcomp for-reify)))