Size: a a a

F# Flood: Робин Бобин чат

2018 June 13

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
Короче, ладно. Тут вопрос кто как делает. Я человек прагматичный юзаю и ФП и интерфейсики с mutable когда это проще. Платят-то не за чистоту функций, а за результат, который должен быть в том числе простой в реализации.
Чисто функциональная реализации (dot free, monads, side effect free, pure, composition, и куча операторов >> не всегда лучший выбор)
Как и чисто ООП, а то получаются IAbstractServiceManagerSingletonFactory
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
Ayrat Hudaygulov
Короче, ладно. Тут вопрос кто как делает. Я человек прагматичный юзаю и ФП и интерфейсики с mutable когда это проще. Платят-то не за чистоту функций, а за результат, который должен быть в том числе простой в реализации.
Чисто функциональная реализации (dot free, monads, side effect free, pure, composition, и куча операторов >> не всегда лучший выбор)
Как и чисто ООП, а то получаются IAbstractServiceManagerSingletonFactory
мне кажется, что тут воинствующих функциональщиков и нет
источник

АУ

Анна Удовиченко in F# Flood: Робин Бобин чат
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Для мутабельности в фшарпе есть мейлбоксы
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
Ну это из разряда - для мутабельности есть рекурсия. Так вопрос тоже можно решить, но иногда чтобы сделать мутабельность, можно просто взять mutable поле :D
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
тем более какие тормозные асинки в F# на цпу работе - нет спасибо
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
С мутабельными полями фиг знает. С таким подходом проще на c# писать
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
Только из-за мутабельных полей переходить на язык без DU и type inference?
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
тем более она (мутабельность) редко нужна. Но если нужна, хорошо что она есть в F#
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Ну я придерживаюсь точки зрения, что для функциональных языков принципы построения кода все же иные
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
Анна Удовиченко
мне кажется, что тут воинствующих функциональщиков и нет
я кажется нашёл одного
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Я не воинствующий
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Я немного о другом
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
есть мнение что F# позиционируется в лучшем случае как functional-first, а не purely functional, а на википедии вероятно вообще как мультипарадигменный
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Скорее о том, что мутабельность в моей практике возникает тогда, когда пытаешься писать в привычном императивном стиле
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Когда же мутабельность заменяешь на термин "состояние", открываются новые возможности
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
Ну ок. Вот предположим, была у меня задача недавно, сделать сервер, который принимает запрос на некую работу, регистрирует, кладёт её в очередь, отдаёт тут же ссылку на статус работы.
Есть разгребатор очереди который перемолачивает запросы и делает что-то страшное.
Какую структуру данных ты бы выбрал для связи ID запроса и собсно запроса?
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Кортеж
источник

VS

Vasily Shapenko in F# Flood: Робин Бобин чат
Плюс два актора
источник

AH

Ayrat Hudaygulov in F# Flood: Робин Бобин чат
Ок. как найти по ID запроса его состояние
источник