История изменений
Исправление den73, (текущая версия) :
Ну на самом деле у меня есть один проект, который мог бы быть кому-то интересен. Есть cl-javascript. Мы его с успехом применили для решения такой задачи, как генерация html из markdown. В принципе для этого есть cl-markdown, но он кривой и убогий. Главное - в нём нельзя делать таблицы. В showdown можно. Мы (лично Monk) пинками заставили связку cl-javascript + showdown работать. Баги ещё остались, но во всяком случае можно видеть вот это.
Исходник вот
По сравнению с cl-markdown это большой прогресс, а трудозатраты составили пару дней.
Проблема cl-javascript состоит в сложности отладки. Например, он не берёт на себя труд сохранять имена функций из Js и плюётся кучей анонимных лямбд. Увидеть исходники этих лямбд нельзя (или во всяком случае для этого требуются дополнительные действия).
Уже в ныне работающей версии Яра у нас есть пошаговый отладчик, опирающийся на пошаговый отладчик SBCL. Как это устроено, я коротко рассказал здесь.
Можно сделать то же самое для cl-javascript, а именно:
- вместо генерации лямбд в памяти сделать файловый транслятор, к-рый генерирует файлы .lisp - сразу можно будет видеть исходник и поддерживать его, отделившись от js
- сделать не сплошные лямбды, а хотя бы где можно именованные функции
- если сохраняем привязку к js, можно сделать подобный же отладчик, чтобы можно было видеть исходник на js при ошибке или даже шагать по нему. Сохранение привязки к js сложнее, но позволит легко забирать обновления версий исходной библиотеки
Общий смысл - более-менее технологично заимствовать библиотеки из js. Вот. Соответственно, если кому-то из квалифицированных лисперов это интересно сделать на добровольной или частично добровольной основе, то обращайтесь. Естественно, меня не интересует EMACS/SLIME, а интересует только моя среда.
Исходная версия den73, :
Ну на самом деле у меня есть один проект, который мог бы быть кому-то интересен. Есть cl-javascript. Мы его с успехом применили для решения такой задачи, как генерация html из markdown. В принципе для этого есть cl-markdown, но он кривой и убогий. Главное - в нём нельзя делать таблицы. В showdown можно. Мы (лично Monk) пинками заставили связку cl-javascript + showdown работать. Баги ещё остались, но во всяком случае можно видеть вот это. По сравнению с cl-markdown это большой прогресс, а трудозатраты составили пару дней.
Проблема cl-javascript состоит в сложности отладки. Например, он не берёт на себя труд сохранять имена функций из Js и плюётся кучей анонимных лямбд. Увидеть исходники этих лямбд нельзя (или во всяком случае для этого требуются дополнительные действия).
Уже в ныне работающей версии Яра у нас есть пошаговый отладчик, опирающийся на пошаговый отладчик SBCL. Как это устроено, я коротко рассказал здесь.
Можно сделать то же самое для cl-javascript, а именно:
- вместо генерации лямбд в памяти сделать файловый транслятор, к-рый генерирует файлы .lisp - сразу можно будет видеть исходник и поддерживать его, отделившись от js
- сделать не сплошные лямбды, а хотя бы где можно именованные функции
- если сохраняем привязку к js, можно сделать подобный же отладчик, чтобы можно было видеть исходник на js при ошибке или даже шагать по нему. Сохранение привязки к js сложнее, но позволит легко забирать обновления версий исходной библиотеки
Общий смысл - более-менее технологично заимствовать библиотеки из js. Вот. Соответственно, если кому-то из квалифицированных лисперов это интересно сделать на добровольной или частично добровольной основе, то обращайтесь. Естественно, меня не интересует EMACS/SLIME, а интересует только моя среда.