aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2024-09-07 00:04:38 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2024-10-05 08:17:21 +0200
commit144b7fe1415ff97497fa4ea3b95e8dd6b95d069e (patch)
tree68391f6ec2dba2879ca8255ee25ce39ebaa7d4ad /README.md
downloadnanowasm-144b7fe1415ff97497fa4ea3b95e8dd6b95d069e.tar.gz
First commit1st
Diffstat (limited to 'README.md')
-rw-r--r--README.md44
1 files changed, 44 insertions, 0 deletions
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 <dir>
+cmake --build <dir>
+```
+
+## 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/.
+```