
kana
01.10.2017
09:58:25
А, точно, оператор там тоже есть, (#) = (|>) = (&) = flip ($)

illiatshurotshka❄️
01.10.2017
09:58:35
ето

Дмитрий
01.10.2017
09:58:45
Ну тогда это row, да

Google

Kelin
01.10.2017
09:59:28

andretshurotshka?❄️кде
01.10.2017
10:01:09
чет сложно

Дмитрий
01.10.2017
10:02:19

kana
01.10.2017
10:03:58
Че именно?
По моему он там так и определен:
flip f b a = f a b
f $ x = f x
(#) = flip ($)
4 # succ ==>
(#) 4 succ ==>
flip ($) 4 succ ==>
(\b a -> a $ b) 4 succ ==>
succ $ 4 ==>
succ 4 ==>
5

andretshurotshka?❄️кде
01.10.2017
10:03:59
это где?

kana
01.10.2017
10:05:11

andretshurotshka?❄️кде
01.10.2017
10:05:17
А)

illiatshurotshka❄️
01.10.2017
10:10:05
это где?
https://pursuit.purescript.org/builtins/docs/Prim#t:Union
в чем разница между row и record ?

kana
01.10.2017
10:17:57
Рекорд - пример использования row.
{ a :: B } == Record (a :: B)
Record :: # Type -> Type
Eff - другой пример

Дмитрий
01.10.2017
10:19:05
row — это Set of types, если можно так выразиться

Google

Denis
01.10.2017
10:19:20

illiatshurotshka❄️
01.10.2017
10:19:26
а record не set of types?

Denis
01.10.2017
10:19:44
рекорд это некий юнион оф тайп)

Дмитрий
01.10.2017
10:19:45

kana
01.10.2017
10:20:09

illiatshurotshka❄️
01.10.2017
10:20:16
тогда, зачем использовать рекорды вместо rows?

kana
01.10.2017
10:20:38
Да рекорд это пример типа с использованием row

andretshurotshka?❄️кде
01.10.2017
10:20:43
Я думал row это про структурные типы

kana
01.10.2017
10:20:46
Row сам по себе не тип

Дмитрий
01.10.2017
10:20:50
kind

illiatshurotshka❄️
01.10.2017
10:20:55
оо

Дмитрий
01.10.2017
10:20:55

Denis
01.10.2017
10:21:05
вид типа)

Дмитрий
01.10.2017
10:21:11
kind!

andretshurotshka?❄️кде
01.10.2017
10:21:16
В том числе
То есть в каком-то смысле в флоу есть роу полиморфизм
лолл

kana
01.10.2017
10:21:42
У kind есть замечательный перевод, давайте его придерживаться
Кайнд
А то эти виды, сорта...

Дмитрий
01.10.2017
10:22:24

Google

Denis
01.10.2017
10:22:52

Дмитрий
01.10.2017
10:23:06
Да это несущественно

andretshurotshka?❄️кде
01.10.2017
10:23:06

Дмитрий
01.10.2017
10:23:09
То есть, это перечисление равноправных типов, в котором не важен порядок

Denis
01.10.2017
10:23:39

Дмитрий
01.10.2017
10:23:53
Совпадение? Не думаю

illiatshurotshka❄️
01.10.2017
10:28:19
оок разобрался

Denis
01.10.2017
10:30:04

illiatshurotshka❄️
01.10.2017
10:31:15
ну только мне непонятен тип после стрелки у data Record :: # Type -> Type

Aleh
01.10.2017
10:31:46

Denis
01.10.2017
10:32:22
я имею ввиду https://hackage.haskell.org/package/freer-0.2.4.1/docs/Data-Open-Union.html

Дмитрий
01.10.2017
10:33:01

illiatshurotshka❄️
01.10.2017
10:33:26
что значит готовый record?

kana
01.10.2017
10:33:40
Тип рекорда
Maybe :: Type -> Type
Record :: # Type -> Type
Тут вместо аргумента Type используется # Type, то есть множество типов с метками, роу

andretshurotshka?❄️кде
01.10.2017
10:34:31
А в идрисе какой Eff ?

Name
01.10.2017
10:35:00

kana
01.10.2017
10:35:44
Тогда и значение ограничиться только Nothing, если чекер сожрет

Denis
01.10.2017
10:36:12
кстати когда они уберут Eff в пурсе (наверное новичкам станет проще)

Дмитрий
01.10.2017
10:37:05
Они с такой мотивацией и убирают

Google

Дмитрий
01.10.2017
10:37:22
Но это не значит что ими нельзя пользоваться дальше

Kelin
01.10.2017
10:37:53
converge пиздатая штука

Denis
01.10.2017
10:38:18

Kelin
01.10.2017
10:38:27
вот с лифтами я еще не вкурил, что это

Дмитрий
01.10.2017
10:38:30
Учитывая архитектуру языка там вообще по сути нет ничего, кроме небольшого перечня абстрактных сущностей и пятака стандартных типов

Denis
01.10.2017
10:39:13
converge пиздатая штука
https://github.com/xgrommx/from-combinators-to-fp/blob/master/src/index.js#L26
ну а lift это ap + map или of + ap + ap

Дмитрий
01.10.2017
10:39:17
Поэтому новость "row уберут из одной из библиотек для эффектов" уже звучит конечно не так сенсационно)

Denis
01.10.2017
10:40:10
и кстати Eff займет свое имя) https://github.com/natefaubion/purescript-run

Admin
ERROR: S client not available

Kelin
01.10.2017
10:45:38
Я из примера в рамде не понял, как оно работает

Дмитрий
01.10.2017
10:46:29
В рамде оч тупые примеры во всём что касается монад
Я например по этому примеру тоже нихрена не понимаю)

Kelin
01.10.2017
10:47:05
+++
а можно нормальный пример

Name
01.10.2017
10:47:48

Дмитрий
01.10.2017
10:47:53
lift просто поднимает обычную функцию, применяя её сразу к значениям внутри контейнера (монады)

illiatshurotshka❄️
01.10.2017
10:48:25
lift же должен брать функцию в контейнере

Kelin
01.10.2017
10:48:27
ля я кажись понял

Google

illiatshurotshka❄️
01.10.2017
10:48:33
сложно

Kelin
01.10.2017
10:48:37
типа если здесь смотреть
1+1+1
1+2+1
1+3+1
2+1+1
...
вот так получается
но какие у этого юзкейсы могут быть?

Denis
01.10.2017
10:50:50

Kelin
01.10.2017
10:51:47

Denis
01.10.2017
10:52:20
дурацкий жс
не умеет выводить арность
liftN(2, unapply(identity))([1,2,3], [4,5,6])

illiatshurotshka❄️
01.10.2017
10:53:44

Kelin
01.10.2017
10:53:45
хм

Denis
01.10.2017
10:53:56

Kelin
01.10.2017
10:53:59

illiatshurotshka❄️
01.10.2017
10:54:16

Kelin
01.10.2017
10:54:26
+

Denis
01.10.2017
10:54:37
вы ничерта не поняли

Дмитрий
01.10.2017
10:54:39
Да блин

Denis
01.10.2017
10:54:44
как это помогло lift?

kana
01.10.2017
10:55:03
Тут же все понятно