Tree @master (Download .tar.gz)
Pixley
Try it online @ catseye.tc | See also: Pail ∘ Robin
Pixley is a strict subset of R5RS Scheme (or, if you prefer, R4RS Scheme), supporting four datatypes (boolean, cons cell, function, and symbol) and a dozen built-in symbols. The reference implementation of Pixley is written in 124 lines of Pixley (or, if you prefer, 124 lines of Scheme; and if you prefer more Scheme-ly metrics, it consists of 413 instances of 54 unique symbols in 684 cons cells.)
This distribution also contains (non-reference) implementations of Pixley
in C (mignon) and Haskell (haney), as well as ancillary support for
running Pixley under four different implementations of Scheme (Racket's
plt-r5rs, Husk Scheme, Mini-Scheme v0.85p1, and Tinyscheme,) as well as
several minor dialects of the Pixley language (Pifxley, P-Normal Pixley,
and Crabwell.)
Except where noted as being in the public domain, the source code files in the Pixley project are distributed under a BSD license.
The latest released version of the Pixley language is 2.0. For more information on the language, reference implementation, and project, please refer to The Pixley Programming Language document.
Development
Official release distfiles are available on the Pixley project page at Cat's Eye Technologies.
The git repository for the reference distribution is available on Codeberg.
For a release history of the reference distribution, see HISTORY.md.
Commit History
@master
git clone https://git.catseye.tc/Pixley/
- Allow both horizontal and vertical depiction. Cat's Eye Technologies 12 years ago
- Make (foo) and (foo foo) visually differentiable. Cat's Eye Technologies 12 years ago
- Properly allocate size of lists containing only a single atom. Cat's Eye Technologies 12 years ago
- Depict empty lists properly. Cat's Eye Technologies 12 years ago
- Depict on canvas on program load. Cat's Eye Technologies 12 years ago
- If list's head is an atom, shrink & colour list that colour. Eww! Cat's Eye Technologies 12 years ago
- Allocate colours deterministically & reasonably uniquely. Cat's Eye Technologies 12 years ago
- Nicer still? Maybe some of the lists should be vertical instead. Cat's Eye Technologies 12 years ago
- Much nicer! And veddy interesting... Cat's Eye Technologies 12 years ago
- This is the real reason I implemented it in JS. Crude for now... Cat's Eye Technologies 12 years ago
- Add wrap-in-Pixley-interpreter method to PixleyController. Cat's Eye Technologies 12 years ago
- Fix argh bugs argh argh. All tests pass! Cat's Eye Technologies 12 years ago
- Add non-shadowing version of Pixley. But that's not the problem. Cat's Eye Technologies 12 years ago
- Stop cheating in test output. No fewer failures, though. Cat's Eye Technologies 12 years ago
- Allow `-` in symbols. Half the single-tower tests now pass. Cat's Eye Technologies 12 years ago
- Fix bug in arg binding. All base tests pass! Tower still fails. Cat's Eye Technologies 12 years ago
- Fix accidental globals in bindAll(). Only 1 base failure now. Cat's Eye Technologies 12 years ago
- Implement `lambda`. Still 2 failures... Cat's Eye Technologies 12 years ago
- Sketch lambda implementation, add error handler. 7 failures. Cat's Eye Technologies 12 years ago
- Turn pixley.js.sh into a scheme-adapter.sh wrapper. 8 failures. Cat's Eye Technologies 12 years ago
- Allow pixley.js to be run from command line using node.js. Cat's Eye Technologies 12 years ago
- Split up and make independent of yoob.js, for benefit of node.js. Cat's Eye Technologies 12 years ago
- Implement `cond`. Cat's Eye Technologies 12 years ago
- Implement `let*`. Cat's Eye Technologies 12 years ago
- Implement equal? and list? predicates. Cat's Eye Technologies 12 years ago
- Make what evaluation there is so far work properly. Cat's Eye Technologies 12 years ago
- Define proper cons cells instead of using yoob.Tree, bleah. Cat's Eye Technologies 12 years ago
- More fumbling towards evaluation. Cat's Eye Technologies 12 years ago
- Pretend that there is an evaluator. Cat's Eye Technologies 12 years ago
- Parse Pixley program upon load (crudely.) Cat's Eye Technologies 12 years ago