Open
Description
It's time to talk about the names.
nix-tools gives no indication that the tools are for Haskell Cabal and Stack, nor that they are only useful with haskell.nix.
Haskell.nix is a bit too similar to the auto-generated repos hackage.nix
and stackage.nix
. But Haskell.nix is more important than these repos.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
angerman commentedon Mar 20, 2019
Thanks for bringing this up @rvl! Yes naming has been a sore point. I've started to emphasise
haskell.nix
more overnix-tools
. Specifically becausenix-tools
only does the translation andhaskell.nix
is the real haskell nix infrastructure.I'm quite happy with the convention of
.nix
suffix for projects that consist of mostlynix
files.My preference would be
haskell.nix
hackage.nix
andstackage.nix
nix-tools
.angerman commentedon Mar 20, 2019
We also have
iohk-nix
, which useshaskell.nix
as building blocks to build our high level interface. @nomeata has been running into this a bit, and is probably not too happy about the cargo-culting.I see this as three layers. (
hackage.nix
andstackage.nix
being just auxiliary)nix
Where are the exact boundaries? If we add
ghc
's into this, they would be inhaskell.nix
? Shouldn't all our patches and cross compilation logic be then inhaskell.nix
as well? Or should we keep it leaner?nomeata commentedon Mar 20, 2019
Let me add a few pairs of cents:
I would assume so. Distinguishing
ghc
from Haskell libraries is hardly worth the bother, andghc
ships with many of them.As long as they are general purpose, i.e. not particularly tied to IOHK, yes. Since
haskell.nix
is, in a way, a replacement for parts of nixpkgs, and nixpkgs supports cross-compilation and has patches for that, it follows thathaskell.nix
is the right place.If you want to keep
haskell.nix
to be purely the infrastructure (which makes sense), then maybe have a repositoryhaskell.nix-patches
that provides apkgs-extras
module (or even multiple ones), that users can opt-into. This would, in fact, be a nice separation of concerns.Yes, very confusing that there is no haskell in the name. It would have helped me if that were called
nix-haskell-tools
or, even betterhaskell.nix-tools
, since it is tied tohaskell.nix
(and not Haskell and nix in general).If it is “high-level tooling for convenience”, then it should definitely not have patches, because if the patches live there it means you can’t achieve the same result with less convenience without it, which means it is not “high-level tooling”.
Maybe
haskell.nix-simple
? It isn’t really iohk-specific, and having iohk in the same is confusing (I didn’t look at it because I thought it is local and specific code in there.)I agreed with @rvl that the similarity to
haskell.nix
is confusing. Maybehaskell.nix-hackage
andhaskell.nix-stackage
?So maybe have these repositories?
haskell.nix-tools
haskell.nix
haskell.nix-hackage
haskell.nix-stackage
haskell.nix-patches
haskell.nix-simple
angerman commentedon Apr 2, 2019
I've just opened irc://irc.freenode.net/#haskell.nix
michaelpj commentedon Apr 2, 2019
Suggestion for
nix-tools
:haskell-builds-to-nix
. Maybehaskell-builds.nix
?angerman commentedon Apr 3, 2019
@michaelpj, I actually like
haskell.nix-tools
as suggested by @nomeata, any specific reason you don't like that one?michaelpj commentedon Apr 3, 2019
I just find "nix-tools" very non-specific even when it's scoped to Haskell. Hence the suggestion to at least say that it does something to do with build tools.
nomeata commentedon Apr 3, 2019
The scoping is
(haskell.nix)-tools
:-)michaelpj commentedon Apr 3, 2019
Years of URLs have taught me that the precedence is the opposite way around :)
angerman commentedon Apr 3, 2019
@michaelpj so you'd prefer
haskell.nix/tools
ortools.haskell.nix
?nix-tools
will essentially contain all the tools related tohaskell.nix
. If we fixbuild
in there somehow, we will need yet another repository once we have non-build tools and the question becomes, what is a buildtool where are the boundaries?michaelpj commentedon Apr 3, 2019
I mean, I'm not sure what the semantics of these names are supposed to be :p I quite like
haskell.nix/tools
although we're starting to introduce awkward characters.tools.haskell.nix
could be good.I take your point that you might want to put other tools that aren't build-related in there.
michaelpj commentedon Apr 3, 2019
haskell.nix/tools
suggests another question: why not mergenix-tools
intohaskell.nix
as a subdir?angerman commentedon Apr 3, 2019
this of course was a lure :p we are just replacing
/
by-
;-)I'd prefer to keep the tooling separate from the rts/infrastructure. Essentially
haskell.nix-tools
will be a cabal package.michaelpj commentedon Apr 3, 2019
But then it groups wrong by the precedence rules people are used to. I know this sounds picky but I genuinely think people will parse it wrong.
Up to you, but I'm not entirely sure why. I guess
haskell.nix/tools
isn't so tightly coupled tohaskell.nix
, you can probably use the same version with varioushaskell.nix
versions okay-ish.angerman commentedon Apr 3, 2019
Alright. I'll go and let this sit for now. Maybe @michaelpj can convince me in two weeks that he's right and I'm wrong 🍻
michaelpj commentedon Apr 4, 2019
Here's a concrete suggestion: right now in a few places in the Nix expressions stuff gets scoped under
nix-tools
, e.g. https://github.com/input-output-hk/iohk-nix/blob/master/nix-tools-default.nix#L30I think this should be
haskell.nix
or something derived from that, since they'rehaskell.nix
expressions created by nix-tools. If the name only crops up as the namespace of the actual set of executable tools themselves then that simplifies things.chreekat commentedon Jun 19, 2019
Anecdote: I parsed haskell.nix-tools the way @angerman intended immediately. However, if I come back to it in a week without context, I'll probably parse it incorrectly.
Projects don't usually have '.' in their name. haskellix-tools, haskellix-stackage, haskellix-hackage. I'm terrible at names.
chreekat commentedon Aug 22, 2019
Two months later, I really like haskell.nix.
haskell and hackage are similar words, but we know they are vastly different -- I feel the same is true for haskell.nix and hackage.nix.
The .nix suffix is fine, but needs to remain a suffix. haskell-tools.nix, haskell-patches.nix, etc.
tools.haskell.nix is the best option i've seen for a new name of nix-tools.Except it isn't Nix, so that confounds the meaning of the .nix suffix.nomeata commentedon Aug 22, 2019
In an alphabetic listing of directories, don’t you really want all the
haskell.nix
-related repositories to be next to each other? Common prefix seems better than common suffix to me.chreekat commentedon Aug 23, 2019
In my case, they wouldall be next to each other, in a subdirectory. :)
fwiw, I would be happy with @nomeata 's suggestions listed at #94 (comment) . If "haskell.nix" is always used as the top-level name, it seems to me that it won't be hard to parse "haskell.nix-tools" as (haskell.nix, tools) rather than (haskell, nix-tools)
michaelpj commentedon Aug 23, 2019
haskell.nix.hs
?I'm not a huge fan of
haskell.nix-tools
still, but I really think we should change it to something less ambiguous thannix-tools
asap, so I'd take it.chrissound commentedon Jan 5, 2020
Instead of using "generic" names like haskell / nix / tools / build etc, I'd suggest choosing something much more random and unique. In terms of SEO purposes something like BobbyBobsBuilder is going to be a lot more specific than just "haskell.nix" I'd imagine. The same way we have "aeson" instead of "json" for Haskell.
stale commentedon Sep 28, 2022
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.