swizard ([info]swizard) wrote,
@ 2008-03-23 23:42:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current location:Home
Entry tags:c, code, dates, gtk, libecal, lisp, scheme

Продираясь сквозь слои абстракций...
Ковыряю простенький календарь dates на предмет некоторого апгрейда.

В процессе расковыривания выясняются следующие вещи:

- Оно написано на C. Хорошо, это я умею.
- Оно на gtk (до этого с этим тулкитом не работал вообще). Ладно, в общем, разобрался.
- Оно хочет целый evolution-data-server для его библиотечки libecal. Ладно, поставил, бегло ознакомился с API.
- Оно общается с libecal-бэкендом посредством т.н. запросов. Типа базы данных, получается.
- Эти запросы представляют собой... LISP =) Пруфлинк.

Точнее, s-expressions в стиле scheme. Вот пример:

(occur-in-time-range? (make-time "20080317T000000Z") (make-time "20080324T000000Z"))


Итого имеем: программу на си, пользующуюся фреймворком GTK, на котором написана библиотека libecal, которая представляет собой морду для интерпретатора упрощенного лиспа.

"Любая достаточно сложная программа на [фортране, C..] содержит половину кривой недоделанной реализации Common Lisp © Гринспун (вроде)


(Post a new comment)


[info]grep_z
2008-03-24 03:06 am UTC (link)
Кстати часто встречал sexp в конфигах разных серверных прилад. Вполне себе приятственный формат для складирования древовидных структур.
Кажется AltLinux какой-то из логов установки хранит в sexp. :)

(Reply to this)(Thread)


[info]swizard
2008-03-24 04:17 pm UTC (link)
Ну да, для данных sexp удобен, но его примерно эквивалентно можно заменить xml-ем. А в сабже я вообще на интерпретатор наткнулся :)

Говорят, еще в alsa-lib lisp для микширования используется

(Reply to this)(Parent)


[info]bl00dy_bastard
2008-03-24 05:50 am UTC (link)
Визард, это ты, как я помню, календарь для n800-го стараешься сделать вместо стандартного.
ты это выложишь куда-нибудь?

(Reply to this)(Thread)


[info]swizard
2008-03-24 04:18 pm UTC (link)
Ну да, на основе dates как раз :) Выложу, наверно, если нормально получится

(Reply to this)(Parent)(Thread)


[info]bl00dy_bastard
2008-03-24 04:24 pm UTC (link)
я тут одному на работе сказал про твою задумку... у него тоже n800.. так он подорвался, говорит достань мне это, сказал, что даже готов поучаствовать в разработке
очень соображающий человек в этом вопросе. так что подумай :o)

(Reply to this)(Parent)(Thread)


[info]swizard
2008-03-24 04:34 pm UTC (link)
Да я ж разве против =) Если хочет помочь, пусть пишет на me@swizard.info, я его введу в курс того, чем я занимаюсь

(Reply to this)(Parent)


[info]swizard
2008-03-24 04:35 pm UTC (link)
Или даже на джаббер прямо

(Reply to this)(Parent)(Thread)


[info]bl00dy_bastard
2008-03-24 05:43 pm UTC (link)
ок )) тока что кинул ему на мейл твой контакт..

(Reply to this)(Parent)


[info]bl00dy_bastard
2008-03-24 08:59 pm UTC (link)
Виз, а ты Contacts будешь переделывать?

(Reply to this)(Thread)


[info]swizard
2008-03-24 11:36 pm UTC (link)
А он меня, в принципе, устраивает. Я только нотификации для дней рождений добавлю

(Reply to this)(Parent)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…