А
• https://twitter.com/vsbuffalo/status/1232516892130021376
• http://presentica.com/ppt-presentation/the-ecocyc-and-metacyc-pathway-genome-databases
https://en.wikipedia.org/wiki/Cyc
https://github.com/asanchez75/opencyc
Size: a a a
А
a
a
a
AE
AE
AE
AE
AE
a
read
читает из потока, не из файла, поэтому вопрос непонятен. Если вдруг задача в том, чтоб правильно закрыть файл при рестарте, то это вообще-то не должно отличаться от просто «правильно закрыть файл»: если был рестарт, то дальше все пойдет в том же теле with-open-file
(или чего-то аналогичного), в котором handler-bind
написан, а если был abort или еще что-то такое, то, опять же, with-open-file
справится с этим обычным образом.AE
read
читает из потока, не из файла, поэтому вопрос непонятен. Если вдруг задача в том, чтоб правильно закрыть файл при рестарте, то это вообще-то не должно отличаться от просто «правильно закрыть файл»: если был рестарт, то дальше все пойдет в том же теле with-open-file
(или чего-то аналогичного), в котором handler-bind
написан, а если был abort или еще что-то такое, то, опять же, with-open-file
справится с этим обычным образом.AE
AE
AE
AE
AE
a
'wow:nonexistent
, то я могу сделать нужное через рестарты без перечитывания.a
a
lambda
не переусложненная или не переупрощенная:(handler-bind ((package-error
(lambda (c)
(cond
((find-restart 'use-value c)
(invoke-restart 'use-value
(make-package
(slot-value c 'package))))
((find-restart 'continue c)
(invoke-restart 'continue))))))
(read-from-string "'non-existent-package:non-exported-symbol"))
continue
это для символов, которые были записаны в потоке через одно двоеточие. Second guessing при чтении форм это по-моему очень сомнительная практика, но раз есть портируемое решение, то наверное OK.a
lambda
не переусложненная или не переупрощенная:(handler-bind ((package-error
(lambda (c)
(cond
((find-restart 'use-value c)
(invoke-restart 'use-value
(make-package
(slot-value c 'package))))
((find-restart 'continue c)
(invoke-restart 'continue))))))
(read-from-string "'non-existent-package:non-exported-symbol"))
continue
это для символов, которые были записаны в потоке через одно двоеточие. Second guessing при чтении форм это по-моему очень сомнительная практика, но раз есть портируемое решение, то наверное OK.