d8dba3ac5f
Rewrote value storage and implemented class instantiation
...
* Probably not the last time.
* Object-like things (functions, classes, etc...) are stored as
ref-counted cells.
* Separate data structure for native functions.
* with_callable() method on value to run specific code on objects
that are callable
* Instance type added.
* Instance construction implemented
2023-01-08 10:40:36 +01:00
85e9c7db38
Interpreter - Callables now receive the callee value as an argument
2023-01-08 07:58:56 +01:00
c97ad0ad7e
Interpreter - Made the interpreter state partially public
...
* This allows Callable to be public, which is required for Value
* State internals are still hidden behind pub(super)
2023-01-06 07:47:45 +01:00
10223cbb4e
Interpreter - WIP refactor to prepare for using resolved variables
2023-01-05 07:54:18 +01:00
c5f099340b
Errors refactoring - Code compiles.
2023-01-04 07:58:44 +01:00
7b8405119b
Interpreter - CallableRef type alias
2023-01-02 18:19:45 +01:00
8ab144f3c5
Interpreter - Move function call arguments
2023-01-02 17:45:19 +01:00
1ad55e95f5
Interpreter - Use EnvironmentRef in Callable
2023-01-02 17:44:51 +01:00
34619a8125
Interpreter - Callable extends Debug and ToString
2023-01-02 17:40:06 +01:00
b1d0db5ea4
Interpreter - Callable interface definition
2023-01-02 15:54:50 +01:00