Метка «haskell» - 4

Дайджест интересных новостей и материалов из мира PHP за последние две недели №9 (12.01.2013 — 25.01.2013)

Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.

Приятного чтения!
Читать полностью »

image

Уважаемые разработчики и специалисты по разработке ПО! От лица команды конференции DevCon 2013 я с удовольствием анонсирую в рамках конференции проведение “Школы функционального программирования”.

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

Цель школы

Познакомить участников конференции с парадигмой функционального программирования и языками функционального программирования (F#, Haskell и другие), показать удобство применения языков ФП для решения практических задач в области параллельного, асинхронного, облачного и веб-программирования и работы с большими объемами распределенных данных.

В рамках Школы функционального программирования участники конференции смогут:

  • Познакомиться с парадигмой функционального программирования и понять, как можно программировать «по другому», без переменных, оператора присваивания и побочных эффектов
  • Оценить преимущества языков программирования (F#, Haskell и других) для решения задач параллельного, асинхронного, облачного и веб-программирования и для обработки больших распределенных данных
  • Поговорить о развитой системе типизации в функциональных языках и об использовании функционального подхода в программировании на C#

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

Успешно сдавшие выпускной экзамен получат отличительные знаки об окончании школы и возможность участвовать в итоговой чайной церемонии.
Читать полностью »

Доброго времени суток всем хабражителям
Перед вами статья, посвященная довольно известному, но не сильно популярному языку Haskell. В ней мне хочется показать пример решения простой турнирной задачи на языке Haskell. Надеюсь, что эта статья поможет начинающим программистам на Хаскеле сделать первые шаги к написанию полноценной программы.

Читать полностью »

В языках с автоматическим управлением памятью сборщик мусора удаляет объекты, когда они перестают быть доступными по ссылкам. Обычно это именно то, что нужно: объект существует, пока есть возможность к нему обратиться.
Иногда такое поведение не подходит. Например, программе понадобилось хранить некоторую вспомогательную информацию об экземплярах некоторого класса, но у вас нет возможности добавить в этот класс своё поле. В этом случае можно создать отображение, в котором ключом будет объект, а значением — вспомогательная информация.
Вот тут-то и начинаются проблемы. Поскольку отображение хранит ссылки на ключи, те объекты, к которым была привязана вспомогательная информация, перестают освобождаться из памяти. Если программа в процессе своей работы создаёт много объектов, память рано или поздно заканчивается.Читать полностью »

Алгоритм A* и кубик Рубика: реализация на языке HaskellДвенадцатый конкурс по функциональному программированию в этом году и семнадцатый с момента запуска этого процесса выдался на удивление особенным. Впервые в истории конкурсов на него не было прислано ни одного решения. А казалось бы, задание проще простого — написать программу, которая для заданного состояния кубика Рубика находила бы (кратчайший) алгоритм его сбора.

Злые языки предупреждали, что у рассматриваемой системы (размера 3х3х3) более 43 квантильонов состояний, и что никакой компьютер не справится с расчётом алгоритма при помощи простого перебора. Но ведь человек как-то решает задачу. Да, зачастую человек берёт и использует типовые шаги. Но вот я, к примеру, собираю кубик при помощи типовых комбинаций, но у меня на сборку кубика уходит минут пять, в то время как умельцы могут это сделать за 10 секунд. Что, неужели они знают алгоритм Бога? Сомневаюсь. Так что задача была вполне решаема. Но никто не решил.

Я сам написал для проверки своих идей программу для перебора при помощи алгоритма А* для кубика Рубика произвольного размера. Далее представлена эта программа.

Читать полностью »

В статье представлено моё видение на эволюцию функциональной парадигмы программирования и процессы популяризации функциональных языков программирования на примере языка Haskell. Изучаются причины общей низкой популярности как функционального программирования, так и одного из его «флагманов». Приводятся факторы, которые не позволят языку программирования Haskell стать таким же широко используемым языком, как Java, C++, PHP и др.

Читать полностью »

Раскрашиваем карту при помощи языка HaskellСегодня я хотел бы рассказать про ноябрьский конкурс по функциональному программированию, несмотря на то, что с момента его проведения уже прошло практически два месяца. Соорганизатором конкурса выступил наш уважаемый коллега Алексей Кишкин, который предложил задачу, реализовал её решение на нескольких языках программирования, а также подготовил некоторую вспомогательную инфраструктуру для проверки решений.

Задача на кункурс была вынесена крайне известная. Необходимо было решить банальную проблему раскраски карты, то есть поиска хроматического числа графа. Предполагалось, что конкурсанты представят на суд общественности общее решение, которое они проверяли на задаче раскраски карты России на уровне субъектов федерации. Ну и так вышло, что задача, несмотря на свою известность и давнишность, заинтересовала многих участников, так что на конкурс были присланы решения на многих языках программирования.

Ну а мы, как обычно, далее в этой краткой заметке мы рассмотрим решение указанной задачи на языке программирования Haskell. Впрочем, я сразу хочу оговориться — программа написана соорганизатором конкурса, который обычно пишет свои программы на языке OCaml, так что сегодня, как я ни старался, в определениях функций мы будем постоянно видеть торчащие верблюжьи уши OCaml'я :).

Читать полностью »

Книга «Другие 14 эссе о функциональном программировании и языке Haskell — серьёзные»Пока суд да дело, я подготовил, скомпилировал и фактически опубликовал новую книгу по функциональному программированию и прекрасному языку Haskell, которая называется «Другие 14 эссе о языке Haskell и функциональном программировании — серьёзные». Как понятно из названия, в книге собрано ни много, ни мало — 14 моих статей, которые в разное время были опубликованы в разных местах (в том числе и на Хаброхабре). В отличие от моей предыдущей книги, которая называется «14 занимательных эссе...», в настоящем томе собраны довольно серьёзные и зачастую наполненные «матаном» статьи, особенно во второй части, посвящённой теоретическим основам функционального программирования.

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

Читать полностью »

Приветствую всех читателей!
Ниже идет моя точка зрения того, как я понял главу 14 из сладов курса по Haskell у нас в университете.
Итак, сегодня мы поговорим о следующих двух темах:

  • Принцип «Разделяй и властвуй»
  • Работа с бесконеными потоками

Экспертов в этой области прошу комментировать и поправлять, если будут неточности. Буду рад ответить на вопросы в комментариях.
Читать полностью »

Встреча FProg 2012 12 в Петербурге
12 декабря 2012 года в 19:00 в петербургском офисе JetBrains пройдёт встреча по функциональному программированию FProg. В программе встречи представлены доклады о языках Haskell, Kotlin и Clojure:

  • Илья Сергей. Статический анализ и оптимизация кода в GHC
  • Андрей Бреслав. Функции и данные в Kotlin
  • Дмитрий Грошев. Reducers в Clojure

Обязательная запись на встречу для доступа в офис осуществляется на странице встречи через Twitter-аккаунт.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js