В воскресенье, 6 декабря 2015 года, в 12:00, сообщество RuHaskell приглашает функциональных программистов и всех желающих на очередной митап! Мероприятие пройдёт в Москве, на ул. Льва Толстого, д. 16, в офисе Яндекса, зал Экстрополис.
Alexander Vershilov @qnikst
User
Включение внешних языков в программы на Haskell
12 min
7.8KВ данной статье приведено краткое описание техники, которое позволяет использовать в программах на Haskell библиотеки, написанные на других языках программирования. При этом нет необходимости ни переписывать эти библиотеки на Haskell, ни писать бесчисленные обертки на C, ни писать явные байндинги. В получающейся программе можно как напрямую вызывать “чужой” код, так и вызывать из чужого кода Haskell функции. Сам же код функций может быть написан на расширенном подключаемом языке, что позволяет работать с ним специалистам в подключаемых языках, которые, к сожалению, пока не знакомы с Haskell.
+18
kbdd — простой переключатель раскладок
4 min
3.6KKbdd — это небольшой демон, для пооконного запоминания раскладок, написанный на чистом C и распространяющийся под лицензией GPL-3. Особенность данного демона в том, что он не зависит от сторонних WM и/или DE.
Сейчас программа находится в состоянии доводки до конечного состояния: стабилизация API, добавление информации об ошибках, дополнительные проверки передаваемых значений. Поэтому я представляю программу широкому кругу пользователей, для того, чтобы заинтересованные могли её попробовать, внести свои предложения по поводу функционала, покритиковать и т.д. Если Вы заинтересованы, то под катом подробное описание.
Сейчас программа находится в состоянии доводки до конечного состояния: стабилизация API, добавление информации об ошибках, дополнительные проверки передаваемых значений. Поэтому я представляю программу широкому кругу пользователей, для того, чтобы заинтересованные могли её попробовать, внести свои предложения по поводу функционала, покритиковать и т.д. Если Вы заинтересованы, то под катом подробное описание.
+27
Мемоизация в Java
9 min
11KМемоизация — (Memoization, англ) вариант кеширования, заключающийся в том, что для функции создаётся таблица результатов, и будучи вычисленной при определённых значениях параметров результат заносится в эту таблицу. В дальнейшем результат берётся из данной таблицы.
Эта техника позволяет засчёт использования дополнительной памяти ускорить работу программы.Данный подход очень частно применяется в функциональных языках программирования, однако и в императивных ему так же можно найти применение. В данном топике рассматривается использование мемоизации в языке java приводятся различные примеры мемоизации и в конце производится небольшое сравнение производительности данных методов.
Эта техника позволяет засчёт использования дополнительной памяти ускорить работу программы.Данный подход очень частно применяется в функциональных языках программирования, однако и в императивных ему так же можно найти применение. В данном топике рассматривается использование мемоизации в языке java приводятся различные примеры мемоизации и в конце производится небольшое сравнение производительности данных методов.
+33
Dan Piponi
11 min
3.2KTranslation
Резюме: В статье приводятся примеры задач, для решения которых могут понадобиться монады.
Вместо вступления (перевод начался):
Во многих «введениях в монады» монады подаются как нечто сложно-объяснимое. Я же хочу показать, что это на самом деле, они не являются чем-то сложным. В действительности, сталкиваясь с различными проблемами в функциональном программировании вы будете непреклонно приходить к различным решениям, которые часто являются примерами монад. И я надеюсь, что вы научитесь изобретать их, если вы ещё не научились. Забегая вперёд скажу, что эти решения по сути являются одним и тем же решением. После прочтения вы наверное будете лучше понимать другие работы по монадам потому, что будете узнавать всё, что вы увидите как то, что вы уже сами изобрели.
Вместо вступления (перевод начался):
Во многих «введениях в монады» монады подаются как нечто сложно-объяснимое. Я же хочу показать, что это на самом деле, они не являются чем-то сложным. В действительности, сталкиваясь с различными проблемами в функциональном программировании вы будете непреклонно приходить к различным решениям, которые часто являются примерами монад. И я надеюсь, что вы научитесь изобретать их, если вы ещё не научились. Забегая вперёд скажу, что эти решения по сути являются одним и тем же решением. После прочтения вы наверное будете лучше понимать другие работы по монадам потому, что будете узнавать всё, что вы увидите как то, что вы уже сами изобрели.
+26
Information
- Rating
- Does not participate
- Location
- Гатчина, Санкт-Петербург и область, Россия
- Registered
- Activity