enso icon indicating copy to clipboard operation
enso copied to clipboard

Implement private methods

Open Akirathan opened this issue 1 year ago • 4 comments

Created from the discussion https://github.com/orgs/enso-org/discussions/7088

Implement private methods.

Follow-up of #7304

Related to:

  • #8835
  • #8836

Akirathan avatar Jan 23 '24 13:01 Akirathan

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'.

radeusgd avatar Jan 23 '24 13:01 radeusgd

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.

Akirathan avatar Jan 23 '24 16:01 Akirathan

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.

JaroslavTulach avatar Jan 30 '24 09:01 JaroslavTulach

  • #8836 - is now integrated. That unlocks implementation of this issue. Let's consider it for tomorrow's backlog.

JaroslavTulach avatar Apr 29 '24 13:04 JaroslavTulach

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.

enso-bot[bot] avatar May 24 '24 17:05 enso-bot[bot]

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.

enso-bot[bot] avatar May 27 '24 16:05 enso-bot[bot]

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.

enso-bot[bot] avatar May 29 '24 10:05 enso-bot[bot]

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.

enso-bot[bot] avatar May 30 '24 16:05 enso-bot[bot]

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.

enso-bot[bot] avatar May 30 '24 16:05 enso-bot[bot]