enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.31k stars 317 forks source link

Extension methods can be exported by name #10274

Closed Akirathan closed 1 week ago

Akirathan commented 2 weeks ago

First part of #10258 - extension methods can be exported by name

Pull Request Description

Ultimately, we want to forbid the from ... export all syntax. This PR starts by providing a way to explicitly export extension and conversion methods by name.

Stdlib code will be modified in upcoming PR.

Important Notes

A single name can refer to multiple extension or conversion methods. Exports are not qualified. For example,

type My_Type
type Other_Type
My_Type.ext_method x = x
Other_Type.ext_method x = x
from project.Mod export ext_method

will export both My_Type.ext_method and Other_Type.ext_method.

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

JaroslavTulach commented 1 week ago

There are four compilation failures IrUtilsTest.