Common-Lisp bindings

Marcin ‘Qrczak’ Kowalczyk qrczak at knm.org.pl
Wed May 28 11:47:01 PDT 2008


2008/5/28 Gustavo <gugamilare at gmail.com>:

> So, for instance, when sending a list, an array to some regular program it
> would be transformed into an array before the transmition, while, for
> common-lisp clients, a list would be sent as '(av)' while an array would be
> sent as 'av'. A rational could have the signature '(ii)' and a complex
> '((vv))' (since a complex accepts two rationals, two integers or two
> floats). Endless integers could be sent as strings or arrays but with
> different notations than regular strings and arrays.

Deriving the D-Bus type from the Lisp value is impractical. The other
end generally requires a specific D-Bus type, so you have to make
possible to specify an arbitrary D-Bus type; it is not enough to take
a Lisp value and find some D-Bus type which is able to represent the
value. For example how would you distinguish integers of various
sizes? How would you distinguish an empty array of integers from an
empty array of strings? How would you distinguish a string from a
variant which happens to hold a string?

-- 
Marcin Kowalczyk
qrczak at knm.org.pl
http://qrnik.knm.org.pl/~qrczak/


More information about the dbus mailing list