
四處皆通用
|
239
而且可以運作的很好。而且因為我們替任何 lambda 演算運算式執行這項轉譯,因此 Iota
依然是另一種通用語言。
標籤系統
標籤系統
(
tag system
)是一種運算模型,它的運作就像簡化的圖靈機:標籤系統運算
字串的方式是反覆將新字元加到字串結尾,並且在開頭之處移除它們,而非在磁帶來回
的移動磁帶頭。就某些方面,標籤系統的字串就像圖靈機的磁帶,但是有所限制的是標
籤系統只能運算字串的邊緣,並且它只能以單一方向『移動』(從開頭往結尾)。
標籤系統的描述有兩個部分:首先是規則的集合,其中每條規則在特定字元出現在開頭
時,指定某些字元要附加到字串(例如『字元
a
位在字串開頭,就附加字元
bcd
』); 其
次是稱為
刪除數
(
deletion number
)的數值,它指定了遵循規則之後從字串開頭刪掉的
字元數量。
以下是標籤系統的例子:
• 當字串的開頭是
a
,附加字元
bc
。
• 當字串的開頭是
b
,附加字元
caad
。
• 當字串的開頭是
c
,附加字元
ccd
。
• 遵循上述任何規則之後,從字串開頭刪掉 3 個字元(也就是說刪除數是 3)。
反覆遵循規則並刪除字元,直到字串的第 1 個字元沒有適用的規則,或直到字串長度小
於刪除數,我們可以執行標籤系統運算
6
。讓我們試著以初始字串
'aaaaaa'
來執行範例
的標籤系統:
目前字串 適用的規則
aaaaaa 當字串的開頭是 a,附加字元 bc。
aaa
bc
當字串的開頭是 a,附加字元 bc。
bc
bc
當字串的開頭是 b,附加字元 caad。
c
caad ...