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-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

