ideas for compiler project

Jay Cox sqrtofone@yahoo.com
Sun, 17 Feb 2002 13:59:43 -0600 (CST)


On Sat, 16 Feb 2002, Dylan Thurston wrote:

> On Thu, Jan 24, 2002 at 03:38:59PM +0100, Bjorn Lisper wrote:
> > I think MATLAB's matrix language provides about the right level of
> > abstraction for a high-level matrix language. You can for instance write
> > things like
> >
> > Y = inv(A)*B
> >
> > to assign to Y the solution of Ax = B. ...
>
> Just a comment on a long post...  I am personally found of MetaFont's
> approach, where you write
>
>  Ax = B
>
> to find the solution to Ax = B.  When working with transformations and
> such, being able to write all your equations "forwards" makes it much
> easier to keep everything straight; plus, if you have several equations
> for a variable, you don't have to figure out how to gather them
> together.  Can anyone see a way to implement something like this in
> Haskell?  Or is it better to make a small interpreted language?
>
> Best,
> 	Dylan Thurston
>

why not write some software that does something like

let y = ((Matrix A) :*: (Vector X)) := (Matrix B))


data MatrixExp =  ...
data Sym = A | B | C  ...
data Unknown = X | Y ...
solve :: MatrixExp -> Maybe (Vector Sym)
...


?


Jay Cox