[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] empty commits, wrappers, and version control frawem
From: |
chth |
Subject: |
Re: [Gnu-arch-users] empty commits, wrappers, and version control frawemork |
Date: |
Mon, 24 May 2004 03:49:28 +0200 |
> David Allouche:
> > Currently, a lot of convenience features need to be built into
> > tla because there is no way to implement them with decent
> > perfomance on top of the stateless CLI. For example, "tla
> > replay" is getting a heck lot of options and understanding how
> > they relate and interact is getting tricky.
> >
> > The wrappers/front-ends are limited because they can only use
> > the CLI interface, and that makes them very wasteful. Something
> > closer to what they need, and not quite painful as implementing
> > libtla.so, would be "shell bindings to libtla". That might be
> > implemented as a butt-simple REPL, usable as a coprocess, which
> > gives access to the libtla features, and would allow reusing pfs
> > connections and other expensive resources. It seems that
> > Christion Thäther has something like that in mind.
> >
> > It's getting time to start saying "no" to new convenience
> > features into tla and push people towards aba, raw (the python
> > shell from Rob Weir, soon to be released) and mala (the macro
> > language from Christian Thäther, still "almost vapor" according
> > to the author).
>
> This may be where we part ways.
>
> I see tla itself as the one place where we have a guarantee of some
> sort of consistancy of interface across heterogenous machines. Aba may
> be on one machine, raw on another and mala on yet another. However, no
> matter where I go, tla will be there.
Mala will be there if tla is there.
Ok it's prolly time to explain it a bit:
MaLa is a very small macro language linked to an application (tla in
this case) which processes words sequentially. In it's most basic
invocation it's just a easy to maintain getopt alternative, optargs are
passed to the MaLa engine and are evaluated. Evaluation is based on
buildin or user supplied parsers.
This Parsers can do things like (layman examples):
* definition of new macros
--DEF -V --version
* expansion of macros
-V becomes --version
* side-effects
--version will call safe_printfmt("blah %d.%d\n",version,revision)
There will be alot of predefined parser modules which users can choose
from such as: accessing variables, imperative control structures,
arithmetic, interfacing C functions and so on.
Further there will be modules for reading config-files and an
interactive toplevel which is just the mala engine with some syntactic
convenience and readline stuff enhanced.
I hope thats enough to get an idea about it...
How about enhancing tla with it (some things which could be done with
MaLa, some of them should prolly not be done):
- tla exposes its lowlevel interface to MaLa
(initiate pfs connections, delta operations, etc...)
- MaLa glues the lowlevel stuff to the stable CLI interface which
is required by other applications and scripts (part of the existing
CLI)
- the existing rest (compatibility cruft) CLI will be implemented in
MaLa (how about deprecation warnings?)
- Users can define their own convenience options in ~/.tlarc or similar
- tla gets a consistent interactive mode with no problems of volatile
environments such as shells.
- other applications can upload batch jobs and macros into tla
thus it will be possible that a frontend forks tla only once
and uses MaLa as ipc interface, which leads to a stateful instance
of tla.
- tree config files can be parsed by MaLa, with more options prolly
- any other config from ~/.arch-params/ can be evaluated by MaLa too
Cheers
Christian Thäter
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, (continued)
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Wazow, 2004/05/21
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Aaron Bentley, 2004/05/21
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, James Blackwell, 2004/05/21
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Adrian Irving-Beer, 2004/05/21
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Sriram Ramkrishna, 2004/05/23
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, James Blackwell, 2004/05/23
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Sriram Ramkrishna, 2004/05/24
- [Gnu-arch-users] empty commits, wrappers, and version control frawemork, David Allouche, 2004/05/23
- Re: [Gnu-arch-users] empty commits, wrappers, and version control frawemork, James Blackwell, 2004/05/23
- Re: [Gnu-arch-users] empty commits, wrappers, and version control frawemork, Miles Bader, 2004/05/23
- Re: [Gnu-arch-users] empty commits, wrappers, and version control frawemork,
chth <=
- [Gnu-arch-users] Re: empty commits, wrappers, and version control frawemork, Miles Bader, 2004/05/23
- Re: [Gnu-arch-users] Re: empty commits, wrappers, and version control frawemork, chth, 2004/05/23
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Aaron Bentley, 2004/05/25
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Tom Lord, 2004/05/14
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Miles Bader, 2004/05/14
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Julian T. J. Midgley, 2004/05/16
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Tom Lord, 2004/05/17
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, mlh, 2004/05/17
- [Gnu-arch-users] Re: "tla commit" generates a patch-set even if there are no changes, Neil Stevens, 2004/05/17
- Re: [Gnu-arch-users] "tla commit" generates a patch-set even if there are no changes, Tom Lord, 2004/05/19