相关疑难解决方法(0)

Hask本地小吗?

haskell对象的Hask类是一个本地小类的例子吗?

http://ncatlab.org/nlab/show/locally+small+category

也许不是.. hask as cpo http://www.cs.gunma-u.ac.jp/~hamana/Papers/cpo.pdf

haskellwiki,http://www.haskell.org/haskellwiki/Hask有非常好的信息,表明Hask不是Cartesian Closed.

haskell

9
推荐指数
1
解决办法
448
查看次数

像Control.Category一样推广(.)的推广($)

我有一种想法可以($)像通用一样Control.Category概括(.),我已经用这篇文章末尾的代码(也是ideone)完成了.

在这段代码中,我创建了一个名为的类FunctionObject.该类具有($)以下签名的函数:

($) :: f a b -> a -> b
Run Code Online (Sandbox Code Playgroud)

当然,我创建(->)了这个类的实例,因此$继续使用普通函数.

但是这允许你创建特殊的函数,例如,知道它们自己的逆,如下面的例子所示.

我总结说有三种可能性之一:

  1. 我是第一个想到它的人.
  2. 其他人已经做到了,我正在重新发明轮子.
  3. 这是个坏主意.

选项1似乎不太可能,我对hayoo的搜索没有显示选项2,所以我怀疑选项3是最有可能的,但如果有人可以解释为什么那就是好的.

import Prelude hiding ((.), ($))
import Control.Category ((.), Category)

class FunctionObject f where
  ($) :: f a b -> a -> b

infixr 0 $

instance FunctionObject (->) where
  f $ x = f x

data InvertibleFunction a b = 
   InvertibleFunction (a -> b) …
Run Code Online (Sandbox Code Playgroud)

haskell category-abstractions

6
推荐指数
2
解决办法
173
查看次数

标签 统计

haskell ×2

category-abstractions ×1