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
Liam Healy wrote:
I'm changing the subject line here...
[snip]
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.
Greetings GSLL-DEVEL,
The library I've been working on is basically a native CL reference implementation of a linear algebra API. It currently approximates the functionality of the BLAS. My intent is to layer it on top of lower level libraries such as GSLL once there is a certain amount of agreement on the interface. I have both working code and matching documentation.
I can commit polishing up a first draft of the software and documentation for release when Liam gets back. We'll figure out where to post it then.
I'm looking forward to getting the ball rolling on this.
Thanks,
Tom
On Mon, Jul 6, 2009 at 2:54 AM, Thomas M. Hermanntmh.public@gmail.com wrote:
Greetings GSLL-DEVEL,
The library I've been working on is basically a native CL reference implementation of a linear algebra API. It currently approximates the functionality of the BLAS. My intent is to layer it on top of lower level libraries such as GSLL once there is a certain amount of agreement on the interface. I have both working code and matching documentation.
I can commit polishing up a first draft of the software and documentation for release when Liam gets back. We'll figure out where to post it then.
That would be great - especially if it sacrificed a bit of flexibility for portability (Cyrus' CLEM is a nice CL library, but it's SBCL only, which is a killer for what I want to do.
Would be great to be able to eliminate my current headache, which is CL-BLAPACK (the headache isn't from the CL code per-say, but figuring out how to use it reliably and automatically on a non-Debian system).
Liam - WRT to R, the pointer to Cyrus' CLSR is more for using his code to figure out how to do it seamlessly, which he does better than I've currently done, but using a few SBCL-isms, where as I'm a bit more of a stickler for portable code (over optimization), trying to keep things CFFI and Microsoft possible, if not being overly friendly towards the latter.
Anyway, this month is "R-like Dataframes in CL" month for me, got to talk about this hobby of mine in less than 2 weeks in Copenhagen, at a conference on Statistical Computing (DSC 2009). Will send a pointer to the list when my slide deck (PDF) is ready.
best, -tony
blindglobe@gmail.com Muttenz, Switzerland. "Commit early,commit often, and commit in a repository from which we can easily roll-back your mistakes" (AJR, 4Jan05).
Drink Coffee: Do stupid things faster with more energy!