Чтобы добавлять сообщения и комментарии, .

@mismatch:
mismatch

infoq.com — если вы все еще пишете на ООП языке, но поглядываете в сторону ФП, морщась при упоминании монад и аппликативных функторов, этот доклад для вас.

@nixorn:
nixorn

Это не «типовая проблема функциональных языков», это очевидная проблема масштабирования данной «лабораторной» реализации. То есть по сути это «проблема микроскопа» в ситуации забивания им гвоздей. (с)gbezyuk

@borman:
borman

Каждый раз, когда отправляю сообщение почтой, прямо чувствую необратимость своих действий. Как будто слышен щелчок, с которым исчезает предыдущий World, и создается новый World'.

@bitter:
bitter

На одной большой тусе в городе Н недавно имел неосторожность посетить открытое обсуждение по ФП на тему "Чем функциональщина помогает простым людям?" Очень позабавило: а) приглашенные эксперты, не настаивающие на своих позициях — "я за функциональшину, но не настаиваю и вообще без фанатизма" звучало как "я немного женщин, но и мужчин могу, если ничего лучше нету", б) Тонский, загнобивший меня за то, что изволил вякнуть на предмет меньше кода и DSL — "Да чего там меньше... что и до этого дсл не писали чтоль?" и через пять минут получившего те же тезисы в обратку от коллеги справа. В общем, недостаточно суров Н-ский функциональщик, слаб он душой и тяготеет к пороку, а также внятно не может бенефитов описать. Так корову можно продавать очень долго.

@Shchvova:
Shchvova

*фп я туплю. А в чем собственно разница лямбды/замыкания и объекта? То и то это данные с функционалом. Или это типа суть жаваскрипта?

@Shchvova:
Shchvova

ну общим, кто посмотрел на jsbin.com увидил что я там заюзал типа монады жавоскриптовые... А есть вообще более красивые приемы что бы как-то чейнить так вот?

@13oz:
13oz

На HH.RU есть вакансии erlang и scala. ФП пошло в массы а я снова прослоупочил?

@Zert:
Zert

А расскажите мне, уважаемые доны, в чём суть «разделения языков» на фэпэ, оопэ, дэпэ и подобные аббревиатуры? Кому-нибудь из вас в жизни реально пригодилось осознание того, что он пишет на так называемом функциональном/обжектно-ориентированном/декларативном и т.п. языке? В чём смысл разделения? Вот я пишу на Erlang, там «клёвые процессы» и сообщения, ну да, он типа считается ФП, но мне от этого факта ни холодно, ни жарко. Захотел писать на Go, там тоже процессы, каналы, но он «не считается» ФП. Как-то тоже параллельно. Писал на ссях, петоне, «хвашкиле», скалке, лишпе, никогда не задумывался, ООП это или ФП, или ещё какая ересь. В чём суть подобной классификации? Зачем «адепты ФП срутся с адептами ООП»? Хуй его знает.

@Shchvova:
Shchvova

— Интервью с видяшками про движок нового СимСити rockpapershotgun.com

— Рассказ об опасностях git submodule codingkilledthecat.wordpress.com

— и еще один рассказ о том что такое монады и функторы, на этот раз в контексте скалы, если это имеет значение thedet.wordpress.com

вообще как-то не густо с новостями на выходных.

@Mazdaywik:
Mazdaywik

lisp — Результатов: примерно 22 300 000
prolog — Результатов: примерно 16 600 000
haskell — Результатов: примерно 28 200 000
scheme programming language — Результатов: примерно 12 000 000 (если написать просто scheme, то выдаётся всякая хрень)
python programming language — Результатов: примерно 21 800 000
ruby programming language — Результатов: примерно 3 470 000
java programming language — Результатов: примерно 21 900 000

@borman:
borman

Складывается такое впечатление, что хороший императивный код читается так: "Ага... Ага... Да, понятно примерно, как оно работает", а функциональный --- "Чтоооо?! ... ... ... ... Ох ты ж нихрена себе как красиво все придумали и завернули!". То есть инженеры vs. математики, ага.

@Zenom:
Zenom

Никак не могу подобрать действительно удобную среду для кодинга на Scala. Плагины для Eclipse и NetBeans какие-то убогие и не интегрируются с SBT. Сейчас остановился на комбинации JEdit + SBT, но это тоже не выход. Чуваки хвалили Idea, но как у неё с интеграцией с SBT?

@borman:
borman

Жуйк, а как решается такая проблема: во время разбора некоторого текста (допустим, кода программы) может возникнуть потребность избавиться от некоторых конструкций (представимых посредством других). Соответственно, мы имеем некоторый ADT, представляющий дерево разбора, напр. data Syn = A | B | C | Complex, и мы хотим выразить все узлы Complex через A | B | C. Соответственно, удобно, чтобы далее было автоматически доказуемо отстутствие таких узлов на входе последующих преобразований. Что в таком случае делать?
1) Оставить все как есть, пользоваться подмножеством данного типа --- теряем доказуемость, вынуждены вручную проверять их отсутствие.
2) Завести новый тип, не содержащий сложных узлов --- возникает вопрос, как именовать его элементы. Ведь семантика сохраненных узлов не изменилась, зачем их переименовывать --- это тонны неудобства и boilerplate кода.
3) Может, есть еще варианты, получше?

@borman:
borman

Жуйк, подскажи, а то я что-то не понимаю. Скажем, есть у нас некоторая программа на ML, собранная через MLTon. (Возможно, это верно и для Haskell/GHC), не знаю. Так вот, для выделения памяти она резервирует сразу большой пул (50% RAM по умолчанию) и в нем живет. А теперь представим себе, что мы держим некоторую инфраструктуру из кучи таких приложений. Ну штук 10, например. И мне что-то кажется, что когда каждая возьмет себе пул, им всем будет тесновато. А теперь вопрос: прав ли я? И если прав, есть ли способ решения проблемы?

@borman:
borman

Жуйк, а что ты посоветовал бы написать как практическую программу, для освоения в реальном применении SML/OCaml? Как-то сходу что-то, не являющееся хелловорлдом придумать сложно, а если задание кто даст извне, времени на такую реализацию вряд ли найдется.

@borman:
borman

Написание синтаксического анализатора на C++ — композиция двух нетривиальных задач: (написание на C++) o (написание синтаксического анализатора). Вчера за один вечер написал рабочий прототип на SML, сейчас переписываю это на плюсах и давлю в себе рвотные позывы от мысли, сколько надо кодить и сколько ебли будет с типами и памятью.

@borman:
borman

Жуйк, а чем бы подебажить код на SML?

@borman:
borman

Haskell offers you:
Substantially increased programmer productivity (Ericsson measured an improvement factor of between 9 and 25 using Erlang, a functional programming language similar to Haskell, in one set of experiments on telephony software).

Нормально, да? Взято с haskell.org

@borman:
borman

Образцово-показательный ФП-срач → #1239695. Учитесь, ребята.

@borman:
borman

Жуйк, а какой язык и какое учебное пособие ты бы посоветовал человеку, который более-мене разбирается в паре императивных языков, для знакомства с функциональными, в целях расширения кругозора?

@magog:
magog

Натолкнулся на просторах жесткого на скаченную в самом начале пиления личкрафтов у дедфуда книжку — ФП (Функциональное программировани). Решил посмотреть...Блин...интересная да еще и затягивает. Неужто я теперь тоже захочу упопроться функциональщиной. \4

@borman:
borman

Жуйк, а как знание теорката и прочих няшек помогает в написании программ на функциональненьких языках? Success-story приветствуются.

@borman:
borman

Жуйк, а не в курсе ли ты, умеют ли обычно компиляторы упрощать выражения fold f x (map g List) в один fold?

@borman:
borman

REPL — это няшно!

@omnivore:
omnivore

с самого начала казалось, что более правильным названием для журнала "Практика функционального программирования" было бы "Пафос функционального программирования (поучения от снобов и нердов)"

@ulidtko:
ulidtko

Блджад. Покажите мне, как в Ъ функциональном стиле (то бишь, через reduce) считать «производную» списка значений; то есть, список разниц соседних элементов. Что-то вроде
(foo 5 4 3 2 1) -> (1 1 1 1)
(foo 1 8 3 5) -> (-7 5 -2)

Ну вот как это делается по-нормальному, а?

@borman:
borman

Жуйк, какие тебе известны удачные примеры GUI-библиотек для функциональных языков, использующих их семантику? То есть не просто обертки над сишным ABI какой-то библиотеки, а что-то поинтересней.

@Zert:
Zert

blog.ezyang.com
Пишут, что вся ебистика, навроде "паттернов программирования" — попытка как-то притянуть ФП в сраную имперашку