Size: a a a

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

2020 March 28

p

parket in PureScript — русскоговорящее сообщество
Наелся. :)
источник

SP

Stanislav Popov in PureScript — русскоговорящее сообщество
источник
2020 March 29

AK

Antony Kapranov in PureScript — русскоговорящее сообщество
Делаю простенькую игрушку на Halogen. В стейте компонента есть {Seed, Game}, и вся логика генерации нового хода выглядит как
onSomeEvent :: Game → State Seed Game
. В экшнах получился следующий код:
handleAction = case _ of
 DoCommand Shoot r ->
   H.modify_ \s ->
       let
           Tuple newGame newSeed =
               runState (onShoot r s.game) s.seed
        in
           s { command = Nothing
             , game = newGame
             , seed = newSeed }

Т.е. на каждое действие игрока, которое влечёт новый ход, я собираю State Seed Game, делаю runState, а потом обновляю стейт компонента. Насколько это фиговый подход? Можно ли это как-то упростить?
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
по мне норм, command это эффект?
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
там в Tuple.Nested есть оператор (/\), им приятнее таплы разбирать
источник

AK

Antony Kapranov in PureScript — русскоговорящее сообщество
Anton Kotenko
по мне норм, command это эффект?
data PlayerCommand
 = Move
 | Shoot
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
а, ок
источник

AK

Antony Kapranov in PureScript — русскоговорящее сообщество
Можно ли как-то скрестить мою State с галогеновской, или это не имеет смысла?
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
вот ты это делаешь :)
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Antony Kapranov
Можно ли как-то скрестить мою State с галогеновской, или это не имеет смысла?
это хз, галогеном не пользовался
источник

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Antony Kapranov
Можно ли как-то скрестить мою State с галогеновской, или это не имеет смысла?
Я бы это сделал. С другой стороны, обычный State проще тестировать.
источник

AK

Antony Kapranov in PureScript — русскоговорящее сообщество
Спасибо, почитаю
источник

ЗП

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

AK

Antony Kapranov in PureScript — русскоговорящее сообщество
Vladimir Klntsky
Я бы это сделал. С другой стороны, обычный State проще тестировать.
Это через mtl как-то делается в purescript?
источник

VK

Vladimir Klntsky in PureScript — русскоговорящее сообщество
Antony Kapranov
Это через mtl как-то делается в purescript?
mtl у нас нет.
источник

ЗП

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

VK

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

AK

Antony Kapranov in PureScript — русскоговорящее сообщество
Новые ходы выглядят как
onSomeEvent :: Game → State Seed Game
, чтобы их запустить, надо сконструировать эту самую State Seed Game, или я неправильно понял вопрос?
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Antony Kapranov
Новые ходы выглядят как
onSomeEvent :: Game → State Seed Game
, чтобы их запустить, надо сконструировать эту самую State Seed Game, или я неправильно понял вопрос?
так это не твой стейт, а библиотечный?
источник