minimal inheritance #13

Open
opened 2025-06-10 09:12:04 +03:00 by sergeych · 1 comment
Owner
No description provided.
sergeych added a new dependency 2025-06-10 09:16:00 +03:00
sergeych added spent time 5 hours 2025-06-13 06:52:52 +03:00
Author
Owner

The v0 inheritance principle:

  • all locals, private, etc are in the instanceContext, and are available locally directly
  • open symbols are stored in the context with service prefix that just can't be used even occasionally in the code, e.g. open fin virtualFun is stored in the context as *virtualFun
  • open symbols upon compliation are added to objClass.members overriding existing implementations.

Thus when performing call, interpreter does not see it in the local context and automatically calls objClass, which points to the effective implementation in thisObj.

The v0 inheritance principle: - all locals, private, etc are in the instanceContext, and are available locally directly - open symbols are stored in the context with service prefix that just can't be used even occasionally in the code, e.g. `open fin virtualFun` is stored in the context as ` *virtualFun` - open symbols upon compliation are added to `objClass.members` overriding existing implementations. Thus when performing call, interpreter does not see it in the local context and automatically calls objClass, which points to the effective implementation in thisObj.
sergeych added spent time 50 minutes 2025-06-13 09:34:16 +03:00
Sign in to join this conversation.
No Milestone
No project
1 Participants
Notifications
Total Time Spent: 5 hours 50 minutes
sergeych
5 hours 50 minutes
Due Date
No due date set.
Blocks
#6 Extend existing classes
SergeychWorks/lyng
Reference: SergeychWorks/lyng#13
No description provided.