[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hard of thinking using schemeql




I agree that the unit stuff is confusing, especially with signatures... But for me the problem is the other way around. What the documentation describes is a bit simpler than what I see in code. For example, what's the thinking behind the set of files most libraries create? Using "Url" in the "Net" collection as an example...

  * Why does "urls.ss", which exists only to define the module's signature, require "macro.ss" and "files.ss"?
  * What's the purpose of "urlu.ss"?

I can see that "urlr.ss" is the concrete implementation, and that "url.ss" serves to link that implementation with another concrete implementation, "file.ss", to produce a final "complete" module. I can also see that "urls.ss" should be separate, so that someone else could refer to the module's signature without at the same time loading a specific concrete implementation. So I guess what I find confusing is a) why the extra "~u.ss" units and b) why are libraries "required" when it doesn't look like they need to be--at least not in the given units...?

(I find the signature syntax confusing too for linking, but that's a simpler you-have-to-think-too-much-while-you-write-it kind of confusion. :-)