[IronPython] IronPython and LINQ

Keith J. Farmer kfarmer at thuban.org
Fri May 12 09:37:06 CEST 2006


Actually, these features are not dynamic in the "Python is a dynamic
language" sense.  There are no features which add new members to a type
at runtime, for example, nor is there any weak typing.  C# remains a
static, strongly-typed language.

Lambda Expressions -- this is syntactic sugar which allows a single
syntax to be compiled into either delegates or expression trees
Expression Trees -- simple object trees to encode an expression
Object Initializers -- syntactic sugar
Anonymous Types -- compiler-assisted type generation.  The type is
created by the compiler and given an unknowable name.
Type Inference -- again, sugar for "the type implied by the right hand
side of the assignment"
Extension methods -- more sugar.  barInstance.Method(baz) is compiled to
BarExtensions.Method(barInstance, baz)

.. None of these do anything that wasn't possible before.  They just
make doing it easier.

-----
Keith J. Farmer // kfarmer at thuban.org
-----Original Message-----
From: users-bounces at lists.ironpython.com
[mailto:users-bounces at lists.ironpython.com] On Behalf Of Kevin Chu
Sent: Thursday, 11 May 2006 20:04
To: Discussion of IronPython
Subject: Re: [IronPython] IronPython and LINQ

I see that in C# v3 have many dynamic language feature. eg:

Lambda Expressions -Pred<Customer> = |c| c.City == "London";
Expression Trees - Expression<Pred<Customer>> = |c| c.City == "London";
Object Intializers -Contact c = new Contact { Name = "Bill", Phone =
"..." };
Anonymous Types -new { Name = "Bill", Phone = "..." }
Type Inference --var c = new { Name = "Bill", Phone = "..." };
Extension Methods--static void Method(this IEnumerable<T> src)

what policy ms have in dynamic language between c# and IronPython.

2006/5/12, Shri Borde <Shri.Borde at microsoft.com>:
> Hi Kevin,
>
> IronPython 1.0 will not support LINQ. We have started to look at it,
but will seriously look at it after the summer. It is a meaty issue
given that many of the concepts in LINQ are based on static typing.
>
> Here is the LINQ information for those who haven't seen it yet -
http://msdn.microsoft.com/data/ref/linq/.
>
> Thanks
> Shri
>
> Do you want to help develop Dynamic languages on CLR?
(http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE
-11F0-45DF-8B78-DC1B43134038)
>
> -----Original Message-----
> From: users-bounces at lists.ironpython.com
[mailto:users-bounces at lists.ironpython.com] On Behalf Of Kevin Chu
> Sent: Wednesday, May 10, 2006 7:24 PM
> To: Discussion of IronPython
> Subject: [IronPython] IronPython and LINQ
>
> LINQ Preview May 2006 released!
> Can IronPython use LINQ?
>
> --
> Once in a Redmoon
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>


-- 
Once in a Redmoon



More information about the Ironpython-users mailing list