Changes http://wiki.axiom-developer.org/DuckTyping/diff
--
The line::

   boblist2: List Any := ["Ahem!"::String];

should already fail, with Axiom complaining that there is no coercion 
from String to 'ANY'.
I think the Axiom interpreter knows about Any and thus can turn::

   "Ahem!"::String

into::

   any(String, "Ahem!")

If the Any constructor just accepts SetCategory then this does not help 
very much. Bill's 'pretend SetCategory' would then not be a lie, but how 
  do I then call a function 'foo: () -> Integer' on an element t from 
'List(Any)' in case 'dom(t)' has such a function?

With 'Object(SetCategory)' (or whatever you put instead of SetCategory) 
such a conditional call can be done. Look at line 9-11 of
"bobfun":http://aldor.org/docs/HTML/chap23.html#10 .
It is no problem to insert something like::

   if T has with {foo: () -> Integer} then ...

that would be impossible in the current Any implementation and also if 
Any only accepts elements that come with a domain of type SetCategory.

Property that makes Object work is the availability of dependent types.

--
forwarded from http://wiki.axiom-developer.org/[EMAIL PROTECTED]

Reply via email to