Logs: freenode/#haskell
| 2021-03-31 00:39:42 | <monochrom> | Suppose I have "data U = U". So it's should be of the same status as (), right? RIGHT? |
| 2021-03-31 00:40:08 | <monochrom> | So if foo :: IO U, I'm warned; if foo :: IO (), I'm not warned. |
| 2021-03-31 00:40:13 | <monochrom> | WHAT KIND OF LOGIC IS THAT |
| 2021-03-31 00:40:29 | <monochrom> | Answer: Hypocrisy. |
| 2021-03-31 00:41:37 | <int-e> | thought shalt have no other unit type before () |
| 2021-03-31 00:41:45 | <int-e> | thou |
| 2021-03-31 00:41:48 | <monochrom> | OK, this and other warnings are not in the default. They are "merely" in -Wall. |
| 2021-03-31 00:41:51 | <int-e> | stupid auto-correcting fingers |
| 2021-03-31 00:42:05 | <infinisil> | -Wall -Werror all the way |
| 2021-03-31 00:42:10 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-03-31 00:42:33 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 2021-03-31 00:42:53 | <infinisil> | I haven't tried out -Weverything but now I want to |
| 2021-03-31 00:42:59 | <monochrom> | So over the years I gathered that -Wall is full of these useless warnings. Or worse, halfly full of these useless warnings and so the value of -Wall is devalued. |
| 2021-03-31 00:43:21 | <monochrom> | This phenomenon is well-known as the cry-wolf fable. |
| 2021-03-31 00:43:45 | <infinisil> | I'm so far quite pleased by -Wall |
| 2021-03-31 00:44:00 | <monochrom> | It means that if -Wall cries wolf false alarm too many times, when one day it actually finds a real issue, you won't notice. |
| 2021-03-31 00:44:48 | <infinisil> | Honestly, I can't really relate |
| 2021-03-31 00:44:57 | <infinisil> | Maybe I'm not doing fancy enough things to trigger the false alarms |
| 2021-03-31 00:45:01 | <int-e> | monochrom: so to make warnings useful, you fix all the warnings that you don't disable, even if it makes the code less readable :-/ |
| 2021-03-31 00:45:13 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 2021-03-31 00:45:17 | → | enya[m] joins (enyaismatr@gateway/shell/matrix.org/x-wlpxchczeengvguo) |
| 2021-03-31 00:46:11 | × | andi- quits (~andi-@NixOS/user/andi-) (Ping timeout: 248 seconds) |
| 2021-03-31 00:51:25 | → | obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl) |
| 2021-03-31 00:51:36 | <int-e> | infinisil: well that split code is an example of code that is correct, but in order to squelch the warning you either need to change the type (inducing conversions between NonEmpty [a] and [a] down the line) or add a useless line of code like | [] <- split f xs = error "impossible case" |
| 2021-03-31 00:52:03 | <int-e> | infinisil: and I don't think that particular code is fancy at all. |
| 2021-03-31 00:52:11 | <monochrom> | In the split case, NonEmpty is the way to go. |
| 2021-03-31 00:52:43 | <infinisil> | Hmm, though I'm with the compiler there. There's no way for it to infer that the function can't return an empty list |
| 2021-03-31 00:52:49 | <int-e> | I can't bring myself to like NonEmpty. |
| 2021-03-31 00:53:07 | <int-e> | infinisil: oh sure, I don't expect it to figure that one out either |
| 2021-03-31 00:53:40 | <monochrom> | In the absence of NonEmpty, I wouldn't mind adding a final clause "= error "should not happen"" either. At least it benefits human readers. |
| 2021-03-31 00:53:45 | <int-e> | and the particular warning... missing cases... tends to be useful, so I might actually add the useless case instead. |
| 2021-03-31 00:54:48 | <koz_> | I agree with the useless case. |
| 2021-03-31 00:54:59 | <koz_> | I'd rather not disable such a useful warning for a whole module cause of one function. |
| 2021-03-31 00:56:37 | → | gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) |
| 2021-03-31 00:57:17 | <monochrom> | But I would do it for human readers, not for -Wall |
| 2021-03-31 00:58:19 | × | carlomagno quits (~cararell@148.87.23.5) (Quit: Leaving.) |
| 2021-03-31 01:00:04 | × | obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2021-03-31 01:00:53 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2021-03-31 01:01:54 | → | andi- joins (~andi-@NixOS/user/andi-) |
| 2021-03-31 01:03:01 | → | conal joins (~conal@64.71.133.70) |
| 2021-03-31 01:05:39 | → | eldritch joins (~eldritch@unaffiliated/eldritch) |
| 2021-03-31 01:06:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-03-31 01:06:38 | <DigitalKiwi> | but would you do it for -Werror? |
| 2021-03-31 01:07:23 | <monochrom> | No |
| 2021-03-31 01:07:40 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:8050:1fea:250d:e11e) |
| 2021-03-31 01:07:56 | <monochrom> | If Buddha is in my way, I kill Buddha. If -Werror is in my way, I kill -Werror. |
| 2021-03-31 01:08:04 | <DigitalKiwi> | ;( |
| 2021-03-31 01:08:52 | <monochrom> | But I would write a long comment to explain or remind the reader why there is a certain syntactic case doesn't need to be handled. |
| 2021-03-31 01:09:12 | <DigitalKiwi> | in soviet russia Buddha/-Werror kill you |
| 2021-03-31 01:09:52 | → | solvr joins (57e3c46d@87.227.196.109) |
| 2021-03-31 01:09:53 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
| 2021-03-31 01:10:06 | <monochrom> | And if I'm willing to write that long comment, adding a short '= error "doesn't happen"' is no big deal. I can do that for the reader. |
| 2021-03-31 01:10:10 | × | Tario quits (~Tario@201.192.165.173) (Remote host closed the connection) |
| 2021-03-31 01:10:44 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-03-31 01:11:51 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-03-31 01:12:06 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 2021-03-31 01:12:36 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:14ea:f44:a077:bc09) |
| 2021-03-31 01:15:46 | × | Erutuon_ quits (~Erutuon@97-116-27-119.mpls.qwest.net) (Ping timeout: 240 seconds) |
| 2021-03-31 01:17:54 | → | Erutuon_ joins (~Erutuon@97-116-27-119.mpls.qwest.net) |
| 2021-03-31 01:21:01 | → | carlomagno joins (~cararell@148.87.23.6) |
| 2021-03-31 01:21:20 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 2021-03-31 01:29:39 | → | ddellacosta joins (~ddellacos@86.106.143.144) |
| 2021-03-31 01:30:55 | → | Tario joins (~Tario@201.192.165.173) |
| 2021-03-31 01:37:12 | → | Guest41032 joins (~laudiacay@67.176.215.84) |
| 2021-03-31 01:37:54 | × | ddellacosta quits (~ddellacos@86.106.143.144) (Remote host closed the connection) |
| 2021-03-31 01:38:04 | → | ddellacosta joins (~ddellacos@86.106.143.144) |
| 2021-03-31 01:38:41 | × | ddellacosta quits (~ddellacos@86.106.143.144) (Remote host closed the connection) |
| 2021-03-31 01:39:10 | → | ddellacosta joins (~ddellacos@86.106.143.144) |
| 2021-03-31 01:39:29 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds) |
| 2021-03-31 01:41:26 | × | Guest41032 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 2021-03-31 01:43:39 | <styledash> | l |
| 2021-03-31 01:43:47 | × | ddellacosta quits (~ddellacos@86.106.143.144) (Ping timeout: 268 seconds) |
| 2021-03-31 01:47:26 | Guest54397 | is now known as shapr |
| 2021-03-31 01:47:38 | × | shapr quits (~shapr@162.243.9.169) (Changing host) |
| 2021-03-31 01:47:38 | → | shapr joins (~shapr@haskell/developer/shapr) |
| 2021-03-31 01:49:40 | × | lewky quits (~lewky@159.65.37.240) (Ping timeout: 252 seconds) |
| 2021-03-31 01:51:11 | → | elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 2021-03-31 01:52:01 | → | stree joins (~stree@68.36.8.116) |
| 2021-03-31 01:57:01 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 2021-03-31 01:57:05 | × | dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds) |
| 2021-03-31 01:58:28 | → | Tario joins (~Tario@201.192.165.173) |
| 2021-03-31 02:00:59 | × | xff0x quits (~xff0x@2001:1a81:52a1:b000:b050:426f:481c:717d) (Ping timeout: 252 seconds) |
| 2021-03-31 02:01:08 | → | rajivr joins (uid269651@gateway/web/irccloud.com/x-vhalmegvcwkpzygm) |
| 2021-03-31 02:01:45 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2021-03-31 02:02:06 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 240 seconds) |
| 2021-03-31 02:02:33 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2021-03-31 02:02:55 | → | xff0x joins (~xff0x@2001:1a81:52d9:7900:960c:6609:3a45:b460) |
| 2021-03-31 02:04:38 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 2021-03-31 02:04:38 | finn_elija | is now known as Guest1130 |
| 2021-03-31 02:04:38 | FinnElija | is now known as finn_elija |
| 2021-03-31 02:05:13 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-jjboehqzacazreox) (Quit: Connection closed for inactivity) |
| 2021-03-31 02:06:11 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-03-31 02:07:57 | × | Guest1130 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
| 2021-03-31 02:08:37 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 2021-03-31 02:10:17 | → | Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) |
| 2021-03-31 02:10:46 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 2021-03-31 02:10:51 | × | viluon quits (uid453725@gateway/web/irccloud.com/x-fqedziywpebcqkui) (Quit: Connection closed for inactivity) |
| 2021-03-31 02:13:34 | → | Guest41032 joins (~laudiacay@67.176.215.84) |
| 2021-03-31 02:14:58 | × | haritz quits (~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
| 2021-03-31 02:15:21 | × | Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
All times are in UTC.