-
Notifications
You must be signed in to change notification settings - Fork 0
CSharp 3.0 Features
Microsoft has released a specification for C# 3.0. We thought it would be funny to compare what they are planning with what we have already in Nemerle.
This was in Nemerle since the very beginning. We however do not limit ourselves to the case when the type of initializer expression is known in detail (or to be precise, if known at all).
An issue reported in the tracker. They are already fully implemented.
Again, this was in Nemerle since the very beginning. The restrictions on parameter inference don't apply.
We have the Record macro and named method parameters, though this seems somewhat nicer. Will have to investigate.
Our tuples are more like tuples in math -- the fields don't have names, only numbers. It is an open issue which design is better.
We implement analog of C# Anonymous types as "new" macro. You can find it implementation here https://github.com/rsdn/nemerle/tree/master/macros/AnonymousClass.n.
Examples of using "new" macro you can find here:
https://github.com/rsdn/nemerle/tree/master/ncc/testsuite/positive/anonymous-classes.n
https://github.com/rsdn/nemerle/tree/master/ncc/testsuite/positive/anonymous-classes-lib.n
No kidding.
This feature implemented as macro in "Linq" project (https://github.com/rsdn/nemerle/tree/master/Linq)
This seems like this is needed only for query expressions. Macros (and specifically quotations) are much more general and powerful mechanism.
This feature implemented as macro in "Linq" project (https://github.com/rsdn/nemerle/tree/master/Linq).