Linked by Eugenia Loli-Queru on Wed 14th Sep 2005 15:07 UTC, submitted by Michał Moskal
.NET (dotGNU too) A new major version of Nemerle language was released. Nemerle features a very high level .NET language with functional programming support. This version brings full support to .NET 2.0 generics and a bunch of other things. After the release of C# 3.0 spec preview it might be interesting to see how could next generation of .NET languages look like.
Thread beginning with comment 31108
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Hmm
by japail on Wed 14th Sep 2005 18:26 UTC in reply to "Hmm"
japail
Member since:
2005-06-30

You're right, that does sound pretty bitter. How is that Common Lisp standard revision going? Is it pushing any boundaries? Did it turn into a statically-typed language that relies on manifest typing in order to need local-variable type inference to annoy programmers less? Perhaps it's switched to single-dispatch and inflexibly coupled methods to type definitions so that it needs "extension methods?" Those retarded collection initializers don't exactly look like Common Lisp to me, perhaps they're new?

Actually upon looking at this specification, Microsoft appears to be doing some things to make their language less retarded, and others to just make it needlessly complicated (such as query expression translation).

Reply Parent Bookmark Score: 1

RE[2]: Hmm
by rayiner on Wed 14th Sep 2005 18:58 in reply to "RE: Hmm"
rayiner Member since:
2005-07-06

Heh. My comment was, of course, somewhat tongue in cheek, but my point was that C# is trying to solve the same problems as Common Lisp, and going about it in the same general way. Now, that might be like saying that the engineering behind a Porche and a Yugo is "generally similar", but issues of quality aside, they're both cars, right?

Completely static typing is annoying. CL solved it by making use of type declarations optional. C# attempts to solve it by making omission of type declarations optional. Methods coupled to classes is annoying. CL solves it by using generic methods, C# is trying to solve it by using extension methods. And collection initializers, well, do remind me a bit of CL. The example on page 16 could be mapped quite cleanly to LIST plus a defclass with initargs (or a defstruct).

Reply Parent Bookmark Score: 1

RE[3]: Hmm
by japail on Wed 14th Sep 2005 19:19 in reply to "RE[2]: Hmm"
japail Member since:
2005-06-30

My point is that C# takes the short bus to school every day, and as such to remain within its conceptual framework while still providing improvements to the people that use it every day for whatever it is people use .NET for, it requires things that aren't like Common Lisp even if they alleviate problems that Common Lisp doesn't have.

When every third-party language for the CLR adds local type inference, why should C# not do it and instead worry about merging research work, or otherwise add any other experimental functionality right this second? When they see a clear need, or are confident that their work can be merged into the mainline language you can rest assured that C# ?.0 will be released. They aren't going to develop Alice# overnight; they're going to do it over the course of the next decade. ;)

Reply Parent Bookmark Score: 2

RE[2]: Hmm
by smitty_one_each on Thu 15th Sep 2005 11:27 in reply to "RE: Hmm"
smitty_one_each Member since:
2005-07-07

>and others to just make it needlessly complicated (such as query expression translation).
Redmond has always excelled at taking existing, standardized things and specializing them to their platform. You can argue in a positive sense that this helps build the brand and free them from copyright worries. Or you can argue otherwise, but the day is too nice to troll.

Reply Parent Bookmark Score: 1