@haskellru

Страница 841 из 1551
Imants
13.02.2018
22:37:41
А (reverse) прокси сервером можно взять хоть nginx, или что привычнее

Alex
13.02.2018
22:37:54
Но я хоть убей не могу понять как его добавить в проект

dependencies в stack.yaml?

Alexander
13.02.2018
22:38:33
vim package.cabal / cabal new-build

Google
Alexander
13.02.2018
22:38:36
sorry

хм.. а какой наиболее простой примитив для генерации стримов (любых) (CC @xgrommx) коалгебы, куда смотреть?

Imants
13.02.2018
22:39:28
Прокси сервер будет сам по себе, а своя апп будет общаться с прокси сервером по tcp. Эти 2 части не будут одним проектом

Alexander
13.02.2018
22:41:16
мне просто нужно сейчас примитивы правильные для STM сделать, чтобы из них кондуиты композить

у меня пока есть для STM a / STM (Maybe a), но ведь есть же обобщение

Alex
13.02.2018
22:44:43
Большое спасибо всем кто отвечал!

Alexander
13.02.2018
22:45:32
серьезно помогло?!

Alex
13.02.2018
22:50:53
Да

Я нашел на гите работающий пакет

Он пашет

Мне еще сток понравился

Надо его тоже чекнуть

Google
Dmitry
13.02.2018
23:04:53
А Stack умеет параллельно собирать, как cabal build -j? Что-то такое впечатление, что только одно ядро занято...

Alexander
13.02.2018
23:06:56
умеет

Dmitry
13.02.2018
23:07:22
А как ему это сказать? Или он по умолчанию параллельный?

Alexander
13.02.2018
23:07:53
раньше был по умолчанию, сейчас не уверен

скорее всего -j

я обычно не парюсь у меня столько оперативки нету чтобы параллельно собирать

Dmitry
14.02.2018
00:31:33
О, по средневековым постройкам побродил там?
Постройка проекта с помощью make может считаться средневековой?

Artyom
14.02.2018
02:35:33
stack build --jobs=<N> --ghc-options=-j

правда, лучше параллельный ghc не включать, а вместо этого выдать ему больше оперативы

ну, если только у тебя не 60 гиг оперативы (или проект маленький) тогда можно и то, и другое

(а вообще советую самому побаловаться)

Vasiliy
14.02.2018
06:05:14
хм, не понимаю этот пакет https://github.com/mauke/data-default

это просто класс типов Default и дефолтные значения для некоторых типов (для которых они имеют смысл) т.е. в этом его назначение, ну да, ок

Aleksey
14.02.2018
06:11:34
Есть мнение, что злоупотреблять этим пакетом не стоит. Для некоторого типа мужет быть несколько валидных и логичных умолчаний

Вот уже для Maybe два варианта возможны: Nothing и Just def

Yuriy
14.02.2018
06:20:21
есть мнение, что этот класс вреден

Vasiliy
14.02.2018
06:22:36
да, вот сразу как увидел возникло смутное противоречие, не зря написал

т.е. им как бы не зашквар пользоваться в ограниченных случаях? ну вот когда и правда у меня единственное значение по-умолчанию существует для некоторого типа

Kirill
14.02.2018
06:29:14
часто приводят мою либу как оправдание :)

xlsx, там def используется для получения "пуcтой" части эксель файла

Google
Vasiliy
14.02.2018
06:30:06
ага, уже нашел) крутой пакет

Kirill
14.02.2018
06:31:04
по сути это DRY, но он тоже не всегда полезный принцип

теоретически можно былоб фигачить что-нибудь типа emptyCell, defaulStyle и т.п.

Yuriy
14.02.2018
06:31:56
Kirill
14.02.2018
06:33:53
в данном случае "теоретически" казалось одной конкретной либы :)

kana
14.02.2018
08:14:15
Vasiliy
14.02.2018
08:15:33
вообще да, согласен, возможно это лучше, чем тащить пакет еще один, особенно если ничего из него не нужно (кроме класса самого)

Aleksey
14.02.2018
08:16:27
Default в виде класса кажется удобным, т.к. позволяет делать полиморфный контекнер и инстанциировать instance Default a => Default (Foo a) where def = ... def

Но на деле у полиморфного контейнера просто странно иметь какие-либо умолчания

А у мономорфного можно и defaultBlaBla в defaultFoo вызвать

Наверное больший смысл могут иметь классы типа class CanBeEmpty a where { empty :: a }. Или что-то ещё более близкое к доменной области, как @kana_sama говорит

Pineapple
14.02.2018
08:20:13
Зато с Default не надо вспоминать какой именно defaultWhatever надо писать. def и всё

Aleksey
14.02.2018
08:20:37
Вот это то и плохо. Надо вспоминать! И думать тоже надо

Pineapple
14.02.2018
08:21:05
Только в половине случаев

Aleksey
14.02.2018
08:21:07
foo def def 0 Nothing def def - ниочень

Pineapple
14.02.2018
08:21:58
Пять полей, господи... foo def def def def def!

Aleksey
14.02.2018
08:22:22
foo def def 0 Nothing def def - ниочень
foo defaultLevel simpleLogger defaultPort defaultHost stupidServer simpleStorage - гораздо лучше! :) Ещё лучше в record запихать и сделать defaultConfig

Pineapple
14.02.2018
08:22:50
Подобную байду удобно собирать в одну структуру: foo def

Arthur
14.02.2018
08:25:16
Этот курс чем то лучше или хуже того, который в вышке читали? @bravit111
Этот курс рассчитан на людей, которые уже знакомы с ФП, и, в частности, с Хаскеллем. А курс в Вышке, соответственно, рассчитан на студентов, которые знают императивные языки, но при этом им надо объяснять самые азы ФП - начиная от того, что такое чистые функции, и заканчивая тем, что такое функторы, монады и т.д. Т.е. этот курс он хардкорно про Идрис, а тот, который в Вышке - больше вводный в тему ФП на примере Идриса. И тот, и другой хороши для своей аудитории.

Google
Yuriy
14.02.2018
08:32:01
а можно вообще никакого дефолта не экспортировать sheet = mkSheet $ do cellValueAt (1, 2) ?= CellDouble 42.0 cellValueAt (3, 2) ?= CellText "foo"

Leonid
14.02.2018
08:59:19
А может и вправду сделать рекорд функций вместо тайпкласса?

Что-бы не превратиться в есод

В общем пишу я либу которая будет oauth2 (openid?) сервером. И например нужно абстрактнуть мне бэкэенд для хранения юзеров.

И абстрактнуть как делается аутентификация - куки там всякие, хтмл с формочками

A64m
14.02.2018
09:01:30
хаскель слишком неразвитый язык для такого

Leonid
14.02.2018
09:01:31
И не хочется всё это навешивать на m

A64m
14.02.2018
09:02:06
ну, экспериментальные-то фичи для этого есть, но они не готовы для продакшона

Leonid
14.02.2018
09:02:28
вот такое есть http://hackage.haskell.org/package/snap-1.1.0.0/docs/Snap-Snaplet-Auth.html#t:AuthManager

Leonid
14.02.2018
09:04:00
нет, я хочу сам Auth сделать.

но думаю вот какой делать апи

наверно сделаю всё через рекорд, и будет initAuth :: Config -> IO AuthEnv, runTokenEndpoint :: AuthEnv -> Wai.Application

ну и т.д.

только в снапе зачем-то existential сделан

Alister
14.02.2018
09:05:50
http://loveplusplus.ru/

Leonid
14.02.2018
09:06:19
http://loveplusplus.ru/
шеебороды какие-то

Yuriy
14.02.2018
09:18:42
Yuuri
14.02.2018
09:19:35
Java?

Google
A64m
14.02.2018
09:20:05
Leonid
14.02.2018
09:21:18
Модули сделают из хаскеля энтерпрайз?

A64m
14.02.2018
09:21:57
не сделают

Leonid
14.02.2018
09:22:15
Может и вправду прикрутить рюкзак...

Denis
14.02.2018
09:24:21
для чего хорош бэкпак?

я как-то мимо всей это модульной темы

A64m
14.02.2018
09:26:29
теоретически, вот для обсуждаемого он и нужен, где в хаскеле всякие рекорды с функциями надо передавать или адовые классы писать а-ля ЛистЛайк и в обертки оборачивать практически - не известно, может и ни для чего

Может и вправду прикрутить рюкзак...
и репортить по багу гхц каждый день потом.

Leonid
14.02.2018
09:34:49
и репортить по багу гхц каждый день потом.
Да, таким пусть @catamorphism и @int_index занимаются...

Denis
14.02.2018
09:37:37
кстати надо багу зарепортить..

A64m
14.02.2018
09:38:05
а есть где-нибудь нормальные примеры с кодом?
у автора ezyang должны быть репозитории вроде такого https://github.com/ezyang/reflex-backpack

Denis
14.02.2018
09:38:23
спасибо, погляжу

A64m
14.02.2018
09:39:58
или вот очень простой для начала https://github.com/ezyang/backpack-regex-example

Denis
14.02.2018
09:40:37
меня издавна терзал вопрос чем же хороши ML модули, но я так и не удосужился разобраться

A64m
14.02.2018
09:41:12
да с этим и эмелисты не то чтобы разобрались

Dmitry
14.02.2018
09:41:31
они не то, что бы хороши

они довольно удобны

своей параметризацией

это то, что на нашем уютненьком получается нецелевым использованием TF/DF

и тайпклассов

Страница 841 из 1551