Re[14]: Мелкий холиварчик Nemerle vs. F#
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.05.11 17:07
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ты это, занеси ветку в мемориз. Сколько там тебе времени потребовалось, чтобы понять "великие" истины вроде "тайпклассы — это не ООП"? Посмотрим, когда ты наконец соблаговолишь и здесь потратить полчасика на прочтение короткой обзорной статейки.


Уважаемый, не переводи стрелки. Я прекрасно понимаю что такое классы типов Хаскеля, и обсуждать это не намерен.

В общем, я предупредил.

И вообще, удивительный ты товаришь. Я дал ссылку на другой сайт, а ты вместо идти туда и спорить с теми кто там что-то написал, пришел сюда.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Мелкий холиварчик Nemerle vs. F#
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.05.11 18:22
Оценка:
Здравствуйте, Lucax, Вы писали:

L>Сами понимаете — регистрация не прихоть, а средство защиты от спама. Так же доступен OpenID.

L>P.S. теперь региться не нужно.

У нас регистрироваться не надо, а спама особо нет. Спам появляется там где админы не следят за форумами.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Мелкий холиварчик Nemerle vs. F#
От: Воронков Василий Россия  
Дата: 22.05.11 20:01
Оценка:
Здравствуйте, dsorokin, Вы писали:

ВВ>>Не мог бы уточнить, о каком примере речь?

D>Мое сообщение выше по треду с Observable. В книге Programming F# другой, но похожий пример.

В твоем примере нет каррирования. Там происходит частичное применение через апликейшин оператор. Собственно, все используемые в твоем примере функции и так уже каррированы.
Re[11]: Мелкий холиварчик Nemerle vs. F#
От: Воронков Василий Россия  
Дата: 22.05.11 20:09
Оценка:
Здравствуйте, catbert, Вы писали:

ВВ>>Зато превращает их в набор "звездочек". В чем проблема-то?

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

Тем не менее на вопрос это не отвечает.

C>Пол Грэхем — известный лиспер, который часто пишет мудрые вещи про программирование, в том числе и про парадокс Блаба. Вот что он пишет про ламбда-функции в контексте своего языка Arc:

C>В языке Arc также нету карринга, а есть немерловые "плейсхолдеры". Мне кажется, причины все те же — карринг лишь традиция, и Грэхему это понятно.

Ну и, собственно, что? В Лиспе функции не каррируются автоматически хотя бы потому что использование каррированных функций в лисповом синтаксисе неудобно. Как и в Сишном, впрочем.

ВВ>>Обычно функция пишется в расчете на то, что будет фиксировать именно первый аргумент. Ну в конце концов можешь флипнуть ее. Хотя в реальности flip нужен не так уж и часто.

C>Функции в .NET не пишутся в расчете на это. Немерле работает с .NET и это много в чем определяет его дизайн.

А причем тут .NET? Говорили мы вроде с тобой про Хаскелл.

ВВ>>Непонятно, зачем вообще расставлять скобки. Можешь объяснить, зачем ты это делаешь?

C>Чтобы понять тип функции. Функция фолд принимает комбинатор, сид и список, и возвращает аккумулятор. Если читать, как я обычно читаю (слева направо), то выйдет, что фолд принимает комбинатор, и возвращает функцию которая принимает сид и возвращает функцию, которая принимает список, и возвращает аккумулятор.
C>Это может и правильно в мире хаскелла, но в мире .НЕТа все наоборот. Зачем извращатся? Для самой возможности карринга? Нет, спасибо.

Любая функция принимает один аргумент и возвращает другую функцию, пока не происходит сатурация. Скобочки не нужны. Что там в мире НЕТа это другой вопрос. Этот самый мир вообще под ФП не рассчитывался. И "неправильный порядок" в функциях тут лишь малая из проблем.

ВВ>>Ну да, примерчик, придуманный с целью вывести на чистую воду ограничения каррированных функций.

C>Именно так. Но библиотеки Немерла написаны так, что такие примерчики в реальном коде попадаются часто.

А причем тут Немерле? Мы о чем говорили? Зачем ты сводишь все к теме "почему в Немерле нет автоматического каррирования"? Меня это вообще не особо заботит, честно говоря.

ВВ>>И заметь, я ничего плохого об операторе (_) не говорил. А лишь поддался на очередную провокацию от Немерлианцев в стиле "ХХХ не нужен".

C>Лично для меня "карринг не нужен" это не провокация. Я откровенно так думаю.

Ради бога. А я считаю, что он способствует выразительности языка.
Re[15]: Мелкий холиварчик Nemerle vs. F#
От: Воронков Василий Россия  
Дата: 22.05.11 20:13
Оценка: :)
Здравствуйте, VladD2, Вы писали:

ВВ>>Ты это, занеси ветку в мемориз. Сколько там тебе времени потребовалось, чтобы понять "великие" истины вроде "тайпклассы — это не ООП"? Посмотрим, когда ты наконец соблаговолишь и здесь потратить полчасика на прочтение короткой обзорной статейки.

VD>Уважаемый, не переводи стрелки. Я прекрасно понимаю что такое классы типов Хаскеля, и обсуждать это не намерен.

У меня нет ни малейшего сомнения, что ты понимаешь, что такое тайпклассы. Долгие человекодни лучших умов РСДН были положены на то, чтобы это понимание у тебя сформировалось. Искренне надеюсь, что ты так же поймешь со временем, чем каррирование отличается от частичного применения.

VD>В общем, я предупредил.

VD>И вообще, удивительный ты товаришь. Я дал ссылку на другой сайт, а ты вместо идти туда и спорить с теми кто там что-то написал, пришел сюда.

А зачем идти, когда можно здесь? Не, ты правда веришь, что создавая на РСДН тему "Мелкий холиварчик Х вс. У", ты потом убедишь людей еще куда-то пойти?
Re[16]: Мелкий холиварчик Nemerle vs. F#
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.05.11 20:17
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Искренне надеюсь, что ты так же поймешь со временем, чем каррирование отличается от частичного применения.


Я знаю что одно понятие включает другое. Если ты говоришь о конкретной реализации в немерле, то не боись, я прекрасно понимаю чем оно отличается и какие у него ограничения и проблемы.

VD>>В общем, я предупредил.

VD>>И вообще, удивительный ты товаришь. Я дал ссылку на другой сайт, а ты вместо идти туда и спорить с теми кто там что-то написал, пришел сюда.

ВВ>А зачем идти, когда можно здесь?


А зачем разводить флэймы здесь? Может ты не заметил, но это форум конкретного языка. Языка в котором крринга (в то виде как это хочешь ты) не будет никогда. И ты это прекрасно понимаешь. И понимаешь почему это так.

ВВ>Не, ты правда веришь, что создавая на РСДН тему "Мелкий холиварчик Х вс. У", ты потом убедишь людей еще куда-то пойти?


Тут не во что верить. Я дал ссылку и переложил похоливарить именно там.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Мелкий холиварчик Nemerle vs. F#
От: Воронков Василий Россия  
Дата: 22.05.11 20:30
Оценка: -1 :))
Здравствуйте, VladD2, Вы писали:

ВВ>>Искренне надеюсь, что ты так же поймешь со временем, чем каррирование отличается от частичного применения.

VD>Я знаю что одно понятие включает другое.

В том-то и проблема, что не включает
Ты можешь писать на F# код, не используя частичное применения. При этом по-прежнему будешь пользоваться каррированными функциями. Ибо функции с несколькими параметрами там эмулируются либо через кортеж, либо через каррирование. Неужели это так сложно понять?

VD>А зачем разводить флэймы здесь? Может ты не заметил, но это форум конкретного языка.


А чего ты добивался размещая ссылку здесь? Что все пойдут поливать грязью F#, потому что у него "странный" синтаксис?

VD>Языка в котором крринга (в то виде как это хочешь ты) не будет никогда. И ты это прекрасно понимаешь. И понимаешь почему это так.


Я отвечал на "фе" про каррирование вообще, а не про его роль в Немерле. В сишном синтаксисе с каррированными функциями "в лоб" работать в любом случае неудобно. Придумывать сахар типа, что "foo(x,y)" равносильно "foo(x)(y)" в том случае, если foo каррирован — тоже не очень идея. Здесь все понятно, и как бы обсуждать нечего.

Обсуждается, к сожалению, то, что частичное применение — это когда есть "применение" и когда оно блин "частичное". И что "_+_" никак не может быть частичным применением, ибо равнозначно F#-вому "(+)", где так же никакого "каррирования" и частичного применения нет.

ВВ>>Не, ты правда веришь, что создавая на РСДН тему "Мелкий холиварчик Х вс. У", ты потом убедишь людей еще куда-то пойти?

VD>Тут не во что верить. Я дал ссылку и переложил похоливарить именно там.

Извините, я где попало не холиварю.
Re[12]: Мелкий холиварчик Nemerle vs. F#
От: catbert  
Дата: 22.05.11 21:16
Оценка: +1 :)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>А причем тут .NET? Говорили мы вроде с тобой про Хаскелл.


А. Тогда извините. Я просто смотрю: форум Немерле. Думаю, тут про Немерле. Оказалось, про Хаскелл. Бывает.
Re: Мелкий холиварчик Nemerle vs. F#
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 23.05.11 04:08
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Кто хочет может поражаться за правое дело .


Можно было бы, но уровень компетентности участников оставляет желать лучшего. Полистал разные другие флеймы, например, Python vs Ruby уровень участников просто поражает. Вы лучше пробуйте раскрутиться на более весомых ресурсах, типа reddit, hacker news (там я уже создавал топик), lambda the ultimate, habrahabr, etc. Можно было бы делать набеги на лагерь F#'ников, в тех местах, где они больше всего тусуются и попытаться обратить их в Немерлистов
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[9]: Мелкий холиварчик Nemerle vs. F#
От: VoidEx  
Дата: 23.05.11 06:18
Оценка:
Здравствуйте, catbert, Вы писали:

C>В немерле я могу без ламбды описать комбинатор, который начинает всегда с пяти:

C>
C>def foldFromFive = _.Fold(5, _);
C>// или
C>def fold2FromFive = NList.Fold(_, 5, _);
C>


C>Как это сделать в Хаскелле, мне до сих пор неизвестно.


flip foldr 5
Re[10]: Мелкий холиварчик Nemerle vs. F#
От: VoidEx  
Дата: 23.05.11 06:31
Оценка: 8 (1)
Здравствуйте, VoidEx, Вы писали:

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


C>>В немерле я могу без ламбды описать комбинатор, который начинает всегда с пяти:

C>>
C>>def foldFromFive = _.Fold(5, _);
C>>// или
C>>def fold2FromFive = NList.Fold(_, 5, _);
C>>


C>>Как это сделать в Хаскелле, мне до сих пор неизвестно.


А то и
(`foldr` 5)
Re: Мелкий холиварчик Nemerle vs. F#
От: Аноним  
Дата: 23.05.11 08:40
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тут завелся сайт суть которого сравнения разных вещей (например, теплого с мягким).

VD>Там завели тему Nemerle vs. F#:
VD>http://versusit.ru/viewtopic.php?pid=67441

VD>Кто хочет может поражаться за правое дело .


Гм. Примеры написаны в Python-like indent style. А как поживает поддержка у интеграции Nemerle со студией при использовании indent-style сейчас ? Меня в свое время отвратило от перехода с Питона на Немерле именно кривая поддержка этого режима.
Re[2]: Мелкий холиварчик Nemerle vs. F#
От: Ziaw Россия  
Дата: 23.05.11 09:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Гм. Примеры написаны в Python-like indent style. А как поживает поддержка у интеграции Nemerle со студией при использовании indent-style сейчас ? Меня в свое время отвратило от перехода с Питона на Немерле именно кривая поддержка этого режима.


Никак. Нет поддержки. Емнип, Влад утверждает, что с питоновским стилем есть проблемы выявления регионов которые надо перепарсить. И опровергнуть его пока никому не удалось.
Re: Мелкий холиварчик Nemerle vs. F#
От: Димчанский Литва http://dimchansky.github.io/
Дата: 23.05.11 10:17
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Кто хочет может поражаться за правое дело .


А зачем в первом примере с match'ингом в случае F# применять active pattern? Чтобы более громоздко выглядел?
Там же достаточно обычного матчинга.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[2]: Мелкий холиварчик Nemerle vs. F#
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 10:32
Оценка:
Здравствуйте, Димчанский, Вы писали:

Д>А зачем в первом примере с match'ингом в случае F# применять active pattern? Чтобы более громоздко выглядел?

Д>Там же достаточно обычного матчинга.

Почему этот вопрос здается здесь, а не там? Там во много код бредовый. Зачем, вот скажем, вместо $"..." использовать Nemerle.IO.sprintf("...")? Но я же не задаю этот вопрос здесь?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Мелкий холиварчик Nemerle vs. F#
От: Димчанский Литва http://dimchansky.github.io/
Дата: 23.05.11 10:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Почему этот вопрос здается здесь, а не там? Там во много код бредовый. Зачем, вот скажем, вместо $"..." использовать Nemerle.IO.sprintf("...")? Но я же не задаю этот вопрос здесь?


Ну во-первых, я думал, что тамошнее сообщение от кого-то из здешних, а во-вторых, лень региться было там, чтобы оставить сообщение..
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[2]: Мелкий холиварчик Nemerle vs. F#
От: Аноним  
Дата: 23.05.11 12:37
Оценка:
Здравствуйте, __lambda__, Вы писали:

___> Можно было бы делать набеги на лагерь F#'ников, в тех местах, где они больше всего тусуются и попытаться обратить их в Немерлистов


Там страшный Jon Harrop, он кого угодно затроллит.
Re[3]: Мелкий холиварчик Nemerle vs. F#
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.05.11 13:45
Оценка:
Здравствуйте, Аноним, Вы писали:

___>> Можно было бы делать набеги на лагерь F#'ников, в тех местах, где они больше всего тусуются и попытаться обратить их в Немерлистов


А> Там страшный Jon Harrop, он кого угодно затроллит.


Немерлистов там тупо перебанят да и всё.
Re[4]: Мелкий холиварчик Nemerle vs. F#
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 14:55
Оценка:
Здравствуйте, Димчанский, Вы писали:

Д>Ну во-первых, я думал, что тамошнее сообщение от кого-то из здешних, а во-вторых, лень региться было там, чтобы оставить сообщение..


Здешние это уже давно прошли и поняли, что это не очень конструктивное занятие. А на счет "региться" — согласен. Борьба со спамом у них убивает желание людей что-то написать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Мелкий холиварчик Nemerle vs. F#
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 15:02
Оценка:
Здравствуйте, Jack128, Вы писали:

WH>>>Этот код идентичен твоему с точностью до синтаксиса.

D>>Да не идентичен он. Похож, но не идентичен.
J>и в чем отличия???

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