1. A method, implemented at a computer system that includes one or more processors, for facilitating authoring of a dynamic language program by transforming an abstract syntax tree, the method comprising: accessing a portion of source code corresponding to a portion of the dynamic language program for evaluation; identifying a designated halt point within the portion of source code; generating the abstract syntax tree, which represents the portion of source code corresponding to the portion of the dynamic language program that is under evaluation; prior to execution of the portion of the dynamic language program based on the abstract syntax tree, identifying one or more directed execution transformations that may be made to the abstract syntax tree, the one or more directed execution transformations ensuring one or both of execution to the halt point or a reduced execution time to reach the halt point; without applying any of the identified one or more directed execution transformations, executing the portion of the dynamic language program based on the abstract syntax tree; during execution of the portion of the dynamic language program, identifying that the halt point has not been reached and that a time to execute has expired; based on the halt point having not been reached and the time to execute having expired, transforming the abstract syntax tree with at least one of the one or more directed execution transformations; and subsequent to transforming the abstract syntax tree with the at least one of the one or more directed execution transformations, re-executing the portion of the dynamic language program based on the transformed abstract syntax tree.