_
b88735a61b
🐛 bug: fix a bug in OP_CALL when b or c is 0
2023-10-02 00:59:30 -05:00
_
8baea40e82
♻️ refactor: extract `State::eval` for testing bugs the REPL finds
2023-10-01 23:07:52 -05:00
_
f9e8f26ac3
⭐ star: add a primitive REPL
...
This turned out a few new bugs in the VM
2023-10-01 22:50:06 -05:00
_
b8dd59cd7c
♻️ refactor: match the Lua CLI API more closely
2023-10-01 21:26:47 -05:00
_
db84365c27
♻️ refactor: State owns its Chunk now
2023-10-01 20:31:30 -05:00
_
700b273a11
✅ test: fix up some bugs to support an embedding example
2023-10-01 19:50:50 -05:00
_
ffb1950f80
♻️ refactor: split up the VM from the CLI program
2023-10-01 17:56:06 -05:00
_
51b04be1ab
🐛 bug: PUC Lua says divides always make floats, even int / int
2023-10-01 15:03:37 -05:00
_
eb024eed3e
🚧 wip: only 5.8x slower than PUC, but brittle
2023-10-01 02:46:10 -05:00
_
5331b5a4d2
♻️ refactor: mark where we can optimize tables for int keys
...
n-body actually doesn't need this, it's bottlenecked on string key
reads and writes.
2023-10-01 02:12:17 -05:00
_
4e9f9a74c5
📝 doc: benchmark results
2023-10-01 02:00:23 -05:00
_
c50c16b9db
🐛 bug: fix io.write and take off the `max_iters` restriction
...
The math is lining up with PUC Lua and LuaJIT. Now I can actually check
the speed.
2023-10-01 01:36:40 -05:00
_
fb46ede3ca
🐛 bug: fix OP_TEST ignoring `k`
...
I didn't know what `k` was a few days ago.
2023-10-01 01:33:47 -05:00
_
a9820677e9
🐛 bug: fix some stuff in calling native functions
2023-10-01 01:06:15 -05:00
_
06638574f7
🔊 improve error message for this error with the missing math lib
2023-09-30 23:41:12 -05:00
_
bccd5fc3a7
Merge remote-tracking branch 'gitea/main'
2023-09-30 10:13:03 -05:00
_
be9cd1e5ac
📝 doc: improve error message
2023-09-30 10:12:31 -05:00
_
d0f9014f03
📝 doc: improve error message
2023-09-30 10:09:37 -05:00
_
ae858ebe70
🐛 bug: patch loader
2023-09-30 10:08:13 -05:00
_
46cf5837bc
🐛 bug: impl opcodes
2023-09-30 10:05:07 -05:00
_
e59dd85246
🐛 bug: impl opcodes
2023-09-30 10:01:30 -05:00
_
1943f0a40b
🐛 bug: impl OP_ADDI
2023-09-30 09:57:51 -05:00
_
81743108c3
🐛 bug: implement OP_MULK
2023-09-30 09:52:42 -05:00
_
64384e7ca5
🐛 bug: fix loader using the old broken `parse_int` for instruction count
2023-09-30 09:49:36 -05:00
_
9bfd3c64c3
✅ tests: add failing benchmark
...
It doesn't even want to load the bytecode lol
2023-09-30 09:48:02 -05:00
_
15e4832623
➖ remove unused artifacts
2023-09-29 17:46:46 -05:00
_
57486f7a65
🐛 bug: fma test passes with a hack
...
So closures are kinda working, but I'm probably missing some edge cases.
2023-09-29 17:44:54 -05:00
_
2a0e02aec4
✅ test: closure passing again, fma still not
2023-09-29 17:25:54 -05:00
_
24d576879b
make Debug print easier to read
2023-09-29 17:17:53 -05:00
_
35e62027e6
🐛 bug
2023-09-29 16:58:40 -05:00
_
e499d27dfc
🚧 wip: improving debugging
2023-09-29 16:55:02 -05:00
_
a460b5a932
♻️ refactor: hoist breakpoints out of State
2023-09-29 16:32:29 -05:00
_
a9e14d0f47
♻️ refactor: extract a single step method for State
2023-09-29 16:27:50 -05:00
_
f0d4f25cec
implement a couple more opcodes fighting the closure issue
2023-09-29 16:15:00 -05:00
_
4da634a2aa
🚧 wip: working on closures / upvalues
2023-09-28 01:31:23 -05:00
_
05b1d6e1f7
⭐ loading upvalue metadata
2023-09-28 00:55:16 -05:00
_
b639d02027
remove unused file
2023-09-28 00:28:33 -05:00
_
96c82c27c8
🐛 bug: fix long string loading and int adding
...
Long strings didn't work before because I hadn't implemented Lua's varint
decoding. It's an easy translation from the original C.
Int adding previously created a float because I always coerced to float.
Also an easy fix.
2023-09-28 00:27:05 -05:00
_
5649f38698
⭐ add OP_LEN and allow telling luac a file name
...
This make debugging easier, since the bytecodes will match between
a terminal and lunar_wave
2023-09-28 00:11:25 -05:00
_
565fd19e66
📝 doc: links
2023-09-27 14:13:56 -05:00
_
fe2bb4cca2
📝 doc
2023-09-27 14:12:48 -05:00
_
d9bba9fc07
📝 doc: make it obvious that LWVM only handles bytecode for now
2023-09-27 14:12:29 -05:00
_
af49dc68be
📝 doc
2023-09-27 14:06:54 -05:00
_
2d309c37bf
🐛 bug: spaces in filename
2023-09-27 14:05:03 -05:00
_
57992e6bd4
📝 doc: license
2023-09-27 14:03:21 -05:00
_
5c4a545369
📝 doc: roadmap
2023-09-27 13:58:37 -05:00
_
bebc96916b
⭐ allow Lua to call native Rust functions
...
And Value::BogusPrint is gone. So the only Bogus remaining is closures.
2023-09-27 01:46:53 -05:00
_
5ab30ac5b4
♻️ refactor: remove special types BogusArg and BogusEnv
...
This is a milestone towards actually implementing all of Lua.
2023-09-26 23:19:33 -05:00
_
062c6e6a2d
🐛 bug: fix loader bug
2023-09-26 23:19:12 -05:00
_
2f676adc19
⭐ FizzBuzz with some caveats
2023-09-26 22:45:41 -05:00