одностишие
Apr. 22nd, 2010 07:56 amscalar !!~ ((for(s <- "Hello Distributed World".split(' ')) yield(()=>println("***"+s+"***")))
Что тут происходит:
Берём строку, разбиваем её на подстроки, и для каждой подстроки возвращаем функцию без параметров, которая эту строку печатает на stdout, завернув в звёздочки.
Это всё действие не происходит так уж сразу, а оформляется как поток - когда попросили, тогда и вернули очередную функцию (монада, для понимающих).
Весь этот источник функций привинчивается оператором !!~ (по мне так было бы достаточно взять map) к scalar, представителю распределённой системы gridgain, который рассылает функции узлам, где попало, может быть, в разных уголках нашей маленькой планеты, где они гордо печатают свои тексты. Ну пример такой, вы ж понимаете.
Вчера всё это демонстрировал Никита Иванов на eBig, в ужасном Окленде.
А потом собравшиеся жжюзеры,
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
(А потом полчаса огородами пытались выехать из Окленда по алгоритму моего навигатора, слишком хорошо мне знакомому, т.к. я месяц отлаживал его аналог у себя на машине, пытаясь понять, на хрена вроде бы приличный многоуровневый двусторонний Дийкстра строит такой дебильный маршрут. Видно, это Окленд наводит порчу. Например, из Бони Дуна в Лос Гатос тот алгоритм вообще дорогу не находит.