rsdn/nemerle — pull request #454 by NN--- (2013-01-11 09:36:18+00:00)
Title: Operator()

Adds support for overloading '()'.
This allows to write code which looks like objects constructor while creating object types:

```nemerle
class jQueryClass
{
public static @()(_ : jQueryClass, s : string) : int { 1 }
public static @()(_ : jQueryClass, s : int) : string { "#div" }
}

def jQuery = jQueryClass();

jQuery("#div") // 1
jQuery(1) // #div
```

P.S.
There is no compile time penalty, since expression in 'a()', the 'a' will be never typed as FixedType.Class in a regular code.
Only for oveloading '()' it will be typed as FixedType.Class.