[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile again

From: Jason Stover
Subject: guile again
Date: Mon, 23 Mar 2009 09:33:20 -0400
User-agent: Mutt/1.5.18 (2008-05-17)

I want to suggest making a Guile interface for some of our code. I
know this would be quite a change, so let me explain the story.

I attended the FSF annual meeting recently. At the dinner after the
first day, I spoke to a couple of developers about scheme and Guile
and functional programming.  I talked about the problem I had 
making large data structures to accumulate and store sufficient
statistics (like the covariance matrix). We all agreed that a Lisp-ish
language would be better suited to addressing such tasks.  I think
both Ben and John would agree in principal.

I would not want to rely on Guile for numerical code, but it would be
nice for handling and translating users' data from the "spreadsheet"
view down to a lower level mathematical library.

One person in the conversation said that we, meaning all programmers
of free software, have not fully (or even barely) exploited some of
the developments in CS of the 1960's and 1970's. He suggested that we
should be the ones to do so.

I don't think anyone on this list would say that Guile is a bad
idea. The reasons we don't do it are pragmatic: We would have to
publish Guile bindings for, say, GSL. I mentioned this to one of the
developers, and he said that isn't hard now, and it will be even
easier soon (in a few months).

Another reason not to start using Guile is that we would have
to rewrite much of our code. But could could we do this slowly?
What if we had a few Guile bindings now, then started using them
for new features, and slowly change older code gradually?

Another reason not to use Guile is that it would be another
dependency. This is true, but remember that Guile is standard
on GNU/Linux systems, and it can be installed on other systems
as well. So it's a dependency that would be easy to meet.

Another reason not to use Guile is that it would take time away from
other tasks. I think it would do so initially, but it would pay off in
the long run by letting us write better code more quickly, especially
code involving large, complex data structures.

If you agree, then I'm willing to help out however I can. I don't know
how to add Guile support, and it has been a while since I've written
in Guile or Lisp, but I am willing to start using any Guile bindings
for GSL or other libs, and to test and debug as much as I can. I've
gotten to the point where the code I write just looks too
cumbersome in C, and I feel that programming would proceed
much faster using Guile. One criticism of this point is that
my cumbersome data structures and code are a result of my own
bad coding, not the language. That may be, but I have written
complex data structures and algorithms in Lisp without as much
trouble as with the those I'm writing now in C. I think a lot of
programmers have had similar experience with Lisp-ish languages.

Other developers could enumerate most of the benefits of Guile better
than I could, so I won't belabor them here. But there is one other
benefit we may find by using Guile, at least a little: More developers
might take interest in coding for PSPP.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]