# Pure

> functional programming language

**Wikidata**: [Q7261054](https://www.wikidata.org/wiki/Q7261054)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Pure_(programming_language))  
**Source**: https://4ort.xyz/entity/pure

## Summary
Pure is a functional programming language based on term rewriting techniques. Created in 2008, it is a dynamically and strongly typed language distributed under the GNU Lesser General Public License. The language is influenced by Lisp, Alice, and MATLAB, and serves as a tool for declarative programming.

## Key Facts
*   **Inception:** The language was created in 2008.
*   **Type System:** Pure utilizes both dynamic typing and strong typing.
*   **License:** It is distributed under the GNU Lesser General Public License.
*   **Paradigms:** The language supports functional programming and declarative programming.
*   **Classification:** Pure is an instance of both a programming language and a functional programming language.
*   **Influences:** The design of Pure was influenced by Lisp, Alice, MATLAB, and Q34010.
*   **Website:** The official website is located at http://purelang.bitbucket.org/.

## FAQs
### Q: What programming paradigms does Pure support?
A: Pure is primarily a functional programming language that also supports declarative programming. It allows developers to write code based on mathematical functions and logic rather than imperative commands.

### Q: What are the typing disciplines used in Pure?
A: Pure employs a typing discipline that combines dynamic typing with strong typing. This means types are checked at runtime (dynamic), but the language enforces strict rules to prevent type errors (strong).

### Q: When was Pure released and under what license?
A: Pure was inceptioned in 2008. It is free software released under the GNU Lesser General Public License (LGPL).

## Why It Matters
Pure serves as a specific implementation of functional programming principles within the broader landscape of computer science languages. Its significance lies in its synthesis of features from several distinct predecessors, including Lisp—originally developed in 1958—as well as Alice and MATLAB. By combining dynamic typing with strong typing, it offers a specific approach to memory safety and error handling that differs from statically typed languages.

As an open-source tool (licensed under GNU LGPL), Pure provides an accessible platform for developers and researchers interested in term rewriting and declarative logic. Its existence contributes to the diversity of programming tools available for mathematical and logical computation, extending the legacy of lambda calculus-based languages into modern computing environments. While it has a smaller footprint compared to major languages (indicated by a sitelink count of 1), it represents a specialized evolution of the functional paradigm.

## Notable For
*   **Unique Influences:** Distinctly influenced by a mix of languages including Lisp, Alice, and MATLAB.
*   **Hybrid Typing:** Combines the flexibility of dynamic typing with the safety of strong typing.
*   **Open Source:** Licensed under the GNU Lesser General Public License, allowing for free use and modification.
*   **Lineage:** A modern functional language following in the footsteps of Lisp, one of the oldest programming languages dating back to 1958.

## Body
### Overview and Classification
Pure is a functional programming language designed for communicating instructions to a machine. It is formally classified as an instance of a "programming language" and a "functional programming language." The language falls under the umbrella of declarative programming, focusing on the "what" of a program rather than the "how."

### Technical Specifications
The language is characterized by its specific approach to type theory and program execution:
*   **Typing Discipline:** Pure enforces strong typing while utilizing dynamic typing. This ensures that type errors are caught effectively without requiring explicit type declarations at compile time.
*   **Paradigm:** It operates on principles of functional programming and declarative programming.

### History and Development
Pure was established in 2008. Its design is a reflection of several prior technologies in the field of computer science:
*   **Influences:** The language's architecture shows significant influence from Lisp (a functional language based on lambda calculus), Alice, and MATLAB.
*   **Copyright:** The software is classified as copyrighted but made freely available under an open-source license.

### Availability
The project is hosted online at http://purelang.bitbucket.org/. It is tracked in various knowledge bases, identified by the Freebase ID `/m/04zzxjs` and the Repology project name `pure`.