Size: a a a

2021 January 22

I

IdiocyAcceptance in F# Chat
gsomix
Если повысить приоритет as, то сломаешь более частые случаи.

| a, b, c as x
Ну ты прав что это брейкинг чендж. Чёт я наверное больше на эмоциях побомбил. Просто думал что это будет красивее, фаршик же. А получилось что нет
источник

I

IdiocyAcceptance in F# Chat
@gsomix Привет! Создал небольшой discussion https://github.com/dotnet/fsharp/discussions/10926 по вчерашней теме. Поюзал твой foobar в качестве примера, ибо пример хороший. Надеюсь ты не против -)
источник

I

IdiocyAcceptance in F# Chat
Интересно что скажут люди, скажем так (в частности Дон)
источник

g

gsomix in F# Chat
Ок!
источник

AT

Anton Ternavsky in F# Chat
IdiocyAcceptance
Интересно что скажут люди, скажем так (в частности Дон)
By design(c)
источник

MS

Michael Snytko in F# Chat
"block" for immutable arrays выбрали
источник
2021 January 24

NK

ID:0 in F# Chat
источник

VP

Vladislav Podporkin in F# Chat
Пишу либу для асинхронности, основанную на Future из раста. Столкнулся с проблемой с ифами в CE Builder-ах. Подробнее описал в Issue
https://github.com/VAVUS7/FSharp.Control.Futures/issues/1
источник

SB

S B in F# Chat
я искренне пытался, но непонел нихуя
источник

g

gsomix in F# Chat
А я понял, но решения не вижу.
источник

VP

Vladislav Podporkin in F# Chat
gsomix
А я понял, но решения не вижу.
Тогда насколько, по Вашему мнению, будет правильно заставлять пользователя библиотеки вызывать функцию, которая создаст стейт машину, для if-then-else?
источник

VP

Vladislav Podporkin in F# Chat
И позволит ли Resumable state machines (RFC-1087) это обходить?
источник

g

gsomix in F# Chat
Vladislav Podporkin
И позволит ли Resumable state machines (RFC-1087) это обходить?
Не уверен. RFC не меняет правила трансляции для if-then-else. Предлагали отдельный метод для If, но этот комментарий особого внимания не получил.

https://github.com/fsharp/fslang-suggestions/issues/863#issuecomment-752953183
источник

VS

Vladimir Shchur in F# Chat
Там как раз я аналогичный ишуй создал) https://github.com/fsharp/fslang-suggestions/issues/937
источник

VS

Vladimir Shchur in F# Chat
Vladislav Podporkin
И позволит ли Resumable state machines (RFC-1087) это обходить?
он теоретически может помочь, если вложенные СЕ будут подставляться в верхний уровень (как в сишарпе)
источник

g

gsomix in F# Chat
Vladislav Podporkin
Тогда насколько, по Вашему мнению, будет правильно заставлять пользователя библиотеки вызывать функцию, которая создаст стейт машину, для if-then-else?
А какой смысл хранить условие в IfElseStateMachine, если результат известен? :)
источник

VP

Vladislav Podporkin in F# Chat
gsomix
А какой смысл хранить условие в IfElseStateMachine, если результат известен? :)
Этот вариант стейт машины представляет собой условный
type IfElseStateMachine<'true, 'false> =
 | True of 'true
 | False of 'false
Поэтому условие это тег DU между двумя вариантами.
Вариант в коде можно переписать под DU, но я сглупил и написал (почти) то же самое сырой структурой.
источник

g

gsomix in F# Chat
Кажется, если использовать DU, то будет чуть лучше.
источник

g

gsomix in F# Chat
По сути это Either. Можно использовать обычный if-then-else и руками конструировать left или right в ветках.
источник

g

gsomix in F# Chat
Нужно только над именами подумать.
источник