[e-lang] A trivial naming problem: too many Scopes?
Mark Miller
markm at cs.jhu.edu
Mon Jul 11 23:51:28 EDT 2005
Kevin Reid wrote:
> On Jul 11, 2005, at 22:31, Mark Miller wrote:
>> [...] Do you see any problems making ScopeLayouts be a purely
>> private/internal notion?
>
> None at all. What I wanted to know is whether there is some way in which
> they are *not* private, as I have never used them in an E program.
The only place it's currently used from E is in cmdMakerMaker.emaker:
-------------------------------
if (cmdLoop.getExpand()) {
def layout := scope.getScopeLayout()
def vev := makeVerifyEVisitor(layout)
def expansion := try {
vev.xformEExpr(eExpr).asText()
} catch _ {
# XXX kludge
# See https://bugs.sieve.net/bugs/?func=detailbug&bug_id=125633&group_id=16380
eExpr.asText()
}
------------------------------
This is used by rune when you do an 'interp.setExpand(true)' to print out the
expansion of your expression to Kernel-E. The kludge above is that if your
expression fails to expand all the way to Kernel-E, rune will print it
expanded only to Expanded-E.
As long as there's some standard way to transform Expanded-E to Kernel-E, then
yes, there's no need for getScopeLayout() to be visible from E.
> I've already committed the name change (revision 127).
Good.
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the e-lang
mailing list