Size: a a a

2021 April 20

DB

Denis Bobrov in F# Chat
норм чел вроде да
источник

VS

Vladimir Shchur in F# Chat
Из неудобств (по сравнению со Vue) - обнаружил что нету двустороннего биндинга на объект с несколькими полями, только на отдельные значения
источник

EM

Edward Muradov in F# Chat
А нет примера как «правильно» навигацию между страницами в Sutil делать?
источник

VS

Vladimir Shchur in F# Chat
ну вот есть такая, полуофициальная) https://github.com/davedawkins/sutil-template-app/blob/main/src/App/Router.fs
источник

EM

Edward Muradov in F# Chat
Спасибо, посмотрю!
источник

VS

Vladimir Shchur in F# Chat
а в основной аппе пишешь
let routerSubscription  = Navigable.listenLocation Router.parseRoute updatePage
источник

EM

Edward Muradov in F# Chat
Понятно, спасибо!
источник
2021 April 21

VP

Vladislav Podporkin in F# Chat
Столкнулся с проблемой, что мой тип при использовании билдера с хвостовой рекурсией потребляет бесконечно много памяти.
В функции bind binder и его результат оборачиваются в тип, который билдится. В хвостовом рекурсивном лупе эта повторяется для каждого внутреннего вызова bind. В результате чего создается бесконечно большой объект.

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

https://gist.github.com/DragonFrai/893fc6b871fe3fbf9b5970620e7d0add
источник

AK

Alexandr Krotov in F# Chat
ляя оказывается я мог реализовать функциональный кеш через мемоизацию функций, и даже фильтр туда впихнуть, а не городить хрень с мутабельными значениями
источник

AK

Alexandr Krotov in F# Chat
словарь канешь тоже мутабельный по идее, но вы не понимаете это другое
источник

VP

Vladislav Prekel in F# Chat
Кто-нибудь использует Endpoint Routing в Giraffe или Saturn?
источник

IM

Ilya Machekhin in F# Chat
Я использую
источник

VP

Vladislav Prekel in F# Chat
А были идеи через addMetadata при создании ендпоинтов заодно добавлять информацию, по которой можно будет из корневого Endpoind list потом её извлечь и сгенерировать OpenApi?
источник

g

gsomix in F# Chat
Бесконечно много памяти? 🤔
источник

VP

Vladislav Podporkin in F# Chat
Сколько итераций в цикле уже прошло -- столько памяти, если точнее.
источник

VL

Vladimir Lozhnikov in F# Chat
так передавай уже созданный объект по ссылке в след кадр рекурсии и используй его, а не создавай новый
источник

VP

Vladislav Podporkin in F# Chat
Я честно говоря совсем не понял, что ты имеешь ввиду
источник

VL

Vladimir Lozhnikov in F# Chat
смысл в том, вместо того, чтобы в каждом кадре рекурсии создавать новый объект. тем самым захламляя память, создать один объект и использовать его во всех кадрах
источник

VP

Vladislav Podporkin in F# Chat
Хотелось бы. Но вариантов помимо переписывания без рекурсии, кажется, немного.
Можно сделать функцию, которая позволит описать алгоритм в рекурсивной форме, но раскроет его "плоско".

А вот как адаптировать билдер под такое — у меня просто нет идей.
источник

VP

Vladislav Podporkin in F# Chat
Переслано от Vladislav Podporkin
Столкнулся с проблемой, что мой тип при использовании билдера с хвостовой рекурсией потребляет бесконечно много памяти.
В функции bind binder и его результат оборачиваются в тип, который билдится. В хвостовом рекурсивном лупе эта повторяется для каждого внутреннего вызова bind. В результате чего создается бесконечно большой объект.

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

https://gist.github.com/DragonFrai/893fc6b871fe3fbf9b5970620e7d0add
источник