LINUX.ORG.RU

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

 , , , , , ,


0

0

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

  • Инструменты интроспекции в Erlang/OTP. Максим Трескин
  • Экономия ошибок. С. Зефиров, А. Сафронов, В. Шабанов, Е. Мельников
  • Введение в F#. Евгений Лазин, Максим Моисеев, Давид Сорокин
  • Лисп — философия разработки. Всеволод Дёмкин, Александр Манзюк
  • Оптимизирующие парсер-комбинаторы. Дмитрий Попов
  • Модель типизации Хиндли — Милнера и пример её реализации на языке Haskell. Роман Душкин

Также в этом номере опубликованы результаты конкурса, который был объявлен в 3-м номере журнала.

>>> Подробности

★★★★★

Проверено: maxcom ()
Ответ на: комментарий от Rastafarra

где в приведенной мной цитате написано про строчки? ;)

А про что там ещё написано? «Наташа уехала на бал.» читается легче и лаконичней, чем целая глава в «Войне и мире», посвящённая этому предложению. Чем меньше букв и проще текст, тем легче воспринимать смысл.

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

> Где забрасывание дерьмом? Где крики, что ФП не нужно?

где же ты, мой толстый онанимный друг? :)

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

хм... в секте лиспоидов развал и шатание какое-то. некоторые полагают, что там «функционала на строку раз в 5-10 больше».

Чем «функционал» от «функционального программирования» отличается, сами найдёте?

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

это я понимаю.

давай так:

императивно (например VB): c = a + b

изобрази тоже самое на CL, только чтоб функционала было раз в 5-10 больше.

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

> императивно (например VB): c = a + b

На CL это будет так: (setf c (+ a b))

изобрази тоже самое на CL, только чтоб функционала

было раз в 5-10 больше.



Сам понял, что сказал?

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

> Сам понял, что сказал?

да. один говорит что фукнционала у CL раз в 5-10 больше на строку кода чем у VB, второй: что CL-ый код при решении был императивен.

я просто реквестировал пример императивного аццки-функционального кода. если не слива^W сложно, конечно.

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

> Чем «функционал» от «функционального программирования» отличается, сами найдёте?

Функционал — действительнозначная функция, областью определения которой является множество функций.

Я бы на вашем месте, не рискнул придираться к другим, столь слабо владея терминологией.

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

> Честно, лучше бы интересные алгоритмы и общие моменты программирования освещали

Этого в интернетах достаточно.

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

в третьем номере была большая статья про алгоритмы и общие моменты, и такой же народ ныл, что все это теория и т.д.

P.S. насчет гениально писать на чем угодно - можно, но иногда очень тяжко и опасно для психического здоровья...

ott ★★★★★
() автор топика

обложка зачетная. статьи понравились, большое спасибо!

val-amart ★★★★★
()
Ответ на: комментарий от Rastafarra

Не надо тега фап-фап. Для последователей проФФессора нужен тэг «inferiority complex».

Еще раз можно убедиться, что функциональщики - это секта.

http://fprog.ru/ и http://probudites.ru/ - Найдите 5 отличий

Bioreactor ★★★★★
()

Система типов этих двух языков программирования значительно выразительней, чем система типов Haskell и C++: например, обычные значения могут быть параметрами типа.

неосиляторы с++

в с++ адрес статической переменной может быть параметром типа

поскольку Miguel устранился от обсуждения, предложу еще раз формулировку тестовой задачи «dependent types»:

есть класс Array, инстансы которого создаются с длинной, определяемой по вводу от пользователя, но далее неизменно; есть (НЕкоммутативная) операция +, которая конкатенирует два массива, длины складываются; есть scalar_product, работающий только на массивах равных длин

так вот, компилятор должен разрешать например

(a+b+c+d+e).scalar_product(a+e+d+b+c)

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

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

>Статья кажется не о том, что было сделано за последние 10 лет на Common Lisp.

Да всю суть в том, что ничего не сделано. Вообще. Что мы имеем на текуший момент? sbcl который, заметьте работает на одном лишь линаксе, в других системах даже поппержки потоков нет, о чем тут вообще можно рассуждать. Или взять тот же CLIM? За 15 лет не могут допилить, хотя не последние люди в проекте участвуют.

Вы все никак не можете понять, что время лиспа прошло 20 лет назад, когда его двигали в американских университетах очкастые хиппи с хорошими манерами. Все серьезные работы по этой теме - 90 годы прошлого века. Сейчас их место заняли прыщавые студиозы, но эти колбасятся с пистоном или руби в всем абсолютном большинстве.

Так что лисп - это философия разврата неокрепших умов.

Sun-ch
()
Ответ на: комментарий от NoName

Теперь ты присоединишься к остальным пяти его читателям. Шестым будешь.

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

> Где крики, что ФП не нужно???

«Не нужно» кричат, когда завидуют. Про Apple, про Android. А про то, что действительно не нужно, молчат. Потому как оно ненужно и обсуждения не заслуживает.

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

потоки в SBCL на винде сейчас делаются, но это все дело упирается в некоторые ограничения винды...

P.S. Лисп, не без помощи кложуры вошел в 20-ку популярных языков (16-е место, насколько я помню)

ott ★★★★★
() автор топика
Ответ на: комментарий от Sun-ch

> Да всю суть в том, что ничего не сделано. Вообще.

Мысленно представь у себя в голове круг твоих знаний о CL и если не идиот, то сразу сообразишь, почему у тебя такое впечатление.

sbcl который, заметьте работает на одном лишь линаксе


А другие системы очень важны? Ну тогда возьми Clozure CL, или заплатили за коммерческую реализацию (батарейки будут в комплекте).

Или взять тот же CLIM? За 15 лет не могут допилить,

хотя не последние люди в проекте участвуют.



Просто никому не нужен, да и сейчас уже есть cl-gtk.

Все серьезные работы по этой теме - 90 годы прошлого века.


По какой теме? Какие есть серьёзные работы по Python? Лично меня не интересуют «серьёзные работы», а лишь только удобный практический инструмент.

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

> Докажи, что парсер на сигнальном протоколе - унылое говно?

У меня flex есть и bison. Для практики. А матан всякий неизбежно унылое говно.

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

> F# никто не пользует - его микрософт включил в дистру для галочки.

А так оно и есть, между прочим.

Парсер-комбинаторы никто не пользует - дадада.

Используют. В boost spirit.

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

> Не знающий матана - унылое говно.

Может быть, может быть. Но зато я сытое и довольное жизнью унылое говно, со своим неправославным bison-ом и еще мнее православным antlr. А функциональщики со своими матанистыми комбанаторами на жизнь озлобленные и голодные.

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

> Уже не нужно, т.к. все равно нет поддержки

чисто виндовых фич типа COM, .Net и пр.


Вот я и говорю, что твоя проблема в узком кругозоре, посмотри например это: http://www.weitz.de/rdnzl/. Поддержка COM, .Net и пр. делается на уровне библиотек, а не реализаций. Впрочем, как я писал выше, оплатив коммерческую версию получишь реализацию с батарейками.

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

cl-gtk

Это не лиспи стайл, а сплошная порнография, писать под гтк на лиспе в стиле с, это никаких нервов не хватит.

А CLIM - это стандарт между прочим, и нужен он очень многим, посколько работает везде где работает лисп, а не сделали его по простой причине, людям уже не интересно использовать лисп.

Sun-ch
()

...да и обложки радуют глаз

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

предложу еще раз формулировку тестовой задачи «dependent types»:

Предлагай, сколько угодно, но скажи, что ты хочешь получить в ответ? Исходный код? Если да, то скажи, на чём. На Coq я это, наверное, смогу изобразить, хотя не очень хорошо им владею.

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

> Какие есть серьёзные работы по Python?

на пистоне есть Sage

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

Да я прекрасно понимаю, что можно к лиспу прикрутить библиотеки на с/с++, через которые можно прикрутить все что ты захочешь, но это программирование на лиспе в стиле с/c++. В любой абстракции все равно вылезут эти ослиные уши.

Sun-ch
()
Ответ на: комментарий от Rastafarra

> увы, кложура != CL. это «еще один» недолисп...

Там даже точечных пар нет. Недолиспее некуда. Но собственно это и есть ниша Лиспа. Как «полноценный» язык он говно, а в примитивные скриптовые встраиваемые недолиспы просочился и кое где даже с успехом применяется.

У Пролога кстати такая же ниша, он рулит когда его встраивают в другие системы, и на хер не нужен сам по себе.

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

Да я прекрасно понимаю, что можно к лиспу прикрутить библиотеки на с/с++, через которые можно прикрутить все что ты захочешь, но это программирование на лиспе в стиле с/c++. В любой абстракции все равно вылезут эти ослиные уши.

А какой стиль программирования на лиспе православен?

mv ★★★★★
()
Ответ на: комментарий от Sun-ch

> cl-gtk Это не лиспи стайл

Что ты в этом понимаешь?

писать под гтк на лиспе в стиле с, это никаких нервов не хватит.


Что за манера рассуждать о том, о чём не имеешь представления?

А CLIM - это стандарт между прочим, и нужен он очень многим


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

посколько работает везде где работает лисп


Кто работает? Стандарт работает? Или какая-то из реализаций CLIM работает на всех реализация CL на всех платформах? Ты либо чего-то ни того обчитался, либо съел что-то не то.

а не сделали его по простой причине,


Кого не сделали? Было несколько реализаций CLIM, для разных платформ и реализация. McCLIM - более-менее современный open-source вариант.

людям уже не интересно использовать лисп.


Что, совсем никому?

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

>> предложу еще раз формулировку тестовой задачи «dependent types»:

Предлагай, сколько угодно, но скажи, что ты хочешь получить в ответ?

я хочу выяснить, сочтешь ли ты язык, на котором решается эта задача, языком с зависимыми типами

и да, если лень меня не поборет, предложу ее решение на с++ с вопросом к хаскелистам «а у вас так можно»?

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

> Может быть, может быть. Но зато я сытое и довольное жизнью унылое говно, со своим неправославным bison-ом и еще мнее православным antlr. А функциональщики со своими матанистыми комбанаторами на жизнь озлобленные и голодные.

Последняя вакансия, что я видел по Хаскеллю - Токио, 150К зеленых в год. Знаю, для Вас, конечно же, это мелочь :-D

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

Ну хорошо, пускай лисп, стоящий на плечах гиганта явы :) Но основной тезис о том, что лисп перестал развиваться остается в силе. Даже тот же Prolog кажется интересней для изучения и использования.

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

Последняя вакансия, что я видел по Хаскеллю - Токио, 150К зеленых в год. Знаю, для Вас, конечно же, это мелочь :-D

Сишный принципал столько в штатах получает ;) При меньших ценах...

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

> я хочу выяснить, сочтешь ли ты язык, на котором решается эта задача, языком с зависимыми типами

ТОЧНЕЕ так:

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

и вообще, нужна хорошая, понимаемая людьми задача на эту тему

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Sun-ch

Но основной тезис о том, что лисп перестал развиваться остается в силе.

В нашей Вселенной, наоборот, интерес к Лиспу растёт.

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

> Сишный принципал столько в штатах получает ;) При меньших ценах...

А тут речи о принципале не было. ;) Хоть о джуниоре тожe...

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

> Предлагай, сколько угодно, но скажи, что ты хочешь получить в ответ?

ТОЧНЕЕ так:

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

и вообще, нужна хорошая, понимаемая людьми задача на эту тему

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Sun-ch

> Но основной тезис о том, что лисп перестал развиваться остается в силе.

Велика, однако, сила самовнушения.

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

> Последняя вакансия, что я видел по Хаскеллю - Токио, 150К зеленых в год. Знаю, для Вас, конечно же, это мелочь :-D

Ага, ага. И таких вакансий аж пять штук на всю планету. Тогда как на C++ десятки тысяч вакансий от $200k p.a.

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