> What is nonconstructive about
> 
>    forall(T: Type)
>      identity(T x) == x
> 
> which can be used as
> 
>     identity 4.4       -- T deduced to Float
>     identity "string"  -- T deduced to String
> 
> ?

Just one remark it certainly is a bit off-topic.

You certainly know that Aldor has functions of the form

string: Literal -> %

that can be exported and implemented by any domain.
Do you intend to provide something like that in OpenAxiomm, too?

So then if I add a function

   string(l: Literal): % == 1;

to the definition of Float, the statement

   identity "string"

becomes ambiguous. I don't think that is a problem.

But still, I think the forall above is fine.
In fact, it can already be used today since "forall" can be seen as a 
parametrized package that exports a function

   identity: T -> T

But I guess, you want to experiment with some kind of mechanism that 
removes the burden from a programmer of defining such a "forall" explicitly.

To be honest, I am not quite sure whether I like such implicit 
definitions. What I know about Haskell so far, they then have this 
concept of specifying the type or T with some => thing... sorry I don't 
remember the details, but to me it looked exactly like definition of a 
parametrized domain in Aldor.

Could you give some words about where you are aiming at? Thanks.

Ralf

-------------------------------------------------------------------------
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