Jacques Gélinas on Fri, 31 Aug 2018 12:11:25 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

RE: "intrinsic <return>" could be interpreted as "?intrinsic <return>"


 'gettime' is actually equivalent to 'gettime()' 


Oh, I was not aware that this exception had been kept after

the introduction of t_CLOSURE. This used indeed to be a nice

rule for user functions, while returning an error for builtins.


In 2.4.1 (2007) for example,

# f(x)=x+3;
# f
%1 = 3
# primes
  ***   expected character: '(' instead of: primes
# cos
  ***   unexpected character: cos

Perhaps more important than backward compatibility 
however is the possibility of future unexpected problems, 
like those of Python where "print" is a statement in 2.x but
a function needing parentheses in 3.x, annoying some users.
For gp, this could be prevented by a default option, such as the
"printlevel" in Maple which can be used to get the source
code of some builtins.

hack in the gp main loop output routine ( src/gp/gp.c:normal_output() ) 
I don't think it's worth the trouble or inconsistencies.

Thanks for these detailled explanations.

Jacques Gélinas