pspp-dev
[Top][All Lists]
Advanced

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

Re: guile again


From: John Darrington
Subject: Re: guile again
Date: Thu, 26 Mar 2009 23:58:31 +0900
User-agent: Mutt/1.5.18 (2008-05-17)

On Tue, Mar 24, 2009 at 01:04:51AM -0700, Ben Pfaff wrote:

     I agree in principle that it would be nice to be able to develop
     for PSPP in more languages than C, and I understand that Guile is
     the language that the GNU project has endorsed as an extension
     language for all GNU software.
     
     But I wonder whether our users would be better served by choosing
     a different extension language.  In particular, SPSS supports
     Python and R as extension languages.  If PSPP were to support one
     (or both) of these languages for extension, then our users could
     reuse the extensions that they have already written.  On the
     other hand, if we were to choose Guile, then they would have to
     learn an entirely different language (and in practice I think
     that they would choose not to do this).
     
     Another approach would be to integrate support for multiple
     languages using a tool such as SWIG (http://www.swig.org/), which
     supports Guile, Python, R, and other languages.


I think it's important to understand the motive for wanting to do
this.  As I see it, there are three possible motives, which do not
necessarily call for the same solutions.  The first motive is to
enable users to write their own "scripts".  The second is to ease
development effort.  A third possible motive is to increase the user
base (which is why I think SPSS chose to integrate R).

Python would be a good choice to address the first motive. It's easy
for people to pick up quickly, without having to think too hard about
the problem.  It's also what Spss have chosen to replace thier ancient
"macro" facility.

Python may also suitable as an extension language for writing high
level aspects of the gui, so long as we pitch the interface at the
right level.

On the other hand, I have doubts about suitability of Python as a tool
for writing statistical procedures.  Such procedures need to be
thought about carefully, and it won't get us anywhere to encourage
access to things like covariance matricies and casereaders without due
consideration into the manner of their use.  I really think Guile is
the more appropriate for this purpose.

I've only ever looked at swig very briefly, but my experience of
"universal adaptors" is that due to their catholic nature, they end up
offering only the lowest common denominator of all the components they
embrace (look at wxwidgets).  This is fine if all you wish to do is
offer an alternative interface.  But, at least for our second motive,
I think we want to realize the optimal power in whatever language we
choose. 

The way Spss has integrated R, looses all the efficiency of Spss, and
all the elegence of the R language.  If we ever end up integrating R a
la Spss, then as I see it, the only reason would be compatibility.  I
would be interested in investigating better ways to use an R like syntax
with Pspp's back end, but I think this would be a long term project
requiring considerable research.

Just my $0.02


-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://pgp.mit.edu or any PGP keyserver for public key.


Attachment: signature.asc
Description: Digital signature


reply via email to

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