👋 Just started using oskel and I'm really enjoying it!
I suggest implicit_transitive_deps (inside /dune-project) should either:
- not be included as a default setting, since it leads to counter-intuitive behavior
- call out prominently in the documentation that you must explicitly include the dependencies of your library dependencies
Extra context:
The (implicit_transitive_deps false) setting causes Dune to not include dependencies of your direct dependencies, eg. if you include Jane's core_kernel then it won't include base. You'll get errors about types that should be equivalent and missing .cmi files, like below. It took me a while to track these down to the implicit_transitive_deps setting.
Error: This expression has type Base.string
but an expression was expected of type string
Base.string is abstract because no corresponding cmi file was found in path.
I'm a newcomer here, so it may be that oskel is targeted more at experienced OCaml users rather than newcomers like me. However if it's meant for newer users of OCaml or Dune, then I suggest the above to make development more intuitive!
👋 Just started using oskel and I'm really enjoying it!
I suggest
implicit_transitive_deps(inside /dune-project) should either:Extra context:
The
(implicit_transitive_deps false)setting causes Dune to not include dependencies of your direct dependencies, eg. if you include Jane'score_kernelthen it won't includebase. You'll get errors about types that should be equivalent and missing .cmi files, like below. It took me a while to track these down to the implicit_transitive_deps setting.I'm a newcomer here, so it may be that oskel is targeted more at experienced OCaml users rather than newcomers like me. However if it's meant for newer users of OCaml or Dune, then I suggest the above to make development more intuitive!