Size: a a a

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

2020 September 11

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Поля там где начинаюится интегралы😂
источник

ЗП

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

ЗП

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

ЗП

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

GP

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

GP

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

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Вместо той на которую главная ведет
источник

ЗП

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

ЗП

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

ЗП

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

ЗП

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

zipEvent :: forall a b. E.Event a -> E.Event b -> E.Event (Tuple a b)
zipEvent e1 e2 = E.makeEvent \o -> do
 latestA <- ST.liftST $ STArray.empty
 latestB <- ST.liftST $ STArray.empty
 emittedA <- Ref.new false
 emittedB <- Ref.new false
 c1 <- E.subscribe e1 \v1 -> do
   _ <- ST.liftST $ STArray.push v1 latestA
   Ref.write true emittedA
   tryEmit o emittedA emittedB latestA latestB
 c2 <- E.subscribe e2 \v2 -> do
   _ <- ST.liftST $ STArray.push v2 latestB
   Ref.write true emittedB
   tryEmit o emittedA emittedB latestA latestB
 pure (c1 *> c2)
   where
     tryEmit o emittedA emittedB latestA latestB = do
       ev1 <- Ref.read emittedA
       ev2 <- Ref.read emittedB
       if ev1 && ev2
         then do
           mv1 <- ST.liftST $ STArray.shift latestA
           mv2 <- ST.liftST $ STArray.shift latestB
           case mv1, mv2 of
             Just v1, Just v2 -> do
               o (Tuple v1 v2)
               Ref.write false emittedA
               Ref.write false emittedB
             _, _ -> pure unit
         else
           pure unit
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Я еще не начал читать код но что то в типе не вижу чтобы список из евентов принимался
источник

GP

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

GP

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

ЗП

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

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
но вообще 2 ивента зипуется же)
источник
2020 September 13

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Подскажите плиз)
eachFrame :: C.Context2D -> C.CanvasImageSource -> Effect Unit
eachFrame ctx img = E.subscribe event draw *> pure unit
 where
 event = EA.animationFrame *> updateScene
 draw d = drawCharacter ctx img d

withImage :: String -> (C.CanvasImageSource -> Effect Unit) -> Effect Unit
withImage path f = C.tryLoadImage path $ \mimg -> case mimg of
 Just img -> f img
 Nothing  -> throwException $ error ("Could not load image from path: " <> path)

initWithCanvas :: C.CanvasElement -> Effect Unit
initWithCanvas c = do
 ctx <- C.getContext2D c
 withImage character (eachFrame ctx)
 pure unit

Почему E.subscribe event draw *> pure unit вот так я попадаю в draw
а join $ E.subscribe event draw вот так не попадаю
источник

GP

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

GP

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

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
Gleb Patsiia
аа я думал ты админ
таки да)
источник