From 144b7fe1415ff97497fa4ea3b95e8dd6b95d069e Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Sat, 7 Sep 2024 00:04:38 +0200 Subject: First commit --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..d0caafb --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# `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/. +``` -- cgit v1.2.3