Re[12]: Предлагаю подобрать скобки для типов...
От: nikov США http://www.linkedin.com/in/nikov
Дата: 17.12.09 17:24
Оценка:
Здравствуйте, nikov, Вы писали:

VD>>Этот вопрос решается по другому. Можно сделать поддержку C#-синтаксиса, так чтобы в проект можно было бы просто включать C#-файлы.


N>Вы учтите, что в C# некоторые вещи запатентованы, так что имеет смысл заранее поговорить с юристом.


Ещё: Ecma-334, Microsoft patent statement
Re[12]: Предлагаю подобрать скобки для типов...
От: Иванков Дмитрий Россия  
Дата: 17.12.09 19:22
Оценка:
Здравствуйте, nikov, Вы писали:

N>Вы учтите, что в C# некоторые вещи запатентованы, так что имеет смысл заранее поговорить с юристом.


Не думаю, что документ не прогнанный через спеллчекер заслуживает внимания
Re[13]: Предлагаю подобрать скобки для типов...
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.09 21:01
Оценка:
Здравствуйте, nikov, Вы писали:

N>>Вы учтите, что в C# некоторые вещи запатентованы, так что имеет смысл заранее поговорить с юристом.


N>Ещё: Ecma-334, Microsoft patent statement


Кабздей ослику, тфу ты, Моно!

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

В прочем, я вообще не понимаю, что там можно было патентовать? Шарп содран с Явы. Это ясно как божий день. Ни одной новой фичи в нем нет. Что в нем патентовать то?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Предлагаю подобрать скобки для типов...
От: nikov США http://www.linkedin.com/in/nikov
Дата: 17.12.09 21:09
Оценка:
Здравствуйте, VladD2, Вы писали:

N>>Ещё: Ecma-334, Microsoft patent statement


VD>Кабздей ослику, тфу ты, Моно!


А ты уверен, что у Novell и Microsoft нет никакого соглашения о кросс-лицензировании? Они как-никак партнеры.
Re[15]: Предлагаю подобрать скобки для типов...
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.09 22:28
Оценка: +1
Здравствуйте, nikov, Вы писали:

N>А ты уверен, что у Novell и Microsoft нет никакого соглашения о кросс-лицензировании? Они как-никак партнеры.


Я уверен в том, что день когда МС засудит кого-то по патентам на дотнет будет предпоследним днем в который у кого-то возникнет идея создавать какие-то продукты на базе стандартов МС.

А отношения между Новелом и МС меня не трогают, как не трогает партнерство между львом и антилопой.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Предлагаю подобрать скобки для типов...
От: sto Украина http://overstore.codeplex.com
Дата: 19.12.09 21:39
Оценка: +1 :)
Здравствуйте, hi_octane, Вы писали:

J>>А теперь замени круглые скобки на квадратные — что изменилось?


_>Ну сравни


_>
_>x = MyClass.X(a, b);
_>     с 
_>x = MyClass.X[a, b];
_>


_>И что изменилось? Как программист в случае индексации [] я получаю подсказку что имеет место обращение к коллекции, которая как-то индексируется. Что при повторном обращении с тем же набором индексов [a, b] — я получу тот же самый элемент что и в прошлый раз (в случае ссылочных типов — так и reference equal элемент), что я могу по этой коллекции прокатить foreach или select, и т.п. Повторюсь — индексаторы это костыль к методам, но не больший костыль чем свойства. Да и есть уже один язык который подвергся тотальной унификации и теперь сидит в очень узкой нише — lisp. Лиспу никаких скобок кроме круглых не надо, но и писать на нём готовы считанные люди.


ИМХО, наиболее приятной альтернативой представляется индексатор с круглыми скобками.
1) Он не вводит никаких новых символов в конструкции, а только убирает (точку).
2) Он есть в VB.NET
3) Индексатор в .NET — это метафора "свойство с параметрами", или же "дефолтное свойство с параметрами" в случае this[]. Как отметили выше, в С индексатор — это метафора прямого доступа к памяти, которая в безопасном дотнете не совсем уместна. То, что такой синтаксис оставили (в С#) для массивов, а также дали возможность объявлять свои индексаторы — это, имхо, для блюдения все того же принципа "наименьшей болезенности" при переходе с С/С++. То есть в С — это доступ к памяти, в С++ -доступ к памяти/вызов перегруженного оператора [], в С# — это таки вызов метода, и круглые скобки для него, имхо, были бы логичнее даже в C#.
4) При всем уважении к доводам процитированного автора — "обращение к коллекции", "тот же самый элемент", "могу прокатить foreach" — это не всегда, мягко говоря, верно, и относиться больше к code conventions и рекомендациям по дизайну классов.
5) (Могу ошибаться) Так ли уж часто в прикладном коде на функциональном языке нужен индексатор? В Dictionary словаря можно Item(TKey key) использовать.
There is no such thing as the perfect design.
Re[7]: Предлагаю подобрать скобки для типов...
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 19.12.09 21:48
Оценка:
Здравствуйте, sto, Вы писали:

sto>5) (Могу ошибаться) Так ли уж часто в прикладном коде на функциональном языке нужен индексатор? В Dictionary словаря можно Item(TKey key) использовать.


Мои написанные на Немерле алгоритмы часто работают с гигабайтами данных. Без массивов тут — никуда.
Ce n'est que pour vous dire ce que je vous dis.
Re[7]: Предлагаю подобрать скобки для типов...
От: hardcase Пират http://nemerle.org
Дата: 20.12.09 13:40
Оценка: -1
Здравствуйте, sto, Вы писали:

sto>3) Индексатор в .NET — это метафора "свойство с параметрами", или же "дефолтное свойство с параметрами" в случае


Тогда было бы логично обращаться к нему натурально через точку, как и в случае со свойствами:
a.[10]

Эта идея тут уже высказывалась, основной аргумент "против": индексатор используется не в пример чаще конструкции уточнения типа.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[5]: Предлагаю подобрать скобки для типов...
От: vdimas Россия  
Дата: 23.12.09 10:49
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Плохо. "|" уже сильно задействован в других констуркциях. Конфликтов будет еще больше.


А смотрится вполне, эстетически лучше, чем все предложенное.

А может ли знак "!" идти после идентификатора в N? Если нет, то попробовать его:
class MyClass!T! : IMyInterface!T!
{
}

или даже так:
class MyClass!T : IMyInterface!T
{
}

class MyClass!TKey,TValue : IMyInterface!TKey,TValue
{
}
Re[6]: Предлагаю подобрать скобки для типов...
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.12.09 12:17
Оценка:
Здравствуйте, vdimas, Вы писали:

V>А может ли знак "!" идти после идентификатора в N?


С не парными символами вообще проблем много.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: В копилку
От: artelk  
Дата: 23.12.09 21:43
Оценка:
"Магический" токен можно засунуть внутрь:

MyClass[of T1, T2] // где-то я что-то такое видел...
MyClass[of T1, of T2]
MyClass[:T1, :T2]
MyClass[!T1, !T2]
MyClass[@T1, @T2]
MyClass[ #T1, #T2]
MyClass[$T1, $T2]
MyClass[%T1, %T2]
MyClass[^T1, ^T2]
MyClass[&T1, &T2]
MyClass[`T1, `T2]
MyClass['T1, 'T2] // где-то я что-то такое видел...
MyClass[?T1, ?T2]

Аналогично для угловых скобок <...>
Re: Предлагаю подобрать скобки для типов...
От: seregaa Ниоткуда http://blogtani.ru
Дата: 24.12.09 05:27
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>1. Какой синтаксис скобок выбрать для этого? Например, можно использовать скобки состоящие из двух символов (на подобии тех, что используются в квази-цитировании) — <( )>, [< >] или скобки в сочетании с некоторым символом: <% %>, <| |> и т.п. Скобки вида ([ ]) и [( )] лучше не использовать, так как они конфликтуют с имеющимися конструкциями.

VD>Приветствуются любые мысли!

Функциональный язык к новым синтаксисом уже есть, имхо F# прочно займет эту нишу, да и "железные" языки подтягиваются. Поэтому для Немерле было бы лучше остаться си-шарпом-на-стероидах, а значит иметь максимальную совместимость с его синтаксисом.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[2]: Предлагаю подобрать скобки для типов...
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.12.09 11:01
Оценка:
Здравствуйте, seregaa, Вы писали:

S>Функциональный язык к новым синтаксисом уже есть,


С новым, говоришь?
Этому новому синтаксису где-то около 30 лет.

S>имхо F# прочно займет эту нишу, да и "железные" языки подтягиваются. Поэтому для Немерле было бы лучше остаться си-шарпом-на-стероидах, а значит иметь максимальную совместимость с его синтаксисом.


Согласен. Но дизайн языка — это всегда компромиссы. В данном случае имеет место компромисс между похожестью на шарп и однозначностью синтаксиса. На мой взгляд большая однозначность лучше, так как она способствует как упрощению языка, так и лучшей его расширяемости. А расширяемость — конек Немерле.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Предлагаю подобрать скобки для типов...
От: seregaa Ниоткуда http://blogtani.ru
Дата: 24.12.09 11:52
Оценка:
Здравствуйте, VladD2, Вы писали:

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


S>>Функциональный язык к новым синтаксисом уже есть,

VD>С новым, говоришь?
VD>Этому новому синтаксису где-то около 30 лет.
Я имел ввиду новизну не в историческом смысле, а в смысле незнакомости для c# программистов, who new to functional programming.

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


Чтобы как следует расчуствовать расширяемость, разработчик должен сначала попробовать язык в деле. А для этого "первая доза должна быть бесплатной", и каждое отличие в синтаксисе имхо увеличивает эту плату.

Я не за идентичности синтаксиса любой ценой, но за максимально возможное соответствие. Мой пост можно расценивать как вклад в копилку аргументов за сохранение угловых скобок, пусть и с двоеточием в виде префикса. А окончательное решение конечно нужно принимать по совокупности всех аргуменов.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[4]: Предлагаю подобрать скобки для типов...
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.12.09 13:31
Оценка:
Здравствуйте, seregaa, Вы писали:

S>Чтобы как следует расчуствовать расширяемость, разработчик должен сначала попробовать язык в деле. А для этого "первая доза должна быть бесплатной", и каждое отличие в синтаксисе имхо увеличивает эту плату.


S>Я не за идентичности синтаксиса любой ценой, но за максимально возможное соответствие. Мой пост можно расценивать как вклад в копилку аргументов за сохранение угловых скобок, пусть и с двоеточием в виде префикса. А окончательное решение конечно нужно принимать по совокупности всех аргуменов.


И получается, что интересы новичков начинают конфликтовать с интересами тех, кто использует язык по полной.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Предлагаю подобрать скобки для типов...
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.12.09 08:23
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Собственно сделать это не сложно. Но есть три вопроса:

VD>1. Какой синтаксис скобок выбрать для этого? Например, можно использовать скобки состоящие из двух символов (на подобии тех, что используются в квази-цитировании) — <( )>, [< >] или скобки в сочетании с некоторым символом: <% %>, <| |> и т.п. Скобки вида ([ ]) и [( )] лучше не использовать, так как они конфликтуют с имеющимися конструкциями.
VD>2. Нужно ли делать это до выпуска версии 1.0 или отложить смену синтаксиса до будущей версии?
VD>3. Делать ли такую смену в виде ключа компиляции допускающего как квадратные скобки с точкой (как принято сейчас), так и новые скобки?

VD>Приветствуются любые мысли!


А может оставить < > но ввести слово typename как было в шаблонах с++ ?
йё
Re: Предлагаю подобрать скобки для типов...
От: konstardiy  
Дата: 29.12.09 16:12
Оценка:
Здравствуйте, VladD2, Вы писали:
List :( T = Type1 )

List : (Type1)


или
Dictionary @ (KeyT = Type1 & ValueT = Type2)
Dictionary @(Type1, type2)

То сть тогда @ преобеает смылсл слова "специализируется". Dictionary специализируеься type1 и Type 2
Возможность укзать явно, для каких аргументов генерика какой тип принять — мне нравится.
Этого варианта в голсовании нет.
Re[2]: Предлагаю подобрать скобки для типов...
От: nikov США http://www.linkedin.com/in/nikov
Дата: 29.12.09 16:17
Оценка:
Здравствуйте, konstardiy, Вы писали:

K>Возможность укзать явно, для каких аргументов генерика какой тип принять — мне нравится.


А может быть, сразу, и значения по умолчанию приделать...
Re[2]: Предлагаю подобрать скобки для типов...
От: hardcase Пират http://nemerle.org
Дата: 29.12.09 21:33
Оценка:
Здравствуйте, konstardiy, Вы писали:

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

K>
K>List :( T = Type1 )

K>List : (Type1)
K>


Эстетически выглядит плохо — как грустный "смайлик".

K>или

K>
K>Dictionary @ (KeyT = Type1 & ValueT = Type2)
K>Dictionary @(Type1, type2)
K>


С "собакой" получще, но квадратные скобки привычнее, по крайней мере со смайлами не ассоциируется....


А может заюзать подчеркивание? Оно глаза не так мозолит, как разные, в сущности мусорные, символы?

Dictionary_[Type1, type2]
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Предлагаю подобрать скобки для типов...
От: Мишень-сан  
Дата: 30.12.09 07:30
Оценка:
Здравствуйте, hardcase, Вы писали:

H>А может заюзать подчеркивание? Оно глаза не так мозолит, как разные, в сущности мусорные, символы?


H>Dictionary_[Type1, type2]


Не выйдет, к сожалению
_ вполне легальный символ в любом литерале, причём на любой позиции. ИМХО, такой вариант создаст ещё больше неоднозначностей, чем <> или [].
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.