This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
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/