
IC
22.08.2018
10:44:22
pattern Ann :: ann -> f (Ann ann f) -> Ann ann f
pattern Ann ann x = Fix (Compose (AnnE ann x))
{-# COMPLETE Ann #-}
с фига ли оно в меня тыкает в incomplete-patterns в case x of Ann _ _ -> ... ?

Alexander
22.08.2018
11:09:19
а у нас есть какие-либо технологии типа JWT позволяющие вложенные или обновляемые токены
вот допустим в меня есть токен и хотелось бы ещё дописать подпись своей инфой и ключём
желательно чтобы тот контейнер что был оставался внешним

Google

A64m
22.08.2018
12:46:06
ладно, тем временем надвинулось счастливое (для меня) время, когда я пишу тут про фичи, которые (не) пролезают в GHC
Одна микро- и одна нанофича уже есть
но память у меня уже не та, так что в этом сезоне я веду гист
https://gist.github.com/klapaucius/8fc2fbb48606e6dd9a9a095898e3fac4

Denis
22.08.2018
12:51:04
терзает смутное сомнение меня
https://www.youtube.com/watch?v=D8GizvyKdRM

Aleksey
22.08.2018
12:53:43
В книге примеры пропорциональным шрифтом!

Denis
22.08.2018
12:54:23
учителя блин https://www.youtube.com/watch?v=zRVHxKvcnfM
первые 2 минуты уже столько бреда

A64m
22.08.2018
12:56:03
tl;dr у нас впереди либо релиз почти без фич, с 256 новыми способами указать типы и (если повезет) с эмельной фичей, которой я за свою эмельную карьеру воспользовался буквально два раза.
(есть призрачная надежда на то, что будут линейные типы, тогда это будет один из самых толстых релизов в истории гхц)

Denis
22.08.2018
12:56:52
функциональное программирование это именно рекурсия :D

Alexander
22.08.2018
12:58:36
очень призрачная
если комитет не пошевелится

Index
22.08.2018
13:00:02
дальше двух минут уже слушать не стал, конечно

Alexander
22.08.2018
13:00:56

Denis
22.08.2018
13:01:09

Alexander
22.08.2018
13:01:13
и вообще, ФП это даже не про лямбды и комбинаторы а про теоркат

Google

Alexander
22.08.2018
13:01:17
просто в большинстве языков теоркат более тщательно прячут

Denis
22.08.2018
13:01:43
именно
ну как бы можно и дальше пойти в теоркат с рекурсивными схемами
определение математики!
https://youtu.be/zRVHxKvcnfM?t=561
ахаха
канал клоунады

Alexander
22.08.2018
13:02:44
как вообще можно учится чему то на ютубе?
я там максимум научпоп выдерживаю

Denis
22.08.2018
13:03:20
это лучшее определение математики, что я слышал

Alexander
22.08.2018
13:03:39

Index
22.08.2018
13:03:50

Alexander
22.08.2018
13:03:59
я где то на уровне натуральных преобразований и категорий клейсли остановился, мне вроде как хорошо

Denis
22.08.2018
13:04:08
а оно того стоит?
стоит, того что это обобщение всех рекурсий корекурсий на уровне теорката

Alexander
22.08.2018
13:04:47
ну просто чтобы использовать рекурсивные схемы нужно сначала перейти к рекурсии, а она нинужна :(

Denis
22.08.2018
13:05:04

A64m
22.08.2018
13:05:21

Alexander
22.08.2018
13:05:37

Index
22.08.2018
13:05:50
> потому, что когда делаешь зависимую корку, очень много свободного времени
это вроде кто-то еще

Google

Index
22.08.2018
13:06:00
просто они все Нгьюьйен

Alexander
22.08.2018
13:06:09
вот уберут из хаскеля ленивость и все, сразу станет гораздо хуже других преобразований

Denis
22.08.2018
13:06:45

Alexander
22.08.2018
13:06:48
тем более что в достаточно сложных чтобы нужна была рекурсия случаях она достаточно сложна чтобы взорвать мозг

A64m
22.08.2018
13:06:52
убрали в 8 версии, но убирание чего-то никто включать особо не хочет

Denis
22.08.2018
13:07:14
ну да, можно включить прагму Strict

Alexander
22.08.2018
13:07:33

Index
22.08.2018
13:07:48
@A64m_qb0 dependent core делает Ningning Xie

A64m
22.08.2018
13:08:07
точно

Alexander
22.08.2018
13:08:10
ну и через fix будет сложнее выразить то что легко выражается через unfold по идее

Denis
22.08.2018
13:08:11

Alexander
22.08.2018
13:08:26

Denis
22.08.2018
13:08:51

Alexander
22.08.2018
13:09:20
ну то есть с точностью до пары редукций тот же комбинатор

Denis
22.08.2018
13:09:51
стрикт y комбинатор не выразим
выразим только так
newtype Rec a = In { out :: Rec a -> a }
y f = (\x -> f (out x x)) (In (\x -> f (out x x)))
но
этот Rec есть type Rec a = Fix (Flip (->) a)

Google

Denis
22.08.2018
13:11:07
что есть fix на уровне типов

Alexander
22.08.2018
13:13:45
странно
но пофиг

Denis
22.08.2018
13:14:18
но пофиг
нет не пофиг, поясни свою позицию, что у тебя вырзимо

Alexander
22.08.2018
13:14:39
ну я помню что эксперементировал с этим
и помню что получилось

Admin
ERROR: S client not available

Alexander
22.08.2018
13:14:49
но воспроизвести эксперимент ен смог
скорее всего я взял версию для не-ленивых языков изначально

Denis
22.08.2018
13:15:13
она тоже не пройдет

Alexander
22.08.2018
13:15:27
ну значит какую то еще

Denis
22.08.2018
13:15:28
ну разве что через дичь unsafeCoerce

Oleg
22.08.2018
13:15:30
Если бы в типизированной лямбде типизировался Y, возможно, никаких хаскелей и не было бы

Alexander
22.08.2018
13:15:54
понимаешь, проблема в том что я даже не могу вспомнить в чем была ошибка
так что пофигу

Denis
22.08.2018
13:16:46
скорее всего так
y = \f -> (\x -> f (unsafeCoerce x x)) (\x -> f (unsafeCoerce x x))
но так все тогда будет сходиться

Alexander
22.08.2018
13:17:07
я про unsafeCoerce сравнительно недавно узнал
маловероятно

Denis
22.08.2018
13:19:32
и также попробуем реализовать функцию точка и доллар
канал прям жжет

Google

Yuriy
22.08.2018
13:19:43
школьники пишут книги по Хаскелю. это прекрасно

Dmitry
22.08.2018
13:19:44

Alexander
22.08.2018
13:20:46
с ReaderT и tf интерфейсом с последними трансформерами нормально
тогда уже догадались inline прагмы расставить
один ридер - он надёжнее, конечно

Denis
22.08.2018
13:21:49
более линейная конструкция была бы с extensible effects
но пока нет нормального преформанса на открытом множетсве типов
нужен более правильный variant
а человек то могет!
C | Golang | Python | Haskell programmer. Cryptography and Programming is just a hobby.

Yuuri
22.08.2018
13:46:26
| - это "или"?

IC
22.08.2018
14:14:28
Побитовое

Terminator
22.08.2018
16:18:02
@lalabuy будет жить. Поприветствуем!

Alexander
22.08.2018
17:08:22

Yuuri
22.08.2018
17:25:05
Умеет ли GHC-шный оптимизатор делать апдейт структуры мутабельным, если определит, что предыдущее значение больше нигде не используется?

Alexander
22.08.2018
17:30:07
нет
ну и увидеть что нигде не используется можно в очень низком числе случаев
а там можно надеяться что структура не упакована вообще будет

Yuriy
22.08.2018
17:59:33

Alexander
22.08.2018
18:02:39
по для локальных можно структуры вообще не делать

A64m
22.08.2018
18:05:29