> On http://www.parrot.org/languages I found a project called Matrixy
> which is an implementation of Octave. I don't know how complete it is
> and how easy or difficult it will be to create PDL code from its parse
> tree but I hope I could tease the author into subscribing to this list so
> he will be able to give us an idea where things are standing.

I'm the primary author of Matrixy right now, so maybe I can help with
some information. Matrixy is really two projects:

1) http://github.com/Whiteknight/matrixy, the Matrixy parser and
runtime (aims to be a more-or-less faithful compiler for the M
language used by Matlab/Octave)
2) http://github.com/Whiteknight/parrot-linear-algebra, which intends
to implement a number of "high performance" matrix data types for use
generally by Parrot. This includes bindings to CBLAS and CLAPACK
libraries for linear algebra (very preliminary).

It is unlikely that Matrixy will ever be as performant or as capable
as Matlab or Octave are. The primary goals of the project were to
bring quality mathematics and linear algebra support to Parrot. Since
M is so focused on linear algebra and has syntax and routines
specially for building and manipulating matrices, it is a very natural
choice for writing those kinds of routines in. Ideally I would like to
see Matrixy used to write mathematics libraries which in turn can be
used by other HLLs on Parrot.

I talked with Gabor yesterday on IRC, and it seems another good use
for Matrixy is to serve as a parser for M, which can possibly
repurposed as a code translator to PDL. That would be fine too. With
the completed parser, the only remaining task would be a PDL code
generator. I don't know enough about PDL, so if anybody was interested
in working on that I would be happy to hand out commit bits to the
Matrixy repo.

It's hard to estimate, but I think that the Matrixy parser is about
50% complete. It handles a lot of the syntax and a lot of the language
idiosyncracies. It's missing support for several important features:
structures, cell arrays, proper nargin/nargout handling for functions,
etc. I'm in the middle of a relatively messy refactor right now, and I
suspect cell arrays will be added shortly after the refactor is
complete. Following implementation of the major syntactical items, the
remaining work will be in expanding the runtime and improving
performance.

I've got commit bits for anybody who is interested in Matrixy or
Parrot-Linear-Algebra. I'm also happy to answer any other questions
that people might have about these projects.

--Andrew Whitworth

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to