История изменений
Исправление monk, (текущая версия) :
Ответ на вопрос — или всегда возвращаешь #f, или заморачиваешься и реализуешь проверки на изменение данных.
Вопрос не про то, как написать srfi-29. Вопрос про-то, как его использовать.
Скажем для gettext я должен указать
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
Что написать для подключения srfi-29?
Написать
(load-bundle! bundle-name)
Написать
(if (not (load-bundle! bundle-name))
(begin
(declare-bundle! bundle-name translation)
(store-bundle! bundle-name))))
Написать
(declare-bundle! bundle-name translation)
Написать
(define-syntax localization
(lambda (stx)
(syntax-case stx ()
((_ bundle-name translation ...)
(begin
(declare-bundle! (syntax->datum #'bundle-name) (syntax->datum #'(translation ...)))
(store-bundle! (syntax->datum #'bundle-name))
#'(if (not (load-bundle! bundle-name))
(declare-bundle! bundle-name '(translation ...))))))))
Как правильно?
Исходная версия monk, :
Ответ на вопрос — или всегда возвращаешь #f, или заморачиваешься и реализуешь проверки на изменение данных.
Вопрос не про то, как написать srfi-29. Вопрос про-то, как его использовать.
Скажем для gettext я должен указать
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
Что написать для подключения srfi-29?
Написать
(load-bundle! bundle-name)
Написать
(if (not (load-bundle! bundle-name))
(begin
(declare-bundle! bundle-name translation)
(store-bundle! bundle-name))))
Написать
(declare-bundle! bundle-name translation)
Написать
(define-syntax localization
(lambda (stx)
(syntax-case stx ()
((_ bundle-name translation)
(begin
(declare-bundle! (syntax->datum bundle-name) (syntax->datum translation))
(store-bundle! (syntax->datum bundle-name))
#'(if (not (load-bundle! bundle-name))
(declare-bundle! bundle-name translation)))))))
Как правильно?