[Top][All Lists]

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

Re: [Chicken-users] Understanding modules?

From: Norman Gray
Subject: Re: [Chicken-users] Understanding modules?
Date: Mon, 23 May 2016 13:37:34 +0100

Evan and all, hello.

On 22 May 2016, at 3:15, Evan Hanson wrote:

A quick note about units and modules: the two are different things used
for different purposes. The former has to do with controlling the
compilation and linking of separate application components, whereas the
latter is about namespace management.

I did get that impression, after it was explained on-list. But the prominence of the manual's description of units in 'Basic mode of operation' and 'Using the compiler', the existence of a worked example in the latter, and the sequencing before modules, gave me the very strong impression that '"unit" is how Chicken spells "module"'. In contrast, the first real mention of modules is hidden away inside 'Supported language', in what looks like a reference section rather than anything introductory. The first paragraph in 'Basic mode of operation' does mention modules, but in a way which is easily consistent with the 'spelling' remark above.

The hunt continues for the best
way to explain either of these features in the manual (particularly
without confusing the two with one another, or with other features such
as deployment or the use of dynamic libraries),

I don't have a magic answer to that, but on reflection, I think a brief overview at the top of (hmmm...) 'Basic mode of operation' -- or possibly 'Using the compiler' -- would provide extremely useful context for the reader. It needn't be an essay, but something terse which says 'units, modules, deployment and dynamic libraries are orthogonal concepts, are used for the following purposes, A, B, C, D, and are further documented in W, X, Y and Z.'

I think most schemers will be used to the idea that they have to read things multiple times, and anyone who's enjoyed RnRS knows that the logical order is not necessarily the same as the friendliest tutorial order (and prefers the former), but this depends on clear signposts to what's (going to be) explained where.

This looks like a bug to me. Based on the commands you listed, that
application "main/main" should work fine, so I suggest reporting this on, if you don't mind.

RIghto: I've asked for an account there.

managed by that egg's maintainer, so bug reports about their
documentation will ideally be grouped by extension rather than in one
big ticket so they can be correctly assigned.

Will do.

Best wishes,


Norman Gray  :
SUPA School of Physics and Astronomy, University of Glasgow, UK

reply via email to

[Prev in Thread] Current Thread [Next in Thread]