Язык Nemerle, как оказалось, откровенно смешная штука. Впрочем, я подозревал :)
Напомнило haXe, но и отличия налицо.
Общее: и то, и то – маленькие ЯП, с небольшой комьюнити, де-юре стандарта нету (имплементация является стандартом), документации минимум, забавный компилятор, который выдает весьма cryptic errors, т.к. выразительная мощность (и количество потенциально возможных несоответствий написанного кода задумке программиста) совершенно несообразна количеству строк с ошибками, зашитых в сам компилятор :)
Язык собран по принципу design by committee, aka “давайте реализуем прикольные фенечки, которые всем нравятся”, благо нету тучного груза пользователей, который заставляет тысячу раз подумать, как именно работает та или иная фича или как она совместима со всеми остальными.
Отличие в том, что компилятор хаксе и большая часть стандартной библиотеки написаны одним человеком, вследствие чего для того, чтобы на нем писать, нужно точно так же думать :) вспоминается, как мы долго (несколько дней) бились над странной ошибкой ‘Unexpected end of file’, которая, как оказалось, вызвана тем, что имена типов в хаксе должны начинаться с большой буквы, и это тупо зашито в лексер, поэтому _импортировать_ класс из чужой библиотеки (написанной не на haXe), если он начинается с маленькой – нельзя )))
Здесь людей работало больше, поэтому язык ближе к average joe, сильно недостает концептуальности, увы, но в общем его можно успешно рассматривать как “C# на стероидах и с макросами”.
Выведение типов очень смешное, в смысле своей ограниченности. А жаль, ожидалось что это будет мощнее, чем generics. Подсветка синтаксиса и autocomplete-тоже. Код раскрашивается ожерелью ворнингов и эрроров, но тем не менее компилится. Почему? Потому что макросы есть. Фиг вам, а не автодописывалка.
Писать можно, писать прикольно. Компилится, правда, очень долго (тривиальные примеры – 5-10 секунд). Может, время компиляции от размера проекта растет незначительно, но все равно, очень непривычное ощущение, шарп компилит проекты из тысяч файлов за такое время.
UPD: а еще рефлектором нетривиальный код декомпилируется (в шарп) во что-то крайне невразумительное. Естественная обфускация :)
UPD:
скриншот глюков подсветки