LINUX.ORG.RU

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

 , , , , , ,


0

0

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

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

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

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

★★★★★

Проверено: maxcom ()

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

> ес-но, а еще они всегда очень вежливо и уважительно отзываются про другие ЯП :)

а без этого никак. иначе не образумятся

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

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

абстрактный метод != виртуальный

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

> и да, мне потребовалось познакомиться с CLOS, что бы понять, что «абстрактные классы» это костыль.

все это хорошо, но факты - упрямая вещь, а они утверждают, что С/С++ использовать проще и результат будет лучше

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

> Говорят, в Монреале 30% населения - п-ры. Это разве говорит о том, что п-ры лучше мужиков?

лисперы искренне верят в свою илитарность :) взрослые дети

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

> абстрактный метод != виртуальный

у нас нет ни тех, не других :)

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

абстрактный метод != виртуальный

Разницы-то? При живых мультиметодах-то...

хорошее ядро - получше многих

Мы на Емакс тоже не жалуемся, знаешь ли.

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

> Зачем нужны абстрактные классы (диспетчеризация по одному аргументу)

Абстрактные классы - это замена интерфейсам. А интерфейсы имею очень косвенное отношение к диспетчеризации. Они интерфейс определяют :)

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

> абстрактный метод != виртуальный

Конечно. Дело вот в чем: абстрактные классы используются для объявления виртуальных функций, для которых не определена реализация (она определяется в наследниках) - defgeneric как раз и объявляет такой абстрактный интерфейс без реализации и поэтому «абстрактные классы» не нужны.

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

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


А что такого эпически мощного дает эта возможность, что Вы ее в каждом
топике по плюсы упоминаете?

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

> Абстрактные классы - это замена интерфейсам. А интерфейсы имею очень косвенное отношение к диспетчеризации. Они интерфейс определяют :)

это все костыльные понятия/сущности не имеющие практической/полезной ценности в CL

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

> Говорят, в Монреале 30% населения - п-ры. Это разве говорит о том, что п-ры лучше мужиков?

лисперы искренне верят в свою илитарность :) взрослые дети

Ну ты вот так упоминанием массовости плюсов незатейливо ставишь его на одну полку с Донцовой. Чего сказать-то этим хочешь поклонникам Шварцшильда? :) Что Донцову больше читают? Ну и?

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

Абстрактные классы - это замена интерфейсам. А интерфейсы имею очень косвенное отношение к диспетчеризации. Они интерфейс определяют :)

А что дженерики определяют? Диспетчеризацию? :)

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

> Ну ты вот так упоминанием массовости плюсов незатейливо ставишь его на одну полку с Донцовой

перефразируя тебя - п%дарасов в мире меньше 5%, значит п%дарасы элита, а все остальные - «мухи»

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

и как они заменили бы абстрактные методы?

Легко.

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

перефразируя тебя - п%дарасов в мире меньше 5%, значит п%дарасы элита, а все остальные - «мухи»

Если ты считаешь Донцову элитой, а Шварцшильда - х-нёй, то да.

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

> Если ты считаешь Донцову элитой, а Шварцшильда - х-нёй, то да.

т.е. ты сам не согласен со своей позицией( которую я показал на другом примере )?

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

да кто бы говорил. Как будто нелисперы прям очень вежливы к Лиспу и лисперам. Нелисперы сами ведут себя достаточно неадекватно.

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

>> типа как в с++ — аргумент шаблона может быть адресом

статической переменной

А что такого эпически мощного дает эта возможность


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

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

т.е. ты сам не согласен со своей позицией( которую я показал на другом примере )?

В моём мире Донцова и п%дарасы - это плохо, а Шварцшильд и натуралы - хорошо. Пока мнение научного общества совпадает с моим.

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

> В моём мире Донцова и п%дарасы - это плохо, а Шварцшильд и натуралы - хорошо.

ну и какого х%я ты тут какие-то проценты постоянно приводишь? :)

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

ну и какого х%я ты тут какие-то проценты постоянно приводишь? :)

Я постоянно аппелирую к высшему сознанию оппонентов.

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

>> Абстрактные классы - это замена интерфейсам. А интерфейсы имею очень косвенное отношение к диспетчеризации. Они интерфейс определяют :)

это все костыльные понятия/сущности не имеющие практической/полезной ценности в CL

Тоньше надо.

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

> В моём мире Донцова и п%дарасы - это плохо, а Шварцшильд и натуралы - хорошо.

Хм. Педерасты и Шварцшильд - это меньшинства. Выходит, меньшинство - это не значит «хорошо»? %)

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

> В моём мире Донцова и п%дарасы - это плохо,

а Шварцшильд и натуралы - хорошо.


Вот сдалась вам эта тема, насколько я знаю за «небыдлость», «элитарность» и прочую ерунду не надбавки к зарплате, не молока за вредность. Есть просто отличный софт на PHP и весьма уродский на Common Lisp (как и на Haskell, типа darcs). Common Lisp это инженерный инструмент, на нём хорошо задачи решать, для распределения населения по газовым камерам он не предназначен, наоборот, в нём гуманизма много.

и п%дарасы - это плохо

Пока мнение научного общества совпадает с моим.



Можно ссылку? Будут основания соседского боксёра (собаку) прибить, а то всех кобелей в округе терроризирует, сцука.

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

> Тоньше надо.

да уж куда уж тоньше, и так уже на нано-уровень вылез.

Ладно, ухожу в свой теплый ламповый РЕПЛ. Всем спокойной ночи.

CL-USER
()
Ответ на: комментарий от tailgunner

Хм. Педерасты и Шварцшильд - это меньшинства. Выходит, меньшинство - это не значит «хорошо»? %)

Подожди-ка... Вся эта окололисповая полемика явно выдерживается в ключе сегрегации на илиту и прочее говно. Илита по какому-то ключевому признаку выделяется из говна. В нашем случае ключ - именно интеллектуальность («интеллектуальная илита»), а не другой сопутствующей илите признак (меньшинство). Соответственно, для метафорических примеров в ходе полемики можно употреблять другие разделения на умные штуки и прочий хлам, например, Шварцшильд vs Донцова. Хочу акцентировать внимание именно на ключе интеллектуальности, а не меньшинства.

P.s. :)

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

Вот сдалась вам эта тема

А хоть один лиспосрач конструктивным был? :) Тут даже аудитория одна и та же, скучно.

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

Хочу акцентировать внимание именно на ключе интеллектуальности, а не меньшинства.

Линус - быдло? :)

Да проблема-то не в этом, а в том, что оппоненты лисперов пытаются аппелировать, меняя признак илитарности на другой (массовость). Вот если бы ты отвечал не: «Ну и где ваш Лисп, если он такой крутой?», а: «Ваш MOP говно, в C++ это сделано лучше, и вот почему:...», то тогда дискуссия продолжалась в том же ключе, и с логической точки зрения претензий к тебе бы не было. Но наехать на MOP со стороны C++ невозможно. Ты это, вероятно, понимаешь, и поэтому уводишь разговор в сторону (выгодную тебе).

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

> все это хорошо, но факты - упрямая вещь, а они утверждают,

что С/С++ использовать проще и результат будет лучше


Таких фактов мне не известно, думаю тебя подводит интерпретация.

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

Меня скорее интересует что она дает делать.

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

> Да проблема-то не в этом, а в том, что оппоненты лисперов пытаются аппелировать, меняя признак илитарности на другой (массовость).

и про мух, и про Монреаль и про Донцову - это все они

Вот если бы ты отвечал не: «Ну и где ваш Лисп


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

Но наехать на MOP со стороны C++ невозможно


„наехать“ - это прерогатива лисперов, которые только так могут показать свой „интеллект“ и „элитарность“

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

Какова ваша цель, когда вы пишете в этой ветке? Человек с лиспа не пересядет, а вы и я будем и далее знать что Лисп старое УГ и писать на другом языке. Какая ваша сейчас цель?

P.S. Какой толк с того, на чем пишут другие

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

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

Чё делать? В Монреале много п%доров, массы читают Донцову, мухи едят говно, лемминги топятся в море... Такова жизнь.

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

«наехать» - это прерогатива лисперов, которые только так могут показать свой «интеллект» и «элитарность»

Я вижу, что ты обиделся, причём зря. Криво написанная «илита» указывает на здравую долю сарказма. Тем не менее, свою точку зрения на логическую непоследовательность лиспосрачей я обосновал.

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

> Таких фактов мне не известно

посмотри на рядовой компьютер у архитектора/дизайнера/разработчика игр и т.д. - лисп там максимум прикручен сбоку для скриптования и то далеко не у всех, зато С/С++ там используется что называется снизу-доверху от ядра до всяких фотожопов, и не надо говорить, что это не доказательство; если не нравится десктоп - посмотри на сервера, там картина точно такая-же

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


Человек с лиспа не пересядет, а вы и я будем и далее знать что Лисп старое УГ и писать на другом языке


изредка можно узнать что-то полезное

P.S. Какой толк с того, на чем пишут другие


пофлеймить, потроллить, расширить кругозор

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

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

много нелисперов поступает точно так же

Я вижу, что ты обиделся,


неа

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

> Вся эта окололисповая полемика явно выдерживается в ключе сегрегации на илиту и прочее говно. Илита по какому-то ключевому признаку выделяется из говна. В нашем случае ключ - именно интеллектуальность

Не. В вашем случае ключ - лиспофилия.

P.S. :-P

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

Не. В вашем случае ключ - лиспофилия.

P.S. :-P

Причина этому заболеванию должна же какая-то быть? :)

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

> А что такого эпически мощного дает эта возможность, что Вы ее в каждом топике по плюсы упоминаете?

это почти что dependent types, м.б. даже они бы и получились при небольшой допилке плюсовой системы типов с этой фичей

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

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

Я прекрасно знаю, где и как используется С++ (как и другие языки). Да и кто не знает? Но дело ведь в другом. Сейчас ведь никто не говорит, что Unix это УГ? А ведь он был примерно там же, где и до недавнего времени был Common Lisp. Но от забвения его спас open source и конкретно упоминавшийся здесь Линус. Если бы не Linux, то сейчас бы уже никто и не знал, что такое Unix. Но ведь Unix всегда был достаточно хорош с технической точки зрения, а подвели его под могилу другие факторы. Примерно так же самая история произошла и с Common Lisp, только он попал в орбиту open source примерно на 10 лет позже. Где был Linux в 2000 году? Примерно там же сейчас и Common Lisp. Уже не ж..., но ещё и не хорошо. Занимался ли Линус с 92-ого по 2000-ый полной херней? Многие так считали. Является ли больным RMS, который с 84-го сам начал писать компоненты GNU? Многие продолжают так считать. Но является ли система, созданная этими людьми (а также их последователями) УГ?

В данный момент самый крупный недостаток Common Lisp - проблемы с инфраструктурой, она не так развита, как для многих других языков. Но многие люди работают над решением данной проблемы.

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

Но наехать на MOP со стороны C++ невозможно

но попробовать надо :-)

как на МОР сделать что-то вроде:

class Figure
{
public:
  virtual void draw()=0;
  virtual void rotate(float)=0;
};
class Square: public Figure
{
   /// определяем draw && rotate
};
www_linux_org_ru ★★★★★
()
Ответ на: комментарий от archimag

> Сейчас ведь никто не говорит, что Unix это УГ? А ведь он был примерно там же, где и до недавнего времени был Common Lisp

Где был Linux в 2000 году? Примерно там же сейчас и Common Lisp

Является ли больным RMS, который с 84-го сам начал писать компоненты GNU? Многие продолжают так считать. Но является ли система, созданная этими людьми (а также их последователями) УГ?



ты привел хорошие примеры жизнеспособных систем, написанных на С, которые способны к развитию :) а вот лисп пока все там же, что и Fortran, Prolog и пр. - хотя прошло уже больше 50 лет

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

> Хм, а что ты вообще знаешь о виртуальных функциях?

довольно много; лучше расскажи про defmethod на том примере, что я запостил

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

Нет, я привёл пример историю Unix (ссылаясь на авторитете Э. Рэймонда), который практически умер, но возродился благодаря open source.

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

> Говорят, в Монреале 30% населения - п-ры. Это разве говорит о том, что п-ры лучше мужиков?
Это было очевидно и вне контекста монреаля

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