[Nix-dev] Typing nix − funding campaign

Théophane Hufschmitt rg_nixos at regnat.ovh
Thu Jan 12 14:49:19 CET 2017


Hi Shea,

This probably won't have a huge interest for stuff like updating
packages (or adding new one), as those are indeed more "scripting",
with almost no interaction with the rest of the repo (but still, typed
scripting is cool :) )

It becomes however much more useful when dealing with big refactorings
(stuff like the switch to multiple-output derivations or changing the
organisation of a whole part of nixpkgs). In fact, when looking at the
PRs tagged "mass-rebuild" on the nixpkgs repo, more than half of them
would benefit from such a system imho.
It should also be a huge win for the module system, as things here are
much more intricated, and it is easy to silently break a module while
changing a different and apparently unrelated one.

For some more precise cases, a proper type system would help detecting
bugs like [this one](https://github.com/NixOS/nixpkgs/issues/19084),
or would have help for things like
https://github.com/NixOS/nixpkgs/pull/9607

Hope than answers your question

--
Théophane Hufschmitt

Thu 12 Jan 17 − 08:25, Shea Levy(shea at shealevy.com) a écrit:
> Hi Théophane,
> 
> Can you give a specific case where your type system would improve things
> for either users or developers of nixpkgs? In my experience most of the
> nix "code" I write is really just declaration or bash programming, and
> it's not clear to me how different types would help.
> 
> Thanks,
> Shea
> 
> Théophane Hufschmitt <rg_nixos at regnat.ovh> writes:
> 
> > Hi,
> >
> > I am Théophane Hufschmitt, a french master degree CS student, and I
> > wish to start a six month length internship on giving nix a type
> > system.
> >
> > Numtide offered to fund a part of the internship, but we still need
> > some help for me to be able to start it.
> >
> > The goal of the internship is to design (and implement) a type system
> > for nix in order to be able to statically get some guaranties about
> > the well-foundness of the nixpkgs repo (or any nix expression), in
> > complement to hydra or travis tests which may let some inconsistencies
> > pass − especially on nixos module system which is way harder to test.
> >
> > Providing nix with a proper type system is a long running issue (see
> > https://github.com/NixOS/nix/issues/14), and I think a huge
> > opportunity for nix to improve its awesomeness.
> >
> > The crowdfunding campaign (and a slightly more detailled description of
> > the project) is open at https://www.gofundme.com/typing-nix, and you
> > are all invited to donate.
> >
> > Of course, I'll be happy to answer any question, by mail or on
> > irc/matrix (I am regnat[m] on freenode).
> >
> > -- 
> > Théophane Hufschmitt
> > _______________________________________________
> > nix-dev mailing list
> > nix-dev at lists.science.uu.nl
> > http://lists.science.uu.nl/mailman/listinfo/nix-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.science.uu.nl/pipermail/nix-dev/attachments/20170112/bc7690c3/attachment-0001.sig>


More information about the nix-dev mailing list