Форум: "Прочее";
Текущий архив: 2013.07.21;
Скачать: [xml.tar.bz2];
ВнизLISPообразное нечто Найти похожие ветки
← →
Kerk © (2013-03-02 17:51) [0]Гляжу, модно стало :)
Попинайте чтоли статью http://roman.yankovsky.me/?p=467
← →
Ega23 © (2013-03-02 18:11) [1]А нужен ли отдельный IHasValue? Мне кажется более логичным функцию HasValue: Boolean в IExpression добавить.
Читаю дальше
← →
RWolf © (2013-03-02 18:17) [2]я всё ждал, когда же появится эта тема, неделя уже на исходе )
это же один-в один гроссмановский MUPL.
← →
Ega23 © (2013-03-02 18:19) [3]Удалено модератором
← →
Ega23 © (2013-03-02 18:21) [4]
> может быть только один аргумент
Я имел ввиду, что это у тебя так семантика языка построена? Или просто тупо реализовал только один, как только с типом int?
← →
Kerk © (2013-03-02 18:30) [5]Да, один аргумент. Семантика такая. Много аргументов можно поддержать с помощью синтаксического сахара. В Standard ML так и делают, там тоже один аргумент. Про сахар может быть будет в следующей серии, если вдруг будет кому интересно.
По HasValue по-моему вопрос стиля, лично мне без разницы :)
← →
RWolf © (2013-03-02 18:35) [6]в дельфях ведь уже есть замыкания?
что, если перевести поближе к оригиналу — должно поизящнее получиться.
а вообще, MUPL"овский синтаксис такой потому, что программа на нём записывается прямо в лисповом коде. Если уж пишем DSL на дельфи, то проще было бы парсить собственно лисповый синтаксис, на выходе получаем интерпретатор некоего подмножества лиспа.
← →
Kerk © (2013-03-02 18:36) [7]А, ну еще замечу сразу, что это не попытка точно реализовать Лисп, это скорее вольная интерпретация. В настоящем Лиспе параметров можно делать много :)
← →
Kerk © (2013-03-02 18:39) [8]RWolf, не ставил перед собой такую задачу. В целом, разница между замыканиями и объектами в данном случае трудноуловима :) Обьекты Делфи как раз роднее.
← →
Kerk © (2013-03-02 19:54) [9]Лажанул слегка в поддержке рекурсии, поправил.
← →
Ega23 © (2013-03-02 21:26) [10]Ну и, собственно, главный вопрос: а нафига?
Если просто в целях саморазвития и ради интереса, то вопрос снят.
← →
TUser © (2013-03-02 22:18) [11]Я могу ошибаться, но по-моему, ФП - это такое направление в искусстве, а не способ писать программы. Это хорошо иллюстрируется нахождением факториала - ну кто в реальности будет его делать рекурсией? Красиво, но неэффективно.
← →
Kerk © (2013-03-02 22:24) [12]
> Ega23 © (02.03.13 21:26) [10]
>
> Ну и, собственно, главный вопрос: а нафига?
А просто так. Данный эксперимент для интереса и саморазвития, а вообще бывают задачи, когда нужен встроенный язык.
> TUser © (02.03.13 22:18) [11]
Я бы не делал акцент на ФП, ветка с холивором про ФП у нас уже есть :)
Здесь просто язык очень простой, я обходился минимальными средствами. На самом деле ничто не мешает добавить к нему оператор присваивания, циклы и вычислять факториал по-другому :)
← →
Игорь Шевченко © (2013-03-02 23:57) [13]"Все это очень приятно, но практически бесполезно"
← →
Игорь Шевченко © (2013-03-03 00:00) [14]Интерпретатор TRAC не хочешь попробовать написать ? :)
http://en.wikipedia.org/wiki/TRAC_(programming_language)
← →
Игорь Шевченко © (2013-03-03 00:01) [15]туда же:
http://vak.ru/doku.php/proj/trac/trac
← →
Ega23 © (2013-03-03 00:26) [16]
> А просто так. Данный эксперимент для интереса и саморазвития,
Тогда понятно.
> а вообще бывают задачи, когда нужен встроенный язык.
Ну просто их уже такой вагон с тележкой, что нужность "ещё одного", да в коммерческом проекте, вызывает некоторое недоумение.
А вот ежели для души, то тут всё в порядке. :)
← →
Ega23 © (2013-03-03 00:35) [17]
> Я могу ошибаться, но по-моему, ФП - это такое направление
> в искусстве, а не способ писать программы.
Ну оттуда вылезли всякие полезные штуки, те же методы анонимные.
Но целесообразность создание коммерческого проекта с нуля на функциональном языке программирования лично у меня вызывает некоторые сомнения.
← →
TUser © (2013-03-03 00:42) [18]
> Ну оттуда вылезли всякие полезные штуки, те же методы анонимные.
Это да.
← →
Kerk © (2013-03-03 15:44) [19]
> Ega23 © (03.03.13 00:26) [16]
> Ну просто их уже такой вагон с тележкой, что нужность "ещё
> одного", да в коммерческом проекте, вызывает некоторое недоумение.
А, ну да. Я что-то забыл, что я на форуме про Delphi. Здесь принято компоненты искать :)
← →
Ega23 © (2013-03-03 15:48) [20]
> Здесь принято компоненты искать
Да при чём тут компоненты? Ну назови хоть один коммерчески-успешный проект, написанный на LISP.
Пусть на лиспе - модно, а на Си - оптимально. Один фиг ПХП возьмут, потому что дёшево, сердито и быдлокодеров полно.
← →
Kerk © (2013-03-03 15:54) [21]
> Ega23 © (03.03.13 15:48) [20]
А причем здесь LISP?
Весь код у меня на Delphi, а синтаксис и фичи в этом PseudoDSL можно сделать любыми. Там вся статья про реализацию и работу с синтаксическим деревом, а не про LISP. Я даже в конце показал два совершенно разных синтаксиса, которые в итоге представляют одно и то же дерево. С синтаксисом все вопросы к парсеру, которого на данном этапе тупо нет.
← →
Ega23 © (2013-03-03 16:05) [22]
> Весь код у меня на Delphi, а синтаксис и фичи в этом PseudoDSL
> можно сделать любыми. Там вся статья про реализацию и работу
> с синтаксическим деревом, а не про LISP. Я даже в конце
> показал два совершенно разных синтаксиса, которые в итоге
> представляют одно и то же дерево. С синтаксисом все вопросы
> к парсеру, которого на данном этапе тупо нет.
>
Блин, да я не про твой код. Я про ФЯ вообще.
← →
Inovet © (2013-03-03 16:05) [23]> [20] Ega23 © (03.03.13 15:48)
> Ну назови хоть один коммерчески-успешный проект, написанный на LISP.
Не знаю как сейчас, а раньше в Автокаде был Лисп, не сам он на нём написан, а пользователь на Лиспе мог писать.
← →
Kerk © (2013-03-03 16:08) [24]
> Ega23 © (03.03.13 16:05) [22]
> Блин, да я не про твой код. Я про ФЯ вообще.
А причем тут ФЯ вообще?
← →
Inovet © (2013-03-03 16:08) [25]> [23] Inovet © (03.03.13 16:05)
> Не знаю как сейчас
Ага, сейчас, говорят в Вики, - Вижуал Лисп
http://ru.wikipedia.org/wiki/AutoCAD#.D0.9C.D0.B0.D0.BA.D1.80.D0.BE.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D1.8B
← →
Ega23 © (2013-03-03 16:11) [26]
> Не знаю как сейчас, а раньше в Автокаде был Лисп, не сам
> он на нём написан, а пользователь на Лиспе мог писать.
Это как раз тот случай Kerk-а, когда "вообще бывают задачи, когда нужен встроенный язык."
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.07.21;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.003 c