Knut Gjerden
2009-06-15 12:51:02 UTC
Dear developers,
This is an update to the post by Bruno Daniel found here:
http://article.gmane.org/gmane.comp.mathematics.maxima.general/17602
In order to work with the newer versions of Maxima (5.18.1) and SBCL (1.0.29),
the code suggested by Mr. Daniel should be changed slightly:
----------------------------------------------------------
(defpackage :my-package (:use :common-lisp))
(in-package :my-package)
(let ()
(load "/Users/knutgj/Code/usemaxima/maxima-5.18.1/lisp-utils/defsystem.lisp")
;; This creates a lot of warnings in SBCL, but they seem to do no harm:
(load "/Users/knutgj/Code/usemaxima/maxima-5.18.1/src/maxima.system")
(funcall (intern (symbol-name :operate-on-system) :mk) "maxima"
:load :verbose t))
(let ()
(setf maxima::*load-verbose* nil)
(setf *debugger-hook* #'maxima::maxima-lisp-debugger)
(let ((input-stream maxima::*standard-input*)
(batch-flag nil))
(progn
(maxima::set-readtable-for-macsyma)
(setf maxima::*read-default-float-format* 'double-float))
(catch 'to-lisp
(maxima::initialize-real-and-run-time)
(intl::setlocale)
(maxima::set-locale-subdir)
(maxima::adjust-character-encoding)
(maxima::set-pathnames)
(when (boundp 'maxima::*maxima-prefix*)
(push (pathname (concatenate 'string maxima::*maxima-prefix* "/share/locale/"))
intl::*locale-directories*))
(setf (values input-stream batch-flag)
(maxima::process-maxima-args input-stream batch-flag))))
)
(defparameter *maxima-package* (find-package :maxima))
(defun maxima::intern-invert-case (string)
(intern (maxima::maybe-invert-string-case string) *maxima-package*))
-------------------------------------------------------------
The remainder of the code is so far unchanged (by me at least), only the
initialization of Maxima needed to be updated. I hope this helps others who wish
to use the features of Maxima from within their Lisp code.
Best regards,
Knut Gjerden
This is an update to the post by Bruno Daniel found here:
http://article.gmane.org/gmane.comp.mathematics.maxima.general/17602
In order to work with the newer versions of Maxima (5.18.1) and SBCL (1.0.29),
the code suggested by Mr. Daniel should be changed slightly:
----------------------------------------------------------
(defpackage :my-package (:use :common-lisp))
(in-package :my-package)
(let ()
(load "/Users/knutgj/Code/usemaxima/maxima-5.18.1/lisp-utils/defsystem.lisp")
;; This creates a lot of warnings in SBCL, but they seem to do no harm:
(load "/Users/knutgj/Code/usemaxima/maxima-5.18.1/src/maxima.system")
(funcall (intern (symbol-name :operate-on-system) :mk) "maxima"
:load :verbose t))
(let ()
(setf maxima::*load-verbose* nil)
(setf *debugger-hook* #'maxima::maxima-lisp-debugger)
(let ((input-stream maxima::*standard-input*)
(batch-flag nil))
(progn
(maxima::set-readtable-for-macsyma)
(setf maxima::*read-default-float-format* 'double-float))
(catch 'to-lisp
(maxima::initialize-real-and-run-time)
(intl::setlocale)
(maxima::set-locale-subdir)
(maxima::adjust-character-encoding)
(maxima::set-pathnames)
(when (boundp 'maxima::*maxima-prefix*)
(push (pathname (concatenate 'string maxima::*maxima-prefix* "/share/locale/"))
intl::*locale-directories*))
(setf (values input-stream batch-flag)
(maxima::process-maxima-args input-stream batch-flag))))
)
(defparameter *maxima-package* (find-package :maxima))
(defun maxima::intern-invert-case (string)
(intern (maxima::maybe-invert-string-case string) *maxima-package*))
-------------------------------------------------------------
The remainder of the code is so far unchanged (by me at least), only the
initialization of Maxima needed to be updated. I hope this helps others who wish
to use the features of Maxima from within their Lisp code.
Best regards,
Knut Gjerden