473,549 Members | 2,331 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

inferred typing

Just a curious question:

Has it ever been considered to furnish Python with inferred typing?

(Possibly only for certain functions or classes, designated by the programmer?)

Cheers,
Gab.

--
/-------------------------------------------------------------------------\
| There are works which wait, |
| and which one does not understand for a long time; [...] |
| for the question often arrives a terribly long time after the answer. |
| (Oscar Wilde) |
+-------------------------------------------------------------------------+
| za**@cs.uni-bonn.de __@/' www.gabrielzachmann.org |
\-------------------------------------------------------------------------/
Jul 18 '05 #1
4 1314
>>>>> "Gabriel" == Gabriel Zachmann <za**@cs.uni-bonn.de> writes:

Gabriel> Just a curious question: Has it ever been considered to
Gabriel> furnish Python with inferred typing?

Yes - googling for Starkiller and Boo is a good start.

--
Ville Vainio http://tinyurl.com/2prnb
Jul 18 '05 #2
Yes, as Ville already mentioned, Starkiller is a static type inference
system along with a c++ compiler for python.
According to its author, it should have been released already, but it
seems we will have to wait until he mangaes to get the time to finish
it.

As for Boo, it is a python-like language for the .NET framework.
It has a very good type inference system, although the language is
statically typed (the difference with traditional statyc typed
languages is that you don't have to declare types everywhere, only in
those few cases where the compiler cannot figure out the types by
itself, but I don't want to talk to much about it because I'm far from
being an expert...).

You should also read about Pypy, which is a very ambitious project
currently in development. They are already working in a type inference
system... http://codespeak.net/moin/pypy/moin....iusSprintTasks

And as far as I know, it seems that something alomg these lines is
planned for Ironpython, but it won't be soon.
Jul 18 '05 #3
Thanks for your responses.

Both Boo and Starkiller sound quite interesting.
Boo seems to have some momentum, but what about Starkiller, once the PhD is
finished?

Also, both are python compilers.
I was hoping for something more like Hotspot for Java, i.e.,
something which compiles parts of the python script that turn out not to be
really dynamic at run-time and that are executed a lot.

Anything along those lines?

In addition, I am not sure that any effort that is not integrated into
mainstream Python will have a real chance to achieve widespread use ...

Best regards,
Gabriel.

--
/-------------------------------------------------------------------------\
| There are works which wait, |
| and which one does not understand for a long time; [...] |
| for the question often arrives a terribly long time after the answer. |
| (Oscar Wilde) |
+-------------------------------------------------------------------------+
| za**@cs.uni-bonn.de __@/' www.gabrielzachmann.org |
\-------------------------------------------------------------------------/
Jul 18 '05 #4
Gabriel Zachmann <za**@cs.uni-bonn.de> wrote:
Thanks for your responses.

Both Boo and Starkiller sound quite interesting.
Boo seems to have some momentum, but what about Starkiller, once the PhD is
finished?

Also, both are python compilers.
Boo is a different language, pythonlike but not python.
I was hoping for something more like Hotspot for Java, i.e.,
something which compiles parts of the python script that turn out not to be
really dynamic at run-time and that are executed a lot.

Anything along those lines?
psyco?
In addition, I am not sure that any effort that is not integrated into
mainstream Python will have a real chance to achieve widespread use ...


I strongly doubt anything like a JIT will get integrated into mainstream
Python before it's very solid, which probably requires it to get
widespread first.
Alex
Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

53
9905
by: dterrors | last post by:
Will php 6 do strong typing and/or namespaces? I was shocked to find out today that there are some people who actually argue that weak typing is somehow better. I didn't even know there was a debate. Shocking. That's like arguing that square tires are better than round. Anyway if anyone knows that php is going to intentionally stay...
12
2551
by: Michael Muller | last post by:
Is there currently any plan to introduce static typing in any future version of Python? (I'm not entirely sure that "static typing" is the right term: what I'm talking about is the declaration of types for variables, parameters and function return values). I know there was a "types SIG" which introduced several proposals, but it expired...
467
21254
by: mike420 | last post by:
THE GOOD: 1. pickle 2. simplicity and uniformity 3. big library (bigger would be even better) THE BAD:
12
2155
by: Jason Tesser | last post by:
I work for at a college where I am one of 2 full-time developers and we are looking to program a new software package fro the campus. This is a huge project as it will include everything from registration to business office. We are considering useing Java or Python. I for one don't like Java because I feel the GUI is clunky. I also think...
15
2650
by: Premshree Pillai | last post by:
How do I force static typing in Python? -Premshree Pillai ===== -Premshree http://www.qiksearch.com/] ________________________________________________________________________ Yahoo! India Insurance Special: Be informed on the best policies, services, tools and more.
94
4633
by: Gabriel Zachmann | last post by:
Is it correct to say that strong/weak typing does not make a difference if one does not use any pointers (or adress-taking operator)? More concretely, I am thinking particularly of Python vs C++. So, are there any examples (without pointers, references, or adress-taking), which would have a different result in Python and in C++? I would...
49
3063
by: bearophileHUGS | last post by:
Adding Optional Static Typing to Python looks like a quite complex thing, but useful too: http://www.artima.com/weblogs/viewpost.jsp?thread=85551 I have just a couple of notes: Boo (http://boo.codehaus.org/) is a different language, but I like its "as" instead of ":" and "->", to have: def min(a as iterable(T)) as T: Instead of:
0
857
by: Paddy | last post by:
The official glossary entry here: http://docs.python.org/tut/node18.html#l2h-46 says: " duck-typing Pythonic programming style that determines an object's type by inspection of its method or attribute signature rather than by explicit relationship to some type object ("If it looks like a duck and quacks like a duck, it must be a duck.") By...
4
2612
by: lostangel696 | last post by:
Could somoene please guide me on how i would go about generating a schema using minidom inferred from an xml document that i have made. Thankyou
0
7546
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7471
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7985
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7503
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
1
5387
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5111
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3517
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
3496
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
784
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.