Monadic space 库?包裹在未指定类型的 monad 中的坐标向量?

Monadic space library? A vector of coordinates wrapped in a monad of unspecified type?

这一定存在吧?在我看来,数学 space 中的点通常是为了承载额外的包袱。就我而言,我想用名称和特定于域的类型来标记 n 维 space 中的每个点。 monad 是代表这种额外行李的正确方式,还是参数化记录是最好的方式?哪些库提供这种开箱即用的功能?

不确定这是否是您的意思,但可能是这个 what I've defined in the manifolds library(目前它更多的是实验性实现细节,而不是稳定的导出类型):

data WithAny x y = WithAny y !x

WithAny x y 的行为与 vector space (more generally, as a manifold) 的行为方式与 x 相同,但每个值还有一个额外的 y 与其相关联,这被认为很简单作为“标签”,不会通过连续 space 操作而改变。例如

  WithAny y x ^+^ WithAny _ ξ = WithAny y $ x ^+^ ξ

与这些实例“正交”,类型是第二个参数中的 monad,

  fmap f (WithAny y x) = WithAny (f y) x

(正如 danidiaz 所说,它特别也是一个 comonad,我只是还没有添加那个实例。)

实际上我自己有点怀疑这种类型的语义是否真的合理。毕竟,用不同离散标签注释的点基本上存在于完全不相交的 space(-sector)s 中,但它们可以通过 vectorspace 视图任意靠近,实际上你有 distance (Withany t x) (WithAny q x) ≡ 0 甚至如果这些点明显不一样。