which lisp to use?

View: New views
5 Messages — Rating Filter:   Alert me  

which lisp to use?

by S. Newhouse :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,
  I am interested in developing some applications (mostly numerical,
  some symbolic) packages (for use in Dynamical Systems).  Some similar
  packages are available already in some  form or other in C, fortran, etc.

  I want to have these packages (and extensions of them) available in a
  more or less seemless way from maxima.

  Here are some questions. Any comments, suggestions are welcome.

  1. Is it worthwhile to convert the packages to lisp directly (or to
     use foreign interface calls from lisp)?

  2. Which lisps do most of you use for development in relation to
     maxima?

  3. What about the pluses and minuses of gcl, cmucl, or others?

Thanks for any information.

-sen

--
  ---------------------------------------------------------------------------
  | Sheldon E. Newhouse            |    e-mail: sen1@...           |
  | Mathematics Department         |         |
  | Michigan State University      | telephone: 517-355-9684                |
  | E. Lansing, MI 48824-1027 USA  |       FAX: 517-432-1562                |
  ---------------------------------------------------------------------------
_______________________________________________
Maxima mailing list
Maxima@...
http://www.math.utexas.edu/mailman/listinfo/maxima

Re: which lisp to use?

by Richard Fateman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



> -----Original Message-----
> From: maxima-bounces@... [mailto:maxima-
> bounces@...] On Behalf Of sen1@...
> Sent: Sunday, November 19, 2006 12:37 PM
> To: maxima@...
> Subject: [Maxima] which lisp to use?
>
> Hello,
>   I am interested in developing some applications (mostly numerical,
>   some symbolic) packages (for use in Dynamical Systems).  Some similar
>   packages are available already in some  form or other in C, fortran,
> etc.
>
>   I want to have these packages (and extensions of them) available in a
>   more or less seemless way from maxima.
>
>   Here are some questions. Any comments, suggestions are welcome.
>
>   1. Is it worthwhile to convert the packages to lisp directly (or to
>      use foreign interface calls from lisp)?

I suggest that if purely numerical code is already done in C or Fortran,
consider using f2cl, or foreign function interface. There is f2cl that can
convert (a lot of) fortran into common lisp.
There are foreign function interfaces, including ones that are ported to
many implementations of Lisp, e.g. CFFI, UFFI.

 I suggest that anything at all symbolic be done in Lisp or the Maxima
language.
>
>   2. Which lisps do most of you use for development in relation to
>      maxima?
I think most people use CMUCL, GCL, CLISP.  I use GCL because that is what
the windows install package uses.  But when I'm writing code, I use Allegro
Common Lisp, because it has, I think, better tools and a better compiler
than GCL. Allegro can run Maxima, but not all the frills (like plotting)
because no one has bothered to look at the details (Allegro is not free.)
>
>   3. What about the pluses and minuses of gcl, cmucl, or others?
>
A complicated question. Too hard to answer.
RJF


_______________________________________________
Maxima mailing list
Maxima@...
http://www.math.utexas.edu/mailman/listinfo/maxima

Re: which lisp to use?

by S. Newhouse :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Can one use the code you write in Allegro CL on other lisps?

-sen


On Sun, 19 Nov 2006, Richard Fateman wrote:

>
>
>> -----Original Message-----
>> From: maxima-bounces@... [mailto:maxima-
>> bounces@...] On Behalf Of sen1@...
>> Sent: Sunday, November 19, 2006 12:37 PM
>> To: maxima@...
>> Subject: [Maxima] which lisp to use?
>>
>> Hello,
>>   I am interested in developing some applications (mostly numerical,
>>   some symbolic) packages (for use in Dynamical Systems).  Some similar
>>   packages are available already in some  form or other in C, fortran,
>> etc.
>>
>>   I want to have these packages (and extensions of them) available in a
>>   more or less seemless way from maxima.
>>
>>   Here are some questions. Any comments, suggestions are welcome.
>>
>>   1. Is it worthwhile to convert the packages to lisp directly (or to
>>      use foreign interface calls from lisp)?
>
> I suggest that if purely numerical code is already done in C or Fortran,
> consider using f2cl, or foreign function interface. There is f2cl that can
> convert (a lot of) fortran into common lisp.
> There are foreign function interfaces, including ones that are ported to
> many implementations of Lisp, e.g. CFFI, UFFI.
>
> I suggest that anything at all symbolic be done in Lisp or the Maxima
> language.
>>
>>   2. Which lisps do most of you use for development in relation to
>>      maxima?
> I think most people use CMUCL, GCL, CLISP.  I use GCL because that is what
> the windows install package uses.  But when I'm writing code, I use Allegro
> Common Lisp, because it has, I think, better tools and a better compiler
> than GCL. Allegro can run Maxima, but not all the frills (like plotting)
> because no one has bothered to look at the details (Allegro is not free.)
>>
>>   3. What about the pluses and minuses of gcl, cmucl, or others?
>>
> A complicated question. Too hard to answer.
> RJF
>
>
> _______________________________________________
> Maxima mailing list
> Maxima@...
> http://www.math.utexas.edu/mailman/listinfo/maxima
>

--
  ---------------------------------------------------------------------------
  | Sheldon E. Newhouse            |    e-mail: sen1@...           |
  | Mathematics Department         |         |
  | Michigan State University      | telephone: 517-355-9684                |
  | E. Lansing, MI 48824-1027 USA  |       FAX: 517-432-1562                |
  ---------------------------------------------------------------------------
_______________________________________________
Maxima mailing list
Maxima@...
http://www.math.utexas.edu/mailman/listinfo/maxima

Re: which lisp to use?

by Richard Fateman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

To the extent that you use ANSI standard Common Lisp, the code should run in
any implementation.  If you do foreign function stuff using CFFI or UFFI,
the code should run in most implementations.

RJF

> -----Original Message-----
> From: sen1@... [mailto:sen1@...]
> Sent: Sunday, November 19, 2006 5:34 PM
> To: Richard Fateman
> Cc: maxima@...
> Subject: Re: [Maxima] which lisp to use?
>
> Can one use the code you write in Allegro CL on other lisps?
>
>
_______________________________________________
Maxima mailing list
Maxima@...
http://www.math.utexas.edu/mailman/listinfo/maxima

Re: which lisp to use?

by Robert Dodier-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 11/19/06, sen1@... <sen1@...> wrote:

>   I am interested in developing some applications (mostly numerical,
>   some symbolic) packages (for use in Dynamical Systems).  Some similar
>   packages are available already in some  form or other in C, fortran, etc.

Maxima has some functions to work with dynamical systems --
"? dynamics" at the input prompt should yield some information.
I would be interested to hear your comments on the existing package.

>   1. Is it worthwhile to convert the packages to lisp directly (or to
>      use foreign interface calls from lisp)?

I'm guessing that you just need to get one implementation working
(instead of trying to get it to work on different Lisp implementations).
Given that it might be easiest to use a foreign function interface.
I believe CFFI is the most active FFI project. CFFI doesn't work with
GCL, but you can choose some other Lisp.

Translating Fortran code via f2cl probably would work OK for F77;
dunno if it supports F90. But you could avoid translating by using FFI.

>   2. Which lisps do most of you use for  evelopment in relation to
>      maxima?

I use Clisp, GCL, and SBCL.

>   3. What about the pluses and minuses of gcl, cmucl, or others?

GCL: plus: programs compiled w/ GCL are faster than
same compiled w/ SBCL, much faster than w/ Clisp
works on Unix-like and Windows systems
minus: ANSI CL implementation still has a few gaps
GCL has more bugs (mostly stuff around the edges) than SBCL or Clisp
project not yet mature

SBCL: plus: programs compiled w/ SBCL are almost as fast as
same compiled w/ GCL, much faster than w/ Clisp
no ANSI CL gaps that I know of
works on Unix-like systems
minus: Windows port is not complete (it's not yet usable)
project not yet mature

Clisp: plus: no ANSI CL gaps that I know of
relatively old, therefore stable and mostly bug-free implementation
works on Unix-like & Windows systems
minus: programs compiled w/ Clisp are slow

If you use FFI, I'll suggest Clisp.
Otherwise, I'll suggest SBCL.

I don't use CMUCL because I wasn't able to rebuild it (the build
system is very arcane). I guess if you can find a pre-built
package then it's an option; CMUCL and SBCL are similar.

As always my opinions are worth what you paid for them.

HTH
Robert Dodier
_______________________________________________
Maxima mailing list
Maxima@...
http://www.math.utexas.edu/mailman/listinfo/maxima