# `nanowasm`, a tiny WebAssembly/Wasm interpreter **This project is still unfinished and is not meant for production use.** This project aims to provide the most minimal Wasm interpreter possible in strictly portable ISO C99. It can run one or more Wasm applications concurrently, without threading. ## Features - Portable, ISO C99 implementation. - Asynchronous interface, allows to run multiple applications concurrently. - Suitable for resource-constrained devices. - Does not require dynamic memory allocations. ## What `nanowasm` is not As opposed to other interpreters, `nanowasm` prefers lower memory usage rather than run-time performance. Therefore, it should not be unfairly compared _performance_-wise against other interpreters. ## How to build Use the conventional process in CMake projects: ``` cmake -B cmake --build ``` ## Examples A minimal example is provided on [`test/main.c`](./test/main.c). ## License ``` nanowasm, a tiny WebAssembly/Wasm interpreter Copyright (C) 2023-2024 Xavier Del Campo Romero This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. ```