type InterpretableDecorator … // decObserveEval records evaluation state into an EvalState object. func decObserveEval(observer EvalObserver) InterpretableDecorator { … } // decInterruptFolds creates an intepretable decorator which marks comprehensions as interruptable // where the interrupt state is communicated via a hidden variable on the Activation. func decInterruptFolds() InterpretableDecorator { … } // decDisableShortcircuits ensures that all branches of an expression will be evaluated, no short-circuiting. func decDisableShortcircuits() InterpretableDecorator { … } // decOptimize optimizes the program plan by looking for common evaluation patterns and // conditionally precomputing the result. // - build list and map values with constant elements. // - convert 'in' operations to set membership tests if possible. func decOptimize() InterpretableDecorator { … } // decRegexOptimizer compiles regex pattern string constants. func decRegexOptimizer(regexOptimizations ...*RegexOptimization) InterpretableDecorator { … } func maybeOptimizeConstUnary(i Interpretable, call InterpretableCall) (Interpretable, error) { … } func maybeBuildListLiteral(i Interpretable, l *evalList) (Interpretable, error) { … } func maybeBuildMapLiteral(i Interpretable, mp *evalMap) (Interpretable, error) { … } // maybeOptimizeSetMembership may convert an 'in' operation against a list to map key membership // test if the following conditions are true: // - the list is a constant with homogeneous element types. // - the elements are all of primitive type. func maybeOptimizeSetMembership(i Interpretable, inlist InterpretableCall) (Interpretable, error) { … }