Now that dmd/druntime is in one repo, is there a good reason to not include Phobos?
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On Monday, 6 February 2023 at 10:22:32 UTC, Atila Neves wrote: >Now that dmd/druntime is in one repo, is there a good reason to not include Phobos? No. Do it. |
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On Monday, 6 February 2023 at 10:22:32 UTC, Atila Neves wrote: >Now that dmd/druntime is in one repo, is there a good reason to not include Phobos? Better to have Phobos as an external source library though compiled by dub/reggae/rdmd/whatever. |
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On Monday, 6 February 2023 at 14:26:45 UTC, Iain Buclaw wrote: >On Monday, 6 February 2023 at 10:22:32 UTC, Atila Neves wrote: >Now that dmd/druntime is in one repo, is there a good reason to not include Phobos? Better to have Phobos as an external source library though compiled by dub/reggae/rdmd/whatever. Things choosing and thus eventually disagreeing on which Phobos version they want to use is potentially not so great. |
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to max haughton | On Monday, 6 February 2023 at 14:28:45 UTC, max haughton wrote: >Things choosing and thus eventually disagreeing on which Phobos version they want to use is potentially not so great. Phobos being pre-compiled with an unknown set of flags, and that mismatching every other project reliant on Phobos is not great either. |
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On Monday, 6 February 2023 at 10:22:32 UTC, Atila Neves wrote: >Now that dmd/druntime is in one repo, is there a good reason to not include Phobos? Because it will inevitably lead to circular dependencies, something Walter is already complaining about. There was an advantage in merging DMD and druntime: They are tightly coupled, and we often enough situations where you had to merge a PR in one repo to see if things were working in the other. We don't have that requirement in Phobos. |
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mathias LANG | On Mon, Feb 06, 2023 at 04:48:51PM +0000, Mathias LANG via Digitalmars-d wrote: > On Monday, 6 February 2023 at 10:22:32 UTC, Atila Neves wrote: > > Now that dmd/druntime is in one repo, is there a good reason to not include Phobos? > > Because it will inevitably lead to circular dependencies, something Walter is already complaining about. > > There was an advantage in merging DMD and druntime: They are tightly coupled, and we often enough situations where you had to merge a PR in one repo to see if things were working in the other. We don't have that requirement in Phobos. OTOH there have been a good number of occasions in the past where changes in DMD/druntime had to be coordinated with Phobos. Even today, I'm almost certain that you can only use a specific version of Phobos with a specific version of DMD; it's likely to fail compilation or behave incorrectly otherwise. T -- The fact that anyone still uses AOL shows that even the presence of options doesn't stop some people from picking the pessimal one. - Mike Ellis |
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mathias LANG | On Monday, 6 February 2023 at 16:48:51 UTC, Mathias LANG wrote:
> There was an advantage in merging DMD and druntime: They are tightly coupled, and we often enough situations where you had to merge a PR in one repo to see if things were working in the other. We don't have that requirement in Phobos.
In theory, Phobos is supposed to be decoupled, but in practice, it isn't.
That said, I'd rather fix the practice than the theory here. It *should* work better than it does.
|
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to H. S. Teoh | On 2/6/23 11:57 AM, H. S. Teoh wrote: >OTOH there have been a good number of occasions in the past where That's a one-way dependency, and normal. DMD/druntime do not depend on phobos (any more, I believe the only issues were with intrinsics, which now are all in druntime) FWIW, I would vote for a phobos dependency in code.dlang.org, but it needs to be versioned properly (not easy). I doubt we have the manpower to make sure that is the case. -Steve |
February 06, 2023 Re: Monorepo? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On Monday, 6 February 2023 at 10:22:32 UTC, Atila Neves wrote: >Now that dmd/druntime is in one repo, is there a good reason to not include Phobos? This could lead to more breaking changes. Monorepo means that only BuildKite will be able to detect them, unless it is specified that it's not allowed to commit changes in phobos just because required by a change in dmd/druntime. The need for this rule says it all. |