Pure (programming language): Difference between revisions

Content deleted Content added
Unicas (talk | contribs)
Tag: Reverted
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)
 
(9 intermediate revisions by 3 users not shown)
Line 1:
{{Short description|Functional programming language}}
{{multiple issues|
{{more footnotes|date=September 2016}}
{{notability|date=September 2016}}
{{primary sources|date=September 2016}}
}}
{{redirect|Pure (language)|the linguistic notions|Linguistic purism|and|Adamic language}}
{{Infobox programming language
Line 32 ⟶ 27:
Pure comes with an [[Interpreter (computing)|interpreter]] and [[debugger]], provides [[Garbage collection (computer science)|automatic memory management]], has powerful functional and symbolic programming abilities, and interfaces to [[Library (computing)|libraries]] in [[C (programming language)|C]] (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. The syntax of Pure resembles that of [[Miranda (programming language)|Miranda]] and [[Haskell]], but it is a [[free-format language]] and thus uses explicit [[delimiter]]s (rather than [[off-side rule]] indents) to denote program structure.
 
The Pure language is a successor of the equational programming language Q ,<ref> Q-Equational-Programming-Language https://q-lang.sourceforge.net/</ref>, previously created by the same author, Albert Gräf at the [[University of Mainz]], Germany. Relative to Q, it offers some important new features (such as local functions with [[lexical scoping]], efficient vector and matrix support, and the built-in C interface) and programs run much faster as they are [[Just-in-time compilation|compiled just-in-time]] to native code on the fly. Pure is mostly aimed at mathematical applications and [[scientific computing]] currently, but its interactive interpreter environment, the C interface and the growing set of addon modules make it suitable for a variety of other uses, such as [[artificial intelligence]], symbolic computation ,<ref>{{Cite web |title=REDUCE httpRelated Projects |url=https://www.reduce-algebra.comsourceforge.io/projects.php |access-date=2025-01-19 |website=REDUCE Computer Algebra System}}</ref>, and real-time multimedia processing <ref>FAUST https://faust.grame.fr/.</ref>
 
Pure [[Plug-in (computing)|plug-ins]] 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. Interfaces are also provided as library modules to [[GNU Octave]], [[OpenCV]], [[OpenGL]], the [[GNU Scientific Library]], [[FAUST (programming language)|FAUST]], [[SuperCollider]], and liblo (for [[Open Sound Control]] (OSC)).
Line 150 ⟶ 145:
* Michael Riepe. [http://www.heise.de/ix/artikel/Rein-ins-Vergnuegen-856225.html "Pure – eine einfache funktionale Sprache"] {{Webarchive|url=https://web.archive.org/web/20110319165239/http://www.heise.de/ix/artikel/Rein-ins-Vergnuegen-856225.html |date=2011-03-19 }}. ''Heise''.
* [https://web.archive.org/web/20130808212022/http://blueparen.com/node/6 "Interview With Albert Gräf"]. blueparen.
* Mark Boady, [https://www.cs.drexel.edu/~mwb33/posters/teach_pres/mwb33_teaching_presentation.pdf Introduction to Term Rewrite Systems and their Applications]
 
== Notes ==