Skip to content
A metacircular Lisp in Perl 6
Perl 6
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
t
README.md
repl

README.md

Largely following the steps noted down in pg's The Roots of Lisp.

Example REPL session

$ perl6 -Ilib repl
>>> (car '(x))
x
>>> (eq 'foo (car '(foo)))
t
>>> ((lambda (x) (cons x '(b))) 'a)
(a b)
>>> (eval '((lambda (x) (cons x '(b))) 'a) '())
(a b)
>>> ^D
$

Plans

<masak> possible future directions:
<masak> (a) lexical scoping -- currently it's dynamic, which is not so nice
<masak> (b) macros -- requires (a), pretty much
<masak> (c) an ALGOL-like syntax on top of the language... turning it into Dylan, I guess
You can’t perform that action at this time.