Albert Gräf, автор периодически упоминаемого здесь языка
Q, выпустил бета-версию нового языка
Pure, тоже основанного на term rewriting.
Язык динамически типизированный, а реализация использует
LLVM для JIT-компиляции.
Код на Pure выглядят примерно так:
// Пресловутая быстрая сортировка в пару строк.
qsort p [] = [];
qsort p (x:xs) = qsort p [l; l = xs; l<x] + (x : qsort p [r; r = xs; r>=x])
with x<y = p x y; x>=y = not p x y end;
// Решето Эратосфена
primes n = sieve (2..n) with
sieve [] = [];
sieve (p:qs) = p : sieve [q; q = qs; q mod p];
end;
// Символьные вычисления: дифференцирование
diff x (u+v) = diff x u + diff x v;
diff x (u*v) = u*diff x v + v*diff x u;
diff x y = 1 if str x==str y;
= 0 otherwise;