A64m
Alexander
ну либо либой, либо свой endpoint
Alexander
ну мне очень долго wai/warp хватало
Alexander
чистых
Alexander
блин чтож к new-* так sdist и не прикрутили
Alex
Alexander
хм.. как-то по другому там это зовётся, в общем тип ответа
Alex
uri?
Alexander
при чем тут uri?
Alex
Видимо ни при чем:)
Alexander
в общем там урлы на типах конструируются и у каждой есть свой тип, оно расширяемо более менее
Alexander
и можно свой дописать
Alexander
с шаблонами и блекджеками, но наверняка уже все есть
кана
кана
+ MimeRender
Alexander
не вот все эти Verb/ Stream и т.д.
Alexander
Raw
Alex
Anonymous
Выглядит очень доступно
Займёт время, но зато свободный выбор среди серверов. Нет привязки к отдельному веб серверу.
Alex
А что значит привязка к веб серверу?
Alex
Я так понимаю warp это веб сервер?
Anonymous
Ну, например, выбирая yesod, придётся подстраиваться под него по полной.
Anonymous
Кажется, warp - это библ. для web серверов, а напр. Yesod её использует, не?
Alex
Мне очень понравился сервент
Anonymous
А (reverse) прокси сервером можно взять хоть nginx, или что привычнее
Alex
Но я хоть убей не могу понять как его добавить в проект
Alex
dependencies в stack.yaml?
Alexander
vim package.cabal / cabal new-build
Alexander
sorry
Alexander
хм.. а какой наиболее простой примитив для генерации стримов (любых) (CC @xgrommx) коалгебы, куда смотреть?
Anonymous
Прокси сервер будет сам по себе, а своя апп будет общаться с прокси сервером по tcp.
Эти 2 части не будут одним проектом
Зигохистоморфный
Alexander
мне просто нужно сейчас примитивы правильные для STM сделать, чтобы из них кондуиты композить
Alexander
у меня пока есть для STM a / STM (Maybe a), но ведь есть же обобщение
Alex
Большое спасибо всем кто отвечал!
Alexander
серьезно помогло?!
Alex
Да
Alex
Я нашел на гите работающий пакет
Alex
Он пашет
Alex
Мне еще сток понравился
Alex
Надо его тоже чекнуть
Dmitry
А Stack умеет параллельно собирать, как cabal build -j? Что-то такое впечатление, что только одно ядро занято...
Alexander
умеет
Dmitry
А как ему это сказать? Или он по умолчанию параллельный?
Alexander
раньше был по умолчанию, сейчас не уверен
Alexander
скорее всего -j
Alexander
я обычно не парюсь у меня столько оперативки нету чтобы параллельно собирать
Artyom
stack build --jobs=<N> --ghc-options=-j
Artyom
правда, лучше параллельный ghc не включать, а вместо этого выдать ему больше оперативы
Artyom
ну, если только у тебя не 60 гиг оперативы (или проект маленький)
тогда можно и то, и другое
Artyom
(а вообще советую самому побаловаться)
Vasiliy
хм, не понимаю этот пакет https://github.com/mauke/data-default
Vasiliy
это просто класс типов Default и дефолтные значения для некоторых типов (для которых они имеют смысл)
т.е. в этом его назначение, ну да, ок
Aleksei (astynax)
Есть мнение, что злоупотреблять этим пакетом не стоит. Для некоторого типа мужет быть несколько валидных и логичных умолчаний
Aleksei (astynax)
Вот уже для Maybe два варианта возможны: Nothing и Just def
Cheese
есть мнение, что этот класс вреден
Vasiliy
да, вот сразу как увидел возникло смутное противоречие, не зря написал
Vasiliy
т.е. им как бы не зашквар пользоваться в ограниченных случаях? ну вот когда и правда у меня единственное значение по-умолчанию существует для некоторого типа
Kirill
часто приводят мою либу как оправдание :)
Kirill
xlsx, там def используется для получения "пуcтой" части эксель файла
Vasiliy
ага, уже нашел) крутой пакет
Kirill
по сути это DRY, но он тоже не всегда полезный принцип
Kirill
теоретически можно былоб фигачить что-нибудь типа emptyCell, defaulStyle и т.п.
Cheese
Kirill
в данном случае "теоретически" казалось одной конкретной либы :)
кана
Vasiliy
вообще да, согласен, возможно это лучше, чем тащить пакет еще один, особенно если ничего из него не нужно (кроме класса самого)
Aleksei (astynax)
Default в виде класса кажется удобным, т.к. позволяет делать полиморфный контекнер и инстанциировать
instance Default a => Default (Foo a) where
def = ... def
Aleksei (astynax)
Но на деле у полиморфного контейнера просто странно иметь какие-либо умолчания
Aleksei (astynax)
А у мономорфного можно и defaultBlaBla в defaultFoo вызвать
Aleksei (astynax)
Наверное больший смысл могут иметь классы типа class CanBeEmpty a where { empty :: a }. Или что-то ещё более близкое к доменной области, как @kana_sama говорит
Алексей
Зато с Default не надо вспоминать какой именно defaultWhatever надо писать. def и всё
Aleksei (astynax)
Вот это то и плохо. Надо вспоминать! И думать тоже надо
Алексей
Только в половине случаев
Aleksei (astynax)
foo def def 0 Nothing def def - ниочень
Sergey
Алексей
Пять полей, господи... foo def def def def def!
Aleksei (astynax)
foo def def 0 Nothing def def - ниочень
foo defaultLevel simpleLogger defaultPort defaultHost stupidServer simpleStorage - гораздо лучше! :) Ещё лучше в record запихать и сделать defaultConfig