Anatolii
помйму в серванте можно вынести вот этот runResourceT
Anatolii
чтобы он для всех делался
Anatolii
но мне кажется что прозрачнее будет его делать в каждом роуте
Denis
Если свою монаду вместо Handler-а заводить, да. Но там свои нюансы (например, если это будет ReaderT, то он инициализируется лишь раз, а мне надо менять параметры соединения к БД для отдельных запров - идея в том, чтобы соединяться с БД под ролью, под которой авторизирован "пользователь")
Anatolii
хитро у тебя все
Denis
нууу, по моему, это совершенно логичное решение :)
Anatolii
ну тогда делай runResourceT в кадом роуте
Denis
хорошо бы понять только, как. В идеале, мне нужно для каждого запроса, исполняемого в ReaderT, формировать environment внутри router-а, но я пока не понял, можно ли это вообще сделать.
Denis
Что-то тяжко даются мне жонглирования типами/слассами в servant-е. Не могу понять, можно ли вообще через instance HasServer изменить монаду обработчика (через предложенный в servant-е Enter)? В смысде, http://lpaste.net/357487
Denis
Это всё к вопросу об создании окружения для запросов "на лету" внутри instance HasServer. Уже третий день с этим бьюсь - понять бы уже, что это просто невозможно, и успокоиться:)
Влод
Интересная вакансия "C++ или Haskell Senior Developer" — https://hh.ru/vacancy/21437216?from=share_android Отправлено с помощью мобильного приложения HeadHunter https://hh.ru/mobile?from=share_android
Влод
На самом деле не интересная
Влод
Просто забавно что кресты заменимы хаскелем
Deleted Account
Deleted Account
Просто забавно что кресты заменимы хаскелем
ну там не написано что заменимы
Deleted Account
там написано что бонусом было бы хорошо знать что такое хаскель
Deleted Account
хаскель это как SQL
Влод
помоему норм
Ну это шеринг на телефоне против моей воли пишет что интересная
Deleted Account
типа раз в год надо говняжку зедлать будет
Влод
Ну заголовок говорит о другом
Deleted Account
это косяк
Anonymous
привет всем
Deleted Account
Anonymous
о, ты тоже на хаскеле пишешь?
Нурлан
я думаю тут все пишут на хаскеле
Aleksei (astynax)
наверняка кое-кто просто почитывает :)
Matway
я думаю тут все пишут на хаскеле
Это неправда. Некоторые здесь исключительно для того, чтобы вдохновляться ораторским мастерством здешних обитателей.
Matway
Вот, например.
Matway
Итого: ты отстой
Нурлан
я же не говорил, что все пишут хорошо!!
Aleksei (astynax)
(define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) не?
Aragaer
я мечтаю о том, чтобы что-нибудь написать на хаскелле, но пока что нечего - чот сплошь питон и для интереса одну штуку на лиспе сделал
Denis
кто-то пишет, кто-то упарывается
Нурлан
(define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) не?
я не знаю такого языка =(
Andrey
СИКП не читал 😊
Aleksei (astynax)
сферическая Схема $ racket Welcome to Racket v6.9. > (define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) > (fact 5) 120
Anonymous
на лурке по факториалу было
Deleted Account
Aragaer
defun надо, тогда лисп
Anonymous
Aragaer
а, не, надо еще (defun fact (n)
Andrey
Кстати, есть одна волшебная страничка про факториалы на Хаскеле - я вот сильно сомневаюсь, что здесь поймут все представленные там варианты кода больше нескольких человек.
Denis
у меня где-то распечатка лежит - там несколько десятков разных вариантов
Aleksei (astynax)
Там куча вариантов просто ради фана сделаны. Вот если сделать fact120 = Proxy :: Proxy (Factorial 120) то будет и "практично" и достатоно непонятно для новичка :)
Denis
http://willamette.edu/~fruehr/haskell/evolution.html это же?
Andrey
Вначале тривиальщина, интересные варианты ближе к концу - можете проверить себя 😊 https://www.cs.utexas.edu/~cannata/cs345/Class%20Notes/10%20Haskell%20Programmer%20Evolution.html
Aleksei (astynax)
Там ни одно варианта на type level, так несчитово
Andrey
Я думаю ты можешь добавить свой на тайплевеле :) А я несколько своих на интерпретаторах ДСЛ-ей разных - но это несложно
Aleksei (astynax)
Ну я тоже несеньор, но ничего неосияемого не видел даже в состоянии "вчера дочитал Липовача"
Aleksei (astynax)
Даже варианта "свой язык на Free-монадке, и факториал на нём" нет :)
Aleksei (astynax)
Слишком старый документик
Andrey
Все созданное человеком является осиляемым. Вопрос в том, сколько времени и усилий это займет у условного индивида :) Мне там тройка котов весьма понравились.
Нурлан
Недавно размышлял на тему почему мне нравится больше хаскель нежели питон (это единственные языки которыми владею) и пришел такому выводу, что фишки в хаскеле можно создать\додуматься самому, а в питоне ты можешь пользоваться только тем, что прописали и если ты не знаешь, что у функции есть второй аргумент, можно считать что и никогда не узнаешь не прочтя доки
Andrey
Осиль доказательство Мочидзуки abc-гипотезы.
Я давно уже не ведусь, когда меня пытаются развести на слабо 😊
Нурлан
да ладно, шучу
Нурлан
времени нет =)
Matway
Осиль доказательство Мочидзуки abc-гипотезы.
А если некто осилит, он сможет тебе доказать, что он осилил?
Andrey
Рекомендую сначала вышеприведенные факториалы осилить, а потом уже за Перельманов и прочих браться 😊
Andrei
Я давно уже не ведусь, когда меня пытаются развести на слабо 😊
Дело не в слабо, а в том, что утверждение про осиляемость, мягко говоря ничем не подкреплено.
Нурлан
fact120 = Proxy :: Proxy (Factorial 120) т.е. это реализаця факториала?
Aleksei (astynax)
Это "вызов". Реализация должна быть в типе Factorial :)
Нурлан
читаю, что за тип такой
Aleksei (astynax)
Нет такого типа. Это был наброс :)
Нурлан
Это "вызов". Реализация должна быть в типе Factorial :)
Не, ну тогда это читество какое-то опеределить функцию не дав ее определение
Andrei
А если некто осилит, он сможет тебе доказать, что он осилил?
Если совсем теоретически строго, то да. В практическом смысле же, это может значить, что мне надо самому будет разобраться.
Aleksei (astynax)
Это было замечание о том, что в статейке нет ни одного решения на типах
Andrey
Дело не в слабо, а в том, что утверждение про осиляемость, мягко говоря ничем не подкреплено.
Хорошо, могу я позволить себе не подкрепленные утверждения в этом чатике? 😊 Или тогда сразу я отстой? (С)
Andrey
Олегинг и прочий типопрограмминг на хаскеле конечно интересно, но я не осилил. Да и не осилял особо.
Aleksei (astynax)
В статье нет даже варианта с Product и product
Andrey
посмотри в самый конец
Aleksei (astynax)
посмотри в самый конец
ха, product есть таки, спасибо :)
Andrey
Да, наш Олег - он другой
Alexander
нужен the Oleg