From: Leo
Subject: Is matlisp still maintained?
Date: 
Message-ID: <xbaiprebr3fx.fsf@cam.ac.uk>
Hi there,

For scientific computing and for speed, it looks like matlisp is pretty
good. I wonder if this project is still being maintained?

Thank you.

-- 
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system

From: namekuseijin
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <f433cbf1-e18e-4ede-95e5-4f1caca936bf@z19g2000vbz.googlegroups.com>
On May 14, 2:37 pm, Leo <·······@gmail.com> wrote:
> Hi there,
>
> For scientific computing and for speed, it looks like matlisp is pretty
> good. I wonder if this project is still being maintained?

I don't know, but matzlisp is:

http://www.google.com/search?q=matzlisp

:P
From: AJ Rossini
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <4f14438a-3ede-43bf-bbee-6018a2e7c097@z7g2000vbh.googlegroups.com>
On May 14, 7:37 pm, Leo <·······@gmail.com> wrote:
> Hi there,
>
> For scientific computing and for speed, it looks like matlisp is pretty
> good. I wonder if this project is still being maintained?

The short answer is that I think Raymond Toy is watching over it, but
it's a pretty reasonable system for getting things done in.   Catch
for this is that it's FFI is a bit handcrafted, but it works.  And "it
works" counts for a good bit in my book.   mkdef is the system loader,
but there is an ASDF loader floating around.

There is also LispLab (Joern ?forgot last name?) which keeps the API,
simplifies a few things, and will have a few improvements, but needs
development right now.  But he's moving along nicely.  It's got some
benefits, design-wise, from the above, and less benefits, than 2
down...

CLEM (from Cyrus Harmon) is on the same level as LispLab (for
interesting definitions of "same").  Native lisp.

Tamas has a nice set of tools as well, some of which can be found in
the following...

Behind that, I'm working on/with LispMatrix, which has even more
benefits, and is even more farther behind, but has some nice
(aethetics) features related to how it does things (via auto-generated
interface with cl-blapack) and a very nice design structure that was
abandoned by the original authors, but it very cool (mostly
transparent use of Lisp-based and FFI-based data storage, depending on
whether keeping data in Lisp or in C/Fortran storage would be better
-- user defined, not system-optimized).

I'm using the same structures for getting "R data.frames done right",
for my Common Lisp Statistics system.  But it's a many-year project,
right now.

Anyway, my recommendation would be MatLisp if you "just wanna get
things done", especially if it works for the Lisp implementation that
you want to use.
From: Robert Dodier
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <c9d0c4e7-4a25-44cb-bd23-3a8ceb7e27c6@s31g2000vbp.googlegroups.com>
On May 14, 1:07 pm, AJ Rossini <··········@gmail.com> wrote:

> I'm using the same structures for getting "R data.frames done right",

I'd like to hear more about that.

> my Common Lisp Statistics system.

That too. Simple pointers would be enough.

best

Robert Dodier
From: AJ Rossini
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <3b9ec110-aa5b-465f-a233-54bd82adf355@s21g2000vbb.googlegroups.com>
On May 14, 11:02 pm, Robert Dodier <·············@gmail.com> wrote:
> On May 14, 1:07 pm, AJ Rossini <··········@gmail.com> wrote:
>
> > I'm using the same structures for getting "R data.frames done right",
>
> I'd like to hear more about that.
>
> > my Common Lisp Statistics system.
>
> That too. Simple pointers would be enough.

See http://github.com/blindglobe/  for a full list of relevant
packages, the core one is


http://github.com/blindglobe/common-lisp-stat/

That, plus patch-code, plus a fixed up cl-plplot, plus hope/glue/
bandaids, = R circa 1996.  (but it's just me right now).

It's leveraging lisp-matrix + dependencies,  cl-plplot sort of, and a
few other tools from Tamas.
From: Robert Dodier
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <d5f7f896-c0b9-428a-977c-7fb7d1bfb231@z7g2000vbh.googlegroups.com>
On May 15, 12:57 am, AJ Rossini <··········@gmail.com> wrote:

> See http://github.com/blindglobe/ for a full list of relevant
> packages, the core one is
>
> http://github.com/blindglobe/common-lisp-stat/
>
> That, plus patch-code, plus a fixed up cl-plplot, plus hope/glue/
> bandaids, = R circa 1996.  (but it's just me right now).

Thanks, I'll take a look.
What part is the "data.frames done right"?

What is the primary motivation for CL-stat?
Is it speed? Ability to use Lisp as a development
language? I am interested in Lisp + statistics from
another angle; I'd like to combine symbolic and
numerical processing. I'm working on Maxima, which
is strong on symbolics and somewhat clumsy with
numerics; I'm trying to get the twain to meet.

best

Robert Dodier
From: ·················@gmail.com
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <e8854d41-6a4f-464e-850a-f39e7ebf9072@k9g2000pra.googlegroups.com>
How about use python function from common lisp.
I write little extensions of python-on-lisp

http://www2s.biglobe.ne.jp/~niitsuma/pythononlispex.html
example:
(py::pyj "pylab.plot" '(1 2 3 4) '(4 3 2 1))
(py::py "pylab.show()") ;graph show

(py::py "import numpy")
(py::py "xd=numpy.linalg.norm([6,5])")
(py::py "print xd") ;7.81024967591


(print (py::pyj "len" (list 1 5 6 ) ) ) ;3
(print (py::pyj "range" 2 7)) ;(2 3 4 5 6)
(py::setvalj "a" (list 2 3 4))
(py::py "print a") ;[2, 3, 4]
(print (py::getvalj "a")) ;(2 3 4)



For sbcl, this is better
http://www2s.biglobe.ne.jp/~niitsuma/jsonrpcdirect.html
example:
(jc::c "range" 2 7)  ; -> (2 3 4 5 6)
(jc::c "numpy.linalg.norm" (list 2 2))  ; -> 2.828427
(jc::c "numpy.reshape" (list 1 2 3 4 5 6 ) (list 2 3)) ; -> ((1 2 3)
(4 5 6))
(jc::c "numpy.dot" '((1 2) (3 4)) '((1 2) (3 4)) ) ; -> ((7 10) (15
22))  ;multipy matrix
From: Leo
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <xbaihbznqkac.fsf@cam.ac.uk>
On 2009-05-14 20:07 +0100, AJ Rossini wrote:
> Behind that, I'm working on/with LispMatrix, which has even more
> benefits, and is even more farther behind, but has some nice
> (aethetics) features related to how it does things (via auto-generated
> interface with cl-blapack) and a very nice design structure that was
> abandoned by the original authors, but it very cool (mostly
> transparent use of Lisp-based and FFI-based data storage, depending on
> whether keeping data in Lisp or in C/Fortran storage would be better
> -- user defined, not system-optimized).

Your description of lisp-matrix intrigued me and I went ahead installing
it on my system. I don't have a c or fortran compiler on my system, so
lisp-matrix seems to be the best bet.

The install process is quite smooth except I had to bypass a
trivial-features test and modify load-blapack-libs.lisp by not loading
libgfortran. Could you give me an idea whether this will affect
lisp-matrix's functionality? Many thanks.

diff --git a/load-blapack-libs.lisp b/load-blapack-libs.lisp
index 90b9efc..bd84bf5 100644
--- a/load-blapack-libs.lisp
+++ b/load-blapack-libs.lisp
@@ -10,15 +10,15 @@
 ;; EDIT THESE VARIABLES TO POINT TO YOUR LIBRARIES!
 
 (eval-when (:compile-toplevel :load-toplevel)
-  (defparameter *gfortran-lib* "/usr/lib/libgfortran.so.3")
-  (defparameter *blas-lib* "/usr/lib/libblas.so")
-  (defparameter *lapack-lib* "/usr/lib/liblapack.so")
+  ;; (defparameter *gfortran-lib* "/usr/lib/libgfortran.so.3")
+  (defparameter *blas-lib*
"/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib")
+  (defparameter *lapack-lib*
"/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib")
 
   (defvar *blapack-libs-loaded* nil)
 
   (unless *blapack-libs-loaded*
     (progn
-      (load-foreign-library *gfortran-lib*)
+      ;; (load-foreign-library *gfortran-lib*)
       (load-foreign-library *blas-lib*)
       (load-foreign-library *lapack-lib*)
       (setf *blapack-libs-loaded* t))))

-- 
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system
From: AJ Rossini
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <a7d8c9d6-b78d-4658-b991-3bf012f051fc@e23g2000vbe.googlegroups.com>
On May 15, 2:31 am, Leo <·······@gmail.com> wrote:
> On 2009-05-14 20:07 +0100, AJ Rossini wrote:
>
> > Behind that, I'm working on/with LispMatrix, which has even more
> > benefits, and is even more farther behind, but has some nice
> > (aethetics) features related to how it does things (via auto-generated
> > interface with cl-blapack) and a very nice design structure that was
> > abandoned by the original authors, but it very cool (mostly
> > transparent use of Lisp-based and FFI-based data storage, depending on
> > whether keeping data in Lisp or in C/Fortran storage would be better
> > -- user defined, not system-optimized).
>
> Your description of lisp-matrix intrigued me and I went ahead installing
> it on my system. I don't have a c or fortran compiler on my system, so
> lisp-matrix seems to be the best bet.
>
> The install process is quite smooth except I had to bypass a
> trivial-features test and modify load-blapack-libs.lisp by not loading
> libgfortran. Could you give me an idea whether this will affect
> lisp-matrix's functionality? Many thanks.

I'm not sure what the dependencies would be -- normally you might need
the fortran libraries due to compilation with gfortran, but I suspect
that you will be fine?  I'm adding your notes, commented out, to the
source.
From: Petter Gustad
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <871vqmaj55.fsf@pangea.home.gustad.com>
AJ Rossini <··········@gmail.com> writes:

> There is also LispLab (Joern ?forgot last name?) which keeps the API,

> CLEM (from Cyrus Harmon) is on the same level as LispLab (for

> Tamas has a nice set of tools as well, some of which can be found in
> the following...

> Behind that, I'm working on/with LispMatrix, which has even more


Will any of the matrix libraries let you specify iteration and select
parts of a matrix similar to what you do in Matlab?

Petter
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
From: AJ Rossini
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <981106a3-6ff8-4634-856f-a1467a8b7224@s31g2000vbp.googlegroups.com>
On May 18, 10:51 am, Petter Gustad <·············@gustad.com> wrote:
> AJ Rossini <··········@gmail.com> writes:
> > There is also LispLab (Joern ?forgot last name?) which keeps the API,
> > CLEM (from Cyrus Harmon) is on the same level as LispLab (for
> > Tamas has a nice set of tools as well, some of which can be found in
> > the following...
> > Behind that, I'm working on/with LispMatrix, which has even more
>
> Will any of the matrix libraries let you specify iteration and select
> parts of a matrix similar to what you do in Matlab?

Yes and no (to be painstakingly honest).

Nearly all support some form of selection, usually only slightly
inferior selection-wise to MATLAB/R -- however some (such as lisp-
matrix, though others do this, and xarray package supports a general
framework) let you have fairly sophisticated views which can be either
references (saving space) or copies (perhaps saving time).   For
iteration, the affi package supports a very general walk-through, but
so does lisp-matrix.

The "no" comes when you'd like a one-size-fits all package -- which
doesn't exist yet.  However it's coming.

After all, you usually get what you pay for with MATLAB, and a bit
than what you pay for with R, but the CL packages have a nice sense of
innovation and flexibility that the others do not, assuming that you
can afford to put in the time to fill in the gaps.

(which doesn't help those of us whose paid-jobs have a "due-yesterday"
mentality to any task).
From: Tamas K Papp
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <77d5foF1gl042U1@mid.individual.net>
On Mon, 18 May 2009 10:51:34 +0200, Petter Gustad wrote:

> AJ Rossini <··········@gmail.com> writes:
> 
>> There is also LispLab (Joern ?forgot last name?) which keeps the API,
> 
>> CLEM (from Cyrus Harmon) is on the same level as LispLab (for
> 
>> Tamas has a nice set of tools as well, some of which can be found in
>> the following...
> 
>> Behind that, I'm working on/with LispMatrix, which has even more
> 
> 
> Will any of the matrix libraries let you specify iteration and select
> parts of a matrix similar to what you do in Matlab?

I am working on that right now.  Beta (but usable) library here:

http://github.com/tpapp/xarray/tree/master

Will be integrated with lisp-matrix.

Tamas
From: Tamas K Papp
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <773823F1fer6pU1@mid.individual.net>
On Thu, 14 May 2009 18:37:22 +0100, Leo wrote:

> Hi there,
> 
> For scientific computing and for speed, it looks like matlisp is pretty
> good. I wonder if this project is still being maintained?

Matlisp is mostly a binding to some linear algebra routines.  As the
latter are not changing a lot, neither is Matlisp.  But if you notice
some bugs, I would count on them being fixed by someone.

Take a look at lisp-matrix: 

http://github.com/blindglobe/lisp-matrix/tree/master

Tamas
From: AJ Rossini
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <5cf8c7ba-6648-4d87-b7e0-b8b1a9d4ecea@t11g2000vbc.googlegroups.com>
On May 14, 9:00 pm, Tamas K Papp <······@gmail.com> wrote:
> On Thu, 14 May 2009 18:37:22 +0100, Leo wrote:
> > Hi there,
>
> > For scientific computing and for speed, it looks like matlisp is pretty
> > good. I wonder if this project is still being maintained?
>
> Matlisp is mostly a binding to some linear algebra routines.  As the
> latter are not changing a lot, neither is Matlisp.  But if you notice
> some bugs, I would count on them being fixed by someone.
>
> Take a look at lisp-matrix:
>
> http://github.com/blindglobe/lisp-matrix/tree/master

I agree... and I'll fix bugs as they are reported, but again, Leo
needs to describe a bit more than just the general description for a
more targetted recommendation...!
From: Leo
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <xbailjozqysy.fsf@cam.ac.uk>
On 2009-05-14 20:00 +0100, Tamas K Papp wrote:
> On Thu, 14 May 2009 18:37:22 +0100, Leo wrote:
>
>> Hi there,
>> 
>> For scientific computing and for speed, it looks like matlisp is pretty
>> good. I wonder if this project is still being maintained?
>
> Matlisp is mostly a binding to some linear algebra routines.  As the
> latter are not changing a lot, neither is Matlisp.  But if you notice
> some bugs, I would count on them being fixed by someone.
>
> Take a look at lisp-matrix: 
>
> http://github.com/blindglobe/lisp-matrix/tree/master

Many thanks for this. Do you know if it is possible to install matlisp
without a fortran compiler if blas/lapack is already installed? More
specifically OS X has vecLib, which contains:

libBLAS.dylib   libLAPACK.dylib libvMisc.dylib  libvDSP.dylib   vecLib

how to make matlisp use them so that a fortran compiler is not required?

> Tamas

-- 
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system
From: Raymond Toy
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <sxdiqk2v73e.fsf@rtp.ericsson.se>
>>>>> "Leo" == Leo  <·······@gmail.com> writes:

    Leo> On 2009-05-14 20:00 +0100, Tamas K Papp wrote:
    >> On Thu, 14 May 2009 18:37:22 +0100, Leo wrote:
    >> 
    >>> Hi there,
    >>> 
    >>> For scientific computing and for speed, it looks like matlisp is pretty
    >>> good. I wonder if this project is still being maintained?
    >> 
    >> Matlisp is mostly a binding to some linear algebra routines.  As the
    >> latter are not changing a lot, neither is Matlisp.  But if you notice
    >> some bugs, I would count on them being fixed by someone.
    >> 
    >> Take a look at lisp-matrix: 
    >> 
    >> http://github.com/blindglobe/lisp-matrix/tree/master

    Leo> Many thanks for this. Do you know if it is possible to install matlisp
    Leo> without a fortran compiler if blas/lapack is already installed? More
    Leo> specifically OS X has vecLib, which contains:

    Leo> libBLAS.dylib   libLAPACK.dylib libvMisc.dylib  libvDSP.dylib   vecLib

Hmm.  I didn't know that.  I'll have tried to build matlisp on OS X
before, but the Fortran compiler always got in the way.  If vecLib
contains the necessary functions, I would guess we can massage matlisp
into using them instead of the builtin ones.  (Matlisp on windows uses
precompiled libraries already.)

Ray
From: Leo
Subject: Re: Is matlisp still maintained?
Date: 
Message-ID: <xbaid4aaqye6.fsf@cam.ac.uk>
On 2009-05-15 14:17 +0100, Raymond Toy wrote:
> Hmm.  I didn't know that.  I'll have tried to build matlisp on OS X
> before, but the Fortran compiler always got in the way.  If vecLib
> contains the necessary functions, I would guess we can massage matlisp
> into using them instead of the builtin ones.  (Matlisp on windows uses
> precompiled libraries already.)

Fortran compiler is indeed a problem.

I get from http://www.atmos.washington.edu/~salathe/osx_unix/ the
following:

  Since *OS X 10.2*, Apple includes optimized ATLAS/Lapack libraries in
  the vecLib framework.

On 10.5.7, vecLib is in:

  /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework

There is also /System/Library/Frameworks/vecLib.framework but it has
almost nothing useful.

-- 
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system