Logs: liberachat/#haskell
| 2025-11-25 13:45:44 | → | Googulator64 joins (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu) |
| 2025-11-25 13:50:11 | × | trickard quits (~trickard@cpe-92-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-25 13:50:24 | → | trickard_ joins (~trickard@cpe-92-98-47-163.wireline.com.au) |
| 2025-11-25 13:51:05 | → | weary-traveler joins (~user@user/user363627) |
| 2025-11-25 13:54:53 | → | comerijn joins (~merijn@77.242.116.146) |
| 2025-11-25 13:57:33 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 250 seconds) |
| 2025-11-25 14:00:24 | × | trickard_ quits (~trickard@cpe-92-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-25 14:01:20 | → | trickard_ joins (~trickard@cpe-92-98-47-163.wireline.com.au) |
| 2025-11-25 14:08:55 | × | potatoespotatoes quits (~quassel@user/potatoespotatoes) () |
| 2025-11-25 14:09:22 | → | potatoespotatoes joins (~quassel@user/potatoespotatoes) |
| 2025-11-25 14:11:32 | × | trickard_ quits (~trickard@cpe-92-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-25 14:11:45 | → | trickard_ joins (~trickard@cpe-92-98-47-163.wireline.com.au) |
| 2025-11-25 14:15:46 | × | Googulator64 quits (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-25 14:15:48 | → | Googulator73 joins (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu) |
| 2025-11-25 14:30:36 | × | hseg_ quits (~hseg_@2.54.168.125) (Read error: Connection reset by peer) |
| 2025-11-25 14:30:55 | → | hseg_ joins (~hseg_@46.120.21.70) |
| 2025-11-25 14:33:09 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-11-25 14:38:51 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds) |
| 2025-11-25 14:42:04 | × | itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 256 seconds) |
| 2025-11-25 14:43:14 | × | trickard_ quits (~trickard@cpe-92-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-25 14:43:29 | → | trickard_ joins (~trickard@cpe-92-98-47-163.wireline.com.au) |
| 2025-11-25 14:45:45 | → | Googulator85 joins (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu) |
| 2025-11-25 14:45:50 | × | Googulator73 quits (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-25 14:46:32 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-11-25 14:49:18 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 252 seconds) |
| 2025-11-25 14:55:15 | × | Googulator85 quits (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu) (Ping timeout: 250 seconds) |
| 2025-11-25 14:55:23 | → | itaipu joins (~itaipu@168.121.97.28) |
| 2025-11-25 14:58:17 | × | potatoespotatoes quits (~quassel@user/potatoespotatoes) () |
| 2025-11-25 15:00:40 | → | potatoespotatoes joins (~quassel@user/potatoespotatoes) |
| 2025-11-25 15:01:34 | → | merijn joins (~merijn@77.242.116.146) |
| 2025-11-25 15:04:52 | × | potatoespotatoes quits (~quassel@user/potatoespotatoes) (Client Quit) |
| 2025-11-25 15:05:14 | → | potatoespotatoes joins (~quassel@user/potatoespotatoes) |
| 2025-11-25 15:05:51 | → | td_ joins (~td@i5387092E.versanet.de) |
| 2025-11-25 15:12:51 | <dutchie> | https://paste.tomsmeding.com/MLNFAoXl this feels dumb |
| 2025-11-25 15:13:23 | <merijn> | Enum is an awful awful class and it should feel bad >.> |
| 2025-11-25 15:13:28 | <haskellbridge> | <Zemyla> In addition to the standard parens function, there should be a parens', which is guaranteed to parse all parentheses. |
| 2025-11-25 15:14:15 | <merijn> | dutchie: Incidentally, that may *still* fail, if the enum instance isn't dense |
| 2025-11-25 15:14:41 | <dutchie> | ah true, even worse |
| 2025-11-25 15:14:56 | <merijn> | Like I said |
| 2025-11-25 15:15:04 | <merijn> | Enum is an awful, awful class and it should feel bad |
| 2025-11-25 15:17:39 | → | alex` joins (~user@251.red-83-33-249.dynamicip.rima-tde.net) |
| 2025-11-25 15:17:52 | <alex`> | @undo [x | Just x <- xs] |
| 2025-11-25 15:17:52 | <lambdabot> | concatMap (\ a -> case a of { Just x -> [x]; _ -> []}) xs |
| 2025-11-25 15:18:25 | <dutchie> | at least these are my own Enum instances (faking a bounded Int class) and so I know they are dense |
| 2025-11-25 15:18:51 | <merijn> | dutchie: What are you using maybeToEnum for? |
| 2025-11-25 15:19:02 | trickard_ | is now known as trickard |
| 2025-11-25 15:19:49 | <dutchie> | nudge a square on a grid, so Maybe Neighbour |
| 2025-11-25 15:23:36 | × | srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!) |
| 2025-11-25 15:24:56 | → | Square3 joins (~Square@user/square) |
| 2025-11-25 15:25:52 | × | Fischmiep quits (~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in) |
| 2025-11-25 15:26:36 | <Leary> | `class Enum` is an implementation detail of `[a(, b) .. (c)]` notation, and `(to|from)Enum` of the necessary `enumFrom*` methods. What's bad is that these details aren't hidden, inviting abuse. `succ`/`pred`, which are thrown in on principle, are perhaps the only truly user-facing part of the class. |
| 2025-11-25 15:26:55 | → | Googulator joins (~Googulato@2a01-036d-0106-4ad8-11e2-562e-881b-eb37.pool6.digikabel.hu) |
| 2025-11-25 15:27:25 | <Leary> | dutchie: Rather than trying to be generic in `Enum`, perhaps just use `Int` with explicit bounds? That can always be generalised to `Enum a` if you really need it to. |
| 2025-11-25 15:27:28 | → | Fischmiep joins (~Fischmiep@user/Fischmiep) |
| 2025-11-25 15:27:51 | <dutchie> | yeah it's almost certainly overkill to have it that generic |
| 2025-11-25 15:28:45 | <dutchie> | if i was going to refactor I think it'd make sense to have my bounds in a Reader somewhere |
| 2025-11-25 15:29:54 | <merijn> | Leary: The AI going through Int but not ensuring that's safe is definitely bad |
| 2025-11-25 15:30:38 | <merijn> | -AI+class |
| 2025-11-25 15:30:50 | <merijn> | I dunno what happened in my brain there, glitching two conversations together xD |
| 2025-11-25 15:31:15 | × | weary-traveler quits (~user@user/user363627) (Ping timeout: 240 seconds) |
| 2025-11-25 15:31:15 | → | sindu joins (~sindu@2.148.32.207.tmi.telenormobil.no) |
| 2025-11-25 15:33:14 | <haskellbridge> | <Morj> The good thing about Enum is that fromEnum @Char is exported in prelude, and ord isn't |
| 2025-11-25 15:34:57 | <haskellbridge> | <Morj> Otherwise I just write monomorphic functions for my own type that I need to convert to-from Int |
| 2025-11-25 15:39:38 | <Leary> | merijn: `(to|from)Enum` are easier to get right than the tricky details of the other methods, and should only be used to write them by proxy. You can argue that they shouldn't be part of the class (e.g. they could be written as local helpers on a per-instance basis and mapped over the methods of `Enum Int`), but then you lose the convenience of method defaults. |
| 2025-11-25 15:40:26 | <merijn> | Leary: Sure, but a required should've been that the mapping is dense and boundscheck should've made more sense |
| 2025-11-25 15:46:32 | × | typedfern__ quits (~Typedfern@15.red-83-37-26.dynamicip.rima-tde.net) (Ping timeout: 240 seconds) |
| 2025-11-25 15:47:52 | → | typedfern__ joins (~Typedfern@15.red-83-37-26.dynamicip.rima-tde.net) |
| 2025-11-25 15:54:56 | → | euphores joins (~SASL_euph@user/euphores) |
| 2025-11-25 16:02:07 | × | fp quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 264 seconds) |
| 2025-11-25 16:15:43 | × | Googulator quits (~Googulato@2a01-036d-0106-4ad8-11e2-562e-881b-eb37.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-25 16:15:48 | → | Googulator55 joins (~Googulato@2a01-036d-0106-4ad8-11e2-562e-881b-eb37.pool6.digikabel.hu) |
| 2025-11-25 16:16:15 | × | alex` quits (~user@251.red-83-33-249.dynamicip.rima-tde.net) (Ping timeout: 240 seconds) |
| 2025-11-25 16:17:25 | × | tt12316 quits (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Read error: Connection reset by peer) |
| 2025-11-25 16:17:35 | → | tt123160 joins (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) |
| 2025-11-25 16:21:01 | × | Leary quits (~Leary@user/Leary/x-0910699) (Ping timeout: 264 seconds) |
| 2025-11-25 16:21:41 | → | Leary joins (~Leary@user/Leary/x-0910699) |
| 2025-11-25 16:33:03 | × | lucabtz quits (~lucabtz@user/lucabtz) (Remote host closed the connection) |
| 2025-11-25 16:33:43 | Googulator55 | is now known as Googulator |
| 2025-11-25 16:34:51 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 2025-11-25 16:40:54 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-11-25 16:45:36 | × | Googulator quits (~Googulato@2a01-036d-0106-4ad8-11e2-562e-881b-eb37.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-25 16:45:42 | → | Googulator11 joins (~Googulato@2a01-036d-0106-4ad8-11e2-562e-881b-eb37.pool6.digikabel.hu) |
| 2025-11-25 16:48:15 | × | vardhan quits (~vardhan@122.172.80.152) (Ping timeout: 240 seconds) |
| 2025-11-25 17:01:05 | → | machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net) |
| 2025-11-25 17:22:35 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-11-25 17:27:01 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 246 seconds) |
| 2025-11-25 17:32:29 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 2025-11-25 17:33:58 | Googulator11 | is now known as Googulator |
| 2025-11-25 17:34:36 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-11-25 17:39:15 | → | ttybitnik joins (~ttybitnik@user/wolper) |
| 2025-11-25 17:53:40 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 245 seconds) |
| 2025-11-25 17:54:17 | × | infinity0 quits (~infinity0@pwned.gg) (Remote host closed the connection) |
| 2025-11-25 17:54:36 | → | infinity0 joins (~infinity0@pwned.gg) |
| 2025-11-25 17:59:11 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 2025-11-25 18:03:03 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 2025-11-25 18:03:19 | × | target_i quits (~target_i@user/target-i/x-6023099) (Ping timeout: 240 seconds) |
| 2025-11-25 18:04:31 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 2025-11-25 18:05:46 | → | fp joins (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) |
| 2025-11-25 18:05:53 | × | fp quits (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Client Quit) |
| 2025-11-25 18:07:52 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds) |
All times are in UTC.