WhatLang
外觀
WhatLang 是預防於 2024 年 6 月最初創造的一門基於堆棧的深奧編程語言(esolang),具有圖靈完備性,其解釋器使用 TypeScript 編寫。
機制
WhatLang 有字符串(String)、數字(Number,64 位浮點數,含 NaN)、數組(Array,可變長度,允許混合類型)與未定義(Undefined)四種值類型,除了使用先進先出的堆棧作為操作數據的基本工具外,也可以操作命名的變量。
WhatLang 代碼使用 ASCII 中數字、字母外的符號作為指令,每個指令都會執行對應的動作,包括棧操作(如\交換棧頂二值、:複製棧頂值、_丟棄棧頂值)、運算(+加法或字符串拼接、-*/%常規運算)、流程控制({}循環、!跳出)、數組操作(,;$讀寫刪除元素)等;而使用 @ 指令可以調用內置或自定義的函數(將代碼字符串定義為變量即可作為自定義函數使用)。
應用
WhatLang 解釋器作為一個 Koishi.js 插件誕生,在 QQ 機器人環境下通過內置函數提供了消息操作、網絡請求、數據持久化存儲的接口。LNNBot 搭載了 WhatLang 解釋器並藉此提供了文言文和道本語語言偏好下的特殊數字顯示格式、按名稱搜索 Unicode 字符、七曆轉換、單人 wordle 小遊戲等多項功能。