<d_bot>
<Christophe> it's not *exactly* the same role as Dune though, but it's nice 🙂
<d_bot>
<Kakadu> Is any of them mature enough to compile note to native code and JS?
<d_bot>
<Deadrat> I just can't understand why opam and and dune aren't considered good enough by some people?
<Corbin>
I think that it's possible in nixpkgs to compile a package to both native code and JS in one go, but it's not documented or obvious. I don't know how to js_of_ocaml at all, which is probably part of the problem.
<Corbin>
Deadrat: At least for me, nixpkgs is preferable to language-specific package managers because composition of chimeras is much easier. Combine with direnv and development environments are now reproducible! FWIW nixpkgs does directly use and prefer dune for builds.
<companion_cube>
do you use nixos, Corbin?
<Corbin>
companion_cube: Yep.
<companion_cube>
fits in the "pure FP" mindset, heh :D
<Corbin>
I guess. I still have no idea what that phrase means.
<companion_cube>
well you seem like a person who enjoys the algebraic/categorical side of Haskell
<companion_cube>
nix is a natural fit
<Corbin>
I don't know about enjoying things. That's not really something I do. Category theory is just the best way to organize maths that we have so far, and it has the bonus that there's a recipe for generating programming languages with it.
<companion_cube>
:DDDD
<Leonidas>
Deadrat: OPAM has some... architectural issues.
mro has joined #ocaml
<octachron>
Leonidas, which architectural issues?
<companion_cube>
:DDDD oh my
* Tardigreat[m]
likes the idea of nix but has no idea how it can possibly fit into the "pure FP" mindset when most of the services are shell scripts that do arbitrary things and require sanitization on nixlang side
mro has quit [Ping timeout: 250 seconds]
<Corbin>
Tardigreat[m]: Indeed, I think of Nix more as a transitional package-capability system. Packages are treated like capabilities, with the Principle of Least Authority, but it's not exact and there's a few unsafe edges.
<Corbin>
The purity of the Nix expression language is nice, but not essential. The Guix folks use GNU Guile to describe packages instead, with the same backend build engine, and it seems to work fine.
<companion_cube>
i'm just waiting for a usable successor to nix :p
Haudegen has quit [Quit: Bin weg.]
Haudegen has joined #ocaml
gravicappa has quit [Ping timeout: 252 seconds]
elf_fortrez has joined #ocaml
Serpent7776 has quit [Quit: leaving]
<d_bot>
<carmysilna> Is there a opam/dune alternative that isn't specifically for reason projects? That's what esy seems like to me, but correct me if I'm wrong
<d_bot>
<Anurag> esy can build regular ocaml projects just fine. It can be used with your existing opam files (as long as you don't rely on using multiple opam repositories)
elf_fortrez has quit [Quit: Client closed]
domq has quit [Quit: domq]
olle has joined #ocaml
<d_bot>
<carmysilna> Okay, cool. I assume it will still work for dune to produce the opam file from the `dune-project` and then for esy to use it?
cedric has quit [Quit: Konversation terminated!]
bartholin has quit [Quit: Leaving]
olle has quit [Ping timeout: 240 seconds]
<Leonidas>
octachron: the way switches and dependencies work is just kinda backward from how one would actually want to have things
<Leonidas>
and while you can kinda make it do what you want, it feels more like fighing it than using it properly