> Eric Wolf <panda@erols.com> writes:
>
> > The aim of this project is to create a language that is well suited to
> > writing scientific models, and hooking them up like tinker-toys. The
> > hooking up can done via command line (included in every programs'
> > interface) or visually via drag and drop. I do not intend for this
> > project to rely on the GUI, but I still want it to have a rather nifty
> > one.
This is an interesting idea. Existing programs (MATLAB, Octave,
Yorick) seem to be very command-line oriented.
Using Guile for this task means that you have access to a pile of
libraries people have written wrappers for. In particular, you might
want to look at the GTk wrappers and at CHRLIB, a matrix math
library. Oh, and Jacal. Manipulating expressions is handy.
An added benefit of using guile is that you have a good selection of
language construction tools. There are lex and yacc equivalents at
the scheme level. I would recommend writing your application in
scheme, but making another language binding (perhaps even the existing
CTAX) for those who want (eg) infix expressions.
> > I want your advice on whether or not this can be a viable and
> > worth-while project.
Definitely. A project to take all the good free tools for
science/math and put them together in a handy form for people who
don't code much? Definitely useful. Filling the same niche as
MATLAB, but doing it better.
> This sounds like a GREAT idea. IMHO, Guile is very suited to the task,
> for the following reason:
>
> 1 - most scientifically relevant datatypes are already in place
> (including arrays of arbitrary dimension, with real or
> complex elements)
With the inclusion of JACAL, expressions are also available. A very
scientifically useful data type.
> 2 - if you look around a bit, you're very likely to find major
> parts of your project already done or in a fairly advanced
> state of development by other groups
>
> 3 - Guile treats its data as 'chunks' - no fuss about
> type mismatches, but everything checks the input types
> where it's supposed to be checked.
I agree. Dynamic languages are much more suitable for interactive
use.
> Finally, I /think/ I read about somebody porting SciLab to Guile.
> SciLab or Octave, if ported on top of Guile, would give you a major
> part of the functionality needed for scientific modelling (and it
> shouldn't be too hard for you to do yourself).
Octave could be made to run on guile, with some effort. I don't
think the MATLAB language is worth preserving. The Yorick language is
better, but rolling your own is also a good option. And a visual
language is interesting in and of itself (by visual I mean writing
programs by drawing dataflow diagrams, or some such).
Andrew
aarchiba@csclub.uwaterloo.ca