NEO.K / PLDST程式語言設計師風格譜系
編號PLDST-005
版本v1.0
日期2026-07-30
作者Neo.K
狀態公開版/第一部封頂論文

下載 PDF ↓回到論文索引 ↗

風格的時間相位:設計師思想、語言演化與社群治理如何分離

摘要

程式語言設計師常被賦予一個看似穩定的終身標籤:

這些標籤可以作為初步索引,卻容易將數十年的思想、技術與制度演化壓縮為一個靜態人格。設計者可能改變觀點;語言可能在創始者離開後繼續演化;共同體可能把創始原則制度化,也可能以相同口號支持與原意不同的決策;向後相容可能把早期偶然選擇固定成永久表面;工具與生態還可能建立一套規格之外的「事實語言」。

Niklaus Wirth 從 Pascal 走向 Modula-2 時,曾為修正 Pascal 的缺陷而犧牲向上相容;到了 Oberon,他又依新硬體、系統實作經驗與對軟體膨脹的反思進一步縮減語言。Python 從 Guido van Rossum 的 BDFL 裁決轉為 Steering Council 治理。Rust 使用 Edition 機制,讓部分不向後相容的語法與解析變更採明確 opt-in,同時允許不同 Edition 的 crate 互操作。Go 透過 Go 1 Compatibility Promise 將穩定性變成長期制度承諾,並在 Go 1.21 進一步建立與語言版本相關的相容行為。C++ 的創始設計進入 WG21 後,演化受到多國標準化、既有程式與提案制度共同塑造。ECMAScript 新功能則經 TC39 的 Champion、階段成熟、實作與共識流程進入年度規格。[R1][R2][R3][R4][R5][R6]

本文提出 設計風格時間相位模型(Temporal Phase Model of Design Style, TPM-PL),將下列三條時間線分離:

Σdesigner(t)Llanguage(t)Ggovernance(t)\boxed{ \Sigma_{designer}(t) \neq L_{language}(t) \neq G_{governance}(t) }

其中:

本文進一步定義七個時間相位,以及八種風格流變:

核心命題為:

早期設計原則的延續⇏創始者仍在做決定\boxed{ \text{早期設計原則的延續} \not\Rightarrow \text{創始者仍在做決定} }

以及:

語言今天呈現某種風格⇏創始者在所有時期都持有相同觀點\boxed{ \text{語言今天呈現某種風格} \not\Rightarrow \text{創始者在所有時期都持有相同觀點} }

PLDST 對一位設計師的正確輸出,不應是一個跨越終身的固定分數,而應是一組具有時間、決策範圍、治理背景、證據與信心的風格相位:

Σd={Σd,t1,Σd,t2,,Σd,tn}\Sigma_d = \{ \Sigma_{d,t_1}, \Sigma_{d,t_2}, \dots, \Sigma_{d,t_n} \}

關鍵詞: 程式語言設計、時間相位、語言演化、設計師思想、社群治理、向後相容、Edition、標準化、PLDST


第一部分 為何風格需要時間維度

一、靜態標籤的便利與危險

靜態標籤很方便:

某人=極簡
某語言=安全
某共同體=保守
某委員會=功能擴張

但它會隱藏四個問題:

  1. 設計師在不同年代可能面對不同問題;
  2. 同一原則在不同規模下可能導致相反決策;
  3. 語言進入制度後,決策者已經改變;
  4. 今日特徵可能只是歷史相容性,而不是當代偏好。

二、個人思想不等於語言狀態

設計者可以:

但語言中的既有程式與相容承諾不會因此消失。

因此:

ΔΣdesigner⇏ΔLlanguage\Delta\Sigma_{designer} \not\Rightarrow \Delta L_{language}

設計者改變思想,不代表語言能同步改變。


三、語言狀態不等於治理偏好

某個歷史特徵被保留,可能是因為:

因此:

FeaturePresent(t)⇏FeaturePreferred(t)FeaturePresent(t) \not\Rightarrow FeaturePreferred(t)

四、治理制度不等於社群結果

正式制度可能批准某功能,但生態:

反之,一個未進入核心的模式也可能因程式庫與工具而成為事實標準。


第二部分 三條獨立時間線

五、設計師思想軌跡

定義:

Σd(t)=(Problems,Values,Tradeoffs,RejectedChoices,Responsibility,Complexity,GovernancePreference)t\Sigma_d(t) = ( Problems, Values, Tradeoffs, RejectedChoices, Responsibility, Complexity, GovernancePreference )_t

它只涵蓋能合理歸因於設計者本人的材料:


六、語言技術軌跡

定義:

L(t)=(Syntax,Semantics,TypeSystem,Runtime,Libraries,Tools,Implementations,Compatibility)tL(t) = ( Syntax, Semantics, TypeSystem, Runtime, Libraries, Tools, Implementations, Compatibility )_t

它回答:

某個時間點,使用者實際面對的是什麼語言?


七、治理權力軌跡

定義:

G(t)=(Proposal,Review,Approval,Veto,Release,Maintenance,Representation)tG(t) = ( Proposal, Review, Approval, Veto, Release, Maintenance, Representation )_t

它回答:


八、生態使用軌跡

雖然核心模型以三線為主,完整研究還應保存:

E(t)=(Adoption,Idioms,Libraries,Frameworks,Education,Organizations,Constraints)tE(t) = ( Adoption, Idioms, Libraries, Frameworks, Education, Organizations, Constraints )_t

因為語言的有效風格常由生態而非規格單獨決定。


九、觀察到的風格

某時間點外界感受到的語言風格可表示為:

OL(t)=αtΣd(t)+βtL(t)+γtG(t)+δtE(t)+ϵtX(t)O_L(t) = \alpha_t\Sigma_d(t) + \beta_tL(t) + \gamma_tG(t) + \delta_tE(t) + \epsilon_tX(t)

其中 X(t)X(t) 是硬體、平台、公司與時代限制。

各權重會隨時間改變。創始期通常 αt\alpha_t 高;制度成熟後, γt\gamma_tδt\delta_t 可能上升。


第三部分 七個時間相位

十、相位一:問題孕育期

特徵:

主要資料:

風險:


十一、相位二:創始凝結期

特徵:

此時最適合研究個人設計風格,但仍需列出共同設計者與實作者。


十二、相位三:公開擴張期

特徵:

此時可能發生:


十三、相位四:制度化期

特徵:

個人偏好開始被轉譯成可重複制度。


十四、相位五:相容性鎖定期

當程式、生態與組織大量依賴既有行為後:

Freedomdesign(t)Freedom_{design}(t)\downarrow Costchange(t)Cost_{change}(t)\uparrow

此時保留舊特徵不一定表示贊同,而可能是:


十五、相位六:後創始者期

創始者不再具有最終裁決權,可能:

研究此相位時應主要分析制度與共同體,而不是持續替創始者記帳。


十六、相位七:反身重構期

成熟共同體開始主動管理自己的歷史:

語言不再只是演化,而是建立「如何演化」的二階機制。


第四部分 八種風格流變

十七、保留 Conservation

創始原則在後續制度中持續被支持。

例如:

保留需要證據:


十八、放大 Amplification

共同體把原始傾向推得更遠。

例如:

放大後的結果不能完全回寫成創始者本人主張。


十九、弱化 Attenuation

原始原則仍存在,但因生態與相容性而降低優先級。

例如:


二十、反轉 Inversion

後來制度採取與創始期相反的方向。

可能原因:

反轉不應被勉強解釋成「其實仍符合原始精神」,除非有明確證據。


二十一、化石化 Fossilization

一個早期選擇因相容性被永久保存,即使現代設計者不再偏好。

化石特徵:

存在
但不推薦
不能移除
工具警告
新程式避免
舊程式依賴

二十二、分岔 Bifurcation

同一語言或共同體形成兩條路線:

此時不應輸出單一風格。


二十三、制度化 Institutionalization

原本依賴個人判斷的原則,被轉化為:

制度化是原則的程序化,不代表程序能完全保存原始價值。


二十四、回顧性重構 Retrospective Reconstruction

後來的成功、失敗與身份認同會重新敘述早期歷史。

常見形式:

PLDST 必須分開:

contemporary evidence
later recollection
institutional narrative
current interpretation

第五部分 相位邊界判定

二十五、不能只按版本號分期

版本號未必代表權力或思想轉換。

真正相位邊界可能是:


二十六、相位轉換指標

定義事件集合:

B={bauthority,bcompatibility,bimplementation,bcommunity,bspecification,becosystem}B= \{ b_{authority}, b_{compatibility}, b_{implementation}, b_{community}, b_{specification}, b_{ecosystem} \}

若多項指標同時改變,可判定相位轉換。


二十七、權力轉換

當下列主體改變時:

治理相位可能已變。


二十八、相容性轉換

當專案首次承諾:

設計自由的時間結構已改變。


二十九、實作轉換

第一個實作與多個獨立實作之間,語言規格的地位會改變。

單一實作時:

ImplementationSpecificationImplementation\approx Specification

多實作時必須更清楚區分:

SpecificationImplementationSpecification \neq Implementation

第六部分 代表案例

三十、Wirth:相位不是單純維持極簡

Wirth 的語言歷程至少包含:

ALGOL W
→ Pascal
→ Modula/Modula-2
→ Oberon
→ Oberon-07

ETH 的專案回顧指出,他從 Pascal 轉向 Modula-2 時,願意犧牲向上相容以避免 Pascal 的缺陷;其後又因大型系統、模組、併行與硬體經驗持續修正設計。[R1]

在 Modula-2 到 Oberon 的回顧中,Wirth 也具體說明硬體變化如何改變程式碼密度、指令選擇與編譯器設計考量。[R1]

因此他的風格不是靜態的「永遠刪功能」,而更接近:

持續尋找最小且足以支撐當前系統的機制
願意以新語言修正舊語言
讓硬體與完整系統實作反饋語言設計

這是一種相位化極簡,而非固定功能數量。


三十一、Python:思想延續與治理權轉移

Python 的可讀性、實用性與開放整合原則在多個時期仍可觀察,但治理已發生根本轉換。

PEP 13 記錄:

因此:

StyleContinuityAuthorityDiscontinuityStyleContinuity \land AuthorityDiscontinuity

可以同時成立。

今日 Python 仍可能延續早期風格,但新決策的正式歸因需放在 PEP、Delegate、Core Team 與 Steering Council。


三十二、Rust Edition:將斷裂限制在明確相位

Rust Edition Guide 說明:

這建立:

LanguageVersionEditionLanguageVersion \neq Edition

Edition 不是傳統 major-version 全面斷裂,而是局部管理解析、關鍵字與部分語言變更的時間邊界。Rust Book 將 Edition 差異概括為編譯器初始解析方式的差異;本文採此官方相容模型,但不將它擴張為「所有 Rust 語義演化都只涉及 Parser」的普遍斷言。

其制度風格為:

允許修正
但限制跨代破壞
提供遷移工具
維持生態互操作

Rust 2024 的相容 Lint 與 cargo fix --edition 進一步把相位轉換工具化。[R7]


三十三、Go:相容承諾形成演化重力

Go 1 Compatibility Promise 的基本期待是:為 Go 1 撰寫的程式應在後續 Go 1 版本中持續編譯與正確運行,但官方文件也列出安全、未指定行為、工具與 Bug 修正等邊界。[R4]

這使 Go 語言設計進入相容性鎖定期。

後續語言變更需通過提案與語言審查;Go Team 對 Go 2 的討論也明確傾向拒絕尚未充分發展、收益不足以支付永久成本的功能。[R8]

Go 1.21 又透過版本與 GODEBUG 相容行為,強化新工具鏈對舊版本語義的支援。[R4]

因此 Go 的「簡潔」在後期不只是創始者審美,而是:

共同維持的制度結果。


三十四、C++:創始原則與標準化疊加

Stroustrup 的原始設計持續影響:

但 C++ 的現代演化由 WG21 多國專家、Working Groups、Papers、實作者與既有程式共同塑造。WG21 成立於 1990–1991 年,現代語言已經歷多次標準版本。[R5]

因此 C++ 應至少分為:

C with Classes 創始期
早期 C++ 擴張期
ARM/標準化前期
C++98 制度定型
C++11 現代化
後續週期性標準演化

「C++ 風格」在後期是個人原則、委員會制度與相容性歷史的疊加,而非單一意志。


三十五、ECMAScript:從快速創始到年度制度演化

JavaScript 的早期形成與今日 ECMAScript 規格制度具有完全不同的時間條件。

TC39 Process 要求 Stage 1 以上提案由委員會擁有,並透過逐階成熟處理問題、規格文字、實作、測試與共識;完成 Stage 4 的提案會進入後續年度規格。[R6]

因此今日 ECMAScript 功能應描述為:

某 Champion 推動
TC39 共同體審查
引擎實作者提供回饋
Test262 與規格編輯驗證
共識後進入規格

它不是創始者風格的直接延伸。


第七部分 思想變化的判定

三十六、何謂設計者真正改變觀點

不能只因某語言新增功能就說設計者改變思想。

至少需要:

  1. 本人後期明確陳述;
  2. 由本人直接控制的後期決策;
  3. 多項決策呈現一致方向;
  4. 排除相容性與制度強迫;
  5. 與早期材料比較。

三十七、觀點修正與問題改變

設計者可能沒有改變價值,而是問題尺度改變。

例如:

相同原則在新尺度下可能產生不同機制。


三十八、工具改變可行選項

新技術可能讓過去昂貴的設計變得可行:

因此後期決策不同,不必然表示價值反轉。


三十九、沉默不等於同意

創始者沒有公開反對某項後期功能,不代表:

PLDST 只依可確認決策。


第八部分 時間相位資料模型

四十、相位記錄

phase_id
designer_or_body
language
start_date
end_date
trigger_events
decision_authority
active_constraints
core_values
representative_decisions
rejected_decisions
compatibility_regime
implementation_regime
ecosystem_scale
evidence
confidence

四十一、決策時間標記

每筆決策 qq 保存:

q=(tproposal,tdecision,timplementation,tstabilization,tadoption,tdeprecation)q= ( t_{proposal}, t_{decision}, t_{implementation}, t_{stabilization}, t_{adoption}, t_{deprecation} )

同一功能的提出、接受、實作與廣泛採用可能相隔多年。


四十二、風格相位向量

Σa,p=(V,C,R,E,G,X)\Sigma_{a,p} = ( V, C, R, E, G, X )

其中:


四十三、相位差

比較兩相位:

ΔΣpipj=ΣpjΣpi\Delta\Sigma_{p_i\rightarrow p_j} = \Sigma_{p_j}-\Sigma_{p_i}

輸出不只顯示數值,還要分類:

保留
放大
弱化
反轉
化石化
分岔
制度化
不可判定

第九部分 PLDST 個案研究規則

四十四、不得使用終身平均

錯誤格式:

Guido 的治理集中度:8/10

因為 BDFL 與 Steering Council 時期完全不同。

正確格式:

創始/BDFL 期:最終裁決高度集中
後 BDFL 期:個人創始影響仍在,但正式權力轉移至 Council

四十五、人物與語言同時分期

每個人物個案至少建立兩張表:

設計師思想相位

早期問題
核心形成
公開回顧
後期修正
退出後觀點

語言演化相位

原型
首次發布
穩定版本
治理制度
相容鎖定
後創始者

兩張表不得強制一一對齊。


四十六、制度變更必須單獨成段

若出現:

必須說明它如何改變決策權重。


四十七、歷史特徵分類

每個現存特徵標記為:

active preference
compatibility fossil
institutional compromise
ecosystem convention
implementation constraint
deprecated legacy

第十部分 時間相位下的風格比較

四十八、同時期比較

比較設計者應優先選擇相近時期與規模:

避免以現代工具要求早期設計。


四十九、跨時期比較

跨時期比較應問:


五十、同一設計者跨作品比較

這是辨識深層風格的重要方法。

例如 Wirth:

若特徵改變但取捨規則重複
→ 深層風格可能保留

若取捨規則也改變:

→ 思想相位可能轉換

第十一部分 PLDST SKILL 規格

五十一、輸入

designer
language
time_range
decision
version
governance_event
source_documents

五十二、處理管線

重新網路搜尋
→ 時間線建立
→ 人物/語言/治理三線分離
→ 相位邊界偵測
→ 決策歸因
→ 風格流變分類
→ 相容性化石檢查
→ 回顧性重構檢查
→ 反例搜尋
→ 第二輪事實校對
→ 報告

五十三、相位邊界演算法雛形

for each event:
    if authority changed:
        add governance boundary
    if compatibility regime changed:
        add compatibility boundary
    if implementation count changed materially:
        add implementation boundary
    if founder exited:
        add post-founder boundary
    if edition/major migration introduced:
        add reflexive-evolution boundary

merge nearby boundaries
require source evidence
assign confidence

五十四、輸出 JSON 雛形

{
  "subject": "Python governance style",
  "phases": [
    {
      "name": "BDFL phase",
      "authority": ["Guido van Rossum"],
      "style": {
        "decision_centralization": "high",
        "delegation": "present"
      }
    },
    {
      "name": "Steering Council phase",
      "authority": ["elected steering council"],
      "style": {
        "decision_centralization": "collective",
        "delegation": "high",
        "formal_process": "high"
      }
    }
  ],
  "continuities": ["PEP-based public design"],
  "discontinuities": ["final authority"],
  "founder_attribution_limit": "post-2018 decisions require separate attribution"
}

五十五、SKILL 禁止事項

不得:


第十二部分 對第一部方法論的整合

五十六、PLDST-001:決策風格

第一篇建立:

Σd,t=(Context,Problem,Values,Complexity,Responsibility,Evolution)\Sigma_{d,t} = ( Context, Problem, Values, Complexity, Responsibility, Evolution )

本篇正式將 tt 從標記提升為核心分析維度。


五十七、PLDST-002:複雜度配置

複雜度配置會隨相位改變:

因此:

C(d,t)C(d)\mathbf{C}(d,t) \neq \mathbf{C}(d)

五十八、PLDST-003:責任配置

責任也會隨制度轉移:

創始者裁決
→ Core team
→ Council/Committee
→ Tool/Migration/Compatibility policy

所以:

Resp(a,k,t)Resp(a,k,t)

必須帶時間索引。


五十九、PLDST-004:多主體歸因

上一文建立:

CreditCausalityAuthorityAccountabilityMaintenanceCredit \neq Causality \neq Authority \neq Accountability \neq Maintenance

本篇補充:這五種歸因都會隨時間改變。


六十、第一部統一模型

PLDST 第一部的完整分析單位為:

D=(Actor,Decision,Context,Time,Style,Complexity,Responsibility,Attribution,Governance,Evidence)\boxed{ \mathfrak{D} = ( Actor, Decision, Context, Time, Style, Complexity, Responsibility, Attribution, Governance, Evidence ) }

這將成為第二部風格原型與第三部人物個案的共同方法。


第十三部分 限制

六十一、相位邊界不是自然唯一

歷史是連續的,研究者畫出的相位是分析工具。

不同研究問題可能需要不同分期。


六十二、文件日期不等於思想形成日期

文章發布時間只證明觀點最晚在該時可被確認,不保證觀點在那天才形成。


六十三、制度規則不等於實際行為

正式文件可能與實際權力、公司資源與非正式影響不同。

需要結合:


六十四、相容性化石難以判定

一個舊特徵也可能仍受部分使用者喜愛。除非有:

否則不應武斷稱為化石。


六十五、創始者思想可能多線並存

設計者可以同時:

相位分析不能把人變成單一方向向量。


第十四部分 第二輪事實校對紀錄

六十六、Wirth 的相容性與硬體回饋

已核對 ETH 官方專案回顧與〈The History of Modula-2 and Oberon〉:

本文沒有把他的思想簡化成永遠拒絕所有新功能。


六十七、Python 治理

已核對 PEP 13:

因此本文將風格延續與權力斷裂分開。


六十八、Rust Edition

已核對 Rust Edition Guide、Rust Book 與 Edition RFC:

本文沒有把 Edition 說成完全獨立語言或傳統 major version。


六十九、Go 相容性

已核對 Go 1 Compatibility Promise 與 Go 官方相容性文章:

本文沒有將承諾誇張為任何程式永不破壞的絕對保證。


七十、C++ WG21

已核對 WG21 官方頁面:

本文保留 Stroustrup 創始原則的持續影響,但未將全部後期標準決策歸於個人。


七十一、TC39

已核對 TC39 Process 與 ECMAScript 規格頁:

本文沒有把現代 ECMAScript 功能回寫成 JavaScript 創始者的直接決策。


第十五部分 結論

程式語言設計風格不是一張永久貼在人物身上的標籤。它是在特定時期、問題、權力、實作與相容條件下,透過一連串決策呈現的模式。

本文將三條時間線正式分離:

Σdesigner(t)Llanguage(t)Ggovernance(t)\boxed{ \Sigma_{designer}(t) \neq L_{language}(t) \neq G_{governance}(t) }

並加入生態與外部條件:

OL(t)=αtΣd(t)+βtL(t)+γtG(t)+δtE(t)+ϵtX(t)O_L(t) = \alpha_t\Sigma_d(t) + \beta_tL(t) + \gamma_tG(t) + \delta_tE(t) + \epsilon_tX(t)

語言風格可能經歷:

保留+放大+弱化+反轉+化石化+分岔+制度化+回顧性重構\boxed{ \text{保留} + \text{放大} + \text{弱化} + \text{反轉} + \text{化石化} + \text{分岔} + \text{制度化} + \text{回顧性重構} }

因此,PLDST 不再輸出:

某設計師一生都是某一派。

而輸出:

在某一時間相位、某組可直接歸因的決策與某種治理結構下,該設計者呈現何種優先序;後續語言與制度如何保留、修正、放大或反轉這些選擇。

第一部至此建立了完整方法論:

  1. 從語言特徵轉向設計決策;
  2. 分析複雜度被如何配置;
  3. 分析錯誤與控制責任由誰承擔;
  4. 分離創始者、共同體與制度;
  5. 以時間相位防止靜態人格化。

其統一分析物件為:

D=(Actor,Decision,Context,Time,Style,Complexity,Responsibility,Attribution,Governance,Evidence)\boxed{ \mathfrak{D} = ( Actor, Decision, Context, Time, Style, Complexity, Responsibility, Attribution, Governance, Evidence ) }

後續第二部將不再只列出「極簡、實用、安全、表達力」等抽象原型,而會用這套方法分析每一種風格在什麼情境形成、把複雜度與責任放到哪裡、如何隨時間演化,以及在何種條件下從優勢轉為負債。


附錄 A 時間相位速查

相位 主要特徵
問題孕育期 問題 framing、前代批判、實驗
創始凝結期 核心設計、第一實作、個人權重高
公開擴張期 使用者、工具、程式庫與壓力測試
制度化期 PEP/RFC/Council/Committee
相容性鎖定期 變更成本、既有程式與承諾
後創始者期 正式權力轉移、制度與共同體主導
反身重構期 Edition、遷移、治理改革、歷史修正

附錄 B 風格流變速查

Conservation
Amplification
Attenuation
Inversion
Fossilization
Bifurcation
Institutionalization
Retrospective Reconstruction

附錄 C 來源與參考文獻

[R1] Niklaus Wirth, “The History of Modula-2 and Oberon,” revised manuscript, 2006; ETH Zürich project history and Oberon language reports.
— Pascal、Modula-2、Oberon 的設計演化、相容選擇、系統實作與硬體回饋。

[R2] Python Enhancement Proposals, “PEP 13 – Python Language Governance,” and related PEP 8000-series governance records.
— BDFL 時期、2018 年治理轉換與 Steering Council。

[R3] Rust Project, The Rust Edition Guide, The Rust Programming Language, RFC 2052, RFC 3085, and RFC 3501.
— Edition 的 opt-in、跨 Edition 互操作、遷移與週期制度。

[R4] Go Project, “Go 1 and the Future of Go Programs,” “Backward Compatibility, Go 1.21, and Go 2,” and Go language proposal documentation.
— Go 1 相容承諾、例外、語言版本與 GODEBUG 相容機制。

[R5] ISO/IEC JTC1/SC22/WG21 official committee pages and Bjarne Stroustrup, The Design and Evolution of C++.
— C++ 創始設計、標準化與多階段演化。

[R6] Ecma TC39, “The TC39 Process,” and the ECMAScript specification repository.
— Champion、提案階段、委員會所有、實作與年度規格。

[R7] Rust Edition Guide, Rust 2024 migration chapters and compatibility lint documentation.
cargo fix --edition 與 Edition migration。

[R8] Go Project, “Go 2, here we come!,” “Toward Go 2,” “Proposals for Go 1.15,” and Contribution Guide.
— 語言提案門檻、功能成本、經驗與受控演化。


附錄 D PLDST 時間標記

[T-F] Founder phase
[T-C] Core formation
[T-E] Expansion
[T-I] Institutionalization
[T-L] Compatibility lock-in
[T-P] Post-founder
[T-R] Reflexive reconstruction

[S-C] Conservation
[S-A] Amplification
[S-W] Attenuation
[S-I] Inversion
[S-F] Fossilization
[S-B] Bifurcation
[S-N] Institutionalization
[S-R] Retrospective reconstruction