(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)))