[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
|
|
Subscribe / Log in / New account

Nix at SCALE

Nix at SCALE

Posted Mar 26, 2024 15:13 UTC (Tue) by pj (subscriber, #4506)
Parent article: Nix at SCALE

I've been using nix (the package manager) a bit over the last couple years and slowly learning more nix (the language). Anyone else get the feeling it's really an overgrown DSL that needs to be turned into like a lua extension or something?


to post comments

Nix at SCALE

Posted Mar 26, 2024 16:06 UTC (Tue) by spacefrogg (subscriber, #119608) [Link]

It is a very particular language trying to work a very particular problem space efficiently: It solves the problem of efficiently extracting your working solution out of a mostly broken and incompatible code base. And doing that reliably, repeatably and re-trace-ably. It also solves a very heavy communications problem on the side, which is communicating "your working solution" to others effectively so they can benefit from it.

Nix language vs Scheme

Posted Mar 29, 2024 17:58 UTC (Fri) by bauermann (subscriber, #37575) [Link]

I never actually used Nix (I read the Nix PhD thesis so I have a passing familiarity with the language), but my impression is that this is one area where Guix really shines: it uses Scheme for package and services definitions (well, for almost everything actually) instead of creating an ad-hoc language.

This becomes apparent in this article's section about module contracts. In Guix, the problem described in the article becomes a simpler problem of refactoring code to make the different services more composable. Perhaps even creating a function that accepts packages as parameters and returns a service definition that uses those packages in the service instead of the default ones.

Though admittedly it does have a high learning curve, especially if one isn't used to Lisp.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds