- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 Haskell 与 Monoid
Monoid(幺半群)是一个带有满足结合律的二元运算和单位元的集合。class Monoid m where mempty :: m mappend :: m -> m -> m mconcat :: [m] -> m mconcat = foldr mappend memptymempty 为单位元,故有: mempty `mappend` x = x x `
2014-12-11 14:16:57
643
原创 Haskell 与 Applicative Functor
Aplicative 函子(Control.Applicative)应用型函子地定义了一组函子上的操作,对函子 F: A -> B: 应用型函子能将A范畴上的态射 f 映射到范畴 B 上,即 f -> F(f)由此我们可以像操作普通态射 f 一样操作映射后的态射 F(f)class Functor f => Applicative f where -- 将 a 映
2014-12-06 21:55:14
550
原创 Haskell 与 Functor
函子(functor)即为范畴间的转换对于范畴 C、D,函子 F : C -> D 能够:1. 对象转换:将 C 中任意对象 objA 转换为 D 中对象 F(objA)2. 态射转换:将 C 中任意态射 f :: a -> b 转换为 D 中态射 F(f) :: F(a) -> F(b)且满足:1. F(id_a) = id_F(a)2. F(f . g) = F(f
2014-12-05 20:45:46
734
原创 Haskell 的范畴
范畴(category)由两部分组成:1. 一组对象(object)2. 一组态射(morphism)且满足三个公理:1. 复合运算律(composition law): 若有态射 f :: b -> c, g :: a -> b, 则存在唯一的态射 h = f . g :: a -> c2. 结合律(associativity): 对态射 f, g, h,
2014-12-05 20:01:29
533
原创 PHP 文档学习 - 2 - 运算符
1. 优先级结合性运算符备注无clone new不能用在基本类型上左[array()右++ -- ~ @ 强制转换无instanceof类型右!逻辑运算符左* / %算数运算符对 % : 余数符号与被除数相同, 运算时两操作数的小数
2014-05-28 13:02:07
336
原创 简单工厂( Simple Factory )模式
简单工厂模式通过一个额外的类管理有共同接口的一系列类的创建。通过这个方法我们可以分离类的实际使用与创建时的数据依赖。简单工厂模式的角色有:工厂类、产品接口、具体产品举个例子说我们要创建家水果店。其中工厂类 FruitShop,产品接口 Fruit、具体产品 Apple、Stawberry、Watermelon// fruit.csnamespace SimpleF
2013-08-13 23:01:20
515
原创 关于 HTML 的 DOCTYPE元素
这几天在看 html,对 DOCTTYPE 有些困惑XHTML 1.0 下有三种声明: 基于 XHTML Strict DTD : 基于 XHTML Transitional DTD: 基于 XHTML Frameset DTD:XHTML 1.1 下只有一种:在网上查了下,常用格式大概是:( 不可靠,权供参考 ),其中
2013-07-15 00:19:14
530
原创 迭代器与 traits 编程
最近在看侯捷的《STL 源码剖析》,对 traits 编程技巧有些个人看法。 traits 技巧是为了弥补 C++ 的语言缺陷的。假如我们自定义了一个迭代器:// T 表示迭代器指向元素的类型template class MyIterator { //....}; 接下来我们写了一个函数用于获得迭代器指向元素的值,我们可以这么写:template
2013-05-09 12:28:01
418
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人