Появившийся в 1958 году, Lisp является одним из старейших языков программирования, и он, похоже, больше не используется. Но, если вам интересен язык, которому 61 год, Visible Lisp Computer – интерпретатор Lisp, отображающий содержимое рабочего пространства Lisp на OLED-дисплее, для вас.
Это модифицированная версия интерпретатора uLisp от Technoblogy для плат Arm, разработанная для работы на Adafruit ItsyBitsy M0 или других платах на основе микрочипа ATSAMD21E на макетной плате, подключенного к OLED-дисплею 64 × 48 через I2C.
uLisp предоставляет вам рабочую среду из 3072 свободных объектов Lisp (каждый из 8 байтов), точно соответствующую 3072 пикселям (64 × 48) дисплея. Заявлено, что программа также будет работать на более крупных OLED-дисплеях на основе SSD1306.
На дисплее отображаются свободные объекты Lisp в черном цвете, и когда объект используется, соответствующий пиксель становится белым, и время от времени вы будете видеть утилизацию памяти в действии, утилизируя использованные объекты, к которым больше нельзя получить доступ.
Схема подключения оборудования довольно проста, и вам просто нужно дополнительное сопротивление 4,7 кОм для сигналов I2C (SDA, SCL). Затем вы можете подключить плату к компьютеру через USB и получить доступ к последовательному терминалу.
При первом запуске платы дисплей полностью черный. Если вы введете функцию Fibonacci, например:
1 2 3 |
(defun fib (n) (if (< n 3) 1 (+ (fib (- n 1)) (fib (- n 2))))) |
Строка белых пикселей, начинающаяся в верхнем левом углу, отображается для представления серии объектов Lisp.
Затем вы можете запустить функцию с помощью ( fib 10) или ( fib 16) , или любого другого числа, которое достаточно мало, чтобы поместиться в память, и вы увидите, что дисплей сам заполняется, пока не заполнится, и вы можете увидеть запуск утилизации памяти, как показано на первом фото выше. Это свойство и программа более подробно описаны в посте Technoblogy о проекте.
Если вы хотите попробовать сами, вам нужно купить плату Adafruit ItsyBitsy M0 на Adafruit или Pimoroni примерно за 12 долларов, а также OLED-дисплей, который можно найти на Aliexpress примерно за 2 доллара.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.