Command-line REPL for Zylisp with support for local, server, and client modes.
- Local REPL: Interactive Zylisp interpreter
- Server Mode: Start a REPL server for remote connections
- Client Mode: Connect to a remote REPL server
- Multiple Transports: In-process, Unix domain sockets, and TCP
- Context-aware: Graceful shutdown with signal handling
- Stateful Sessions: Persistent environment across evaluations
Start an interactive REPL:
zylispThis runs a local REPL session with an in-process evaluator.
Start a REPL server that accepts remote connections:
# TCP server on port 5555
zylisp --mode=server --transport=tcp --addr=:5555
# Unix domain socket server
zylisp --mode=server --transport=unix --addr=/tmp/zylisp.sockThe server will run until interrupted (Ctrl-C).
Connect to a remote REPL server:
# Connect via TCP
zylisp --mode=client --addr=localhost:5555
# Connect via Unix domain socket
zylisp --mode=client --addr=/tmp/zylisp.sock--mode: Operation mode -local(default),server, orclient--transport: Transport type -in-process(default),unix, ortcp--addr: Server address (required for server/client modes)--codec: Message codec -json(default) ormsgpack(when supported)
exit,quit- Exit the REPL:reset- Reset the environment (clear all definitions):help- Show help message
> (+ 1 2)
3
> (* 5 (+ 2 3))
25> (define square (lambda (x) (* x x)))
<function>
> (square 5)
25> (define x 10)
10
> (define y 20)
20
> (+ x y)
30For more examples, see EXAMPLES.md.
Terminal 1 (Server):
$ zylisp --mode=server --transport=tcp --addr=:5555
Starting Zylisp REPL server on :5555 (tcp)Terminal 2 (Client):
$ zylisp --mode=client --addr=localhost:5555
Connecting to Zylisp REPL at localhost:5555...
Connected!
> (+ 1 2)
3✅ Production-ready implementation with full REPL protocol support