Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,058 events total
2025-09-14 12:13:14 haritz joins (~hrtz@user/haritz)
2025-09-14 12:16:40 zzz joins (~zero@user/zero)
2025-09-14 12:17:23 × zzz quits (~zero@user/zero) (Remote host closed the connection)
2025-09-14 12:17:40 zzz joins (~zero@user/zero)
2025-09-14 12:18:01 × zzz quits (~zero@user/zero) (Remote host closed the connection)
2025-09-14 12:18:17 zzz joins (~zero@user/zero)
2025-09-14 12:19:28 × zzz quits (~zero@user/zero) (Remote host closed the connection)
2025-09-14 12:19:43 zzz joins (~zero@user/zero)
2025-09-14 12:34:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-09-14 12:38:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-14 12:43:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-09-14 12:54:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-14 13:01:33 × petrichor quits (~jez@user/petrichor) (Ping timeout: 252 seconds)
2025-09-14 13:30:01 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
2025-09-14 13:31:33 tremon joins (~tremon@83.80.159.219)
2025-09-14 13:31:48 × mulk quits (~mulk@pd95144c3.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-09-14 13:32:16 mulk joins (~mulk@pd95144c3.dip0.t-ipconnect.de)
2025-09-14 13:32:32 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-09-14 13:33:00 petrichor joins (~jez@user/petrichor)
2025-09-14 13:33:07 marinelli parts (~weechat@gateway/tor-sasl/marinelli) ()
2025-09-14 13:34:10 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-09-14 13:42:08 michals joins (~michals@ip-109-40-49-74.web.vodafone.de)
2025-09-14 13:43:29 × michals quits (~michals@ip-109-40-49-74.web.vodafone.de) (Client Quit)
2025-09-14 13:45:03 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-09-14 13:45:22 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-09-14 13:45:47 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
2025-09-14 13:49:35 laxmik joins (~user@ip-109-40-49-74.web.vodafone.de)
2025-09-14 13:54:40 segfaultfizzbuzz joins (~segfaultf@12.172.219.17)
2025-09-14 13:56:10 sajenim joins (~sajenim@user/sajenim)
2025-09-14 13:59:08 × segfaultfizzbuzz quits (~segfaultf@12.172.219.17) (Ping timeout: 256 seconds)
2025-09-14 14:00:24 × MelodyOwO quits (~MelodyOwO@user/MelodyOwO) (Ping timeout: 252 seconds)
2025-09-14 14:00:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-09-14 14:07:07 karenw_ joins (~karenw@user/karenw)
2025-09-14 14:12:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-14 14:17:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-09-14 14:24:54 × karenw_ quits (~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2025-09-14 14:25:28 × laxmik quits (~user@ip-109-40-49-74.web.vodafone.de) (Ping timeout: 248 seconds)
2025-09-14 14:28:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-14 14:45:07 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-09-14 14:51:45 tbahne joins (~tbahne@user/tbahne)
2025-09-14 15:10:49 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
2025-09-14 15:19:53 tbahne parts (~tbahne@user/tbahne) ()
2025-09-14 15:20:36 × trickard quits (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-14 15:20:49 trickard_ joins (~trickard@cpe-56-98-47-163.wireline.com.au)
2025-09-14 15:24:59 tbahne joins (~tbahne@user/tbahne)
2025-09-14 15:25:33 × tbahne quits (~tbahne@user/tbahne) (Client Quit)
2025-09-14 15:33:26 × qqe quits (~qqq@185.54.23.100) (Remote host closed the connection)
2025-09-14 15:33:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-09-14 15:34:39 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
2025-09-14 15:35:54 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Client Quit)
2025-09-14 15:39:18 segfaultfizzbuzz joins (~segfaultf@12.172.219.17)
2025-09-14 15:39:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-14 15:44:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-09-14 15:49:30 lxsameer joins (~lxsameer@Serene/lxsameer)
2025-09-14 15:51:08 mreh joins (~matthew@host86-146-25-35.range86-146.btcentralplus.com)
2025-09-14 15:53:11 <mreh> data B' = forall a. B' (B a)
2025-09-14 15:53:19 <mreh> instance Eq B' where (B' a) == (B' b) = ???
2025-09-14 15:53:34 <mreh> ^ can I do this legitimately with unsafeCoerce?
2025-09-14 15:55:28 <mreh> that type parameter `a` in `B a` is just a phantom type
2025-09-14 15:55:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-14 15:57:41 <geekosaur> doesn't look like one to me? although I'd have to see the definition of B to know for certain
2025-09-14 15:57:58 <geekosaur> if it is phantom, then unsafeCoerce is fine
2025-09-14 15:58:18 <Leary> mreh: If you control `B`, expose `sameB :: B a -> B b -> Bool` and use that. Otherwise, `unsafeCoerce` may be the only choice.
2025-09-14 15:58:47 <mreh> Yeah, I've defined B, and it is a true phantom type
2025-09-14 15:59:15 <mreh> Leary, I could define sameB, but I want to derive the definition where possible
2025-09-14 16:00:03 <Leary> If `type role B phantom`, you can also just use regular safe `coerce`.
2025-09-14 16:00:46 <mreh> really...
2025-09-14 16:02:57 <mreh> is that some GHC magic?
2025-09-14 16:03:47 <geekosaur> just the rules for implicit `Coercible` constraints. Phantom types are automatically compatible
2025-09-14 16:05:16 <c_wraith> technically, Coercible is magic
2025-09-14 16:05:23 <c_wraith> it doesn't have real instances
2025-09-14 16:05:40 <mreh> well, it works
2025-09-14 16:06:16 <mreh> (type checks)
2025-09-14 16:06:38 <c_wraith> the nice thing about Coercible is that it's conservative. If coerce works, it's safe.
2025-09-14 16:08:06 <c_wraith> ... at least from the type system POV. It may break internal invariants.
2025-09-14 16:08:39 <monochrom> The type system is also very conservative. :)
2025-09-14 16:09:31 <monochrom> OK, coerce is also conservative dynamically: in-memory representations are guaranteed to be identical.
2025-09-14 16:09:55 <mreh> neat
2025-09-14 16:13:47 × segfaultfizzbuzz quits (~segfaultf@12.172.219.17) (Ping timeout: 248 seconds)
2025-09-14 16:21:40 × trickard_ quits (~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-14 16:21:53 trickard_ joins (~trickard@cpe-56-98-47-163.wireline.com.au)
2025-09-14 16:27:50 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 245 seconds)
2025-09-14 16:30:06 × petrichor quits (~jez@user/petrichor) (Ping timeout: 244 seconds)
2025-09-14 16:35:49 sprotte24 joins (~sprotte24@p200300d16f0fa90034a8f8dc2eadcbb1.dip0.t-ipconnect.de)
2025-09-14 16:57:56 × EvanR quits (~EvanR@user/evanr) (Quit: Leaving)
2025-09-14 17:07:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-09-14 17:10:12 AndreiDuma joins (~AndreiDum@user/AndreiDuma)
2025-09-14 17:18:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-14 17:30:30 × trickard_ quits (~trickard@cpe-56-98-47-163.wireline.com.au) (Ping timeout: 256 seconds)
2025-09-14 17:32:55 trickard_ joins (~trickard@cpe-56-98-47-163.wireline.com.au)
2025-09-14 17:47:23 × zzz quits (~zero@user/zero) (Remote host closed the connection)
2025-09-14 17:47:39 zzz joins (~zero@user/zero)
2025-09-14 17:48:19 trickard_ is now known as trickard
2025-09-14 17:48:38 <tomsmeding> c_wraith: which means that if coerce can break your internal invariants, one should assign stricter roles with explicit role signatures :)
2025-09-14 17:49:35 <tomsmeding> the tricky thing being that many people don't know about this so they don't do it so you can't really rely on being able to `coerce` safely
2025-09-14 17:52:55 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
2025-09-14 17:56:41 × AndreiDuma quits (~AndreiDum@user/AndreiDuma) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-09-14 17:57:39 AndreiDuma joins (~AndreiDum@user/AndreiDuma)
2025-09-14 18:03:49 zzz is now known as yin
2025-09-14 18:10:51 petrichor joins (~jez@user/petrichor)

All times are in UTC.