fix: no stringify in hot loop

This commit is contained in:
2025-12-28 02:19:48 -05:00
parent ee9e71d58e
commit 633d4a4d3b
4 changed files with 25 additions and 11 deletions

View File

@@ -41,10 +41,14 @@ func main() {
// Turn tokens into syntax tree.
expression, err := saccharine.Parse(tokens)
cli.HandleError(err)
logger.Info("parsed syntax tree", "tree", saccharine.Stringify(expression))
if options.Verbose {
logger.Info("parsed syntax tree", "tree", saccharine.Stringify(expression))
}
compiled := convert.SaccharineToLambda(expression)
logger.Info("compiled lambda expression", "tree", lambda.Stringify(compiled))
if options.Verbose {
logger.Info("compiled lambda expression", "tree", lambda.Stringify(compiled))
}
// Reduce expression.
start := time.Now()
@@ -56,7 +60,9 @@ func main() {
steps := 0
for lambda.ReduceOnce(&compiled) {
logger.Info("reduction", "tree", lambda.Stringify(compiled))
if options.Verbose {
logger.Info("reduction", "tree", lambda.Stringify(compiled))
}
if options.Explanation {
fmt.Println(" =", lambda.Stringify(compiled))
}