Second poll results - vilinski/nemerle GitHub Wiki

Table of Contents

Intro

During the second poll we have asked about most important language features to be added and some syntax issues.

We would like to thank all the respondents. Your opinions are very helpful for making Nemerle better and organizing our work.

Results

The poll was active for about a week (this is faaar less then the first poll). We have received 36 votes.

We have made available the detailed results, as well as results cut down to people who actually wrote some Nemerle code.

Features

The most wanted features are:

  • #416 allow extending existing classes [hard]
  • #303 indexing operator on tuples
  • #138 matching on properties (already done :-)
  • #316 Allow PInvoke methods (mostly done)
The results are similar here among people with more experience.

Additional requested features include:

  • laziness, now reported as #428
  • memoization (memoization of lazy values is already included in #428, other form of it is now reported as #425)
Stuff that needs discussion:
  • ++/-- on enum types (ToString() method already works, if not please post a bug report)
  • list comprehensions in the style of Haskell, [x | x <- xs, x < y]
  • range lists [1..10], ['a'..'z']
  • chained assignment (x = y = 42)

Void ambiguity

We have also asked about some ambiguous expression. People are more likely to tell us to disallow something than the other way around, 4:1. So we are not going to allow this thing.

Breaks

breaks got some attention. The most voted for option was to make it available by default. However there were two options with the same results (putting it in a namespace), but with different emotional attitude. They got more votes, when we summarize results (almost 50%, and 57% among more experienced users). Therefore this is the option we're going to follow.

One interesting note is that over a half of advanced users (and about 40% of all respondents) don't like this feature, so probably the knowledge about tail recursion is out there, in the wild.

Generic specifier

As for the generic specifier -- the dot option wins. It's more popular among advanced users (36%, vs 28% among all the users). The [of] and [with] options got in summary more votes (but not among advanced users). There were also lots of votes for other options.

We have setup a page discussing various proposed solutions. You can either use use that page or or (preferably) the mailing list for sharing your ideas, so we can get back to the issue in the next poll.

Language knowledge

The level of language knowledge among respondents is quite high. Estimated user base is probably now around 50.

⚠️ **GitHub.com Fallback** ⚠️