小编use*_*407的帖子

用变态链接值

假设我的定义如下(其中cata的同构关系):

type Algebra f a = f a -> a

newtype Fix f = Fx (f (Fix f)) 

unFix :: Fix f -> f (Fix f)
unFix (Fx x) = x 

cata :: Functor f => (f a -> a) -> Fix f -> a
cata alg = alg . fmap (cata alg) . unFix
Run Code Online (Sandbox Code Playgroud)

我想知道是否有某种方法可以修改的定义,cata以便可以链接诸如a的对象int,以便可以为alg函数中的事物生成唯一的句柄,即“ a0”,“ a1”,“ a2“,...等。

编辑:为了使这一点更加清楚,我希望能够具有一些功能cata',以便当我具有类似于以下定义的内容时

data IntF a 
    = Const Int
    | Add a a

instance …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming recursion-schemes

5
推荐指数
1
解决办法
123
查看次数

yesod - 密码保护登台网站

我正在尝试设置我的yesod网络服务器的暂存实例,我想知道是否有一些简单的方法可以保护整个网站的密码.具体来说,我希望能够提示导航到我的网站的人获取凭据.在进行身份验证后,它应该作为典型的站点.但如果他们无法证明自己,他们应该什么也看不见.

authentication passwords haskell yesod

4
推荐指数
1
解决办法
404
查看次数