语法:Type::=InfixTypeExistentialClausesExistentialClauses::=forSome{ExistentialDcl{semiExistentialDcl}}ExistentialDcl::=typeTypeDcl|valValDcl既存类型具有TforSome{Q}的形式,Q是一个类型声明的序列(§4.3)。设t1[tps1]>n<:Un是Q中声明的类型(任何类型参数部分..
分类:
其他好文 时间:
2015-06-02 20:19:13
阅读次数:
210
语法:
Type ::= InfixType ExistentialClauses
ExistentialClauses ::= ?forSome? ?{? ExistentialDcl
{semi ExistentialDcl} ?}?
ExistentialDcl ::= ?type? TypeDcl
| ?val? ValDcl
既存类型具有 T forSome {Q}的形式,Q...
分类:
其他好文 时间:
2015-06-02 17:54:10
阅读次数:
121
函数式编程函数式编程是种编程典范,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里,函数的计算可随时调用。
命令式编程是面向计算机硬件的抽象,有变量(对应着存储单元),赋值语句(获取,存储指令),...
分类:
其他好文 时间:
2015-05-26 18:56:27
阅读次数:
150
语法: Dcl ::= ?def? FunDcl FunDcl ::= FunSig : Type Def ::= ?def? FunDef FunDef ::= FunSig [?:? Type] ?=? Expr FunSig ::= id [FunTypeParamClause] ParamClauses FunTypeParamClause ::= ?[? ...
分类:
其他好文 时间:
2015-04-09 15:40:42
阅读次数:
112
语法:
Dcl ::= ?def? FunDcl
FunDcl ::= FunSig : Type
Def ::= ?def? FunDef
FunDef ::= FunSig [?:? Type] ?=? Expr
FunSig ::= id [FunTypeParamClause] ParamClauses
FunTypeParamClause ::= ?[? TypeParam ...
分类:
其他好文 时间:
2015-04-09 15:32:41
阅读次数:
137
函数式访问器在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
既然是泛函编程,多了解一下函数自然是免不了的了:方法(Method)不等于函数(Function)方法不是函数但可以转化成函数;可以手工转换或者由编译器(compiler)在适当的情况下自动转换。反向转换则不然;函数是无法转换到方法的。先看看下面的例子:1 scala> def aMethod(x:...
分类:
其他好文 时间:
2015-03-09 15:54:37
阅读次数:
172
scala真是个非常灵活的语言,这里还是总结下函数定义的几种情况吧。...
分类:
其他好文 时间:
2015-03-05 16:56:01
阅读次数:
107
变量
获取变量的值是一个耗时的工作时,可以考虑使用lazy var.
lazy val forLater = someTimeConsumingOperation()
scala> val first :: rest = List(1, 2, 3)
first: Int = 1
rest: List[Int] = List(2, 3)
函数定义
“=”并不只是...
分类:
其他好文 时间:
2015-02-27 10:11:20
阅读次数:
163
首先以spark的本地模式测试spark API,以local的方式运行spark-shell: 先从parallelize入手吧: map操作后结果: 下面看下 filter操作: filter执行结果: 我们用最正宗的scala函数式编程的风格: 执行结果: 从...