|
|
rss_habr
[Перевод] Грокаем TraversableПятница, 03 Февраля 2023 г. 12:30 (ссылка)
Грокнув Traversable, вы удивитесь, как вы вообще раньше жили без него. Попытки понять Traversable просто глядя на сигнатуру типа никогда не доставляли мне особого удовольствия. Поэтому, в этом посте мы используем другой подход и сами придумаем его в процессе решения реальной задачи. Так мы прочувствуем момент осознания, когда наконец поймем, как он работает, и где его можно применять. Читать далееhttps://habr.com/ru/post/714532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=714532
rss_habr
[Перевод] Грокаем TraversableПятница, 03 Февраля 2023 г. 12:30 (ссылка)
Грокнув Traversable, вы удивитесь, как вы вообще раньше жили без него. Попытки понять Traversable просто глядя на сигнатуру типа никогда не доставляли мне особого удовольствия. Поэтому, в этом посте мы используем другой подход и сами придумаем его в процессе решения реальной задачи. Так мы прочувствуем момент осознания, когда наконец поймем, как он работает, и где его можно применять. Читать далееhttps://habr.com/ru/post/714532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=714532
rss_habr
[Перевод] Грокаем валидацию при помощи аппликативного функтораПонедельник, 09 Января 2023 г. 12:00 (ссылка)
В предыдущем посте мы открыли Аппликативный функтор, а если точнее, изобрели функцию https://habr.com/ru/post/709376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709376
rss_habr
[Перевод] Грокаем валидацию при помощи аппликативного функтораПонедельник, 09 Января 2023 г. 12:00 (ссылка)
В предыдущем посте мы открыли Аппликативный функтор, а если точнее, изобрели функцию https://habr.com/ru/post/709376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709376
rss_habr
Тест – это вещь! F#, тестирование на базе Expecto. Часть втораяПонедельник, 26 Декабря 2022 г. 11:00 (ссылка)
В прошлой части мы разобрали базис тестового фреймворка Expecto. В этой рассмотрим основные подходы написания тестов в контексте Expecto и постепенно перейдём к обобщённым преимуществам-следствиям концепции “тест-объект”. Часть выводов по ходу статьи могут быть полезны и не F#-истам. Однако, как говорилось в первой части, изначально это был монолитный текст, что был разделён почти механически, и я не берусь оценить усвояемость данного материала в отрыве от первой части. Читать далееhttps://habr.com/ru/post/706594/?utm_source=habrahabr&utm_medium=rss&utm_campaign=706594
rss_habr
[Перевод] Грокаем аппликативные функторыПятница, 23 Декабря 2022 г. 12:06 (ссылка)
Аппликативный функтор, возможно, наименее известный брат монады, но он столь же важен и решает похожую проблему. В этом посте мы постараемся разобраться, что он из себя представляет. Читать далееhttps://habr.com/ru/post/707294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=707294
rss_habr
[Перевод] Грокаем аппликативные функторыПятница, 23 Декабря 2022 г. 12:06 (ссылка)
Аппликативный функтор, возможно, наименее известный брат монады, но он столь же важен и решает похожую проблему. В этом посте мы постараемся разобраться, что он из себя представляет. Читать далееhttps://habr.com/ru/post/707294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=707294
rss_habr
Тест – это вещь! F#, тестирование на базе Expecto. Часть перваяЧетверг, 22 Декабря 2022 г. 11:15 (ссылка)
Expecto — фреймворк для тестирования, написанный на F# и для F#. Он довольно хорошо известен в рамках F#-сообщества, и у разработчиков, сумевших отгородиться от C# в достаточной степени, используется как платформа для тестов по умолчанию. Новички в F#, а также мимо проходящие C#-еры, как правило, не обращают внимания на данный фреймворк до первого красного теста. А после знакомства впадают в лёгкий аналитический паралич. Ибо то, что со стороны выглядит как ещё один @"{Prefix}Unit" фреймворк для тестирования, на практике оказывается переосмыслением привычных практик. В данной статье я попробую широкими мазками описать онтологический аппарат Expecto и показать наиболее естественный путь его подчинения. Это не рулбук, а одноразовое введение, которое я предпочёл бы видеть вместо (или до) существующего README.md в официальном репозитории. Также я постараюсь обойтись максимально локальными примерами кода, дабы текст можно было прочитать, не слезая с самоката. Читать далееhttps://habr.com/ru/post/706576/?utm_source=habrahabr&utm_medium=rss&utm_campaign=706576
rss_habr
Как я сделал самый быстрый в мире файловый серверПонедельник, 31 Октября 2022 г. 12:00 (ссылка)
https://habr.com/ru/post/695808/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695808
rss_habr
Как я сделал самый быстрый в мире файловый серверПонедельник, 31 Октября 2022 г. 12:00 (ссылка)
https://habr.com/ru/post/695808/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695808
rss_habr
[Перевод] Грокаем функторыВторник, 06 Сентября 2022 г. 19:14 (ссылка)
Это перевод статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Торнтона. Я позволил себе немного поменять порядок постов. В оригинале, функторы идут после монад, что мне показалось неверным. Всякая монада - это функтор, но не всякий функтор - это монада. Также я убрал дублирование из поста про монады и добавил необходимые пояснения. Мне нравится практическая направленность материала. Он довольно подробно останавливается на базовых вещах, так что скорее предназначен для тех, кто только знакомится с функциональным программированием. В этом посте мы постараемся разобраться, что такое функтор собственноручно переизобретая его на рабочем примере. Читать далееhttps://habr.com/ru/post/686768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686768
rss_habr
[Перевод] Грокаем функторыВторник, 06 Сентября 2022 г. 19:14 (ссылка)
Это перевод статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Торнтона. Я позволил себе немного поменять порядок постов. В оригинале, функторы идут после монад, что мне показалось неверным. Всякая монада - это функтор, но не всякий функтор - это монада. Также я убрал дублирование из поста про монады и добавил необходимые пояснения. Мне нравится практическая направленность материала. Он довольно подробно останавливается на базовых вещах, так что скорее предназначен для тех, кто только знакомится с функциональным программированием. В этом посте мы постараемся разобраться, что такое функтор собственноручно переизобретая его на рабочем примере. Читать далееhttps://habr.com/ru/post/686768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686768
rss_habr
[Перевод] Грокаем монады императивноПятница, 26 Августа 2022 г. 14:48 (ссылка)
В предыдущем посте мы переизобрели Монаду на рабочем примере. У нас получился базовый механизм в виде функции https://habr.com/ru/post/684820/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684820
rss_habr
[Перевод] Грокаем монады императивноПятница, 26 Августа 2022 г. 14:48 (ссылка)
В предыдущем посте мы переизобрели Монаду на рабочем примере. У нас получился базовый механизм в виде функции https://habr.com/ru/post/684820/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684820
rss_habr
Discriminated Unions в C#Вторник, 23 Августа 2022 г. 10:48 (ссылка)
Всем привет. Среди многих интересных концепций, имеющихся в F#, меня привлекли Discriminated Unions. Я задался вопросом, как их реализовать в C#, ведь в нем отсутствует поддержка (синтаксическая) типов объединений, и я решил найти способ их имитации. Discriminated Unions - тип данных, представляющий собой размеченные объединения, каждый из которых может состоять из собственных типов данных (также именованных). Идея в том, что мы имеем ограниченное количество вариантов выбора, и каждый вариант может состоять из своего набора данных, никак не связанных с другими, но все варинанты объединены общим подтипом. Для создания своих Discriminated Unions будем использовать эту мысль Читать далееhttps://habr.com/ru/post/684104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684104
rss_habr
Discriminated Unions в C#Вторник, 23 Августа 2022 г. 10:48 (ссылка)
Всем привет. Среди многих интересных концепций, имеющихся в F#, меня привлекли Discriminated Unions. Я задался вопросом, как их реализовать в C#, ведь в нем отсутствует поддержка (синтаксическая) типов объединений, и я решил найти способ их имитации. Discriminated Unions - тип данных, представляющий собой размеченные объединения, каждый из которых может состоять из собственных типов данных (также именованных). Идея в том, что мы имеем ограниченное количество вариантов выбора, и каждый вариант может состоять из своего набора данных, никак не связанных с другими, но все варинанты объединены общим подтипом. Для создания своих Discriminated Unions будем использовать эту мысль Читать далееhttps://habr.com/ru/post/684104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684104
rss_habr
[Перевод] Грокаем монадыСуббота, 13 Августа 2022 г. 15:29 (ссылка)
Прим. переводчика: Это перевод первой статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Тронтона. Да, это очередная статья про монады. Но она отличается от всего, что я читал по этой теме ранее. Поэтому мне захотелось перевести ее, чтобы самому внимательно вчитаться, чтобы поделиться с теми, кому трудно воспринимать такой материал на английском или кому она не попалась на глаза, чтобы, в конце концов, просто сохранить, так как сеть штука ненадежная. Самый распространенный способ объяснить монаду - зайти через теорию категорий. Знать, что монада - это моноид в категории эндофункторов и увлекательно и полезно для общего развития, но слабо помогает в практическом смысле. Второй, равный по популярности прием - прибегнуть к помощи образов, и вот мы уже складываем значения в коробочки и достаем их оттуда (или, вообще кошмар, катимся по железной дороге). Не спорю, образы - хороший способ посмотреть на явление, но тут мы равно удалились и от теории категорий и от практики. Комментарии под такого рода статьями не перестают полниться вопросами: а что нам это дает, жили же без монады как-то? Автор, подобно лектору по математике, у которого вылетело из головы доказательство теоремы и он доказал ее прямо у доски, ориентируясь на интуитивное представление, как бы хотелось решить задачу, постепенно пробирается от корявого куска кода к лаконичному. Если бы даже монады не существовало, мы должны бы были ее изобрести, потому что она позволяет писать код чище.
https://habr.com/ru/post/682340/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682340
rss_habr
[Перевод] Грокаем монадыСуббота, 13 Августа 2022 г. 15:29 (ссылка)
Прим. переводчика: Это перевод первой статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Тронтона. Да, это очередная статья про монады. Но она отличается от всего, что я читал по этой теме ранее. Поэтому мне захотелось перевести ее, чтобы самому внимательно вчитаться, чтобы поделиться с теми, кому трудно воспринимать такой материал на английском или кому она не попалась на глаза, чтобы, в конце концов, просто сохранить, так как сеть штука ненадежная. Самый распространенный способ объяснить монаду - зайти через теорию категорий. Знать, что монада - это моноид в категории эндофункторов и увлекательно и полезно для общего развития, но слабо помогает в практическом смысле. Второй, равный по популярности прием - прибегнуть к помощи образов, и вот мы уже складываем значения в коробочки и достаем их оттуда (или, вообще кошмар, катимся по железной дороге). Не спорю, образы - хороший способ посмотреть на явление, но тут мы равно удалились и от теории категорий и от практики. Комментарии под такого рода статьями не перестают полниться вопросами: а что нам это дает, жили же без монады как-то? Автор, подобно лектору по математике, у которого вылетело из головы доказательство теоремы и он доказал ее прямо у доски, ориентируясь на интуитивное представление, как бы хотелось решить задачу, постепенно пробирается от корявого куска кода к лаконичному. Если бы даже монады не существовало, мы должны бы были ее изобрести, потому что она позволяет писать код чище.
https://habr.com/ru/post/682340/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682340
rss_habr
Цитирование в языках программированияВоскресенье, 05 Июня 2022 г. 22:21 (ссылка)
Задачу я встретил, решая упражнения из книги Структура и Интерпретация Компьютерных Программ). Раздел 2.3 посвящён цитированию в LISP и символическим вычислениям. Обычные — несимволические — вычисления сводятся к расчётам с помощью арифметических операций. Если я попрошу вас вычислить производную функции в точке , вы можете сделать это по формуле при каком-нибудь не очень большом значении . Подробнее о символических вычисленияхhttps://habr.com/ru/post/669682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=669682
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |