On Wed, Jan 03, 2024 at 07:07:47PM +0800, Qian Yun wrote:
> I suggest to check for symbol instead of "#+" feature testing.
>
> This will allow FFI-free pure-lisp build.
IMO pure-lisp build is futile. We want to use GMP, blas, lapack
and possibly our own routines. Currently ECL and GCL use
GMP for bignums, so that covers important part. But we also
would like to use GMP for polynomial multiplication and for
that purpose bypassing Lisp bignums is very desirable. Currently
we have proof-of-concept lapack and blas interface. Main issue
blocking its inclusion is configure machinery to detect blas
and lapack, FFI part is easy to resolve.
> 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.
Big point about ECL is ease of calling C code. And it seems that
to get good performance using ECL we need to call C: "native"
ECL is too slow. So really library use should include FFI.
--
Waldek Hebisch