由买买提看人间百态

topics

全部话题 - 话题: haskell
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
n****1
发帖数: 1136
1
来自主题: Programming版 - 看了一下Meteor很不错
谢谢大神提点! 我想说服二爷的是nodejs的aio runtime可以提供同步api, 用来实现
python里面的sync IO库。 而这个是Erlang/Haskell已经做到了的, 所以我不觉得我的
结论错了。 欢迎拍砖!

这个我知道, 我还看过99年那篇"A Poor Man's Concurrency Monad". 但这也说明,
这个sugar可一点也不trivial。 如果js里没有加yield, 还真不一定有做node的人去读
这篇文章, 然后去写这个sugar.
我最喜欢的还是erlang模式, 也就是GHC现在的模式:GHC runtime对外IO都是异步的.
同时通过forkIO, 用少量的kernel thread来模拟大量的user thread, 而且runtime呈
现给user thread的IO api全是同步api(open/read/write). 就算是nodejs加了yield之
后也达不到这么好的语法糖效果。
我在python里面是大量用generator的(多线程有GIL, 讨厌多进程), 还折腾过些
stackless python/... 阅读全帖
n****1
发帖数: 1136
2
在讨论FP与OOP之争的时候, 动不动就会有人跳出来说拿市场占有率说事, 说拿接收程
度说事, 拿开发/执行效率说事. 我觉得这是站在士兵的角度, 而不是站在将军的角度
思考问题. 比如zhaoce等一帮人张嘴就来"我认为cs没有什么东西是不可以通过堆人力
搞定的", 这等同于"咱们人多,打战必胜". 观点基本是对的, 可是一个脑子里只想着堆
士兵数量的人能当将军么?
在我看来,FP最大贡献, 最吸引人的地方,在于它给出了很多模型的理论基础, 比如
monad/applicative functor之类的. 这些数学结构能够帮助我们识别出我们具体问题
的边界和局限.
举个例子, Applicative functor是和parallel computing紧密相连的. 如果我们需要
解决的实际问题能够被抽象为applicative functor, 那么不管我们用啥语言,都是多少
能够scale horizontally. 但如果不能, 你就算是用一个军团的OO程序猿也写不出
distributed solution. 因为理论一定能举出反例(翻译成程序猿语言叫一定能重现出
bug).... 阅读全帖
n****1
发帖数: 1136
3
良好的设计都是精心封装的, 连Haskell也很强调封装. 如果说SOA是OOP,那Haskell也
是OOP了. 这拿来主义论点也太牛逼了吧.
n****1
发帖数: 1136
4
来自主题: Programming版 - OOP里面的Object其实是actor
Go back to school and take some math course, and you can learn there is
something called time-series, where values are represented as X_t.
X_t != X_(t+1), but X_t itself is a immutable constant for every t.
This is the only formal way to model time-variant values. This is why people
invent calendar.
git is exactly using the lower index idea: the head keeps updating but each
snapshot is immutable. Git can even give a sense of multi-demensional time(
in the form of multiple branches). A naive muta... 阅读全帖
e*******o
发帖数: 4654
5
来自主题: Programming版 - 这次Scala没有入选有点意外呀
最近我也看了不少语言,我觉得 scala 和 lisp 是最值的学的。
关于haskell和scala 同意楼上,
Haskell 的难度在于怪异的syntax。
比如 Lists 的定义:
data [a] = [] | a : [a] deriving (Eq, Ord) 得半天才能看懂。
syntax 把 monad的学习的难度给增大了,或者说,syntax把monad 弄神秘了。
学 scala 的type,学起来也比较有意思。其它语言,基本用不到这些(我知道的)。
n****1
发帖数: 1136
6
来自主题: Programming版 - 这次Scala没有入选有点意外呀
其他语言里面的list大多都是language primitive,因为list本来就很难用一个library
来定义。 haskell能把list分离到语言之外已经很不错了。
如果要你在scala/java/python/c++里面实现自己的list, 而且不准用array,你准备怎
么定义?
C++还好, 有template和指针, C的实现基本只能用linked list+opaque pointer.
struct List {
void* payload;
List* next;
};
这个和haskell是等价的,都用到了循环定义。
其他几个我真不知道, 你写个java/scala的看看?
c******o
发帖数: 1277
7
来自主题: Programming版 - Java EE这东西还有必要学吗
其实本质上fp, non-fp都是一样的,可以互相编译为对方。 (lambda calculus 和
turing machine 是等价的)
fp的好处就是你的思维必须要开始就是为了并行做准备的,(immutable, recursive,
no side effect, referential transparency).
不管怎么样,有精力的话学一门FP( 强类型的haskell/scala最好)肯定是好的。
其实CS最终都是算法,模型, pattern,语言还不是工具。 我觉得最好就是会Java +
Js + Haskell + Lisp, 后两者可以用更流行的scala/clojure替代
m******t
发帖数: 635
8
来自主题: Programming版 - (zz)王垠:我和权威的故事
type system背后的理论他还是很懂得,他之前有个文章提到haskell作为根本的某理论
有致命缺陷,如果证实了的话,还是很有深度的。要是在奥术神座里,一群搞haskell
的,或者引申些搞scala都要爆头
a*****e
发帖数: 1700
9
来自主题: Programming版 - (zz)王垠:我和权威的故事
HM 类型推导系统引入 let poly 的限制是为了保证推导无需任何类型注释,不仅
decidable 而且高效。这个缺陷只要是学过类型理论的都应该知道,搞得好像是自己了
不起的发现似的就只有王垠了。
以此来批评 Haskell 更是不知所谓,Haskell 的类型推导早就脱离了 HM 系统了。
n****1
发帖数: 1136
10
来自主题: Programming版 - 模板算是纯FP吗
Haskell里面也有template haskell, 不过大多数人认为是坏处多于好处. 别的不说,
type inference全乱了, 而且C++ template编译错误时生成的信息简直是天书.
n****1
发帖数: 1136
11
来自主题: Programming版 - 顺便和nod101说说做产品
首先, 实际卖票逻辑比你形容的复杂多了. 譬如有列车:广州->武汉->郑州->北京. 车
上有个座位,广州->武汉卖掉了, 郑州->北京也卖掉了,那如果有个乘客需要武汉到郑州
的坐票, 你的业务逻辑能把这个座位卖个人家吗? 我还没提更复杂的联程票情况.
换句话说, 如果业务逻辑像你形容的这么简单, 那就是可以弱耦合了嘛!
你应该把你的数据模型写出来, 就像这个帖子一样:
http://www.mitbbs.com/article_t/Programming/31299459.html
然后大家才能看清这个模型是否强耦合,是否计算量像你说的那么简单.
其次, lockfree data/software transactional memory又不是啥新鲜玩意, 这早就是
haskell杀手应用, 那帮鸟人用haskell的STM写出的server比nodejs还快一倍. Java/C+
+里面也有类库实现类似的东西. 你别告诉我你的核心就是实现这个!
最后, 用单机的performance per dollar固然好, 可是这么复杂的逻辑, 这么大的运算
量, 单机承受力很值得怀疑. ... 阅读全帖
c*******9
发帖数: 9032
12
来自主题: Programming版 - 看来没跳Scala的坑是对的
你们几个人做这个项目?我觉得人不多,统一一下风格用Scala问题不算大吧,不好用
特性的就不用了。
我有个项目还在决定是否用scala,还是java 8就够了. 看这里这么多人痛恨scala还是
有些奇怪。我个人
不太喜欢scala语法(和haskell比不够纯洁),不过喜欢和haskell一样的概念。

用。
c******o
发帖数: 1277
13
来自主题: Programming版 - 这次Rob Johnson也被吐槽了
the author of this article seems like "cool" things, he likes Haskell and
does not like to slow down the changes.
Rod on the other hand comes from Java.
Java/Haskell are the 2 biggest roots scala comes from.
c*******9
发帖数: 9032
14
来自主题: Programming版 - scala和F#是不是同一回事
en. 学了haskell在学scala容易很多,看了几天scala,对那些一开始看着庞杂的语法
适应了一些。
找haskell的工作不容易,我想找online game server 的open source framework自己
改改玩。
c*******9
发帖数: 9032
15
来自主题: Programming版 - scala和F#是不是同一回事
你搞的计算估计比较focus在单纯的统计,还有更多其他类别的计算。
我知道的是金融(数据分析和策略),图形图像处理(结合GPU计算)方面招haskell。
当然可以用的很广,什么web应用都可以,只不过招不到那么多haskell程序员,这些公
司一般不会用这个。
靠这个找工作估计不方便,主要是比较单纯适合学习FP编程基础,如果自己干,也可以
考虑用。
n****1
发帖数: 1136
16
来自主题: Programming版 - 所谓FP就是 递归+pattern matching?

Monad is the bread and butter in haskell. List is an example monad, "map" is
a function over monad. Monads are warm and fuzzy things.
You are talking about metaprogramming, not FP.
Even in terms of meta programming, C++ templates is not composition-friendly
. "Concepts" is yet to be added, while haskell could manipulate asm code
directly using llvm-bind in a composable way.
example:
https://github.com/bos/llvm/blob/master/examples/Array.hs
L***n
发帖数: 6727
17
来自主题: Programming版 - FP就是忽悠
小众软件就算了,俺们不懂...牛逼属于主观印象,特别是
我们这些User,不是搞语言本身的,当然看用语言写的软件
大众不大众了,不过lisp作embedded language真心不错,
Haskell就不知道了,好像carmack最近不知吃错什么药了,
比较追捧,不过没见id大规模用Haskell做过项目
c*******9
发帖数: 9032
18
来自主题: Programming版 - FP就是忽悠
你这个什么时候的测试,新版的haskell又有提高,java比较稳定了,提高的余地估计
很小了。
haskell熟练了应该就开发数据处理来说应该会比java高不少,
写个解释器之类的轻轻松松。目前多数程序员不太习惯纯编程,但如果以后fp在性能上
有了优势,会有更多程序员加入。

java
c*******9
发帖数: 9032
19
来自主题: Programming版 - FP就是忽悠
人小菊还知道从体系结构说明fp的不足之处。你的思维是低等的条件反射:只崇拜知名
的东西。应用知不知名,和语音好坏能有多数关联?haskell创始人有句话:要努力让
haskell不成功。这个估计你一辈子理解不了。
tesla如果只会盲目跟知名厂商的方案,还能造出tesla吗。
g*****g
发帖数: 34805
20
来自主题: Programming版 - FP就是忽悠
你丫不觉得羞愧吗?大嘴一张haskell性能强,把测试拉出来haskell被全面秒杀,现在
退回到有的测试强了。
性能强不强本来只是语言的一部分,一堆脚本语言如python性能不强照样大行其道。但
像你这样无知还装逼,被打脸是必然的。
c*******9
发帖数: 9032
21
来自主题: Programming版 - FP就是忽悠
http://hi.baidu.com/pneyfegsxnbgrtr/item/f610e640468cfae01381da
我只是说haskell语言本身性能不弱,上面的测试和java比个有胜负,我看过一篇论文
的测试haskell比java快一些,当然也许是比较专门的应用。你用一个测试也说明不了
太多,fp combiner方式的解释器是速度是满写,但好处是结构清晰方便改动,如果为
了速度快也可以不用这种方式写解释。
你的脸已经犀牛皮了,被打的太多了,所以总处心积虑要打别人脸?
不知道什么话这么刺激你了,就不会学小菊正常讨论问题?
g*****g
发帖数: 34805
22
来自主题: Programming版 - FP就是忽悠
你是来暴露智商的吗?你给的这个link,Haskell动不动2x java,可惜是time。就这还
证明Haskell比Java性能好?我老要是你这德性,早就没脸在这板上混了。
c*******9
发帖数: 9032
23
来自主题: Programming版 - FP就是忽悠
一方面要我“非web应用举几个haskell贡献大的例子”,另外一方面你说“ 语言就是
工具,最后系统牛不牛是何人有关,不是语言”。我还和你费什么尽头,我不否认你的
观点,但是这些牛系统和你普通程序员有多大关系,作为程序员当然是关系那个语言用
的舒服,而不是最终系统有多牛。你所谓的牛逼人是商界名人吧,那样的牛逼人有几个
自己写程序的。真写程序牛逼人你我知道的也屈指可数,估计那些支持haskell的Quake
作者在你眼里都不是牛人。
c*******9
发帖数: 9032
24
来自主题: Programming版 - FP就是忽悠
你那只X眼看我装牛逼了?
我写什么凭什么让你知道,你能出资支持一下?
谈语言就是谈语言特性本身,你扯这些不招边际的什么东西牛不牛,什么人牛不牛有用
吗。
好像一天没人夸你牛,你就座不住了,你牛不牛关别人屁事。
和小菊讨论就比较受益,人只从体系结构来说明语言的优缺点。
例子据来是为了讨论方便,也证明不了太多问题,我也没有要证明haskell完胜java,
只是说性能还算过的去。
看到个2x就你就条件反射说haskell完败,那java和c++比不是更完败了,你和别人辩论
c++ vs java适合可没这样,照这样java 无论速度,占用内寸都是完败。
还有,你处心积虑要打什么脸,我费力气打你脸对我有什么好处,除非你给钱让我打。
g*****g
发帖数: 34805
25
来自主题: Programming版 - FP就是忽悠
Java是不比C++快,所以我从来不宣扬Java比C++快,这叫做尊重事实。
你丫自己傻逼还有脸说?牛逼哄哄地说haskell比java性能好,自己找个数据java比
haskell快一倍。丢人了拉内存用得多出来死撑。这都什么德性?
你丫就不会说句我弄错了,谁都有弄错的时候,但你这样屁股决定脑袋,错了还死撑。
被一堆人嘲笑也就不奇怪了。
g*****g
发帖数: 34805
26
来自主题: Programming版 - FP就是忽悠
你自己打脸是嫌不够是吧?内存就是不重要,所以这个benchmark里只有4个测试给出内
存的比较。而且一个相当,两个haskell省内存,一个java省内存。就这个benchmark,
连haskell比java省内存都说明不了,你丫长脑子了吗?
现实应用中,真正需要很多内存的,都是大数据量,数据大小决定了内存使用的大小,
而不是语言那点编译代码,不同语言区别不大。你就一小屁孩,没任何经验,成天玩这
些屁股决定脑
袋的勾当。
c*******9
发帖数: 9032
27
来自主题: Programming版 - FP就是忽悠
你看的是这个link?看全没有? 10个测试你说4个,不知道是谁不会数数了,差距这么
大还说明不了问题。
http://benchmarksgame.alioth.debian.org/u64q/haskell.php
你以为占内存是主要因为编译代码?java 这方面倒是和haskell 差距不大。
要用多少内存和算法相关。
c*******9
发帖数: 9032
28
来自主题: Programming版 - 你们别吵了,Swift作者说
1...5, ( _, a) 等学的haskell。唯一遗憾的是没有像scala那样支持traits(从而
更像haskell),当然这样也许增加编程难度,很多人不适应。

Ruby,
c*******9
发帖数: 9032
29
来自主题: Programming版 - 什么FP能替代python
刚看到楼主重要做统计,不清楚haskell的库是否全,可以看看Haskell Financial
Data Modeling and Predictive Analytics 那本书,如果够用就可以了。
n****1
发帖数: 1136
30
来自主题: Programming版 - go scala 哪个更有前途
你要在投行做肯定可以主打haskell, 否则学haskell只是开眼界而已,难以当饭碗来端
a*****e
发帖数: 1700
31
来自主题: Programming版 - scala很牛啊
在 Haskell 里面也就一行:
powerset = filterM (\_ -> [True,False])
这里用到的 filterM 来自 Control.Monad 库,从它的类型基本可以推断出它的功能:
filterM :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
也就是通过一个 monadic 的条件 (a -> m Bool),筛选列表 [a],得到结果的类型为
m [a]。
这样看,filterM 是一个非常 generic 的函数,和 powerset 八杆子打不着边,那么
最上面的定义该怎么理解呢?在 scala 里面使用 monad 应该也能给出类似的定义。
这里学 Haskell 和 Scala 的那几位,谁能解释清楚了,我打赏 50 个包子 :-)
另:goodbug 那个 java 版本是 tautology,从中学不到任何知识,没意义。

=
l*******e
发帖数: 309
32
我用emacs。写c++有个rtags模式,python有jedi,haskell有个structured haskell
mode都不错。
j****y
发帖数: 684
33
来自主题: Programming版 - 大牛给推荐个fp语言
目标,这东西学了将来换工作的时候有用,工业界有些应用, 有些market的。
scala?clojure?erlang?haskell? 当然还有别的
我从github上搜了下〉1个star的repo的个数,其实都不多。。。
clojure 214
scala 559
Erlang 138
Haskell 406
b***e
发帖数: 1419
34
来自主题: Programming版 - NodeJS厉害
你这傻逼当年装逼到底说搞functional programming的都是freak, cannot think
straight。现在functional programming以各种形式进入各个language。Java的
generics和lambda都是直接从Haskell里抄的。Scala就更不用说了,根本就是Haskell
community的人做出来的。我眼光如何我倒是不太在乎。你丫这傻逼记住喽,想你丫这
种asshole是不可能有眼光的,因为屁眼有眼无珠。
p*****2
发帖数: 21240
35
来自主题: Programming版 - 玩Scala需要学习Scalaz吗?

我是说你说的这个情况。为什么要上Scalaz不上Haskell。
就是写起来有快感。你已经觉得写scala是一种享受了,如果写纯FP,快感会更强。
你会感觉精神都得到了生化。这就是为啥haskell有一批死忠。
p*****2
发帖数: 21240
36
来自主题: Programming版 - Scala有一点不好
就是学习Haskell太疯狂了,让人常常质疑为啥不直接上Haskell算了。
a*****e
发帖数: 1700
37
来自主题: Programming版 - Scala有一点不好
如果你是说底层,其实 IO Monad 就是 ST Monad 封装了诸多 FFI 而已,不想用 IO
Monad,可以直接调用 FFI.
如果你是说别的抽象方式,可以看看 effect handler
http://okmij.org/ftp/Haskell/extensible/
domain specific 方面,比如 arrow FRP 里面可以用 wormhole 实现并行互不干扰 IO
http://haskell.cs.yale.edu/?post_type=publication&p=802
w***g
发帖数: 5958
38
来自主题: Programming版 - Scala有一点不好
我怎么记得FFI也是用IO monad实现的。比如下面的页面
https://www.haskell.org/haskellwiki/FFI_Introduction
C实现的一个void set_icanon(int fd),到了haskell就变成带IO的了:
foreign import ccall "set_icanon" set_icanon :: CInt -> IO ()
难道是我查得不对?
你这个claim有可能颠覆我的三观,不得不问问清楚。

IO
p*****2
发帖数: 21240
39
来自主题: Programming版 - 大牛对Scala的type system如何评价?
scala 有scalaz 但是一直美学
感觉比haskell难学 不学haskell基本不能理解

颦。
p*****2
发帖数: 21240
40
来自主题: Programming版 - 大牛对Scala的type system如何评价?
看了看,感觉主要的问题是Scala是OO的,Haskell是FP的。
本来Scala应该object.method, 但是搞了type class之后就变成了跟Haskell一样,
method object了,感觉怪怪的。
p*****2
发帖数: 21240
41
来自主题: Programming版 - 感觉学习fp
好问题 我觉得不学习haskell很难回答 学了之后基本不能回答了 所以想知道还是学学
haskell吧
基本上编程序变成数学推倒了 推导对了 程序基本上也没啥bug了
比普通的编程更抽象 当然也很难学习 水很深
p*****2
发帖数: 21240
42
来自主题: Programming版 - Scala又被鄙视了
all I know is:
after learning Haskell in the evenings/weekends for a few months, reading
language feature tutorials and writing a personal project, I understand
enough about enough typeclasses / GHC extensions / etc to write somewhat
abstract Haskell code without type errors, or to read those type errors and
grok them. the abstractions increase modularity, without decreasing
readability.
after the same time/effort with Scala, I know nothing about Scala's types,
or its errors.
p*****2
发帖数: 21240
43
来自主题: Programming版 - Scala又被鄙视了
In my experience, Scala's is much more complicated. It has to be, in order
to interoperate with Java, include object-oriented programming, and
therefore use a lot of subtyping and attempt to impose principle on it.
Scala seems to be a bazaar in which concepts from Java and Haskell collide,
and there's even some Erlang thrown in (the actor model). Type-wise, these
sub-languages don't always get along well. For what it must do, Scala does a
good job. The problem is that its mandatory first-class s... 阅读全帖
p*****2
发帖数: 21240
44
来自主题: Programming版 - 关于学习一种语言还是多种语言
我很难理解只学习一种语言就能精通,我的感受是,学习多种语言互相比较才能融会贯
通,对某一个语言的理解才能更深入
比如我学习Scala,OO部分一定要跟Java比较来学,FP部分一定要跟Haskell比较来学,
否则的话就很难学懂。像Scala的type system,一部分我可以比较Haskell,但是大部
分我没有语言做参照就学的很浅显,很难深入。
p*****2
发帖数: 21240
45
来自主题: Programming版 - 不懂fp搞不了scala
是呀 还得学haskell
理解一些问题要先用haskell理解 然后再转到scala 不然直接从scala来理解很乱
p*****2
发帖数: 21240
46
Haskell是用IO Monad来解决的。
Scala并没有一个标准吧?
走Haskell的路就用Scalaz,但是我在这一点上很保守,而且水平也确实不够。
现在体会如何把impure codes封装使得scope最小化。需要一段时间的体会。
c*******0
发帖数: 5247
47
来自主题: Programming版 - Scala和Go都没啥戏。

事实上到目前为止,改头门第的人,来自Python和Ruby圈的最多。反而是因为Go的GC特
性让很多C/C++不愿意改投门第。
商业逻辑这方面转Go的确实少,Go本来也没打算在这方面和Java争。Go大部分是做
infra的。
个习惯问题,比如Swift style和Go类似,很多objc的人转了几周也就适应了。
我老早就在这里说了,Go不可能取代Java,Go的目标也不是取代Java。Java dominate
的地位,只要Android不倒,JVM不倒,是不会被动摇的。
同意
既然说到这了,我就多说几句。
Go是一门设计理念非常清晰但是顽固的语言。和别的语言不同,Go并不希望成为一个
one language rule them all。在一开始设计的时候,Go team的人的目标很简单,就
是满足Google内部做多team大规模infra的需求。注意,这个“多team大规模”是目标
,不是期盼。因为这个目标,所以才会有Go boring的语法,少得可怜的特性,和及其
简单的上手,以及超强的可读性。
Go社区的人喜欢Go,完全不是因为什么语言牛逼的特性,也不是什么best pe... 阅读全帖
m***r
发帖数: 359
48
来自主题: Programming版 - Python日报 2015年2月楼
Python日报 2015-02-12
@好东西传送门 出品, 过刊见
http://py.memect.com
订阅:给 [email protected]
/* */ 发封空信, 标题: 订阅Python日报
更好看的HTML版
http://py.memect.com/archive/2015-02-12/short.html
1) 【三大语言的LLVM】 by @爱可可-爱生活
关键词:工具, 博客, 解释器
[文章]三大语言的LLVM:Python-《Let's Write an LLVM Specializer for Python!》
[1] ;C -《How to get started with the LLVM C API》 [2] ;Haskell -《
Implementing a JIT Compiler with Haskell and LLVM》 [3] 皆大欢喜
[1] http://dev.stephendiehl.com/numpile/
[2] https://pauladamsmith.com/blog/2015/01/how-to-... 阅读全帖
g*****g
发帖数: 34805
49
来自主题: Programming版 - java 8 stream不及LINQ
我老写10倍是因为税前,跟现金去买就是10倍杠杆,税前5倍。我老patent没赚什么钱
,做出来的产品公司从三星拿到了两个亿,还是纯软件,你丫不服有用吗?还有我老从
来没读过ph.d,我老master做出来的paper好歹也发过IEEE journal。就你这小逼跟我
比能力。
哪次谈点技术你丫不是灰头土脸,到头来就他妈拼命想人身攻击转移视线。我老不装逼
,要不是
给人推荐工作,根本没人知道我是NFLX的。跟你这傻逼成天FPFP,死吹Haskell被爆菊
不在一个层次上。你丫再恼羞成怒,Haskell就牛逼了?
a*****e
发帖数: 1700
50
你眼神不好,看的 seL4 的 github 吗?看见这句话了?
"haskell: Haskell model of the seL4 kernel, kept in sync with the C version."
缺了这个,根本没办法做 formal verification。想明白怎么回事就去读一下人家的论
文吧。
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)