Re[4]: Nemerle 1.x Sample Pack
От: Rival Таиланд
Дата: 31.10.11 11:30
Оценка:
Здравствуйте, CodingUnit, Вы писали:

// identical — 'double' is a synonym for 'float'
и ещё не стоит так писать "synonym", синонимы — это например Single и float
возможно, лучше так:
// casting to 'double' is identical to 'float' casting
хотя непонятно
let pi2 = double 3 + 0.1415
ведь в этом примере компилятор выводит типы из использования и приведение не нужно.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
Re[2]: Nemerle 1.x Sample Pack
От: Denom Украина  
Дата: 31.10.11 11:35
Оценка:
Здравствуйте, CodingUnit, Вы писали:

CU>Sample pack начинает наполняться здесь:


Откуда берётся список фич для которых делаются примеры?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[3]: Nemerle 1.x Sample Pack
От: CodingUnit Россия  
Дата: 31.10.11 12:38
Оценка:
Здравствуйте, Denom, Вы писали:

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


CU>>Sample pack начинает наполняться здесь:


D>Откуда берётся список фич для которых делаются примеры?


Пока копируем просто http://fsharp3sample.codeplex.com/
пока делаем почти один в один, с разными улучшениями Н, что понадобится сделать чтобы представить все примеры, из за отсутствия соответствующих фич в Н, неизвестно.
Re[5]: Nemerle 1.x Sample Pack
От: CodingUnit Россия  
Дата: 31.10.11 12:56
Оценка:
Здравствуйте, Rival, Вы писали:

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


R>// identical — 'double' is a synonym for 'float'

R>и ещё не стоит так писать "synonym", синонимы — это например Single и float
R>возможно, лучше так:
R>// casting to 'double' is identical to 'float' casting

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

R>хотя непонятно

R>let pi2 = double 3 + 0.1415
R>ведь в этом примере компилятор выводит типы из использования и приведение не нужно.

Это наверное чтобы показать явно тип выражения. Вообщем если нужно можно сделать по другому, самое главное чтобы в этом был смысл.
Re[4]: Nemerle 1.x Sample Pack
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.10.11 16:06
Оценка:
Здравствуйте, CodingUnit, Вы писали:

CU>Да возможно, оригинальный пример выглядел так:

CU> let pi1 = float 3 + 0.1415 // 'float' is an overloaded conversion operator
CU> let pi2 = double 3 + 0.1415 // identical — 'double' is a synonym for 'float'

В F# float и double, похоже и правда, синонимы. В Немерле — нет. Так что комментарий уже некорректен.

Аналог приведенному коду будет таким:
def pi1 = 3 + 0.1415f; // pi1 has type float. 3 automatically converted to float. 
def pi2 = 3 + 0.1415; // pi1 has type double. 3 automatically converted to double.

более близкий, но бессмысленный, вариант:
def pi1 = 3 : float + 0.1415f; // pi1 has type float.
def pi2 = 3 : double + 0.1415; // pi1 has type double.

Еще будет полезен пример:
def pi1 = 3.1f + 0.1415; // pi1 has type double.

Что демонстрирует автоматическое приведение типов от float к double.

Так же стоит заметить в коменте, что float не эквивалентен double.

CU>наверное надо переписать так:

CU>def pi1 = (3 + 0.1415) :> float;

Нет. Тут будет вставлено рантаймное приведение типов. И этот пример вообще не эквивалентен F#-овскому.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Nemerle 1.x Sample Pack
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.10.11 16:09
Оценка:
Здравствуйте, Rival, Вы писали:

R>// identical — 'double' is a synonym for 'float'

R>и ещё не стоит так писать "synonym", синонимы — это например Single и float
R>возможно, лучше так:
R>// casting to 'double' is identical to 'float' casting
R>хотя непонятно
R>let pi2 = double 3 + 0.1415
R>ведь в этом примере компилятор выводит типы из использования и приведение не нужно.

В F# float действительно синоним к double. А то что в Си-подобных языках называют float-ом, у них называется sign. И пример:
let pi1 = sign 3 + 0.1415

у них не скомпилируется.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Nemerle 1.x Sample Pack
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.10.11 16:12
Оценка:
Здравствуйте, CodingUnit, Вы писали:

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


То и имели. В F# это правда синонимы. А float у них называется single.

R>>хотя непонятно

R>>let pi2 = double 3 + 0.1415
R>>ведь в этом примере компилятор выводит типы из использования и приведение не нужно.

CU>Это наверное чтобы показать явно тип выражения. Вообщем если нужно можно сделать по другому, самое главное чтобы в этом был смысл.


В F# вообще нет неявных приведений типов. У них вывод типов на это не рассчитан. От того и все пляски с бубном.
Но это еще что?... В OCaml-е нет даже перегрузки операторов. Там для целочисленного сложения используются операторы отличные от операторов сложения вещественных чисел.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Nemerle 1.x Sample Pack
От: CodingUnit Россия  
Дата: 27.11.11 15:02
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Наткнулся тут на F# 3.0 Sample Pack. Идея мне понравилась.


VD>Может кто-то займется клонированием этого набора примеров на немерде. Думаю это будет очень полезно.


VD>Оформить это дело можно прямо в вики на гитхабе. А код хранить в сниппетах.


Сэмплпак наполняется, но у меня не очень хорошее ощущение что мы делаем это не совсем легально, эти материалы так просто утаскивать и использовать помоему нельзя, может стоить написать соответствующие копирайты и в названиях дать, что используется на основе материалов F# 3.0 Sample pack?
Re[2]: Nemerle 1.x Sample Pack
От: CodingUnit Россия  
Дата: 28.11.11 17:28
Оценка:
Здравствуйте, CodingUnit, Вы писали:


CU>Сэмплпак наполняется, но у меня не очень хорошее ощущение что мы делаем это не совсем легально, эти материалы так просто утаскивать и использовать помоему нельзя, может стоить написать соответствующие копирайты и в названиях дать, что используется на основе материалов F# 3.0 Sample pack?


Сам же отвечу на свой вопрос, набросал Terms of Use с копирайтами, если есть спецы, посмотрите правильно ли я это сделал?

Вот здесь копирайты и лицензия https://github.com/rsdn/nemerle/wiki/Terms-of-use,-legal-notice

Их надо будет теперь вставить еще в каждый пример.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.