Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, mkizub, Вы писали: M>>a-la lisp
MC>Зачем использовать что-то a-la lisp, если можно использовать lisp?
Потому, что lisp, это что-то a-la forth, только вместо обратной нотации используются скобки. Так что лисп использовать не нужно, раз можно использовать forth.
10.03.09 14:28: Ветка выделена из темы Tcl vs others
Здравствуйте, mkizub, Вы писали: M>Потому, что lisp, это что-то a-la forth, только вместо обратной нотации используются скобки. Так что лисп использовать не нужно, раз можно использовать forth.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, mkizub, Вы писали: M>>Потому, что lisp, это что-то a-la forth, только вместо обратной нотации используются скобки. Так что лисп использовать не нужно, раз можно использовать forth.
MC>Надо будет познакомиться с фортом.
Ознакомься, конечно. Но смысл моего ответа был в том, что "нечто вроде" это совсем не "то-же самое".
У лиспа "всё есть s-expression", и код и данные, и это позволяет мета-программировать (писать код) меняя данные, которые потом выдаются за код.
У тикля аналогично, только "всё есть строка", и код и данные, и практически столь же минималистичный "синтаксис" для парсера строк — $ для expansion, и {} для квотирования. Но совершенно другая модель исполнения, как и у форта модель исполнения отличается от лиспа. И заточен тикль для других задач.
M>Потому, что lisp, это что-то a-la forth, только вместо обратной нотации используются скобки. Так что лисп использовать не нужно, раз можно использовать forth.
Только если в форт откуда-то появилась сборка мусора, и типы данных, сложнее чем "ячейка" — то это уже, наверное, не форт, а Factor.
M>>Потому, что lisp, это что-то a-la forth, только вместо обратной нотации используются скобки. Так что лисп использовать не нужно, раз можно использовать forth.
MC>Надо будет познакомиться с фортом.
Здравствуйте, dmz, Вы писали:
M>>Потому, что lisp, это что-то a-la forth, только вместо обратной нотации используются скобки. Так что лисп использовать не нужно, раз можно использовать forth.
dmz>Только если в форт откуда-то появилась сборка мусора, и типы данных, сложнее чем "ячейка" — то это уже, наверное, не форт, а Factor.
Я говорил о синтаксисе, а не о модели исполнения.
Любую программу можно представить в виде linked tree, то есть дерева с дополнительными кросс-связями между узлами (связей между использованием переменной и её декларацией и пр).
Дерево программы можно представить в 3-х эквивалентных представлениях.
а) в виде дерева (lisp & co), при этом надо как-то выделять узлы дерева (в лиспе выделяются скобками), (node-type attributes...)
б) в виде стека (forth & co), где тип узла задаётся после аргументов и съедая определённое количество аттрибутов на стеке образует узел "дерева".
в) в виде атомов и операторов с определённым приоритетом и ассоциативностью (наиболее полно этот подход используется в XL, и очень активно в функциональных языках).
Все эти синтаксические подходы имеют одинаковую мощность, но каждый имеет свои преимущества и недостатки.
Стековый вариант (б) наиболее удобен для интерпретации компьютером (потому его и используют в байткоде большинство VM).
Операторный вариант (в) наиболее удобен для чтения человеком, потому его используют чаще в высокоуровневых языках.
Лисповый вариант (а) является промежуточным по удобству интерпретации компьютером и человеком между стековым и операторным синтаксическими представлениями.
ЗЫ Если кто знает ещё какой вариант синтаксического представления произвольного дерева (произвольность нам нужна для мета-программирования, для определения новых узлов дерева) — поделитесь.
M>ЗЫ Если кто знает ещё какой вариант синтаксического представления произвольного дерева (произвольность нам нужна для мета-программирования, для определения новых узлов дерева) — поделитесь.
Mr.Cat пишет:
> M>Потому, что lisp, это что-то a-la forth, только вместо обратной > нотации используются скобки. Так что лисп использовать не нужно, раз > можно использовать forth. > > Надо будет познакомиться с фортом.
Да не похож лисп на форт. Ну, т.е. похож, но не более, чем
зебра на тельняшку -- ну да, обе полосатые.
Здравствуйте, Mr.Cat, Вы писали:
MC>Все, все, запинали. Убегаю, прячусь, беру свои слова обратно и т.п... А всего лишь хотел язык изучить.
MC>
Форт нельзя изучить, это не просто язык, это философия которая может изменить всю твою жизнь
Даже по ответам в этой теме видно что бывших фортеров не бывает
FR пишет:
> Форт нельзя изучить, это не просто язык, это философия которая может > изменить всю твою жизнь
Не знаю, ничего особенного. Наверное, потому что мою жизнь
уже к тому времени изменили -- обратную польскую запись я
применял с самого первого средства программирования — Б3-34.
Здравствуйте, MasterZiv, Вы писали:
MZ>Не знаю, ничего особенного. Наверное, потому что мою жизнь
Ты просто не прозрел, и не принял истиную веру
MZ>уже к тому времени изменили -- обратную польскую запись я MZ>применял с самого первого средства программирования — Б3-34.
FR пишет:
> MZ>Не знаю, ничего особенного. Наверное, потому что мою жизнь > > Ты просто не прозрел, и не принял истиную веру
Да нет, вполне себе.
> > MZ>уже к тому времени изменили -- обратную польскую запись я > MZ>применял с самого первого средства программирования — Б3-34. > > О собрат по несчастью, правда у меня был MK-61
Это тоже было. Только MK-54. До сих пор где-то валяется.
Здравствуйте, thesz, Вы писали:
T>Автор трёх фортов, одного из них на Си.
Я наоборот, предпочитал форт сям в обычной жизни (всякие утилитки, ассемблеры и прочее), и один из фортов для x51 писал, конечно же на форте, ибо писать его на С — извращение, в 10 раз больше кода и потраченного времени. Только с развитием шаблонов в С++ практически забросил форт, т.к. появилась другая возможность нормальной автоматизации работы.
Здравствуйте, FR, Вы писали:
FR>Форт нельзя изучить, это не просто язык, это философия которая может изменить всю твою жизнь FR>Даже по ответам в этой теме видно что бывших фортеров не бывает
Да ладно уже! Не "изменить твою жизнь", а "открыть тебе глаза"...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, MasterZiv, Вы писали:
MZ>Не знаю, ничего особенного. Наверное, потому что мою жизнь MZ>уже к тому времени изменили -- обратную польскую запись я MZ>применял с самого первого средства программирования — Б3-34.
Просто ты сам, наверное, не реализовал ни одной форт-системы...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском