Dhar

This site is meant as a supplement to LETHE: a concept workstation for the 21st century. It describes the Dhar programming language, a syncretic and heretical design built out of bits lifted from Common Lisp, Scheme, Objective-C, C++, Java, Javascript, Algol, PHP, and BASIC.

This is a working specification. It may contain errors or contradictions, and it may confidently describe features that are either obsolete or unimplemented. Its organization is also somewhat suspect.

Dhar is not a profound or sublime language. It does not have algebraic types or novel threading models; its gimmicks are limited to template strings, promises, and a well-defined dichotomy between the surface language and the parse tree. It is meant, above all, to be something that just works, and can be picked up by almost any programmer without much hassle. PLT enthusiasts might not want to read this site too closely.

Summary

Dhar (meaning literally "black magic") is a strongly-typed Lisp-like language with syntactic and namespace affordances that surmount the typical obstacles that prevent adopting Lisp. In Lethe, it is used in multiple dialects, variously targeting systems programming, application programming, and the shell. This top-down family design provides cohesion without crippling expressivity in one domain due to considerations required for another.

Because of the goal of making a Lisp for non-Lispers, some aspects of Dhar may look frightening to programmers with a Lisp background. However, since there are so many Lisp dialects already, and the talent base is already so fragmented, the drawbacks of creating yet another Lisp dialect are much less of an obstacle than holding back non-Lispers with unfamiliar idiosyncrasies.