Вам никто не говорил, что игнорирование причинно-следственных связей - не приближает всеобщее благо... в смысле затрудняет достижение истины?
Цитата:
Можно и к автомобилю лошадь прицепить. И даже обосновать. Но стоит ли?
Вы утверждали, что это невозможно. То что в данном конкретном слуае их использование не практично, я упомянул.
Цитата:
Боюсь, без копания во внутренностях этих машин, объяснить не получиться.
Я представляю себе устройство как лисп-машин так и форт машин. Я никогда не утверждал, что они идентичны в реализации или каких либо других частностях. Я говорил, что у них сходные концепции. Концепчия модулей и простого интерфейса между ними, концепция управления данными, концепция языка высокого/низкого уровней, концепция единого пространства данных.
Цитата:
Да, все есть Машина Тьюринга и все эквивалентно, но не проще взять, то, что есть и написать то, что надо?
Нет, не эквивалентно. Машина тьюринга - это модель выполнения. Она не имеет никакого отношения к циклу разработки и жизненному циклу программ.
На языке Си возможно написать программу без стека. На языке си возможно написать программу, работающую без языка си. Возможно ли реализовать Форт-Программу, работающую без стека или адресного интерпретатора?
Теперь пройдёмся по действительно интересным, методическим темам.
Цитата:
Здесь, на самом деле, подразумевается не "какого типа переменная?", а "каково значение переменной?"
Нет, на самом деле здесь подразумевается именно значение
типа данных. Если на Стеке лежат какие либо данные, нет никакого способа узнать, что это за данные, без знания деталей реализации процедур, их туда поместивших. Каждая яыейка стека форт может содержать Беззнаковое целое, Целое со знаком, Число с плавающей запятой. Адресс какого то объекта в памяти. Смещение между двумя объектами в памяти. Упакованные несколько значений меньшей разрядности. Код символа из кодовой таблицы или еще какое-нибудь битовое поле. И никакого способа определить, как с этим работать, кроме как быть уверенным в их типе на момент создания программы.
Цитата:
В узких-то местах, это, как раз просто. Например, в примере FORTH-LISP выше так был реализован ATOM.
Уверен что это так. Не вникал в реализацию, так как осознав, что мне нужен лисп, решил писать сразу лисп, оставив форт на сладкое.
Цитата:
сам C ничего не умеет. ОС должна предоставить ему библиотеку. Например, какой прок прок будет от файловых библиотек в ОС, не имеющих файловых систем?
Ну, если эта библиотека именно описывает структуру файловой системы, а не является интерфейсной библиотекой какой нибудь третьей ос, то прок может быть великим: например что бы добавить в ОС поддержку файловых систем. Или что бы проигрывать аудиофайлы с флеш-карты не обращаясь к, а то и вовсе обходясь без ОС.
Да и интерфейсная библиотека файловой системы третьей ОС в отдельных случаях может быть полезна: если ФС например CIFS или NFS, а рабочая ос имеет поддержку сети (или программа притащила за собой драйвер сетевой карты и TCP/IP стек. В виде отдельных библиотек естественно) то программа сможет хранить свои файлы "foo" и "bar" на удалённой системе.
Я уже не говорю о том, что библиотеки языка Си могут быть статически подключены к программе, в результате чего результирующая программа будет включать такую библиотеку полностью, и обязанности ОС по предостовлению библиотек не будут востребованы вовсе.