Функции без зависимостей

Попросил скомплектовать такой список Chat GPT: - * / % + = == abs and append atom bit? bye car catch cdr char chop con cond cons date dec eq eval ext? flg? format ge gt head if inc intern le length line lst? lt max min name nand ne nor not nth num? or prin print println quote rd read reverse sp? sym? tail throw time type val wait (64 функции).
Без проверки трудно сказать насколько список адекватный, тем более полный. Хотел начать движение в сторону мануала с типа данных NUM, но вот случился такой промт мимо которого трудно пройти. Навскидку решил посмотреть код определения quote
# (quote . any) -> any
(de _Quote (Exe)
(cdr Exe) )
map: llvm~_Quote (58 "@src/flow.l" llvm pico)
map: pico~quote (58 "@src/flow.l" llvm pico)
Из чего понял, что ситуация аналогичная с symbols , но с разницей в том, что для quote есть такой код, который типичный для большинства определений с некоторыми исключениями. То есть, скорее всего Gemini “скреативил” с кодом для symbols.
($Quote "quote" _Quote) # 'quote' function
map: llvm~$Quote (117 "@src/glob.l" llvm pico)
Оставим в стороне арифметику и логику, включая “предикаты“, а остальные, пожалуй, акцентируем далее снова, но уже с кодом определений.
Почему не интересует арифметика и логика? Потому что здесь нет ничего интересного. Можно предположить, что у нас есть магические сервисы в виде интерпретатора-калькулятора и интерпретатора-логика, оптимальные и универсальные. И вряд ли какая-то система может с ними в этом сконкурировать и удивить нас инновацией, включая синтаксис. То есть к этим темам придется вернуться в рамках мануала, но, опять же, как к общим темам без акцентов на операции и их определения. А мануал, конечно, хочется начать с архитектуры виртуальной машины … но концепцию “ячейки” рассмотреть вместе с концепцией NIL. То есть фактически, проектирование структуры мануала начнется не с “истории создания системы”, что является специальной темой и точно не для мануала, а … все-таки с NUM (!?) … а потом уже NIL.
P.S. И да! Завел новый черновик в виде тиддливики файла для мануала. Так удобнее, работать параллельно с двумя текстами, типа иммитация процесса моделирования … в нашем случае, метамоделирования.
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!