I have this overloaded function foo().
restart;
foo:= overload(
[
proc(A::integer,$)option overload;
print("first one, _passed = ", _passed," _npassed = ",_npassed);
end proc,
proc(A::integer,B::integer,$)option overload;
print("second one _passed = ", _passed," _npassed = ",_npassed);
end proc
]);
Which works OK. so I can now do
foo(1)
foo(1,2)
But I wanted to indicate that the proc returns say ::integer , and this where I am stuck, I do not know where to add this ::integer
With non-overloaded proc's, this is the syntax
foo:=proc(A::integer,$)::integer;
......
end proc;
but I can't do this with the overloaded function. If I type
foo:= overload(
[
proc(A::integer,$)option overload;
print("first one, _passed = ", _passed," _npassed = ",_npassed);
end proc,
proc(A::integer,B::integer,$)option overload;
print("second one _passed = ", _passed," _npassed = ",_npassed);
end proc
])::integer;
Maple simply does not like it. typing foo(1) now it just echos the definition back.
And these give syntax errors
foo:= overload(
[
proc(A::integer,$)::integer option overload;
print("first one, _passed = ", _passed," _npassed = ",_npassed);
end proc,
proc(A::integer,B::integer,$)::integer option overload;
print("second one _passed = ", _passed," _npassed = ",_npassed);
end proc
]);
Tried many other variations and looked at help but see nothing to far.
Can one add ::type to indicate type proc returns with overloaded proc?
Maple 2023.2.1