[Python-Dev] Python and compilers (original) (raw)

Michael Foord fuzzyman at voidspace.org.uk
Wed Apr 7 00:34:50 CEST 2010


On 06/04/2010 23:31, "Martin v. Löwis" wrote:

willian at ufpa.br wrote:

First, thank you for all opnion. Each one was considered. I think the better question would be: I have to develop a project that involves compilers, and being a fan of Python, I thought about making a compiler for it (most basic idea involving Pythin and compilers). But I saw that I can use what I learned from compilers not only to create a compiler. What is the area of developing the Python interpreter that I could build my project, and please give me interesting ideas for the project. I don't think the question is necessarily off-topic. I can propose two projects, related to Python core: - 2to3 pattern compiler: 2to3 currently uses an interpreter for pattern matching. It does "compile" the patterns into some intermediate form, however, that is actually interpreted with an interpreter written in Python (actually, it is self-interpreted). It might be interesting to compile the pattern into actual Python code, with the hope of it executing faster than it does now (and yes, I proposed a similar, but different GSoC topic also; the two approaches are orthogonal, though). - IDLE code completion. Currently, IDLE has some form of code completion, which is fairly limited. It might be useful to produce a better code completion library, one that works more statically and less based on introspection. In particular, optimistic type inference might help (optimistic in the sense "if foo has a method .isalpha, it probably is a string). In code completion, exact type inference isn't necessary; giving a superset (i.e. a union type) might still be helpful.

This would be very useful to many Python IDE projects. Getting it right is one thing, getting it fast enough to be useful is another (i.e. it is a difficult problem) - but yes, could be both interesting and useful.

Michael

In addition, to-python compilers may also be interesting in various HTML templating languages, e.g. Django templating, Zope page templates, and the like (although some of them already have compilers of some form on their own).

HTH, Martin


Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk

-- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog

READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.



More information about the Python-Dev mailing list