Haskell 根据数字用户输入构建反射dom小部件/事件的动态列表
我试图创建一个动态的小部件列表,其中小部件的数量由用户输入的数值决定。此外,每个小部件返回一个单击事件。下面是我用来获取用户输入的内容:Haskell 根据数字用户输入构建反射dom小部件/事件的动态列表,haskell,monads,reflex,Haskell,Monads,Reflex,我试图创建一个动态的小部件列表,其中小部件的数量由用户输入的数值决定。此外,每个小部件返回一个单击事件。下面是我用来获取用户输入的内容: settings::MonadWidget t m=>m(动态t(可能是Int)) 然后我用它生成一个随机数生成器列表(这些是RandomGen的值这一事实并不重要。它们只用于每个元素的内容,不是元素的数量) split':RandomGen=>Int->g->[g] -- ... gs您的问题是simpleList采用dynamict[g]和(dynami
settings::MonadWidget t m=>m(动态t(可能是Int))
然后我用它生成一个随机数生成器列表(这些是RandomGen
的值这一事实并不重要。它们只用于每个元素的内容,不是元素的数量)
split':RandomGen=>Int->g->[g]
-- ...
gs您的问题是simpleList采用dynamict[g]
和(dynamictg->ma)
。但是,您的go是g->m(Event t MyType)。因此,您需要创建一个更好的围棋:
go2 :: (MonadWidget t m, RandomGen g) => Dynamic t g -> m (Event t MyType)
go2 gDyn = do
mapped <- mapDyn go gDyn
dyned <- dyn mapped
held <- hold never dyned
return (switch held)
go2::(MonadWidget t m,RandomGen g)=>Dynamic t g->m(Event t MyType)
go2-gDyn=do
映射很好,所以你的头是一个人工编译器,因为它工作得非常好。谢谢!马丁,你能解释一下dyn是从哪里来的吗?我在Haddock中找不到类似的东西在反射dom中找到它