https://github.com/dotnet/fsharp/discussions/16231
Discussion: FSharp.Core breaking/incompatible changes
Please, write your thoughts🙏
Discussion: FSharp.Core breaking/incompatible changes
Please, write your thoughts
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
`Discussion`: `FSharp.Core` breaking/incompatible changes · dotnet/fsharp · Discussion #16231
Would like to start this discussion for how should/shouldn't we be introducing breaking changes to core library. Why: Things like the issue below, are reasonable and benefitial for average code...
Сервер Юк. Заставляем Yandex Cloud Functions работать на F#
Простая статья по скрещиванию F# и Yandex Cloud Functions. Писалась с прицелом на начинающих разрабов (, а также, видимо, татар).
Первая половина посвящена процессу впихивания F# в облако, которая завершается фиксацией минимального канона. Вторую половину статьи заполнил полусинтетический (из-за явной неполноты) пример.
Простая статья по скрещиванию F# и Yandex Cloud Functions. Писалась с прицелом на начинающих разрабов (, а также, видимо, татар).
Первая половина посвящена процессу впихивания F# в облако, которая завершается фиксацией минимального канона. Вторую половину статьи заполнил полусинтетический (из-за явной неполноты) пример.
Хабр
Сервер Юк. Заставляем Yandex Cloud Functions работать на F#
В этой статье я расскажу, как засунуть F# в Yandex Cloud Functions. Навыка работы с Serverless у меня нет, так что это будет не компиляция моего опыта, а отчет о вполне успешном эксперименте. Судя по...
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа
Начинаем предположительно большой цикл статей по кодогенерации. Тема эта сложная в основном из-за ошеломляющего объёма новой информации на начальном этапе. Именно с этой проблемой будут разбираться первые две статьи.
В первой части мы сначала слегка пробежимся по Мириаду, чтобы понять, что в большинстве кодогенераторов он нам не нужен. Потом заглянем внутрь AST, ужаснёмся его размерам и узнаем, как подготовленный "частичный взгляд" на него может дать очень хороший результат в умелых руках.
Следующая часть выйдет ровно через неделю. В ней мы напишем свой первый крохотный кодогенератор, для чего перед этим познакомимся с инфраструктурой AST.
Начинаем предположительно большой цикл статей по кодогенерации. Тема эта сложная в основном из-за ошеломляющего объёма новой информации на начальном этапе. Именно с этой проблемой будут разбираться первые две статьи.
В первой части мы сначала слегка пробежимся по Мириаду, чтобы понять, что в большинстве кодогенераторов он нам не нужен. Потом заглянем внутрь AST, ужаснёмся его размерам и узнаем, как подготовленный "частичный взгляд" на него может дать очень хороший результат в умелых руках.
Следующая часть выйдет ровно через неделю. В ней мы напишем свой первый крохотный кодогенератор, для чего перед этим познакомимся с инфраструктурой AST.
Хабр
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа
В этом многословном, но сравнительно простом цикле я дам введение в генерацию F#-кода. Как правило, для этих целей в сообществе рекомендуют использовать Myriad , что, по-моему, не совсем правильно, но...
Announcing F# 8
# F# language changes
- _.Property shorthand for (fun x -> x.Property)
- Nested record field copy and update
- while!
- Extended string interpolation syntax
- Use and compose string literals for printf and related functions
- Arithmetic operators in literals
- Type constraint intersection syntax
- Extended fixed bindings
- Easier [<Extension>] method definition
# Making F# more uniform
- Static members in interfaces
- Static let in discriminated unions, records, structs, and types without primary constructors
- try-with within seq{},[] and [||] collection expressions
# New diagnostics
- TailCall attribute
- Diagnostics on static classes
- Diagnostics on [<Obsolete>] usage
- Optional warning when obj is inferred
- Optional warning when copy and update changes all fields
# Quality of life improvements
# Compiler performance
# Enhancements to the FSharp.Core standard library Inlining
# F# language changes
- _.Property shorthand for (fun x -> x.Property)
- Nested record field copy and update
- while!
- Extended string interpolation syntax
- Use and compose string literals for printf and related functions
- Arithmetic operators in literals
- Type constraint intersection syntax
- Extended fixed bindings
- Easier [<Extension>] method definition
# Making F# more uniform
- Static members in interfaces
- Static let in discriminated unions, records, structs, and types without primary constructors
- try-with within seq{},[] and [||] collection expressions
# New diagnostics
- TailCall attribute
- Diagnostics on static classes
- Diagnostics on [<Obsolete>] usage
- Optional warning when obj is inferred
- Optional warning when copy and update changes all fields
# Quality of life improvements
# Compiler performance
# Enhancements to the FSharp.Core standard library Inlining
Microsoft News
Announcing F# 8
Read what is new in F# 8 - the language, compiler tooling and FSharp.Core standard library
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 2. Собираем AST
Сначала изучим способы ускорения сборки AST. Узнаем, как это делалипредки до выхода
По итогу, хотелось бы донести идею, что с нужным инструментом генерация кода больше всего напоминает генерацию статичного UI, и уровень сложности данных задач мало чем отличается.
Сначала изучим способы ускорения сборки AST. Узнаем, как это делали
Fantomas.AST
, и как эту проблему можно решить сейчас. Потом научимся конвертировать AST в код и напишем первый микро генератор.По итогу, хотелось бы донести идею, что с нужным инструментом генерация кода больше всего напоминает генерацию статичного UI, и уровень сложности данных задач мало чем отличается.
Хабр
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 2. Собираем AST
В прошлой части мы познакомились с Abstract Syntax Tree ( AST ). В этой займёмся его сборкой в полезных объёмах и генерации конечного кода. Проклятье ствола Бориса Хрестоматийная цитата про тяжесть от...
Когда-либо давал. F#-сервер из скрипта на примере локального брокера сообщений
Статья о том как быстро поднять утилитарный сервер на F#. Повествование крутится вокруг связки из
Статья о том как быстро поднять утилитарный сервер на F#. Повествование крутится вокруг связки из
Suave
, Hopac
и Fable.Remoting
. Предложенные механизмы хоть и давно обкатаны, затрагивают слабо документированные особенности и возможности перечисленных библиотек, поэтому они были разобраны детально. Достаточно подробно, чтобы при необходимости любой из элементов данной триады мог быть либо самостоятельно заменён на аналог, либо вовсе пропущен, если в нём отпадает необходимость. Так что можно не пугаться Hopac
в превью, если он вызывает у вас излишний трепет, он влияет на бизнес-логику лишь в двух параграфах.Хабр
Когда-либо давал. F#-сервер из скрипта на примере локального брокера сообщений
В ходе разработки на F# поднимать локальные web-серверы приходится гораздо чаще, чем это принято на C#. Связано это с большим количеством нехарактерных для C# активностей. То, что в C# делают плагины...
https://x.com/fablecompiler/status/1750427314125422969?s=46
Fable:
First release of 2024 is here and there is a lot in it.
Please refer to the changelog for more information, it contains too many things to make the usual highlights (which is a good thing) 🎉
Thank you to all the contributors. ❤️
Fable:
First release of 2024 is here and there is a lot in it.
Please refer to the changelog for more information, it contains too many things to make the usual highlights (which is a good thing) 🎉
Thank you to all the contributors. ❤️