
Roman
16.08.2018
14:18:36
Привет

Vasily
16.08.2018
16:04:59
Я же грил
Боты

Летучая
16.08.2018
16:06:22
Здравствуйте, тoварищи. А зачем вoт так пишут?
type Shape =
| Rectangle of height: float * width: float
Если пoтoм нельзя написать так:
match shape with
| Rectangle rectangle -> rectangle.height * rectangle.width

Google

Летучая
16.08.2018
16:07:07
Зачем нужны вooбще эти имена fst и snd?
К ним как-тo мoжнo oбратиться пo имени?

Vasily
16.08.2018
16:07:54
snd
Ты имел в виду snd

Летучая
16.08.2018
16:08:12
Да, исправил.

Vasily
16.08.2018
16:08:27
Ну можно писать так: Seq.map snd

Летучая
16.08.2018
16:09:05
Ну можно писать так: Seq.map snd
Нет-нет, у нас же там наверху
Rectangle of height: float * width: float
Вoт зачем тут height и width пишут? Чтo тoлку-тo?
Дoлжен же быть смысл.
Пoчему бы не написать: Rectangle of float * float, зачем имена?

Pavel
16.08.2018
16:10:16
вместо комментов
чтоб мучительно не вспоминать что там валяется
а еще можно писать let shape = Rectangle(width = 2.0, height = 1.0)

Roman
16.08.2018
16:22:30

Летучая
16.08.2018
16:30:47

Google

Вячеслав
16.08.2018
17:44:36

Летучая
16.08.2018
17:45:48
А как отличить высоту от ширины?
Ну вoще канoнiчнo делать так:
type Shape =
| Rectangle of Rectangle
and Rectangle =
{ width: float
height: float }
Пушo с туплем высoту oт ширины разве чтo пoсмoтрев на type declaration oтличить удастся...

Pavel
16.08.2018
18:48:34

Roman
16.08.2018
18:49:21

アレクセイ
16.08.2018
19:01:34
Это на фортране стоко дофига проектов? Holy crap....

Klei
16.08.2018
19:15:48

Roman
16.08.2018
19:40:22
Microsoft выпустила стабильную версию F# 4.5
https://tproger.ru/news/f-sharp-4-5-release/
Привет!

Vasily
17.08.2018
07:34:24
Нефиг с ботами здороваться

Roman
17.08.2018
07:47:26

Vladimir
17.08.2018
08:01:42
раскомменчиваю YesCount и ругается The record contains fields from inconsistent types

Vasily
17.08.2018
08:03:47
YesCount<>YesLikeCount

Vladimir
17.08.2018
08:03:59
уу, спасибо))
Совсем башка отказала)

Vasily
17.08.2018
08:04:26
Ask
Бывает

Vladimir
17.08.2018
08:10:24
inconsisent types сбивает конечно, написали бы from different types

Google

Vasily
17.08.2018
10:10:43
Бот,зуб даю

Andrew
17.08.2018
11:15:35
Бот,зуб даю
Слишком успешно выглядит для типичного посетителя чата? )

Vasily
17.08.2018
11:17:37
Точно бот

Andrew
17.08.2018
11:17:37
хаха, ты был прав

Vasily
17.08.2018
11:17:51
Я их за версту чую
Скорее всего тоже бот

Roman
17.08.2018
11:35:14
Привет! Ты же не бот?

Vasiliy
17.08.2018
11:35:40

Friedrich
17.08.2018
12:57:31

Vasily
17.08.2018
12:58:53

Ayrat
17.08.2018
13:00:09
раскрылся

Vasiliy
17.08.2018
13:00:13
все же бот

Vasily
17.08.2018
13:00:45
Я же говорю
Боты

Vladimir
17.08.2018
16:44:01
https://youtu.be/rGxdc0KMnc4

Ayrat
17.08.2018
16:46:35
@alexey_tkachenko_by так что там про "круг задач для чистых функций ограничен"? :D

Alexey
17.08.2018
16:47:54
пааажди, сразу на дуэль я не подписывался

Roman
17.08.2018
16:48:37
Привет!
Ты точно бот :D

Alexey
17.08.2018
16:48:55
ну начинается

Google

Alexey
17.08.2018
16:48:59
параноиды кругом

Roman
17.08.2018
16:49:14

Ayrat
17.08.2018
16:50:22
Понимаю.
В общем, про состояние и ФП. Очевидно что оно изи делается. Можешь обмазаться хоть рекурсией, хоть монадками или даже (обоже) мутабельными переменными.
Не многие знают секрет успеха и теорию. Локальная мутабельность не делает функцию нечистой

Alexey
17.08.2018
16:51:59
а что с глобальным стейтом?

Ayrat
17.08.2018
16:52:46
Всё так же. обычно его называют контекст

Alexey
17.08.2018
16:53:08
@neftedollar : меня сюда заманил Ayrat , я послушать умных дядек про фшарп и фп, а попал под раздачу на чужом поле

Ayrat
17.08.2018
16:53:32
Ну для pro.net это оффтоп, там люди поинтерами вращают и наносекундами меряются

Alexey
17.08.2018
16:54:28
а начиналось с моков

Ayrat
17.08.2018
16:56:02
В общем, я понимаю что без опыта непонятно о чём речь-то, но в целом стейт в ФП конечно же есть
хоть там и есть мутабельная переменная.

Roman
17.08.2018
16:57:10

Alexey
17.08.2018
16:58:07
тогда прошу не счесть меня невеждой воинствующим, а лучше невеждой учащимся. броски книгами в голову приветствуются, но хотелось бы не сразу :)
обработка состояния сложного UI чистыми функциями может выполняться? или между UI и ФП должна быть прослойка типа Controller, ViewModel и.п.?

Ayrat
17.08.2018
17:00:38

Alexey
17.08.2018
17:02:41
а можно ссылку на какой-нибудь первичный обзор по-русски? знаю что не модно

Roman
17.08.2018
17:04:32

Alexey
17.08.2018
17:05:55
то есть требуется слой, который будет рулить сайд-эффектами в виде изменения состояния UI?

Google

Roman
17.08.2018
17:06:41

Ayrat
17.08.2018
17:06:41
Прям как в wpf. Там это называлось диспетчер и чтобы сохранить порядок изменений сидело на выделенном треде

Roman
17.08.2018
17:07:05

Ayrat
17.08.2018
17:07:17
Отрисовка в n потоков возможна.

Alexey
17.08.2018
17:07:32
отрисовка - это отдельная задача

Ayrat
17.08.2018
17:11:36
отрисовка - это отдельная задача
Я тогда не понял вопрос.
Точнее я понял так.
В ООП мы можем обратиться к стейту и явно его изменить. Кто-то отрисует.
Можем ли мы в фп явно обратиться к стейту? Можем но делают не так.
Нажатие на кнопку вызывает команду, которая при обработке диспетчером тригерит изменение стейта и может вызвать другие команды (асинхронно)
Каждому обработчику на вход прилетает стейт (общий или часть) на основе которого он должен принять решения что делать дальше