archives

The Karmasphere DP language

A friend of mine's asking for commentary on their project: The Karmasphere DP language

The Karmasphere DP language is a high-performance non-blocking
parallel language for performing data processing. It is designed
to give the user a high degree of control over the usage of system
resources, for example, how many CPU cores or how much disk I/O time
to use, without requiring the software developer to explicitly consider
these issues in code.

It was originally intended for collecting attributes of URLs and
domain names to be used in an anti-spam system, although it has since
developed into a full parallel programming language with many general
purpose operators.

It can take full advantage of multiprocessor (SMP or NUMA) systems,
and may be scaled sideways - since the interpreter and environment
are stateless, an entire cluster of machines may run the interpreter
in parallel without any requirement for synchronization.

In a quick conversation on IRC, the following was said:

Well, most people doing this kind of thing choose to play around with explicit continuations in the user language - which is totally technically correct, but from the user's point of view, impractical. Any language which requires a user to understand continuations or other theoretical concepts is the wrong answer. This language is designed to be simple to comprehend for the user who doesn't know anything about programming, even less parallelism.

Personally I find the relationship with GraphViz interesting.

edit: A demo is now available