[UFFI-Users] some items missing in the UFFI documentation
Hoehle, Joerg-Cyril
Joerg-Cyril.Hoehle at t-systems.com
Wed Aug 25 10:30:27 MDT 2004
Hi,
o UFFI's primitive types are shown, but :array is only present via examples. All these examples are of the form (:array elt-type size), whereas I've seen code that only uses (:array <elt-type>), e.g. (:array :byte).
I believe the set of allowed type descriptions ought to be explained in the manual.
o I find it quite hard to program or understand programs merely from the UFFI documentation, without looking at UFFI-using programs (e.g. clsql).
Please compare def-type:
http://uffi.b9.com/manual/def-type.html
type A form that is evaluated that specifies the UFFI type.
with deref-array:
http://uffi.b9.com/manual/deref-array.html
type The foreign type of the array.
or
http://uffi.b9.com/manual/with-cast-pointer.html
In other words, for some macros, the documentation fails to mention what is a literal and what is a form (will be evaluated).
This is important to know and is a typical critique of macro detractors.
Maybe it should explain (if this is the case), that all forms which do not begin with DEF or WITH- are subject to normal function evaluation rules, despite them being macros purely for the sake of compilation or efficiency?
Is an implementation actually allowed to implemented some of these as functions (e.g. allocate-foreign-string, cf. the allocate-* functions in Lispworks)?
o BTW, UFFI-manual-latest.pdf and the online HTML version seem out of date. At least, clsql refers to uffi:with-cstrings and with-foreign-objects, which are missing from the documentation.
o Finally, a small typo:
deref-array array type positon
^^^ tIon
Regards,
Jorg Hohle.
More information about the UFFI-Users
mailing list