LINUX.ORG.RU

Сообщения Ruga-Suneto

 

[Scheme][Lisp][Макры] Есть вопросы.

Пишу на PLT.

Хочу написать макры, которые будут транслировать в SQL код.

(require scheme)
(require scheme/list)
(require scheme/base)

(define-syntax ($! stx)
  (syntax-case stx ()
    ((_ x)
     (let ((e (syntax-e #'x)))
       (cond ((string? e) #'x)
             ((symbol? e) #`(symbol->string '#,e))
             ((list? e)
              (let* ((operator (syntax-e (car e)))
                     (args (map (λ (x)
                                  (expand `($! ,(syntax-e x))))
                                (cdr e))))
                (case operator
                  ((and) #`(apply string-append (add-between #,args #'" AND ")))
                  (else #'"s"))))
             (else (error "$!: not implemented")))))
    ((_ x y ...)
     #'(string-append ($! x) " " ($! y ...)))))

(define-syntax $
  (syntax-rules (select from where)
    ((_ select value from source)
     (string-append " SELECT " ($! value)
                    " FROM "   ($! source)))
    ((_ select value from source where conditions ...)
     (string-append " SELECT " ($! value)
                    " FROM "   ($! source)
                    " WHERE "  ($! conditions ...) " "))))

($ select id from med.users where (and a b c))

Хотел получить инфу о syntax-object, узнать строка, или символ, во время раскрытия макроса. Использовал syntax-e, ничего более хорошего не нашёл.

Как я понял, макры всегда должны возвращать syntax-object.

Почему-то не выходит. Что не так?

 ,

Ruga-Suneto
()

[GTK][Лицензия]

Я могу использовать GTK в своём коммерческом приложении?

LGPL означает что как бы да. Но Я до сих пор не особенно хорошо разбираюсь в тонкостях лицензий.

Можно или нет?

PyGTK

 ,

Ruga-Suneto
()

[Prolog] Объясните.

Мне нужно въехать в пролог.

Более-менее знаю функциональщину. Либо киньте книжкой/статьёй, либо объясните здесь на пальцах.

 

Ruga-Suneto
()

Хочу понять continuations.

Сабж.

Прошу ткнуть в литературу, желательно на русском. Особенно интересно, как они реализуются.

Ruga-Suneto
()

[CL][Scheme][Макры] Гигиена.

Часто слышал, что макрами на CL можно написать такое, что невозможно написать схимовскими макрами. Мол, дают больше возможностей.

Може пример?

 

Ruga-Suneto
()

[C][Regex] Хочу.

Хочу использовать регексы в своей программе, но не хочется добавлять лишнюю зависимость. Программа пишется на Си и должна собираться под Linux и Windows (mingw32 gcc).

Есть ли такой исходник, из пары файлов, содержащий всё необходимое для работы с регексами (возможно несколько в урезаном варианте).

Есть такое?

 ,

Ruga-Suneto
()

[PostgreSQL] Хочу лог с историей.

Есть некоторые пользовательские функции, которые изменяют/удаляют/создают записи в таблице.

Я хочу иметь таблицу что-то вроде лога-истории, в которой будет храниться какую функцию я выполнил, и какое значение было до модицикации, если операция была «изменить».

В принципе более-менее понятно как это сделать для одной таблицы. (Объявить тип, ROW(...) и там хранить старое значение).

Но я хочу сделать подобное для разных таблиц. Т.е. типы старого значения будут разными.

Есть такое в pg?

По сути я хочу union как в Си.

 

Ruga-Suneto
()

[gcc][опции] Как заставить стать более придирчивым?

Использую -Wall -Wextra -pedantic

Хочу чтобы он следил за точным соответствием прототипов функций и их реализацией, а так же их применением.

У меня был случай, когда вызывалась функция с неправильным количеством аргументов, из-за того что, я забыл обновить хидер с прототипами.

Да и вообще полезные опции приветствуются.

 

Ruga-Suneto
()

[C][setjmp.h] Стоимость операции.

Насколько дорого пользоваться longjmp?

Как я понял, setjmp запоминает позицию в стеке, а longjmp просто очищает стек, пока не наткнётся на нужную нам позицию.

Случится ли что-нибудь плохое, если я буду обильно пользоваться этими фукциями?

 

Ruga-Suneto
()

[C] Константный указатель

Мне нужен указатель, который указывает на гарантированно неиспользуемый участок памяти. Например такой как NULL.

Я сделал так:

#define SOMECONST ((void *)((int)NULL + 1))

Это нормально/безопасно? Есть лучше варианты?

 

Ruga-Suneto
()

[Java][C++] В чём разница между generics Явы и templates Ц++ ?

Собственно вопрос.

Прошу примеры. Если ссыльнёте куда-нибудь — буду рад, но желательно на русском.

 ,

Ruga-Suneto
()

[Editor][Yi] Кто пробовал? Как ощущения?

Yi editor.

Реквестирую сюда впечатления от редактора.

 

Ruga-Suneto
()

[требуется совет][scheme] Хорошие проекты.

Привет ЛОР.

Собственно я изучаю Scheme. Мне он нравится, и всё такое.

Собственно вопрос: ЛОР, скажи, какие ты знаешь проекты, где я могу увидеть качественный (скажем, образцовый) или просто интересный код.

Для самообучения же.

 

Ruga-Suneto
()

LOR кидает Exception

Вот по этой ссылке:

http://www.linux.org.ru/view-message.jsp?msgid=1650213.

Failed to convert value of type [java.lang.String] to required type [int]; nested exception is java.lang.NumberFormatException: For input string: "1650213."

Скрипту, генерирующему страничку были переданы некорректные параметры. Если на эту страничку вас привела одна из страниц нашего сайта, пожалуйста сообщите нам адреса текущей и ссылающейся страниц.

Ruga-Suneto
()

В чём разница между Plan 9 и Inferno?

сабж.

Ruga-Suneto
()

RSS подписка на новые темы