Re: [KBUILD] Re: Announcing CML2, a replacement for the kbuild system

From: Kai Henningsen (kaih@khms.westfalen.de)
Date: Sat May 27 2000 - 14:55:00 EST


andersen@xmission.com (Erik Andersen) wrote on 27.05.00 in <20000527100039.A758@xmission.com>:

> On Fri May 26, 2000 at 09:32:17PM -0400, Eric S. Raymond wrote:
> > The tty mode of CML2 gives you this kind of feedback when you hit a
> > constraint violation. I'm working on making the feedback more
> > informative.
> >
> > Again, this is the sort of thing that requires an atemporal, declarative
> > view of the world rather than a temporal, imperative one. Which is why
> > the change to the CML2 language is really important -- it makes doing
> > dselect-like things possible.
>
> Both dselect and apt work to perform the job of installing applications
> while managing antecedent dependancies and conflicts, but neither dselect
> are apt were written in CML2. Both were written in C++, and the source code
> is freely available.

C++ is bad, too. Not bad in the same way as Python, but I don't want to
choose.

Anyway.

Both dselect and apt *do* use a declarative language like CML2. It's the
stuff you find, for example, in Packages files (or debian/control or /var/
lib/(dpkg/available). The syntax is stolen from the RFC-822 mail syntax.

And apt-get also compiles the stuff into a binary database. There are
really a lot of parallels here.

The Debian dependencies are written in control file syntax, not in C++.
The (proposed) kernel dependencies are written in CML2, not in Python.

Oh, and there exist implementations of control file syntax in Perl at
least :-)

Oh, and yet another footnote. Perl *is* compilable into C, in the same way
as Python is. "perl -MO=C source" or "perl -MO=CC source" will do it. (See
the man pages of B::C and B::CC for details.)

MfG Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:18 EST