3

私はタイプを持っています

type T s r a = StateT [s] (ListT (Reader r)) a

現在の各状態を生成するモナディック値を作成したい

states :: T a r a

しかし、今日は愚かで、の値をに変換する方法がわかりませT a r [a]T a r a

states = do
  as <- get
  -- insert magic
  return a
4

1 に答える 1

5

抜け道を考え出した

states = do
  as <- get
  a <- lift . ListT $ return as
  return a

に圧縮することができます

states = get >>= lift . ListT . return

わかりました、今より賢く感じます

于 2011-08-20T14:29:00.930 に答える