
Alexander
13.09.2018
13:44:57
его компания были early adopters

Mark
13.09.2018
13:44:58
Не знаю можно ли говорить
Так что не буду)

Alexander
13.09.2018
13:45:13
логично

Google

Mark
13.09.2018
13:46:39
Учитывая сколько компаний пробуют перейти на базель, он не заглохнет
Я думаю у нас минимум 6 клиентов которые перешли или в процессе

Alexander
13.09.2018
13:48:31
надо бы тоже попробовать, хотя у меня multilanguage нету

Mark
13.09.2018
13:48:36
Мэтью хочет там на сайте прилепить громкие (в хаскельном мире) имена))
Но надо разрешения получить

Andrew
13.09.2018
13:55:17
Всех поздравляю с праздником

Denis
13.09.2018
13:55:45
кто-то видел уже такое?
https://github.com/morphismtech/squeal

Anton
13.09.2018
13:58:03
Рассматривал как альтернативу opaleye

Denis
13.09.2018
13:58:49
радует, что у них есть RN
https://github.com/morphismtech/squeal/blob/master/RELEASE%20NOTES.md

Anton
13.09.2018
14:00:02
Создание и миграции итого всё равно делают через велосипед на списке SQL скриптов

Alexander
13.09.2018
15:32:20
меня всегда пугают такие фреймворки
надо все-таки находить время и пилить олегостатью
тем более что основа уже есть

Google

Julian
13.09.2018
15:37:38

Alexander
13.09.2018
15:37:51
quel или как-то так
http://logic.cs.tsukuba.ac.jp/~ken/quel/

Julian
13.09.2018
15:38:35
Спасибо!

Alexander
13.09.2018
15:39:16
хотя там тоже минус, вроде с тем подходом нельзя произвольный sql добавить
и нужно все через все процессы прогнать

Victor K
13.09.2018
16:00:35
Привет, я ньюби, можете рассказать, как в данном случае работает cons перед zipWith' ?
zipWith' :: (a -> b -> c) -> [a] -> [b] -> [c]
zipWith' f (x:xs) (y:ys) = f x y : zipWith' f xs ys

Alexander
13.09.2018
16:03:05
y : ys конструктор списка, что слева голова, что справа хвост
тут голова списка это f x y - к функции f :: a -> b -> c применяются аргументы x :: a и y:: b
получается элемент типа c
@vkshv ^
или я не понял вопроса?

Victor K
13.09.2018
16:10:56
ааааа. все правильно понял, мозг в некоторых местах ломается пока просто) спасибо.

Imants
13.09.2018
17:25:50

Alexander
13.09.2018
17:26:23
сам пакет?

Imants
13.09.2018
17:26:57
Там всё должно быть понятно?

A64m
13.09.2018
17:27:11
более-менее

Alexander
13.09.2018
17:27:13
понятно, но интуицию не даст

A64m
13.09.2018
17:27:22
там проверяемые примеры, которые не отгнивают

Alexander
13.09.2018
17:27:41
как с исключениями и асинхронностью

Google

Alexander
13.09.2018
17:27:48
документация прекрасная, но не дает интуицию
и её нихрена не читают
: (
у меня нету интуиции когда что композить, а когда не надо композить

Aleksey
13.09.2018
18:19:01
"1. Знаешь, что можно теоретически.
2. Пишешь аннотацию и входное значение
3. Перебираешь варианты с множественными traversed и folded
4. Получаешь нужное
5. Убираешь аннотацию
6. М.б. без аннотации продолжит работать"
так применяю линзы

Anton
13.09.2018
19:12:41
Похоже на TDD только на типах

Aleksey
13.09.2018
19:32:51
Просто линзы суперполиморфные

A64m
13.09.2018
19:33:15
вроде поиск подстановок для дырок для линз работает (сам не пробовал, в пейпере есть пример)

Aleksey
13.09.2018
19:34:08
Было бы отлично. И ещё более вредно для формирования интуиции.

Alexander
13.09.2018
20:28:26
ну кстати может и нет, когда есть шанс быстро получить решения можно нагенерировать много задач и увидеть паттерны

Daniel
13.09.2018
21:46:30
Если какие нибудь хорошие сайты по типу 99, но для более прикладных вещей? Сделай веб сервис с базой склайт для...

Daniel
13.09.2018
21:47:04
Идей уже нет, хочется на хаскеле что нибудь прикольное пописать, устал математику на нем решать

Arseniy
13.09.2018
21:57:02

Victor
13.09.2018
22:39:51

Arseniy
13.09.2018
22:40:25

Victor
13.09.2018
22:41:54

Arseniy
13.09.2018
22:42:15

A64m
14.09.2018
08:54:10
> Think back five years ago. How many technical opinions did you deeply hold which you now repudiate?
0
вот десять лет назад я верил в кучу ахинеи, к примеру, что ленивость по умолчанию не принципиально лучше энергичности и можно сделать нормальный ФЯ с выводом регионов

Alexander
14.09.2018
08:54:45
тебе бы сразу на реддите комментить

Google

Andrey
14.09.2018
08:55:14
avoid reddit at all costs

A64m
14.09.2018
08:57:34
это твиттер

Евгений
14.09.2018
09:00:12
> нормальный ФЯ с выводом регионов
В смысле частчным выводом или полным?

A64m
14.09.2018
09:03:40
без гц для базового региона
кстати о реддите, вчерашний тред с пожеланиями о том, как испортить хаскель удвоился

A
14.09.2018
10:31:45
наверно туда скалисты заходили )

Admin
ERROR: S client not available

Alexander
14.09.2018
10:41:15
заметил, что я почти никогда не использую Text.Lazy

Anton
14.09.2018
10:41:28
Дык GHC опенсорсный, пусть форкают и делают себе Goskell

Alexander
14.09.2018
10:41:56
ты какой-то нетолерантный

Anton
14.09.2018
10:41:57

Alexander
14.09.2018
10:42:09
да

Anton
14.09.2018
10:42:20
Это вершина толератности! Они меня не трогают, я их не трогаю

Alexander
14.09.2018
10:42:33
так нельзя
нужно всех заставлять думать правильно
ой, блин это не _blah

Anton
14.09.2018
10:43:48
Backup туториалы уже есть, как к либе прикрутить интефрейс полиморфный над строками?

Alexander
14.09.2018
10:44:23
backpack?

Anton
14.09.2018
10:44:43
тьфу

Alexander
14.09.2018
10:44:45
@chshersh ^

Google

Anton
14.09.2018
10:44:47
надевопсил

Արթուր
14.09.2018
10:45:05
https://kowainik.github.io/posts/2018-08-19-picnic-put-containers-into-a-backpack

A64m
14.09.2018
10:46:07

Anton
14.09.2018
10:46:15

A64m
14.09.2018
10:47:15

Alexander
14.09.2018
10:47:33
ну генерировать строки в ленивые тоже норм

A
14.09.2018
10:47:36

Alexander
14.09.2018
10:47:41
т.е. Text.builder

Anton
14.09.2018
10:47:43
Или замкнутые сами на себе

Alexander
14.09.2018
10:47:46
правда редко нужен

A64m
14.09.2018
10:58:46
> Exceptions that actually get reflected in the type.
видимо
2 + 2 :: Int '[SomeAsyncException, AllocationLimitExceeded, CompactionFailed]
или что-то вроде

Alexander
14.09.2018
11:03:43
при том, что сейчас SomeAsyncException не гарантирует что оно асинхронное

A64m
14.09.2018
11:03:45
конечно, обязательно кто-то пишет про то что нетотальных функций не должно быть
(в рассылочке библиотечного комитета кстати недавно была дискуссия об аннотациях таких функций в доках, там в результате не смогли договориться даже что под этими словами понимается, надо ли аннотировать length так же как head и т.д.)

Alexander
14.09.2018
11:03:53
и не все асинхронные ловит, то добавь ещё SomeException

Pineapple
14.09.2018
11:07:35

Alexander
14.09.2018
11:08:25
а оно может?
не вообще круто наверное было бы если бы функцию можно было аннотировать как-то:
{-# ANNOTATION "Exception" [ArithException] <> (Exception a) <> (Exception b)
foo :: a -> b -> c
а лучше язык каких нить предикатов