Skip to content

Releases: froth/rust-lox-vm

v1.0.0

12 Jun 19:37
3d2581e

Choose a tag to compare

What's Changed

  • Implement garbage collection by @froth in #30
  • Implement simple class declaration by @froth in #31
  • Implement heap dump by @froth in #32
  • Support creation of instances from classes by @froth in #33
  • Add native function to manually trigger gc by @froth in #34
  • Implement properties on objects by @froth in #35
  • Implement methods on objects by @froth in #36
  • Add support for this keyword by @froth in #37
  • Support initializers by @froth in #38
  • Implement optimized method calls by @froth in #39
  • Implement inheritance and super calls by @froth in #40
  • Implement SuperInvoke OpCode for higher performance by @froth in #41
  • Increase performance of hash probing by @froth in #42

Full Changelog: v0.5.0...v1.0.0

v0.5.0

08 May 18:24
ae338ca

Choose a tag to compare

What's Changed

  • Ensure every function is wrapped in a closure by @froth in #27
  • Implement non escaping closures using upvalues by @froth in #28
  • Capture escaping variables in upvalues by @froth in #29

Full Changelog: v0.4.0...v0.5.0

v0.4.0

05 Feb 15:28
94efec9

Choose a tag to compare

What's Changed

  • Migrate global interpret function to function call by @froth in #24
  • Implement functions by @froth in #25
  • Implement native functions by @froth in #26

Full Changelog: v0.3.0...v0.4.0

v0.3.0

12 Jan 20:43
95506fa

Choose a tag to compare

What's Changed

  • Add support for local variables by @froth in #21
  • Implement if and logical operators by @froth in #22
  • Add support for loops. by @froth in #23

Full Changelog: v0.2.0...v0.3.0

v0.2.0

18 Dec 14:46
8b565ab

Choose a tag to compare

What's Changed

  • Implement Boolean and Nil and more basic expressions by @froth in #12
  • Increase size of Number to be compliant with Lox spec by @froth in #13
  • Implement strings and basic garbage collection by @froth in #14
  • Implement HashTable by @froth in #15
  • Implement string interning by @froth in #16
  • Fix undefined behavior found by Miri by @froth in #17
  • Implement print statement by @froth in #18
  • Implement expression statements and error synchronization by @froth in #19
  • Implement global variables by @froth in #20

Full Changelog: v0.1.0...v0.2.0

v0.1.0

09 Oct 18:46
7df0f92

Choose a tag to compare

What's Changed

  • Implement first iteration of Chunk by @froth in #1
  • Implement float constants in byte code by @froth in #2
  • Add support for line numbers in disassembly by @froth in #3
  • Add support for disassembling at a specific position by @froth in #4
  • Add tracing crate by @froth in #5
  • Change Op encoding from c style enum to enum with values. by @froth in #6
  • Implement most basic vm functionality by @froth in #7
  • Implement basic calculator capabilities by @froth in #8
  • Implement lexer by @froth in #9
  • Replace phf with hardcoded trie by @froth in #10
  • Implement expression parser by @froth in #11

New Contributors

  • @froth made their first contribution in #1

Full Changelog: https://github.com/froth/rust-lox-vm/commits/v0.1.0