Size: a a a

PureScript — русскоговорящее сообщество

2019 September 25

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
для этого опять же ничего не надо менять
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
depths :: forall f a. Functor f => Foldable f => Cofree f a -> Cofree (EnvT a f) Int
depths = synthCata depthAlg
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
у нас есть такое вот дерево

cotree :: Cofree Array Int
cotree =
 1 :<
   [ 2 :<
       [ 4 :<
           [ 5 :<
               [ 6 :< [ 7 :< [] ] ]
           ]
       ]
   , 3 :<
       [ 40 :< []
       , 50 :< []
       ]
   ]
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
для него глубина будет
> depth cotree 
6
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
аннотированное дерево будет
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
> log $ unlines $ draw $ depths cotree 
6
|
+- 5
|  |
|  `- 4
|     |
|     `- 3
|        |
|        `- 2
|           |
|           `- 1
|
`- 2
  |
  +- 1
  |
  `- 1
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
ну и наконец аннотированное дерево с данными

> log $ unlines $ draw $ depthsWithData cotree 
(Tuple 1 6)
|
+- (Tuple 2 5)
|  |
|  `- (Tuple 4 4)
|     |
|     `- (Tuple 5 3)
|        |
|        `- (Tuple 6 2)
|           |
|           `- (Tuple 7 1)
|
`- (Tuple 3 2)
  |
  +- (Tuple 40 1)
  |
  `- (Tuple 50 1)
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
как можно заметить все достаточно легко собирается из кусочков
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
аннотированное дерево очень полезно, когда вы делаете тайпчекер и хотите указать в каком куске был мисматч типов
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
аннотированное дерево это из части аттрибутивной грамматики
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
если кому интересно про это в рекурсивных схемах, можно детальней рассмотреть
источник
2019 September 28

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Привет
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Ребят не нашел replicateM
gen n m= traverse (\_ -> randomInt 1 m) [1 .. n]

Пришлось вот так сделать
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Подскажите есть вообще replicateM?
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
есть подходящее что-то в -unfoldable и в -lists
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
мм ща поищу спасибо!
источник

KV

Kirill Valyavin in PureScript — русскоговорящее сообщество
Там, конечно, нужны ленивые списки, поэтому в -lists
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Я вот пока только въезжаю в purescript, по дефолту все стрикт в отличие от хаскеля,
import Data.List.Lazy(replicateM, List)
заипортил лист лейзи, правильно понимаю что на выходе будет структура аля генераторы в js?
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
ну да, можно провести аналогию с генераторами
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
👍👍 Спасибо!
источник