---
key: pl/pure
kind: plang
name: "Pure"
url: https://plangs.page/pure
---

# Pure

> Based on term rewriting, integrating symbolic computation and JIT compilation via LLVM.

Successor to the equational language Q, Pure is a dynamically typed, functional programming language based on term rewriting. It integrates symbolic computation, pattern matching, and an easy-to-use C interface with the ability to JIT compile to native code via LLVM.

## Facts

- Appeared: 2008
- Homepage: http://purelang.bitbucket.org/
- GitHub: https://github.com/agraef/pure-lang

## Relationships

### Paradigms

- [Declarative](https://plangs.page/paradigm/declarative)
- [Functional](https://plangs.page/paradigm/functional)
- [General-Purpose](https://plangs.page/paradigm/general-purpose)
- [Term Rewriting](https://plangs.page/paradigm/rewriting)

### Platforms

- [Apple](https://plangs.page/platform/apple)
- [BSD](https://plangs.page/platform/bsd)
- [Cross-Platform](https://plangs.page/platform/cross)
- [Linux](https://plangs.page/platform/linux)
- [Windows](https://plangs.page/platform/windows)

### Type Systems

- [Dynamic](https://plangs.page/type-system/dynamic)
- [Strong](https://plangs.page/type-system/strong)

### Influenced By

- [Haskell](https://plangs.page/haskell)
- [Lisp](https://plangs.page/lisp)

### Licenses

- [LGPL](https://plangs.page/license/lgpl)

### Tags

- [Application](https://plangs.page/tag/app)
- [Audio](https://plangs.page/tag/audio-dev)
- [CAS](https://plangs.page/tag/cas)
- [Industrial Control](https://plangs.page/tag/industrial)
- [Interpreter](https://plangs.page/tag/interpreters)
- [Multimedia](https://plangs.page/tag/multimedia)
- [Numeric Computation](https://plangs.page/tag/numeric)
- [Scientific Computing](https://plangs.page/tag/sci)
- [Scripting](https://plangs.page/tag/scripting)
- [Video](https://plangs.page/tag/video)
