LionWeb-io / specification

Specifications of the LionWeb initiative
http://lionweb.io/specification/
7 stars 0 forks source link

Do we limit circular language dependencies? #224

Open enikao opened 8 months ago

enikao commented 8 months ago

If language A dependsOn language B, can B dependOn A? Includes indirect dependencies: A dependsOn B dependsOn C dependsOn A.

We know it's bad practice to have such circular dependencies, but do we want to forbid them? Some systems (e.g. MPS) can handle them to some degree.

Edge case: can A@x (Language A version x) dependOn A@y?

dslmeinte commented 8 months ago

I fear we'd open a whole can of hideous worms if we forbid circular dependencies, especially during language evolution.

At the same time: forbidding that edge case seems pretty healthy, certainly as a direct dependency. We might want to be more lenient with indirect ones.

enikao commented 8 months ago

I tend to not limit dependencies at all for now. Once we have enough experience, we might learn about useful limitations.