Комментарии 13
Мой вольный перевод и адаптация JONESFORTH под x86 и GCC доступны тут:
https://github.com/rigidus/rigidus.ru/blob/master/org/lrn/forth/jonesforth-1.org
https://github.com/rigidus/rigidus.ru/blob/master/org/lrn/forth/jonesforth-2.org
читать интересно, много картинок
Надо было конечно знатно упороться заморочиться чтобы такое написать )
Учитывая что я давний читатель вашего (твоего - не знаю как удобнее) блога - я очень польщен, спасибо. На глубокое разбирательство с тем как все в jonesforth работает ушло несколько месяцев задумчивого взгляда в отладчик, учитывая что исходник имел некоторые особенности которые мешали его запуску на современном Linux, и чтобы пофиксить их, мне пришлось погрузиться в абсолютно ВСЕ низкоуровневые детали. К слову, то как работает DO и DOES> - это просто восхитительно с точки зрения инженерии.
Я получил огромное удовольствие и отличные знания о том как писать низкоуровневые виртуальные машины, пока делал эту работу. Это очень затягивает - с этого опыта началось мое многолетнее увлечение фортом, виртуальными машинами и их производительностью (последнии мои хабрастатьи как раз об этом)
К слову, промышленные виртуальные машины (Java, EVM, WebAssembly - я смотрю на вас) в сравнении с jonesforth устроены куда более прямолинейно, местами даже скучно.
Что касается Forth, у меня уже год лежит незаконченная статья про использование этого замечательного языка для.. веб-разработки (!)
Есть аж целый фреймворк с пародией на REST, к которому я пытался приделать поддержку JSON. Но конечно это уже большой gforth, а не миниатюрные реализации.
Вот тут скриншот в работе.
Я считаю, эту статью надо закончить и выложить на хабр. У меня тоже были мысли написать что-то подобное, но в момент изучения форта я занимался больше виртуальными машинами чем бакендом, а мои фронтенд-знания на тот момент устарели. Но у меня есть старые статьи о том, как заниматься веб-разработкой на лиспе: https://habr.com/ru/articles/112051/ и https://habr.com/ru/articles/111365/
jonesforth: К сожалению ссылки на оригинальную статью устарели, копии найти не удалось а сайт автора лежит.
Собственно сама статья находится в коде самого jonesforth.S и jonesforth.f а оригинальное коротенькое описалово к ним вполне себе находится в вебархиве: FORTH
компиляторы, которые ... не напоминают своим поведением 16-летнюю девушку.
Вести себя (непредсказуемо) могут девушки любого возраста :-)
Интересно, какой self hosted язык на сегодняшний день является самым миниатюрным? В терминах размера исходника и бинарника?
Дзен миниатюризации