Show HN: Esy – fast and simple package management for native ReasonML/OCaml
Hi,<p>I&#x27;m one of the developers of esy, would be happy to answer any questions about it.<p>I have background in JS ecosystem and always liked how npm&#x2F;yarn allows you to have a set of dependencies installed per project which do not conflict with any other global installations. Then this goes even beyond runtime dependencies and you have tools like eslint&#x2F;flow and others installed per project in node_modules.<p>Now enter native development and you won&#x27;t find the same workflow there. This is what esy tries to solve. It focuses now on Reason programming language but conceptually it works with other platforms&#x2F;tools too (for example some of our dependencies are C&#x2F;C++ code and it works nicely with esy too).<p>Also I want to highlight the following points:<p>- All dependencies (and devDependencies) are local to a project (like with npm&#x2F;yarn)<p>- The cache for built packages is shared between different projects - if you built OCaml 4.06.0 compiler once then the other project will just reuse it (this works similar to Nix package manager)<p>- To execute some tool within the isolated project environment you prefix it with esy command: &quot;esy ocaml&quot;, &quot;esy vim&quot;, &quot;esy code&quot;<p>- esy can install packages from npm, opam (package registry for OCaml ecosystem), github<p>- esy allows you to develop multiple packages at once (see linking workflow in docs).<p>- finally... we support Windows (besides Linux and macOS)!