Learn More
The APL language allows subject matter experts with no computer science experience to create large and complex software implementations of ideas without excessive software engineering and external development costs. The rapid increase in data sizes challenges existing APL systems, which are all interpreters, to scale with the domain expert's problem size.(More)
We present a language-driven strategy for the construction of compilers that are inherently data-parallel in their design and implementation. Using an encoding of the inter-node relationships between nodes in an AST called a Node Coordinate Matrix, we demonstrate how an operator called the Key operator, that applies a function over groupings of array cells(More)
Value weak hashtables retain only weak references to the values associated with either a strongly or weakly referenced key. Value-weak hashtables automatically remove entries with invalid weak references, which occur when the collector reclaims a weakly referenced value. Value-weak hashta-bles provide a convenient way to automatically manage a table of(More)
Programming language communities often have repositories of code to which the community submits libraries and from which libraries are downloaded and installed. In communities where many implementations of the language exist, or where the community uses a number of language varieties , many such repositories can exist, each with their own toolset to access(More)
SUMMARY The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail recursive dialect of the Lisp programming language invented It was designed to have exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including(More)
Literate programming systems are a class of domain specific languages designed to encourage writing programs specifically to be read as essays or books by humans instead of by machines. Systems like CWEB, WEB, and ChezWEB allow the user to associate arbitrary code bodies with a concise but natural language description. That description may then be referred(More)
  • 1