GSL collaboration and (and GSL Manual contents) 
Author Message
 GSL collaboration and (and GSL Manual contents)

Hash: SHA1

Aaron and Jonathan,

>[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]

>(among other things)

>> Date: Tue, 29 May 2001 19:50:51 GMT
>> ...

>> >> ...
>> >> GSL -- The GNU Scientific Library. ... gsl is free software. It is
>> (snip)

>> Having the GNU library available can only be a Good Thing, but ...

>> >Presumably 'senior member(s)' have judged that the cost/benefit says
>> >do-it.

>> Do what?

>Nobody has *decided* anything.

>Some time ago I noticed that the GSL had become available. I then
>remembered interacting with people doing various kinds of AI
>research who had extolled the benefits of interactive mathematical
>systems (e.g. matlab) that had lots of mathematical capabilities
>pre-packaged so that users did not have to look up algorithms or
>reinvent them and then implement them.

>However (a) these packages cost real money, even for academics and
>(b) the languages often don't have the flexibility and power of pop-11.

>So I thought it might be very nice for such people to be able to
>get all they wanted and more free of charge from pop11+gsl instead
>of having to pay money for something less powerful.

>And it might attract more users to pop11 and hence lead to more
>willing developers, etc.

>By the way if pop-11 interfaces to a package exist they can also
>conveniently be accessed from Prolog, Common Lisp, and ML, in poplog.

>I enquired whether anyone was interested in doing anything about
>GSL. Both Steve Leach and Jeff Best said they were very interested,
>though they had slightly different reasons.

At the moment, I'm not sure if any progress is being made. Steve and I
have been looking at the problem, but we haven't produced anything
concrete, although we have shared some ideas and information about tools
that may be relevant.

- Show quoted text -

>> >What skill set do we need ?

>> For what?

>> I can't spare any time to help, so I ask only out of curiosity. If it
>> was explained what was intended, I'm sorry I missed it - could someone
>> point me at the post which explained it (the news server I use seems
>> to have comp.lang.pop back at least as far as January).

>You may by now have seen my earlier message to Chris explaining that
>providing an interface to gsl (of the sort I had in mind) would be
>analogous to the work done by poplog developers in providing an
>interface to X, or the work done by David Young in providing pop-11
>interfaces to his C programs in the popvision library
>     http://www.*-*-*.com/

>However, if the GSL documentation is sufficiently formal some of the
>process could be automated.

I have some experience of developing interfaces and migrating software
from one environment to another. If you want to see a CV, I can send you
a copy.

Having said this, my Poplog is fairly rusty, and I'm currently
struggling to get OpenMotif installed under CygWin, so that I can
rebuild Poplog to work with X-Windows under Windows 2000. (I don't have
a Linux box with me at the moment - it's a long story).

I'm also polishing up a new release of some Windows-only database
interface designer/generator prototypes.

- Show quoted text -

>> But what, exactly, is required? This is a genuine question; it is not
>> obvious what is *required*[1] beyond copying documentation, and
>> including it and the library with the Poplog distribution.

>I don't think that would achieve anything useful: people would probably
>prefer to get the up to date version of the library from its home and
>adding bulk to poplog would not be welcomed by people who did not want
>the mathematical extensions.

>I was thinking more of providing convenient pre-packaged interfaces
>with some limited documentation, which would point to the full GSL

>I think it would be far more convenient to many users if they did
>not have to learn how to externally load C libraries in order to use
>the mathematical utilities provided, just as I am grateful that all
>the X stuff I use has been packaged in pop-11. But for that I would
>have found building RCLIB FAR more difficult. (It was difficult enough!)

We have looked a little at SWIG, used by the developers of TCL, python
and a few other languages to generate a variety of interfaces. If we
write a Poplog.cxx module to work with SWIG, then with some insertion of
SWIG directives into the GSL code, we can generate interfaces and some
crude documentation for a Pop-11 to GSL interface. I would suggest that
some of those directives hard-wire hypertext links into the
documentation to be generated, such that the crude documentation
contains links to the original.

This approach looks like being quite a lot of work.

I have an alternative approach, built around tools that address a
superset of the problem space addressed by SWIG. These tools are still a
work in progress, and require the creation of some language grammars to
be expressed in XML. This is also a lot of work.

- Show quoted text -

>> The next level up would be to prepare a set of pop11 lib
>> files which included the necessary declarations for run-time
>> loading of the GSL functions, and possibly linking them into a
>> poplog image. Or would it?

>I would say a collection of autoloadable or explicitly loadable
>libraries would suffice, based on the sort of model I have been using
>for the "extras" at the poplog site. There's too much in gsl to compile
>into the standard image, though saved images could be used for
>frequently used subsets. (However as disks, and CPUs get faster the need
>for saved images reduces: things that used to take minutes to compile
>now compile in seconds. E.g. I started pop-11 and did
>    lib prolog

>It compiled the prolog compiler and then reported (on a shared 450 Mhz

>;;; PROLOG COMPILED, TIME = 1.01 seconds

>Remember how long that took in the mid 80s? Compiling the whole of
>Poplog Common Lisp takes about 6.5 seconds on a Dell 400 mhz celeron
>laptop running linux.

[Some details of Aaron's model for library integration skipped]

>For an example of a file that extends the search lists, see the one used
>for poprulebase:

>     http://www.*-*-*.com/

>To prevent name clashes between libraries that users may wish to combine
>I use systematic prefixes for file names and global identifiers. E.g.
>Poprulebase uses prb_, RCLIB uses rc_, sim_agent uses sim_, etc.

I assume we will use a "gsl_" prefix, where necessary, but this may
produce strange identifiers, e.g. gsl_gsl_XXXX.

>People who define useful extensions with nice short readable, mnemonic
>names are asking for trouble: such names are very likely to be used by
>someone else for a different purpose. (E.g. the syntax word "instance"
>in Objectclass made it impossible to compile Common Lisp, until I
>removed the clash by changing some Common lisp internal identifiers.)

So gsl_gsl_XXXX it is...

>[JLC continued]
>> And after that, then what?

>> I may be being naive here, particularly since I know nothing about
>> the problems the poplog development team had in interfacing to
>> the X Window System. But X is an Abomination, and is Not Nice (as
>> a collection of code). I defy anyone to claim otherwise.

>That's why I am so glad I was not left to produce my own low level
>interfaces to it in order to produce graphical tools that work on
>solaris, linux, digital unix, etc.

There are an increasing number of windowing systems out there which are
all open source and cross-platform. These include the Tk library and
wxWindows. Together with OpenMotif under XFree86 or others, they provide
a lot of scope for writing run-anywhere Pop-11 programs.

I'd like to address the interface generator problem, so that we can make
the addition of these other libraries simpler and cheaper.

- Show quoted text -

>> Presumably GSL is not an Abomination. (If it is, why would we want
>> to use it?)

>(Lots of abominations are very widely used, as you know well.)

>> Oh, and does GSL include code for solving LP problems (Linear
>> Programming - a class of optimisation problems)? If so,
>> then I WANT it! :-).

>Well, since not everyone has easy and fast access to remote web sites, I
>thought I'd circulate the table of contents from the online GSL manual

>     http://www.*-*-*.com/

>Here it is, all subject to the terms of the GNU General Public License.

If we solve the interface generation problem, then you can focus on
finding your preferred library, and generate the necessary interface.

>There's a lot of it, and possibly still growing. That's why I hope some
>of the interfacing can be automated. (A pop11 program reads the
>GSL documentation, and then genrates all the interface files ?????)

I think that reading the code is probably easier. We may be able to
process the documentation to find descriptions of C prototypes and embed
an appropriate SWIG documentation directive in the matching code to
embed a cross reference to the original documentation in the formulaic
documentation generated by SWIG. (Assuming we choose to follow the SWIG


[Omitted the GSL table of contents].

- --

Version: PGPsdk version 1.7.1


Sun, 28 Dec 2003 08:05:43 GMT  
 [ 1 post ] 

 Relevant Pages 

1. GSL collaboration and formal methods.

2. GSL collaboration

3. GSL collaboration

4. filenames, argument list separators + gsl extension

5. Other gsl interfacing projects

6. GSL interface: another Pop-11 development task?

7. GSL and Lapack

8. ANN: ruby-gsl 0.1.6

9. ruby-gsl 0.1

10. ada bindings for gsl (GNU Scientific Library)

11. gfoftran and GSL subroutines

12. Fortran interface for GSL (alpha)


Powered by phpBB® Forum Software