@haskellru

Страница 1421 из 1551
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
учителя блин https://www.youtube.com/watch?v=zRVHxKvcnfM первые 2 минуты уже столько бреда
за первые две минуты бред я услышал только про "Main where значит исполняемый файл, с него начинается компиляция"

дальше двух минут уже слушать не стал, конечно

Alexander
22.08.2018
13:00:56
функциональное программирование это именно рекурсия :D
рекурсия для тех кто не осилил комбинаторы

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

Google
Alexander
22.08.2018
13:01:17
Y?)
именно

просто в большинстве языков теоркат более тщательно прячут

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
это лучшее определение математики, что я слышал

Index
22.08.2018
13:03:50
ладно, тем временем надвинулось счастливое (для меня) время, когда я пишу тут про фичи, которые (не) пролезают в GHC Одна микро- и одна нанофича уже есть но память у меня уже не та, так что в этом сезоне я веду гист https://gist.github.com/klapaucius/8fc2fbb48606e6dd9a9a095898e3fac4
про type-level type applications: я их заимплементил за полчаса вот тут https://github.com/int-index/ghc/pull/2/files но Ричард сказал, мол, не продолжай, мы уже с Нгьюььюьюйен делаем там, через пару дней доделаем в десять раз лучше так и не доделали (это было месяц назад)

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

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

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

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
вот уберут из хаскеля ленивость и все, сразу станет гораздо хуже других преобразований

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
а как рекурсия и ленивость связаны?
Y-комбинатор придется по другому записывать :(

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
а в хаскель fix не y комбинатор
а я про Y-комбинатор а не fix :)

Denis
22.08.2018
13:08:51
а я про Y-комбинатор а не fix :)
у комбинатор в haskell в классической форме не выразим

Alexander
22.08.2018
13:09:20
у комбинатор в haskell в классической форме не выразим
У меня вроде тайпчекалось, хоть и с трудом

ну то есть с точностью до пары редукций тот же комбинатор

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
и можно много уровней одного типа иметь
Только реальность показывается, что много уровней — плохо для перформанса. Лучше иметь один ReaderT с тройкой, чем три ридера каждый для отдельного поля

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
| - это "или"?
похоже на Alternative

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
кажется, для локальных переменных весь скоуп просмотреть можно легко и быстро
это как раз тот случай, когда структуру вообще может разобрать на примитивы

Страница 1421 из 1551