package builtins import ( "monkey/internal/context" "monkey/internal/object" "monkey/internal/typing" ) // Abs ... func Abs(ctx context.Context, args ...object.Object) object.Object { if err := typing.Check( "abs", args, typing.ExactArgs(1), typing.WithTypes(object.IntegerType), ); err != nil { return newError(err.Error()) } i := args[0].(object.Integer) value := i.Value if value < 0 { value = value * -1 } return object.Integer{Value: value} }