Size: a a a

2020 October 12

I

Igor in F# Chat
Vlad Zaa
Тут кто-то пол стейт машины вчера спрашивал, будут ли они в 5.х или в 6 - скорее всего в 5.х, я  подниму этот вопрос с Доном. В целом, они в мейне будут тогда, когда он их закончит.

Прошу прощения, что сразу не ответил вчера, в отпуске был.
А есть какие-то даты для 5.0 и 6.0? Или как сделают?
источник

VZ

Vlad Zaa in F# Chat
Igor
А есть какие-то даты для 5.0 и 6.0? Или как сделают?
5 вместе с .net 5 и новой студией должен быть
источник

VZ

Vlad Zaa in F# Chat
6 - не уверен, скорее всего к концу следующего года. Но минорные релизы будут между
источник

VZ

Vlad Zaa in F# Chat
Мы пока официально не планировали 5.x, но из того, что хотелось бы:

Language
• Implicit conversion to inref<_> on method calls
• Static local functions via static let
• Local functions can have a byref-like parameter type
• Unmanaged constraint relaxation
• Add implicit conversion of types to Span / ReadOnlySpan on method calls. - needs proposal
• Function pointer (delegate pointer) support - needs proposal - needed to support native and C# interop - might require FSharp.Core additions
• Finish reverse slicing - maybe by interoping with System.Index / System.Range - needs modified proposal
• SRTP aware of type extension members
• Add read-only analysis on members marked with [<System.Runtime.CompilerServices.IsReadOnly>] - needs proposal
• Stack allocated spans with analysis - requires FSharp.Core addition

Плюс тулинг импрувменты.
источник

VZ

Vlad Zaa in F# Chat
Плюс, над чем Дон работает (стейт машины)
источник

VZ

Vlad Zaa in F# Chat
Опять же - это неофициально. Как будет план - я пошарю его здесь.
источник

I

IdiocyAcceptance in F# Chat
Спасибо!
источник

VZ

Vlad Zaa in F# Chat
Нас мало, часть людей работает над dotnet-interactive. Я буду над Roslyn LSP работать часть времени
источник

VZ

Vlad Zaa in F# Chat
Контрибьюшны всегда велком :)
источник

I

IdiocyAcceptance in F# Chat
IdiocyAcceptance
Немного копал эту вещь в компиляторе. Анализ реф структур идёт после создания TAST, а не после стадии ловеринга и оптимизаций. Так что побоку что у тебя инлайн функции или что конструкция someSpan |> Span.someFunc на самом деле является уже "законченной функций", тут нет карринга
Кстати, а можешь подсказать про эту штуку? Есть ли возможность как-то исправить поведение ref структур для кейсов someSpan |> Span.someFunc если эта конструкция закончена? Ну, что Span.someFunc принимает только 1 параметр и он передаётся через пайп
источник

I

IdiocyAcceptance in F# Chat
условно Span.someFunc someSpan - работает, а someSpan |> Span.someFunc нет
источник

I

IdiocyAcceptance in F# Chat
полагаю потому что с точки зрения компилятора тут идёт создание нового func'а?
источник

VZ

Vlad Zaa in F# Chat
Мне сперва надо посмотреть в компилятор :) Постараюсь глянуть сегодня.
источник

I

IdiocyAcceptance in F# Chat
Спасибо!
источник

I

Igor in F# Chat
Vlad Zaa
Мы пока официально не планировали 5.x, но из того, что хотелось бы:

Language
• Implicit conversion to inref<_> on method calls
• Static local functions via static let
• Local functions can have a byref-like parameter type
• Unmanaged constraint relaxation
• Add implicit conversion of types to Span / ReadOnlySpan on method calls. - needs proposal
• Function pointer (delegate pointer) support - needs proposal - needed to support native and C# interop - might require FSharp.Core additions
• Finish reverse slicing - maybe by interoping with System.Index / System.Range - needs modified proposal
• SRTP aware of type extension members
• Add read-only analysis on members marked with [<System.Runtime.CompilerServices.IsReadOnly>] - needs proposal
• Stack allocated spans with analysis - requires FSharp.Core addition

Плюс тулинг импрувменты.
Хех 90% фич нужны для совместимости с байто_бством из нового с# 🤔
источник

IC

Ilya L Che in F# Chat
IdiocyAcceptance
полагаю потому что с точки зрения компилятора тут идёт создание нового func'а?
А разве он на самом деле не создаётся? Вроде бы, тут было обсуждение, что с |> код чуть медленее работает из-за дополнительных вызовов. Или я путаю?
источник

VZ

Vlad Zaa in F# Chat
Igor
Хех 90% фич нужны для совместимости с байто_бством из нового с# 🤔
В большинстве случаев интероп всегда будет приоритетом перед фш-специфик
источник

I

IdiocyAcceptance in F# Chat
Ilya L Che
А разве он на самом деле не создаётся? Вроде бы, тут было обсуждение, что с |> код чуть медленее работает из-за дополнительных вызовов. Или я путаю?
я не могу говорить за все возможные случаи, но чаще всего он инлайнится нормально
источник

I

IdiocyAcceptance in F# Chat
Ilya L Che
А разве он на самом деле не создаётся? Вроде бы, тут было обсуждение, что с |> код чуть медленее работает из-за дополнительных вызовов. Или я путаю?
вот уже с оператором >> другая история, я создавал proposal на оптимизацию этой штуки из fun1 >> fun2 >> fun3 в x |> fun1 |> fun2 |> fun3 и оказывается уже давно он был, но видимо нет времени заниматься
источник

I

IdiocyAcceptance in F# Chat
потом залез в компилятор и чём приуныл немного - сложно
источник