package builtins import ( "monkey/internal/context" "monkey/internal/object" "monkey/internal/typing" ) // Exit ... func Exit(ctx context.Context, args ...object.Object) object.Object { if err := typing.Check( "exit", args, typing.RangeOfArgs(0, 1), typing.WithTypes(object.IntegerType), ); err != nil { return newError(err.Error()) } var status int if len(args) == 1 { status = int(args[0].(object.Integer).Value) } ctx.Exit(status) return nil }