MLF 1.0 · mlfc 1.0.0
English

編譯器

它會把載不動的東西寫下來。

每個匯入器都會掉東西。差別在於它說不說。mlfc 把不支援或只能部分重建的行為記進 reports/import_loss.json,而不是端出一份它撐不起來的乾淨封包。

穩定指令

v1.0 的穩定指令表面:

text
compile      validate     migrate
inspect      fingerprint  export
diff         batch-validate
audit-dependencies
schedule     shard-plan   project

資料集、模型、推論、覆核、校準、OOD 與外部接收的指令也存在。它們的輸出是受治理或實驗性的產物,不是自動成立的真相 —— 見安全頁

CSV

  • 二維座標。
  • 原始型別推論。
  • 表頭與本體區域推論。
  • 列優先與欄優先路徑。
  • 一份明確的轉換損失報告。

Markdown

  • 標題、段落、清單、引用、程式碼圍欄與表格。
  • 來源行號對映。
  • 順序性的閱讀相依。
  • 表格各自成為獨立矩陣。

一份 Markdown 文件看起來不像矩陣。把它的表格當成獨立矩陣、把它的閱讀順序當成相依邊,就是讓它成為矩陣、又不假裝散文是表格的那個選擇。

XLSX,有界

這裡真正在做事的詞是有界。子集被明確寫出來,界外的一切是被回報,而不是被近似。

  • 多張工作表。
  • 數值、公式,以及可取得時的快取值。
  • 有界的 Excel A1 公式 AST。
  • 跨工作表相依。
  • 簡單的具名參照與結構化參照。
  • 表格、合併、篩選與具名範圍的區域。
  • 常見的樣式與版面中繼資料。
  • 安全副本匯出,永不覆寫來源。
內容

不支援或只能部分重建的行為會被記錄下來,而不是默默猜過去。

遷移

舊版 MLF 0.1 封包可以遷移到 1.0,而原始檔不會被修改。

bash
mlfc migrate examples/legacy/sample-v0.1.mlf examples/output/sample-v1.0.mlf

這次遷移是決定性且非破壞性的,而且必須保留語意與呈現指紋。那個要求在發布執行中被實際檢查,不是假設。

參考實作

MLF Compiler 1.0.0 是一個參考實作,這是一個具體的主張:它定義了穩定表面上「什麼叫符合規範的行為」,而它不主張自己是產生有效封包的唯一或最快方式。

發行版
mlf-compiler
套件
mlf_compiler
CLI
mlfc
Python
3.11 以上
Tag
v1.0.0