
Alexander
29.12.2017
16:45:30
в cbor вроде похожий API

Artyom
29.12.2017
16:46:39
я украл из cereal-conduit, но я боюсь того, что там какие-нибудь различия, про которые я не знаю

Alexander
29.12.2017
16:47:48
маловероятно
там вообще очень straigh-forward код, по другому особо не напишешь

Google

Artyom
29.12.2017
16:48:20
вообще это довольно обидно
ожидания: Дункан будет нам оказывать поддержку во всем, что связано с его либой
реальность: у Дункан нет времени даже пуллреквесты ревьюить и они стоят неделями ?
ну лан

Alexander
29.12.2017
16:50:43
а вот если бы было store..
(я не серьезно)
@lightgreen но вроде там метод conduitGet/conduitPut должны быть очень простыми
я обычно под такое даже либу не завожу, а валяется где-то в проекте
(хм.. надо бы streaming-vector-streaming и наоборот в либу сделать)

Artyom
29.12.2017
16:55:34

Alexander
29.12.2017
17:29:42
кондуиты для кассавы есть?
или можно сделать нормальный кондуит из Builder-а?
вопрос снят

illiatshurotshka❄️
29.12.2017
17:45:37
в теории типов, если у нас аргумент передается с ограничением по тайпклассу то у нас все равно кайнд аргумента будет *?

Maxim
29.12.2017
17:52:09

A64m
29.12.2017
17:52:41

Google

illiatshurotshka❄️
29.12.2017
17:52:51
ок спс

Maxim
29.12.2017
17:53:48
да
Если аргуметом должна быть монада, тип разве будет *?
Не * -> *?

illiatshurotshka❄️
29.12.2017
17:54:31
не то

A64m
29.12.2017
17:55:17
Не * -> *?
ну если переменная была такого кайнда - да

Maxim
29.12.2017
17:55:40

A64m
29.12.2017
17:55:56
я понял вопрос так, влияетли на это констрейнт - нет не влияет

Maxim
29.12.2017
17:57:13
Я не так понял
Но если не влияет, то это даже удобнее (наверное)

illiatshurotshka❄️
29.12.2017
17:57:37
допустим у нас тайпкласс c a и к нему имплементировали t1, и есть конструктор
data c a => t a

A64m
29.12.2017
17:58:37
может T a ?

illiatshurotshka❄️
29.12.2017
17:59:32
ну в хаскеле да

Антон
29.12.2017
17:59:44

A64m
29.12.2017
18:01:02
ну они рабортают, но только при конструировании, при матчинге словарь получить нельзя
так что эти фича обоснованно считается бесполезной

illiatshurotshka❄️
29.12.2017
18:01:42
да я не про хаскель (в том же расте постоянно юзаются)
то есть ограничения это отдельная концепция и записывается рядом

Denis
29.12.2017
18:02:52
@A64m_qb0 что думаешь?
https://github.com/chrisdone/chaotic-ghc

A64m
29.12.2017
18:03:07

illiatshurotshka❄️
29.12.2017
18:03:26

Google

A64m
29.12.2017
18:03:52
ну они связаны, но не так

illiatshurotshka❄️
29.12.2017
18:04:13
ага

A64m
29.12.2017
18:05:09
в корке, правда, их нет

illiatshurotshka❄️
29.12.2017
18:09:03
а как констрейнты обычно записывают

A64m
29.12.2017
18:09:48
где?

illiatshurotshka❄️
29.12.2017
18:10:25
в пейперах всяких
на википедии не нашел ?

A64m
29.12.2017
18:18:17
в сигнатурах так и пишут Q => в правилах Q; Г |- например
> I think I have come up with fairly intuitive and lightweight syntax to resolve this ambiguity:
data T = T
f T 5 -- T is term-level (just like today)
f (::T) 5 -- T is type-level
ЛЕГКОВЕСНЫЙ

Alister
29.12.2017
19:45:19
Выглядит как перл

Alexander
29.12.2017
19:50:11
'T конечно сложно и непонятно
::T лучше

A64m
29.12.2017
19:50:18
моя классификация легковесности синтаксиса:
вайтспейс - легковесный
один символ - тяжеловесный
два символа - НЕЙТРОНИЕВЫЙ
четыре символа - ???

Alexander
29.12.2017
19:50:21
это же очевидно!

Denis
29.12.2017
19:50:49

Alexander
29.12.2017
19:52:52
о ещё и скобочки же
это небось лиспер предлагал
у них скобки в минус идут
() - -2 :: + 2 итого 0
а меньше 0 символов очевидно не сделать

Google

A64m
29.12.2017
19:53:46
напоминает чумовой синтаксис из пропозала аналога !-нотации в идрисе (<- a) делающий синтаксис полностью неюзабельным, зато "интуитивным" (раз в жизни проигодится)
это предлагал @int_index

Alexander
29.12.2017
19:54:42
кстати по сравнению с ' есть плюс
автоматическим подсветкам не сносит крышу

Alister
29.12.2017
19:55:44
А есть неавтоматические?

A64m
29.12.2017
19:56:01
есть

Kirill
29.12.2017
19:56:36
а откуда пропоузал?

A64m
29.12.2017
19:56:46
редактор который с обероном идет сам ничего не подсвечивает, но позволяет вручную отформатировать код

Admin
ERROR: S client not available

Kirill
29.12.2017
19:57:33
про 4 точки

A64m
29.12.2017
19:58:16
это не часть пропозала, а предложение в комментариях к вот этому вот https://github.com/ghc-proposals/ghc-proposals/pull/81

Denis
29.12.2017
20:12:16
а чего Мейер покинул хаскелл? я так понял он был у истоков?

A64m
29.12.2017
20:16:28
он написал про это пейпер http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.72.868&rep=rep1&type=pdf

Denis
29.12.2017
20:22:07
мне просто интересна причина почему

A64m
29.12.2017
20:36:28
мне просто интересна причина почему
> Instead of trying to convince imperative programmers to forget everything they already know and learn something completely new, I decided to infuse existing imperative objectoriented programming languages with functional programming features. As a result, functional programming has finally reached the masses, except that it is called Visual Basic 9 instead of Haskell 98.

Alister
29.12.2017
20:37:36
>VB 9
>functional programming

Denis
29.12.2017
20:38:12

Dmitry
29.12.2017
20:43:08

Denis
29.12.2017
21:06:37
конечно такие вещи было бы круто)
https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/Design

Google

A64m
29.12.2017
21:11:19
не круто, это в основном имплементировано, но никто не заметил даже

Denis
29.12.2017
21:22:09

A64m
29.12.2017
21:22:44
ну синтаксиса нет, но это не особо важно
более важная проблема имплементированного ORF что там какие-то убогие геттеры (без сеттеров даже), зачем они нужны? Линзы должны быть
если не считать конечно, что без прописывания сиротского инстанса ничего не работает вообще

Denis
29.12.2017
21:30:18
ну если линзы на уровне ghc сделать, то так тормозить не будет при огромном количестве TemplateHaskell

A64m
29.12.2017
21:32:10
там больше проблема в том, что СПЖ и автор ORF недолюбливают единственную разновидность линз, которыми кто-то хочет пользоваться
также Гендри делал ORF в несколько этапов и за время между введением лейблов и применением их для ORF написали кучу библиотек, которые работающий ORF бы сломал
так что ORF пришлось пожертвовать (общественность растревожилась, забурлила в комментариях к пропозолу и заклевала тот самый вышеупомянутый инстанс )

Quet
29.12.2017
21:36:53
эт какие линзы спж недолюбливает так? )

A64m
29.12.2017
21:37:58
ван-лаарховеновские, неабстрактные, т.е что всегда и понимается в хаскеле, когда говорят ЛИНЗЫ, недолюбливают они как раз вот эту неабстрактность

Quet
29.12.2017
21:38:44
это то что кметтовская либа реализует?

A64m
29.12.2017
21:38:56
не только кметтовская

Quet
29.12.2017
21:39:11
ну кметтовская как самый известный пример

A64m
29.12.2017
21:39:22
всякие микролинзы тоже, да и профункторные реализации неабстрактные

Artyom
29.12.2017
21:40:51
ну конкретно микролинзы содраны у кметта целиком и полностью, но есть всякие lens-family-core, lens-simple, что-то там ещё
и есть профункторные, да
ни разу не видел, чтобы ими кто-то пользовался

A64m
29.12.2017
21:42:42
не целиком, а с некоторых (ленз-фемели) наоборот кметтовские содраны, но так молниеносно, что те из блогпоста до хекеджа не успели долететь
в пурскрипте пользуются

Artyom
29.12.2017
21:45:59
я бы не сказал, что “кметтовские содраны с lens-family”, потому что туда пошло дикое количество всяких оптимизаций и ad-hoc тайпклассов, которых в lens-family нет
но внешнее апи нарочно такое же, да

A64m
29.12.2017
21:46:49
ну идея О'Конноровская

Artyom
29.12.2017
21:47:32
в пурскрипте пользуются
о, я вспомнил, что Олег (который другой Олег) ещё пилит для джаваскрипта какие-то линзы, которые тоже профункторные
надо бы на них посмотреть

A64m
29.12.2017
21:50:25
точнее началось все с МакБрайта и Паттерсона, потом Конал Эллиот почти изобрел Ван-Лаарховеновские линзы http://conal.net/blog/posts/semantic-editor-combinators потом Ван-Лаарховен изобрел их не почти, потом О'Конор их генерализировал до типосменяющих апдейтов, а Кметт из всего этого сделал библиотеку, ради которой хаскель и появился, теперь очевидно, все было не зря