F# News
461 subscribers
7 photos
1.35K links
F# channel
@fsharp_chat

Send your proposals to @fsharp_chat
Download Telegram
С мест сообщают, что обновление до VS 17.7 может ломать интелисенс в F# для зависимостей от C#-ых проектов. Возможно, дело касается только проектов в старом стиле. С подтверждениями или контрпримерами можно в комменты.

UPD: Компиляторные боги говорят, что кара постигла все старые проекты, не только C#.
Сервер Юк. Заставляем Yandex Cloud Functions работать на F#

Простая статья по скрещиванию F# и Yandex Cloud Functions. Писалась с прицелом на начинающих разрабов (, а также, видимо, татар).

Первая половина посвящена процессу впихивания F# в облако, которая завершается фиксацией минимального канона. Вторую половину статьи заполнил полусинтетический (из-за явной неполноты) пример.
Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа

Начинаем предположительно большой цикл статей по кодогенерации. Тема эта сложная в основном из-за ошеломляющего объёма новой информации на начальном этапе. Именно с этой проблемой будут разбираться первые две статьи.

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

Следующая часть выйдет ровно через неделю. В ней мы напишем свой первый крохотный кодогенератор, для чего перед этим познакомимся с инфраструктурой AST.
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#-исходники с помощью Fantomas. Часть 2. Собираем AST

Сначала изучим способы ускорения сборки AST. Узнаем, как это делали предки до выхода Fantomas.AST, и как эту проблему можно решить сейчас. Потом научимся конвертировать AST в код и напишем первый микро генератор.

По итогу, хотелось бы донести идею, что с нужным инструментом генерация кода больше всего напоминает генерацию статичного UI, и уровень сложности данных задач мало чем отличается.
How to Make a Poster on Word