Commit Graph

16 Commits

Author SHA1 Message Date
K. Lange
542e219192 Redefine list comprehension and add infix in 2021-01-02 19:46:21 +09:00
K. Lange
ae2e2be15d do something more straightforward and useful for methods on non-objects 2021-01-01 16:02:16 +09:00
K. Lange
764f9144f8 Add __base__, isinstance(), and track superclass in the VM and not just implicitly by super() calls. 2020-12-31 09:15:53 +09:00
K. Lange
f7e1c0da0d Add docstrings, __doc__, and help() 2020-12-30 16:59:21 +09:00
K. Lange
428c368a75 Support optional arguments by tracking separate arities 2020-12-30 08:00:48 +09:00
K. Lange
430f20566e allow native functions to be bound as methods with a little work 2020-12-29 20:31:35 +09:00
K. Lange
067d8cdb65 fix upvalue storage being completely broken when we move the stack 2020-12-28 22:02:39 +09:00
K Lange
ac15ca117c Clean up some pedantic warning stuff 2020-12-28 11:11:50 +09:00
K. Lange
1d3368861b fix a bunch of compiler stuff 2020-12-28 12:16:44 +09:00
K. Lange
0ca0564cd0 methods/initializers; haven't done invoke, want to add modules first then come back 2020-12-27 17:53:46 +09:00
K. Lange
f88e8de25d classes and instances (from ch 27) 2020-12-27 16:45:34 +09:00
K. Lange
1d0fac5640 Basic garbage collection; had to fix some stuff for stack preallocation 2020-12-27 16:07:27 +09:00
K. Lange
78022fb701 wrap up closure implementation from chapter 25 2020-12-27 13:02:26 +09:00
K. Lange
81e3e133c8 finish up chapter 24 (functions, calls, native bindings) 2020-12-27 09:33:28 +09:00
K. Lange
417637ef21 hash tables (which should work with any object as keys?) and string interning from ch 20 2020-12-26 14:33:34 +09:00
K. Lange
14aeea5f5b through chapter 19 of Crafting Interpreters 2020-12-26 09:32:21 +09:00