
Dmitry
08.04.2017
15:03:13
mightyhttpd кто-то из взрослых использует?

Anatolii
08.04.2017
15:03:36
mighttpd - на хаскеле!:)

Dmitry
08.04.2017
15:04:04
ну это ж прекрасно
наверное.

Google

Anatolii
08.04.2017
15:04:27
я даже не знал про такое:)

Dmitry
08.04.2017
15:04:33
ни документации, ни примеров, ни помощи если что-то где-то сломается. но наверное можно починить самим

Anatolii
08.04.2017
15:04:34
http://www.mew.org/~kazu/proj/mighttpd/en/

Dmitry
08.04.2017
15:04:52
если бы он еще терминировал ssl

Anatolii
08.04.2017
15:04:54
@qnikst посоветовал - будем его мучать:)

Dmitry
08.04.2017
15:05:18
короче в haproxy вроде можно подпихнуть что-то для раздачи статики, хотя он наверное и сам умеет
погодите. это что, просто варп?

Anatolii
08.04.2017
15:06:17
ну с конфигом в файлике

Dmitry
08.04.2017
15:06:30
а чем это отличается сервант на варпе выставить в интернет? статику раздавая каким-нибудь middleware ?
там поди и ssl можно терминировать

Alexander
08.04.2017
15:08:57
это хитрый варп
не видел чтобы кто-то кроме казу использовал
у него по статьям он мегакрут, но у меня не получалось повторить

Google

Alexander
08.04.2017
15:09:59
там от варпа отличается preforkом и еще чем-то
казу спрашивал с нгинксом и даже обгонял его на статике
не знаю как

Dmitry
08.04.2017
15:13:14
мм, с одной стороны нам конечно может и не надо прям суперпроизводительность, с другой стороны профита что-то тоже не видно

Anatolii
08.04.2017
15:16:14
там с вебсокетами беда на сколько я понял

Alexander
08.04.2017
15:16:20
я тоже так думаю, он конечно просто настраивается но проще что-то более проверенное
это ж для статики, какие там вебсокеты?

Anatolii
08.04.2017
15:17:05
ну чисто для статики он подойдет
а так чтобы поставить перед всеми приложениями

Мерлин
08.04.2017
18:13:43
https://github.com/wireapp/wire-server

Alexander
09.04.2017
12:34:58
подскажите, верно ли утверждение, что программу на хаскеле можно не тестить за счет того, что система типов гарантирует правильность? (если система типов адекватно отражает предметную область, конечно)

eugene
09.04.2017
12:35:33
Неверно

Dmitry
09.04.2017
12:35:34
нет

Artem
09.04.2017
12:40:02
Нет

Boris
09.04.2017
12:43:37
ты хотел сложить 2 и 2, а случайно написал 2 + 3
тебе никакой статический анализатор такого рода ошибки не отловит

Alexander
09.04.2017
12:49:22
оох точно
спасибо

Александр
09.04.2017
14:43:20
Если бы так было - все бы писали ПО на хаскеле и никаких багов)

Google

Boris
09.04.2017
15:00:17
но чистые функции значительно проще тестировать - не нужно воссоздавать окружение и следить за чем-либо кроме результата

Vladimir
09.04.2017
15:55:41
а монадические стэки разве не есть то самое окружение, которое неудобно воссоздавать?

Kit
09.04.2017
15:56:13
надо следить что бы передаваемый список в head всегда был не пустой

? animufag ?
09.04.2017
16:11:59

Kit
09.04.2017
16:13:07
При создании большой функции когда head зарыт в коде это будет не заметно.
и компиляция пройдет на ура
хотя может это вопросы к проектированию
Кажется у Вершилова, я видел его доклад на митапе, где он рассказывал про систему с введением области определения для функций

? animufag ?
09.04.2017
16:18:37
ты всё ещё рассказываешь про то как важно тестировать программу и искать все возможные краевые условия для входных данных, даже при условии хорошей типизации.
Boris говорил про то, что нужно следить за результатом и забыть про вероятность порождения всяких побочных эффектов (там к примеру какой-нибудь поток незавершился, а функция вернула ок результат)

Kit
09.04.2017
16:22:17
а как же побочные эффекты в IO? Но я тебя понял.
С haskell я почти убрал из цикла тестирование мелких функций, для меня достаточно того, что код с ней скомпилился.

? animufag ?
09.04.2017
16:26:30

Kit
09.04.2017
16:27:29
?

? animufag ?
09.04.2017
16:28:13

Kit
09.04.2017
16:32:54
а почему просто не создавать побочных эффектов в своем коде на python или чтом там еще это есть?

? animufag ?
09.04.2017
16:34:19
ну не ты создашь, так кто-то другой

Kit
09.04.2017
16:34:26
А если все грамотно написано, то для меня важнее ошибка области определения.

? animufag ?
09.04.2017
16:35:57
напишешь комментарий "пожалуйста пишите в этой функции без побочных эффектов" и где-нибудь уровнем ниже в вызываемых функциях всё равно появятся побочные эффекты. короче тебе просто удобно знать какие функции ок работают, какие стоит попроверять внимательнее

Admin
ERROR: S client not available

Google

Alex
09.04.2017
16:51:54

? animufag ?
09.04.2017
17:19:30
о, спс

Igor
09.04.2017
17:20:14
я недеюсь он хоть на хаскеле написан ?

Kirill
09.04.2017
17:32:39
столкнулся с проблемой запуска тестов через stack test
у меня есть стандартный stack проект. код в app/, тесты в test/
в .cabal в test-suite секции прописана зависимость от моего "бинарника". stack ghci запущенный из test/ определяет модули которые я импортирую в Spec.hs и позволяет вызвать main и прогнать тесты.
Однако, stack test падает: Failed to load interface for ‘Handlers’. 'Handlers' — это мой модуль который я тестирую.
видимо, нужно что-то дописать в .cabal, но я не смог нагуглить что.
подскажите, пожалуйста, что делать?


Евгений
09.04.2017
17:42:25
подскажите, верно ли утверждение, что программу на хаскеле можно не тестить за счет того, что система типов гарантирует правильность? (если система типов адекватно отражает предметную область, конечно)
Если ты хочешь что-нибудь, что позволяет избежать тестирования, то лучше посмотреть куда-нибудь в сторону идриса.
В хаскеле с этим есть кардинальная проблема -- любой тип населён значением undefined, а значит типовая корректность по сути ничего не гарантирует.
В принципе если писать аккуратно, избегать разных нехороших функций типа fromJust, то добиться корректности проще чем в "обычном языке"™, но это будет держаться на доверии и человеческом факторе


Serghei
09.04.2017
17:43:04
Сори за офтоп, а чем так примечателен clang? при использовании clang в софтине, которую я ковыряю, при сборке, больше memory leaks. Кроме все прочего, valgrind мне теперь из исходников нужно собирать, потому как со стобильной версией - parse_type_DIE: confused by: DWARF 4 и все дела. На глаз g++ собирает быстрее. По скороти выполнения не отличается. Вот второй день вожусь с ним (до этого даже не смотрел) и не пойму, а чего так все кипятком писают?

eugene
09.04.2017
17:44:31

Евгений
09.04.2017
17:47:44

eugene
09.04.2017
17:48:11

Igorek
10.04.2017
14:21:35
а как в stack Обновить версию ghci?
я сделал stack upgrade - он всеравно мне 7.10 подсовывает

Vasiliy
10.04.2017
14:28:47
stack upgrade обновляет сам stack, а ghci используется той версии, которая прописана в stack.yaml

Igorek
10.04.2017
14:30:27
ок. а как это для stack repl поменять?

Vasiliy
10.04.2017
14:41:04
запускаемый вне проекта? поправить глобальный конфиг в ~/.stack/global-project/stack.yaml

Igorek
10.04.2017
14:42:45
странно, у меня нет этого файла и папки
я под вендой
ладно, наверное 7.10 должно быть достаточно. хочу просто поиграться с Parsec
его нет в импортах

Vasiliy
10.04.2017
14:43:58
под вендой не знаю, где он лежит

Igorek
10.04.2017
14:44:03
import Text.Parsec.String
<no location info>:
Could not find module `Text.Parsec.String'

Google

Igorek
10.04.2017
14:44:19
его надо качнуть отдельно или как?

Vasiliy
10.04.2017
14:44:37
просто stack install parsec
или даже megaparsec, он более модный

Igorek
10.04.2017
14:45:08
о, спасибо огромное

Alexander
10.04.2017
15:30:48
версию снапшота поднять в проекте или глобально, потом stack setup

Misha
10.04.2017
18:43:48
А кто знает какой-нибудь stm-friendly heap? Хочу сделать lru поверх stmcontainers.map, но нужен какой-то heap, можно конечно сделать TVar (Data.Heap a) но тогда там будет весь contention

Vladislav
10.04.2017
23:19:53
@weonn, тут спамеры пожаловали