riot-ml / riot

An actor-model multi-core scheduler for OCaml 5 🐫
https://riot.ml
Other
548 stars 37 forks source link

Fix compilation unit name conflicts with runtime sub-libraries (e.g. core) #85

Closed leviroth closed 2 months ago

leviroth commented 3 months ago

Fixes #19.

The libraries in subdirectories under riot/runtime have been merged into runtime itself.

In various places we now need to refer to (e.g.) Runtime.Core instead of Core directly.

To avoid name conflicts with the Runtime module itself (including via Lib.Runtime), I renamed runtime to riot_runtime.

In all, the following compilation unit names have been purged from the global namespace:

  • Core
  • Log
  • Runtime
  • Scheduler
  • Time
  • Util

N.b. There are still libraries named lib, global, and logger in this package. Since those names are pretty generic, it might be a good idea to do similar work to eliminate them.

leostera commented 3 months ago

Hi @leviroth! Thanks for the PR ✨ – this looks good to me, just need some rebasing and we should be good to merge :)

leostera commented 2 months ago

Thanks for the contrib @leviroth! 🙏🏼 This should make it easier to try Riot with busy opam switches.