import lisp-programs, start working on picocalc editor

This commit is contained in:
2025-05-01 17:36:07 -07:00
parent 86411d214d
commit c69cb88e90
18 changed files with 1668 additions and 49 deletions

31
docs/Makefile Normal file
View File

@@ -0,0 +1,31 @@
TEXI := ulisp.texi
OUTPUTS := ulisp.pdf ulisp.info ulisp.html
.PHONY: all
all: $(OUTPUTS)
.PHONY: pdf
pdf: ulisp.pdf
ulisp.pdf: ulisp.texi
texi2pdf ulisp.texi
.PHONY: info
info: ulisp.info
ulisp.info: ulisp.texi
makeinfo ulisp.texi
.PHONY: html
html: ulisp.html
ulisp.html: ulisp.texi
texi2any --html --no-split ulisp.texi
ulisp_html: ulisp.texi
texi2any --html ulisp.texi
.PHONY: clean
clean:
rm -f *.aux *.cp* *.log *.toc $(OUTPUTS)
rm -fr ulisp_html

107
docs/ulisp.texi Normal file
View File

@@ -0,0 +1,107 @@
\input texinfo
@settitle Metacircular uLisp
@copying
This is a writeup of a set of particular uLisp systems.
Copyright @copyright{} 2025 Metacircular Labs.
@end copying
@titlepage
@title Metacircular uLisp
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@contents
@node Top
@top Metacircular Lisp
This describes my particular uLisp systems, including the
infastructure to sync work across platforms.
@menu
* Introduction:: The introduction covers the project and its goals.
* The Common Platform:: The common platform components are synced
across each system.
* Lisp Programs:: A library of programs.
* Future Work:: A survey of work to be done.
* Index::
@end menu
@node Introduction
@chapter Introduction
@cindex introduction, goals
There is nothing to see here.
@node Overview
@section Overview
I've been writing Common Lisp for at least a decade in earnest, though
the amount of time I spend on it ebbs and flows. I've written
production CL and Clojure, and written a fair amount of hobby racket,
scheme, and elisp. My imagination was captured early on by the book
Let Over Lambda, and of course all the AI books piqued my interest.
I found uLisp a few years ago, but I didn't really have a use for it
at first. I don't need a serial terminaly-only Lisp system given my
comfort in writing Arduino C++. I started work on an ARM SAMD-51
system using a Blackberry Featherwing from Solder Party, but never got
uLisp building with PlatformIO (where all my other tooling was).
When the PicoCalc came out and I saw it included a uLisp image, I
immediately bought one. This was quickly followed by T-Deck and
repurposing some existing Teensy 4.1s. I found a GameBoy cartridge
form-factor for the Teensy, and I have this idea of building a uLisp
Teensy cartridge with the additional PSRAM and an RTC, and building a
case for the PicoCalc that allows me offload expensive computations to
the Teensy. Alternatively, I could build a LoRa cartridge to combine
some of my radio interests.
@node Goals
@section Goals
My goal is to have a handheld Lisp platform that I can extend and
customize as needed to explore various maths and physics things, take
some notes on, and generally interact with the world. The T-Deck is
acceptable for now, but I'd much rather build on the PicoCalc.
@node Platforms
@section Platforms
I'm using a few platforms:
The @url(https://www.clockworkpi.com/picocalc, PicoCalc) is the
platform I'd like to have working where I want. There's still a bunch
of work to be done.
The
@node The Common Platform
@chapter The Common Platform
Still nothing.
@node Lisp Programs
@chapter Lisp Programs
Some programs.
@node Future Work
@chapter Future Work
So much work to do
@node Index
@unnumbered Index
@printindex cp
@bye