
Quet
12.11.2016
15:46:07
почитаю, спасибо

Kit
13.11.2016
18:06:34
может кто подсказать? Как сделать так, что бы вычислилась внутренность списка в обход ленивости
список создан по mapM

Alexander
13.11.2016
18:07:16
оператор _||_ если не ошибаюсь

Google

Kit
13.11.2016
18:07:54
из какого он модуля?

Alexander
13.11.2016
18:09:32
то есть _|_

Kit
13.11.2016
18:11:26
как это пишется в коде?

Vladislav
13.11.2016
18:13:31

Kit
13.11.2016
18:15:38
нет такого оператора в Prelude

Alexander
13.11.2016
18:16:30
форсирование вычислений.
тут пример есть https://stepik.org/lesson/%D0%9D%D0%B5%D1%81%D1%82%D1%80%D0%BE%D0%B3%D0%B0%D1%8F-%D1%81%D0%B5%D0%BC%D0%B0%D0%BD%D1%82%D0%B8%D0%BA%D0%B0-8421/step/10

Kit
13.11.2016
18:19:53

Evgenij
13.11.2016
18:21:27
почитай http://eax.me/lazy-evaluation/

Alexander
13.11.2016
18:22:15

Kit
13.11.2016
18:22:28
по ссылке только реклама

Alexander
13.11.2016
18:23:16

Kit
13.11.2016
18:23:42
у тебя видимо регистрация на этот курс есть

Anatolii
13.11.2016
18:24:39
А курс хороший

Google

Anatolii
13.11.2016
18:24:42
Мне понравился

Aldar
13.11.2016
18:29:33
ждем продолжения
на futurelearn тоже неплохой курс

Anatolii
13.11.2016
18:29:59
А вот там какой-то странный
Я начал смотреть, как то все в спешке
Тут же все разжевывают

Kit
13.11.2016
18:36:50

Evgenij
13.11.2016
18:41:02
Я его блог(Aleksander Alekseev @afiskon ) иногда почитываю - очень интересные вещи у него есть и стиль))

Aldar
13.11.2016
18:41:17
Да он троллит

Kit
13.11.2016
18:45:01
что-то не получается с этим deepseq
какая-то лажа ;(
хоть на печать посылай что бы список вычислился

Судзумия
13.11.2016
18:50:49
в /dev/null

Kit
13.11.2016
18:51:20

blkmrkt
13.11.2016
18:54:03
в рекурсия в хаске это нормально? Например я делаю пагинацию вот так:
parsePosts owner offset = do
res <- httpLbs...
let items = decode...
when (length items == 1000) $ parsePosts owner (offset + 1000)

Alexander
13.11.2016
19:06:15
в хаслеке все через екурсию делается

Судзумия
13.11.2016
19:06:20
спрашиваете, нормально ли рекурсия в фп? ну не знаю даже..

blkmrkt
13.11.2016
19:06:30
о ништяк
у меня скоро месяц как комбайн на хаскеле нонстоп работает

Google

blkmrkt
13.11.2016
19:07:21
300гб жсона в сутки

Timothy
13.11.2016
19:18:33

blkmrkt
13.11.2016
19:20:09
и как по памяти?
ад конечно, но на главном сервере памяти много и я не замечаю. Как-то попробовал запустить 500 потоков на aws с 4гиг ram, оно крашнулось из-за нехватики памяти
нужно научиться динамически спавнить воркеров, чтоб не перегружать сеть/чпу/ram

Timothy
13.11.2016
19:24:03
вот в скалке это оче легко с akka

blkmrkt
13.11.2016
19:26:50
https://github.com/atemerev/skynet о какие дела

Kit
13.11.2016
19:55:00
кто-нибудь может подсказать, что еще происходит со списком xs во время print xs, чего не происходит во время force xs?

Donat
14.11.2016
06:56:44
scalpel кто-нибудь пользовался?

SimpleX
14.11.2016
09:46:26
Делал поля данных строгими и вставлял unpack?
Еще может помочь использование энкодинга аесона

Paul
14.11.2016
13:18:17
Microsoft анонсировала Visual Studio для macOS на базе платформы Xamarin https://t.vc.ru/19942

melancholiac
14.11.2016
15:05:14

blkmrkt
14.11.2016
16:50:40

SimpleX
14.11.2016
16:51:32
Во-первых, лучше вместо стринга использовать Text
Во-вторых, добавь strictness annotations
Ко всем типам в data
И далее - профилирование
Еще могут помочь inline'ы

Google

SimpleX
14.11.2016
16:53:26
Для функций классов так точно

Quet
14.11.2016
17:13:04
ну ты чтоб не вслепую - профайлил?

blkmrkt
14.11.2016
17:16:31
вот сейчас запущу и сравню

SimpleX
14.11.2016
17:19:55
Попробуй и потом сделай !(Maybe T.Text)

blkmrkt
14.11.2016
17:20:20

SimpleX
14.11.2016
17:20:31
Строгие поля

Admin
ERROR: S client not available

blkmrkt
14.11.2016
17:20:46
а конкретный тип это не строго чтоль?

Vladimir
14.11.2016
17:24:19
Конкретный тип - это лениво)
Везде, где структуры ленивые

blkmrkt
14.11.2016
17:25:12
а, он не выделяет память если этого не нужно делать?

Vladimir
14.11.2016
17:25:53
Да как раз там проблема с тем, что он выделЯет памЯть под thunk'и
И может где-то перерасход получиться
Как я понял

blkmrkt
14.11.2016
17:39:50
интересно, мой процесс хаскеля делает реквесты через прокси в 500 потоков, однако в один если сделать netstat -p | grep *ip* | wc -l, он показывает 5тыс-6тыс открытых сокетов
кто-нибудь деплоит хаскель в докере? если да, то стоит ли весь тулчейн и сборку пихать внутрь докера, либо лучше просто копировать бинарники?

Donat
14.11.2016
21:30:07
> весь тулчейн и сборку пихать внутрь докера
это будет очень долго и больно)

Судзумия
14.11.2016
21:31:36
Особенно с учётом того, что тулчейн гигабайт весит

Quet
14.11.2016
21:43:45

Google

blkmrkt
14.11.2016
21:46:10

Alexander
15.11.2016
07:20:38
у нас был
нужно отдельно контейнеры для сборки и деплоя
второй или docker tar (или как он там) или отдельн получать
@blkmrkt ну ты можешь сделать tar и потом объявить это новым образом
впрочем у нас дкер только для тестов был

Misha
15.11.2016
11:53:43
а скажите, программисты, а чем вообще плох orphan instance? Вот есть у меня какой-то тип T и определять для него FromRow/ToRow из postgresql-simple было бы логично в модуле, в котором есть зависимости от postgresql-simple а не в том, где T изначально определен. Почему warning? Какие потенциальные проблемы из этого?

Anatolii
15.11.2016
11:54:28
ну ты двух местах можешь определить для своего типа инстансы
потом заимпортить это в третье

Misha
15.11.2016
11:57:14
ну в этом третьем он мне скажет что конфликт
то есть просто "как-то неаккуратненько" или там реально может что-то рухнуть во время линкинга или что-то такое?

Vladimir
15.11.2016
12:02:34
На SO какой-то дикий вопрос есть на эту тему
Ответ, то есть

Anatolii
15.11.2016
12:03:09
я так никогда не делал
я когда варнинги вижу
понимаю что что-то не то делаю
но я думаю что он ничего не скажет
и результат будет не предсказуем