Skip Navigation

The Pure Programming Language (2022)

agraef.github.io /pure-lang/

Pure is a modern-style functional programming language based on term rewriting. It offers equational definitions with pattern matching, full symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation, lexical closures, built-in list and matrix support and an easy-to-use C interface. The interpreter uses LLVM as a backend to JIT-compile Pure programs to fast native code.

...

For instance, here is a famous equation which you hopefully remember from high school algebra: (x+y)2 = x2+2xy+y^2; Again, you can just paste this line into the interpreter, and lo and behold, it just works in Pure:

 pure
    
(a*x+(y+b))^2;
(a*x)^2+2*(a*x)*(y+b)+(y^2+2*y*b+b^2)


  

Now this might seem like an arcane feature, but many if not most real-world programming tasks involve a substantial amount of symbolic computations these days, and as a term rewriting language, Pure makes those easy. E.g., check the units.pure script in the sources for a practical example. (More examples from the sources can be found on the Examples wiki page.)

Hacker News @lemmy.smeargle.fans

Pure Programming Language

2 comments