Re: [q-lang-users] Memory management in libqint
Brought to you by:
agraef
From: John C. <co...@cc...> - 2006-06-12 16:14:06
|
Albert Graef scripsit: > This isn't explicitly mentioned in the qint.h file, but all char* > parameters flagged as const belong to the caller and are not modified by > the API functions in any way. Ah, excellent. Please add this note to the next release of qint.h. > This should resolve all the "unknowns" in your list. The only remaining point of doubt is whether the argv array itself (as opposed to its strings) in execv(x) belongs to Q. > You shouldn't have to wrap the unicode helper functions in your Scheme > interface, these are just provided as convenience functions to be used > if you need to convert/from Q's UTF-8 string encoding when constructing > or inspecting string qexprs (if your Scheme dialect has UTF-8 strings > then no conversion will be necessary). Chicken is 8-bit by default, but has a UTF-8 egg that changes all internal strings to UTF-8. I'm not sure how to handle this yet; I may simply say that the UTF-8 egg is a prerequisite for the Q egg. Bignums are also an issue: Chicken has none by default but does have a "full numeric tower" egg that uses MPZ. I have to figure out how to determine the proper representation of a Chicken number in order to pass it to Q properly. -- It was dreary and wearisome. Cold clammy winter still held way in this forsaken country. The only green was the scum of livid weed on the dark greasy surfaces of the sullen waters. Dead grasses and rotting reeds loomed up in the mists like ragged shadows of long-forgotten summers. --"The Passage of the Marshes" http://www.ccil.org/~cowan |