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

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

https://t.me/+GLeZfukB0IwxM2Ji - ссылка на канал для друга
Download Telegram
Channel created
Почему Haskell — лучший выбор для функционального программирования

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

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

#haskell
2
⚡️ Haskell — ленивый язык программирования
Он сам решает, что и когда нужно посчитать.

Haskell — необычный язык с точки зрения тех, кто привык к JavaScript, С++, Python или любому другому императивному языку.

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

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

✔️ Подробнее про Haskel
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2
Найдите средний элемент

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

На вход функции будет подан массив из трех разных чисел (в Haskell: кортеж).

Например:


gimme([2, 3, 1]) => 0


2 - это число, которое находится между 1 и 3, а индекс 2 во входном массиве равен 0.

Другой пример (просто чтобы было понятно):


gimme([5, 10, 14]) => 1


10 - это число, которое находится между 5 и 14, а индекс 10 во входном массиве равен 1.

#7kyu

🔗 Перейти к задаче
2👎1
XMonad

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

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

GitHub: https://github.com/xmonad/xmonad
2👍2
🌟 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
👍52🔥2
🔥 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.
3👍2🔥1
⚡️ О Haskell по-человечески версия 2.1

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

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

🤓 Книга

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

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

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

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

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

📌 Книга

@haskell_tg - книги, курсы, гайды и уроки
👍4🔥42
🖥 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
👍52🔥2
Haskell Еженедельный новостной дайджест

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

@haskell_tg
👍43🔥2
✔️ 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
👍32🔥2
🖥 Большой бесплатный практический курс по Haskell MetaLamp

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

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

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

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

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

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

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

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

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

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

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

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

🖥 Курс

@haskell_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3