On Sun, 2007-09-09 at 13:40 -0700, Erick Tryzelaar wrote:
> This is odd. I can't directly call the isinf function:
>
> #import <flx.flxh>
> val foo = Double::isinf;
>
> Results in:
>
> CLIENT ERROR
> Can't find isinf
> In ./foo.flx: line 2, cols 1 to 24
> 2: val foo = Double::isinf;
> ************************
> <eof>
>
> What's going on?
val foo = Double::isinf of (double); // OK
val foo = the Double::isinf;
// not sure if 'the' works with
// qualified names
As usual, Double::isinf is a function set, you have
to select which of the functions to use by overloading
or by specifically saying 'the' which mean 'I know there
is only one of them'.
I will have to check the code, but I suspect that 'the' should
not be needed for a qualified name because a module is a CLOSED
entity. If there is one function in a module, it is evident
from the interface and can't be changed (without invading
the module).
For an unqualified name, you have all the 'open' to
deal with, and a change not near the function use may
break it by adding an overload.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language