this post was submitted on 27 Feb 2024
12 points (87.5% liked)

Programming Languages

1167 readers
5 users here now

Hello!

This is the current Lemmy equivalent of https://www.reddit.com/r/ProgrammingLanguages/.

The content and rules are the same here as they are over there. Taken directly from the /r/ProgrammingLanguages overview:

This community is dedicated to the theory, design and implementation of programming languages.

Be nice to each other. Flame wars and rants are not welcomed. Please also put some effort into your post.

This isn't the right place to ask questions such as "What language should I use for X", "what language should I learn", and "what's your favorite language". Such questions should be posted in /c/learn_programming or /c/programming.

This is the right place for posts like the following:

See /r/ProgrammingLanguages for specific examples

Related online communities

founded 1 year ago
MODERATORS
 

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 = x^2+2xy+y^2; Again, you can just paste this line into the interpreter, and lo and behold, it just works in 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.)

top 2 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 1 points 8 months ago (1 children)

The symbolic rewriting is interesting.

I do wonder what "modern-style" functional programming means.

Also their FAQ says:

But considering other FPLs like Haskell and ML, Pure's library support isn't bad

Clicking that link reveals a list of about 34 libraries. In comparison, Haskell's current curated Stackage snapshot has 3340 packages in it (the total number of packages is probably more than 10x that). So, I think it is odd to claim its ecosystem is anywhere near Haskell's.

[โ€“] [email protected] 1 points 8 months ago

Maybe they also include the C interop in that library support?