On Wed, Aug 6, 2008 at 11:36 AM, Gabriel Dos Reis wrote:
> "Bill Page" <[EMAIL PROTECTED]> writes:
>
>  (1) So you consider
>
>         MyId(T:Type): with
>             identity: T -> T
>           == add
>             identity(x:T) == x
>
>      much less `heavy weight' than a simple free function
>
>         forall(T: Type)
>           identity(T x) == x

           identity(x:T) == x

>
>      ?
>

No, now that I think I am beginning to understand what you mean it
seems to me that they are essentially identical.  But I do consider
the possibility of allowing arbitrary quantifiers (forall and exists)
as a "heavy weight" solution.

>  (2)  identity(2.2)$MyId(Float)  precisely illustrates my point
>       that I have to supply the same information twice: once through
>       the type of the argument to identity(), and a second time
>       through the package to (the artificial) package to select from.
>
> I rest my case.
>

In the interpreter I do not have to specify the same information
twice. In fact, I do not specify any type information at all. That
specifying the package is necessary in the compiler seems to me to be
just a design choice, i.e. the type inference is deliberately less
powerful in order to force the library designer to be more explicit.

Regards,
Bill Page.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to