;;;	Copyright (c) 1989, 1990 by Aubrey Jaffer, All rights reserved.

(load "scl")		;Common Lisp/Scheme compatability definitions.
(scl)			;Start up implemtation language (if necessary).
(load "types")		;Variables and type conversions.
(define (math_exit b) (error "error in math system"))
	;error handling when not running (math) [read-eval-print loop]
(define math_debug #f)	;break on soft errors.
(define math_trace #f)	;trace canonical function application.
(load "sexp")		;read-eval-print loop, test, and error routines.
			;Conversion from sexpression to internal form
			;and back.
(define *input-grammer* scheme-grammer)	;grammer to use if none is loaded.
(define *output-grammer* scheme-grammer) ;grammer to use if none is loaded.
(load "poly")		;Routines which operate on internal data type POLY.
(load "vect")		;Routines which operate on lists of POLY (mtrx).
(load "norm")		;Differentials, finite differentials,
			;factoring, and logical operations.
(load "builtin")	;Routines defined for sexpressions.
(define link-radicands #t)	;Relate radicals in the traditional manner.
(load "ext")		;Field extension creation and simplification.
(load "parse")		;General parser and infix printer.
(load "std.grm")	;Standard grammer definitions.
;;; These routines test the core mathematical routines;
;;; Beware if they produce warnings or errors.
(poly_test)		;Test for routines in "poly"
(elim_test)		;Test for routines in "bunch"
;(factor_test)
;(matrix_test)
;(load "~/.math")	;User initialization file
(display ";;; Type (math) to begin.")

;;;; The program uses some conventions to make conversion to other
;;;; languages easier:
;;; Dynamic binding is not used.
;;; Multiple values are not used.
;;; Only standard ASCII characters are used.
;;; No input editing is provided.  Only printing characters, space, tab, and
;;;  newline are understood by the parser.
;;; Macros are not defined.
;;; DEFSTRUCT is not used.
;;; The only data types used are (), cons, integer, character,
;;; string, simple-vector and symbol.
;;; Backquote is not used.
;;; Only downward funargs are used except in cgol
