E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
scalaz
Scalaz
(18)- Monad: ReaderWriterState-可以是一种简单的编程语言
说道FP,我们马上会联想到Monad。我们说过Monad的代表函数flatMap可以把两个运算F[A],F[B]连续起来,这样就可以从程序的意义上形成一种串型的流程(workflow)。更直白的讲法是:任何类型只要实现了flatMap就可以用for-comprehension,for{...}yield。在这个for{...}里我们可以好像OOP一样编写程序。这个for就是一种运算模式,它规范了
雪川大虫
·
2015-12-15 17:00
Scalaz
(17)- Monad:泛函状态类型-State Monad
我们经常提到函数式编程就是F[T]。这个F可以被视为一种运算模式。我们是在F运算模式的壳子内对T进行计算。理论上来讲,函数式程序的运行状态也应该是在这个运算模式壳子内的,也是在F[]内更新的。那么我们就应该像函数式运算T值一样,也有一套函数式更新程序状态的方法。之前我们介绍了WriterMonad。Writer也是在F[]内维护Log的,可以说是一种状态维护方式。但Writer的Log是一种Mo
TIGER_XC
·
2015-12-11 10:00
Scalaz
(17)- Monad:泛函状态类型-State Monad
我们经常提到函数式编程就是F[T]。这个F可以被视为一种运算模式。我们是在F运算模式的壳子内对T进行计算。理论上来讲,函数式程序的运行状态也应该是在这个运算模式壳子内的,也是在F[]内更新的。那么我们就应该像函数式运算T值一样,也有一套函数式更新程序状态的方法。之前我们介绍了WriterMonad。Writer也是在F[]内维护Log的,可以说是一种状态维护方式。但Writer的Log是一种Mo
雪川大虫
·
2015-12-11 10:00
Scalaz
(16)- Monad:依赖注入-Dependency Injection By Reader Monad
既然我们正在
scalaz
的介绍系列里,所以这篇我们就着重示范ReaderMonad的
雪川大虫
·
2015-12-04 11:00
Scalaz
(16)- Monad:依赖注入-Dependency Injection By Reader Monad
既然我们正在
scalaz
的介绍系列里,所以这篇我们就着重示范ReaderMonad的
TIGER_XC
·
2015-12-04 11:00
Scalaz
(15)- Monad:依赖注入-Reader besides Cake
我们可以用MonadReader来实现依赖注入(dependencyinjectionDIorIOC)功能。Scala界中比较常用的不附加任何Framework的依赖注入方式可以说是CakePattern了。现在通过MonadReader可以实现同样功能,两者对比优点各有千秋。所谓依赖注入是指在编程时使用了某个未知实现细节的对象,但依赖注入确保这个对象在这段程序运行时已经实例化。这种需求通常是在
TIGER_XC
·
2015-11-27 19:00
编程
scala
functional
programmi
scalaz
Scalaz
(15)- Monad:依赖注入-Reader besides Cake
我们可以用MonadReader来实现依赖注入(dependencyinjectionDIorIOC)功能。Scala界中比较常用的不附加任何Framework的依赖注入方式可以说是CakePattern了。现在通过MonadReader可以实现同样功能,两者对比优点各有千秋。所谓依赖注入是指在编程时使用了某个未知实现细节的对象,但依赖注入确保这个对象在这段程序运行时已经实例化。这种需求通常是在
雪川大虫
·
2015-11-27 19:00
Scalaz
(14)- Monad:函数组合-Kleisli to Reader
在
scalaz
里函数(function)本身就是Monad,自然也就是Functor和applicative。
TIGER_XC
·
2015-11-25 21:00
编程
scala
functional
programmi
scalaz
Scalaz
(14)- Monad:函数组合-Kleisli to Reader
在
scalaz
里函数(function)本身就是Monad,自然也就是Functor和applicative。
雪川大虫
·
2015-11-25 21:00
Scalaz
(13)- Monad:Writer - some kind of logger
通过前面的几篇讨论我们了解到F[T]就是FP中运算的表达形式(representationofcomputation)。在这里F[]不仅仅是一种高阶类型,它还代表了一种运算协议(computation protocol)或者称为运算模型好点,如IO[T],Option[T]。运算模型规范了运算值T的运算方式。而Monad是一种特殊的FP运算模型M[A],它是一种持续运算模式。通过flatMap作
TIGER_XC
·
2015-11-20 10:00
编程
scala
functional
programmi
scalaz
Scalaz
(12)- Monad:再述述flatMap,顺便了解MonadPlus
在前面的几篇讨论里我们初步对FP有了些少了解K:FP嘛,不就是F[A]吗?也是,FP就是在F[]壳子(context)内对程序的状态进行更改,也就是在F壳子(context)内施用一些函数。再直白一点就是在F壳子内进行OOP惯用的行令编程(imperativeprogramming)。当然,既然是在壳子(context)内进行编程这种新的模式,那么总需要些新的函数施用方法吧。我们再次审视一下以前了
TIGER_XC
·
2015-11-13 19:00
编程
scala
functional
programmi
scalaz
Scalaz
(11)- Monad:你存在的意义
前面提到了
scalaz
是个函数式编程(FP)工具库。它提供了许多新的数据类型、拓展的标准类型及完整的一套typeclass来支持scala语言的函数式编程模式。
TIGER_XC
·
2015-10-28 13:00
编程
scala
functional
programmi
scalaz
Scalaz
(10)- Monad:就是一种函数式编程模式-a design pattern
Scalaz
是通过Monadtypeclass为数据运算的程序提供了一套规范的编程方式,如常见的for-comprehension。而不同类型的Monad实例则会支持不
TIGER_XC
·
2015-10-20 06:00
编程
scala
functional
programmi
scalaz
Scalaz
(9)- typeclass:checking instance abiding the laws
在前几篇关于Functor和Applilcativetypeclass的讨论中我们自定义了一个类型Configure,Configure类型的定义是这样的:caseclassConfigure[+A](get:A) objectConfigure{ implicitvalconfigFunctor=newFunctor[Configure]{ defmap[A,B](ca:Configure[A
TIGER_XC
·
2015-10-13 19:00
编程
scala
functional
programmi
scalaz
Scalaz
(8)- typeclass:Monoid and Foldable
我们先看看
scalaz
的Monoidtypeclass定义:
scalaz
/Monoid.scalatraitMonoid[F]extendsSemigroup[F]{self=> //// /**Theidentityelementfor
TIGER_XC
·
2015-10-09 21:00
编程
scala
functional
programmi
scalaz
Scalaz
(7)- typeclass:Applicative-idomatic function application
Scalaz
的Applicativetypeclass提供了各种类型的函数施用(functionapplication)和升格(lifting)方法。与其它
TIGER_XC
·
2015-10-05 11:00
编程
scala
functional
programmi
scalaz
Scalaz
(6)- typeclass:Functor-just map
在
scalaz
里,Functor就是一个普通的typeclass,具备mapover特性。我的理解中,Functor的主要用途是在FP过程中更新包嵌在容器(高阶类)F[T]中元素T值。
TIGER_XC
·
2015-09-26 12:00
编程
scala
functional
programmi
scalaz
Scalaz
(5)- typeclass:my typeclass
scalaz
style-demo
我们在上一篇讨论中介绍了一些基本的由
scalaz
提供的typeclass。这些基本typeclass主要的作用是通过操作符来保证类型安全,也就是在前期编译时就由compiler来发现错误。
TIGER_XC
·
2015-09-19 17:00
编程
scala
functional
programmi
scalaz
Scalaz
(4)- typeclass:标准类型-Equal,Order,Show,Enum
Scalaz
是由一堆的typeclass组成。每一个typeclass具备自己特殊的功能。用户可以通过随意多态(ad-hocpolymorphism)把这些功能施用在自己定义的类型上。
TIGER_XC
·
2015-09-18 22:00
编程
scala
functional
programmi
scalaz
Scalaz
(3)- 基础篇:函数概括化-Generalizing Functions
Scalaz
是个通用的函数式编程组件库。它提供的类型、函数组件都必须具有高度的概括性才能同时支持不同数据类型的操作。
TIGER_XC
·
2015-09-09 20:00
编程
scala
scalaz
Scalaz
(2)- 基础篇:随意多态-typeclass, ad-hoc polymorphism
scalaz
功能基本上由以下三部分组成:1、新的数据类型,如:Validation,NonEmptyList...2、标准scala类型的延伸类型,如:OptionOps,ListOps...3、通过
TIGER_XC
·
2015-09-08 08:00
编程
scala
scalaz
Scalaz
(1)- 基础篇:隐式转换解析策略-Implicit resolution
在正式进入
scalaz
讨论前我们需要理顺一些基础的
scalaz
结构组成概念和技巧。
scalaz
是由即兴多态(ad-hocpolymorphism)类型(typeclass)组成。
TIGER_XC
·
2015-09-06 15:00
编程
scala
functional
programmi
scalaz
Scalaz
(0) - 写在前面
面向对象编程范畴(OOP)从80年代C++到90年代java的兴起已经经历了几十年的高潮,是不是已经发展到了尽头,该是函数式编程(FP)开始兴旺发达的时候了吧。这样说似乎心眼儿有点坏,可能会得罪当今大多数的编程人员。不过计算机硬件技术的发展往往会催生新的编程技术,这倒是无可反驳的现象。当今世界上计算机行业中大数据、电子商务、多核CPU,高并发网络的普及使得C++,java这些OOP范畴的编程语言
TIGER_XC
·
2015-09-02 17:00
编程
scala
scalaz
[转][mark]话说模式匹配(3) 模式匹配的核心功能是解构
转载自并发编程网 – ifeve.com 原文:http://ifeve.com/pattern-matching-3/ http://www.artima.com/
scalaz
ine
runanli
·
2015-02-27 00:00
mark
Scala java maven 混合开发 pom配置
SNAPSHOT 2.4.2 2.11.1 1.7.7 2.11.1
scalaz
Lukewxl
·
2014-10-22 14:00
spark 官方动手练习一:Introduction to the Scala Shell
这项练习是基于setp1scala的教程,详细链接:http://www.artima.com/
scalaz
ine/articles/steps.html。
myboyliu2007
·
2013-12-10 22:00
scala
spark
AMP训练营
介绍Iteratee的一篇好文
http://apocalisp.wordpress.com/2010/10/17/
scalaz
-tutorial-enumeration-based-io-with-iteratees/http://
爱国者
·
2012-08-05 17:00
scala
Iteratee
选择scala A Business Case for New Languages
原文地址: http://www.artima.com/
scalaz
ine/articles/a_business_case_for_new_languages.html
Scalaz
ine A
13146489
·
2011-06-17 16:00
java
scala
ScalaPattern之Selfless Trait Pattern
原文出处:http://www.artima.com/
scalaz
ine/articles/selfless_trait_pattern.html
fujohnwang
·
2009-12-15 10:00
scala
Access
UP
ScalaPattern之Stackable Modification Trait Pattern
原文出处:http://www.artima.com/
scalaz
ine/articles/stackable_trait_pattern.htmlOnewaytouseScala'straitsisasstackablemodifications.Inthispattern
fujohnwang
·
2009-12-14 09:00
scala
十二步学会Scala -1
参考《FirstStepstoScala》http://www.artima.com/
scalaz
ine/articles/steps.html 我先大致根据这篇文章写一些自己的理解,让想学Scala的同学有个感性认识
alanwu
·
2009-09-26 00:00
maven
编程
scala
ant
UML
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他