From: Andreas Rottmann <a.rottmann@gmx.at>
Cc: gnu-arch-users@gnu.org, guile-user@gnu.org, guile-devel@gnu.org
Subject: Re: ITLA
Date: Tue, 02 Mar 2004 15:04:28 +0100 [thread overview]
Message-ID: <87hdx7mjkj.fsf@alice.rotty.yi.org> (raw)
In-Reply-To: 200403020250.SAA21846@morrowfield.regexps.com
Tom Lord <lord@emf.net> writes:
> > Of course, this is just low-level stuff, and would never shine thru up
> > to the "declarative level".
>
> The last paragraph is probably the most important.
>
> Keep in mind, too, that someone might want to write extensions that
> crawl over the set of commands -- perhaps to format a help message or
> perhaps to make some new kind of menu-driven interface. Keeping all
> the relevent data in the simplest format (e.g., s-exps following an
> extensible syntax over basic types) makes that easy.
>
If you have a brief glance at the codebase, you'll see that there is a
(itla ui) module. This currently is a crude wrapper around a single
<tla> instance, using the Guile REPL and GOOPS for user-interaction. I
just came up with this as a quick hack to have something to play
around with, not intending it as a permanent solution. So my question
is: do you feel comfortable with this design (a low-level interface,
using GOOPS, designed for maximum flexibility) and an eventual command
processor/UI built on top of that?
I think this seperation is warranted, to quote you[0]:
,----
| (define-command (init-tree version dir nested?)
|
| (help-message (category tree)
| (% tla init-tree -H))
|
| (parameters (version new-fq-version-name)
| (dir (extended existing-directory))
| (nested? (extended y-or-n)))
|
| (output plain-text)
|
| (run-tla "init-tree"
| (if dir (list "-D" dir))
| (if nested? (list "--nested"))
| version))
`----
I think there might be concepts apparent in this code that don't
belong into the low level interface: new-fq-version-name, for instance
(if I understand correctly) will cause the user to be prompted for a
*new* version name. I would consider the knowledge about existing
versions not something to be located at the low level interface (but
easily extracted using it). Also, prompting, as indicated by y-or-n
doesn't belong there.
But, on the other hand, this separation turns up the issue of
duplication: Since you'd want access most TLA commands also through
the low-level interface, you'd define most commands in two places,
which is unfortunate.
> For example, since you have the basic idea of a command processor of
> the sort we're discussing, can you:
>
> (a) imagine an implementation
> (b) presume the implementation is built, has at least a CLI a
> front-end and maybe a GUI front end.
> (c) assume that lots of people have written code against this
> implementation.
>
> and then:
>
> (d) imagine implementing something like:
>
> http://segusoland.sourceforge.net
>
Looks and sounds interesting, this segusoland stuff.
>
> in a way that everybody's existing code "just works" with
> the new input method?
>
I hope you didn't mean for me now to come up with an implementation
plan (cough), but I'll try to keep that in the back of my mind.
[0] http://article.gmane.org/gmane.comp.version-control.arch.user/18334
Cheers, Andy
--
Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at
http://yi.org/rotty | GnuPG Key: http://yi.org/rotty/gpg.asc
Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62
Say NO to Software Patents! -- http://petition.eurolinux.org/
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2004-03-02 14:04 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-01 3:32 Extended -e syntax Clinton Ebadi
2004-03-01 5:04 ` Andreas Rottmann
2004-03-01 11:10 ` Thien-Thi Nguyen
2004-03-01 14:27 ` Arch and Guile Andreas Rottmann
2004-03-01 19:04 ` ITLA (was Re: Arch and Guile) Tom Lord
2004-03-01 19:14 ` ITLA Andreas Rottmann
2004-03-01 21:55 ` ITLA Tom Lord
2004-03-02 0:11 ` ITLA Andreas Rottmann
2004-03-02 2:50 ` ITLA Tom Lord
2004-03-02 14:04 ` Andreas Rottmann [this message]
2004-03-02 3:26 ` ITLA Miles Bader
2004-03-03 11:22 ` ITLA Neil Jerram
2004-03-03 11:55 ` ITLA Andreas Rottmann
2004-03-04 13:55 ` Archive of library modules for Guile Andreas Rottmann
2004-03-04 20:49 ` Neil Jerram
2004-03-04 23:00 ` Andreas Rottmann
2004-03-07 17:33 ` Thamer Al-Harbash
2004-03-07 18:17 ` Thien-Thi Nguyen
2004-03-01 23:07 ` Arch and Guile Thien-Thi Nguyen
2004-03-02 0:23 ` Andreas Rottmann
2004-03-03 13:01 ` Thien-Thi Nguyen
2004-03-01 11:21 ` Extended -e syntax Thien-Thi Nguyen
2004-03-01 20:20 ` Christopher Cramer
2004-03-02 4:55 ` Clinton Ebadi
2004-03-06 15:47 ` ttn's build system [was: Extended -e syntax] Andreas Rottmann
2004-03-10 18:59 ` ttn's build system Andreas Rottmann
2004-03-10 22:28 ` ttn's build system [was: Extended -e syntax] Clinton Ebadi
2004-03-10 23:22 ` Tom Lord
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
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87hdx7mjkj.fsf@alice.rotty.yi.org \
--to=a.rottmann@gmx.at \
--cc=gnu-arch-users@gnu.org \
--cc=guile-devel@gnu.org \
--cc=guile-user@gnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).