[Python-ideas] [Wild Idea] Static Ducks

MRAB python at mrabarnett.plus.com
Mon Sep 21 15:55:57 CEST 2009


Masklinn wrote:
> On 21 Sep 2009, at 14:27 , Nick Coghlan wrote:
>> ilya wrote:
>>> I tried to read most of the thread, but I'm still not sure about the
>>> exact meaning of the proposal. Here is how I understand it.
>>>
>>> There are two ways to add strong typing to the language. One is called
>>> "static typing", and it's done before you generate a bytecode,
>>> another, "dynamic/run-time typing" is done at run-time.
>>
>> Python already has strong dynamic typing. strong-vs-weak and
>> static-vs-dynamic are orthogonal attributes of type systems.
> The first part is usually considered true, the second part is more 
> difficult to handle. The issue being that "strong typing/weak typing" 
> isn't formally defined at all, an people tend to make "their own" 
> definition of it to fit their preconceptions: a few years ago, 
> Mark-Jason Dominus found (at least) 8 different definitions of the 
> concept ( 
> http://groups.google.com/group/comp.lang.perl.moderated/tree/browse_frm/thread/e2e153d2ad7380c5/73d99bd8d5d16d8a?rnum=1&_done=%2Fgroup%2Fcomp.lang.perl.moderated%2Fbrowse_frm%2Fthread%2Fe2e153d2ad7380c5%2F73d99bd8d5d16d8a%3Ftvc%3D1%26#doc_89b5f256ea7bfadb ) 
> and B.C.Pierce [TAPL] gave up on the subject altogether after a pair of 
> weeks of research. The mere idea of talking about "strong typing" 
> without precisely defining what you mean by that is therefore bound to 
> fail (as for one person Tcl will be strongly typed, meanwhile for 
> another one anything falling short of *ML or Haskell is weakly typed).
> 
> The static/dynamic typing axis is better defined (though there's a lot 
> of blurring, it's a continuous path rather than a binary proposition).
> 
I know of one language which is weakly typed: BCPL. It's only type is
the bit pattern. It's the function or operator which interprets the bits
as representing a certain value.



More information about the Python-ideas mailing list