generated at
Halogen ComponentのState


複数の値を持つときはPureScriptのRecordを使うのね
1つの値のときも、後で増えることを考えればrecordの方がいいのでは?とも思うが、いったん普通に一つの値にするかmrsekut


State系関数
purs(hs)
modify :: forall s m. MonadState s m => (s -> s) -> m s modify f = state \s -> let s' = f s in Tuple s' s' modify_ :: forall s m. MonadState s m => (s -> s) -> m Unit modify_ f = state \s -> Tuple unit (f s)
modify
modify allows you to update the state, given the previous state, returning the new state
modify_
modify と同じだが、新しい状態を返さない
mofidy を使って返り値を破棄するぐらいならこちらを使ったほうが簡潔
こっちを使うことが多いmrsekut
get
現在の状態を取得
gets
gets allows you to retrieve the current state and also apply a function to it (most commonly, _.fieldName to retrieve a particular field from a record)
Stateモナドと同じノリmrsekut



initialState :: Input -> State
local stateの初期値
ここの説明がわからない #??
多相にするのと Unit にするのって全然意味として違うくない?
引数取らないことを明示するなら後者のほうが正しい気がするが、一般的には前者を使うらしい。なんで?mrsekut