
andretshurotshka?❄️кде
09.12.2017
17:17:02
?

Дмитрий
09.12.2017
17:20:32
От маскировки под серверный ресурс больше вреда чем пользы.
У них даже роутер из принципа — hash
Типа вертели мы ваш history, мы на бэкенде самые умные

Google

andretshurotshka?❄️кде
09.12.2017
17:22:32
ой вей

illiatshurotshka❄️
09.12.2017
17:23:04
а какой вред?

?
09.12.2017
17:28:42
Спасибо подписался

andretshurotshka?❄️кде
09.12.2017
17:29:12

illiatshurotshka❄️
09.12.2017
17:29:29
бекендеру проще только же

? animufag ?
09.12.2017
17:29:36

?
09.12.2017
17:29:43

Kelin
09.12.2017
17:51:13

Дмитрий
09.12.2017
18:11:53
A couple notes upfront:
This library facilitates hash-based routing. If you're looking to do pushstate routing with the history object, then you are in the wrong place
nuff said
https://github.com/slamdata/purescript-routing/blob/master/GUIDE.md
Там в первом issue подробнее

Дмитрий
09.12.2017
18:15:45

Google

Дмитрий
09.12.2017
18:16:24
> Synchronization of server-side and client-side routing required

Дмитрий
09.12.2017
18:17:52
Впрочем, его в обоих случаях нужно реализовывать тогда, так что этот пункт можно удалить.

Kelin
09.12.2017
18:24:00

Дмитрий
09.12.2017
18:26:44

illiatshurotshka❄️
09.12.2017
18:27:44
о них и речь?

Дмитрий
09.12.2017
18:29:11
Банальный пример - публикация на github.io.

kana
09.12.2017
21:06:15
мне в принципе понравился халоген, хоть он не такой простой, как реакт, в него ввели еще несколько сущностей типа инпута (не пропсы), аутпута, еще всякой хрени

? animufag ?
09.12.2017
22:51:05
блин, а ведь то что в эффектах все функции представлены конструкторами для конкретного эффекта наверное ещё какие-то профиты может давать

kana
09.12.2017
23:51:59
ну это тупо представление эффектфул-кода в виде данных
представляем
a <- getA
if a < 0
then doB a
else doC
pure ()
в виде
GetA (\a -> (if a < 0 then DoB a else DoC) (Pure ())))
а потом пишем кучу таких дслек и выносим общий код и связывание команд
Free (GetA (\a -> Free ((if a < 0 then DoB a else DoC) (Pure ())))))
и это то же самое, как по сути дсл-ки через генераторы (саги например):
{ cmd: getA, args: [], next: a =>
a < 0
? { cmd: doB, args: [a] }
: { cmd: doC, args: [] }
}
потом еще мы можем этот код оптимизировать в рантайме, это же данные, видел посты про оптимизацию кода на фримонадах, где мы скажем setX 1 >> setX 2 в setX 2 сворачиваем

? animufag ?
10.12.2017
00:06:36
ну збс такое на ровном дыхании выдать
ну то есть я не могу нормально (с юзкейзами) зачастую писать о том с чем знаком
правда не понимаю прикола удалять свои сообщения

kana
10.12.2017
00:08:13
я удалил свое потому что там не очень удобная структура получилась)

? animufag ?
10.12.2017
00:08:25
уже у трёх человек в этом чате видел такую фишку. и даже не переформулируют сообщения. просто напрочь удаляют
ну я тоже сегодня удалил сообщение
хотел вписаться в тусу

Google

? animufag ?
10.12.2017
00:10:30
а, первый пример кода выше будет иметь такой тип
data Something a
= GetA (Int -> Something a)
| DoB Int (Something a)
| DoC (Something a)
| Pure a
во втором мы Pure выносим во Free (или Eff в freer)
научился контрить

kana
10.12.2017
00:10:53
лол как

? animufag ?
10.12.2017
00:11:00
форвард к себе

kana
10.12.2017
00:11:24
то есть ты заранее сфорвардил?

? animufag ?
10.12.2017
00:11:28
да

kana
10.12.2017
00:11:37
ты все сообщения форвардишь?)

? animufag ?
10.12.2017
00:12:02
не) но это было бы люто. ещё бота написать на tg-cli

Yung
10.12.2017
00:12:11
ковбой

kana
10.12.2017
00:13:12
я как-то так привык к реализации на фрях, что попробовал без фри и не получается написать бинд

? animufag ?
10.12.2017
00:15:59
бинд = реализацию бинда? но где .... хз наверное надо привыкнуть к фри

kana
10.12.2017
00:16:57

? animufag ?
10.12.2017
00:17:24
а

kana
10.12.2017
00:24:47

Дмитрий
10.12.2017
00:31:38

kana
10.12.2017
00:32:00
эффектов или фрей? Я там чисто про фри-монады

Дмитрий
10.12.2017
00:32:06
Я тоже

kana
10.12.2017
00:32:20
я дзен эффектов пока не познал

Дмитрий
10.12.2017
00:32:27
Сейм щит
По сути Free — это возможность использовать в монадическом констексте структуры произвольной кривости

Google

kana
10.12.2017
00:32:36
вижу как просто решение ада трансформеров

Дмитрий
10.12.2017
00:32:52
Что даёт некислый набор бонусов при любых начальных условиях

kana
10.12.2017
00:47:56
но сам Free есть в либе и он позволяет генерировать через TH весь бойлерплейт на 41-48

Admin
ERROR: S client not available

kana
10.12.2017
00:49:25
для freer я такого не нашел (но там и устроено все немного иначе)
мне уже второй день не понятно, почему во freer asks ридера имеет другой тип эффекта, нежели ask
то есть типа мы можем вызывать asks только если у нас ровно один эффект - Reader

Дмитрий
10.12.2017
01:08:00
Ровно секунду назад закрыл проект с ридером, чёт местами невыносимо прям

kana
10.12.2017
01:14:26
у нас был новый проект, там новый код выглядел как-то так
main = runSlack $ router a b
router a b = f $ \case
A -> handle1 a b
B -> handle2 a b
handle1 a b = f a b <<++>> g a b — (случайный оператор)
handle2 a b = h a b
и короче этот a b передавался из функции в функцию

Дмитрий
10.12.2017
01:16:45
А, я кажется просто забыл поспать

kana
10.12.2017
01:18:48
я сделал чет вроде
data Env = { _envA, _envB }
type Bot = ReaderT Env (SlackT … IO)
runBot :: A -> B -> Bot a -> IO a
runBot a b = runSlack . runReaderT (Env a b)
main = runBot a b
router :: Bot ()
handle1 :: Bot ()
handle1 = do
name <- view $ a.config.someName
sendMessage name
и жизнь стала проще
а потом просто этот Bot стал содержать 5 трансформеров
и их еще добавится
и я стал думать о расширяемых эффектах
или просто о фримонадах, это позволит упросить бизнес-логику, но интерпретатор будет такой же сложный и не тестируемый, то есть мало что поменяется кроме простоты логики

Google

? animufag ?
10.12.2017
01:23:29

kana
10.12.2017
01:23:46
уже две, мы код пишем быстро)
да на самом деле только один Persistent (орма) - это +3 трансформера
а потом короче у них какие-то проблемы с сайтом, я в прошлом был фронтом, и короче я теперь снова с html вожусь, больше некому

? animufag ?
10.12.2017
01:25:04
форкнусь в haskell learn пожалуй (мб давно пора)

Yung
10.12.2017
01:59:46
а не могут хтмл осилить
типичные хачкеллисты

Kelin
10.12.2017
02:50:29

kana
10.12.2017
02:56:28
мб тут мем не поймут, поэтому я его в фв кинул

Kelin
10.12.2017
02:59:55

kana
10.12.2017
03:59:35
рекурсивные схемы выглядят для меня так бесполезно, но с ними так прикольно играться (даже с базовыми типа списки какие и операции над ними). Решение выглядит тупо красиво

Kelin
10.12.2017
04:08:59

kana
10.12.2017
05:52:16
начал пилить свои расширяемые эффекты, самое начало - имплементация монадических корутин