Logs: liberachat/#haskell
| 2025-09-04 12:24:21 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-04 12:27:14 | → | rustisafungus joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) |
| 2025-09-04 12:27:44 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 2025-09-04 12:30:52 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 258 seconds) |
| 2025-09-04 12:31:15 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-09-04 12:33:36 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 2025-09-04 12:35:06 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 12:36:09 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 272 seconds) |
| 2025-09-04 12:39:40 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-04 12:46:51 | Googulator75 | is now known as Googulator |
| 2025-09-04 12:47:20 | × | qqe quits (~qqq@185.54.23.136) (Quit: Lost terminal) |
| 2025-09-04 12:47:52 | → | Nosrep joins (~jimothy@user/nosrep) |
| 2025-09-04 12:48:07 | × | rustisafungus quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds) |
| 2025-09-04 12:50:29 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 12:54:55 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-09-04 12:56:19 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Quit: Frostillicus) |
| 2025-09-04 12:57:10 | → | mari51613 joins (~mari-este@user/mari-estel) |
| 2025-09-04 12:58:14 | × | mari-estel quits (~mari-este@user/mari-estel) (Read error: Connection reset by peer) |
| 2025-09-04 13:02:11 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-04 13:02:25 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-04 13:05:19 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.9.1 - https://znc.in) |
| 2025-09-04 13:05:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 13:05:36 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 2025-09-04 13:09:35 | × | Nosrep quits (~jimothy@user/nosrep) (Ping timeout: 258 seconds) |
| 2025-09-04 13:09:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-04 13:20:44 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 13:23:52 | gehmehgeh | is now known as gmg |
| 2025-09-04 13:23:56 | × | inline quits (~inline@ip-005-146-197-054.um05.pools.vodafone-ip.de) (Quit: Leaving) |
| 2025-09-04 13:25:06 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-04 13:25:19 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-04 13:27:36 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-04 13:38:46 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 13:43:23 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-09-04 13:47:30 | → | Square2 joins (~Square@user/square) |
| 2025-09-04 13:47:30 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2025-09-04 13:47:46 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 2025-09-04 13:54:08 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 13:58:39 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-04 14:02:56 | → | bruto- joins (~marco@user/bruto-) |
| 2025-09-04 14:03:29 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-04 14:03:43 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-04 14:06:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 14:07:35 | × | bruto- quits (~marco@user/bruto-) (Quit: leaving) |
| 2025-09-04 14:09:12 | × | mange quits (~mange@user/mange) (Quit: Zzz...) |
| 2025-09-04 14:09:36 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 2025-09-04 14:10:24 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Remote host closed the connection) |
| 2025-09-04 14:10:40 | → | SlackCoder joins (~SlackCode@remote.nationalgallery.org.ky) |
| 2025-09-04 14:10:54 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-04 14:12:31 | ← | SlackCoder parts (~SlackCode@remote.nationalgallery.org.ky) () |
| 2025-09-04 14:20:11 | <bwe> | [exa]: (I've recently learned to use and like, maybe even love, These.) |
| 2025-09-04 14:21:43 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 14:23:25 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-04 14:23:39 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-04 14:23:58 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2025-09-04 14:23:59 | → | ttybitnik joins (~ttybitnik@user/wolper) |
| 2025-09-04 14:26:15 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-04 14:31:52 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 256 seconds) |
| 2025-09-04 14:32:36 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 2025-09-04 14:35:10 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-09-04 14:35:19 | <bwe> | How do I pattern match (and differentiate) between empty and non-empty Data.Set? |
| 2025-09-04 14:35:32 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-09-04 14:36:29 | <mari51613> | with `toList` or `Set.null`? |
| 2025-09-04 14:36:47 | <mari51613> | @hoogle Set -> Bool |
| 2025-09-04 14:36:48 | <lambdabot> | Test.ChasingBottoms.IsBottom isBottom :: a -> Bool |
| 2025-09-04 14:36:48 | <lambdabot> | Text.HTML.Tagchup.Tag.Match ignore :: a -> Bool |
| 2025-09-04 14:36:48 | <lambdabot> | Text.Ascii isAscii :: Property IsAscii v => v -> Bool |
| 2025-09-04 14:37:06 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 14:39:45 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-04 14:41:30 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-04 14:42:32 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-04 14:46:05 | → | hakutaku joins (~textual@chen.yukari.eu.org) |
| 2025-09-04 14:46:42 | × | driib318 quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
| 2025-09-04 14:52:30 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 14:52:53 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2) |
| 2025-09-04 14:57:22 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-04 15:03:57 | <EvanR> | Set.null would work but doesn't properly reflect the structure of the thing being scrutinzed |
| 2025-09-04 15:04:32 | <EvanR> | toList has the heart in more of the right place but if you care about the contents you don't have a set anymore |
| 2025-09-04 15:04:54 | <EvanR> | Set.splitRoot on the other hand is O(1) and gives you sets in case it's non empty |
| 2025-09-04 15:05:41 | <EvanR> | Set.minView and maxView are probably more convenient but O(log n) |
| 2025-09-04 15:07:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-04 15:08:44 | <EvanR> | if there was a Set.NonEmpty, then smart constructing one from your Set could also be a handy way |
| 2025-09-04 15:09:06 | <int-e> | splitRoot is morally impure |
| 2025-09-04 15:10:40 | <int-e> | > map (Data.Set.Internal.splitRoot . S.fromList) [[1,2],[2,1]] |
| 2025-09-04 15:10:41 | <lambdabot> | [[fromList [],fromList [1],fromList [2]],[fromList [1],fromList [2],fromList... |
| 2025-09-04 15:11:21 | <bwe> | EvanR: there is: https://hackage.haskell.org/package/non-empty-0.3.5/docs/Data-NonEmpty-Set.html but the deconstructor is missing. |
| 2025-09-04 15:11:54 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-04 15:11:55 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-09-04 15:12:08 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-04 15:13:22 | <mari51613> | why is that impure int-e? I do not get it |
| 2025-09-04 15:13:53 | <int-e> | mari51613: "morally" -- you can see that two equal sets result in two different outputs. |
| 2025-09-04 15:13:58 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 2025-09-04 15:14:02 | <mari51613> | hm i see it returns an empty list for a non empty set |
| 2025-09-04 15:14:17 | <EvanR> | what |
| 2025-09-04 15:14:57 | <mari51613> | i mean as the first return value |
| 2025-09-04 15:15:14 | <int-e> | mari51613: sure, that's odd, but that's not the issue I'm after |
| 2025-09-04 15:15:31 | <int-e> | splitRoot exposes the tree structure of the set's representation |
| 2025-09-04 15:15:40 | <EvanR> | yeah if your algorithm would be affected use maxView or minView |
| 2025-09-04 15:16:12 | <int-e> | I'd use `null`. |
| 2025-09-04 15:16:14 | int-e | shrugs |
| 2025-09-04 15:16:26 | <EvanR> | if you don't care how the set gets split up the splitRoot works |
All times are in UTC.