由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - scala ts 的复杂
相关主题
Scala's type systemClojure/West的会场几乎没有什么中国人
scala的type system太复杂了我来个总结不知道对不对
functional programming?clojure这语言真不错
大家有没有觉得Scala不如Haskell美?大牛给讲讲monad吧?
板上的高人们能给科普比较functional programming language么想学FP最好不要从Scala开始
对scala很失望 (转载)Java EE这东西还有必要学吗
关于python这次Rob Johnson也被吐槽了
scala写个loop老难了感觉Erlang不错,有必要学习一下吗?
相关话题的讨论汇总
话题: scala话题: type话题: gadt话题: 复杂话题: java
进入Programming版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
有很大程度都是因为继承搞得吧
c******o
发帖数: 1277
2
很多原因了。
第一是为了和java interact, 要是只有FP, 很多type feature都不用,要是只有OO,也
是type feature都不用。要是两个都有,那就不是1+1=2了。
第二是因为本来这个是一个语言研究,想做的高大上, 做的很牛,scala type system
是 turing complete, 理论上是什么都可以实现的一门独立语言。shapeless 就是利用
这个的一个library.
不过,
第一你不会都用到的,不用的就别学了,就学
Abstract Types
Type Bounds
Variances
第二啥自从商业化以后, scala的方向就是越来越简单,下一次大概可能就会砍type
system的feature.
b***e
发帖数: 1419
3
Haskell's type system 不复杂么?

【在 p*****2 的大作中提到】
: 有很大程度都是因为继承搞得吧
c******o
发帖数: 1277
4
比scala的其实简单一些。

【在 b***e 的大作中提到】
: Haskell's type system 不复杂么?
b***e
发帖数: 1419
5
我个人的感觉是implicit parameters and type/constructor classes其实还是很复杂
的,不过一般人不会deep dive。还有就是GADT。Haskell里面搀的东西太多了。作为教
材是合适的。但是如果有一条实用路的话,还是scala比较接地气。

【在 c******o 的大作中提到】
: 比scala的其实简单一些。
n*w
发帖数: 3393
6
这两者是不是可以用来实现类似于duck type又是强类型的调用?

【在 b***e 的大作中提到】
: 我个人的感觉是implicit parameters and type/constructor classes其实还是很复杂
: 的,不过一般人不会deep dive。还有就是GADT。Haskell里面搀的东西太多了。作为教
: 材是合适的。但是如果有一条实用路的话,还是scala比较接地气。

b***e
发帖数: 1419
7
你这个说法有点儿意思。一般来讲duck type和strongly typed是不两立的。但是你这
个说法确实有意义。其实GADT的本质是吧runtime type identification变成了一个
first class value。在Java里可以说
o instanceOf Integer
如果用GADT的方式就变成了
o.type == rttiOfInteger
GADT的expressiveness在于等式的右侧可以是variable, like
o.type == rttiOfSomeType
而instanceof的右侧只能是一个type, which is not a first class value。
GADT还有一个好处是type constructor也可以有rtti as first class (higher order)
value。For instance:
o.type == rttiOfArray(rttiOfInteger)
这就是判断o的type是不是[Int]。我印象里Java的rtti由于历史原因无法支持higher
order values。

【在 n*w 的大作中提到】
: 这两者是不是可以用来实现类似于duck type又是强类型的调用?
w**z
发帖数: 8232
8
我报了个Scala day training, Fast Track to Scala, 应该是给我这种scala 零基
础的

【在 p*****2 的大作中提到】
: 有很大程度都是因为继承搞得吧
l******t
发帖数: 55733
9
scala有。可以去看下using的实现

【在 n*w 的大作中提到】
: 这两者是不是可以用来实现类似于duck type又是强类型的调用?
p*****2
发帖数: 21240
10

跟我有overlap吗?

【在 w**z 的大作中提到】
: 我报了个Scala day training, Fast Track to Scala, 应该是给我这种scala 零基
: 础的

w**z
发帖数: 8232
11
我周四周五。你住哪?

【在 p*****2 的大作中提到】
:
: 跟我有overlap吗?

1 (共1页)
进入Programming版参与讨论
相关主题
感觉Erlang不错,有必要学习一下吗?板上的高人们能给科普比较functional programming language么
scala和F#是不是同一回事对scala很失望 (转载)
看了10分钟Scala,一个问题:啥叫FP?关于python
go scala 哪个更有前途scala写个loop老难了
Scala's type systemClojure/West的会场几乎没有什么中国人
scala的type system太复杂了我来个总结不知道对不对
functional programming?clojure这语言真不错
大家有没有觉得Scala不如Haskell美?大牛给讲讲monad吧?
相关话题的讨论汇总
话题: scala话题: type话题: gadt话题: 复杂话题: java