Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing platform tools on the /docs/installing-ocaml and requisition to add dream #1995

Closed
The-Amoghavarsha opened this issue Jan 24, 2024 · 6 comments

Comments

@The-Amoghavarsha
Copy link
Contributor

  1. On https://ocaml.org/install, in Set Up an OCaml Development Environment section we have opam install dune merlin ocaml-lsp-server odoc ocamlformat utop dune-release, whereas in https://ocaml.org/docs/installing-ocaml on Install Platform Tools section, we only have opam install dune ocaml-lsp-server odoc ocamlformat utop i.e, it's missing merlin and dune-release.

So, it's better if we update them for uniformity.

  1. I would like to request to add dream in both places mentioned above i.e, https://ocaml.org/install, in Set Up an OCaml Development Environment section and https://ocaml.org/docs/installing-ocaml on Install Platform Tools section. Because we need dream to build ocaml.org.

If you agree with this or have any further suggestions, please do comment. I'm ready with a PR.

cc @sabine @cuihtlauac

@cuihtlauac
Copy link
Collaborator

cuihtlauac commented Jan 24, 2024

Thanks, @The-Amoghavarsha; you are right; having two different commands is inconsistent. It needs to be fixed.

However, installation instructions is a topic where many have different views, and it is emotional to some. It's part of the OCaml culture to tolerate various approaches. In some languages, there is "a right way" to do things; in OCaml, what is strict is typing. The rest... It depends :-)

I'd go for:

$ opam install dune merlin ocaml-lsp-server odoc ocamlformat utop

Here is the rationale

  • dune-release is an incubate platform tool.
  • merlin is an active platform tool

We only want active or sustain platform tools. That should rule out dune-release. I'd like the list to be as short as possible, I'd remove both odoc and ocamlformat, but this is my personal taste. Platform rules also prohibits having Dream there. Additionally, we're rather considering removing dream from "1st program" because it doesn't work in Windows and macOS (see issue #1962).

Finally, these installation instruction should be the starting point. Very few newcomers are likely to begin be wanting to compile ocaml.org, which has its own set of requirements.

But rest assured we value your key insight here: we must be consistent.

@The-Amoghavarsha
Copy link
Contributor Author

That's a nice explanation. 😄 So what are the possible ways to be consistent, any thoughts or directions on that?

Possibly, building for Windows effectively might alleviate few issues.

@sabine
Copy link
Collaborator

sabine commented Jan 26, 2024

Agree on (1) but does merlin really need to be installed in general? Doesn't ocaml-lsp-server already provide editor integration?

(2) is a disagree because we can't promote one package of the ecosystem over others. All the install instructions for ocaml.org (and install troubleshooting) should be on the README of this repository.

@The-Amoghavarsha
Copy link
Contributor Author

Agree on (1) but does merlin really need to be installed in general? Doesn't ocaml-lsp-server already provide editor integration?

I thought the same. But, merlin is present here - https://ocaml.org/install under Set Up an OCaml Development Environment

(2) is a disagree because we can't promote one package of the ecosystem over others. All the install instructions for ocaml.org (and install troubleshooting) should be on the README of this repository.

I agree. You are right. Maybe we should have a separate section to differentiate between the third parties and the ecosystem specific tools/packages. But, my point was more from a courtesy standpoint, as ocaml.org uses dream (if I'm not wrong). If new frameworks emerge in the future, then we will replace dream.

I know it was not ecosystem specific. Perhaps, is there a plan to build something like dream from the core team?

@sabine
Copy link
Collaborator

sabine commented Jan 29, 2024

is there a plan to build something like dream from the core team?

No, not that I am aware of.

The-Amoghavarsha pushed a commit to The-Amoghavarsha/ocaml.org that referenced this issue Feb 2, 2024
sabine pushed a commit to The-Amoghavarsha/ocaml.org that referenced this issue Feb 5, 2024
sabine pushed a commit that referenced this issue Feb 5, 2024
* Fixes #2019 which stemed out from #1995

* remove merlin, dune-release from install page

---------

Co-authored-by: Amoghavarsha <[email protected]>
@cuihtlauac
Copy link
Collaborator

Fixed in #2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

3 participants