From: esr@thyrsus.com
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Michael Elizabeth Chastain <chastain@cygnus.com>,
davej@suse.de, hch@caldera.de, esr@snark.thyrsus.com,
kbuild-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [kbuild-devel] Re: CML2 1.0.0 release announcement
Date: Wed, 11 Apr 2001 20:40:37 -0400 [thread overview]
Message-ID: <20010411204037.B9081@thyrsus.com> (raw)
In-Reply-To: <200104112056.NAA20872@bosch.cygnus.com> <E14nT3T-0007gI-00@the-village.bc.nu>
In-Reply-To: <E14nT3T-0007gI-00@the-village.bc.nu>; from alan@lxorguk.ukuu.org.uk on Wed, Apr 11, 2001 at 11:25:36PM +0100
Alan Cox <alan@lxorguk.ukuu.org.uk>:
> CML2 seems to have two other problems in my mind. Inability to parse
> the existing config files.
I gave upon that early for two reasons. One was practical; Michael tried this
with mconfig, and (apparently) failed. Or, at least, appeared to have decided
that path was not worth pursuing.
The other was the procedural vs. declarative problem. I spent about a
month after the kbuild team originally encouraged me to tackle the
problem working on a design which I later labeled Thesis. This was an
attempt to build a cleaned-up CML1, basically the existing language
without the syntactic warts. I got as far as spinning up an
incomplete implementation that could check toy configurations.
But the design basically didn't work. The problem is that a
procedural language imposes a kind of time order that makes it very
difficult to (a) do backtracking and (b) prove the correctness of your
result. Perhaps a clearer way to put it is that configuration (like, say,
screen widget layout) is fundamentally a constraint problem rather
than a control problem.
A constraint problem needs a declarative rather than imperative
language, and it needs a baby reasoning engine to generate a
constraint-satisfying solution (Tk approaches screen-widget layout
this way; that's thye source of its power). Neither of my strawman
designs had significant advantage over CML1 until I bit the bullet and
wrote a theorem prover to reason about timeless constraints.
> Also the draw ordering in the menu based
> config doesnt appear right. Menuconfig has a rather undocumented but
> very important property of doing roughly the right thing with
> screenreaders. Something to bear in mind when fixing the menu
> redrawing stuff.
Yes, I have plans for this.
--
<a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a>
Militias, when properly formed, are in fact the people themselves and
include all men capable of bearing arms. [...] To preserve liberty it is
essential that the whole body of the people always possess arms and be
taught alike, especially when young, how to use them.
-- Senator Richard Henry Lee, 1788, on "militia" in the 2nd Amendment
prev parent reply other threads:[~2001-04-12 0:39 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-11 20:56 [kbuild-devel] Re: CML2 1.0.0 release announcement Michael Elizabeth Chastain
2001-04-11 21:46 ` esr
2001-04-12 1:01 ` Aaron Lehmann
2001-04-12 1:53 ` esr
2001-04-12 12:07 ` Dave Jones
2001-04-12 12:00 ` Steven Cole
2001-04-12 13:12 ` Dave Jones
2001-04-12 16:51 ` Horst von Brand
2001-04-12 16:12 ` Steven Cole
2001-04-12 17:59 ` Jochen Striepe
2001-04-11 22:25 ` Alan Cox
2001-04-12 0:40 ` esr [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20010411204037.B9081@thyrsus.com \
--to=esr@thyrsus.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=chastain@cygnus.com \
--cc=davej@suse.de \
--cc=esr@snark.thyrsus.com \
--cc=hch@caldera.de \
--cc=kbuild-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.