This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rnrs hashtables


On 10/13/2010 12:27 PM, Jamison Hope wrote:
There's obviously contention between pure (untyped) RNRS Scheme and
native (typed) Kawa; Per, is it your intention when implementing rnrs
standard libraries to export only the functions in the spec and not the
underlying data types which they use?

A library exports a set of bindings. The rnrs libraries should in principle export the bindings defined by the standard and *only those bindings*. That is the point of a module/library system: to manage name bindings. And if there is a specification for a given library, and we claim to follow the specification, then it would be a bug to export more than the specification specifies.

That should be in the documentation, I think.

It seems implied. If the spec exports a named data type, then the implementation should export it. But it it doesn't, it shouldn't since that could cause a name clash or other portability problems.

The goal is to be able to support a strictly-conforming R6RS mode,
where portable R6RS programs work correctly, and non-R6RS programs
don't work accidentally.  In strict-R6RS-mode, if you want to use a
Kawa extension, you have to request it (import it) explicitly,
using a specific 'kawa' import.  Of Kawa is very far from supporting
anything like that, and it's not a super-high priority, but at
least we should not deliberately do anything that contradicts that goal.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]