Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.07.21;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.008 c
15-1362120707
Дмитрий С2
2013-03-01 10:51
2013.07.21
Восстановление Raid0


15-1362121080
Jeer
2013-03-01 10:58
2013.07.21
Вдруг пригодится..


3-1286827107
well
2010-10-11 23:58
2013.07.21
Как удалить(заменить) сообщение об удалении записи?


15-1361990175
ХХХХХ
2013-02-27 22:36
2013.07.21
Как сделать паузу?


3-1286969311
yurikon
2010-10-13 15:28
2013.07.21
Выделение строки в гриде цветов