enso
enso copied to clipboard
Implement private methods
Created from the discussion https://github.com/orgs/enso-org/discussions/7088
Implement private methods.
Follow-up of #7304
Related to:
- #8835
- #8836
I think it may be worth to add a bit more detail how these methods are supposed to work.
I assume the idea is that they will check their caller frame in the runtime and will only allow the call to proceed if it comes from the same module, right?
As we agreed this needs to be checked at runtime, given we have a 'dynamic dispatch'.
I think it may be worth to add a bit more detail how these methods are supposed to work.
@radeusgd Most of these details are already mentioned in the discussion that is linked from the description, I have just not pasted those details here.
I assume the idea is that they will check their caller frame in the runtime and will only allow the call to proceed if it comes from the same module, right?
Exactly.
One can move such private methods into its own private
module and register them as extension methods on a non-private type
. That should be encapsulated enough for now.
- #8836 - is now integrated. That unlocks implementation of this issue. Let's consider it for tomorrow's backlog.
Pavel Marek reports a new STANDUP for today (2024-05-24):
Progress: - Changes in parser, compiler and tests
- No need for changes at runtime - the check is already there.
- Seems like the PR is green and ready to review and merge. It should be finished by 2024-05-29.
Pavel Marek reports a new STANDUP for today (2024-05-27):
Progress: - private methods are not recorded in the suggestion DB.
- PR is green and ready to merge.
- Addressing some last comments. It should be finished by 2024-05-29.
Pavel Marek reports a new STANDUP for yesterday (2024-05-28):
Progress: - Catching on on some book clubs
- Trying to implement private foreign functions in the parser. It should be finished by 2024-05-29.
Pavel Marek reports a new 🔴 DELAY for today (2024-05-30):
Summary: There is 1 days delay in implementation of the Implement private methods (#8834) task. It will cause 1 days delay for the delivery of this weekly plan.
Delay Cause: Minor delay. Should be merged ASAP. PR is green, just waiting to restart some GUI transient failures.
Pavel Marek reports a new STANDUP for today (2024-05-30):
Progress: - Fix for failing build of stdlib benchmarks in https://github.com/enso-org/enso/pull/10140
- private foreign functions will be handled in parser as a follow-up in https://github.com/enso-org/enso/issues/10137, let's merge the PR.
- QoL for sbt: https://github.com/enso-org/enso/pull/10133 It should be finished by 2024-05-30.