Pure (programming language): Difference between revisions

Content deleted Content added
Ag (talk | contribs)
Update licensing information.
Ag (talk | contribs)
Expand a bit on application areas and features which set Pure apart from its predecessor Q and other FPLs.
Line 1:
'''Pure''' is a dynamically typed, [[Functional programming|functional]] [[programming language]] based on [[term rewriting]]. It has facilities for user-defined syntax, macros, multiple-precision numbers, and compilation to native code through the [[Llvm|LLVM]].
 
'''Pure''' comes with an interpreter and debugger, provides automatic memory management, and has powerful functional and symbolic programming capabilities as well as interface to C libraries (e.g. for numerics, low-level protocols, and other such tasks). At the same time, '''Pure''' is a "small" language designed from scratch; its interpreter is not large, and the library modules are written in '''Pure''' itself. The syntax of '''Pure''' resembles that of [[Miranda programming language|Miranda]] and [[Haskell programming language|Haskell]], but it is a [[free-format language]] and thus uses explicit delimiters (rather than [[off-side rule|indentation]]) to indicate program structure.
 
The '''Pure''' language is a successor of the [[Q (programming language)|Q]] language created previously by the same author, Albert Gräf at the [[University of Mainz]] in Germany. BothCompared languagesto Q, it offers some important new features (in particular, local functions, efficient vector and matrix support and the built-in C interface) and programs run much faster as they are designed[[Just-in-time compilation|JIT-compiled]] to native code on the fly. '''Pure''' is mostly aimed at mathematical applications and [[scientific computing]] right now, but its interactive interpreter environment, the C interface and the growing collection of addon modules make it suitable as a kind of functional [[scripting language]] for a variety of other applications, insuch as artificial intelligence, symbolic computation, and real-time multimedia processing.
 
'''Pure''' [[plugins]] are available for the [[Gnumeric]] spreadsheet and Miller Puckette's [[Pure Data]] graphical multimedia software, which make it possible to extend these programs with functions written in the Pure language.
 
'''Pure''' is [[free software]] distributed (mostly) under the [[GNU Lesser General Public License]] version 3 (or later).