I don't see why an embedded ECL-based FriCAS must be pure lisp. ECL has its FFI just fine.
In fact, one might consider developing a plain C library allowing calling FriCAS via libecl.so On 3 January 2024 11:07:47 WET, Qian Yun <oldk1...@gmail.com> wrote: >I suggest to check for symbol instead of "#+" feature testing. > >This will allow FFI-free pure-lisp build. > >To quote the FriCAS development goals: > > "make it easier for external programs to interface with FriCAS" > >I think that FFI-free pure-lisp build is one step toward this goal. > >fricas0 is one example that utilizes pure-lisp build. > >In Sagemath, there's a pexpect (IO) based interface for FriCAS and >Maxima, but there's an additional ECL based interface for Maxima. >So using FriCAS as a pure-lisp library can have its advantages. > >- Qian > > >diff --git a/src/interp/nlib.lisp b/src/interp/nlib.lisp >index 8c844fa7..ffdacae6 100644 >--- a/src/interp/nlib.lisp >+++ b/src/interp/nlib.lisp >@@ -304,10 +304,10 @@ > ;; ($ERASE filearg) -> 0 if succeeds else 1 > (defun |erase_lib|(filearg) > (if (|fricas_probe_file| filearg) >- #+:fricas_has_remove_directory >- (|remove_directory| filearg) >- #-:fricas_has_remove_directory >- (delete-directory filearg) >+ (let ((sym (find-symbol "remove_directory" "FRICAS-LISP"))) >+ (if sym >+ (funcall sym filearg) >+ (delete-directory filearg))) > 1)) > > (defun |erase_lib0|(fn ft) (|erase_lib| (|make_filename0| fn ft))) > -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/7A691421-848F-454F-995B-EFDF991A4465%40gmail.com.