[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