ATS is a PL with a highly expressive type system from the framework Applied Type System. Both dependent types and linear types are available in ATS. The current implementation of ATS (ATS/Anairiats) is written in ATS itself. It can be as efficient as C/C++ and supports * Functional programming. ATS uses eager call-by-value eval, it also supports lazy call-by-need evaluation. Linear types in ATS can often make FP run with high efficiency * Imperative programming. While features considered dangerous in other languages (e.g., explicit pointer arithmetic and explicit memory mgmt) are allowed in ATS, the type system of ATS is still able to guarantee that no run-time errors can occur * Concurrent programming. ATS, equipped with a multicore-safe implementation of garbage collection, can support multithreaded programming through the use of pthreads and parallel let * Modular programming. The module system of ATS is largely infuenced by that of Modula-3
Ikiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable for publishing on a website. Ikiwiki stores pages and history in a revision control system such as Subversion or Git. There are many other features, including support for blogging, as well as a large array of plugins.
Some of the things you can do with the GrassmannAlgebra software. You can: * Set up your own space of any dimension and metric. The default is a 3D Euclidean * Work basis-free or with a basis * Declare your own scalar symbols * Declare your own vector symbols: * Apply Grassmann operations. A Grassmann operation is any of: the complement operation and the six product operations: the exterior, regressive, interior, generalized Grassmann, hypercomplex and Clifford products. * Manipulate Grassmann expressions and numbers. A Grassmann expression is either a scalar, a Grassmann variable, or the result of a sequence of Grassmann operations or sums on Grassmann expressions. A Grassmann number is a Grassmann expression expressed as a linear combination of basis elements. * Compute the grade of any Grassmann expression. * Query the attributes of any expression. * Extract components of different types