2026/04/03

Newest at the top

2026-04-03 21:01:23 +0000 <tomsmeding> I agree that -Wunused-bindings and -Wunused-imports are nothing but in the way while you're working
2026-04-03 21:01:18 +0000 <absurdvoid> I find it helpful to have a "dev" mode where a lot of warnings/errors are disabled for quicker iteration. Can be toggled with a flag.
2026-04-03 20:59:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-03 20:59:17 +0000 <dolio> The annoying stuff is when you're working.
2026-04-03 20:58:49 +0000 <dolio> Actually -W is probably okay as a pass before something public.
2026-04-03 20:58:48 +0000 <geekosaur> And was never updated for ANSI C
2026-04-03 20:58:14 +0000jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
2026-04-03 20:57:37 +0000raelie(~raelie@user/raelie) raelie
2026-04-03 20:57:37 +0000raelie(~raelie@2a06:5904:11c4:b000:148b:d28e:318a:8d84) (Changing host)
2026-04-03 20:57:37 +0000raelie(~raelie@2a06:5904:11c4:b000:148b:d28e:318a:8d84)
2026-04-03 20:57:26 +0000 <geekosaur> It was an AT&T UNIXism
2026-04-03 20:57:01 +0000 <geekosaur> Oh
2026-04-03 20:56:50 +0000 <geekosaur> lint is long gone, that's why it's compiler warnings now
2026-04-03 20:56:40 +0000 <tomsmeding> geekosaur: I think you mean -Wtype-defaults there, which is in -Wall
2026-04-03 20:56:03 +0000 <geekosaur> `-Wdefault` can be annoying when there are cases where it's hard to avoid defaulting
2026-04-03 20:55:52 +0000 <monochrom> Forgetting that the whole reason C's lint exists is because, for example, of the stupid C syntax design such that you intend "if (x == y)" but you mistype it as "if (x = y)".
2026-04-03 20:55:10 +0000 <tomsmeding> not to be confused with gcc's -Wextra, which is even more than its -Wall
2026-04-03 20:55:04 +0000 <dolio> I think some beyond that are probably worth enabling, but even -W has some stuff I'm not a huge fan of.
2026-04-03 20:55:01 +0000 <tomsmeding> then there is -Wextra, which is in between -Wdefault and -Wall
2026-04-03 20:54:56 +0000 <monochrom> My tangential sideways peeve is that people blindly believe in hlint just because C's lint (totally unrelated) is a really good idea.
2026-04-03 20:54:06 +0000 <tomsmeding> yes
2026-04-03 20:53:58 +0000 <dolio> -Wdefault looks okay. But that's what's actually on by default, right?
2026-04-03 20:53:55 +0000 <geekosaur> Point being, C is a very different ecosystem
2026-04-03 20:52:21 +0000 <geekosaur> In the case of gcc a lot of it is older sources and the rest is things known to trip unsuspecting programmers
2026-04-03 20:51:19 +0000 <tomsmeding> ( https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag-Wdefault )
2026-04-03 20:51:15 +0000 <tomsmeding> dolio: would -Wdefault do? Or is perhaps -Winaccessible-code too much?
2026-04-03 20:49:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-04-03 20:48:32 +0000 <Leary> Global coherence and modularity are at odds; responsibility for their coexistence should fall to the language or packaging system. I can't blame 'aeson' for not wanting to write a bunch of orphans---they really shouldn't have to. Hell, they shouldn't even be /allowed/ to.
2026-04-03 20:47:33 +0000 <dolio> I don't do much C, so I don't know about gcc's choices.
2026-04-03 20:47:16 +0000 <dolio> GHC.
2026-04-03 20:47:06 +0000 <tomsmeding> dolio: you mean GHC's -Wall, or also gcc's -Wall?
2026-04-03 20:46:47 +0000 <dolio> It'd have to be trimmed way back, at least.
2026-04-03 20:44:52 +0000 <dolio> I'm not sure any -Wall would be something that I'd endorse, because there are just too many people eager to follow arbitrary coding conventions that trade one error for another, at least in Haskell.
2026-04-03 20:44:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-03 20:43:45 +0000 <tomsmeding> -Wall not having all warnings, just the generally important ones, is a historical naming error that we're unlikely to be correcting now
2026-04-03 20:42:56 +0000 <dolio> It seems odd to not want all the warnings in -Wall, even though it still doesn't have all the warnings.
2026-04-03 20:38:47 +0000 <geekosaur> and I have in fact heard people respond to your complaint with "so why is it in `-Wall`?"
2026-04-03 20:38:24 +0000 <geekosaur> part of the problem there is people being trained by gcc/g++ where it's usually a good idea
2026-04-03 20:36:36 +0000takuan(~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 255 seconds)
2026-04-03 20:35:28 +0000 <dolio> Just in general.
2026-04-03 20:35:16 +0000 <dolio> Part of the problem is people unthinkinly obeying stuff in -Wall.
2026-04-03 20:34:14 +0000 <tomsmeding> good, question resolved, it's aeson's problem :p
2026-04-03 20:33:59 +0000 <tomsmeding> agreed
2026-04-03 20:33:52 +0000 <dolio> And the rule should mean that random other idiots shouldn't be writing orphan instances for aeson.
2026-04-03 20:33:36 +0000 <dolio> It seems like it should be okay for aeson to separate a canonical package out with orphan quick check instances.
2026-04-03 20:33:26 +0000 <tomsmeding> but yeah, here I'm really at a loss why there isn't `aeson` and then `aeson-quickcheck` which gives the Arbitrary instances, apart from blowing up the number of tiny packages on Hackage
2026-04-03 20:33:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-04-03 20:32:47 +0000 <tomsmeding> (which is conventionally weakened to at least "no orphan instances in libraries", because in leaf applications they don't really hurt)
2026-04-03 20:32:44 +0000 <geekosaur> I feel like it should be possible to declare exceptions
2026-04-03 20:32:25 +0000 <dolio> I don't.