Pyramid Scheme compiler (psll)
Install latest/stable of Pyramid Scheme compiler
Ubuntu 16.04 or later?
Make sure snap support is enabled in your Desktop store.
Details for Pyramid Scheme compiler
Package name
- psll
License
- MIT
Last updated
- Today - latest/stable
- Today - latest/edge
Contact
Source code
Report a bug
External link warning
You are about to open
Do you wish to proceed?
Report a Snap Store violation
Report Pyramid Scheme compiler for a Snap Store violation
Snap Store Violation Report submitted successfully
Thank you for your report. Information you provided will help us investigate further.
Error submitting report
There was an error while sending your report. Please try again later.
Share this snap
Generate an embeddable card to be shared on external websites.
Compiler for the Pyramid Scheme esolang
[Pyramid Scheme](https://github.com/ConorOBrien-Foxx/Pyramid-Scheme) is an esoteric language whose programs are ascii-art pyramids. psll lets you write them in a lisp-like syntax instead, with macros, strings, def and code-golf optimisations, and compiles that to the pyramids for you.
For example, this psll program
(set a 6) (set b 7)
(out (* a b))
compiles to
^ ^ ^
/ \ / \ / \
/set\ /set\ /out\
^-----^ ^-----^ ^-----
/a\ /6\/b\ /7\ /*\
--- ------ --- ^---^
/a\ /b\
--- ---
and prints 42.
Commands:
psll compile prog.psll -o prog.pyra-- compile to Pyramid Schemepsll run prog.pyra-- run a Pyramid Scheme programpsll compile-and-run prog.psll-- both in one go
Ruby and the Pyramid Scheme interpreter are bundled, so everything works offline out of the box.
Read more in [the SIGBOVIK paper](https://github.com/lczyk/psll-lang/blob/master/sigbovik-paper/sigbovik-psll.pdf).
| Revision | Channel | Version | Build | Commit | Download SBOM |
|---|
The build and commit information is derived from build infrastructure records.
Install Pyramid Scheme compiler on your Linux distribution
Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the installing snapd documentation.