Haskell
558 subscribers
25 photos
1 video
1 file
24 links
Язык программирования Haskell

по всем вопросам - @haarrp

https://t.me/+GLeZfukB0IwxM2Ji - ссылка на канал для друга
Download Telegram
XMonad

Динамически мозаичный оконный менеджер X11, написанный и настроенный на Haskell

▫️Очень стабильный, быстрый, маленький и простой.
▫️Автоматическое размещение окон и управление ими
▫️Первоклассная поддержка клавиатуры: мышь не нужна
▫️Полная поддержка мозаичного размещения окон на многоэкранных дисплеях.
▫️Полная поддержка плавающих окон, вкладок и декорированных окон.
▫️Полная поддержка утилит GNOME и KDE.
▫️Поддержка XRandR для поворота, добавления или удаления мониторов
▫️Алгоритмы компоновки для каждого рабочего пространства
▫️Пользовательские строки состояния для каждого экрана
▫️Поддержка композитинга
▫️Мощная, стабильная настройка и реконфигурация на лету

GitHub: https://github.com/xmonad/xmonad
🌟 ProLLM: бенчмарк на компетентность языковых моделей в программировании.

Разработчик и автор корпоративного code со-pilot Toqan и FinBERT pfgecnbk запустил публичный Leaderbord бенчмарка ProLLM, в котором языковые модели открытого и закрытого типа тестируются на выполнения различных задач в области программирования:

🟠сoding assistant, создание кода на 27 языках, включая R, ассемблер, haskell, delhi и ada;
🟠StackUnseen, вопросы и ответы из неопубликованных в датасетах данных Stack Overflow за последние 3 месяца;
🟠вызов функций, оценка способности LLM интерпретировать запросы и вызывать соответствующие функции с правильными параметрами;
🟠SQL Disambiguation (только на Португальском языке), оценка того, как тестируемая модель выявляет двусмысленность запроса SQL и определяет, когда требуется уточнение;
🟠извлечение сущностей (только на Польском языке), дает представление об общей эффективности извлечения сущностей и маркировки LLM на непопулярных языках.

Помимо узкоспециализированных тестов, бенчмарк выполняет несколько общих тестов: Q&A Assistant, Summarization и LLM as a Judge.

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

Toqan ProLLM Leaderboard

#AI #LLM #ML #Benchmark
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Rainbow Brackets — плагин для IDE, основанных на IntelliJ IDEA, который раскрашивает любые скобки

Поддерживаемые языки: Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, C#, HTML, XML, SQL, Apex language.
⚡️ О Haskell по-человечески версия 2.1

Книга создана с помощью практичного Markdown, блистательного Materialize, впечатляющего Hakyll, элегантного Clay, гибкого BlazeHtml и мощного pandoc.

И разумеется, всё это связано воедино силою Haskell. Книга написана при поддержке русскоязычного сообщества Haskell-разработчиков.

🤓 Книга

Haskel
Please open Telegram to view this post
VIEW IN TELEGRAM
📕 Effective Haskell: Solving Real-World Problems with Strongly Typed Functional Programming
Автор: Rebecca Skinner (2023)

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

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

Безбоязненно управляйте параллельными процессами. Применяйте функциональные методы для работы с базами данных и построения RESTful-сервисов.

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

📌 Книга

@haskell_tg - книги, курсы, гайды и уроки
🖥 The Haskell School of Music: From Signals to Symphonies

Авторы: Paul Hudak, Donya Quick

📕 Книга

@haskell_tg - книги, курсы, гайды и уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
Haskell Еженедельный новостной дайджест

Haskell 449 http://haskellweekly.news/issue/449.html

@haskell_tg
✔️ Testcontainers

Библиотека предоставляет удобный API для запуска Docker-контейнеров и позволяет разработчикам программно определять контейнеры, которые следует запускать как часть теста, и очищать эти ресурсы после завершения теста. На текущий момент поддерживается в Haskell, Java, Go, .NET, Python, Node.js, Rust.

https://www.testcontainers.org/

@haskell_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Большой бесплатный практический курс по Haskell MetaLamp

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

⚡️ Программа обучения полностью открыта и доступна бесплатно для всех.

Всего заданий пять, и они достаточно объёмные.

🕘 Даже при интенсивном темпе прохождения курса потребуется примерно 5 месяцев.

Задания нацелены на систематическое освоение основ и принципов Haskell разработки.

Одной из самых грубых ошибок при обучении является стремление сразу погрузиться в сложные практические задачи и начать осваивать множество высокоуровневых технологий (таких как веб-фреймворки), требующих значительного времени на изучение документации. Но без прочного фундамента лучше не углубляться в подобные темы 😊

Поэтому вы начнете с основ: изучение самого языка, ключевых шаблонов проектирования и архитектурных принципов. После этого перейдете к самым простым технологиям ( веб-серверам, примитивным обёрткам для работы с базами данных и т.п.).

Завершающим этапом становится масштабная переработка кода на основе множества различных источников и анализ ваших GitHub-репозиториев с созданием issue-заданий.

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

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

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

Эта стажировка должна стать отличным опытом для вас!

🖥 Курс

@haskell_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Учебник по Haskell

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

Всё это вы найдёте в замечательном языке программирования Haskell.

Если вы просто где-то слышали о Haskell, и пока это описание ни о чём не говорит, ничего, об этом и о многом другом вы узнаете со страниц этой книги.

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

Это свободный язык, он разрабатывается комитетом разработчиков, программистов, математиков, информатиков, и просто увлечённых программированием людей. Основной компилятор языка GHC разрабатывается в Microsoft Research, но несмотря на это легко доступен в интернет. Вы можете установить его через Haskell Platform (для начинающих) или напрямую с сайта GHC (для гиков и любителей квестов). Ещё нам понадобится редактор с подсветкой синтаксиса Haskell.

Подойдёт простой gedit или более тяжёлые vim и Emacs. Есть и IDE для Haskell. Это Leksah, но пока ещё она совсем юная.

Итак, устанавливаем компилятор GHC подбираем редактор по вкусу и в добрый путь!

📚 Учебник

@haskell_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
Они "одинаковые"? кто решит тот лучший 💪

Для двух массивов a и b напишите функцию comp(a, b) (или compSame(a, b)), которая проверяет, есть ли в этих массивах "одинаковые" элементы с одинаковой кратностью (кратность члена - это количество раз, которое он встречается). В данном случае "одинаковые" означает, что элементы в b - это элементы в квадрате a, независимо от порядка.

Examples:

Допустимые массивы


a = [121, 144, 19, 161, 19, 144, 19, 11] b = [121, 14641, 20736, 361, 25921, 361, 20736, 361]


comp(a, b) возвращает true, потому что в b 121 - квадрат 11, 14641 - квадрат 121, 20736 - квадрат 144, 361 - квадрат 19, 25921 - квадрат 161, и так далее. Это становится очевидным, если записать элементы b в терминах квадратов:


a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [11*11, 121*121, 144*144, 19*19, 161*161, 19*19, 144*144, 19*19]


Некорректные массивы

Если, например, мы изменим первое число на что-то другое, comp больше не будет возвращать true:


a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [132, 14641, 20736, 361, 25921, 361, 20736, 361]


comp(a,b) возвращает false, потому что в b 132 не является квадратом какого-либо числа из a.


a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [121, 14641, 20736, 36100, 25921, 361, 20736, 361]


comp(a,b) возвращает false, потому что в b 36100 не является квадратом какого-либо числа из a.

Примечания

🟡a или b могут быть [] или {} (все языки, кроме R, Shell).

🟡a
или b могут быть nil или null или None или nothing (кроме C++, COBOL, Crystal, D, Dart, Elixir, Fortran, F#, Haskell, Nim, OCaml, Pascal, Perl, PowerShell, Prolog, PureScript, R, Racket, Rust, Shell, Swift).

🟡Если a или b равны nil (или null, или None, в зависимости от языка), проблема не имеет смысла, поэтому возвращается false.

#6kyu

🔗 Перейти к задаче

@haskell_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ PostgREST создает полноценное RESTful API на основе любой существующей базы данных PostgreSQL.

**Производительность:**

Скорость работы обеспечивается за счет трех факторов. Во-первых, сервер написан на Haskell с использованием HTTP Warp (это компилируемый язык с легковесными потоками). Во-вторых, он передает максимальное количество вычислений базе данных, включая:

- Сериализацию ответов JSON прямо в SQL,
- Валидацию данных,
- Механизмы авторизации,
- Комбинированный подсчет строк и фильтрацию,
- Возврат всех данных одной командой (*).

И наконец, PostgREST эффективно взаимодействует с базой данных через библиотеку Hasql:

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

Github

@haskell_tg
Media is too big
VIEW IN TELEGRAM
🚀 Виталий Брагилевский: интервью с автором Haskell in Depth

https://www.youtube.com/watch?v=F4hXp0-vgPY&pp=ygUGaGFza2Vs

Haskel
Программируй_на_Haskell_2019_Уилл_Курт.pdf
18.1 MB
Программируй на Haskell [2019] Уилл Курт

Языки программирования зачастую отличаются лишь отдельными элементами - несколько ключевых слов, библиотек или платформенных решений. Haskell формирует абсолютно новую точку зрения. По мнению пионера программного обеспечения Алана Кэя, смена перспективы может дать 80 баллов IQ, и разработчики на Haskell соглашаются с исключительными преимуществами мышления в стиле Haskell: функционального мышления с ориентацией на типобезопасность, математическую определённость и многое другое. В этой практической книге вы будете учиться именно этому. «Программируй на Haskell» проведёт вас через короткие уроки, примеры и упражнения, разработанные так, чтобы вы смогли прочувствовать Haskell. В ней вы найдёте кристально ясные иллюстрации и легко сможете практиковаться под её руководством. Вы будете писать и тестировать дюжины интересных программ, а также погрузитесь в различные модули и библиотеки.

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

🌟 Он позволяет генерировать современные диаграммы сущностей и связей (ERD), исследовать связи между таблицами, искать данные в схемах и документировать базы данных. Azimutt разработан с учетом реальных задач и может обрабатывать даже большие и сложные схемы.

💡 Среди ключевых возможностей — масштабируемая визуализация ERD, поиск и фильтрация таблиц и связей, выполнение SQL-запросов с визуализацией внешних ключей и инструмент для обнаружения проблем в структуре базы данных. Это делает Azimutt полезным как для анализа существующих баз, так и для их проектирования.

🔐 Лицензия: MIT

🖥 Github

Haskell
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 DrawDB — это система управления базами данных, ориентированная на визуализацию и моделирование данных!

🌟 Она позволяет пользователям создавать базы данных с использованием графического интерфейса, что делает процесс проектирования и взаимодействия с данными более интуитивно понятным. DrawDB может быть полезна для разработчиков, которым нужно быстро создать или визуализировать структуру базы данных без углубленного знания SQL.

🔐 Лицензия: AGPL-3.0

🖥 Github

@haskell_tg
Please open Telegram to view this post
VIEW IN TELEGRAM