On 21 Sep 2011, at 04:42, Mark H Weaver wrote: >> And finally, currently I have all unknown types expanding to the empty >> string but now I'm thinking it would be better to start out more >> restrictive and throw errors. This would ensure that people write their >> Guile scripts correctly (giving valid return values) from the start, and >> would let me, in the future, expand the supported types without breaking >> anything. > > I agree wholeheartedly. If you are too permissive, it may cause > programming errors to go unnoticed. It's better to limit the automatic > conversions to common cases that are clearly useful. The other cases > can be handled easily from Scheme. > > As for the suggestion to look at the pretty-printing library: I don't > see why that would be useful. The purpose of that library is primarily > to intelligently choose where to insert newlines in nested list > structure, so that lines don't grow too long for the terminal display, > and to add indentation as would be found in typical Scheme source code. > It seems to me that these functions are undesirable for this purpose.
What I had in my mind is a more general "pretty-printing" object, which can override normal printing. For each object, one should be able define new printing. Perhaps Guile would need to have some kind of extension to achieve that. Hans