很棒的 Web 彙編語言
WebAssembly,簡稱 wasm,是一種低階字節碼格式,就像 JavaScript 一樣在瀏覽器中運作。它的設計目標是比 JavaScript 解析速度更快,執行速度也更快,這使其成為新語言和現有語言的合適編譯目標。
此儲存庫包含目前編譯為 WebAssembly(wasm) 或在 WebAssembly(wasm) 中擁有其 VM 的語言列表
內容
? - 生產中。
? - 生產使用穩定。
- 。
- 彙編腳本
- 腦殘
- C#
- 乾淨的
- 網路
- 科博爾
- 鏢
- F#
- 福斯
- 糧食
- 虛擬儀器
- 龍蝦
- 洛克斯
- 盧阿
- 內魯阿
- 絕不
- 雷戈
- 打字稿
- 網路組裝
- 之字形
? - 不穩定但可用。
- 艾達
- C4wa
- 水晶
- D
- 閃電泡芙
- 鰻魚
- 靈丹妙藥
- 珍妮特
- 爪哇
- JavaScript
- 倫敦大學學院
- 科特林/瓦斯姆
- 口齒不清
- 賴氨酸
- 帕斯卡
- 珀爾
- PHP
- 詩
- Python
- 序言
- 右
- 戒指
- 紅寶石
- 方案
- 範圍
- 迅速
- 鉈
- V
- 維吉爾
- 佤族
- 旺基
? - 工作正在進行中。
- 芭蕾舞女演員
- 基本的
- 鈷
- 浮士德
- 森林
- 哈斯克爾
- 茱莉亞
- 寇
- 月比特
- 書呆子
- 尼姆
- 奧卡梅爾
- 普洛斯
- 鵬
- 西塔
- 早瀨
- xcc
☠️ - 未維護或已棄用
阿斯特羅Unmaintained
伊德里斯Unmaintained
Speedy.js Unmaintained
渦輪腳本Unmaintained
哇Unmaintained
沃特Unmaintained
沃姆Unmaintained
拉克特Unmaintained
.網頂⇈
.NET Framework 是 Microsoft 開發的軟體框架,主要運行在 Microsoft Windows 上。它包括一個名為框架類別庫 (FCL) 的大型類別庫,並提供跨多種程式語言的語言互通性(每種語言可以使用用其他語言編寫的程式碼)。
- Mono - Microsoft .NET Framework 的開源實現,基於 C# 和公共語言執行時期的 ECMA 標準。有關實際範例,請參閱此儲存庫,其中包含 Windows 10 計算器。該應用程式使用標準 C++ 11 和 C++/CX 構建,其計算引擎可追溯到 1995 年。
- Blazor - 使用 C#/Razor 和 HTML 的 Web UI 框架,透過 WebAssembly 在用戶端運作。原始碼維護在 ASP.Net Core 儲存庫上。
- Bolero - Bolero 為 F# 開發人員帶來 Blazor,提供易於使用的模型-視圖-更新架構、HTML 組合器、熱重載模板、類型安全端點、進階路由和遠端處理功能等。
- NativeAOT-LLVM - CoreCLR .NET 運行時的實驗性分支,可將 .NET 應用程式編譯為單文件可執行文件,主要目標是 WASM
阿達頂⇈
Ada 是一種結構化、靜態類型、命令式和物件導向的高階程式語言,受到 Pascal 和其他語言的啟發。它具有對契約設計 (DbC)、極強類型、顯式並發、任務、同步訊息傳遞、受保護物件和非確定性的內建語言支援。 Ada 透過使用編譯器來尋找有利於執行時間錯誤的錯誤來提高程式碼安全性和可維護性。
- adawebpack - 用於 WebAssembly 目標的 GNAT-LLVM 編譯器,用於 Web API 的 GNAT 運行時庫和 AdaWebPack 綁定.
- adagl - 多平台 Ada/OpenGL 綁定(移植到本機/OpenGL、A2JS/WebGL 和 WASM/WebGL)。
- adawebui - 基於 adawebpack 的 GUI。
AssemblyScript頂部⇈
AssemblyScript 是一個針對 WebAssembly 的新編譯器,同時利用 TypeScript 的語法和 Node 充滿活力的生態系統。您無需設定複雜的工具鏈,只需 npm 安裝它 - 或在瀏覽器中運行它。
天文頂⇈
Astro 是一種有趣的安全語言,適用於快速原型設計和高效能應用程式。
Astro - 主儲存庫。 Unmaintained
芭蕾舞上衣⇈
Ballerina 是一種用於雲端的開源程式語言,可以更輕鬆地使用、組合和建立網路服務。 WebAssembly 編譯器是針對本機 Ballerina 編譯器 nBallerina 實現的。
- 主儲存庫 - Ballerina-to-wasm 編譯器
基本頂部⇈
BASIC(「初學者通用符號指令代碼」的縮寫)是一種早期的通用高階程式語言。它仍然是最簡單易學的語言之一。
- basic_rs - 用 Rust 寫的原始達特茅斯版本的基本解釋器/編譯器。也提供
basic2wasm
工具,使用 binaryen 將 BASIC 編譯為 WebAssembly。 - basicwasm - 使用 Web UI 編譯為 WASM 的 GWBasic 解譯器。
- EndBASIC - 具有 REPL、Web 介面、圖形控制台和用 Rust 編寫的 RPi 支援的基本環境.你可以在這裡嘗試一下。
- gobasic - 用 Golang 寫的 BASIC 解譯器。
腦殘頂⇈
Brainfuck 是一種深奧的程式語言,由 Urban Müller 於 1993 年創建,以其極端極簡主義而聞名。該語言僅由八個簡單命令和一個指令指標組成。雖然它是完全圖靈完備的,但它並不是為了實際使用,而是為了挑戰和娛樂程式設計師。
- BrainfuckWeb assembly - 一個功能簡單的 Brainfuck-to-wasm 編譯器。
- Brainfuck2Wasm - Brainfuck-to-wasm 編譯器和遊樂場。
- BrainfuckRsWasm - 用 Rust 編寫並編譯為 WebAssembly 的 Brainfuck 解釋器。
- Brainfuck Wa-lang - 用凹語言/Wa-lang 編寫並編譯為 WebAssembly 的 Brainfuck 解釋器.
- bfwasm - 具有 WASI 支援的非最佳化 Brainf_ck 到 WebAssembly 編譯器。
C頂⇈
C 是一種通用的命令式電腦程式語言,支援結構化程式設計、詞法變數範圍和遞歸,而靜態類型系統可以防止許多意外操作。 C 最初由 Dennis Ritchie 在 1969 年至 1973 年間在貝爾實驗室[6]開發,用於重新實現 Unix 作業系統。
- Emscripten - LLVM 到 JavaScript/WebAssembly 編譯器。它採用 LLVM 位元碼(可以使用 llvm-gcc (DragonEgg) 或 clang,或任何其他可以轉換為 LLVM 的語言從 C/C++ 產生)並將其編譯為 JavaScript 或 wasm。
- Cheerp - 用於 Web 應用程式的開源企業級 C/C++ 編譯器。 Cheerp 幾乎可以將任何 C/C++ 程式碼編譯為 WebAssembly 和/或 JavaScript。
C#頂部⇈
C# 是一種多範式程式語言,涵蓋強型別、命令式、宣告式、函數式、泛型、物件導向(基於類別)和元件為導向的程式設計規則。其開發團隊由 Anders Hejlsberg 領導。 WebAssembly 支援是透過 Blazor 實現的。
C++頂部⇈
C++ 是一種通用程式語言。它具有命令式、物件導向和通用程式設計功能,同時還提供低階記憶體操作的設施。它的設計偏向系統編程和嵌入式、資源受限的大型系統,以性能、效率和使用靈活性作為其設計亮點。該語言的開發由 Bjarne Stroustrup 於 1979 年作為“C with Classes”開始。
c4wa頂部⇈
C4wa(「C for Web Assembly」)是標準 C 的子集,專門針對簡單且有效率的 Web Assembly 編譯。產生的 WASM 檔案不包含任何開銷,開箱即用,與任何 Web Assembly 運行時相容,支援匯入可變參數函數(例如printf
)。還有一個選項可以建立格式良好且可讀的 WAT 檔案。
乾淨的頂部⇈
Clean 是一種通用、最先進、純粹且惰性的函數式程式語言,專為製作實際應用程式而設計。它最顯著的一些語言特性是唯一性類型、動態類型和泛型函數。
- ABC 解譯器 - Clean 中間語言 ABC 的解譯器,具有 WebAssembly 版本。
- iTasks - 上述 ABC 解釋器與瀏覽器應用程式的整合。
共頂⇈
類似 Go 和 TypeScript 的程式語言。
COBOL頂部⇈
COBOL 是一種專為商業用途而設計的類似英語的編譯型程式語言。它是命令式的、過程性的、物件導向的。 COBOL 主要用於商業、財務和管理系統。
- Cobaul - 用於在 CloudFlare 工作人員中支援 COBOL 的工具鏈
水晶頂⇈
Crystal 是一種程式語言,其目標如下:
- 具有與 Ruby 類似的語法(但與其相容不是目標)
- 靜態類型檢查,但無需指定變數或方法參數的類型。
- 能夠透過在 Crystal 中編寫綁定來呼叫 C 程式碼。
- 具有編譯時評估和程式碼生成,以避免樣板程式碼。
- 編譯為高效率的本機程式碼。
- Crystal - 主儲存庫
- POC PR - PR 增加對 WebAssembly 的初步支持
網路頂⇈
快速、有效率、並發的腳本編寫。動態型和漸層型;與纖程的併發;多線程;記憶體安全; FFI 和可嵌入。
D頂⇈
D 是一種通用程式語言,具有靜態類型、系統級存取和類似 C 的語法。
- LDC - 基於 LLVM 的 D 編譯器,從 1.11.0 版本開始可以產生 WASM。
省道頂⇈
一種平易近人、可移植且高效的語言,適用於任何平台上的高品質應用程式
- sdk - Dart SDK,包括 VM、dart2js、核心函式庫等。
- language - Dart 語言的設計
- 透過 Flutter 使用 - 如何將 Dart 編譯為 Flutter Web 應用程式的 WebAssembly
閃電泡芙頂部⇈
Eclair 是一種最小、快速的 Datalog 實現,可編譯為 LLVM IR 和 WASM。
- eclair-lang - Eclair 編譯器,可以將 Eclair 程式碼編譯為 LLVM IR 和 WASM。
鰻魚頂⇈
Eel 是一種小型語言,用於為 Milkdrop(Winamp 附帶的音樂視覺化程式)編寫視覺化工具「預設」。
- eel-wasm - 在瀏覽器中將 Milkdrop 風味的 Eel 編譯為 Wasm.旨在成為 Butterchurn 的一個元件,Butterchurn 是 Milkdrop Visualizer 的 WebGL 實作。
靈丹妙藥頂⇈
Elixir 是一種動態的函數式語言,旨在建立可擴展且可維護的應用程式。 Elixir 建構在 Erlang 之上,並分享相同的抽象來建立分散式、容錯應用程式。
- Lumen - 專為 WebAssembly 設計的替代 BEAM 實作(帶有 AOT 編譯器)。
ElixirWasm - wasm 的 Elixir 編譯器. [未維護]
F#上⇈
F# 是一種成熟、開源、跨平台、功能優先的程式語言。它使用戶和組織能夠使用簡單、可維護和健壯的程式碼來解決複雜的計算問題。 WebAssembly 支援是透過 Bolero 實現的,Bolero 是一組建立在 Blazor 之上的免費開源程式庫和工具。 F# 主要由 Microsoft Research 的 Don Syme 構思,但現在由 F# 基金會及其社區維護。
浮士德頂⇈
Faust(函數式音訊串流)是一種專為即時訊號處理和合成而設計的函數式程式語言。 《浮士德》的一個顯著特點就是完全編撰。
森林之巔⇈
Forest 是一種編譯為 WebAssembly 的函數式程式語言。主要儲存庫包含編譯器和核心語法,目前在 Haskell 中實作。
第四頂⇈
Forth 是一種互動式、可擴展、命令式、無型別、基於堆疊的程式語言。
- WASM Forth - wasm 的第四次實現.
- WAForth - 在 WebAssembly 中引導動態 Forth 解釋器/編譯器。
回到頂部⇈
Go 是一種繼承了 C 傳統的靜態類型編譯語言,增加了記憶體安全、垃圾收集、結構類型和 CSP 風格的並發程式設計功能。
- Go - 主儲存庫。
- TinyGo - 針對嵌入式裝置和 WebAssembly 的 Go 子集。
粒面頂部⇈
Grain 是一種為現代 Web 建構的強型別函數式程式語言。
- Grain - 主要儲存庫。
- GrainWeb - 網頁。
哈斯克爾頂⇈
Haskell 是一種標準化、通用的純函數式程式語言,具有非嚴格語義和強靜態類型。它以邏輯學家 Haskell Curry 的名字命名。 Haskell 的最新標準是 Haskell 2010。
- Asterius - Haskell 到 WebAssembly 編譯器
- DHC - 一個 Haskell 編譯器,僅接受該語言的一小部分並產生 WebAssembly 二進位。
HaskellWasm - 用於產生 WebAssembly 的 Haskell 編譯器基礎架構。 [未維護]- haskell-wasm -Haskell WebAssembly 工具包.它包括語言助手和完全相容規範的 WASM 解釋器。
- wasm-cross - 使用 WebGHC 和 LLVM 將 C 和 Haskell 交叉編譯為 WebAssembly 的工具鏈。
伊德里斯·頂⇈
Idris 是一種具有依賴型別的通用純函數式程式語言。依賴類型允許類型基於值進行謂詞,這意味著程式行為的某些方面可以在類型中精確指定。它是經過熱切評估而編譯的。它的功能受到 Haskell 和 ML 的影響。
Idris-codegen-WASM - WASM 程式碼產生儲存庫。 Unmaintained
珍妮特頂⇈
Janet 是一種很好的系統腳本語言,或是一種嵌入其他程式的語言。它就像一個“現代 Lisp”,具有出色且簡單的 C 互通性和各種資料類型,如陣列、結構體、表等。
Java頂部⇈
Java 是一種通用電腦程式語言,它是並發的、基於類別的、物件導向的,並且專門設計為具有盡可能少的實作依賴性。它的目的是讓應用程式開發人員「編寫一次,隨處運行」(WORA),這意味著編譯後的Java程式碼可以在所有支援Java的平台上運行,而無需重新編譯。 Java 最初由 Sun Microsystems 的 James Gosling 開發,並於 1995 年作為 Sun Microsystems Java 平台的核心元件發布。語言的大部分語法源自於 C 和 C++,但它的低級設施比這兩者都少。
- TeaVM - Java 字節碼的提前翻譯編譯器(轉譯器),能夠產生 JavaScript 和 WebAssembly。
- JWebAssembly - WebAssembly 編譯器的 Java 字節碼。它可以產生 WebAssembly 二進位或文字格式。它是用 Java 本身編寫的,可以與其他 Java 建置工具整合。
- Bytecoder - Java 字節碼和框架的豐富域模型,用於將其解釋和轉換為其他語言,例如 JavaScript、OpenCL 或 WebAssembly。
- CheerpJ - 用於 Web 的 Java 編譯器,可將任何 Java 用戶端應用程式轉換為標準 HTML5/WebAssembly/JavaScript。
- Rise JVM - Rise JVM 是一個基於 WASM 的最小 Java VM。你可以在這裡嘗試一下。
JavaScript頂部⇈
JavaScript 是一種高階解釋性程式語言,符合 ECMAScript 規範。它是一種具有動態、弱型、基於原型和多範式的語言。
- Duktape - 一個嵌入式 Javascript 引擎,專注於可移植性和緊湊的佔用空間,能夠透過 WebAssembly 在瀏覽器中運作。
- Javy - 一個 JavaScript 到 WebAssembly 工具鏈,能夠透過嵌入 QuickJS 引擎從 JS 產生 WASI 相容的模組。
- SpiderMonkey - SpiderMonkey 的實驗性 Rust 綁定和通用內建函數,用於從 JavaScript 建立 WASI 相容模組。
- Quickjs-emscripten - 在 JS/TS 中安全地執行不受信任的 Javascript,並執行使用非同步函數的同步程式碼。
- wasmedge-quickjs - WasmEdge 的高效能、安全、可擴充且符合 OCI 的 JavaScript 執行階段。透過 WasmEdge 套接字提供 TCP/UDP 支援。
- Boa - 一個用 Rust 寫的嵌入式實驗性 Javascript 引擎。你可以在這裡嘗試一下。
- goja - ECMAScript 5.1 的純 Go 實現,強調標準合規性和效能。
- otto - 用 Go 原生寫的 JavaScript 解析器和解譯器。
茱莉亞頂⇈
Julia 從一開始就是為了高性能而設計的。 Julia 程式透過 LLVM 編譯為適用於多個平台的高效本機程式碼。
- julia-wasm - Emscripten 和 LLVM Julia 到 WASM 編譯器。
Charlotte.jl - Julia 到 WebAssembly/Javascript 編譯器Unmaintained
- WebAssemblyCompiler.jl - 透過 Binaryen 的 Julia 到 Wasm GC 編譯器
KCL上衣⇈
KCL是一種基於約束的記錄和功能語言,主要用於配置和策略場景。
- KCLVM - 基於 LLVM 的 KCL 編譯器,可以產生 WASM。
Kotlin頂級⇈
Kotlin 是一種現代但已經成熟的程式語言,旨在讓開發人員更快樂。它簡潔、安全、可與 Java 和其他語言互通,並提供多種在多個平台之間重複使用程式碼以進行高效程式設計的方法。
Kotlin/Wasm 是 Kotlin 家族中的新目標和工具鏈。它有一些特殊的屬性:
- 它直接編譯為 Wasm,無需任何額外層,以盡可能快地編譯,包括將來增量編譯。
- 它使用實驗性/新鮮的提案,例如 GC、類型化函數參考、異常處理和 Stringref。
- Kotlin/Wasm(Kotlin WebAssembly)
- Kotlin/Wasm 範例
寇頂⇈
編譯成 wasm 字節碼的最小語言。
LabVIEW頂部⇈
LabVIEW 是用於資料擷取、儀器控制和工業自動化的 G 資料流程圖形程式語言的開發環境。
- G Web 開發軟體 - 一個獨立的開發環境,實現 G 資料流圖形程式語言的子集,為測試和測量應用程式創建基於 Web 的使用者介面。
- Vireo - 一種開源運行時,能夠運行由 G Web 開發軟體創建的 G 資料流圖形程式語言的虛擬儀器元件表示。
口齒不清頂部⇈
Lisp(歷史上為 LISP)是一個歷史悠久的程式語言家族,具有獨特的、全括號的前綴表示法。
- Femto Emacs - 將 Low Level Lisp 轉換為 WebAssembly。
- Wisp -Wisp 是一個用於 WebAssembly 和本機執行的 Lisp 系統.
龍蝦頂⇈
Lobster 是一種靜態類型語言,具有流敏感類型推斷和專門化、編譯時引用計數(生命週期分析),看起來有點像 Python。它最初是專門用於遊戲的。 Lobster 有自己的 Wasm 後端,可以直接編譯為可連結(使用 LLD).wasm 檔案。
- 龍蝦回家。
- 龍蝦文檔
- 龍蝦 github
- 編譯為 Wasm - 如何編譯。
- Wasm 後端詳細資訊 - 它是如何實現的,對於其他語言實作者很有用。
洛克斯頂⇈
Lox 是 Bob Nystrom 創建的一種語言,在《Crafting Interpreters》一書中用於教授編譯器。它是動態類型的,支援類別、閉包和一等函數。
- loxcraft 使用 WebAssembly 作為其線上遊樂場。
盧阿頂⇈
Lua 是一種輕量級、多範式程式語言,主要為嵌入式系統和客戶端設計。 Lua 是跨平台的,因為解釋器是用 ANSI C 編寫的,並且具有相對簡單的 C API。 Lua 最初設計於 1993 年,作為一種擴展軟體應用程式的語言,以滿足當時日益增長的客製化需求。
- WasmLua - 在瀏覽器中執行的 Lua VM。
- Luwa - Lua 到 wasm JIT 編譯器。
- Wasmoon - 具有 JS 綁定的高級 Lua VM。
- Wasm2Lua - 可以將 WebAssembly 模組編譯為純 Lua(或使用 FFI LuaJIT 以獲得額外速度)。
- DCLua - 用 Go 寫的 Lua 5.3 VM 和編譯器。它的目的是允許輕鬆嵌入 Go 程式中,並且盡量減少麻煩和麻煩。
- erdian718/lua(又稱 ofunc/lua) - DCLua 的分支,具有 IO 功能、HTTP 用戶端、IoC 等。
- GopherLua - 用 Go 寫的 Lua5.1(+ Lua5.2 中的 goto 語句)VM 和編譯器。它提供了 Go API,使您可以輕鬆地將腳本語言嵌入 Go 主機程式中。
- Pluto - Lua 5.4 的超集,專注於通用程式設計。你可以在這裡嘗試一下。
- PlutoScript - Pluto 的擴充功能旨在用於 Web 腳本編寫。提供 JS 互通以及在 JavaScript 運行的任何地方使用 Pluto 的能力。
賴斯頂⇈
Lys 是一種類型化函數語言,可以直接編譯為 WebAssembly。
MoonBit頂部⇈
MoonBit 是一種使用 WebAssembly 的用於雲端和邊緣運算的端對端程式語言工具鏈。該語言類似於 Rust,支援 GC。快速編譯器經過最佳化,可產生非常緊湊的 WASM 二進位。
- MoonBit - 主網站。您可以在這裡嘗試該語言。
- 核心函式庫——開源標準函式庫。編譯器原始碼尚不可用。
內魯阿頂⇈
具有 Lua 風格的最小、簡單、高效、靜態類型、可編譯、可元程式設計、安全且可擴展的系統程式語言。
- Nelua - 專案儲存庫
- 網路上的 Nelua - Nelua-wasm 討論
書呆子頂⇈
NerdLang 是 JS 的刪減和一些補充,注重效率。 Nerd 是一個 JavaScript 原生編譯器,旨在使 JavaScript 通用,Nerd 能夠編譯適用於 Windows、Mac、Linux、iOS、Android、Raspberry、STM32、Arduino、Web(包括 WASM)等的原生應用程式。
永不登頂⇈
Never 是一種簡單的函數式程式語言。從技術上講,它可以被分類為語法範圍、強型別、按值呼叫、函數式程式語言。
稔頂⇈
一種具有一些美麗設計模式的邊緣語言。
- nlvm - 基於 LLVM 的 Nim 編譯器,具有開箱即用的 WebAssembly 目標支持
- nwasm - nim 的 WebAssembly 後端。
- Nim wasm helpers - 用於設定配置為使用 Nim 建置 WebAssembly 程式碼的 VM 的說明程式。
奧卡姆頂部⇈
OCaml 原名為 Objective Caml,是程式語言 Caml 的主要實現,由 Xavier Leroy、Jérôme Vouillon、Damien Doligez、Didier Rémy、Ascánder Suárez 等人於 1996 年創建了核心。具有物件導向的程式設計結構。
- Ocaml - 主要儲存庫的一個分支,包含 OCaml 到 wasm 編譯的工作。
OcamlRun - 使用 emscripten 將 OCaml 字節碼解釋器編譯為 wasm 的建置腳本 [未維護]
帕斯卡頂⇈
Pascal 是一種通用命令式、過程式和物件導向的靜態型別程式語言。 Free Pascal 編譯器針對許多處理器架構,包括 wasm32;作業系統,包括 WASI;和嵌入式平台。
- Free Pascal - 免費 Pascal 編譯目標和 Pascal-to-Javascript 執行時間。
Perl頂⇈
Perl 是一種通用程式語言,最初是為文字操作而開發的,現在用於廣泛的任務,包括系統管理、Web 開發、網頁程式設計、GUI 開發等。
PHP頂部⇈
PHP 是一種通用腳本語言,特別適合伺服器端 Web 開發,在這種情況下 PHP 通常運行在 Web 伺服器上。請求檔案中的任何 PHP 程式碼都由 PHP 執行時執行,通常用於建立在網站或其他地方使用的動態網頁內容或動態圖像。
- PIB - 瀏覽器中的 PHP 運行時。
- PHP WASM - 基於 Seanmorris 的工作,維護 PIB 的分支,支援 PHP 8。
- WebAssembly 語言執行階段 - 為 WASI 預先建置的最新 PHP(包括 php-cgi)
普洛斯頂⇈
Plorth 是基於堆疊的、串聯的、強類型的函數式腳本語言,很容易嵌入到用 C++ 編寫的應用程式中。它的靈感來自 Forth 和 Factor 程式語言。
詩頂⇈
Poetry 是一種詩意動態且簡單的程式語言,可編譯為 WebAssembly。它具有類似於 CoffeeScript 的極簡語法,可讓您完全控制 wasm 匯入和匯出。
Python頂部⇈
Python是一種用於通用程式設計的開源解釋型高階程式語言。 Python 由 Guido van Rossum 創建並於 1991 年首次發布,它的設計理念是強調程式碼可讀性,特別是使用大量空格。它提供了能夠在小規模和大規模上進行清晰編程的結構。
- Pyodide - Python 到 WebAssembly 的端口,包括科學 Python 堆疊的核心套件(Numpy、Pandas、matplotlib)。物件在 Python 和 Javascript 之間透明地轉換和共享。
- MicroPython - 適用於微控制器和受限系統的精簡高效的 Python 實作。
- RustPython - 用 Rust 寫的 Python 3 解譯器。在這裡查看演示
- RPython - RPython(PyPy 的受限 Python)到 WebAssembly 編譯器
- TPython - Pythonic++(C++ 的「方言」)到 WebAssembly 編譯器
- micropython-wasm - MicroPython 構建,具有廣泛的 JS 互通性,例如等待 JS 承諾。
- WebAssembly 語言執行階段 - 為 WASI 預先建置的最新 CPython
序言頂部⇈
Prolog 是一種與人工智慧和計算語言學相關的通用邏輯程式語言。 Prolog 植根於一階邏輯,一種形式邏輯,與許多其他程式語言不同,Prolog 主要是作為一種聲明性程式語言:程式邏輯用關係來表達,用事實和規則來表示。透過對這些關係執行查詢來啟動計算。
- SWI-Prolog port to WebAssembly - SWI-Prolog 到 WebAssembly 的連接埠。 SWI-Prolog 是常用於教學和語意 Web 應用程式的程式語言 Prolog 的免費實作。
- Ciao Prolog - 包含基於 Emscripten 的 WebAssembly 編譯目標。 Ciao Prolog 是一種現代 Prolog 實現,旨在可移植、可擴展和模組化。檢查這裡的操場。
R上⇈
R 是一種用於統計計算和圖形的語言和環境。
- WebR - 瀏覽器中的 R。你可以在這裡嘗試一下
雷戈頂⇈
開放策略代理程式 (OPA) 是一種開源通用策略引擎,可統一整個堆疊中的策略實作。 Rego 是一種高階聲明性策略語言,專門用於在複雜的分層資料結構上表達策略。
- OPA-Wasm - 使用 Wasm 編譯和評估 Rego 策略。
- npm-opa-wasm - NPM 模組提供用於使用 Wasm 編譯的 OPA 策略的 SDK。
- rust-opa-wasm - 使用編譯為 Wasm 的 OPA 策略的箱子。
- dotnet-opa-wasm - 從 C# .NET Core 呼叫 Wasm 中的 OPA 策略.
- python-opa-wasm - 適用於 Python 的 OPA Wasm SDK.
- java-opa-wasm - 適用於 Java 的 OPA Wasm SDK.
環頂⇈
Ring是一種簡單、小型、靈活實用的通用多重典範語言。支援的程式設計範式包括命令式、過程式、物件導向、函數式、元程式設計、使用巢狀結構的宣告式程式設計和自然程式設計。該語言是可移植的(MS-DOS、Windows、Linux、macOS、Android、WebAssembly 等),可用於建立控制台、GUI、Web、遊戲和行動應用程式。
- Ring - 主儲存庫。你可以在這裡嘗試一下。
- Ring 中的 WASM 應用程式 - 在 Ring 中實作的示範 Web 應用程式清單。
洛克頂⇈
一種快速、友善、實用的語言。編譯為機器碼或 WASM。 Roc 是 Elm 程式語言的直系後代。
- roc - 主儲存庫。你可以在這裡嘗試一下。
- basic-cli - 一個用於處理檔案、命令、HTTP、TCP、命令列參數等的 Roc 平台。
- basic-webserver - Roc 的基本 Web 伺服器。
紅寶石頂⇈
Ruby 是一種用於通用程式設計的開源解釋型高階程式語言。由馬茨創建。 Ruby 的設計理念是強調程式碼可讀性,特別是使用盡可能少的符號(特殊字元:.{}%[]&=>;
)。
- Wruby Web ruby - 最小 ruby (mruby) 的連接埠。
- run.rb run.rb - 允許您在瀏覽器中執行 Ruby 程式碼
- Artichoke - 用 Rust 和 Ruby 寫的 Ruby 實作。您可以在這裡試試看:https://artichoke.run
- ruby.wasm - CRuby 的「官方」WebAssembly 連接埠的集合。你可以在這裡嘗試一下
- rlang Rlang - Ruby 到 WebAssembly 編譯器(的子集)
- ry-wasm - 使用 Crystal 加速 Ruby 程式碼.透過對 Ruby 程式碼套用簡單的類型限制,將其轉換為 Crystal 程式碼,將其編譯為 WebAssembly,並使用 Wasmer 或 Wasmtime 進行呼叫。
- Ruvy - 用於捆綁 ruby.wasm 的工具鏈,預先初始化並與 Ruby 程式碼捆綁在一起
- WebAssembly 語言執行階段 - 為 WASI 預先建置的最新 MRI Ruby
銹頂⇈
Rust 是一種由 Mozilla Research 贊助的系統程式語言,該語言將其描述為“安全、並發、實用的語言”,支援函數式和命令式流程範例。 Rust 在語法上與 C++ 類似,但其設計者希望它在保持效能的同時提供更好的記憶體安全性。
- Rust
wasm32-unknown-unknown
目標 - WebAssembly 的 Rust 編譯器後端(不需要 Emscripten)。 - Wargo - 一個簡單的 npm 套件,可以在 macOS 或 Linux 上輕鬆將 Rust 編譯為 WebAssembly。
- RustWasmLoader - 一個簡單的 Webpack 載入器,它使用 Cargo 建立一個針對 WebAssembly 的 Rust 專案。
- CargoWeb - 這個 Cargo 子命令旨在讓建置、開發和部署用 Rust 編寫的客戶端 Web 應用程式變得簡單和方便。
- Wasm-Bindgen - Rust 的函式庫和 CLI,可促進 wasm 模組和 JavaScript 之間的高階互動。
- Woz -Woz 是一個 WebAssembly 漸進式 Web 應用程式 (PWA) 工具鏈,用於使用 Rust 建置和部署高效能行動應用程式。分發您的應用程式就像共享超連結一樣簡單。
方案頂⇈
Scheme 是一種支援多種範式的程式語言,包括函數式程式設計和命令式編程,是 Lisp 的兩種主要方言之一。與另一個主要方言 Common Lisp 不同,Scheme 遵循極簡主義設計理念,指定一個小型標準核心和強大的語言擴展工具。
- Schism -Schism 是一個實驗性自託管編譯器,從 R6RS 方案的子集到 WebAssembly。迄今為止的開發主要集中在自託管所需的功能上。編譯器本身是用Scheme 的一個非常小的子集來寫和編譯的。
- schema.wasm - 在 WebAssembly 中實現的 R7RS 方案。你可以在這裡嘗試一下。
- Guile Hoot - GNU Guile 的 WebAssembly 編譯器後端方案和通用 WASM 工具鏈。
範圍頂部⇈
Scopes 是一種通用程式語言和編譯器基礎設施,特別適合短週轉原型設計和需要運行時多階段編譯的高效能應用程式的開發。
Speedy.js頂部⇈
Speedy.js 是一個經過深思熟慮、無效能缺陷的 JavaScript 子集的編譯器,目標是 WebAssembly。由於 WebAssembly 是靜態類型的,因此該專案使用 TypeScript 作為類型檢查器並解析程式符號的類型。
Speedy.js - 主儲存庫。 Unmaintained
快速頂部⇈
Swift 是 Apple Inc. 為 iOS、macOS、watchOS、tvOS、Linux 和 z/OS 開發的通用、多範式、編譯型程式語言。
Tcl頂⇈
Tcl(工具命令語言)是一種非常強大但易於學習的動態程式語言,成熟但不斷發展,高度可擴展且適合非常廣泛的用途。
- Wacl - 用於 WebAssembly 或 Javascript 的 Tcl 發行版.具有 JS/DOM 綁定功能。你可以在這裡嘗試一下。
西塔頂⇈
Theta 是一種現代的通用函數式程式語言,具有強大的類型系統和富有表現力的語法。它採用模組化設計,支援模式匹配、函數重載和其他功能。
TurboScript頂部⇈
TurboScript 是一種用於 Web 平行程式設計的實驗性程式語言,可編譯為 JavaScript (asm.js) 和 WebAssembly(針對 MVP 後)。語法與 TypeScript 類似,編譯器是開源的並且用 TypeScript 編寫。 TurboScript 具有零依賴性。
TypeScript頂部⇈
TypeScript 是由 Microsoft 開發和維護的開源程式語言。它是 JavaScript 的嚴格語法超集,並向該語言添加了可選的靜態類型。
V頂⇈
V 是一種靜態類型編譯程式語言,旨在建立可維護的軟體。
維吉爾上衣⇈
一種快速、輕量級、安全、垃圾收集的系統程式語言。它的編譯器為 JVM 產生最佳化的、獨立的本機執行檔、WebAssembly 模組或 JAR。
佤頂⇈
Wa 是一種通用程式語言,旨在開發穩健性和可維護性的 WebAssembly 軟體。您無需設定複雜的工具鏈,只需安裝它 - 或在瀏覽器中運行它即可。
凹語言™(凹音「Wa」)是針對WASM平台設計的通用程式語言,Linux、macOS和Windows等主流網路和Chrome等瀏覽器環境,同時也支援獨立Shell腳本並支援被嵌入腳本模式執行。
- Wa/凹語言(英語) - WebAssembly 設計。
- Wa/凹語言(簡體中文) - 凹語言 - 為 WebAssembly 而生。
- Wa/凹語言(倉庫) - 主儲存庫。
哇頂⇈
Wah 是一種稍微高階的語言,是 WebAssembly 的超集。它的目的是使 WebAssembly 的文字格式對人類稍微友善一些,而不引入新的語法或資料類型。
沃爾特頂部⇈
WAlt 是 WebAssembly 文字格式的替代語法。這是一個使用 JavaScript 語法來盡可能「接近金屬」編寫的實驗。這是有規則的 JavaScript。 .walt 檔案直接編譯為 WebAssembly 二進位格式。
Walt - 主儲存庫。 Unmaintained
哇頂⇈
WebAssembly 巨集語言:Wam 語法幾乎是 wast 語法的超集,更方便人類開發人員直接編寫。
瓦斯頂⇈
WASE:WebAssembly 變簡單。 Wase 是一種語言,它試圖讓 WASM 易於編寫。該語言與 WebAssembly 緊密對應,並直接編譯為 Wasm 字節碼。具有強大的類型和類型推斷能力。
WebAssembly頂部⇈
是的,WebAssembly。 Wasm3
是最快的 WebAssembly 解釋器,支援 WebAssembly 自架。
- Wasm3 - 主存儲庫。
- WAPM 上的 Wasm3 - WAPM 包。
旺基頂⇈
Wonkey 是一種易於學習、物件導向的現代跨平台程式語言,用於創建跨平台視訊遊戲,深受「BlitzBasic」系列語言的啟發。
球拍頂部⇈
一種類似 lisp 的語言,可編譯為 WebAssembly,用racket 編寫
Wracket - 主儲存庫。 Unmaintained
xcc頂⇈
適用於 x86-64 和 wasm 的玩具 C 編譯器
之字形頂⇈
Zig 是一種通用程式語言,旨在實現穩健性、最優性和可維護性。
- Zig WebAssembly - WebAssembly 文檔
如果您想貢獻,請閱讀貢獻指南。
執照
在法律允許的範圍內,Steve Akinyemi 放棄了本作品的所有版權以及相關或鄰接權。