Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,703 events total
2025-11-09 05:56:48 arcadewise joins (52968ed80d@2a03:6000:1812:100::3df)
2025-11-09 05:56:48 simendsjo joins (34b0550437@2a03:6000:1812:100::1441)
2025-11-09 05:56:52 tritlo joins (sid58727@id-58727.hampstead.irccloud.com)
2025-11-09 05:56:53 lally joins (sid388228@id-388228.uxbridge.irccloud.com)
2025-11-09 05:57:03 Sgeo joins (~Sgeo@user/sgeo)
2025-11-09 06:02:12 trickard_ is now known as trickard
2025-11-09 06:06:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 06:08:16 Raito_Bezarius joins (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius)
2025-11-09 06:12:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-09 06:13:38 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-09 06:13:52 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-09 06:15:34 × tccq quits (~tccq@user/tccq) (Remote host closed the connection)
2025-11-09 06:24:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 06:29:06 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-09 06:35:41 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
2025-11-09 06:36:45 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2025-11-09 06:40:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 06:44:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-09 06:50:11 × annamalai quits (~annamalai@157.33.220.201) (Ping timeout: 244 seconds)
2025-11-09 06:51:39 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2025-11-09 06:54:44 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-09 06:55:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 07:00:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-09 07:02:19 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 07:07:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-09 07:16:36 tromp joins (~textual@2001:1c00:3487:1b00:b9c6:2c55:4165:c029)
2025-11-09 07:17:12 × tromp quits (~textual@2001:1c00:3487:1b00:b9c6:2c55:4165:c029) (Client Quit)
2025-11-09 07:18:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 07:22:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-09 07:33:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 07:38:36 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-09 07:49:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 07:51:58 tromp joins (~textual@2001:1c00:3487:1b00:b9c6:2c55:4165:c029)
2025-11-09 07:55:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-09 08:03:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 08:04:33 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2025-11-09 08:04:39 trickard___ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-09 08:05:06 tt12310978324354 joins (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803)
2025-11-09 08:08:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-09 08:15:48 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
2025-11-09 08:19:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 08:21:13 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
2025-11-09 08:24:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-09 08:24:30 trickard___ is now known as trickard
2025-11-09 08:34:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 08:39:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-09 08:44:38 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
2025-11-09 08:46:11 × tromp quits (~textual@2001:1c00:3487:1b00:b9c6:2c55:4165:c029) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-09 08:46:40 × Square3 quits (~Square@user/square) (Ping timeout: 256 seconds)
2025-11-09 08:50:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 08:51:13 × trickard quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-09 08:51:27 trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-09 08:55:36 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-09 08:56:38 × fmlatghor quits (~lcoogan@user/fmlatghor) (Remote host closed the connection)
2025-11-09 08:57:03 fmlatghor joins (~lcoogan@user/fmlatghor)
2025-11-09 09:00:15 trickard_ is now known as trickard
2025-11-09 09:04:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 09:09:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-09 09:19:50 × califax quits (~califax@user/califx) (Remote host closed the connection)
2025-11-09 09:20:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 09:20:57 califax joins (~califax@user/califx)
2025-11-09 09:24:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-09 09:29:43 × trickard quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-09 09:29:57 trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-09 09:31:55 <kaol> Is there something like Void but that's * -> *? Sort of like Maybe that's guaranteed to always be Nothing.
2025-11-09 09:32:17 × califax quits (~califax@user/califx) (Remote host closed the connection)
2025-11-09 09:33:00 <humasect> a -> () ?
2025-11-09 09:33:15 califax joins (~califax@user/califx)
2025-11-09 09:35:48 <tomsmeding> a -> Void, rather
2025-11-09 09:35:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 09:36:19 <tomsmeding> kaol: should there be a value of this type or not? "Maybe that is always Nothing" has 1 value (Nothing); VOid has 0 values
2025-11-09 09:37:08 <tomsmeding> If yes then `Const ()`; if no then `Const Void`
2025-11-09 09:37:18 <tomsmeding> (Data.Functor.Const in base)
2025-11-09 09:37:20 <dibblego> I understand the question to mean: newtype X a;
2025-11-09 09:37:33 <tomsmeding> a newtype must have one constructor
2025-11-09 09:37:37 <dibblego> er, data
2025-11-09 09:37:49 <tomsmeding> but then it's not like Void
2025-11-09 09:38:03 <tomsmeding> it's more like (), and either `data X a` indeed, or `Const ()`, works
2025-11-09 09:38:27 <tomsmeding> bah my brain this morning
2025-11-09 09:38:48 <tomsmeding> one of these, exercise for the reader to figure out which
2025-11-09 09:39:53 <kaol> I was thinking that if I have some data Foo a = { foo :: a Int } then I can have Foo Identity to have something that always has a foo and Foo Maybe that would optionally have a foo. I wondered whether there is some Foo X that would give me a data that'd have no foo.
2025-11-09 09:40:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-09 09:40:52 <tomsmeding> Const Void
2025-11-09 09:42:22 × califax quits (~califax@user/califx) (Remote host closed the connection)
2025-11-09 09:43:24 califax joins (~califax@user/califx)
2025-11-09 09:46:15 × trickard_ quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-09 09:46:28 trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-09 09:47:17 <kaol> I'm not sure if I can have any values having that type. I'd still like to have a record containing the other fields.
2025-11-09 09:47:40 <tomsmeding> oh I see
2025-11-09 09:47:44 <tomsmeding> then Const () :)
2025-11-09 09:47:57 Tuplanolla joins (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi)
2025-11-09 09:49:10 <kaol> Neat. I'm not sure if I need it after all but I started still thinking that surely there's a Type -> Type for this case too.
2025-11-09 09:51:13 <tomsmeding> kaol: as dibblego mentioned, you don't need predefined types for this, and in fact it might be more intuitive to write your own; the "no values at all" is `data None a` (isomorphic to Const Void), and the "exactly one value" is `data One a = One` (isomorphic to Const ())
2025-11-09 09:51:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-09 09:54:01 <kaol> I may need the construct across multiple modules and then I'd be better off using the same data One a = One via an import and if I import then I could get it from a library as well.
2025-11-09 09:55:04 <tomsmeding> fair
2025-11-09 09:56:42 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-09 09:56:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-09 10:04:57 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
2025-11-09 10:05:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)

All times are in UTC.