Неоднозначность в поиске класса
От: _NN_ www.nemerleweb.com
Дата: 29.03.13 18:39
Оценка:
Я наивно полагал, что Nemerle ведеть себя аналогично C# в поисках имен.
Однако это не совсем так.
Это баг или так задумано ?

Nemerle:
namespace A
{
   class X{}
   namespace B
   {
      class X{}
      class Q
      {
          x : X;
      }
   }
}

source.n:9:15:9:16: error: type name `X' is ambiguous, it could be:
source.n:3:4:3:4: hint: possible type: `A.X'
source.n:6:7:6:7: hint: possible type: `A.B.X'



C#
namespace A
{
   class X{}
   namespace B
   {
      class X{}
      class Q
      {
          X x;
      }
   }
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Неоднозначность в поиске класса
От: nikov США http://www.linkedin.com/in/nikov
Дата: 29.03.13 18:42
Оценка: 1 (1) :))) :)
Здравствуйте, _NN_, Вы писали:

_NN>Я наивно полагал, что Nemerle ведеть себя аналогично C# в поисках имен.

_NN>Однако это не совсем так.
_NN>Это баг или так задумано ?

А что написано в спецификации?
Re[2]: Неоднозначность в поиске класса
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.03.13 19:40
Оценка:
Здравствуйте, nikov, Вы писали:

N>А что написано в спецификации?


Там написано — "Сделайте так как вам удобнее.".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Неоднозначность в поиске класса
От: artelk  
Дата: 30.03.13 07:30
Оценка:
Здравствуйте, _NN_, Вы писали:

Аналогично с методами:
http://rsdn.ru/forum/nemerle/4809288
Автор: artelk
Дата: 07.07.12

https://github.com/rsdn/nemerle/issues/373
Re: Неоднозначность в поиске класса
От: matumba  
Дата: 01.04.13 14:32
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Я наивно полагал, что Nemerle ведеть себя аналогично C# в поисках имен.


а{на}логично и ведёт! Из двух равных имён выбирает самое смешное и компилирует.

_NN>source.n:9:15:9:16: error: type name `X' is ambiguous, it could be:


Я придерживаюсь мнения Немерли: ситуация НЕоднозначная.
Re[2]: Неоднозначность в поиске класса
От: nikov США http://www.linkedin.com/in/nikov
Дата: 01.04.13 17:03
Оценка: +1
Здравствуйте, matumba, Вы писали:

M>Я придерживаюсь мнения Немерли: ситуация НЕоднозначная.


Я не о том, какое решение более интуитивно. Напишите это в спецификации, и придерживайтесь на здоровье.
Re[3]: Неоднозначность в поиске класса
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.04.13 09:36
Оценка:
Здравствуйте, nikov, Вы писали:

N>Я не о том, какое решение более интуитивно. Напишите это в спецификации, и придерживайтесь на здоровье.


Это в корне не верный подход. Написать, конечно, было бы здорово. Но вот выбирать надо то что людям больше по вкусу.

В данном случае надо исправлять поведение. С одной стороны оно не критично. Всегда можно задать составное имя. Но раз людям неудобно...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Неоднозначность в поиске класса
От: gloomy rocker Россия  
Дата: 03.04.13 19:05
Оценка: 2 (2) +1
Здравствуйте, VladD2, Вы писали:

VD> N>А что написано в спецификации?


VD> Там написано — "Сделайте так как вам удобнее.".


Может стоит сделать как в шарпе? Чтобы расширить подмножество исходников шарпа, которые немерле будет корректно компилировать.
avalon 1.0rc3 build 432, zlib 1.2.5
Скука — двигатель прогресса.
Re[4]: Неоднозначность в поиске класса
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.04.13 11:52
Оценка:
Здравствуйте, gloomy rocker, Вы писали:

GR>Может стоит сделать как в шарпе? Чтобы расширить подмножество исходников шарпа, которые немерле будет корректно компилировать.


Идея здравая. Осталось только найти время на ее реализацию.

Ни у кого нет желания побороться с этой задачей?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Неоднозначность в поиске класса
От: matumba  
Дата: 05.04.13 15:13
Оценка:
Здравствуйте, nikov, Вы писали:

N>Я не о том, какое решение более интуитивно. Напишите это в спецификации, и придерживайтесь на здоровье.


В том и беда, что данная неоднозначность является "халтурой" программиста — подразумеваться могут оба класса с равной вероятностью => нельзя из них выбирать единственный, только по явной указке прогера.
Re[4]: Неоднозначность в поиске класса
От: Аноним  
Дата: 01.05.13 21:52
Оценка: +1
Здравствуйте, matumba, Вы писали:

M>В том и беда, что данная неоднозначность является "халтурой" программиста — подразумеваться могут оба класса с равной вероятностью => нельзя из них выбирать единственный, только по явной указке прогера.


Как по мне, в С# правильный подход: если у тебя в библиотеке свой маленький класс "Tuple" и вдруг микрософт придумывает свою тюплу, я не хочу чтоб моя библиотека вдруг ломалась.
Re[4]: Неоднозначность в поиске класса
От: _NN_ www.nemerleweb.com
Дата: 02.09.13 18:36
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В данном случае надо исправлять поведение. С одной стороны оно не критично. Всегда можно задать составное имя. Но раз людям неудобно...

В том и дело что с составным именем получается неудобно.
Эта проблема остро всплывает в генерации (макрос), когда не думаешь о том, что нужно всегда искать полное имя.
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.