"no variable or argument declarations are necessary."

Antoon Pardon apardon at forel.vub.ac.be
Fri Oct 7 09:22:11 EDT 2005


Op 2005-10-07, Diez B. Roggisch schreef <deets at web.de>:
>
> Antoon Pardon wrote:
>> Then argue against my ideas, and not your makings of it.
>>
>> If I just use 'ANY' and you fill that in with C void* like
>> implementation and argue against that, then you are arguing
>> against your own ghosts, but not against what I have in mind.
>
> Well, you didn't tell us what you had in mind.

Indeed I hadn't. It wasn't needed for the question I posed then.

> You just said "let's
> introduce something like any". I showed you existing implementations of
> such a concept that have problems.

But as far as I can see that is a problem of the implementation
not necessarily of the concept.

> You say "thats not what _I_ have in
> mind, so your criticism doesn't apply." Guess what, I can't read your
> mind. But you did not tell me in what your idea is different from
> existing concepts.

Indeed you can't read my mind, but what pops up in your mind shows
your preconceptions. You could have just answered the question
as it was posed, instead of filling in the details yourself, maybe
remarking that you didn't see how it would work with current
type systems you know off.

>> You have not counterd my idea with criticism. You have decorated my
>> idea with how you think it would be implemented (C void*) and argued
>> against that. I don't need to give an implementation to notice, that
>> you jumped to a particular implementation and basicly just countered
>> that implementation, not the idea in general.
>
> Again - where is your idea layed out in (more) detail, so that one can
> discuss them? That was all that I'm asking - which of course you
> carefully avoided...

Sure I'm reluctant to give details. I consider this a hostile
environment, for this kind of proposals. I'm sure people will
be able to come up with all kind of problems my idea won't solve
and will see this as a reason to think the idea is useless.

Since I have no intention to 

>> As far as I'm concerned that was just meant as a matter of fact remark,
>> with no snide intentions.
>
> Where exactly come the facts?

About how you filled in the details yourself when all I mentioned
was a type system with an "ANY" type.

> All I see is some vague "there should be
> something better, by introducing ANY". But no details how typechecking
> then would work. I showed you that existing type systems can't properly
> cope with ANY so far and allow for much errors. Just saying "but mine
> won't" is a little bit thin, don't you think?l

The main idea is that type information would be available at two places.

1) The names, which carry the declared type.

2) The objects which carry the type/class they belong too.

When an object is bound to a name, a check is made that the type of the
object is compatible with the declared type of the name.

A name with type ANY, would be just like any python variable or
instance now. Python could implement this by instead of storing its
variables in dictionaries as (name, value) tuples, by storing them
as (name, declaration, value) tuples and making the necesarry checks
at (re)bind time. Variables that are not declared would get the
ANY declaration so that current scripts would just remain working
as they do now. But as the compiler got more sophisticated some
of these checks might be doable at compile time instead of at
run time.

-- 
Antoon Pardon



More information about the Python-list mailing list