С целью сделать его быстро.
См. также:
Сколько стоит минимальный платформонезависимый язык?
1) динамическая типизация.
https://ru.wikipedia.org/wiki/Динамическая_типизация
да, это верно, что получается менее эффективный код, но его сложность увеличивается константно (умножается на константу).
Прогресс в миниатюризации электроники и увеличении производительности делает это вовсе не проблемой
2) "ракетная" сборка мусора.
Бортовая вычислительная система боевой ракеты выделяет память для расчётов и не освобождает её.
Всё равно, после того как ракета попадёт в цель, все объекты в памяти станут разрушены.
3) рекурсивный спуск
Парсить надо именно с помощью него. Единственное место, где это будет мешать - правоассоциативные операции.
Но для целей написания компилятора вряд ли понадобится операция возведения в степень,
она просто не нужна. Вон, в C# все операции левоассоциативные, и ничего, живут как-то.
4) безразмерные массивы
«Структура данных, позволяющая идентифицировать ее элементы не по числовому индексу, а по произвольному, называется словарем или ассоциативным массивом. Соответствующая структура данных в языке Питон называется dict»
«Особенностью ассоциативного массива является его динамичность: в него можно добавлять новые элементы с произвольными ключами и удалять уже существующие элементы. При этом размер используемой памяти пропорционален размеру ассоциативного массива.»
Самое главное, что заранее не нужно объявлять или знать размер.
5) расширяемая система типов (опционально)
Поскольку язык динамический, то описание составного типа - это просто склейка нужных переменных, отличающихся только именами.
(склейка одинакового - это примерно как массив, а массивы у нас, как мы помним, - когда просто по ключу (имени) можно получить значение)
Никакие виртуальные функции делать не надо, это всё можно сделать свитчами, таблицами переходов, в общем, реализуемо вручную, как в GObject
Считаю, что из всех предлагавшихся здесь языков к этим идеям ближе всего Солуни.
Тем более, что его автор - единственный, кто всё ещё посещает этот форум.
Отредактировано Лис (2024-11-27 23:24:26)