Go

Go is interesting.

Comparing to Haskell

Diff

FeatureGoHaskell
TypeExplicitInferred
Compilation speedFastSlow
Building blocksLight weight OOMonads, etc
CurrencyGoroutinesGreen threads + STM / DPH

Similar

FeatureGoHaskell
Parametric PolymorphismInterfaceType Class
Module systemExplicit / implicitHandcraft
SafetyType / MemoryType / Memory
Platformx64 / i386 / arm / Ci386 / arm / C

I think its awesome. I especially like the Goroutines and that it has a fast GC while still being a system language.

CatEye Progress

终于算是有点眉目了,至少咱 Turing Complete 了。在基本的 Scheme 上减少了 DottedList,增加了几个功能:

  • Haskell mps 类似的 reverse application

    (1, + 2)
    
  • ! 来定义,

    (! (id x) x)
    
  • Ruby 类似的 block

    (! (flip f) (|x y| f y x))
    
  • 支持中文编程

    (设 关羽 "关羽-云长")
    
  • 可以用 [] 代替 (),支持 list literal {}

    [sum {(+ 0 1) 2 3 4}]
    
Program in Chinese

把 scheme 里的东西改了改,这个语言起个名字叫 CatEye。不是 Turing Complete 呢,不过没关系。

[设 小乔 90]
[设 大乔 90]
[小乔, 平 大乔]
[设 貂蝉 95]
[小乔, 平 貂蝉]
[设 周 [若 [小乔, 平 大乔] '盈 '亏]]
周
TaPL

看过一篇用 Haskell 写 Lisp 的文章,还有一篇是 24 小时写 Scheme 的。以前一直懒得跟,这两天犯贱开始跟着写,Lisp 那个写到定义函数那里有点看不明白了,现在这个 Scheme 写到一半。。。忽然觉得脑袋空荡荡的。是啊,没文化就是这种感觉啊!

不行了,从 Perl 6 介绍里看到唐凤最初写 Pugs 是想实践一下 TaPL 里的理论,不是吧,实践实践就出来个 Perl 6 ?

我也看!还没看到正文就被前面的数学定义给弄晕了,不至于吧?后来看到是标题说是 ordered set,然后按感觉去套,哦,明白了。看来书还是没白念。