A64m
Лещинский, кстати, вернулся в хаскель сразу в комитете заседать, а вектор что-то развивать не хочет
Зигохистоморфный
https://www.stackage.org/lts-10.3/package/multiset-0.3.3
Зигохистоморфный
от того же Лаарховена
Зигохистоморфный
а что это за новый проект у Кметта - coda?
A64m
вскод плагин для хаскелеподобного языка
Alexander
@A64m_qb0 я замеитл
Alexander
обругал linear types
Alexander
верните старого лещинского
Dmitry
кто использовал вебсокеты для серванта?
Dmitry
они ок?
A64m
Я правильно понял, что Снойман в докладе "почему хаскель уникален" заявил, что в строгих языках спейсликов нет?
Alexander
ну что-то такое промелькивало
A64m
ну вернее он иначе это сформулировал, что мол проблемой это является только в хаскеле что фактически верно, потому что эмелист какой-нибудь очень переживает что левая свертка в хаскеле течет, но то что у него так текут все списковые функции кроме левой свертки его не особо волнует
Leonid 🦇
https://ghc.haskell.org/trac/ghc/wiki/UnpackedSumTypes а мне бы вот и packed подошли анонимные суммы
A64m
там такой страшный синтаксис, что какой-нибудь Sum2Of10 лучше смотрится
A64m
нужно наверное что-то вроде полиморфных вариантов, нет?
Leonid 🦇
Ну я пока смотрю на Union Identity '[Foo, Bar, Baz] от @int_index
Leonid 🦇
Но это That That That This как-то смущает
A64m
а как планируется использовать-то?
Leonid 🦇
Правда не на скоростном участке, так что на производительность срать
Leonid 🦇
Ошибочки из апишечки
A64m
не понял, зачем для этого анонимные суммы
Leonid 🦇
-XDuplicateConstructorNames же нету
Leonid 🦇
потому что бойлерплейт
Leonid 🦇
А хочется что-бы документация генерилась и было написано что вот такое можно поймать.
Leonid 🦇
Правда мне уже кажется что проще руками доки писать
A64m
что лучше? a) (i + 1) <- foo b) i' <- foo let i = i' - 1 c) i <- fmap pred foo d) i <- (-1) <$> foo
Aleksei (astynax)
d
кана
дык a) же депрекейтед
A64m
нет
кана
ну я тоже d) использую, хоть хотел бы a), только чтобы он нормально был реализован (что я представить не могу, кроме S k <- foo)
A64m
а что не нравится в том, как реализован a?
кана
в основном в том, что + там - нифига не оператор Num же, использовать какие (n * 2) <- foo мы уже не сможем, это какое-то adhoc решение
A64m
ну это как конс для списка над списком полно всяких операций задано, но матчить можно только конс
Кабачок
a) лучше
кана
матчить можно по конструктору же, + же конструктором не является, в то время как :: вполне себе опять же, (S k) - норм, то есть дело чисто в нейминге
A64m
ну если бы являлся, то и n+k паттерны как отдельная фича не нужны были бы, но фича к тому и сводится, что как-бы является
Кабачок
Это же с integer работает? Т. е. вполне можно получить отрицательный i?
Dmitry
e) (pred -> i) <- foo
A64m
во всех остальных случаях тоже можно, там ниже гард который это проверяет
A64m
e) (pred -> i) <- foo
это уже будет f e) - это S i <- и соотв. паттерн-синоним
A64m
о, я смотрю ghcjs для 8.2 сделали
NC
где его тестить можно?
NC
в nixpkgs уже попал?
A64m
не знаю, вижу пока только ветку в репе
Alexander
а в haskell же были какие-то опции для lto?
Alexander
чтобы ненужные символы из зависимостей поубивать когда компилится
Alexander
-split-sections?
A64m
он разве не включен по умолчанию везде (кроме виндовс, конечно)
Alexander
угу включен
Leonid 🦇
--gc-sections вроде можно передать
Kirill
@A64m_qb0 ветке уже сто лет в обед - https://github.com/ghcjs/ghcjs/issues/602
Kirill
и то правда
A64m
https://github.com/ghcjs/ghcjs/commits/ghc-8.2
Николай
Подскажите, термин bottom (type) в отечественной computer science действительно переводится как "дно"?
кана
некоторые переводят его как жопа
Meowbe/BSD-2-Clause
_|_
Meowbe/BSD-2-Clause
Довольно таки жопа
Николай
Ну а если цензурно? )
Meowbe/BSD-2-Clause
Ну почему бы и не дно
Ignat
почему бы и не _|_ или bottom
кана
боттом
Зигохистоморфный
ну можно еще как-то типа "неразрешимость/парадокс"
Anonymous
А почему бы не "вакуум"?
Евгений
Переводят как боттом
kosc
Добрый вечер! Так какой всё же наиболее распространённый подход в Haskell при работе с SQL-базами? (В моём случае SQLite3) Какие библиотеки чаще всего используют, может быть, ORM или ещё какие-нибудь приблуды?
кана
persistent (+ esqueleto, если нужны сложные запросы)
Сергей
1. persistent 2. persistent + esqueleto 3. opaleye 4. opaleye + girella
Alexander
выкинуть нафиг фреймворки если нужны сложные запросы
Kirill
ещё beam вроде сикелайт умеет
Alexander
хотя тавм sqlite какие к черту сложные запросы
kosc
Ок, спасибо )
kosc
Блин, за persistent вообще лайк от души. Прямо то, что я искал в том виде, в каком мне надо.
Евгений
выкинуть нафиг фреймворки если нужны сложные запросы
Сложные запросы консидеред хармфул. У меня из-за такого подхода SQL стал тьюринг-полным
Vladislav
Надо б библиотеку с автогенерированным AST PostgreSQL, без семантики