Logs: liberachat/#haskell
| 2026-01-08 08:17:59 | × | synchromesh quits (~john@2406:5a00:2412:2c00:4db3:269e:6459:c957) (Read error: Connection reset by peer) |
| 2026-01-08 08:18:59 | → | synchromesh joins (~john@2406:5a00:2412:2c00:d907:3b01:3c28:cb58) |
| 2026-01-08 08:19:49 | × | lortabac quits (~lortabac@mx1.fracta.dev) (Ping timeout: 264 seconds) |
| 2026-01-08 08:21:03 | → | lortabac joins (~lortabac@mx1.fracta.dev) |
| 2026-01-08 08:30:11 | → | chele joins (~chele@user/chele) |
| 2026-01-08 08:39:28 | → | orcus- joins (~orcus@user/brprice) |
| 2026-01-08 08:39:37 | × | orcus quits (~orcus@user/brprice) (Ping timeout: 264 seconds) |
| 2026-01-08 08:42:52 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 2026-01-08 08:43:37 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
| 2026-01-08 08:46:15 | → | acidjnk joins (~acidjnk@p200300d6e7171973ed8816f9e416ce0a.dip0.t-ipconnect.de) |
| 2026-01-08 08:49:35 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 2026-01-08 08:56:55 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds) |
| 2026-01-08 08:58:07 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 255 seconds) |
| 2026-01-08 08:58:47 | → | merijn joins (~merijn@77.242.116.146) |
| 2026-01-08 08:59:48 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 2026-01-08 09:00:10 | <dutchie> | question about coerce: I have a newtype of NonEmpty (Map Text Value), and I want to write something like `modify (coerce $ NonEmpty.cons Map.empty)` but it doesn't typecheck |
| 2026-01-08 09:00:16 | <dutchie> | (in a state monad) |
| 2026-01-08 09:00:35 | <dutchie> | should coerce be able to do this? or am I missing what's going on |
| 2026-01-08 09:00:45 | → | kuribas joins (~user@2a02-1810-2825-6000-e123-c17a-ed17-774f.ip6.access.telenet.be) |
| 2026-01-08 09:01:02 | <dutchie> | the error is "Couldn't match representation of type ‘a0’ with that of ‘Value’` |
| 2026-01-08 09:01:08 | <dutchie> | s/`/"/ |
| 2026-01-08 09:03:08 | <danza> | :t cons |
| 2026-01-08 09:03:10 | <lambdabot> | Cons s s a a => a -> s -> s |
| 2026-01-08 09:04:47 | <danza> | cons is partially applied, so you are applying coerce to a function |
| 2026-01-08 09:07:49 | Googulator14 | is now known as Googulator |
| 2026-01-08 09:08:04 | <dutchie> | right, does that not work? I want to coerce `NonEmpty (Map) -> NonEmpty (Map)` to a function on my newtype |
| 2026-01-08 09:08:26 | <dutchie> | so do I have to do `coerce . cons . coerce`? feels like I might as well explicitly unwrap/wrap then |
| 2026-01-08 09:09:14 | <int-e> | presumably you need a type signature like (Map.empty :: Map Text Value) so that the inner type is actually fully known. |
| 2026-01-08 09:09:43 | <merijn> | Map's key type is not coercible, afaik |
| 2026-01-08 09:09:47 | <merijn> | At least, it shouldn't be |
| 2026-01-08 09:09:55 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 2026-01-08 09:10:03 | <dutchie> | ah explicit annotation on Map.empty does it |
| 2026-01-08 09:10:12 | <int-e> | merijn: yeah but it's complaining about the Value type |
| 2026-01-08 09:10:45 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2026-01-08 09:10:51 | <int-e> | and specifying the key type is less of a hassle than figuring out whether we have partial type signatures :P |
| 2026-01-08 09:11:51 | × | tromp quits (~textual@2001:1c00:3487:1b00:a460:d351:8685:d1f0) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-01-08 09:12:16 | <danza> | what is the point of having a newtype if then you use coerce |
| 2026-01-08 09:15:59 | <int-e> | dutchie: Btw there's an error message reading exercise here: it complains that it doesn't know that some `a0` and `Value` have the same representation. It's easy to guess where the `Value` comes from, but GHC should also tell you what it introduced `a0` for. |
| 2026-01-08 09:21:15 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 240 seconds) |
| 2026-01-08 09:22:48 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
| 2026-01-08 09:25:52 | → | merijn joins (~merijn@77.242.116.146) |
| 2026-01-08 09:30:55 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 240 seconds) |
| 2026-01-08 09:31:42 | → | fp joins (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) |
| 2026-01-08 09:32:30 | × | danza quits (~danza@user/danza) (Remote host closed the connection) |
| 2026-01-08 09:32:58 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 2026-01-08 09:33:26 | → | GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano) |
| 2026-01-08 09:34:44 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Quit: xff0x) |
| 2026-01-08 09:40:02 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2026-01-08 09:40:11 | <dutchie> | it didn't mention the a0 or I probably would have figured it out :( |
| 2026-01-08 09:40:12 | → | danza joins (~danza@user/danza) |
| 2026-01-08 09:40:37 | <dutchie> | danza: I'm using the newtype to hide details outside the module but this is an internal function |
| 2026-01-08 09:40:59 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2026-01-08 09:41:20 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-01-08 09:41:23 | ← | kuribas parts (~user@2a02-1810-2825-6000-e123-c17a-ed17-774f.ip6.access.telenet.be) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 2026-01-08 09:45:23 | <danza> | i see, makes sense |
| 2026-01-08 09:51:35 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2026-01-08 09:53:35 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 265 seconds) |
| 2026-01-08 09:56:46 | × | jreicher quits (~joelr@user/jreicher) (Quit: brb) |
| 2026-01-08 09:57:04 | × | karenw quits (~karenw@user/karenw) (Ping timeout: 246 seconds) |
| 2026-01-08 10:03:51 | → | danz98640 joins (~danza@user/danza) |
| 2026-01-08 10:05:07 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 252 seconds) |
| 2026-01-08 10:05:26 | → | merijn joins (~merijn@77.242.116.146) |
| 2026-01-08 10:05:55 | × | danza quits (~danza@user/danza) (Ping timeout: 240 seconds) |
| 2026-01-08 10:06:27 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2026-01-08 10:10:01 | × | fp quits (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Ping timeout: 265 seconds) |
| 2026-01-08 10:10:55 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2026-01-08 10:19:05 | → | gmg joins (~user@user/gehmehgeh) |
| 2026-01-08 10:20:31 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds) |
| 2026-01-08 10:22:20 | × | bggd quits (~bgg@user/bggd) (Remote host closed the connection) |
| 2026-01-08 10:22:49 | × | Vq quits (~vq@user/vq) (Ping timeout: 264 seconds) |
| 2026-01-08 10:22:54 | → | merijn joins (~merijn@77.242.116.146) |
| 2026-01-08 10:24:11 | → | Vq joins (~vq@user/vq) |
| 2026-01-08 10:24:41 | → | notzmv joins (~umar@user/notzmv) |
| 2026-01-08 10:25:27 | × | torn quits (~torn@91-133-90-252.dyn.cablelink.at) (Quit: Client closed) |
| 2026-01-08 10:28:11 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 2026-01-08 10:33:07 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds) |
| 2026-01-08 10:37:08 | → | tromp joins (~textual@2001:1c00:3487:1b00:a460:d351:8685:d1f0) |
| 2026-01-08 10:40:44 | → | Tuplanolla joins (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) |
| 2026-01-08 10:43:55 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 240 seconds) |
| 2026-01-08 10:55:25 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 2026-01-08 10:59:57 | → | fp joins (~Thunderbi@130.233.70.102) |
| 2026-01-08 11:17:03 | → | xff0x joins (~xff0x@2405:6580:b080:900:1a94:9136:5419:ce9c) |
| 2026-01-08 11:20:55 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2026-01-08 11:30:46 | → | jreicher joins (~joelr@user/jreicher) |
| 2026-01-08 11:31:40 | × | Inline quits (~Inline@cgn-195-14-217-102.nc.de) (Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/) |
| 2026-01-08 11:34:52 | → | merijn joins (~merijn@77.242.116.146) |
| 2026-01-08 11:38:12 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 2026-01-08 11:38:42 | → | Inline joins (~Inline@cgn-195-14-217-102.nc.de) |
| 2026-01-08 11:39:16 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds) |
| 2026-01-08 11:41:47 | → | gmg joins (~user@user/gehmehgeh) |
| 2026-01-08 11:45:09 | → | weary-traveler joins (~user@user/user363627) |
| 2026-01-08 11:52:13 | × | _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 256 seconds) |
| 2026-01-08 11:52:30 | → | merijn joins (~merijn@77.242.116.146) |
| 2026-01-08 11:55:41 | → | _d0t joins (~{-d0t-}@user/-d0t-/x-7915216) |
| 2026-01-08 11:57:48 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Remote host closed the connection) |
| 2026-01-08 11:58:04 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2026-01-08 12:02:05 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 252 seconds) |
| 2026-01-08 12:05:19 | → | __monty__ joins (~toonn@user/toonn) |
| 2026-01-08 12:11:01 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection) |
| 2026-01-08 12:12:55 | → | gmg joins (~user@user/gehmehgeh) |
All times are in UTC.