WIP: elaborate on Hyphae in instructions.toml
All checks were successful
per-push tests / build (push) Successful in 1m3s
per-push tests / test-frontend (push) Successful in 54s
per-push tests / test-utility (push) Successful in 1m6s
per-push tests / test-backend (push) Successful in 1m2s
per-push tests / timed-decomposer-parse (push) Successful in 58s

Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
Ava Apples Affine 2025-08-14 07:20:03 +00:00
parent f48867db42
commit 64ade5e31c

View file

@ -1,12 +1,62 @@
description = """
HyphaeVM is a bytecode VM that aims to provide a simplified instruction set to
language implementors and other programmers who wish to use higher level
features without making too many compromises on overhead or performance.
The simplified instruction set greatly reduces the work in language design and
allows for simpler compilers overall. Meanwhile, the VM still meets performance
needs for modern application development.
HyphaeVM contains an instruction set, instruction set implementation, garbage
collection (reference counting), error handling, dynamic number package, vector
based data types, cons cell based dynamic data types, and trap functions that
are programmatically extendable.
"""
[[data_types]]
name = "number"
description = """
"""
[[data_types]]
name = "string"
description = """
"""
[[data_types]]
name = "bool"
description = """
"""
[[data_types]]
name = "cons"
description = """
"""
[[data_types]]
name = "symbol"
description = """
"""
[[data_types]]
name = "char"
description = "a single byte"
[[data_types]]
name = "vector"
description = """
"""
[[data_types]]
name = "ByteVector"
description = "a vector that only contains single bytes"
# TODO: add the following info # TODO: add the following info
# - introductory VM info (description, list of components)
# - info on the different data types
# - info on garbage collection
# - info on program execution
# - info on error handling # - info on error handling
# - info on traps # - info on traps
# - info on numbers # - info on numbers
# - info on symtable (and its uses) # - info on symtable (and its uses)
# - multiline descriptions for each instruction
[[addressing_modes]] [[addressing_modes]]
name = "expr" name = "expr"