Scheme

安裝 Racket-llvm

(上新更新佇:2019-09-26)

  • Clone git repo
    git clone git@github.com:bubba/racket-llvm.git
  • 包做 .zip:
    raco pkg create --binary racket-llvm
  • 安裝:
    raco pkg install racket-llvm.zip
  • raco pkg show
    看安裝 ê 結果,親像:
    Installation-wide:
    Package Checksum Source
    ....
    User-specific for installation "6.3":
    Package Checksum Source
    racket-llvm 52ebbb73... file /tmp/a/racket-llvm.zip

Scheme ê call/cc ê 用法舉例(2)——coroutine

(接續頂篇,更新日:2019-01-22)

Coroutine

Coroutine(華語:{rb|協程|hia̍p-tîng} kap 囝程式 (subroutine) 仝款,lóng 是 kā 程式分節執行 ê 方法。M̄-koh kap 囝程式有呼叫 kap 受呼叫 ê 關係無仝, coroutine 之間是平等 ê ,會當 tī A coroutine 叫 B coroutine,tī B 內底叫 A coroutine。毋過阮這爿為著簡化,干焦展示「主程式 kap coroutine」ê 關係。

Scheme ê call/cc ê 用法舉例(1)——例外處理

(上尾更新 tī:2019-01-20)

介紹

Scheme 是一種函數式語言,所以無 break、yield 等等 ê 流程控制功能 (flow of control)。毋過,伊有一款功能 koh 較強 ê——用 the̍h 著現此時 ê 繼續(continuation) ê call/cc 來合成 tsē-tsē ê 控制流程。

Scheme ê 延遲計算 (lazy evaluation) ê 例

(上尾更新 tī:2019-01-20)

介紹

佇電腦程式中,通常愛算一个{rb|運算式|ūn-suàn-sik} ê 結果,會 kā 逐个部份照算 ê {rb|次序|tshù-sī}一改算予清,這種趁早算出來 ê 算法,號做「嚴格計算」 (strict evaluation; eager evaluation)。比論講:

(* 2 (+ 3 (/ 5 2)))

[Note][Scheme] define-syntax 佮 syntax-rules 的使用例

(上尾更新佇:2018-02-04)
佇 Scheme 中,{rb|巨集|kū-tsi̍p} (macro) 的使用是一个特點,巨集佮函數真成,毋過會當處理 syntax ({rb|句法|kù-hoat})做輸入的 argumemt({rb|引數|ín-sòo})。巨集的定義干涉著 syntax。佇伊的囝語言 Racket 中閣有 syntax-case 等語法,提來定義 syntax 用的。