小编Seb*_*ien的帖子

catamorphisms的构成何时是一个变形?

来自http://research.microsoft.com/en-us/um/people/emeijer/Papers/meijer94more.pdf的第3页:

一般情况下,catamorphisms在组成下是封闭的

在什么条件下,catamorphisms构成了一个catamorphism?更具体地说(假设我正确地理解了陈述):

假设我有两个基础仿函数FG每个折叠:foldF :: (F a -> a) -> (?F -> a)foldG :: (G a -> a) -> (?G -> a).

现在假设我有两个代数a :: F ?G -> ?Gb :: G X -> X.

该构图何时成为(foldG b) . (foldF a) :: ?F -> X一个变形?


编辑:我有一个猜测,基于dblhelix的扩展答案:这outG . a :: F ?G -> G ?G必须是?G一些自然转换的组成部分? :: F a -> G a.我不知道这是否正确.( …

haskell functional-programming composition fold catamorphism

17
推荐指数
2
解决办法
1219
查看次数

是否可以为涉及类型族的此数据类型编写fmap?

鉴于以下类型族(应该反映同构A×1≅A)

type family P (x :: *) (a :: *) :: * where
  P x () = x
  P x a  = (x, a)
Run Code Online (Sandbox Code Playgroud)

和以其方式定义的数据类型

data T a = T Integer (P (T a) a)
Run Code Online (Sandbox Code Playgroud)

是否有可能通过某种类型的hackery Functor为后者编写实例?

instance Functor T where
  fmap f = undefined  -- ??
Run Code Online (Sandbox Code Playgroud)

直觉上,根据类型显而易见,该怎么做f,但我不知道如何在Haskell中表达它.

haskell ghc type-families

12
推荐指数
1
解决办法
198
查看次数

不同的HTML元素如何等效?

一些HTML元素(<div>,<span>,<p>,<h1>,<h2>,..., ,<h6> <b>,<i>等)似乎行为相同的方式,除了默认样式.例如,<span style="font-weight: bold;"> x </span>似乎相当于<b> x </b>.某些元素如<a>具有特殊属性但行为大致相同.

有人可以做到这一点吗?

特别是,是否存在"覆盖"所有HTML的元素子集?


编辑:我理解元素是为了携带语义.但是假设我不关心语义,我只想处理HTML的最小子集,这将使我能够访问某些给定的浏览器行为.我想知道如何找到该子集.

html

3
推荐指数
1
解决办法
139
查看次数