[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Axiom-developer] Re: Openmath, Singular
From: |
Bill Page |
Subject: |
RE: [Axiom-developer] Re: Openmath, Singular |
Date: |
Mon, 3 Oct 2005 22:02:47 -0400 |
On October 3, 2005 3:27 PM Jens Axel Søgaard wrote:
>
> Bill Page wrote:
>> On October 3, 2005 4:37 AM Michael Brickenstein wrote:
>
>>> ... Python is in fact a strongly typed language, which
>>> doesn't do implicit conversions (at default), I only
>>> mention this, as I know that axiom focuses very much on
>>> a type system.
>>
>> As I understand it Python is a dynamically typed language.
>> To use the word "strong" seems a little miss-leading.
>
> Most likely we just use the words differently, but I don't
> see an inherent conflict between "dynamically" and "strong".
>
I agree with you. The use of "strong" in this context is
probably correct. But as the article that you cite
http://en.wikipedia.org/wiki/Strongly_typed
points out, it is not a very useful distinction.
A more relevant point is that Axiom is "statically" typed,
meaning that types are associated with variables. But in
Python types are associated with values. E.g. in Python we
can write
x=10
x="xxx"
In the Axiom compilers we must write
x:Integer
so that x denotes some object from the domain Integer. E.g.
x:=10
But
x:="xxx"
is a type error.
On the other hand in Axiom the values themselves have no
implicit type. For example 1 might mean
1$Integer
1$Float
1$SquareMatrix(2,Integer)
etc.
By the usual mathematical convention adopted by Axiom library
programmers, 1 denotes the unit with respect to multiplication
in some domain.
Regards,
Bill Page.