last day (1728 days later) » 

4:15 PM
room topic changed to Code golf на русском: Эта комната посвящена обсуждению code golf-вопросов. (no tags)
 
 
6 hours later…
10:16 PM
12
Q: Code golf: Flatten с вставкой дополнительного элемента

VladDПускай у нас есть набор лениво вычисляемых последовательностей действительных чисел. Задача состоит в том, чтобы построить также лениво вычисляемую последовательность, конкатенирующую все данные последовательности. Но между каждыми двумя последовательностями нужно ещё вставить среднее арифметичес...

Коллеги, первый гольф проходит как-то странно. Я не вижу ваших рук! Мне нужны ваши мозги голоса! Максимальная оценка +3, это что-то очень мало. Голосуйте или проиграете
Я, кстати, узнал, что Хаскель умеет паттерн-мэтчинг на сгенерированных последовательностях, и по изяществу/простоте решений немедленно выбивается вперёд.
(Как мне показалось.)
 
10:52 PM
@VladD у Clojure это есть в core.match, но это не часть стандартной библиотеки (насколько я знаю). Я исходил из ограничения на "язык и стандартную библиотеку". Но я его выдумал, осмотрев происходящее на PPCG.
Нам надо бы завести то, что на PPCG зовётся "standard loopholes" и оговаривать их влияние на конкретный вопрос.
2
 
avp
@VladD а я его совсем не понимаю. Т.е. даже на уровне идеи, заложенной в программу.
Зато Вы подтолкнули меня посмотреть на реализации coroutines в Си (нашел штук 5). Заодно в вике выяснил, что использующие технику yield, на самом деле генераторы, а не сопрограммы и что fibers это тоже не сопрограммы, а threads...
Хоть и интересно, но пошел спать (похоже до конца майских каникул ... (дача :-)))
 
@D-side Мне кажется, имеет смысл брать лучшее от выразительных средств языков. Поэтому я бы не запрещал популярные нестандартные библиотеки.
@D-side А что это, если в двух словах на русском?
@avp Я как раз начинаю плотно садиться за функциональное программирование, так что я кажется более-менее понял.
@avp По сути, есть два пути реализации yield: генераторы и fibers (как это на русском?). Обычно используют генераторы, т. к. меньше ресурсов. Но это влияет на смысл.
Надо бы поднимать такие гольф-вопросы, чтобы по ним можно было выучить что-нибудь новое.
@avp Спокойной ночи!
 
@VladD "обычные лазейки" вроде "я сделал библиотеку, которая это делает в один вызов, тадааам".
 
@D-side Ну, библиотека должна быть известной, конечно. На C++ я бы разрешил весь boost.
(потому что это то, что можно использовать в реальных проектах)
 
11:08 PM
@VladD я думаю, надо изучить материал у PPCG и перевести полезные пункты куда-нибудь... В описание меток, например.
Они ж давно этим занимаются и наступили на много грабель.
 
@D-side Ага, хорошая идея, кстати.
 
Ладно, пойду почитаю доки к core.match, с утреца опробую %) В процессе написания первого решения я более-менее научился в макросы (особ. рекурсивные) и встроенные механизмы тестирования, теперь попробую чего покрепче!
 
11:26 PM
@D-side Да пребудет с нами Сила :)
 

  last day (1728 days later) »