Re[19]: Оффтопик: Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.09.06 18:25
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS> После тридцатого прочтения текста я, наконец, понял, что программе нужна сборка Nemerle.dll, а её нет в GAC. Тупею, тупею...


Вот и я о том же.

Но в ГАК ее лучше не класть. Просто положи рядом с ехе-шником.


FDS>Видать, у нас принципиально различные точки зрения. Для меня проще сделать вывод из документации, а если уж совсем плохо — тогда на форум.


Так и есть. Но у тебя вопросы скорее позновательные.

FDS> А в Nemerle практически только примеры и есть. Номальный файл описания очень помогает всё-таки, больше чем форум или разрозненная справка. (ну, не д ля спора сказано). Разве там есть описание обработки синтаксического дерева?


Кое что есть. Но в полном объеме конечно такой документации вообще ни для какого языка не найдешь. Слава богу не обязательно знать все кишки компилятора, чтобы писать макросы можно исползовать квази-цитирование.

FDS>Не видел ещё не одного вопроса по C#, на который нельзя было бы ответить после внимательного чтения спецификации (на это, правда, не все способны). Форумные вопросы в принципе должны возникать только от нестандартной реализации и багов (по крайней мере, что касается C#).


Значит плохо смотрел. Я сам иногда нахожу интересные ответы хотя казалось бы многие спецификации дотнета знаю чуть ли на изусть.

FDS>Не дошло. В Delphi можно так

FDS>
FDS>procedure proc1;
FDS>var
FDS>  C1, C2: integer;

FDS>  procedure proc2;
FDS>  begin
FDS>    C1 := C2;
FDS>  end;
FDS>....
FDS>

FDS>Что можно сделать в Nemerle круче? В примерах там вроде всё то же

У меня большое ощущение, что ты читал статью или по диагонали, или просто не вдумывался.
Попробуй еще раз прочесть раздел: Локальные функции
Автор(ы): Сергей Туленцев, Владислав Чистяков
Дата: 23.05.2006
Производительность труда программиста в основном зависит от самого программиста. Однако даже самый опытный и знающий программист мало что может без подходящего инструмента. Эта статья открывает цикл статей об одном из таких инструментов, еще мало известном среди программистов, но очень многообещающем. Язык Nemerle, о котором пойдет речь в этих статьях, на первый взгляд очень похож на слегка улучшенный C#, но привносит многое из передовых исследовательских языков. Данная статья рассказывает об отличиях Nemerle от C# (как наиболее близкого языка)и является неформальным введением в язык.
и далее.

У функций Немерла два основных отличий.
1. Их функции являются полноценными лексическими замыканиями. Так что ты можешь использовать напрямую все переменные и функции объявленные выше данной. Например:
usung System.Console;

mutable x = 5;
def add(a, b) { a + b }
def addX(c) { add(c, x); }

WriteLine(addX(2));


2. Функции в Немерле являются значениями. Над ними можно совершать преобразования. В общем-то пример выше как раз это показал, но не очень явно. А вот как можно:
usung System.Console;

mutable x = 5;
def add(a, b) { a + b }
def addX = add(x, _);

WriteLine(addX(2));


FDS> Опять же, в каком документе это описано? Этот язык, наверное, в несколько раз круче, чем я о нём думаю, и всё только потому, что документация чёрт знает как оформлена. Эх, ну почему они не из Microsoft?!


Статья сделана по их сайту. Там конечно есть не все, но очень многое. Да и в статье есть многое и в одном месте.

FDS>С вашей интеграцией не так, что нужна последняя версия VSIP SDK. Насколько я понимаю, по Dial-Up её не скачать.


Скоро все будет ОК. У нас уже есть так называемый PLK который позволит сделать инсталлятор. Но надо кое что доделать.

FDS>С "простой" интеграцией:

FDS>Ну, например, переменная среды Nemerle содержала путь в одинарных кавычках, из-за чего все пути с ней были невалидны. После того, как я убрал кавычки по крайней мере стало возможным создавать проекты.

Да, есть такая проблема. Она уже исправлена, но в инсталляторе конечно все по старому.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.