vectorized math is important
[CommonLispStat.git] / defsys.lsp
blob7989b846387a9ee9e8933a1a548298829497b9df
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 ;;;;
28 (defun debug ()
29 #+:kcl (setf *break-enable* t) ;; or nil for nodebug
30 #+:mcl (setf *break-on-errors* t)) ;; or nil
32 ;;;;
33 ;;;; Compilation and Loading Utilities
34 ;;;;
36 (defvar *lsos-files* (list "lsobjects"))
38 (defvar *basic-files*
39 (list "lsbasics"
40 "lsfloat"
41 "fastmap"
42 "compound"
43 "matrices"
44 "ladata"
45 "linalg"
46 "dists"))
48 (defvar *ls-files*
49 (list "lsmath"
50 ; #-:kcl "help"
51 "statistics"
52 "regression"
53 "nonlin"
54 "maximize"
55 "bayes"
56 "lstoplevel"))
58 (defun use-ls-package (name)
59 (shadowing-import (package-shadowing-symbols name))
60 (use-package name))
62 (defun use-stats ()
63 #+:kcl (shadowing-import '(ls::x))
64 (use-ls-package 'lisp-stat-object-system)
65 (use-ls-package 'lisp-stat-basics)
66 (use-ls-package 'lisp-stat))
68 (defun lispfile (x)
69 "Add suffix/type to string name."
70 (concatenate 'string x
71 #+:kcl ".lsp"
72 #+(or :mcl :excl) ".lisp"))
74 (defun load-files (files)
75 (dolist (f files) (load f :verbose t)))
77 (defun compile-load-files (files &optional (load t))
78 (dolist (f files)
79 #+:mcl (format t "compiling ~a~%" f)
80 #+:excl (load (lispfile f))
81 (compile-file f)
82 (if load (load f))))
84 (defun load-lsos ()
85 (load-files *lsos-files*))
87 (defun load-ls-basics ()
88 (load-lsos)
89 (load-files *basic-files*)
90 #+:kcl (if (and (probe-file "kclglue.o")
91 (probe-file "lib/clib.a"))
92 (si:faslink "kclglue" *clibs*)))
94 (defun load-stats ()
95 (load-ls-basics)
96 (load-files *ls-files*))
98 (defun compile-lsos ()
99 (compile-load-files *lsos-files*))
101 (defun compile-ls-basics (&optional (compile-all t))
102 (if compile-all (compile-lsos) (load-lsos))
103 (compile-load-files *basic-files*)
104 #+:kcl (progn (compile-file "kclglue")
105 (si:faslink "kclglue" *clibs*)))
107 (defun compile-stats (&optional (compile-all t))
108 (if compile-all (compile-ls-basics) (load-ls-basics))
109 (compile-load-files *ls-files*))