diff --git a/stdlib/puts.go b/stdlib/puts.go index cbf84fa..103ce30 100644 --- a/stdlib/puts.go +++ b/stdlib/puts.go @@ -8,7 +8,12 @@ import ( func putsFunction(env object.Environment, args ...object.Object) object.Object { for _, arg := range args { - fmt.Println(arg.Inspect()) + if val, ok := arg.(object.Stringable); ok { + fmt.Println("stringable") + fmt.Println(val.ToStringObj(nil).Value) + } else { + fmt.Println(arg.Inspect()) + } } return object.NIL