In the interpreter the built-in 'typeOf' returns

(8) -> typeOf(Integer)

   (8)  Type
                                                               Type: Category

(9) -> typeOf(Type)

   (9)  Category
                                                                   Type: Type

10) -> typeOf(SetCategory)

   (10)  Category
                                                                   Type: Type

(11) -> typeOf(Category)

   (11)  Variable(Category)
                                                                   Type: Type

This has always seemed a little schizophrenic to me.

On 29 October 2016 at 09:51, Bill Page <bill.p...@newsynthesis.org> wrote:
> Oh, OK sorry I should have read more carefully and tried exactly what you 
> wrote.
>
> (1) -> typeof(Integer)
>
>    (1)  Type
>                                                                    Type: Type
> (2) -> typeof(Float)
>
>    (2)  Type
>                                                                    Type: Type
>
> Maybe this result is controversial.  How do we define the 'typeof' for
> domains? 'Type' is the top of the category lattice so all domains
> satisfy 'Type'. But there are many other possible answers. And a
> possibly non-unique "least" answer.
>
> But try
>
> (3) -> typeof(Type)
>    Internal Error
>    The function typeof with signature hashcode is missing from domain
>       TypePackage
>
> (3) -> typeof(SetCategory)
>    Internal Error
>    The function typeof with signature hashcode is missing from domain
>       TypePackage
>
>
> On 29 October 2016 at 09:36, Bill Page <bill.p...@newsynthesis.org> wrote:
>> "dom can't" ???  dom does.
>>
>> On 28 October 2016 at 23:49, Kurt Pagani <nil...@gmail.com> wrote:
>>> Not really, but if nothing else sameType?(Integer,Float) works, dom can't 
>>> ;-)
>>>
>>>
>>> Am 29.10.2016 um 04:54 schrieb Bill Page:
>>>> Is that better than
>>>>
>>>> (1) -> (dom([1,2,3])=dom([1,2]))@Boolean
>>>>
>>>>    (1)  true
>>>>                                                                 Type: 
>>>> Boolean
>>>> (2) -> (dom([1,2,3])=dom([1,2,%pi]))@Boolean
>>>>
>>>>    (2)  false
>>>>                                                                 Type: 
>>>> Boolean
>>>>
>>>> ??
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "FriCAS - computer algebra system" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to fricas-devel+unsubscr...@googlegroups.com.
>>> To post to this group, send email to fricas-devel@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/fricas-devel.
>>> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to