色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

示例:JavaScript中的后續(xù)傳遞風格

  現(xiàn)在,CPS作為非阻塞式(通常是分布式的)系統(tǒng)的編程風格而被再次發(fā)掘出來。

  我對CPS很有好感,因為它是我獲取博士學位的一個秘密武器。它十有八九幫我消減掉了一兩年的時間和一些難以估量的痛苦。

  本文介紹了CPS所扮演的兩種角色作為JavaScript中的一種非阻塞編程風格,以及作為一種功能性語言的中間形式(簡要介紹)。

  內(nèi)容包括:

  ◆JavaScript中的CPS

  ◆CPS用于Ajax編程

  ◆用在非阻塞式編程(node.js)中的CPS

  ◆CPS用于分布式編程

  ◆如何使用CPS來實現(xiàn)異常

  ◆極簡Lisp的一個CPS轉(zhuǎn)換器

  ◆如何用Lisp實現(xiàn)call/cc

  ◆如何用JavaScript實現(xiàn)call/cc

  請往下閱讀以了解更多內(nèi)容。

  什么是持續(xù)傳送風格?

  如果一種語言支持后續(xù)(continuation)的話,編程者就可以添加諸如異常、回溯、線程以及構(gòu)造函數(shù)一類的控制構(gòu)造。

  可惜的是,許多關(guān)于后續(xù)的解釋(我的也包括在內(nèi))給人的感覺是含糊不清,令人難以滿意。

  后續(xù)傳遞風格是那么的基礎(chǔ)。

  后續(xù)傳遞風格賦予了后續(xù)在代碼方面的意義。

  更妙的是,編程者可以自我發(fā)掘出后續(xù)傳遞風格來,如果其受限于下面這樣的一個約束的話:

  沒有過程被允許返回到它的調(diào)用者中永遠如此。

  存在的一個啟示使得以這種風格編程成為可能:

  過程可以在它們返回值時調(diào)用一個回調(diào)方法。

  當一個過程(procedure)準備要返回到它的調(diào)用者中時,它在返回值時調(diào)用當前后續(xù)(current continuation)這一回調(diào)方法(由它的調(diào)用者提供)

  一個后續(xù)是一個初始類型(first-class)返回點。

  例子:標識函數(shù)

  考慮這個正常寫法的標識函數(shù):

function id(x) {
return x ;
}

it知識庫示例:JavaScript中的后續(xù)傳遞風格,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 维西| 于田县| 晋州市| 绩溪县| 吴江市| 新余市| 措美县| 和顺县| 云龙县| 成都市| 宁波市| 高州市| 会宁县| 肇源县| 永仁县| 铜陵市| 高要市| 澎湖县| 临夏市| 五华县| 成安县| 凤阳县| 通渭县| 利辛县| 安丘市| 武城县| 荔波县| 宣威市| 抚宁县| 华坪县| 平乡县| 尉氏县| 永济市| 大兴区| 炉霍县| 唐海县| 普定县| 宁明县| 宝坻区| 丽江市| 琼中|