[IronPython] IronPython status

Steven Wilcox steven at wilcoxzone.com
Tue Feb 22 19:46:15 CET 2005


I want to agree here that Boo is fundamentally flawed in that it really is
only "like" Python.  Probably the worst thing they did was choose the ":"
for variable parameter inputs to .net library functions.  That was just a
cheap way out of coding corner they'd gotten into.  What that does, with
just one single character is wreck huge amounts of Python compatibility.
You see it with other areas as well.  

The beauty of Python is its built-in constructs and types.  To be able to
use lists, tuples and dictionaries... to be able to iterate over them
without having to know ahead of time the object type... and then to wield
that power against a nice set of libraries in .NET (especially for the UI)
is a powerful combination.  

But really my point here is that sticking close to the original language is
a good idea.  The primary key to IronPython success exists in finishing what
has been started...  

-ScW


-----Original Message-----
From: users-ironpython.com-bounces at lists.ironpython.com
[mailto:users-ironpython.com-bounces at lists.ironpython.com] On Behalf Of Andy
Somogyi
Sent: Tuesday, February 22, 2005 1:22 PM
To: users-ironpython.com at lists.ironpython.com
Subject: Re: [IronPython] IronPython status

I did take a look at Boo, hoping to use some code / ideas of thier 
implementation.

It is kind of an interesting implementation, they seem to be very fond of 
many many
classes where each one has very little functionality by itself.

Also, part of the Boo implementation is in c# and the other part is in Boo. 
I am really
not fond of interpreters written in the interpretting language. I think the
CPython / Jython / IronPython approach is MUCH better, faster, more stable
and easier to follow.

Also, I am not very fond of 'like' languages, i.e. a 'C' like language or a 
'Java'
like language, or in this case a 'Python' like language.

I like IronPython because it IS Python, not 'like' Python. Also, IronPython
is well designed and it is fairly easy to follow and understand the code.

The syntactic and semantic portions of IronPython are nearly perfect, it
has a well consturcted recursive descent parser that generates a tradational
AST.

The runtime portion of IronPython just needs some work.

With my 'fork' of IronPython, I'm implementing the runtime slightly 
differently.
Currently, all python objects are of a type called 'DynamicType'. When a 
native
.net assembly is imported, all the types are wrapped in a derivitive of 
'DynamicType'.

Now, the .net runtime allready supports the features of this type via the 
'IReflect' and
'IExpando' interfaces.

So, what I am going to do is this: All Python types will implement the 
IReflect and
optionally the IExpando interface. Python functions will extend the standard

'MethodInfo'
interface. Then all generated code will operate on these standard 
interfaces.

The advantage is that .net assemblys can be imported directly, without 
having to wrap
the types in a python type, and all Python objects can be visible to 
external programs
using the standard reflection interfaces.

The other nice thing about the MethodInfo interface is that in .net 2.0 
there is a
new feature called 'lightweight code generation': Basically, you can create 
a new
fully dynamic method. This new method is not part of a type, and can be 
garbage
collected like any other .net object. So, the .net 'DynamicMethod' type 
implements
the 'MethodInfo' interface, and when IronPython moves to .net 2.0, the new
lightweight code generation features can be seamlessly added.


>In the meanwhile, I would suggest a look at Boo, a great new CLR language 
>(http://boo.codehaus.org/). It's not Python, but very similiar. It lacks 
>some of the more dynamic features of Python, but compensates well for that 
>in other areas. And it works, today. I might even prefer Boo to IronPython 
>even if IronPython should reach a more mature stage.
>
>Hans-Christian
>
>----- Original Message ----- From: "Ryan Williams" <ryan4096 at bellsouth.net>
>To: <users-ironpython.com at lists.ironpython.com>
>Sent: Tuesday, February 22, 2005 1:15 AM
>Subject: Re: [IronPython] IronPython status
>
>
>>Personally, I think it's great that someone wants to work on it.  I
>>really like the idea of IronPython, and have been disappointed to see
>>the current lack of activity.
>>
>>On Fri, 2005-02-18 at 13:52 -0700, Andy Somogyi wrote:
>>>Hello All
>>>
>>>As I have not seen much updates on IronPython recently, and I believe it 
>>>is
>>>a superb product and tremendous potential, I have recently begun the 
>>>process
>>>of looking for and fixing bugs in the IronPython distribution.
>>>
>>>So far, I have fixed the issue with a module not storing the __name__
>>>attribute properly, eval not parsing input string correctly, and the map
>>>function not working when given more than 2 arguments.
>>>
>>>If Jim has no objections, I have created a CVS repository with all the 
>>>fixes
>>>at:
>>>
>>>http://cvs.sourceforge.net/viewcvs.py/numerator/IronPython-0.6/
>>>
>>>Also, if Jim has no objections, you can submit bug reports at:
>>>http://sourceforge.net/tracker/?atid=594164&group_id=90590&func=browse
>>>
>>>I have also started documenting IronPython, and I will be producing ndoc
>>>generated help files.
>>>
>>>
>>>_______________________________________________
>>>users-ironpython.com mailing list
>>>users-ironpython.com at lists.ironpython.com
>>>http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>_______________________________________________
>>users-ironpython.com mailing list
>>users-ironpython.com at lists.ironpython.com
>>http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>
>_______________________________________________
>users-ironpython.com mailing list
>users-ironpython.com at lists.ironpython.com
>http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


_______________________________________________
users-ironpython.com mailing list
users-ironpython.com at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com




More information about the Ironpython-users mailing list