關於語言的悟道

Linker:

呵呵
其實,用Haskell悟道非常的好

禹呈:

還是你說像lua那樣就夠了?

Linker:

因爲,沒悟道透徹就不會用
我覺得js很lua是同樣的 道

禹呈:

不用悟透徹也會用的語言也有

Linker:



禹呈:

比如python

Linker:

那是
對的
python其實是better c++

禹呈:

o?這麼有洞察力的見解

Linker:

其實,沒有語言是真正獨立的
都是參照以前的語言造出來的

禹呈:

js貌似不允許多返回值吧?

Linker:

但是,很多新語言並沒有領悟到真諦就開始造了
比如D語言

禹呈:

商業軟件都是這樣的
D有商業軟件背景
這就是商業和開源的區別

Linker:


多返回值??
直接返回一個object
不就行了
還有就是一個[]
[1,2,3,]
這不就是多返回值

Sent at 4:24 PM on Friday
Linker:

不是麼
沒轉過彎?

Sent at 4:27 PM on Friday
禹呈:

no
多返回值
其實
具有劃時代的意義
不是一個簡單的打個包的問題
這是一場變革
函數是單入口單出口的
入口可以多個值
出口卻一般只有一個
這裏面暗示了一個精神
函數的出口入口地位是不對等的
然而
據我最新的悟道成果
它們
應該是對等的
醬子

Linker:


對的

禹呈:

函數

Linker:

所以異常就沒必要了

禹呈:

是接成管道網絡的一個個IC

Linker:

其實lua的協程就是異常

禹呈:

聽說過一種無返回值風格:

Linker:

其實lua的協程就是異常

禹呈:

stackless風格

Linker:

lua的協程就是一種無返回值的

禹呈:

每個函數都是f(a, b, c, ..........., callback)

Linker:

就是協程嘛

禹呈:

函數沒有return

Linker:

你站高點看
協程就是異常

禹呈:

出來,就是callback(x, y, z, ..........)

Linker:

沒差別

禹呈:

f(a, b, c, ............, on_return)
這就是協程不假
不過
協程也只是一個推論
而底下的“公理”
叫continuation

Linker:

恩,是啊
咔咔
你也悟道了
咔咔

禹呈:

多返回值,就是對continuation的直接支持
scheme裏有call/cc

Linker:

恩,是啊,lua的多返回值是非常不同於別的語言的設計

禹呈:

lua裏的對應物,不是coroutine

Linker:

是?

禹呈:

而是尾遞歸優化與多返回值的聯合

Linker:

哦,我現在就這麼用呢
代碼我給你看過了

禹呈:

咔咔

Linker:

咔咔

禹呈:

ok,悟道完畢

Linker:

其實,Erlang也是這個道
只是Erlang加入了OO思想

禹呈:

燙手山芋模型?

Linker:

FP殼
OO肉
所以比較容易接受

禹呈:

殼在肉外面……還是個爬行動物

Linker:

Lua的這種把高級特性很隱晦的表的的語言比較少見
Haskell想反
是OO肉在外面,FP核心在裏面
Lua是FP核心在裏面藏着,一堆雜七雜八的東西在外面

禹呈:

肉在外面,這個應該是哺乳動物了

Linker:

恩,是啊
我覺得是

可惜能悟到這些道人太少
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章