To tell you the truth, I never looked closely enough at views to
figure what it would take to make them work.  It may be trivial, or it
may be impossible.

Yeah, I now believe my suspicions to be correct, at least as of a year and half ago.  Maybe there have been some advances as CLISP seems to support the needed feature and I'd bet the C friendly ECL and GCL both do as well, still no idea on SBCL.

One thing to keep in mind is that I am rewriting what
I call "data" (matrix, vectors, etc.) to use Tamas Papp's
foreign-friendly arrays.  On SBCL, this will mean that the CL array
and the C array will be one and the same (no copying).

Hmmm... that sounds good, still not sure how Tamas' FFAs would work.  I was preparing to suggest the *other* route that Tamas mentions on his page, basically using the GSL data structures thinly wrapped in a Lisp object (to tie it into the GC).  I guess both have their pros and cons.

BTW, I have one question, purely out of curiosity.  Even if you use an FFA, GSL is going to expect data in the format the GSL developers designed, e.g.:
     00 01 02 03 XX XX XX XX
10 11 12 13 XX XX XX XX
20 21 22 23 XX XX XX XX
Which means that either the Lisp array will have extra junk to carry around, and hence new matrix operations will need to be defined, or some C side trickery must be performed to translate it, which is what we are trying to avoid, right?  How do you deal with this (or plan to)?

Best,
Zach




On Wed, Apr 9, 2008 at 5:45 PM, Zach <elzacho@gmail.com> wrote:
> Liam et. al.,
>
> OK, tell me if I am wrong.  Matrix/vector views are not supported in GSLL.
> This is due to the fact that we need to recieve a structure by value.  This
> cannot be done due to a weakness of the underlying CFFI.  Which in turn
> (according to their mailing list) is actually a weakness of most Lisp
> implementations.  In order to get this to work there is some C language glue
> that needs to be written.  Is this a correct assessment of the situation?
>
> Zach
>
>
> _______________________________________________
>  Gsll-devel mailing list
>  Gsll-devel@common-lisp.net
>  http://common-lisp.net/cgi-bin/mailman/listinfo/gsll-devel
>
>