Не понимаю, как работать с Monads for .NET и коллекциями
От: senglory  
Дата: 22.10.16 11:46
Оценка:
Вот инструкция, вот код:
        using System.Monads;


        public void TestMonads()
        {
            var arr = new List<string>();
            var al = new List<int>() { 2, 4, 6, 8 };
            al.Do(f => arr.Add(f.ToString()));

            Assert.IsTrue(arr.Count == 4);
        }


Почему в arr оказывается только одна строка?
Re: Не понимаю, как работать с Monads for .NET и коллекциями
От: Sinix  
Дата: 22.10.16 12:49
Оценка: +5 :))
Здравствуйте, senglory, Вы писали:

S>Не понимаю, как работать с Monads for .NET

Просто не использовать, сэкономите кучу времени.
Re[2]: Не понимаю, как работать с Monads for .NET и коллекциями
От: senglory  
Дата: 22.10.16 13:37
Оценка:
S>>Не понимаю, как работать с Monads for .NET
S>Просто не использовать, сэкономите кучу времени.

Хорошо, а какая есть альтернативная библиотека с монадами?
Re[3]: Не понимаю, как работать с Monads for .NET и коллекциями
От: Klikujiskaaan КНДР  
Дата: 22.10.16 13:41
Оценка:
Здравствуйте, senglory, Вы писали:

S>>>Не понимаю, как работать с Monads for .NET

S>>Просто не использовать, сэкономите кучу времени.

S>Хорошо, а какая есть альтернативная библиотека с монадами?


А зачем вам вообще понадобились монады на C#? Какую задачу без них невозможно решить?
Re[3]: Не понимаю, как работать с Monads for .NET и коллекциями
От: Sinix  
Дата: 22.10.16 14:49
Оценка: 24 (2)
Здравствуйте, senglory, Вы писали:


S>Хорошо, а какая есть альтернативная библиотека с монадами?

Ни одной нормальной, по очевидной причине: монады неюзабельны без поддержки со стороны языка. Точнее, не только они, та же проблема с любой модной фишкой любого языка. Скажем, попытки прикрутить linq / Rx в js или в яву смотрятся не менее жалко. Но если и награждать кого "за культ Карго, бессмысленный и беспощадный" — то это, безусловно, монады. Хуже и бессмысленней только Option, но он вне конкурса.


* Зануда mode: у библиотеки от монад только название. Сахар для функторов — возможно, монады — эт вряд ли. Читаем перевод классики, если ещё не.

* Кэп mode: почему бы не попробовать f#?
Re: Не понимаю, как работать с Monads for .NET и коллекциями
От: FlevelEx Россия  
Дата: 22.10.16 17:35
Оценка: 6 (1)
Здравствуйте, senglory, Вы писали:

S>Почему в arr оказывается только одна строка?


Потому что у библиотеки очень удобный API
Выбралась не та перегрузка Do.
Если уточнить, что f это int, тогда будет ожидаемый результат:

al.Do((int f) => arr.Add(f.ToString()));
Re: Не понимаю, как работать с Monads for .NET и коллекциями
От: samius Япония http://sams-tricks.blogspot.com
Дата: 22.10.16 21:57
Оценка: +1
Здравствуйте, senglory, Вы писали:

S>Вот инструкция, вот код:

А какое вообще отношение к монадам имеет библиотека? Кроме названия? Вопрос не к ТС, а вообще. Причем тут монады?
Re[2]: Не понимаю, как работать с Monads for .NET и коллекциями
От: Evgeny.Panasyuk Россия  
Дата: 23.10.16 09:00
Оценка:
Здравствуйте, samius, Вы писали:

S>А какое вообще отношение к монадам имеет библиотека? Кроме названия? Вопрос не к ТС, а вообще. Причем тут монады?


У ТС в примере подобие монады List, правда используется как-то странно/не идиоматично, с примесью монады State.
Re[4]: Не понимаю, как работать с Monads for .NET и коллекциями
От: Evgeny.Panasyuk Россия  
Дата: 23.10.16 09:11
Оценка:
Здравствуйте, Klikujiskaaan, Вы писали:

K>Какую задачу без них невозможно решить?


В контексте языка полного по Тьюрингу это странный вопрос.
Re[3]: Не понимаю, как работать с Monads for .NET и коллекциями
От: Evgeny.Panasyuk Россия  
Дата: 23.10.16 09:17
Оценка:
S>>А какое вообще отношение к монадам имеет библиотека? Кроме названия? Вопрос не к ТС, а вообще. Причем тут монады?
EP>У ТС в примере подобие монады List, правда используется как-то странно/не идиоматично, с примесью монады State.

Понятно почему не идиоматично, ибо в библиотеке действительно это не монада — link
Re[4]: Не понимаю, как работать с Monads for .NET и коллекциями
От: vmpire Россия  
Дата: 24.10.16 07:58
Оценка:
Здравствуйте, Sinix, Вы писали:

S>попытки прикрутить linq / Rx в js или в яву смотрятся не менее жалко.

Не скажите, Underscore — штука удобная
Re[5]: Не понимаю, как работать с Monads for .NET и коллекциями
От: Sinix  
Дата: 24.10.16 08:10
Оценка:
Здравствуйте, vmpire, Вы писали:

S>>попытки прикрутить linq / Rx в js или в яву смотрятся не менее жалко.

V>Не скажите, Underscore — штука удобная

Я про тёмные времена до ecma6, что-то типа такого

For example in C#:

  Collection.TakeWhile(x => x.index < 3);

Looks like:
  $(collection).TakeWhile("x => x.index < 3");

Re[6]: Не понимаю, как работать с Monads for .NET и коллекциями
От: vmpire Россия  
Дата: 24.10.16 08:24
Оценка:
Здравствуйте, Sinix, Вы писали:

S>>>попытки прикрутить linq / Rx в js или в яву смотрятся не менее жалко.

V>>Не скажите, Underscore — штука удобная

S>Я про тёмные времена до ecma6, что-то типа такого

Жуть какая.. Как хорошо, что я это пропустил
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.