LINUX.ORG.RU

Новый номер журнала «Практика функционального программирования»

 , , , , ,


0

0

Вышел в свет четвертый выпуск журнала «Практика функционального программирования». В новом номере опубликованы следующие статьи:

  • Лисп — абстракции на стероидах. Виталий Маяцких.
  • Clojure, или «Вы все еще используете Java? тогда мы идем к вам». Алекс Отт.
  • Пределы выразительности свёрток. Виталий Брагилевский.
  • Сечения композиции как инструмент бесточечного стиля. Денис Москвин.
  • Мономорфизм, полиморфизм и экзистенциальные типы. Роман Душкин.

Обсуждение номера и отдельных статей

>>> Новый номер в разных форматах

> Вывод напрашивается сам собой: если вы хотите иметь общие темы для разговора с девушками, которые через каких-то 5-7 лет будут писать приложения на OCaml и Erlang за соседним с вами столом, читайте наш журнал!

По-моему ребят жестоко обманули :)

helios ★★★★★ ()

Пока элита уродуется со своим лиспом, нормальные люди пишут на С++

e3d08dff ()

Очередной толстый журнал для русской интеллигенции? А скажите а там твердые знаки в конце слов везде проставлены или это за отдельную плату?

anonymous ()

Re: Новый номер журнала «Практика функционального программирования»

Отличный журнал. Спасибо за ваш труд!

// Кнопка донейта для ЯДенег бесшумно перекидывает на страницу c invalidToAccountNotFound invalidSum, если не включить JavaScript.

shahid ★★★★★ ()

Журнал очень крутой, особое спасибо за внимание к шрифтам и оформлению. Обязательно почитаю и этот номер.

kost-bebix ★★ ()

Четвертый номер «Вестника Свидетелей Иеговы» вышел настолько унылым, что Кука, пожалуй, отложит традиционную рецензию до второй-третьей страницы комментов. Если таковые наберутся.

Kuka ★★ ()

Глянул мельком статью Дениса Москвина

( ⋅ (( ⋅ ) ⋅ ( ⋅ ) ⋅ ( ⋅ ))) ⋅ ( ⋅ ) ⋅ ( ⋅ ) ⋅ ( ⋅ ) ⋅ ( ⋅ )


Это попахивает Haskell obfuscated code contest :)

p.s. Спасибо за работу, почитаем.

ratatosk ()
Ответ на: комментарий от e3d08dff

ага-ага, вижу я код «нормальных» людей - поубывал бы....

ott ★★★★★ ()

Ну что, унылые хаскеллоиды объявили крестовый поход против ООП?

this = dick.blowjob(this);

anonymous ()

Алексей (@ott), расскажите, пожалуйста в ближайших выпусках вашего журнала, про реальное применение функциональных языков программирования: какие крупные, известные и уникальные системы и приложения написаны на ФЯП; был бы интересен их краткий обзор, описание используемых технологий, какие-нибудь факты, анализ конкурентов и прочее. Без этого журнал воспринимается как исключительно академический — хотя прекрасно понятно сколько сил вложено в его создание. Спасибо.

anonymous ()
Ответ на: комментарий от anonymous

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

могу немного рассказать про flightcaster - стартап, который использует clojure для machine learning на больших объемах данных в распределенной среде. в этом проекте используется библиотека incanter...

ott ★★★★★ ()

Отдельное спасибо за обзор языка Clojure, почитаю на досуге.

Fen1x ()

Клево

Молодцы, спасибо!

yoghurt ★★★★★ ()
Ответ на: комментарий от anonymous

>Ну что, унылые хаскеллоиды объявили крестовый поход против ООП?

на Руси грешно смеяться над убогими и прочими блаженными

dimon555 ★★★★★ ()
Ответ на: комментарий от yoghurt

дык детали - это основной секрет и есть. в общих чертах - они используют данные по опозданиям рейсов по всем штатам, погодные сводки и т.п. вещи, и строят модель для конкретных рейсов/компаний/аэропортов... Там очень много вычислений, все крутится в hadoop кластере, развернутом на amazon elastic cloud

ott ★★★★★ ()
Ответ на: комментарий от anonymous

Я таки не Отт, но позволю себе добавить кое-что, поскольку Отт ответил однобоко и неохотно.

> про реальное применение функциональных языков программирования

Это как раз являлось лейтмотивом второго и третьего выпусков журнала. Попытка, цитирую, «поднять дискуссию о практической применимости ФЯП на новый уровень» провалилась с треском; рекомендую ознакомиться с содержимым №№2-3 журнала, а также, если хотите, с моими рецензиями на них.

Вкратце: было показано, что ФЯП находят практическое применение в узкой нише, ограничивающейся написанием DSL и некоторыми специфичными задачами моделирования дискретной логики. Как и десять, и двадцать, и тридцать лет назад. Видимо, после этого фиаско авторы оставили попытки показать практическую применимость ФЯП, и предлагают отныне интерпретировать «практику» как «практические приемы и методы программирования» (перевожу - code snippet'ы). Так что,

> журнал воспринимается как исключительно академический

Ваше восприятие вас не обманывает.

Kuka ★★ ()
Ответ на: комментарий от Kuka

если задача решается в DSL, то почему это не заслуга ФЯП на котором написан DSL? нет ли здесь антисемитизма?

psv1967 ★★★★★ ()
Ответ на: комментарий от Kuka

>что ФЯП находят практическое применение в узкой нише, ограничивающейся написанием DSL и некоторыми специфичными задачами моделирования дискретной логики

Компьютеры вообще-то для этого и создавались изначально. Если заменить DSL на язык ввода информации для обработки, конечно.

Absurd ★★★ ()
Ответ на: комментарий от e3d08dff

Ну что же, нормальный людь, тогда приведите аналог то же самое на С++:

(set 'increase-order
     (lambda(main-connective)
        (expand (lambda()
                   (let ((tmp1 (args)))
                        (expand (lambda-macro()
                                   (eval (let ((tmp0 (args)))
                                              (cons 'main-connective
                                                    (map (lambda(x)(cons x tmp0))
                                                               'tmp1)))))
                                'tmp1)))
                 'main-connective)))

Функция хоть небольшая, но работу по кодингу уменьшает.

impfp ()

> Clojure, или «Вы все еще используете Java? тогда мы идем к вам».

Использовал, использую и буду использовать.

kda ★★★★★ ()

Понравилась средняя статья. Две выше неинтересные, две ниже непонятные.

anonymous ()

Замечательная новость!

Просто, отличная.

anonymous ()

tag «пфп» не символизирует в силу абсолютного одиночества.

impfp ()
Ответ на: комментарий от impfp
        __asm__ __volatile__("mrs %0, cpsr\n"
                             "orr %1, %0, #0xc0\n"
                             "msr cpsr_c, %1"
                             : "=r" (old), "=r" (temp)
                             :
                             : "memory");

Напиши аналог на лиспе.

anonymous ()

Душкин как всегда нагнал пурги, нафиг нужен бесточечн стиль если его в Н раз сложнее понять тоже не ясно...

Хаскель не нужен.

anonymous ()
Ответ на: комментарий от e3d08dff

> нормальные люди пишут на С++

Нормальные люди вообще код не пишут. Код пишут лакеи нормальных людей. За миску бобов.

anonymous ()

JavaScript и C#

А вот скажите, люди добрые, чем вам JavaScript и C# (версии >=3.5) не функциональные языки? Lambda есть, closure есть. Вопщем, Haskell и Lisp фтопку сдать в музей.

anonymous ()

Когда не о чем писать, помести на обложку красивое лицо.

ip1981 ☆☆ ()

«Лисп — абстракции на стероидах» - рассказывается как писать еще более нечитабельный раздутый код, где прийдется руками делать все оптимизации, и который все-равно после компиляции медленней С++, и приближается хоть как-то к нему на примитивнейших программах

«Clojure, или «Вы все еще используете Java? Тогда мы идем к вам!»» - у лисперов нет стандарта, учите еще одну модификацию

«Пределы выразительности свёрток.» - нам в очередной раз покажут как просто на лиспе вычислять факториал

«Мономорфизм, полиморфизм и экзистенциальные типы» - показывается, что по сравнению с С++ в лиспе все делается через жопу

lester ★★★★ ()
Ответ на: комментарий от lester

«Мономорфизм, полиморфизм и экзистенциальные типы» - показывается, что по сравнению с С++ в лиспе все делается через жопу

Lol, так фапать на лисп ))

цитатен оригинала

Аннотация

В статье описываются экзистенциальные типы данных и их применение в функциональной парадигме программирования. Даются определения необходимых понятий — мономорфизма, полиморфизма (высших рангов) и их связи с экзистенциальными типами. Примеры определений типов и функций для их обработки приводятся в основном на языке программирования Haskell(sic !!).

elipse ★★★ ()
Ответ на: комментарий от lester

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

lester ★★★★ ()

Интересные статьи.

dave ★★★★★ ()
Ответ на: комментарий от e3d08dff

> Пока элита уродуется со своим лиспом, нормальные люди пишут на С++

Времена меняются, однако. Безмозглое быдляцкое отродье теперь гордится не вижулвасиком, а цепепе.

anonymous ()
Ответ на: комментарий от anonymous

> Безмозглое быдляцкое отродье теперь гордится не вижулвасиком, а цепепе.

и это время уже прошло - теперь на пике «популярности» лисп

lester ★★★★ ()
Ответ на: комментарий от e3d08dff

> Пока элита уродуется со своим лиспом, нормальные люди пишут на С++

Это не ты там в Development утверждал, что лучший способ избежать коредампов — повесить пустой обработчик на SIGSEGV, «нормальный» человек?

kemm ()
Ответ на: комментарий от anonymous

$ exec firefox

А тут я одной строчкой браузер написал.

anonymous ()
Ответ на: комментарий от kemm

Ой, вот это реально палево. Парень совсем зеленый, тупой и жирный.

balodja ★★★ ()
Ответ на: комментарий от kemm

А это не ты у меня в подъезде нассал ?

anonymous ()
Ответ на: комментарий от ott

> напишите аналог ant.clj на java?

Pascal Costanza на CL написал, с локами :)

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.