Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement private methods #8834

Closed
Akirathan opened this issue Jan 23, 2024 · 9 comments · Fixed by #10060
Closed

Implement private methods #8834

Akirathan opened this issue Jan 23, 2024 · 9 comments · Fixed by #10060
Assignees
Labels
-compiler -syntax x-new-feature Type: new feature request

Comments

@Akirathan
Copy link
Member

Akirathan commented Jan 23, 2024

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

Implement private methods.

Follow-up of #7304

Related to:

@radeusgd
Copy link
Member

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

@Akirathan
Copy link
Member Author

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.

@JaroslavTulach
Copy link
Member

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
Copy link
Member

@JaroslavTulach JaroslavTulach removed the d-hard Difficulty: significant prior knowledge required label Apr 30, 2024
@enso-bot
Copy link

enso-bot bot commented May 24, 2024

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
Copy link

enso-bot bot commented May 27, 2024

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
Copy link

enso-bot bot commented May 29, 2024

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
Copy link

enso-bot bot commented May 30, 2024

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
Copy link

enso-bot bot commented May 30, 2024

Pavel Marek reports a new STANDUP for today (2024-05-30):

Progress: - Fix for failing build of stdlib benchmarks in #10140

@mergify mergify bot closed this as completed in #10060 May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-compiler -syntax x-new-feature Type: new feature request
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants