Добрый вечер! Во-первых, мне не нравится, что вместо a.b.c я пишу (c-of (b-of a)). Я уже писал про то, что язык должен быть правильно построен по частотам - более часто встречаемые идиомы должны быть более короткими. Лисп позволяет выделять такие идиомы и делать их более короткими, но в начальной точке он сильно уступает быдлоязыкам (таким, как JavaScript). А поскольку 90% программирования всё же сосредоточено вокруг простых операций, то лисп тяжёл. Я было подумал про Яву... Но ява - это не динамический язык. Возможность поменять 1-строчку в многомегабайтном коде и приступить к его отладке через доли секунды имеется только в лиспе... Поэтому возникает такая идея: сделать новый синтаксис для лиспа. Который бы на первом этапе преобразовывал function m(a) { let u=a.b; let count=u.count(); <comment>бебебе</>; u.c(x) = 34*5; return u.count()-count; } сначала в (" " function (".()" m a) ("{;" (" " let (= u (dot a b))) (:t comment "bebebe") (" " let (= count (".()" (dot u count)))) (= (".()" (dot u c) x) (* 34 5)) (" " return (- (".()" (dot u count)) count))) и потом - в (defun m (a) (let* ((u (a-of b)) (count (count u))) (setf (funcall (u-of c) x) (* 34 5)) (- (count u) count)) (последнее преобразование, причём, чтобы по выбору рендерило код либо на лиспе, либо на php, либо на javascript). плюс к тому, чтобы можно было привязывать атрибуты (например, декларацию типа) не только в лексической видимости, но и динамически в ходе компиляции (хотя, признаться, я и сам это не понимаю). плюс к тому, чтобы (defComposedFun fooBar (x) foo bar) не порождало функцию (defun fooBar () (bar (foo x))) а производило inline-подстановку foo в bar и возвращало исходник. Плюс к тому, чтобы можно было писать не только include, но и exclude, чтобы можно было генерить и страницу, и аякс-скрипт в ней в одном файле, типа: atCompileTime { <defmacro webFile args = (string relativePathname,&body body)>{ <quote>exclude(<unquote>getenv(www-root) + relativePathname</>, <unquote>body<//> }</defmacro> webFile("application.html", <html><head> ... </html>) webFile("ajax.php", <?php>...</>) } Уф. Хватит на сегодня. Жалко, что на ЛОРе темы не всплывают, а то можно было бы теперь долго здесь флудить...
←
1
2
3
→
Ответ на:
комментарий
от mint
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от www_linux_org_ru
Ответ на:
комментарий
от www_linux_org_ru
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от den73
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от den73
Ответ на:
комментарий
от den73
Ответ на:
комментарий
от den73
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от den73
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от den73
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум лисп (2005)
- Форум Лисп (2002)
- Форум Рефакторинг лиспа средствами самого лиспа (2011)
- Форум Закапывателям лиспа (2012)
- Форум лисп биллинг (2009)
- Форум Лисп, итератор (2008)
- Форум Знатокам лиспа (2008)
- Форум О Лиспе. (2008)
- Форум о ЛИСПе (2008)
- Форум Компилятор Лиспа (2005)