gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] cygwin support for tla, thoughts


From: Stephen J. Turnbull
Subject: Re: [Gnu-arch-users] cygwin support for tla, thoughts
Date: Thu, 30 Oct 2003 12:04:15 +0900
User-agent: Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.5 (celeriac, linux)

>>>>> "Tobias" == Tobias C Rittweiler <address@hidden> writes:

    >> Tom, your design sense is generally excellent; can you explain
    >> that design decision to us?

    Tobias> AFAIK one reason is, because it this way works better for
    Tobias> him and his emacs filemanager thingy. At least, he told me
    Tobias> so once, probably sarcastically.

It wasn't sarcasm.

This is good design given the infrastructure.  In Unix, it's easy to
do (split-string path "/").  With Tom's design, you do

(split-string (last (split-string path "/")) "--")

and now the program knows at what depth you are, simply by counting
the elements of the return value.  Similarly, for presentation to
humans, simply (last (split-string path "/")) tells a human exactly
where in the hierarchy you are.  The use of Lisp here is deliberate;
even if you never learned any Emacs Lisp, the algorithm is so
straightforward I bet you can tell what those expressions do.

With a .../$CAT/$BRN/$VER structure, on the other hand, the parsing
program needs to know a lot more about arch.  This means that
separately written tools will quickly start to constrain the
Arch-itect's options for redesign.  Helper programs get complex and
fault-prone; algorithms are abandoned in favor of heuristics.

monkey.el is just one example of such an application.

-- 
Institute of Policy and Planning Sciences     http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
               Ask not how you can "do" free software business;
              ask what your business can "do for" free software.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]