Детские болезни N
От: Аноним  
Дата: 20.09.12 15:29
Оценка:
Учитывая, что N получил поддержку комерсов, было бы разумно избавить N от досадных косяков, присущих любительским продуктам.
К таким относится ошибки интеграции:
-IDE класс броузер показывает чистый лист, при отступном синтаксисе в подсказках к набираемому коду выскакивает только
окно "when, where, with" вместо подсказок членов класса. уже прибейте его, чем такие подсказки.
-абсолютно глючный winforms дизайнер
Ошибки в логике: Nemerle.Imperative должен быть включен по умолчанию, потому что N рекламируется как смешанно-парадигмальный язык,
а не опционально императивный.
Re: Детские болезни N
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 20.09.12 15:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ошибки в логике: Nemerle.Imperative должен быть включен по умолчанию, потому что N рекламируется как смешанно-парадигмальный язык,

А>а не опционально императивный.

Я так понимаю, под смешанностью имеется в виду OOP/FP, а не включение по умолчанию всего подряд.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Детские болезни N
От: Аноним  
Дата: 20.09.12 15:38
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, Аноним, Вы писали:


А>>Ошибки в логике: Nemerle.Imperative должен быть включен по умолчанию, потому что N рекламируется как смешанно-парадигмальный язык,

А>>а не опционально императивный.

DR>Я так понимаю, под смешанностью имеется в виду OOP/FP, а не включение по умолчанию всего подряд.


гы всего подряд. когда человек берет пробовать язык, а break, continue и пр. подсвечиваются как неизвестные, это сразу ступор.
потому что думать надо о реакциях человека, впервые чупающего язык
Re: Детские болезни N
От: matumba  
Дата: 20.09.12 15:57
Оценка:
Здравствуйте, Аноним, Вы писали:

А>окно "when, where, with" вместо подсказок членов класса.


+1. Нередко это встречаю.

А>-абсолютно глючный winforms дизайнер


+1. Какие-то простейшие вещи сохраняет (тип, позицию...), поменял фонт — сглюкивает (жму save, а он что-то лопочет про "незакрытую скобку").

А>Ошибки в логике: Nemerle.Imperative должен быть включен по умолчанию


+100000000000!!!
Задолбался каждый раз подключать их, это вообще не моя проблема — эти дебильные using'и. Надо хранить какой-нибудь БОЛЬШОЙ КЭШ: как только написан неподключенный тип, среда должна подсказать — "есть три сборки с типом Батон, какую подключить?"

PS
Это всё тестил под VS2008 shell. У меня какая мысль: Если интеграция под VS2010 в два раза упрощает код — так и быть, можно потерпеть её тормоза. Если же там те же яйца, но сбоку — может имеет смысл остаться на 2008 (и компилять под 3.5, 4, 4.5 — так же можно, да?).

И это... отступы в 2 пробела — слишком мало, надо 4.
Re: Детские болезни N
От: hardcase Пират http://nemerle.org
Дата: 20.09.12 19:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Учитывая, что N получил поддержку комерсов, было бы разумно избавить N от досадных косяков, присущих любительским продуктам.

А>К таким относится ошибки интеграции:
А>-IDE класс броузер показывает чистый лист, при отступном синтаксисе в подсказках к набираемому коду выскакивает только
А>окно "when, where, with" вместо подсказок членов класса. уже прибейте его, чем такие подсказки.
А>-абсолютно глючный winforms дизайнер

А>Ошибки в логике: Nemerle.Imperative должен быть включен по умолчанию, потому что N рекламируется как смешанно-парадигмальный язык,

А>а не опционально императивный.

Бешенно плюсую Предлагаю помочь проекту не словами правильными, но делами праведными.


P.S. Nemerle.Imperative нужен раз в год по обещаниям, учитесь функциональной декомпозиции.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Детские болезни N
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.09.12 21:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>гы всего подряд. когда человек берет пробовать язык, а break, continue и пр. подсвечиваются как неизвестные, это сразу ступор.


Можно попробовать захадкодить дополнительные подсказки в сообщение об ошибке.
Так же имеет смысл сделать импортирующее автодополнение для ключевых слов макросов (как оно есть сейчас для типов в VS 2010+).

А>потому что думать надо о реакциях человека, впервые чупающего язык


Языку не так мало лет. За это время часто поднимался вопрос наличия var-, вместо mutable, но почти все кто немного привыкал к языку соглашались, то mutable лучше. С break и continue ты вроде бы первый обратился. Хотя может я просто позабыл что-то.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Детские болезни N
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.09.12 21:20
Оценка:
Здравствуйте, Аноним, Вы писали:

А>-IDE класс броузер показывает чистый лист, при отступном синтаксисе в подсказках к набираемому коду выскакивает только

А>окно "when, where, with" вместо подсказок членов класса. уже прибейте его, чем такие подсказки.

Эти фичи не реализованы.

Джет Брэйнс нас поддерживает и мы часть времени тратим на устранение проблем в Немерле, но в первую очередь тех что мешают разработке Н2 (в прочем это очень важные доработки для всех).

Но надо понять, что студийного, и тем более, Джет Брэйновского качества Немерл сможет достичь только путем очень серьезных вложений. Это не C# или VB. Кроме того у Немерла есть свои недостатки которые существенно усложняют его применение.

Мы подумали и решили, что более эффективно было реализовать платформу Н2 и уже на ней сделать то что так ждут многие.

Кстати, могу дать одну подсказку. Если вы видите, что студия показывает нечто несуразное (глючит) иногда можно избавиться от этого заставив интеграцию перечитать информацию о типах в проекта. Для этого мы сделали костыль — клавиатурное сочетание Shift + Alt + R. Сразу отвечу, что отступный режим это не выличит.

А>-абсолютно глючный winforms дизайнер


Какую версию смотрел? Если 2008, то в 2010 она поустойчивее. Но таки — да, для клепания форм проще использовать C#. А вот логику можно вынести в отдельный проект.

А>Ошибки в логике: Nemerle.Imperative должен быть включен по умолчанию, потому что N рекламируется как смешанно-парадигмальный язык, а не опционально императивный.


Это вопрос спорный. Хотя лично я не вижу ничего страшного, если этот нэймспэйс будет открыт по умолчанию (в шаблонах файлов в студии). В общем, можно обсудить и поправить. Это не сложно. Возможно найдется более красивое решение.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Детские болезни N
От: artelk  
Дата: 21.09.12 09:23
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ошибки в логике: Nemerle.Imperative должен быть включен по умолчанию, потому что N рекламируется как смешанно-парадигмальный язык,

А>а не опционально императивный.

Возможен конфликт, если включить также Nemerle.ComputationExpressions, т.к. и там и там есть макрос return.
using System;
using System.Console;

using Nemerle.Imperative;
using Nemerle.ComputationExpressions;

module Program
{
    F():int
    {
        return 13;//Unexpected use of the return construct. It can be applied only inside the known constructs of the computation expression. Please refer to the documentation for more details.
        2;
    }
  Main() : void
  {
      def seq = comp async
      {
          return F();
      };
      def val = seq.Start();
    WriteLine(val.Value);
    _ = ReadLine();
  }
}

Если поменять порядок открытия пространст имен, то компилируется...
Re[2]: Детские болезни N
От: Ziaw Россия  
Дата: 21.09.12 11:39
Оценка:
Здравствуйте, artelk, Вы писали:

A>Если поменять порядок открытия пространст имен, то компилируется...


А вот это как раз детская болезнь.
Re[2]: Детские болезни N
От: Аноним  
Дата: 21.09.12 11:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Джет Брэйнс нас поддерживает и мы часть времени тратим на устранение проблем в Немерле, но в первую очередь тех что мешают разработке Н2 (в прочем это очень важные доработки для всех).

Какие например новые доработки?

А>>-абсолютно глючный winforms дизайнер


VD>Какую версию смотрел? Если 2008, то в 2010 она поустойчивее. Но таки — да, для клепания форм проще использовать C#. А вот логику можно вынести в отдельный проект.


На уровне языка надо создавать описания визуальных редакторов. Редактор форм не более чем частный случай. Надеюсь сделают в н2
Re[3]: Детские болезни N
От: WolfHound  
Дата: 21.09.12 13:21
Оценка:
Здравствуйте, Ziaw, Вы писали:

A>>Если поменять порядок открытия пространст имен, то компилируется...

Z>А вот это как раз детская болезнь.
На самом деле починить это в общем случае очень сложно.
Но у меня есть мысли как это сделать. Может даже получится.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: Детские болезни N
От: Ziaw Россия  
Дата: 21.09.12 15:08
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>На самом деле починить это в общем случае очень сложно.


В динамически-расширяемом пеге? Да.

WH>Но у меня есть мысли как это сделать. Может даже получится.


Re[3]: Детские болезни N
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.09.12 16:31
Оценка:
Здравствуйте, Аноним, Вы писали:

VD>>Джет Брэйнс нас поддерживает и мы часть времени тратим на устранение проблем в Немерле, но в первую очередь тех что мешают разработке Н2 (в прочем это очень важные доработки для всех).

А>Какие например новые доработки?

Просто взгляни на комиты или на этот форум. Например: вот
Автор: hardcase
Дата: 10.09.12
и вот
Автор: hardcase
Дата: 06.09.12
.

Исправлены ошибки которые досаждали многим. Тут вот многие сетовали что не пойми откуда иногда вылезают тучи фантомных ошибок. Мы выявили причину этого и сейчас Хардкейс это дело устраняет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Детские болезни N
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.09.12 22:58
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>На самом деле починить это в общем случае очень сложно.

WH>Но у меня есть мысли как это сделать. Может даже получится.

Что там чинить то? Нужно просто проверить из этого макроса открыто ли пространство имен Nemerle.Imperative и если да, возвратить в своем выхлопе <[ Nemerle.Imperative.Return($e) ]>.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Детские болезни N
От: Ziaw Россия  
Дата: 22.09.12 05:54
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Что там чинить то? Нужно просто проверить из этого макроса открыто ли пространство имен Nemerle.Imperative и если да, возвратить в своем выхлопе <[ Nemerle.Imperative.Return($e) ]>.


Из какого, этого?
Re[5]: Детские болезни N
От: WolfHound  
Дата: 22.09.12 08:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Что там чинить то? Нужно просто проверить из этого макроса открыто ли пространство имен Nemerle.Imperative и если да, возвратить в своем выхлопе <[ Nemerle.Imperative.Return($e) ]>.

И что ты будешь делать, если появятся еще макросы с return?
А если авторы этих макросов друг о друге не знают?
Да и вообще втыкать костыли это плохой путь.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Детские болезни N
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.12 13:46
Оценка:
Здравствуйте, Ziaw, Вы писали:

VD>>Что там чинить то? Нужно просто проверить из этого макроса открыто ли пространство имен Nemerle.Imperative и если да, возвратить в своем выхлопе <[ Nemerle.Imperative.Return($e) ]>.


Z>Из какого, этого?


Из того что в компьютейшон-ексрешонах.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Детские болезни N
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.12 13:50
Оценка:
Здравствуйте, WolfHound, Вы писали:

VD>>Что там чинить то? Нужно просто проверить из этого макроса открыто ли пространство имен Nemerle.Imperative и если да, возвратить в своем выхлопе <[ Nemerle.Imperative.Return($e) ]>.

WH>И что ты будешь делать, если появятся еще макросы с return?

Не надо решать не существующих проблем. Твоя тяга к обобщенным решениям чрезмерна. Есть проблема. Надо ее решить и пойти дальше. Иначе на любую фигню можно пол жизни убить.

По уму просто не надо было использовать тот же кейворд. Это не Н2, все же.
Там для всех остальных введены уникальные ключевые слова. А тут вдруг взяли и использовали такой же как стандартном макросе.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Детские болезни N
От: Ziaw Россия  
Дата: 22.09.12 14:57
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Ziaw, Вы писали:


VD>>>Что там чинить то? Нужно просто проверить из этого макроса открыто ли пространство имен Nemerle.Imperative и если да, возвратить в своем выхлопе <[ Nemerle.Imperative.Return($e) ]>.


Z>>Из какого, этого?


VD>Из того что в компьютейшон-ексрешонах.



решаемая, но совсем детская.
Re[7]: Детские болезни N
От: WolfHound  
Дата: 22.09.12 15:29
Оценка:
Здравствуйте, VladD2, Вы писали:

WH>>И что ты будешь делать, если появятся еще макросы с return?

VD>Не надо решать не существующих проблем.
Ну существующих? Да правда чтоли?
А компилируемость кода зависящая от порядка using'ов не проблема?

VD>Твоя тяга к обобщенным решениям чрезмерна.

А меня достала твоя тяга к костылям.

VD>Есть проблема. Надо ее решить и пойти дальше. Иначе на любую фигню можно пол жизни убить.

И в результате ты убиваешь всю жизнь на всё новые и новые костыли.

VD>По уму просто не надо было использовать тот же кейворд.

Не говори пользователям, что им делать, и они не скажут, куда тебе идти.

VD>Это не Н2, все же.

Я про него в первую очередь и говорю.

VD>Там для всех остальных введены уникальные ключевые слова. А тут вдруг взяли и использовали такой же как стандартном макросе.

Там введены уникальные слова только из-за того что компилятор не позволил переопределить стандартные.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.