а ведь система составних слов позволит, например, объявлять слова не по-фортовски:

: new-word 1 1 + . ;
а более удобно:

new-word: 1 1 + . ;
просто объявив : как корень.

Как считаете, сильно это усложнит восприятие кода? Можно, вообще говоря, и:

:new-word 1 1 + . ;
сделать, чтобы обратную польскую не ломать.

Аналогично с помощью знаков равенства можно будет и переменные создавать.

Подумал как потоки можно реализовать наиболее простым образом.

Пока по запуску потоков есть идеи:
есть специальный набор суффиксов, которые указывают что слово нужно запустить в отдельном потоке, а также из стека извлечь его аргументы и это будет новый стек. Если стек реализован двусвязным списком, то создание нового стека из куска имеющегося — очень быстрая операция, но вообще и из массива можно копировать довольно быстро (на МК это можно поручить DMA).

Классический подход такой что запущенному потоку присваивается токен, и его уже программа может использовать для управления потоком и обменом с ним данными, однако можно ввести суффикс, который сохранит токен под именем. Например, как-то так:
в слове Й’хан-тлеи корень хан исполнится в отдельном потоке (префикс й), а токен сохранится под именем тлеи. Точнее даже не так, хан-тлеи будет возвращать токен, а различные суффиксы помогут собрать слово ожидания результата, остановки потока, пересылки потока на другую машину, и т.д.

То чувство, когда отлаживаешь программу долго и мучительно, а оказывается что беда была в > вместо >=.

Я что спросить хотел, как с такого рода ошибками в более других чем C языках дело обстоит? Сразу отмечу что статический анализатор ничто не сказал потому что ошибка алгоритмическая. Что там хаскель? Что теоретически можно придумать чтобы в torth сделать лучше?

Ну допустим как-то так это будет torth.us

Сразу оговорюсь, экспериментальный язык, это поиграться а не писать на нём промышленный код.

Что посоветуете по системе типов на попробовать? Заявленные идеи по типам у меня только по синтаксису есть, а вот может есть что прорывное или просто интересное, которое мало применяется в распространённых языках программирования? Можно с заметными недостатками, нам с тортом не на луну лететь.