小编tak*_*toa的帖子

一类改变类型的替换

设置

考虑一种在一类函数符号node 和一类变量上参数化的术语var:

data Term node var
  = VarTerm !var
  | FunTerm !node !(Vector (Term node var))
  deriving (Eq, Ord, Show)

instance Functor (Term node) where
  fmap f (VarTerm var)  = VarTerm (f var)
  fmap f (FunTerm n cs) = FunTerm n (Vector.map (fmap f) cs)

instance Monad (Term node) where
  pure = VarTerm
  join (VarTerm term) = term
  join (FunTerm n cs) = FunTerm n (Vector.map join cs)
Run Code Online (Sandbox Code Playgroud)

这是一个有用的类型,因为我们用开放的术语编码,用Term node Var,关闭术语Term node Void …

haskell type-theory programming-languages agda

18
推荐指数
2
解决办法
727
查看次数

纹理球体基元

我正在使用Mathematica 8,我正在努力进行纹理化.尽管多面体对象的纹理已被证明相对简单,但我在尝试纹理球体时遇到了问题.在文档中,纹理显示的球体的唯一方法是使用SphericalPlot3D,恕我直言,这是一个kludgey解决方案,特别是因为我正在尝试在球体上执行操作(例如:翻译).在toto,我的问题是:有没有办法纹理一个球体原语?

wolfram-mathematica

10
推荐指数
2
解决办法
1810
查看次数