

The Pure programming language - mbrubeck
http://code.google.com/p/pure-lang/

======
ambulatorybird
This looks pretty cool. I don't know much about term rewriting, but I get the
impression that it provides a unified way of implementing some neat features
such as pattern-matching on arbitrary expressions, macros, and other symbolic
stuff.

~~~
snprbob86
It sounds like you certainly know more about term rewriting than I do. Do you
know of a decent introductory source? I'd like to get a gist of it, but the
Pure site seems to prefer reference/appendix style documentation. That stuff
is great to have, but I'm looking for an litmus test for my interests.

~~~
10ren
You might start with wikipedia - it's surprisingly good for introductions to
mathematical computer science ideas.
<http://en.wikipedia.org/wiki/Term_rewriting>

The "see also" includes JIT compilation and lambda calculus, for some
applications.

------
cesare
I played a bit with Q (the predecessor language from the same author) a couple
of years ago and I found it really interesting.

As far as I remember you couldn't define functions interactively but just
recall them.

This one has a proper REPL environment. You can see all the definitions by
evaluating 'show' and dump them all on a file with 'dump'.

------
gchpaco
There's a lot of promise here; I wish there was a "this is why I did it and
this is what place it fills in the ecosystem" page somewhere. It'll be
interesting to see how this develops.

~~~
frossie
Don't know how much this helps you, but from the PDF of the book on the page
above:

 _This book is about the functional programming language Pure. Pure’s
distinguishing features are that it is based on term rewriting (a
computational model for algebraic ex- pression manipulation), that it provides
built-in support for MATLAB-like matrices in addition to the usual list and
algebraic data structures, that it uses LLVM (the “Low Level Virtual Machine”,
see<http://llvm.org>) to compile source programs to fast native code on the
ﬂy, and that it makes interfacing to C very easy._

 _On the surface, Pure looks similar to functional languages of the Miranda
and Haskell variety, but under the hood it is a much more dynamic language,
offering an interactive interpreter environment and metaprogramming
capabilities more akin to Lisp. Pure’s algebraic programming style probably
appeals most to mathematically inclined pro- grammers who need an advanced
tool for solving problems in domains which can be described conveniently in
terms of algebraic models. While languages like Haskell and ML already occupy
that niche, we think that Pure’s feature set is sufﬁciently different to turn
it into a worthwhile alternative. In particular, Pure’s interpreter
environment and easy extensibility also make it usable as a kind of (compiled)
scripting language in a variety of application areas, including system,
database, graphics and multimedia programming._

~~~
johnbender
"Pure’s algebraic programming style probably appeals most to mathematically
inclined pro-grammers"

False. It appeals to mathematical simpletons like muhself.

~~~
eru
That does not contradict.

