Export matrix stuff properly (?).
[CommonLispStat.git] / defsys.lsp
blobded14bdeac7345bd57919f0e78d4b459e0e06034
1 ;;; -*- mode: lisp -*-
3 (defpackage :lisp-stat-config
4 (:use :common-lisp)
5 (:export *default-path* *lsos-files* *basic-files* *ls-files*))
7 (in-package :lisp-stat-config)
9 ;; KCL
10 ;; (proclaim '(optimize (safety 2) (space 3) (speed 3)))
11 ;; (setf *break-enable* nil)
14 ;;;;
15 ;;;; EXCL (Allegro)
16 ;;;;
18 ;; (setf *read-default-float-format* 'double-float)
20 (defvar *common-lisp-stat-version* "1.0 Alpha 1")
22 (defvar *default-path* "./")
24 ;;;
25 ;;; Functions for switching into and out of debug mode
26 ;;;
27 ;;; Note that ANSI Common Lisp post-dates these, we need to ensure
28 ;;; that CL's signal handling is taken into consideration.
31 (defun ls-debug-on (signals-to-break-on) ;; FIXME:AJR
32 (setf *break-on-signals* signals-to-break-on))
34 (defun ls-debug-off ()
35 (setf *break-on-signals* nil))
38 ;;;;
39 ;;;; Compilation and Loading Utilities
40 ;;;;
42 (defvar *lsos-files* (list "lsobjects"))
44 (defvar *basic-files*
45 (list "lsbasics"
46 "lsfloat"
47 "fastmap"
48 "compound"
49 "matrices"
50 "ladata"
51 "linalg"
52 "dists"))
54 (defvar *ls-files*
55 (list "lsmath"
56 ; #-:kcl "help"
57 "statistics"
58 "regression"
59 "nonlin"
60 "maximize"
61 "bayes"
62 "lstoplevel"))
64 (defun use-ls-package (name)
65 (shadowing-import (package-shadowing-symbols name))
66 (use-package name))
68 (defun use-stats ()
69 #+:kcl (shadowing-import '(ls::x))
70 (use-ls-package 'lisp-stat-object-system)
71 (use-ls-package 'lisp-stat-basics)
72 (use-ls-package 'lisp-stat))
74 (defun lispfile (x)
75 "Add suffix/type to string name."
76 (concatenate 'string x
77 #+:kcl ".lsp"
78 #+(or :mcl :excl) ".lisp"))
80 (defun load-files (files)
81 (dolist (f files) (load f :verbose t)))
83 (defun compile-load-files (files &optional (load t))
84 (dolist (f files)
85 #+:mcl (format t "compiling ~a~%" f)
86 #+:excl (load (lispfile f))
87 (compile-file f)
88 (if load (load f))))
90 (defun load-lsos ()
91 (load-files *lsos-files*))
93 (defun load-ls-basics ()
94 (load-lsos)
95 (load-files *basic-files*)
96 #+:kcl (if (and (probe-file "kclglue.o")
97 (probe-file "lib/clib.a"))
98 (si:faslink "kclglue" *clibs*)))
100 (defun load-stats ()
101 (load-ls-basics)
102 (load-files *ls-files*))
104 (defun compile-lsos ()
105 (compile-load-files *lsos-files*))
107 (defun compile-ls-basics (&optional (compile-all t))
108 (if compile-all (compile-lsos) (load-lsos))
109 (compile-load-files *basic-files*)
110 #+:kcl (progn (compile-file "kclglue")
111 (si:faslink "kclglue" *clibs*)))
113 (defun compile-stats (&optional (compile-all t))
114 (if compile-all (compile-ls-basics) (load-ls-basics))
115 (compile-load-files *ls-files*))