函数式访问器在haskell里被叫做Lens。在面向对象语言里这个没有什么必要,不过作为练习,我们看如何在scala表示van Laarhoven lens.先给出haskell里的lens类型:type Lens s a = forall f. Functor f => (a -> f a) ->...
分类:
其他好文 时间:
2015-03-16 14:19:57
阅读次数:
146
在haskell中,我们有语法糖‘do’帮助表达monad运算。scala中我们也有相应语法糖‘for’。 for表达式会被scala compiler做一些变换,简单的例子如下: for { a foo.flatMap((a) => { bar.map((b) => { a + b })
})
所...
分类:
其他好文 时间:
2015-03-12 14:46:34
阅读次数:
153
Scala有很强的类型系统。加上一些隐式规则,我们可以在scala里模拟haskell的monad。 先从haskell的monad type class开始: class Monad M where ret :: a -> M a bind :: M a -> (b -> M b) -> M b
...
分类:
其他好文 时间:
2015-03-11 00:40:15
阅读次数:
151
??简介CoffeeScript 是构建在 JavaScript 基础之上的一种全新编程语言,提供了能够吸引 Python 或 Ruby 爱好者的整洁的语法。此外还提供了受 Haskell 和 Lisp 等语言启发得出的许多函数式编程特性。在本 系列文章 的 第 1 部分 中,我们了解了使用 CoffeeScript 的优势。此外还设置了开发环境,运行了脚本。在 第 2 部分 中,我们在尝试解决数...
分类:
其他好文 时间:
2015-03-10 14:00:35
阅读次数:
145
在理解Functor之前,必须对抽象代数的范畴论有所了解,有范畴论的知识作为铺垫,感觉Functor也不是那么的难以理解了。 一个范畴C包括: ?一个由对象所构成的类ob(C) ?对象之间的态射所构成的类hom(C)。每一个...
分类:
其他好文 时间:
2015-03-09 21:03:05
阅读次数:
138
要学习Lisp的,可以看看sicp,当初我花费了一个暑假的时间啃sicp,啃到啃不动了,但是发现确实学到了不少有趣的东西,然后又去玩Haskell,大概学习Haskell断断续续的也有半年的时间,但是我感觉我在Haskell...
分类:
其他好文 时间:
2015-03-08 14:25:45
阅读次数:
247
第二十一部分 惰性不是迟缓: Twisted和Haskell
分类:
编程语言 时间:
2015-03-04 09:44:05
阅读次数:
207
In Haskell. Two points: 1. pruning 2. Int suffers from overflow. Integer it is.getPowerSum :: Integer -> [Integer] -> Integer -> IntegergetPowerSum _ ...
分类:
其他好文 时间:
2015-03-03 06:20:33
阅读次数:
128
趁着自己重装Linux 虚拟机的机会,把安装 haskell 的过程记录一下,顺便帮那些还犹豫徘徊在haskell门外的读者入门。基本概念:Haskell : 是一门通用函数式语言,差点儿能够进行不论什么种类的开发,包含命令行,GUI,数据库,Web.源码能够跨平台: Linux,Mac, Wind...
分类:
其他好文 时间:
2015-02-21 10:53:06
阅读次数:
142
thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C , Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。
1. 概述Thrift最初由fac...
分类:
编程语言 时间:
2015-02-09 23:05:56
阅读次数:
208