[Python-ideas] [Wild Idea] Static Ducks
Talin
talin at acm.org
Sun Sep 20 04:29:55 CEST 2009
Dj Gilcrease wrote:
> I do not expect this idea to gain much traction but it has been an
> idea rolling around in my head for a year or two, so I decided to
> write it all down and see what other thought.
>
> Abstract:
> Python does not currently support static typing of variables, which is
> something I like, but there are times it would be nice to have static
> typing for variables, or method/function return values.
I am working on a somewhat different approach to this problem. (For
sufficiently large values of 'somwhat different'.)
A while back, I came to the conclusion that there was still much to be
learned about static typing, and that the existing languages that
support static typing were misusing it - that is, in most languages
static typing is used to enforce consistency (the advantage of which has
been much debated) as opposed to making the language easier and more
expressive.
Despite my fondness for Python, I realized that I didn't want something
that would merely be a layer on top of Python syntax - the decision to
incorporate static types would impact so many of the design choices of
the language that it would end up being a fundamentally different language.
It was only after I discovered the existence of the LLVM project that I
realized that I could actually build the language that I had been
designing in my head.
So I set out to build that language, and along the way I would fix a
number of other issues in Python, as well as the many issues I have with
Java, C++, C#, D, Ruby, and so on. And also incorporate a few of the
ideas which have been suggested on this list and others.
In any case, it's two years later and I am still working on the
compiler. :) But I am making a lot of progress and it's slowly evolving
into something that I think is quite cool.
I'm not the first person to attempt this, so if you want to try a
language that is statically typed, but inspired by Python, then I
suggest checking out Boo or Scala.
-- Talin
More information about the Python-ideas
mailing list