[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] new language, arch, furth, etc.
From: |
Phil Frost |
Subject: |
Re: [Gnu-arch-users] new language, arch, furth, etc. |
Date: |
Tue, 20 Jul 2004 09:01:55 -0400 |
User-agent: |
Mutt/1.5.6+20040523i |
Every time someone suggests designing a new language, somewhere a fairy
dies. I think it's a law of nature that no matter how simple the needs
may seem now, in the end all languages evolve to be turing complete.
Since nobody likes writing in brain****, this means they also get pretty
complex.
Which begs the question, why not consider using an existing language
now? I suggest Python because it's easilly embedded and clean. Someone
might suggest lua, but I don't like it for its syntax. In any case, if a
decent language isn't picked *now*, I fear tla will "evolve" to have
configuration files with a syntax like Exim. An nobody wants that.
On Mon, Jul 19, 2004 at 08:40:41PM -0700, Tom Lord wrote:
>
> I worked over the weekend on summarizing a complex idea in a single
> concise post that would reveal all the subtle goodness of what I am
> about to propose. I failed at that. Here instead is the first of a
> series of short posts that summarize what I'm proposing, narrating it
> in terms of designing an otherwise fairly minor feature (version
> variables):
>
>
>
>
> * version variables
>
> We have a rough idea, expressed here
>
> http://lists.gnu.org/archive/html/gnu-arch-users/2004-05/msg00890.html
>
> for "variables" that can be set "per arch version". For example,
> you could set a version variable named "upstream" in one of your
> branches. Later, you could say "merge from whatever version is
> bound to the version-variable `upstream'".
>
> The rough idea is that log messages can contain extra headers.
> Those headers define the values of version variables. You might
> commit with a header like:
>
> set-in-version: (upstream "address@hidden/tla--devo--1.3")
>
>
> * the need for a language
>
> So, there you have it: the simple idea of version variables suddenly
> gives rise for the need for a tiny, probably not turing complete,
> programming langauge. That string:
>
> (upstream "address@hidden/tla--devo--1.3")
>
> suggesting an "assignment" of the value:
>
> "address@hidden/tla--devo--1.3"
>
> to the variable
>
> upstream
>
> points at the need for a tiny (limited even) programming language.
> For example: what _types_ of values can be assigned to variables?
> and, what does assigment mean (e.g., what if two statements assign
> to the same variable).
>
>
> * the need for language coherence
>
> Arch has a _bunch_ of tiny little langauges like that. There
> will be one for version variables, sure, but there's already one
> for =tagging-method others for various files under ~/.arch-params
> and some more for the =meta-info directory of an archive. Beyond
> those, package-framework (what arch uses for configure/bulid) has
> a bunch of tiny languages.
>
> I made all of those languages. You might expect, therefore, that
> they'd all be coherent, right? Wrong: different comment syntaxes
> (and some with no support for comments at all), different
> data-types, different semantics for "assignment", etc. It's a
> growing mess unless we get out in front of it and reign it in.
>
>
> Meanwhile, people are saying things to me like "I need to see some
> examples of what furth is for before I believe it is a good idea...."
>
> Ok, well, the next few posts from me are about this problem area --
> about language design for tiny little configuration languages. I set
> out to solve that but, along the way, remembered, recognized and
> reaslized various earlier thoughts I had about language design. A
> neat little family of languages results and the next serveral posts
> are about those and their design.
>
> -t
- [Gnu-arch-users] new language, arch, furth, etc., Tom Lord, 2004/07/19
- Re: [Gnu-arch-users] new language, arch, furth, etc.,
Phil Frost <=
- [Gnu-arch-users] Re: new language, arch, furth, etc., Andreas Rottmann, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Aaron Bentley, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Tom Lord, 2004/07/20
- [Gnu-arch-users] Re: new language, arch, furth, etc., Tom Lord, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Colin Walters, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Charles Duffy, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Colin Walters, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Charles Duffy, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Colin Walters, 2004/07/20
- Re: [Gnu-arch-users] new language, arch, furth, etc., Talli Somekh, 2004/07/20