Commit graph

10 commits

Author SHA1 Message Date
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