July 31st, 2010


Clay = почти HN

http://tachyon.in/clay/ Из приятного - Interoperability with C, No garbage collection, Machine memory model, Value semantics. Из неприятного - LLVM backend (что скорее всего означает подход "давайте я нагенерю говна а LLVM авось его как-то там соптимизирует") и формулировка "Whole program type propagation" (что скорее всего означает, что автор "академиев не кончали" и изобрели свою родненькую систему типов на коленке). В этой связи уже начинает пугать отсутствие сборки мусора - возможно, её отсутствие объясняется исключительно идейной неверностью и объективно не обосновано.

Теперь чтобы перевести эти чувственные подозрения в объективные факты, придется читать сайт и смотреть на прототип, благо, бинарники присутствуют.

В копилку языков

ORC http://orc.csres.utexas.edu/

.. a novel language for distributed and concurrent programming which provides uniform access to computational services, including distributed communication and data manipulation, through sites. Using four simple concurrency primitives, the programmer orchestrates the invocation of sites to achieve a goal, while managing timeouts, priorities, and failures.

Cilk language


Cilk is a language for multithreaded parallel programming based on ANSI C. Cilk is designed for general-purpose parallel programming, but it is especially effective for exploiting dynamic, highly asynchronous parallelism, which can be difficult to write in data-parallel or message-passing style. Using Cilk, our group has developed three world-class chess programs, StarTech, *Socrates, and Cilkchess. Cilk provides an effective platform for programming dense and sparse numerical algorithms, such as matrix factorization and N-body simulations, and we are working on other types of applications. Unlike many other multithreaded programming systems, Cilk is algorithmic, in that the runtime system employs a scheduler that allows the performance of programs to be estimated accurately based on abstract complexity measures.