Почему Haskell — лучший выбор для функционального программирования
Haskell входит в число наиболее востребованных функциональных языков программирования. Для него характерна полная, строгая и статическая типизация и поддержка так называемых ленивых вычислений. Изначально язык применялся в качестве инструмента для сугубо научных математических изысканий, но постепенно стал одним из наиболее востребованных на практике языков.
Этот материал представляет собой введение в функциональное программирование на языке Haskell. Мы расскажем вам об особенностях и преимуществах и как он применяется на практике.
#haskell
Haskell входит в число наиболее востребованных функциональных языков программирования. Для него характерна полная, строгая и статическая типизация и поддержка так называемых ленивых вычислений. Изначально язык применялся в качестве инструмента для сугубо научных математических изысканий, но постепенно стал одним из наиболее востребованных на практике языков.
Этот материал представляет собой введение в функциональное программирование на языке Haskell. Мы расскажем вам об особенностях и преимуществах и как он применяется на практике.
#haskell
⚡️ Haskell — ленивый язык программирования
Он сам решает, что и когда нужно посчитать.
Haskell — необычный язык с точки зрения тех, кто привык к JavaScript, С++, Python или любому другому императивному языку.
Всё дело в том, что Haskell — функциональный язык. Мы уже рассказывали, чем отличаются функциональные языки от остальных, теперь посмотрим на них в деле.
👉 Haskell — не совсем для обычных вещей, и стандартное приложение с красивым интерфейсом на нём сделать не получится. А вот сделать серверную часть, которая возьмёт на себя все сложные вычисления, или консольную программу, которая вызывается через командную строку, — вполне. Лучше всего Haskell справляется с точными вычислениями и расчётами, поэтому чем лучше вы будете знать математику — тем лучше для кода.
✔️ Подробнее про Haskel
Он сам решает, что и когда нужно посчитать.
Haskell — необычный язык с точки зрения тех, кто привык к JavaScript, С++, Python или любому другому императивному языку.
Всё дело в том, что Haskell — функциональный язык. Мы уже рассказывали, чем отличаются функциональные языки от остальных, теперь посмотрим на них в деле.
👉 Haskell — не совсем для обычных вещей, и стандартное приложение с красивым интерфейсом на нём сделать не получится. А вот сделать серверную часть, которая возьмёт на себя все сложные вычисления, или консольную программу, которая вызывается через командную строку, — вполне. Лучше всего Haskell справляется с точными вычислениями и расчётами, поэтому чем лучше вы будете знать математику — тем лучше для кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Найдите средний элемент
В рамках этого Ката вам нужно создать функцию, которая, получив триплет, возвращает индекс числового элемента, находящегося между двумя другими элементами.
На вход функции будет подан массив из трех разных чисел (в Haskell: кортеж).
Например:
2 - это число, которое находится между 1 и 3, а индекс 2 во входном массиве равен 0.
Другой пример (просто чтобы было понятно):
10 - это число, которое находится между 5 и 14, а индекс 10 во входном массиве равен 1.
#7kyu
🔗 Перейти к задаче
В рамках этого Ката вам нужно создать функцию, которая, получив триплет, возвращает индекс числового элемента, находящегося между двумя другими элементами.
На вход функции будет подан массив из трех разных чисел (в Haskell: кортеж).
Например:
gimme([2, 3, 1]) => 0
2 - это число, которое находится между 1 и 3, а индекс 2 во входном массиве равен 0.
Другой пример (просто чтобы было понятно):
gimme([5, 10, 14]) => 1
10 - это число, которое находится между 5 и 14, а индекс 10 во входном массиве равен 1.
#7kyu
🔗 Перейти к задаче
XMonad
Динамически мозаичный оконный менеджер X11, написанный и настроенный на Haskell
▫️Очень стабильный, быстрый, маленький и простой.
▫️Автоматическое размещение окон и управление ими
▫️Первоклассная поддержка клавиатуры: мышь не нужна
▫️Полная поддержка мозаичного размещения окон на многоэкранных дисплеях.
▫️Полная поддержка плавающих окон, вкладок и декорированных окон.
▫️Полная поддержка утилит GNOME и KDE.
▫️Поддержка XRandR для поворота, добавления или удаления мониторов
▫️Алгоритмы компоновки для каждого рабочего пространства
▫️Пользовательские строки состояния для каждого экрана
▫️Поддержка композитинга
▫️Мощная, стабильная настройка и реконфигурация на лету
GitHub: https://github.com/xmonad/xmonad
Динамически мозаичный оконный менеджер X11, написанный и настроенный на Haskell
▫️Очень стабильный, быстрый, маленький и простой.
▫️Автоматическое размещение окон и управление ими
▫️Первоклассная поддержка клавиатуры: мышь не нужна
▫️Полная поддержка мозаичного размещения окон на многоэкранных дисплеях.
▫️Полная поддержка плавающих окон, вкладок и декорированных окон.
▫️Полная поддержка утилит GNOME и KDE.
▫️Поддержка XRandR для поворота, добавления или удаления мониторов
▫️Алгоритмы компоновки для каждого рабочего пространства
▫️Пользовательские строки состояния для каждого экрана
▫️Поддержка композитинга
▫️Мощная, стабильная настройка и реконфигурация на лету
GitHub: https://github.com/xmonad/xmonad
Разработчик и автор корпоративного code со-pilot Toqan и FinBERT pfgecnbk запустил публичный Leaderbord бенчмарка ProLLM, в котором языковые модели открытого и закрытого типа тестируются на выполнения различных задач в области программирования:
Помимо узкоспециализированных тестов, бенчмарк выполняет несколько общих тестов: 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