跳至內容

Wren

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Wren
編程範型物件導向手稿語言
設計者Bob Nystrom
釋出時間2014年,​10年前​(2014
目前版本
  • 0.4.0(2021年4月9日)[1]
編輯維基數據連結
型態系統動態, 強型別
實作語言C
作業系統跨平台
特許條款MIT特許條款
副檔名.wren
網站wren.io
主要實作產品
Wren VM / Wren CLI,
啟發語言
SmalltalkLuaErlangC

Wren是一個簡潔、輕量、可延伸的嵌入式手稿語言。Wren的C API和Lua非常相似,有着易於嵌入的優點。在語法上,Wren受到Java的影響,在語意上,Wren和Smalltalk相似。在內部實現上,Wren的翻譯器由一個位元組碼編譯器和一個VM組成。該VM對用戶透明,從外部看上去,Wren似乎是一個直接執行原始碼的手稿語言。Wren在目前(2022)沒有JIT編譯器。翻譯的效率和LuaJIT比起來要慢。

Wren擁有針對C和Rust的庫。在編譯時,可以將庫或者原始碼直接編譯到應用程式當中,實現嵌入。

語言特性

Wren相對於Lua最直觀上的不同在於,其內建了對類(class)的支援。

  • C庫:直接從官網下載編譯
  • Rust庫:ruwren

Wren的數字類型為64位元IEEE754浮點數字。其複雜類型在棧上均使用指標表示,指標則是採用IEEE754中的保留位元位來進行表示,以此對語言實現進行簡化。

參考文獻

  1. ^ Release 0.4.0. 2021年4月9日 [2021年4月22日].