#|
Imagine a system that waits and toggles on and off otherwise
separate audio-frequency oscillator circuits according to stored
memory.
Thinking about some electronics. I would like to design some
electronics, not program a high level lisp in MCU assembly.
According to 1AM speculation, here is what I'm thinking. Our
various experts that be can offer some gentle corrections of my
many mistakes.
Target electronics : Some SRAM ; a small amount of static memory
that holds its value.
A bunch of DRAM, dynamic memory. In this case I think 4k is a
practical target amount. Dynamic memory is very slow, since you
basically have to seek through it until you reach the position
you want (which was presumably recorded in SRAM), then wait some
number of clock cycles until the read hopefully succeeded, and
then you only get one chance to use the read and rewrite the
location. This sucks, but those rules are the cost to having
lots of it.
Addressing 4k of memory implies having at least 12 bit numbers.
If it plausibly took 4k cycles to do a dynamic memory readwrite,
operating at 4kHz that's one second a memory access. I'm not
sure the frequencies at which memory card and flip-flop options
can operate.
On the clock note, a clock. A bunch of logic gates. Buttons.
Blinkenlights.
I just want LISP function circuits. Then programs are data
written in lisp driving side-effects. CONS CAR CDR RPLACA RPLACD
INCF DECF COND NULL ZEROP NIL and I guess (INTEGER (0 4096)). I
guess a four bit function namespace and 12 bit address / value
namespace make up two eight bit bytes. Add a notion of garbage
collection.
This is much more primitive than the 50s, though hypothetically
there are high performance cheap electronic components now.
I know some people were interested in ACL2, and others LISPy
electronics on principle. I don't deeply grok the mathematical
principles involved right now, but I know enough to build my own
fancy laboratory inside my Land of Lisp text game framework.
ACL2 is a computational logic for an applicative subset of
common lisp. It has an extensive industry history. The key thing
is that with a bit of applicative squinting and STOBJs, you can
just hack lisp into DEFTHMs.