TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Simplifying 0install's solver with OCaml's functors

37 pointsby lpw25over 10 years ago

3 comments

616cover 10 years ago
I have been very impressed by the blog posts, and I saw 0install in beta many years ago. It is interesting to me because it sounds like (from my novice view) that it was doing what Nix wanted to do, which is install software and its dependencies independently siloed and allow everything run AND to do it cross platform. You can tell by this guy&#x27;s switch OCaml, getting hired for Ocaml work, and the scale of what he has done he is crazy and talented, but it seems 0install is still kind of obscure.<p>Beyond gourneau, is nayone using it and can say it is worth it? I am looking at available packages to see it is worth giving a go.
评论 #8344410 未加载
评论 #8343904 未加载
gourneauover 10 years ago
A bit of a tangent, but I actually shipped 0install on a system I built a few years back. It was intended to be a way to help users manage plugins. 0install is a really fantastic idea. However, the lack of packages and community eventually made me regret that decision. If I had to do it over again today I would have used docker.
评论 #8349554 未加载
mercurialover 10 years ago
One thing struck me as odd reading this: he skips over the implementation of the Make functor, which is the interesting bit. But looking at [1], I realized it was a bit hairy. For a maybe more approachable example of a Make functor, you can have a look at [2] around line 1181: given a module with a type t and a comparator function, it creates a module for a set of elements of type t.<p>That said, it&#x27;s a really nice set of posts, and they&#x27;re the initial reason I started to get interested in the language.<p>1: <a href="https://github.com/0install/0install/blob/master/ocaml/zeroinstall/solver_core.ml" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;0install&#x2F;0install&#x2F;blob&#x2F;master&#x2F;ocaml&#x2F;zeroi...</a><p>2: <a href="https://github.com/janestreet/core_kernel/blob/master/lib/core_set.ml" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;janestreet&#x2F;core_kernel&#x2F;blob&#x2F;master&#x2F;lib&#x2F;co...</a>
评论 #8344499 未加载