diff options
author | Yale AI Dept <ai@nebula.cs.yale.edu> | 1993-07-14 13:08:00 -0500 |
---|---|---|
committer | Duncan McGreggor <duncan.mcgreggor@rackspace.com> | 1993-07-14 13:08:00 -0500 |
commit | 4e987026148fe65c323afbc93cd560c07bf06b3f (patch) | |
tree | 26ae54177389edcbe453d25a00c38c2774e8b7d4 /top/system-init.scm |
Import to github.
Diffstat (limited to 'top/system-init.scm')
-rw-r--r-- | top/system-init.scm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/top/system-init.scm b/top/system-init.scm new file mode 100644 index 0000000..4c06cb5 --- /dev/null +++ b/top/system-init.scm @@ -0,0 +1,41 @@ + +(define (initialize-haskell-system) + (when (not *haskell-initialized?*) + (initialize-haskell-system/forced)) + 'haskell-ready) + +(predefine (**tycon/def def args)) ; in util/constructors.scm +(predefine (init-cse-structs)) ; in csys/dump-cse.scm + +(define (initialize-haskell-system/forced) + (setf *haskell-initialized?* '#t) + (setf *error-output-port* (current-output-port)) + (init-core-symbols) + (init-tuples) + (setf *standard-module-default* + (make default-decl + (types (list + (**tycon/def (core-symbol "Int") '()) + (**tycon/def (core-symbol "Double") '()))))) + (setf *undefined-def* + (make def + (name '*undefined*) + (unit '*undefined*) + (module '*undefined*))) + (setf *printer-class* + (make class + (name '|Printers|) + (module '|*Core|) (unit '|*Core|))) + (init-cse-structs)) + +;;; This should be called in the system restart code generated by a +;;; disk save + +(define (load-init-files) + (load-init-file "$HASKELL/.yhaskell") + (load-init-file "~/.yhaskell")) + +(define (load-init-file name) + (when (file-exists? name) + (load name))) + |