Tardis / lang /
..
app lang: Split in to library and executable 11 months ago
mini-gmp lang: Switch to mini-gmp rationals for number representation 8 months ago
modules lang: Change function syntax to support classes 5 months ago
CMakeLists.txt lang: Add module IDs as X macros 6 months ago
README.md lang: Add simple README 9 months ago
boolean.c lang: Wrap object lists in an Object 1 month ago
boolean.h lang: Couple object functions to VmState 7 months ago
bytecode.c lang: Split list in to its own file 1 month ago
bytecode.h lang: Wrap object lists in an Object 1 month ago
compile.py lang: Wrap object lists in an Object 1 month ago
debug.c lang: Add debug logging 7 months ago
debug.h lang: Add debug logging 7 months ago
error.c lang: Add stack traces on abort 7 months ago
error.h lang: Add stack traces on abort 7 months ago
list.c lang: Split list in to its own file 1 month ago
list.h lang: Split list in to its own file 1 month ago
main.c lang: Create modules and dependencies on request 6 months ago
module.c lang: Split list in to its own file 1 month ago
module.h lang: Wrap object lists in an Object 1 month ago
object.c lang: Split list in to its own file 1 month ago
object.h lang: Split list in to its own file 1 month ago
rational.c lang: Remove unneeded object_create check 1 month ago
rational.h lang: Allow creating rationals from an mpq value 6 months ago
types.h lang: Wrap object lists in an Object 1 month ago
vm.c lang: Split list in to its own file 1 month ago
vm.h lang: Don't imply vm_tailcall uses a queue 6 months ago
README.md

Language prototype project

This is the prototype language for the Tardis prototype project.

This is mainly to get an environment up and running. This means no fancy features, no tests, no optimizations, etc.

Design notes:

  • Bytecode VM is stack-based with indexing
  • Garbage collection is done using reference counting
  • Stack is shifted on function call
  • Empty function arguments are re-used for return values
  • Callee cleans up unused stack space when returning

License

All documentation and software for this project is under the MIT license unless otherwise specified.

Copyright: 2023 Casey Reeves casey.reeves@lumina-sensum.com

Copyright: 2023 John Watts john.watts@lumina-sensum.com

SPDX-License-Identifier: MIT