I'm changing the subject line here...
On Sat, Jul 4, 2009 at 3:50 PM, A.J. Rossiniblindglobe@gmail.com wrote:
On Sat, Jun 27, 2009 at 7:23 PM, Liam Healylhealy@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