[Gsll-devel] Common approach to scientific/mathematical/engineering software

Liam Healy lhealy at common-lisp.net
Sun Jul 5 23:58:33 UTC 2009


I'm changing the subject line here...

On Sat, Jul 4, 2009 at 3:50 PM, A.J. Rossini<blindglobe at gmail.com> wrote:
> On Sat, Jun 27, 2009 at 7:23 PM, Liam Healy<lhealy at common-lisp.net> wrote:
>
>> On another subject, I notice you have been doing a lot of work on Lisp
>> interfaces to other science/engineering/math libraries, like R.  My
>> intent in building GSLL was that it would become part of a collection
>> of systems that would have consistent use and interchange of data
>> between different libraries.  So for example, you would be able to
>> make an object representing an array, call a GSLL function, then pass
>> the resulting array to R.  There are a lot of aspects of this problem,
>> but I'm thinking about array standardization as a start.  Do you have
>> any thoughts on this?
>
> The RCLG package has some stuff in the right direction (Rif wrote it,
> I'm maintaining it).  RCL and CLSR, 2 others, have respectively,
> better lispy interfaces and some better internals (roundtrip and
> better object mapping).  I'd look at Cyrus Harmon's CLSR as a start,
> as much as I'd love to have you contribute to RCLG.

My idea at this point was less to contribute to a specific project
than it was to try to find a common approach to dealing with
e.g. arrays and similar structures.  However, discussions can only go
so far without actual code, so the specific projects are important.
It would take me a long time to crack the R packages to see how they
deal with arrays (I haven't used them) than it would be to describe
what I did with GSLL in this regard and let others who know better
about other packages see what common elements are there.

>
> We ought to be able to seemlessly use R's S4 object systems right out
> of CL, it's just CLOS reinvented poorly (so have to add some bugs to
> get the proper mapping, but sigh, you get the point).

Interesting.  I hadn't heard about S4.  It seems like that might be a
major task to integrate with CLOS.  But, do people really need that?
My goal isn't so much to re-implement another programming language but
to make library functions available in CL.  I realize that it's not
easy to divide something R up like that.

>
> So yes, I've got lots of thoughts on this, but I'm not nearly a good
> enough lisp programmer to make enough progress on what I want to do,
> and I need to get a few working pieces before heading back to
> integration.
>
> And BTW, I am working to see about using GSLL as a feasible backend
> for the lisp-matrix stuff, as you've done a fine job on the overall
> system development and internals, as well as for some of the other
> numerical stuff -- however, it would be great to have a robust and
> consistent front end to many different numerical libraries for testing
> numerical stability and comparability.
>
> All this just to be able to wrap a sensible statistical DSL directly
> on top of CL, keeping all of CL around, so that I can once and for all
> forget about R's annoying syntax burps.
>
> (I do like R, having been responsible for many user-level innovations
> and demonstrations with it, but it truly sucks as a platform for
> statistical computing research; it's great for just "computing
> statistical stuff").
>
> Let me know if there is anything I can do to help out (I don't have
> much time, but it'll help me in the long run).
>
> best,
> -tony

I think not much time is a common problem for all of us.  I will be
essentially without network access starting next week through
mid-August, so I can't do anything until at least then.  But at some
point after that I will write something short on how GSLL deals with
arrays, why I did it that way, and what I would like to see added.
Perhaps that will spur a discussion of these ideas.

In the meantime, Tom Hermann has been thinking about some of these
issues.  I think he is now subscribed to this mailing list, but just
in case I have cc'ed him here.  I don't know what the release state of
his work is, but when he feels comfortable with it he can post it
somewhere for discussion.

Thanks for your feedback.


Liam




More information about the gsll-devel mailing list