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
Влод
Ну заголовок говорит о другом
Deleted Account
Deleted Account
это косяк
Anonymous
привет всем
Deleted Account
Anonymous
о, ты тоже на хаскеле пишешь?
Нурлан
я думаю тут все пишут на хаскеле
Aleksei (astynax)
наверняка кое-кто просто почитывает :)
Matway
Вот, например.
Matway
Итого: ты отстой
Нурлан
Нурлан
я же не говорил, что все пишут хорошо!!
Aleksei (astynax)
(define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) не?
Aragaer
я мечтаю о том, чтобы что-нибудь написать на хаскелле, но пока что нечего - чот сплошь питон и для интереса одну штуку на лиспе сделал
Denis
кто-то пишет, кто-то упарывается
Нурлан
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
Все созданное человеком является осиляемым. Вопрос в том, сколько времени и усилий это займет у условного индивида :) Мне там тройка котов весьма понравились.
Andrei
Нурлан
Недавно размышлял на тему почему мне нравится больше хаскель нежели питон (это единственные языки которыми владею) и пришел такому выводу, что фишки в хаскеле можно создать\додуматься самому, а в питоне ты можешь пользоваться только тем, что прописали и если ты не знаешь, что у функции есть второй аргумент, можно считать что и никогда не узнаешь не прочтя доки
Нурлан
Нурлан
да ладно, шучу
Нурлан
времени нет =)
Andrey
Рекомендую сначала вышеприведенные факториалы осилить, а потом уже за Перельманов и прочих браться 😊
Нурлан
fact120 = Proxy :: Proxy (Factorial 120)
т.е. это реализаця факториала?
Aleksei (astynax)
Это "вызов". Реализация должна быть в типе Factorial :)
Нурлан
читаю, что за тип такой
Aleksei (astynax)
Нет такого типа. Это был наброс :)
Aleksei (astynax)
Это было замечание о том, что в статейке нет ни одного решения на типах
Andrey
Олегинг и прочий типопрограмминг на хаскеле конечно интересно, но я не осилил. Да и не осилял особо.
Aleksei (astynax)
В статье нет даже варианта с Product и product
Andrey
посмотри в самый конец
Oleg
Andrey
Да, наш Олег - он другой
Alexander
нужен the Oleg