2010-07-14  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Union): fix HashSet.Contains call.

2010-07-13  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Except): fix HashSet.Contains call.
	Fixes #621911.

2010-06-22  Jb Evain  <jbevain@novell.com>

	* Queryable.cs: properly set the constants types in the queryable
	expression tree.

2010-06-22  Jb Evain  <jbevain@novell.com>

	* EnumerableQuery_T.cs
	* QueryableEnumerable.cs:
		override ToString.

2010-06-18  Rolf Bjarne Kvinge  <RKvinge@novell.com>

	* EnumerableQuery.cs:
	* EnumerableQuery_T.cs:
	* EnumerableExecutor.cs: 
	* EnumerableExecutor_T.cs: Include in Moonlight.

	* Enumerable.cs: Moonlight too needs Zip.

2010-05-25  Jérémie Laval  <jeremie.laval@gmail.com>

	* ParallelExecuter.cs: Fix NRE caused by lambda wrapping

2010-05-25  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: make Reverse lazier. Based on a patch by
	Matthew Flaschen <matthew.flaschen@gatech.edu>. Fixes #608195.

2010-05-19  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix GroupBy to deal with a null key for the last
	group entry. Also fix GroupBy to properly throw ArgumentNullException.

2010-05-05  Jérémie Laval  <jeremie.laval@gmail.com>

	* ParallelEnumerable.cs: Some operators weren't declared
	as extension methods. Fixed.

2010-04-29  Jérémie Laval  <jeremie.laval@gmail.com>

	* ParallelQueryEnumerator.cs: Use new non-blocking collection
	for storing indexed elements.

2010-04-29  Jérémie Laval  <jeremie.laval@gmail.com>

	* ParallelExecuter.cs: Bring indexed worker methods support.
	Check for null callback.

2010-04-15  Jérémie Laval  <jeremie.laval@gmail.com>

	* OrderedParallelQuery.cs:
	* ParallelEnumerable.cs:
	* ParallelExecuter.cs:
	* ParallelPartitioner.cs:
	* ParallelQuery.cs:
	* ParallelQueryEnumerator.cs: First check-in of PLinq

2010-04-15  Jérémie Laval  <jeremie.laval@gmail.com>

	* ParallelExecutionMode.cs:
	* ParallelMergeOptions.cs: Initial check-in of PLinq (enum)

2010-04-12  Miguel de Icaza  <miguel@novell.com>

	* Enumerable.cs: Jumbo patch that inlines code, mainly for the AOT
	scenario where we our compiler cant infer the extra layer of
	indirection of a lambda function.

	But additionally, since we lack support for our JIT to inline
	intermediate delegate calls, it should save memory and run
	faster. 

2010-04-07  Jb Evain  <jbevain@novell.com>

	* EnumerableExecutor.cs: make ctor protected.

2010-04-07  Jb Evain  <jbevain@novell.com>

	* EnumerableQuery_T.cs: implement.

2010-04-07  Jb Evain  <jbevain@novell.com>

	* EnumerableQuery.cs: make ctor protected.

2010-04-06  Jb Evain  <jbevain@novell.com>

	* QueryableEnumerable.cs: make TransformQueryable work on net_4_0.

2010-04-06  Jb Evain  <jbevain@novell.com>

	* QueryableTransformer.cs: use factory method that work for all
	ET implementations.

2010-03-30  Jb Evain  <jbevain@novell.com>

	* Queryable.cs: implement Zip for net_4_0.

2010-03-24  Jb Evain  <jbevain@novell.com>

	* SortSequenceContext.cs: Fix OrderByDescending stability.
	Based on a patch by Richard Kiene  <richard.kiene@logos.com>.

2010-02-23  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs: Implement Zip.

2010-01-25  Jb Evain  <jbevain@novell.com>

	* QueryableTransformer.cs (ReplaceQueryableMethod): fix
	exception message.

2009-12-03  Marek Safar  <marek.safar@gmail.com>

	* EnumerableExecutor.cs, EnumerableExecutor_T.cs, EnumerableQuery.cs
	EnumerableQuery_T.cs: Implemented.

2009-11-14  Jb Evain  <jbevain@novell.com>

	* QueryableTransformer: adjust to latest ExpressionTransformer
	changes.

2009-11-12  Eric Maupin  <me@ermau.com>

	* Enumerable.cs (ToLookup): Accept null keys.
	* Lookup.cs: Accept null keys.

2009-10-08  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs (Empty): Optimized allocation.

2009-08-07  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs (Skip): Optimized and fixed int.MaxValue overflow.

2009-07-20  Jb Evain  <jbevain@novell.com>

	* Lookup.cs: avoid a double dictionary lookup on the indexer.

2009-07-19 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* Lookup.cs: when there are no matching elements, return an empty
	enumerable. Fixes bug #523386.

2009-05-18  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Max, Min): fix generic versions.

2009-04-03  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Cast): fix for when casted enumerator is already
	of the appropriate type.

2009-03-28  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix Intersect.

2009-02-23  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs (IterateNullable): Compare unwrapped values.

2009-02-23  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (IterateNullable): fix initial value
	for nullables.

2009-01-22  Jb Evain  <jbevain@novell.com>

	* SortSequenceContext.cs: make sort stable.

2009-01-22  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Sum): check the sum operations for possible overfows.

2009-01-22  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (SequenceEqual): make sure we dispose enumerators.

2009-01-22  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: optimize Last for lists.

2009-01-15  Jb Evain  <jbevain@novell.com>

	* Lookup.cs: propage the appropriate comparer for the lookup.

2008-11-20  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Any): optimize if we're operating on an ICollection.

2008-09-30  Jb Evain  <jbevain@novell.com>

	* QueryableEnumerable.cs: fix ElementType.

2008-09-28  Sebastien Pouliot  <sebastien@ximian.com>

	* Enumerable.cs: Add missing cast Average on IEnumerable<long?> to
	ensure the result is not truncated.
	[Found using Gendarme's ReviewCastOnIntegerDivisionRule]

2008-09-11  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Iterate*): use a bool empty instead of an int counter.
	Fixes #425344.

2007-08-14  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs (Cast): Simplified.

2008-08-08  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Take): fix not too consume an uneeded item from
	the source enumerable. Fix #415644.

2008-07-24  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs (First): Optimized.

2008-05-27  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Sum): don't throw if source is empty.
	Fixes #394827.

2008-05-20  Roei Erez  <roeie@mainsoft.com>

	* Lookup.cs: Implement ApplyResultSelector method

2008-05-20  Roei Erez  <roeie@mainsoft.com>

	* Queryable.cs: Implement the non-generic AsQureyable method.

2008-05-20  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs: Removed GroupBy MonoTODO.

2008-05-19  Roei Erez  <roeie@mainsoft.com>

	* Enumerable.cs: Implemente two overloaded GroupBy methods.

2008-05-15  Jb Evain  <jbevain@novell.com>

	* QueryableEnumerable.cs: Make that the first expression is a constant
	of itself, and not a constant of the source enumerable.
	* QueryableTransformer.cs: On a constant, transform a QueryableEnumerable
	into the enumerable.
	* Queryable.cs: use new constructor.

2008-05-15  Jb Evain  <jbevain@novell.com>

	* QueryableTransformer.cs, QueryableEnumerable.cs: coding style plus
	some good refactorings.

2008-05-15  Roei Erez  <roeie@mainsoft.com>

	* QueryableTransformer.cs: missed in the last commit.

2008-05-15  Roei Erez  <roeie@mainsoft.com>

	* QueryableTransformer.cs, QueryableEnumerable.cs: two classes added for implementation
	of Queryable.AsQueryable() implementation.
	* Queryable.cs: Implement AsQueryable() method.

2008-05-08  Jonathan Pryor  <jpryor@novell.com>

	* Enumerable.cs: LongCount() can be optimized for arrays, and Reverse() can
	  be implemented in terms of IList w/o needing a temporary List<T> copy.

2008-05-06  Sasha Kogan  <sashak@mainsoft.com>

	* Queryable.cs (Average, GroupBy, Union): fix signatures to
	match MS API.

2008-05-03  Jb Evain  <jbevain@novell.com>

	* Queryable.cs (OrderBy, OrderByDescending): fix signature and
	properly return a IOrderedQueryable<>.

2008-05-02  Jb Evain  <jbevain@novell.com>

	* SortSequenceContext.cs (Compare): fix key equality case
	when there's a nested sort.

2008-05-01  Jb Evain  <jbevain@novell.com>

	* SortDirection.cs, SortContext.cs, SortSequenceContext.cs:
	new infrastructure files for nested orderby/thenby calls.
	* QuickSort.cs: refactored out of OrderedSequence.cs
	* OrderedEnumerable.cs, OrderedSequence.cs: refactoring
	to use the new SortContext infrastructure.

2008-04-30  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: Average (int|long): properly compute
	average.

2008-04-22  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (ToReadOnlyCollection): optimization, use
	a generic singleton for empty read only collections.

2008-03-31  Marek Safar  <marek.safar@gmail.com>

	* Enumerable.cs: Use Math.Min and Math.Max where appropriate.

2008-03-27  Leonid Freydovich  <leonidf@mainsoft.com>

	* LambdaExpression.cs Add some TARGET_JVM specific code

2008-02-09  Miguel de Icaza  <miguel@novell.com>

	* Enumerable.cs (ToDictionary): Implement this overload.

2008-02-01  Jb Evain  <jbevain@novell.com>

	* Queryable.cs, Check.cs: integrate GHOP work from
	Andreas Noever <andreas.noever@gmail.com>.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix Intersect.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix Concat et SelectMany.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix range.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: more ArgumentNullExceptions.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix some more ArgumentNullException.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: correctly throw ArgumentNullException
	for Cast.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs (Iterate): protect against null selectors.

2008-01-21  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix IterateNullable.

2008-01-15  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: clean the ToReadOnlyCollection extension
	method.

2007-12-18  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: refactor some Min.

2007-12-18  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: refactor some more Max.

2007-12-12  Jb Evain  <jbevain@novell.com>

	* Check.cs, Enumerable.cs: extract the checks to their
	own class, as they'll be used by Queryable as well.

2007-12-04  Marek Safar <marek.safar@gmail.com>

	* Enumerable.cs: Refactor some copy&paste blocks.

2007-11-28  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: fix warnings.

2007-11-27  Scott Peterson  <lunchtimemama@gmail.com>

	* InternalOrderedSequence.cs: updated Quicksort algorithm.

2007-11-22  Atsushi Enomoto  <atsushi@ximian.com>

	* Enumerable.cs : fixed Range(int,int) that iterated one less.
	  Thanks to http://d.hatena.ne.jp/NyaRuRu/ .

2007-11-13  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: make the new unit tests pass.

2007-11-09  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: refactor the ArgumentNullException checks.

2007-11-08  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: Implement SequenceEqual.

2007-11-08  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: Complete Union.

2007-11-08  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: correctly implement Intersect.

2007-11-08  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: code cleanup.

2007-11-06  Jb Evain  <jbevain@novell.com>

	* Enumerable.cs: Fix what we return on Except. Fix #324031.

2007-09-12  Marek Safar <marek.safar@gmail.com>

	* Enumerable.cs: Fixed GroupJoin logic. Reused DefaultIfEmpty
	implementation.

2007-09-11  Marek Safar <marek.safar@gmail.com>

	* Enumerable.cs: Fixed Join recursion.

2007-08-22  Marek Safar <marek.safar@gmail.com>

	* Enumerable.cs: More SelectionMany.

2007-08-21  Marek Safar <marek.safar@gmail.com>

	* AOrderedEnumerable: New abstract base.

	* Enumerable.cs, Queryable.cs: Public methods update.

	* InternalOrderedSequence.cs: Fixed ThenBy.

2007-08-21  Marek Safar <marek.safar@gmail.com>

	* Enumerable.cs, Queryable.cs: Public methods update.

	* InternalOrderedSequence.cs, OrderedSequence.cs: Derives from
	IOrderedEnumerable<TElement>.

2007-08-17  Michael Hutchinson <m.j.hutchinson@gmail.com>

	* Enumerable.cs: Fix Aggregate's counting code, and make it more
	  efficient.

2007-06-08  Marek Safar <marek.safar@gmail.com>

	* Enumerable.cs: Fixed recursion in GroupBy.

2007-03-24  Antonello Provenzano  <antonello@deveel.com>

	* Enumerable.cs: Migrated from QueryExpression
		- Implemented overload of method Aggregate
		- Method AsEnumerable implemented
		- Method Contains overloaded
		- 'Distinct' method refactored and overloaded
		- 'Except' method refactored and overloaded
		- Method IndexOf overloaded to be used with IEqualityComparer instances
		- Method Join overloaded to be used with IEqualityComparer instances
		- Method GroupJoin overloaded to be used with IEqualityComparer instances
		- Implemented internal method ToReadOnlyCollection for support
		to expressions.

2007-02-16  Marek Safar <marek.safar@gmail.com>

	* Enumerable.cs, Queryable.cs: Remove Extension attribute.

2007-02-03  Atsushi Enomoto  <atsushi@ximian.com>

	* IQueryable_T.cs : fixed type/member signatures (generic arguments).

2007-01-19  Marek Safar <marek.safar@gmail.com>

	* QueryExpression.cs,
	* Enumerable.cs: New files.

	* Small update to recent version.

2007-01-19  Marek Safar <marek.safar@gmail.com>

	* ChangeLog: Added

