Cation Forth - продолжение проекта "софт-Форта", т.е. Форта, написанного на ЯВУ. Почему такое название? Потому что Quark уже был, а "весомые" частицы состоят из кварков. Первая оболочка для Кварка называлась Proton, "пустая" оболочка на Qt идет под именем neutron, ну вот нашелся еще cation. К тому же картинка миленькая


Исходный язык - Object Pascal + IDE Lazarus. Идея подобных Фортов - управление ресурсами базового языка, т.е. приложение на Lazarus исходно пустое, и управляется динамически сообщениями из Форт-машины. В Lazarus есть два приятных компонента - TChart и SynEdit, можно удобно строить графики и заниматься разработкой embedded-приложений в неплохом компоненте редактора с подсветкой синтаксиса. Управляется все очередью сообщений из Форта, поэтому у кода на Форте нет прямого доступа к ресурсам приложения, что позволяет дополнительно контролировать параметры и заодно при необходимости осуществлять синхронизацию.
Примеры кода берутся из neutron:
Код:
0 BUTTON.SHOW
100 100 75 25 0 BUTTON.RECT
" Ok" 0 BUTTON.CAPTION
ВМ Форта - объект, которых в системе не один. Поэтому в процессе работы можно запускать много ВМ, передавая каждой свой код и свои строки для интерпретации. Это призвано не столько повысить производительность на многопоточных процессорах, сколько обеспечить определенное удобство для программиста при запуске расчетов, обмена с подключенным embedded-устройством и прочих операциях.
Производительность - не самая сильная сторона Форта. Поэтому и не надо гнаться за тем, что при лучшем раскладе будет неидеальным. Производительность - это assemebler, GPU, FPGA. К ним и строится интерфейс.