Hi Marc,

Marc Weber <marco-owe...@gmx.de> skribis:

> One of the core features of nix is that its lazy - I guess that's one of
> the main reason why Eelco didn't just use python/ruby/perl ...
>
> So what do you think about how performance would compare?

While Scheme itself isn’t lazy, Guix itself is, similarly to Nix.
Basically, there are package declarations like this:

  (define-public hello
    (package
     (name "hello")
     (version "2.8")
     (source (origin
              (method http-fetch)
              (uri (string-append "http://ftp.gnu.org/gnu/hello/hello-"; version
                                  ".tar.gz"))
              (sha256
               (base32 
"0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))))
     (build-system gnu-build-system)
     (inputs `(("gawk" ,gawk)))
     (description "GNU Hello")
     (long-description "Yeah...")
     (home-page "http://www.gnu.org/software/hello/";)
     (license "GPLv3+")))

This declaration just creates a ‘package’ object (a record).  It then
has to be passed to the ‘package-derivation’ produce, to get the .drv
path, which in turn has to be passed to ‘build-derivations’, to actually
build/download it.

Now, Guile comes with an optimizing compiler, meaning that the whole
distro can be compiled, which could speed things up (especially
operations such as package lookup by name, as in ‘nix-env -i’.)

Thanks,
Ludo’.

_______________________________________________
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to