#6781: Library access to ecl
-------------------------+--------------------------------------------------
Reporter: nbruin | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-feature
Component: symbolics | Keywords:
Reviewer: | Author:
Merged: |
-------------------------+--------------------------------------------------
Comment(by nbruin):
As Juanjo suggested on:
http://sourceforge.net/mailarchive/message.php?msg_name=c159f9ab0809140803h1cfc3473p17a7b7afb82a4e71%40mail.gmail.com
we can do a good error-catch by using CL's equivalent of try...except:
{{{
(defun my-safe-eval (form)
(handler-case
(values (eval form))
(serious-condition (c) (return-from my-safe-eval (values nil
(princ-to-string c))))))
}}}
we lose any multiple return values, but detecting if an error occurred is
cheap via NVALUES. VALUES(1) will be a nice string
describing the error (princ seems to turn the condition object into the
most informative string)
Furthermore, it seems that renaming a ".fasb" to ".fas" is all that is
needed to make the file respond to the usual
"require". If we furthermore symbolically link <ECL-LIBRARY>/maxima.fas to
maxima.fasb then loading maxima is really as easy as
(require 'maxima).
To find out the pathname of the current ecl library, do
{{{
ecl -eval "(princ (SI:GET-LIBRARY-PATHNAME))" -eval "(quit)"
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6781#comment:4>
Sage <http://sagemath.org/>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---