[ANN] Pure — новый функциональный язык
От: the_void Швейцария  
Дата: 29.04.08 14:04
Оценка: 45 (5)
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;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.