Skip to content

v0.10.0

Compare
Choose a tag to compare
@Rohansi Rohansi released this 17 Feb 17:27
· 10 commits to master since this release
  • Breaking: Replaced runtime, reflection-based bindings with a compile-time source generator using the same attributes
    • Install the Mond.SourceGenerator package to add this functionality to your project
    • Bound classes must be partial or there will be a compiler error
    • The source generator will generate a Library nested class in every class/module you bound
    • The Library classes implement IMondLibrary so you can add them to your MondState directly
  • Breaking: MondDebugger.ShouldBreak will no longer be called for nearly every instruction, only on checkpoints now
    • New VM instruction DebugCheckpoint is inserted before every statement when compiling with MondDebugInfoLevel.Full
    • Improves overall performance by moving code out of the VM's hot path, even when a debugger is not attached
  • New website: https://mond.rohan.dev/
  • Add a new option MondModuleAttribute.BareMethods to bind all the type's methods as standalone methods instead of nested under a module object
  • Mond debug protocol implementation extracted into Mond.Debugger.MondProtocolDebugger so alternative transports can easily be made