[PYTHON MATRIX-SIG] fidl, was: PGPLOT issues

Jim Fulton jim.fulton@digicool.com
Fri, 07 Mar 1997 09:55:53 -0500

Michael Bell wrote:
> Johann Hibschman wrote:
> <Snip! goes nonsense from me>
> > A more serious problem is the use of output variables, passed by
> > reference in the argument lists of many PGPLOT functions.  Python just
> > won't do this.  The only options I see are to send lists (or other
> > mutable types) to the functions, or to have the pythonized versions
> > return tuples of the output vars.  Not terribly nice.  I've asked on
> > c.l.p if anyone has an elegant solution to this.
> When I scanned the list archive I found the man page for 'fidl',
> posted by Jim Fulton.  It appeared that, at least in simple cases,
> fidl would produce something to work with.  I haven't been able to
> find out anything else about it.  Does it still exist, or has it been
> absorbed into the general NumPy effort?

Here is the issue with fidl.

fidl was produced while I was at USGS.  I found it to be extremely
useful and would very much like to release it.  However, the only way
that it can be released is through a publication mechanism involving
colleague reviewers.  I attempted to get some such reviews by making
selected beta releases.  Unfortunately, I have gotten almost no
feedback, and the feedback I got was really more in the form of
questions.   I cannot, in good conscience, release fidl any more, even
to "beta testers".  This is a shame, because I think fidl could be quite

I no longer work at USGS, although I still have a connection with USGS
as a volunteer.  fidl is in no way related to my current activities, so
it is nearly impossible to justify additional effort on it.  However, 
I am willing to put some effort if:

  1. The past "beta testers" make any encouraging noises to me that they 
     think it is worth the effort, and

  2. I get a couple of people to sign on as colleague reviewers, 
     but this is a *real* commitment.  If someone says they are 
     going to do this, then I want *real* comments back.

Note that fidl has one limitation that some people consider to be a show
stopper, which is that it only interfaces to function, not to common
blocks.  This is find for libraries such as imsl, but is problematic for
systems that do all of their communication through common.  If fidl is
ever released, it would not be hard for someone to extend it to generate
common-block access capabilities, but I'm not going to do it.

Also, because Fortran doesn't (or at least didn't :) have the
equivalent, of C .h files, fidl requires that you write the moral
equivalent of .h files, or more accurately, the moral equivalent of idl
files. (C header files really arent expressive enough.)  It occurs to me
that one might be able to bypass or automate much of this effort in a
non-portable way by parsing certain Fortran compiler output.

I would also have to do some work to make fidl work more closely with
NumPy.  Fidl uses a matrix type which is an extremely early precursor to
NumPY arrays.  The fidl matrices should work with NumPy, just like other
Python sequence types do, but it would be more efficient for it to use
NumPy arrays directly.  This would probably be very easy.

On the other hand, fidl is very simply.  I wrote it in less than a day.
It might be easier to rebuild it from scratch, or, perhaps better,
integrate it's ideas into SWIG, than to "publish" it through USGS.

I'd be happy to discuss this with someone by phone or in person.  I
can't justify time for long email discussions on the topic.


Jim Fulton         Digital Creations
jim@digicool.com   540.371.6909
## Python is my favorite language ##
##     http://www.python.org/     ##

MATRIX-SIG  - SIG on Matrix Math for Python

send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org