Сегодня вышла внезапная статья по ООП в F# для начинающих. Если шарите, то ничего нового не увидите, так как обзор сделан по верхам без разбора особых плюшек и заковыристых случаев. Однако комментарии говорят о том, что в мире есть люди, которые сильно недооценивают ООП-составляющую F#.
ДОКОЛЕ?!
ДОКОЛЕ?!
Хабр
ООП в F#
Привет, Хабр! Объектно-ориентированное программирование представляет собой подход к разработке, где основой являются объекты — экземпляры классов, объединяющие в себе и данные, и поведение. В F#,...
❤6👍1🤔1
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 3. Модули и типы
В этот раз почти без "фундаментальной" теории, просто очень подробный пошаговый разбор одного генератора. Что делаем, зачем, почему так, а не иначе, и т.д. По существу, ничего сложного, кодогенерация — это всего-лишь ещё одна предметная область со своей спецификой.
В этот раз почти без "фундаментальной" теории, просто очень подробный пошаговый разбор одного генератора. Что делаем, зачем, почему так, а не иначе, и т.д. По существу, ничего сложного, кодогенерация — это всего-лишь ещё одна предметная область со своей спецификой.
Хабр
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 3. Модули и типы
В прошлых двух частях мы ознакомились с синтаксической моделью F#-кода и с инструментами для неё . Объёмный пример туда уже не влез, но необходимость в нём осталась. Так родились ещё две...
❤3👍2🔥1
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 4. Расширения, обобщения и методы
Заключительная часть цикла, а в ней тонны кода с пояснениями частного и общего характера. Результат похож на боевой генератор, но без потной борьбы с исключениями, которая, увы, сопровождает все реальные проекты.
Заключительная часть цикла, а в ней тонны кода с пояснениями частного и общего характера. Результат похож на боевой генератор, но без потной борьбы с исключениями, которая, увы, сопровождает все реальные проекты.
Хабр
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 4. Расширения, обобщения и методы
В прошлой части мы научились определять собственные типы и модули. Мы облекли все достопримечательности в конкретные типы и теперь можем снабдить их индивидуальными свойствами-ребрами: В этой части...
🔥6
Forwarded from Pavel S
Для интересующихся интересный доклад подъехал
https://youtu.be/2M4EwRZ5hf0?si=FU5CCY8bYQ8FyocZ
https://youtu.be/2M4EwRZ5hf0?si=FU5CCY8bYQ8FyocZ
YouTube
Дмитрий Сошников — Введение в теорию функционального программирования с примерами на F#
Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
Чем дальше — тем больше функционального подхода к программированию мы видим вокруг нас. Это и функциональные компоненты в React, и пайплайны обработки данных в Apache Spark, и подход с функциональными…
— —
Чем дальше — тем больше функционального подхода к программированию мы видим вокруг нас. Это и функциональные компоненты в React, и пайплайны обработки данных в Apache Spark, и подход с функциональными…
👍5
Вычислительные выражения: 1. Введение
Древнее зло пробудилось.
На хабре вышел перевод первой части цикла по
Тема местами нелёгкая, но рекомендуется к изучению каждому. Даже если не будете писать свои билдеры, полезно внятно представлять, как они устроены внутри.
// Оригинал здесь, на случай если винтажные газогенераторы (типа меня) не узнали статью в гриме.
На хабре вышел перевод первой части цикла по
computation expressions с F# for Fun and Profit.Тема местами нелёгкая, но рекомендуется к изучению каждому. Даже если не будете писать свои билдеры, полезно внятно представлять, как они устроены внутри.
// Оригинал здесь, на случай если винтажные газогенераторы (типа меня) не узнали статью в гриме.
Хабр
Вычислительные выражения: Введение
Скотт Влащин — безусловный гуру в мире F#, написавший введение в язык , которое рекомендуют новичкам вместо официального руководства . Группа энтузиастов давно (и с переменным успехом) пытается...
👍7
Вычислительные выражения: 2. Разбираемся с продолжениями
В этой главе объясняется суть работы
В этой главе объясняется суть работы
let!, а также do!, match! и т.д., но пока без технических деталей.Хабр
Вычислительные выражения: Разбираемся с продолжениями
В предыдущей статье мы увидели, как с помощью вычислительных выражений можно сокращать довольно сложный код. Вот код без вычислительных выражений: let log p = printfn "expression is %A" p let...
👍3🔥2
Воркшоп «Практические задачи решаем функционально»
Ещё двухчастное видео с dotnext: часть 1 и часть 2.
Классический REST API тестируют с помощью curl или Postman. Более новый gRPC тестировать сложнее, потому что на входе и на выходе у него бинарные данные. Нужна утилита, которая умеет сериализовать текстовые данные в бинарные и десериализовать их обратно. Задача кажется сложной, потому что языки описания схемы и данных Protobuf — достаточно развитые. Но решается она просто, если пользоваться правильным инструментом. Мы напишем утилиту на языке программирования F#, используя библиотеку FParsec. Научимся по описанию грамматики писать код и тесты для разбора, построим абстрактное синтаксическое дерево и разберёмся, как применять его для сериализации.
Ещё двухчастное видео с dotnext: часть 1 и часть 2.
Классический REST API тестируют с помощью curl или Postman. Более новый gRPC тестировать сложнее, потому что на входе и на выходе у него бинарные данные. Нужна утилита, которая умеет сериализовать текстовые данные в бинарные и десериализовать их обратно. Задача кажется сложной, потому что языки описания схемы и данных Protobuf — достаточно развитые. Но решается она просто, если пользоваться правильным инструментом. Мы напишем утилиту на языке программирования F#, используя библиотеку FParsec. Научимся по описанию грамматики писать код и тесты для разбора, построим абстрактное синтаксическое дерево и разберёмся, как применять его для сериализации.
YouTube
Марк Шевченко — Воркшоп «Практические задачи решаем функционально» (Часть 1)
Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
Классический REST API тестируют с помощью curl или Postman. Более новый gRPC тестировать сложнее, потому что на входе и на выходе у него бинарные данные. Нужна утилита, которая умеет сериализовать…
— —
Классический REST API тестируют с помощью curl или Postman. Более новый gRPC тестировать сложнее, потому что на входе и на выходе у него бинарные данные. Нужна утилита, которая умеет сериализовать…
👍13❤3
An incursion under C#. Протаскиваем F# в Godot
Вводная статья по связке F# и игрового движка, который на старте активно противится причинению добра. Потребовалось время, чтобы это сопротивление сломить. Данный текст — компиляция опыта по преодолению встреченных препятствий.
До сравнительного анализа F# vs C# vs GDScript дело не дошло. Но если давать оценки без подкрепления следующей статьёй, авансом, то в умелых руках F# хорошо взлетает на Godot, и по мере возрастания сложности начинает обыгрывать конкурентов. Полностью от C#-проекта избавиться не получится, но в перспективе он почти наверняка перестанет быть источником какой-либо информации и превратится в полностью зависимую детерминированную проекцию над Godot и
Вводная статья по связке F# и игрового движка, который на старте активно противится причинению добра. Потребовалось время, чтобы это сопротивление сломить. Данный текст — компиляция опыта по преодолению встреченных препятствий.
До сравнительного анализа F# vs C# vs GDScript дело не дошло. Но если давать оценки без подкрепления следующей статьёй, авансом, то в умелых руках F# хорошо взлетает на Godot, и по мере возрастания сложности начинает обыгрывать конкурентов. Полностью от C#-проекта избавиться не получится, но в перспективе он почти наверняка перестанет быть источником какой-либо информации и превратится в полностью зависимую детерминированную проекцию над Godot и
.fs-файлами.Хабр
An incursion under C#. Протаскиваем F# в Godot
Вы когда-нибудь бывали на боевом задании? Что вы имеете ввиду? Вторжение под водой с целью взятия крепости, захваченной элитным подразделением, имеющим в своём распоряжении 15 управляемых снарядов с...
👍12