這一頁放雜物。 * [[wp>Jargon File]] * [[wp>Small matter of programming|SMOP (Simple Matter of Programming)]] * [[wp>Nota bene]] * [[wp>Red herring]] * 此地無銀三百兩。試圖轉移焦點。 * [[wp>cowsay]] * [[http://cowsay.morecode.org/|cowsay onlone]] * [[http://www.eelis.net/geordi/|geordi - C++ eval bot]] ===== 有趣議題 ===== * [[Self-modifying code]] * [[Big/Little Endian]] * [[http://www.ibm.com/developerworks/cn/linux/l-proc.html|使用 /proc 文件系统来访问 Linux 内核的内容]] * [[http://www.cyberciti.biz/tips/linux-shared-library-management.html|Linux Commands For Shared Library Management & Debugging Problem]] * [[Benchmark]] * [[Computer Virus]] * [[MUD]] * [[音訊編碼]] * [[USB]] * [[http://www.crifan.com/summary_plc_brand_manufacture_and_related_platform_tool/|【整理】常见PLC生产厂家/品牌和相应开发平台/工具]] * [[http://sourceforge.net/projects/ldcompiler/|Ladder Logic Compiler]] * [[http://www.researchmfg.com/2010/10/%E4%BD%95%E8%AC%82cob-chip-on-board-%EF%BC%9F%E4%BB%8B%E7%B4%B9cob%E7%9A%84%E6%BC%94%E9%80%B2%E6%AD%B7%E5%8F%B2/|[技術] COB (Chip On Board) 製程介紹/簡介/注意事項 I]] ====== 術語 ====== * [[wp>Callback (computer programming)|Callback]] * [[wp>Thunk]] * [[http://www.codeproject.com/Articles/27908/Thunk-and-its-uses|Thunk and its uses]] * [[http://blogs.msdn.com/b/oldnewthing/archive/2008/10/20/9006720.aspx|Why can't you thunk between 32-bit and 64-bit Windows?]] * [[wp>Evaluation strategy]] * [[wp>Continuation]] * [[http://docs.huihoo.com/homepage/shredderyin/wiki/ContinuationNotes.html|有关 Continuation]] * [[http://gallium.inria.fr/blog/ssa-cps-reading-notes/|Reading papers on CPS, SSA, ANF and the likes]] * Continuation 是一個用來表示程序控制流的抽象結構。 * [[wp>Continuation-passing style]] * Functional and logic compilers often use CPS as an intermediate representation where a compiler for an imperative or procedural programming language would use static single assignment form (SSA). SSA is formally equivalent to a subset of CPS (excluding non-local control flow, which does not occur when CPS is used as intermediate representation). * [[http://matt.might.net/articles/by-example-continuation-passing-style/|By example: Continuation-passing style in JavaScript]] * [[http://blog.csdn.net/cnnzp/article/details/7832106|Continuation-passing Style介绍及应用]] * 函式皆不返回。No procedure is allowed to return to its caller--ever. * 函式結尾處可透過額外傳入的 (回調) 參數動作。Procedures can take a callback to invoke upon their return value. * [[http://stackoverflow.com/questions/9112912/convert-to-cps-continuation-passing-style|Convert to CPS (Continuation Passing Style)]] * CPS 轉換是將控制流轉換成 CPS 型式 (return 語句亦是控制流的一種)。 * [[wp>Tail call]] int foo(int a) { return bar(a); } Tail calls can be implemented without adding a new stack frame to the call stack. Most of the frame of the current procedure is not needed any more, and it can be replaced by the frame of the tail call, modified as appropriate (similar to overlay for processes, but for function calls). * 針對 tail call,可以不增長棧,改為修改當前棧,以反映 tail call 調用。 * 將 CPS 結合 TCO 可以免除棧的使用。 * [[wp>Call-with-current-continuation]] * [[http://community.schemewiki.org/?call-with-current-continuation-for-C-programmers|call-with-current-continuation-for-C-programmers]] * Call-with-current-continuation 即是操作 continuation 的運算子。C 語言中的 [[wp>http://en.wikipedia.org/wiki/Setjmp.h|setjmp/longjmp]] 提供近似於 call-with-current-continuation 的功能。