[Mono-dev] Linq In Mono

Marek Safar marek.safar at seznam.cz
Wed Sep 12 05:48:07 EDT 2007

Hi Kevin,
> Hey! I saw that work has gotten started on the implementation of Linq
> (at least the backend classes at the moment) in mono. I wanted to get
> involved a bit and offer my help. While I've been using Mono for some
> time now, I haven't worked on the Microsoft class libraries before,
> and I had a few quick questions, and would appreciate any
> advice/guidance on how to really get started.
> 1) With regards to working on the Linq stuff(or the Olive module in
> general), is there a separate mailing list or anything that I should
> subscribe to/direct discussion towards?
Yes, you can subscribe to http://groups.google.com/group/mono-olive. But 
most of the LINQ questions end up in this mailing list.

> 2) Where's a good place in the implementation to start? I see plenty
> of todo tags etc. I just don't want to step on someones feet.
> Furthermore, with the abundance of new code when implementing new
> classes like this, what elements of deign are coordinated, and what
> are just the first dev to get to it?
You can choose which areas interest you most. Currently System.Xml.Linq and
System.Linq are in good shape but there is plenty to do for System.Data.Linq
or System.Data.Linq.Design, or System.Linq.Expressions. Alternatively 
you can
start working on any LINQ related tools like sqlmetal.

> 3) What/How much research is fair game when checking the reference
> implementation? I would assume that ildasm and reflector are major
> no-no's, along with any other means of decompilation. But can the MS
> dll's be run in Linux without concern? I've been reading a lot over at
> msdn, specifically
> http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx
> is that a problem? (I would assume it isn't but I don't want any trouble ;) )
Yes, disassembling in general is no-no. You can use any publicly 
available documentation
like MSDN, specs, books, some blogs, etc. We also have a tool call 
corcompare which
compares our public API. You can find more details about that on 


More information about the Mono-devel-list mailing list