From 4e987026148fe65c323afbc93cd560c07bf06b3f Mon Sep 17 00:00:00 2001 From: Yale AI Dept Date: Wed, 14 Jul 1993 13:08:00 -0500 Subject: Import to github. --- top/globals.scm | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 top/globals.scm (limited to 'top/globals.scm') diff --git a/top/globals.scm b/top/globals.scm new file mode 100644 index 0000000..eba139b --- /dev/null +++ b/top/globals.scm @@ -0,0 +1,75 @@ +;;; These are global variables used throughout the compiler. + +;;; Configuration stuff + +(define *prelude-unit-filename* "$PRELUDE/Prelude.hu") + +(define *haskell-compiler-version* "Y2.0.5") +(define *haskell-compiler-update* "") + + +;;; Control over the init process +(define *haskell-initialized?* '#f) + +;;; Error control +(define *break-on-error?* '#f) +(define *never-break?* '#f) + +(define *runtime-abort* '()) + +(define *recoverable-error-handler* '()) +(define *error-output-port* '()) ; initialized later + +(define *context* '#f) ; ast node being compiled. + +(define *unit* '()) + +(define *standard-module-default* '()) + +(define *undefined-def* '()) +(define *printer-class* '()) +(define *printers* '(phase-time)) + +(define *all-printers* + '(phase-time time compiling loading reading extension + parse import type-decl scope depend + type cfn depend2 + flic optimize optimize-extra strictness codegen codegen-flic + dumper dump-stat)) + +;;; Global context stuff +;;; ***This variable is actually only used by the parser. + +(define *current-file* '()) + +(define *printed-tyvars* '()) + + +;;; Used by the symbol table routines + +(define *modules* '()) ; maps module name -> module structure +(define *module* '()) ; current module +(define *module-name* '()) +(define *symbol-table* '()) ; part of the current module +(define *inverted-symbol-table* '()) ; maps def -> localname +(define *fixity-table* '()) ; name -> fixity +(define *suffix-table* '()) ; name -> int (for uniquifying names) + +(define *special-parse-for-type-macros* '#f) + +;;; These are for diagnostic purposes only + +(define *big-let* '()) + +(define *show-end-of-phase* '#f) + +;;; This is used to configure error messages & responses. + +(define *emacs-mode* '#f) + +;;; This is used to stash the Prelude symbol environment + +(define *prelude-symbol-table* '()) +(define *prelude-fixity-table* '()) +(define *prelude-inverted-symbol-table* '()) + -- cgit v1.2.3