История изменений
Исправление den73, (текущая версия) :
Речь даже не о Runtime exception, потому что речь идёт не об использовании Racket, а о его расширении. Если я делаю «свой 1С», то логично начать со среды DrScheme или как её там называют, как с фундамента: редактор, отладчик, библиотека ГПИ. Допустим, я хочу добавить к этому набору таблицу (grid) для вывода данных. Этот код как бы станет частью DrRacket и тем самым попадёт под LGPL. Во всяком случае такая ситуация с EMACS. GPL заражает абсолютно весь код на el. Поэтому сервер SLIME под public domain, а клиент - под GPL. Именно по этой причине я сразу отказался от возможности использовать EMACS в своих разработках в качестве среды разработки. Может быть я что-то не понял насчёт лицензии. Но даже в случае LLGPL может быть проблема, если я пытаюсь распространять образ, содержащий LLGPL библиотеку, сохранённый с помощью save-image.
Относительно mapcar. Наш ведь интерпретатор тоже его не понимает, верно?
(defun inner (x) (print x) (ew:suspend-request))
(ew:my-eval '(mapcar 'inner '(1 2 3)))
==>
error: suspend-request должен быть в интерпретируемом коде
Исходная версия den73, :
Речь даже не о Runtime exception, потому что речь идёт не об использовании Racket, а о его расширении. Если я делаю «свой 1С», то логично начать со среды DrScheme или как её там называют, как с фундамента: редактор, отладчик, библиотека ГПИ. Допустим, я хочу добавить к этому набору таблицу (grid) для вывода данных. Этот код как бы станет частью DrRacket и тем самым попадёт под LGPL. Во всяком случае такая ситуация с EMACS. GPL заражает абсолютно весь код на el. Поэтому сервер SLIME под public domain, а клиент - под GPL. Именно по этой причине я сразу отказался от возможности использовать EMACS в своих разработках в качестве среды разработки. Может быть я что-то не понял насчёт лицензии. Но даже в случае LLGPL может быть проблема, если я пытаюсь распространять образ, содержащий LLGPL библиотеку, сохранённый с помощью save-image.
Относительно mapcar. Наш ведь интерпретатор тоже его не понимает, верно?
(defun inner (x) (print x) (ew:suspend-request))
(ew:my-eval '(mapcar 'inner '(1 2 3)))
==>
suspend-request должен быть в интерпретируемом коде