public Val exec ( AstRoot ast , AstFunction scope ) { sanity_check_refs ( null ) ; // Execute Env env = new Env ( this ) ; env . _scope = scope ; Val val = ast . exec ( env ) ; // Execute assert env . sp ( ) == 0 ; // Stack balanced at end sanity_check_refs ( val ) ; return val ; // Can return a frame, which may point to session-shared Vecs }
Execute an AstRoot in the current Session with much assertion - checking