
Alexander
07.08.2017
11:56:42
ну как - на следующем GC
маловероятно, что ты напишешь такой код, что не навыделяет нужное кол-во памяти, пока скажем все сокеты не займешь, максимум коннектов к базе
но формально такая возможность есть
опять же если делаешь runResourceT то можешь не бояться за этло

Google

Alexander
07.08.2017
11:58:08
оно по выходу из ResourceT все сразу освободит

Anatolii
07.08.2017
11:58:11
мне кажется что это преждевременная оптимизация

Den
07.08.2017
11:58:47
ну, runResourceT делается внутри servant-а, на стадии route
может и преждевременная, но мне почему-то кажется, что это вопрос архитектуры:) Сейчас, на начальной стадии, плохо продумаю, потом страдать буду.

Alexander
07.08.2017
11:59:31
там все просто поменять :)

Anatolii
07.08.2017
11:59:39
помйму в серванте можно вынести вот этот runResourceT
чтобы он для всех делался
но мне кажется что прозрачнее будет его делать в каждом роуте

Den
07.08.2017
12:02:19
Если свою монаду вместо Handler-а заводить, да. Но там свои нюансы (например, если это будет ReaderT, то он инициализируется лишь раз, а мне надо менять параметры соединения к БД для отдельных запров - идея в том, чтобы соединяться с БД под ролью, под которой авторизирован "пользователь")

Anatolii
07.08.2017
12:03:05
хитро у тебя все

Den
07.08.2017
12:03:55
нууу, по моему, это совершенно логичное решение :)

Anatolii
07.08.2017
12:04:34
ну тогда делай runResourceT в кадом роуте

Den
07.08.2017
12:07:36
хорошо бы понять только, как. В идеале, мне нужно для каждого запроса, исполняемого в ReaderT, формировать environment внутри router-а, но я пока не понял, можно ли это вообще сделать.

Google

Den
07.08.2017
12:46:16
Что-то тяжко даются мне жонглирования типами/слассами в servant-е. Не могу понять, можно ли вообще через instance HasServer изменить монаду обработчика (через предложенный в servant-е Enter)? В смысде, http://lpaste.net/357487
Это всё к вопросу об создании окружения для запросов "на лету" внутри instance HasServer. Уже третий день с этим бьюсь - понять бы уже, что это просто невозможно, и успокоиться:)

? animufag ?
07.08.2017
15:07:35
Интересная вакансия "C++ или Haskell Senior Developer" — https://hh.ru/vacancy/21437216?from=share_android
Отправлено с помощью мобильного приложения HeadHunter https://hh.ru/mobile?from=share_android
На самом деле не интересная
Просто забавно что кресты заменимы хаскелем

Tema
07.08.2017
15:10:20
там написано что бонусом было бы хорошо знать что такое хаскель
хаскель это как SQL

? animufag ?
07.08.2017
15:11:02
помоему норм
Ну это шеринг на телефоне против моей воли пишет что интересная

Tema
07.08.2017
15:11:09
типа раз в год надо говняжку зедлать будет

? animufag ?
07.08.2017
15:11:22
Ну заголовок говорит о другом

Tema
07.08.2017
15:11:36
это косяк

sojalei
08.08.2017
13:40:16
привет всем

Tema
08.08.2017
13:58:10

sojalei
08.08.2017
13:58:27
о, ты тоже на хаскеле пишешь?

Kit
08.08.2017
13:59:57
я думаю тут все пишут на хаскеле

Aleksey
08.08.2017
14:01:08
наверняка кое-кто просто почитывает :)

Google

Matway
08.08.2017
14:01:21
Вот, например.
Итого: ты отстой

Kit
08.08.2017
14:01:57
я же не говорил, что все пишут хорошо!!

Aleksey
08.08.2017
14:03:21
(define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) не?

Aragaer
08.08.2017
14:03:24
я мечтаю о том, чтобы что-нибудь написать на хаскелле, но пока что нечего - чот сплошь питон и для интереса одну штуку на лиспе сделал

Den
08.08.2017
14:03:40
кто-то пишет, кто-то упарывается

Kit
08.08.2017
14:04:04

Андрей
08.08.2017
14:04:33
СИКП не читал ?

Aleksey
08.08.2017
14:04:35
сферическая Схема
$ racket
Welcome to Racket v6.9.
> (define (fact n) (if (= n 0) 1 (* n (fact (- n 1)))))
> (fact 5)
120

sojalei
08.08.2017
14:04:39
на лурке по факториалу было

Tema
08.08.2017
14:04:52

Aragaer
08.08.2017
14:05:07
defun надо, тогда лисп

sojalei
08.08.2017
14:05:11

Aragaer
08.08.2017
14:05:22
а, не, надо еще (defun fact (n)

Андрей
08.08.2017
14:05:29
Кстати, есть одна волшебная страничка про факториалы на Хаскеле - я вот сильно сомневаюсь, что здесь поймут все представленные там варианты кода больше нескольких человек.

Den
08.08.2017
14:06:30
у меня где-то распечатка лежит - там несколько десятков разных вариантов

Aleksey
08.08.2017
14:07:42
Там куча вариантов просто ради фана сделаны. Вот если сделать
fact120 = Proxy :: Proxy (Factorial 120)
то будет и "практично" и достатоно непонятно для новичка :)

Den
08.08.2017
14:07:57
http://willamette.edu/~fruehr/haskell/evolution.html это же?

Google

Андрей
08.08.2017
14:08:13
Вначале тривиальщина, интересные варианты ближе к концу - можете проверить себя ? https://www.cs.utexas.edu/~cannata/cs345/Class%20Notes/10%20Haskell%20Programmer%20Evolution.html

Aleksey
08.08.2017
14:08:59
Там ни одно варианта на type level, так несчитово

Kit
08.08.2017
14:09:10

Андрей
08.08.2017
14:09:52
Я думаю ты можешь добавить свой на тайплевеле :) А я несколько своих на интерпретаторах ДСЛ-ей разных - но это несложно

Aleksey
08.08.2017
14:10:22
Ну я тоже несеньор, но ничего неосияемого не видел даже в состоянии "вчера дочитал Липовача"
Даже варианта "свой язык на Free-монадке, и факториал на нём" нет :)
Слишком старый документик

Андрей
08.08.2017
14:12:05
Все созданное человеком является осиляемым. Вопрос в том, сколько времени и усилий это займет у условного индивида :) Мне там тройка котов весьма понравились.

Andrei
08.08.2017
14:12:59

Kit
08.08.2017
14:13:19
Недавно размышлял на тему почему мне нравится больше хаскель нежели питон (это единственные языки которыми владею) и пришел такому выводу, что фишки в хаскеле можно создать\додуматься самому, а в питоне ты можешь пользоваться только тем, что прописали и если ты не знаешь, что у функции есть второй аргумент, можно считать что и никогда не узнаешь не прочтя доки

Андрей
08.08.2017
14:14:00

Kit
08.08.2017
14:14:27
да ладно, шучу
времени нет =)

Matway
08.08.2017
14:15:07

Андрей
08.08.2017
14:15:25
Рекомендую сначала вышеприведенные факториалы осилить, а потом уже за Перельманов и прочих браться ?

Andrei
08.08.2017
14:16:08

Kit
08.08.2017
14:16:18
fact120 = Proxy :: Proxy (Factorial 120)
т.е. это реализаця факториала?

Aleksey
08.08.2017
14:16:46
Это "вызов". Реализация должна быть в типе Factorial :)

Kit
08.08.2017
14:16:50
читаю, что за тип такой

Google

Aleksey
08.08.2017
14:17:09
Нет такого типа. Это был наброс :)

Kit
08.08.2017
14:17:24

Andrei
08.08.2017
14:17:49

Aleksey
08.08.2017
14:17:51
Это было замечание о том, что в статейке нет ни одного решения на типах

Андрей
08.08.2017
14:18:06
Олегинг и прочий типопрограмминг на хаскеле конечно интересно, но я не осилил. Да и не осилял особо.

Aleksey
08.08.2017
14:19:21
В статье нет даже варианта с Product и product

Андрей
08.08.2017
14:20:07
посмотри в самый конец

Олег
08.08.2017
14:20:29

Aleksey
08.08.2017
14:20:56

Андрей
08.08.2017
14:21:11
Да, наш Олег - он другой

Alexander
08.08.2017
15:19:41
нужен the Oleg

Alex
08.08.2017
15:33:15
the (ST m () [lbl ::: State Innocent :-> State Toxic]) Oleg

Alexander
08.08.2017
15:37:51
Toxic ? а это причем?

Alex
08.08.2017
15:38:39
Итого: ты отстой

Alexander
08.08.2017
15:39:41
the Oleg это другой

Alex
08.08.2017
15:39:58
так я ж написал в типе какой :)

Alexander
08.08.2017
15:40:03
а

Alex
08.08.2017
15:40:13
идрисошутка