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]
