[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A prototype of intelligent replace for Emacs
From: |
Herbert Euler |
Subject: |
Re: A prototype of intelligent replace for Emacs |
Date: |
Sun, 06 May 2007 23:01:00 +0800 |
If there are many different rules, many features can be computed for a
match. Because features computed from a same rule can be compared,
matches can be classified, or grouped together, with their features.
This is based on similarity among the matches. Now the concept of
"block" and "class" can be defined. A _block_ is a match plus its
features. A _class_ is a set of blocks, all of which have the same
features. Continuing from the previous example, since the first and
the third block have the same feature "status", they are in one class.
The second block is a class itself.
Now I understand. Can we find a simple way to present this?
The term "block" is not appropriate. It should be called a "match".
There is no reason why a "match" can't include these features.
It is Ok for me that a "match" includes features as well, but "match"
is not a good term for this purpose, since "match" is already used to
indicate matches without features in Emacs. Calling a match with
features "match" too would perhaps disorder names in the source code:
we already have `save-match-data', `set-match-data', `match-beginning'
etc in it, and people may be confused by the two different meanings of
the same term "match".
But they are indeed matches. How about call them "imatch", the
"i(replace) match", and document it well?
"Class" would be come clear if introduced as "class of like matches".
This is true. Then should I use the word "class" in the source code,
and use the term "class of like matches" in the document?
`class-of-like-matches' is too long for a name in program, after all.
Thanks.
Regards,
Guanpeng Xu
_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now!
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/