[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
bugs.call-cc.org, 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
--
Norman Gray : https://nxg.me.uk
SUPA School of Physics and Astronomy, University of Glasgow, UK