Запускалку в примере надо все же переписать, но идея, думаю, понятна. Или добавить еще один комбинатор, который бы принимал list[Async[FakeVoid]] -> ExecutionContext -> Async[FakeVoid].
Здравствуйте, dsorokin, Вы писали:
Откровенно говоря не могу оценить всей сути твои претензий, но вот это:
Async.Parallel (urlBox.Lines.Map (receive))
пример худшего F#-но стиля. Куча глобальных функций с невнятной семантикой.
На счет первого Start()-а тоже не могу сказать. Тут хорошо бы послушать автора.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, dsorokin, Вы писали:
VD>Откровенно говоря не могу оценить всей сути твои претензий, но вот это:
VD>VD>Async.Parallel (urlBox.Lines.Map (receive))
VD>
VD>пример худшего F#-но стиля. Куча глобальных функций с невнятной семантикой.
Боюсь, что мы очень по разному смотрим на ФП и ООП. Похоже, что это критическая вещь для меня.
Кстати, в чистом виде здесь Parallel не пойдет. Тот пример порочен тем, что receive создает побочный эффект, меняя свойство Text, и возвращает значение типа Async[FakeVoid]. Тогда Parallel вернет Async[list[FakeVoid]], что, в общем-то, лишено смысла. Так вот, Parallel здесь хорош тем, что мешает программисту писать такой неправильный код (комильнёфопа полный).
VD>На счет первого Start()-а тоже не могу сказать. Тут хорошо бы послушать автора.
Это хорошо бы. Идея очень простая — заменить часть функций, выполняемых Start, комбинаторами.
Здравствуйте, hardcase, Вы писали:
Я
как-тоАвтор: _nn_
Дата: 27.06.10
создал солюшн для cs2n, стоит его тоже включить в PowerPack.
Здравствуйте, _nn_, Вы писали:
__>Здравствуйте, hardcase, Вы писали:
__>Я как-тоАвтор: _nn_
Дата: 27.06.10
создал солюшн для cs2n, стоит его тоже включить в PowerPack.
Постараюсь прикрутить.