Home liberachat/#haskell: Logs Calendar

Logs on 2024-09-27 (liberachat/#haskell)

00:00:18 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
00:00:49 <Inst> i was using !_ = assert (9 > length neighbors) () as the checkpoint
00:02:40 geekosaur wonders if you really want `guard`
00:03:19 <Inst> am i misusing guard?
00:03:33 <geekosaur> :t guard
00:03:34 <Inst> it's in a do block over list with guard forcing termination
00:03:34 <lambdabot> Alternative f => Bool -> f ()
00:03:58 <geekosaur> oh, I thought you meant what int-e was talking about
00:04:07 <geekosaur> case guards
00:04:08 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
00:06:58 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:08:50 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 265 seconds)
00:10:05 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
00:11:51 arahael joins (~arahael@user/arahael)
00:12:13 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
00:12:30 × polyphem quits (~rod@p4fc2c857.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
00:14:39 polyphem joins (~rod@p4fc2ccf6.dip0.t-ipconnect.de)
00:15:23 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
00:17:05 <Inst> also int-e, your way is better because it always executes on the top-level, whereas let / where with bang patterns only executes in the particular branch of the function
00:17:19 <Inst> although there's definitely cases where the scoping is what you want
00:17:26 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:22:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:23:51 gdr3941 joins (~user@172-3-47-206.lightspeed.nsvltn.sbcglobal.net)
00:27:35 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
00:36:34 × xff0x quits (~xff0x@2405:6580:b080:900:edb3:3e3f:7e00:b65b) (Ping timeout: 260 seconds)
00:36:41 × gdr3941 quits (~user@172-3-47-206.lightspeed.nsvltn.sbcglobal.net) (Quit: Fading out...)
00:38:32 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:39:45 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
00:40:15 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
00:43:38 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
00:46:13 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
00:53:04 <Inst> whoa, is it me or is the duplicate instance for NonEmpty pretty psychedelic?
00:54:05 × Misosabbe quits (~Misosabbe@2a00:801:4f3:fb9c:22d2:cc07:9cb3:2) (Quit: Client closed)
00:54:18 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:55:06 <Inst> it's basically tails :: [a] -> [[a]]
00:59:35 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
01:00:41 user363627 joins (~user@user/user363627)
01:03:04 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
01:04:54 × weary-traveler quits (~user@user/user363627) (Ping timeout: 265 seconds)
01:10:05 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:10:24 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
01:10:31 JuanDaugherty joins (~juan@user/JuanDaugherty)
01:11:28 <dibblego> it should be init . tails
01:12:20 × identity quits (~identity@user/ZharMeny) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
01:15:17 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
01:18:53 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds)
01:19:17 pavonia joins (~user@user/siracusa)
01:19:51 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Quit: Lost terminal)
01:24:34 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
01:24:38 troojg joins (~troojg@user/troojg)
01:25:52 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:26:56 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:31:01 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
01:31:40 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
01:32:14 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
01:32:38 × troojg quits (~troojg@user/troojg) (Remote host closed the connection)
01:33:33 troojg joins (~troojg@user/troojg)
01:36:29 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
01:40:11 × arahael quits (~arahael@user/arahael) (Ping timeout: 265 seconds)
01:41:39 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:44:51 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
01:46:38 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:48:39 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
01:54:12 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
01:54:58 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:55:04 mxs joins (~mxs@user/mxs)
01:59:36 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
02:00:58 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
02:03:15 CrunchyFlakes joins (~CrunchyFl@31.19.233.78)
02:08:13 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
02:10:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
02:13:24 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
02:14:29 × td_ quits (~td@i53870912.versanet.de) (Ping timeout: 252 seconds)
02:15:34 × troojg quits (~troojg@user/troojg) (Ping timeout: 260 seconds)
02:15:57 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
02:16:18 td_ joins (~td@i5387092C.versanet.de)
02:26:32 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
02:26:43 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
02:29:28 × nshepperd2 quits (~nshepperd@2a01:4f9:3b:4cc9::2) (Quit: The Lounge - https://thelounge.chat)
02:31:19 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
02:31:50 nshepperd2 joins (~nshepperd@2a01:4f9:3b:4cc9::2)
02:31:54 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
02:42:19 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
02:44:17 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
02:46:59 × mxs quits (~mxs@user/mxs) (Quit: The Lounge - https://thelounge.chat)
02:47:07 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
02:48:11 smalltalkman joins (uid545680@id-545680.hampstead.irccloud.com)
02:56:43 skylord5816 joins (~skylord58@user/skylord5816)
02:57:02 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
02:58:06 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:03:11 × skylord5816 quits (~skylord58@user/skylord5816) (Quit: bye)
03:03:19 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
03:03:29 skylord5816 joins (~skylord58@user/skylord5816)
03:13:54 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:18:42 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
03:29:41 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:34:25 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:37:19 × alp_ quits (~alp@2001:861:e3d6:8f80:538:d7bb:b13e:aad) (Ping timeout: 264 seconds)
03:40:14 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
03:41:09 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
03:41:37 Lord_of_Life_ is now known as Lord_of_Life
03:41:41 × dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.8.2 - https://znc.in)
03:43:15 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
03:45:28 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:47:44 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
03:47:52 × spew quits (~spew@201.141.99.170) (Quit: spew)
03:50:12 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
03:51:05 dolio joins (~dolio@130.44.140.168)
03:54:15 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
03:55:51 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
03:55:58 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:58:53 weary-traveler joins (~user@user/user363627)
04:00:48 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
04:02:46 × user363627 quits (~user@user/user363627) (Ping timeout: 265 seconds)
04:09:23 stiell joins (~stiell@gateway/tor-sasl/stiell)
04:11:44 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
04:12:25 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
04:16:53 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
04:18:29 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
04:20:10 × polyphem quits (~rod@p4fc2ccf6.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
04:20:15 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:25:04 × shapr quits (~user@2601:19c:417e:5434:7fbe:b5f1:8fe7:ea47) (Ping timeout: 260 seconds)
04:26:06 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
04:27:32 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
04:32:12 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
04:33:42 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
04:41:24 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
04:43:19 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
04:47:26 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
04:48:07 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:52:05 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
04:56:58 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
04:59:26 michalz joins (~michalz@185.246.207.222)
05:01:41 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
05:06:12 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
05:12:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
05:15:08 alp_ joins (~alp@2001:861:e3d6:8f80:e37c:11d0:d9af:37f2)
05:17:01 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:18:06 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
05:18:24 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
05:28:32 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
05:30:07 × Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:32:07 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
05:33:38 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
05:34:34 × benjaminl quits (~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
05:34:50 benjaminl joins (~benjaminl@user/benjaminl)
05:37:28 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
05:44:19 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
05:49:22 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:49:41 × synchromesh quits (~john@2406:5a00:241a:5600:2de5:ba26:2eef:9155) (Quit: WeeChat 4.0.5)
05:50:21 gmg joins (~user@user/gehmehgeh)
05:51:21 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
05:55:52 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
05:57:58 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:03:01 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
06:07:01 × ft quits (~ft@p4fc2acce.dip0.t-ipconnect.de) (Quit: leaving)
06:09:17 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
06:09:18 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
06:10:28 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
06:12:30 synchromesh joins (~john@2406:5a00:241a:5600:18b:90b7:734:b475)
06:13:23 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:13:42 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
06:13:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:18:36 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
06:19:46 CiaoSen joins (~Jura@2a05:5800:2ec:5e00:ca4b:d6ff:fec1:99da)
06:21:10 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 244 seconds)
06:24:47 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
06:27:42 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
06:28:28 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
06:29:46 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:33:16 × Digitteknohippie quits (~user@77.47.7.51.dyn.plus.net) (Changing host)
06:33:16 Digitteknohippie joins (~user@user/digit)
06:33:16 Digitteknohippie is now known as Digit
06:34:57 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
06:35:22 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
06:40:53 × Square3 quits (~Square4@user/square) (Ping timeout: 248 seconds)
06:45:33 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:47:31 × enikar quits (~enikar@user/enikar) (Remote host closed the connection)
06:48:21 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
06:48:51 enikar joins (~enikar@user/enikar)
06:51:43 Square joins (~Square@user/square)
06:52:42 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
06:58:57 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
07:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
07:00:38 caconym joins (~caconym@user/caconym)
07:03:45 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
07:07:28 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
07:08:42 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:12:29 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 260 seconds)
07:14:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
07:14:50 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:17:30 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
07:18:01 misterfish joins (~misterfis@84.53.85.146)
07:21:31 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:21:57 × ubert quits (~Thunderbi@178.165.177.214.wireless.dyn.drei.com) (Ping timeout: 276 seconds)
07:22:36 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:28:27 __monty__ joins (~toonn@user/toonn)
07:29:07 acidjnk joins (~acidjnk@p200300d6e72cfb641041a00b3f8f8460.dip0.t-ipconnect.de)
07:32:23 × Square quits (~Square@user/square) (Ping timeout: 255 seconds)
07:34:09 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
07:36:54 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 252 seconds)
07:41:09 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds)
07:41:51 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
07:42:11 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
07:49:59 × mceresa quits (~mceresa@user/mceresa) (Ping timeout: 260 seconds)
07:52:20 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
07:56:59 misterfish joins (~misterfis@046044172198.static.ipv4.heldenvannu.net)
07:58:39 mceresa joins (~mceresa@user/mceresa)
08:03:48 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
08:04:02 lxsameer joins (~lxsameer@Serene/lxsameer)
08:04:59 poxel joins (~lennart@2a02:908:1472:4f60::720)
08:09:21 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
08:11:58 causal joins (~eric@50.35.88.207)
08:17:27 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
08:26:50 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
08:31:11 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
08:32:21 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
08:33:18 × euandreh quits (~Thunderbi@189.6.105.228) (Quit: euandreh)
08:35:05 <Inst> dibblego: yes, since nonempty can't admit an empty element
08:37:20 wizardng joins (uid599328@id-599328.hampstead.irccloud.com)
08:41:17 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
08:42:34 × poxel quits (~lennart@2a02:908:1472:4f60::720) (Changing host)
08:42:34 poxel joins (~lennart@user/poxel)
08:43:18 × pointlessslippe1 quits (~pointless@62.106.85.17) (Quit: ZNC - http://znc.in)
08:45:29 pointlessslippe1 joins (~pointless@62.106.85.17)
08:47:08 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
08:51:14 × poxel quits (~lennart@user/poxel) (Quit: WeeChat 4.4.2)
08:51:56 poxel joins (~lennart@user/poxel)
08:52:57 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
08:55:27 × poxel quits (~lennart@user/poxel) (Client Quit)
08:55:46 poxel joins (~lennart@user/poxel)
08:58:00 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
09:01:52 × poscat quits (~poscat@user/poscat) (Ping timeout: 252 seconds)
09:03:50 arahael joins (~arahael@user/arahael)
09:04:07 × auri_ quits (~auri@fsf/member/auri) ()
09:04:18 <Inst> i'm wondering if other comonads for NonEmpty exist
09:04:37 auri joins (~auri@fsf/member/auri)
09:05:32 poscat joins (~poscat@user/poscat)
09:07:01 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
09:08:11 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
09:09:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:11:39 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
09:14:20 × drdo quits (~drdo@bl5-29-74.dsl.telepac.pt) (Ping timeout: 272 seconds)
09:25:06 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
09:25:43 kimiamania2 joins (~65804703@user/kimiamania)
09:27:13 × p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
09:27:15 × kimiamania quits (~65804703@user/kimiamania) (Ping timeout: 246 seconds)
09:27:15 kimiamania2 is now known as kimiamania
09:29:14 p3n joins (~p3n@217.198.124.246)
09:30:17 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds)
09:35:59 pabs3 joins (~pabs3@user/pabs3)
09:45:23 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
09:48:58 <Inst> this is cute, Monoid a => (a,) is a monad, (->) r is also a monad, (a,) is a comonad without the Monoid constraint, but Monoid r => (->) r is a comonad that requires the Monoid constraint
09:50:46 youthlic joins (~Thunderbi@user/youthlic)
09:51:05 × driib318 quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
09:51:36 <ncf> it's dual
09:51:43 × sourcetarius quits (~sourcetar@user/sourcetarius) (Quit: sourcetarius)
09:51:44 driib318 joins (~driib@vmi931078.contaboserver.net)
09:52:14 <ncf> writer monad → monoid; reader monad → comonoid; writer comonad → comonoid; reader comonad → monoid
09:52:23 <ncf> (and comonoids are trivial in haskell)
09:52:32 <Inst> yeah i know
09:52:35 <Inst> product sum type duality
09:57:18 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
09:57:42 <Inst> is it meaningful to turn DOM into a comonad?
09:57:53 <Inst> https://dev.to/mikesol/frontend-comonad-backend-monad-1hfm
09:58:10 <Inst> although I suspect it's already been tried, and maybe coapplicative is better
09:59:35 <Inst> and yeah the duplicate here sucks, it should be duplicate term@(Stream _ rest) = Stream term $ duplicate rest
10:00:32 × misterfish quits (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 252 seconds)
10:01:54 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
10:02:37 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:03:23 <Inst> also, isn't non-empty with an infinite list just Stream? Interesting
10:06:06 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
10:07:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:09:20 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
10:09:49 ubert joins (~Thunderbi@178.165.177.214.wireless.dyn.drei.com)
10:11:58 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 272 seconds)
10:13:54 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
10:13:54 × CiaoSen quits (~Jura@2a05:5800:2ec:5e00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
10:13:58 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
10:16:15 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 244 seconds)
10:21:05 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
10:21:41 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
10:22:00 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
10:22:41 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
10:22:57 chexum joins (~quassel@gateway/tor-sasl/chexum)
10:25:59 ljdarj joins (~Thunderbi@user/ljdarj)
10:26:25 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
10:26:45 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
10:32:17 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
10:33:07 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
10:35:31 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
10:39:23 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 252 seconds)
10:43:54 __monty__ joins (~toonn@user/toonn)
10:46:39 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
10:47:13 × ubert quits (~Thunderbi@178.165.177.214.wireless.dyn.drei.com) (Quit: ubert)
10:47:16 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
10:48:48 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 244 seconds)
10:50:45 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
10:51:29 <Inst> wow, this is silly
10:51:41 <Inst> newtype Silly = MkSilly Silly
10:52:09 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
10:52:47 <Inst> but you can also define a stream as a newtype
10:53:06 <Inst> newtype Stream a = MkStream (a, Stream a)
10:53:39 <Inst> so not that useless!
10:54:27 <Rembane> That's Haskell at its finest
10:54:44 <Rembane> That `a` makes it a functor and then only the sky is the limit
10:56:33 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
10:56:56 × wizardng quits (uid599328@id-599328.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
11:03:39 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
11:07:01 <mauke> Silly ~ Void
11:07:59 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
11:14:21 ubert joins (~Thunderbi@178.165.177.214.wireless.dyn.drei.com)
11:15:28 × ubert quits (~Thunderbi@178.165.177.214.wireless.dyn.drei.com) (Client Quit)
11:17:47 <opqdonut> the derived functor instance for newtype Stream a = MkStream (a, Stream a) is pretty funny though
11:18:33 <Inst> what is it?
11:19:19 <Inst> i suspect newtype Silly = MkSilly Silly was the definition of Void at some hypothetical stage of haskell where nullary data declarations didn't exist
11:19:51 <opqdonut> hmm, I'm wrong, the derived functor instance is actually ok. it's not using the Functor (,) a instance
11:20:59 shapr joins (~user@2601:19c:417e:5434:bdc6:ec2e:c291:3d0a)
11:21:07 <opqdonut> right, it wouldn't even type
11:21:08 <opqdonut> nevermind
11:23:09 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
11:24:43 <int-e> :t fmap (fmap ?f) . first ?f
11:24:45 <lambdabot> (Functor f, ?f::b -> c) => (b, f b) -> (c, f c)
11:25:16 <int-e> (that would use (a,) Functor instance but there's no way a compiler would derive that)
11:25:46 <ski> Inst : it's how you define `Void' in SML
11:28:34 <ski> (`datatype void = AbsurdVoid of void', gives `val AbsurdVoid : void -> void'. then `fun absurd (AbsurdVoid v) = absurd v' gives val absurd : void -> 'a as eliminator/fold)
11:29:24 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
11:32:29 <Inst> diagonalized stream applicative is not valid, right?
11:32:43 <Inst> (lawful)
11:32:49 <ski> huh ?
11:33:23 <Inst> https://paste.tomsmeding.com/LKfGIhwI
11:34:03 <Inst> seek :: Int -> Stream a -> a; seek n (Stream a cont) = if n <=0 then a else seek (n-1) cont
11:34:41 <ncf> that's isomorphic to Reader ℕ
11:37:08 <ski> i don't think that's associative
11:38:02 <Inst> yeah, tbh, if it were lawful you'd probably expect it to the default instance for Applicative [a] to get it to tolerate infinite lists
11:38:09 <ski> ncf : it uses ⌜ℕ² ≃ ℕ⌝
11:39:18 <ncf> does it?
11:39:40 <ski> yes, it traverses every element of the cartesian product of the two streams
11:40:00 <Inst> hence diagonalization
11:40:30 <ncf> diagonalise sometimes means f x = g x x
11:40:49 <Inst> is it possible to get an implementation of <*> for Stream that traverses every element and is lawful?
11:41:05 <ski> given `[0,1,2,3,...]' and `[0,1,2,3,...]', it would produce (if used with `liftA2 (,)') `[(0,0),(1,0),(0,1),(2,0),(1,1),(0,2),(3,0),(2,1),(1,2),(0,3),...]'
11:41:57 <ski> Inst : every element of what ? the two streams ? the cartesian product of them ?
11:41:59 <Inst> i mean the lazy way is just to clone list applicative which makes sense for finite lists
11:42:15 <ski> you can do `ZipList' on streams
11:42:22 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
11:42:32 <ski> (which is what ncf was talking about)
11:42:38 <Inst> ah
11:43:20 <Inst> but of t he product, i'm screwed, right?
11:43:31 <ski> can't parse, retry
11:44:47 <Inst> if say, for a <*> b, creating a product of every element in a applied to every element in b, reachable in finite time for any pair
11:44:50 <Inst> can't be done?
11:45:04 <ski> (btw, you should be able to do `(<*>)' on your `Stream' there, without involving `seek' and indices)
11:45:32 <ski> Inst : i'm pretty sure it can't be associative
11:46:22 <Inst> thanks for the help
11:48:05 <ncf> i guess the question is is there an associative isomorphism e : ℕ² ≃ ℕ
11:48:16 misterfish joins (~misterfis@84.53.85.146)
11:48:33 <ncf> actually it can't possibly be unital, right
11:49:48 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
11:51:49 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
11:52:22 × CrunchyFlakes quits (~CrunchyFl@31.19.233.78) (Quit: ZNC 1.8.2 - https://znc.in)
11:52:54 identity joins (~identity@user/ZharMeny)
11:55:48 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 245 seconds)
11:56:39 CrunchyFlakes joins (~CrunchyFl@31.19.233.78)
11:59:06 <ski> magine given three `[0,1,2,3,...]'s. if we combine the first two, we get `[(0,0),(1,0),(0,1),(2,0),(1,1),(0,2),(3,0),(2,1),(1,2),(0,3),...]', which, if we combine it with the remaining `[0,1,2,3,...]', we get `[(0,0,0),(1,0,0),(0,0,1),(0,1,0),(1,0,1),(0,0,2),(2,0,0),(0,1,1),(1,0,2),(0,0,3),...]'
11:59:43 <ski> but if you instead combine `[0,1,2,3,...]' with the result of combining the latter two (being `[(0,0),(1,0),(0,1),(2,0),(1,1),(0,2),(3,0),(2,1),(1,2),(0,3),...]'), you get `[(0,0,0),(1,0,0),(0,1,0),(2,0,0),(1,1,0),(0,0,1),(3,0,0),(2,1,0),(1,0,1),(0,2,0),...]'
12:00:06 <ski> (and these two streams of triplets are different)
12:00:07 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 264 seconds)
12:01:48 misterfish joins (~misterfis@84.53.85.146)
12:03:05 <ski> Inst ^
12:04:29 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
12:09:57 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
12:10:26 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
12:13:20 × alp_ quits (~alp@2001:861:e3d6:8f80:e37c:11d0:d9af:37f2) (Remote host closed the connection)
12:13:38 alp_ joins (~alp@2001:861:e3d6:8f80:fd9b:ad9e:2406:5420)
12:14:36 <ski> ncf : it couldn't, because it's injective. so you can't have a single column (or row) in the Cayley table that also mentions every inhabitant (is surjective) (there'd be none left to occur in the other entries in the table)
12:19:01 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 248 seconds)
12:24:13 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
12:28:33 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
12:32:56 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
12:38:44 <shapr> @quote ski
12:38:44 <lambdabot> ski says: ("unique among types, `Void -> X' has its own charm. tourists should definitly pay a visit")
12:38:55 <shapr> hej ski, god morgon
12:38:58 billchenchina- joins (~billchenc@103.152.35.21)
12:39:15 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
12:40:08 <ski> mod gorgon
12:42:32 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
12:43:09 rvalue joins (~rvalue@user/rvalue)
12:43:30 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 244 seconds)
12:45:58 __monty__ joins (~toonn@user/toonn)
12:54:08 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
12:58:07 youthlic1 joins (~Thunderbi@user/youthlic)
12:59:29 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
13:00:26 × youthlic quits (~Thunderbi@user/youthlic) (Ping timeout: 272 seconds)
13:00:27 youthlic1 is now known as youthlic
13:01:34 weary-traveler joins (~user@user/user363627)
13:05:51 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
13:13:02 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
13:20:05 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
13:21:57 Everything joins (~Everythin@static.208.206.21.65.clients.your-server.de)
13:22:51 shapr` joins (~user@2601:19c:417e:5434:eb39:1b12:d1f:659d)
13:24:12 × shapr quits (~user@2601:19c:417e:5434:bdc6:ec2e:c291:3d0a) (Ping timeout: 246 seconds)
13:27:40 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
13:29:02 polyphem joins (~rod@p4fc2ccf6.dip0.t-ipconnect.de)
13:30:17 <Inst> i see @ ski
13:30:26 <Inst> probably going to try to master the comonad interface again
13:30:32 <Inst> but i get the sneaky feeling it's just alt-lens
13:31:22 <Inst> with the tradeoffs being better guaranteed performance, vs not being linked to a particular data structure
13:32:28 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
13:33:00 ft joins (~ft@p4fc2acce.dip0.t-ipconnect.de)
13:34:50 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
13:35:13 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
13:36:15 <Inst> hmmm, semimonad exists
13:40:12 Sgeo joins (~Sgeo@user/sgeo)
13:41:13 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
13:46:42 youthlic joins (~Thunderbi@user/youthlic)
13:48:42 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
13:48:57 youthlic joins (~Thunderbi@user/youthlic)
13:49:39 × youthlic quits (~Thunderbi@user/youthlic) (Client Quit)
13:51:18 youthlic joins (~Thunderbi@user/youthlic)
13:51:47 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
13:58:29 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
13:59:35 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
14:06:28 lucy joins (~lucy@user/lucy)
14:14:45 shapr` is now known as shapr
14:14:53 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
14:16:33 ChaiTRex joins (~ChaiTRex@user/chaitrex)
14:19:02 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
14:28:41 × synchromesh quits (~john@2406:5a00:241a:5600:18b:90b7:734:b475) (Read error: Connection reset by peer)
14:28:46 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
14:30:06 synchromesh joins (~john@2406:5a00:241a:5600:18b:90b7:734:b475)
14:35:10 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
14:36:59 cpressey joins (~weechat@176.254.119.170)
14:37:38 dontdieych2 joins (~quassel@user/dontdieych2)
14:37:52 dontdieych2_ joins (~quassel@user/dontdieych2)
14:38:41 synchrom1 joins (~john@2406:5a00:241a:5600:18b:90b7:734:b475)
14:40:13 × dontdieych2 quits (~quassel@user/dontdieych2) (Client Quit)
14:40:42 dontdieych2 joins (~quassel@user/dontdieych2)
14:40:49 × dontdieych2 quits (~quassel@user/dontdieych2) (Client Quit)
14:41:08 × synchromesh quits (~john@2406:5a00:241a:5600:18b:90b7:734:b475) (Ping timeout: 272 seconds)
14:42:42 × lucy quits (~lucy@user/lucy) (Ping timeout: 265 seconds)
14:45:36 × dontdieych2_ quits (~quassel@user/dontdieych2) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
14:57:47 spew joins (~spew@201.141.99.170)
15:03:37 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
15:11:50 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
15:12:25 × causal quits (~eric@50.35.88.207) (Quit: WeeChat 4.3.1)
15:14:52 xff0x joins (~xff0x@2405:6580:b080:900:9334:d416:507d:a2f5)
15:20:24 × alp_ quits (~alp@2001:861:e3d6:8f80:fd9b:ad9e:2406:5420) (Ping timeout: 272 seconds)
15:32:30 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
15:32:49 × Everything quits (~Everythin@static.208.206.21.65.clients.your-server.de) (Quit: leaving)
15:38:13 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
15:39:51 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
15:49:41 jkoshy1 joins (~jkoshy@20.1.187.81.in-addr.arpa)
15:50:29 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
15:54:16 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
15:58:35 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
15:58:46 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
16:00:33 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
16:02:30 × billchenchina- quits (~billchenc@103.152.35.21) (Remote host closed the connection)
16:04:34 × jkoshy1 quits (~jkoshy@20.1.187.81.in-addr.arpa) (Quit: leaving)
16:06:28 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
16:12:06 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
16:16:10 alp_ joins (~alp@2001:861:e3d6:8f80:995f:117d:7c12:db9c)
16:16:24 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
16:16:44 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 260 seconds)
16:18:05 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
16:29:02 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
16:32:17 × cpressey quits (~weechat@176.254.119.170) (Ping timeout: 248 seconds)
16:33:18 × infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 245 seconds)
16:36:53 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
16:40:16 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
16:46:44 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
16:47:13 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
16:52:57 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
16:54:18 EvanR joins (~EvanR@user/evanr)
16:54:40 infinity0 joins (~infinity0@pwned.gg)
16:55:38 × spew quits (~spew@201.141.99.170) (Quit: spew)
16:57:53 <monochrom> As a plot twist, the "g x x" kind of diagonalization is how to make Stream a monad. When downgrading this monad to applicative, you get the ZipList applicative.
16:58:11 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:58:57 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
16:59:35 <monochrom> Here it goes: If you accept the syntax "s !! n" to mean the nth item of s, then join s = [ s !! n !! n | n <- [0..] ]
17:00:14 <ski> @src (->) (>>=)
17:00:15 <lambdabot> f >>= k = \ r -> k (f r) r
17:00:22 <ski> ap rab ra r = rab r (ra r)
17:00:26 <ski> join rra r = rra r r
17:01:15 <monochrom> Yeah it is also the (->) ℕ monad.
17:02:09 <monochrom> You can also prove that there is no other choice, join and >>= must do that.
17:02:21 fgaz_ is now known as fgaz
17:06:13 <monochrom> I have a beautiful proof that just needs to consider [[0..], [0..], ...], then appeal to naturality for arbitrary content. :)
17:08:48 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
17:11:49 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
17:12:14 Square joins (~Square@user/square)
17:13:13 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: o/)
17:16:19 Sciencentistguy joins (~sciencent@hacksoc/ordinary-member)
17:17:34 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
17:19:53 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:20:20 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
17:22:31 misterfish joins (~misterfis@84.53.85.146)
17:27:18 × youthlic quits (~Thunderbi@user/youthlic) (Quit: youthlic)
17:27:50 catties is now known as kitties
17:27:58 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
17:31:28 fun-safe-math joins (~fun-safe-@24.21.106.247)
17:36:55 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
17:38:28 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 272 seconds)
17:40:23 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:42:34 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:43:08 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Quit: Lost terminal)
17:43:38 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
17:46:55 sprout_ is now known as sprout
17:48:47 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
17:49:09 emmanuelux joins (~emmanuelu@user/emmanuelux)
17:50:54 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
17:59:41 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
17:59:44 briandaed joins (~root@185.234.210.211)
18:00:53 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
18:01:43 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:04:01 × haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
18:04:06 Luj96 joins (~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5)
18:04:25 bsima1_ joins (9d7e39c8ad@2a03:6000:1812:100::dd)
18:04:26 titibandit_ joins (e33ffbab65@user/titibandit)
18:04:26 lane_ joins (809450f172@2a03:6000:1812:100::1300)
18:04:27 probie_ joins (cc0b34050a@user/probie)
18:04:27 evanrelf_ joins (3addc196af@2a03:6000:1812:100::f0)
18:04:28 jmcantrell_ joins (644f1bed9a@user/jmcantrell)
18:04:29 ursa-major_ joins (114efe6c39@2a03:6000:1812:100::11f3)
18:04:29 sus_ joins (1b7af6299f@user/zeromomentum)
18:04:29 duncan__ joins (c6181279e3@user/meow/duncan)
18:04:29 whereiseveryone_ joins (206ba86c98@2a03:6000:1812:100::2e4)
18:04:29 aniketd_ joins (32aa4844cd@2a03:6000:1812:100::dcb)
18:04:30 chaitlatte0_ joins (ea29c0bb16@2a03:6000:1812:100::1124)
18:04:30 ymherklotz_ joins (cb2c9cfbdd@2a03:6000:1812:100::29a)
18:04:30 sm2n_ joins (ae95cb1267@user/sm2n)
18:04:30 JoelMcCracken_ joins (5ea8252fbb@2a03:6000:1812:100::10e3)
18:04:30 akspecs_ joins (00cc8321af@2a03:6000:1812:100::11a)
18:04:31 pounce_ joins (~pounce@user/cute/pounce)
18:04:44 haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com)
18:04:44 ChanServ sets mode +v haskellbridge
18:04:56 sa1_ joins (sid7690@id-7690.ilkley.irccloud.com)
18:04:56 tapas_ joins (sid467876@id-467876.ilkley.irccloud.com)
18:04:57 shawwwn_ joins (sid6132@id-6132.helmsley.irccloud.com)
18:04:57 berberman joins (~berberman@user/berberman)
18:04:57 hamishmack_ joins (sid389057@id-389057.hampstead.irccloud.com)
18:04:59 astra_ joins (sid289983@id-289983.hampstead.irccloud.com)
18:04:59 jonrh_ joins (sid5185@id-5185.ilkley.irccloud.com)
18:05:01 rubin55_ joins (sid666177@id-666177.lymington.irccloud.com)
18:05:05 siers joins (~ij@user/ij)
18:05:07 Hobbyboy|BNC joins (Hobbyboy@hobbyboy.co.uk)
18:05:07 tomsmeding_ joins (~tomsmedin@2a01:4f8:c0c:5e5e::2)
18:05:11 PotatoGim_ joins (sid99505@id-99505.lymington.irccloud.com)
18:05:13 sa_ joins (sid1055@id-1055.tinside.irccloud.com)
18:05:20 dmj`_ joins (sid72307@id-72307.hampstead.irccloud.com)
18:05:38 SrPx_ joins (sid108780@id-108780.uxbridge.irccloud.com)
18:06:09 <briandaed> what happened here...
18:06:24 robobub_ joins (uid248673@id-248673.uxbridge.irccloud.com)
18:06:28 V_ joins (~v@ircpuzzles/2022/april/winner/V)
18:07:00 <geekosaur> looks like a netsplit tp me
18:07:40 <glguy> what looks like a netsplit?
18:07:43 remsen joins (ianremsen@tilde.team)
18:07:50 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
18:08:05 <geekosaur> hm, no, I don't see any part messages, just a bunch of joins looking like a reconnection
18:08:21 <glguy> oh. we might get one in a moment but it's not split, yet :)
18:08:25 <geekosaur> (haskellbridge doesn't count though, I just happened to restart docker)
18:09:45 <Clint> only a bunch from the same ipv6 subnet
18:10:28 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (*.net *.split)
18:10:29 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (*.net *.split)
18:10:29 × CrunchyFlakes quits (~CrunchyFl@31.19.233.78) (*.net *.split)
18:10:29 × identity quits (~identity@user/ZharMeny) (*.net *.split)
18:10:29 × robobub quits (uid248673@id-248673.uxbridge.irccloud.com) (*.net *.split)
18:10:29 × TonyStone quits (~TonyStone@user/TonyStone) (*.net *.split)
18:10:29 × tomsmeding quits (~tomsmedin@2a01:4f8:c0c:5e5e::2) (*.net *.split)
18:10:29 × cns quits (~Vengeance@2.219.56.221) (*.net *.split)
18:10:29 × spenat quits (~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se) (*.net *.split)
18:10:29 × jove_ quits (~quassel@user/jove) (*.net *.split)
18:10:29 × tapas quits (sid467876@id-467876.ilkley.irccloud.com) (*.net *.split)
18:10:29 × shawwwn quits (sid6132@id-6132.helmsley.irccloud.com) (*.net *.split)
18:10:29 × sa1 quits (sid7690@id-7690.ilkley.irccloud.com) (*.net *.split)
18:10:29 × hololeap quits (~quassel@user/hololeap) (*.net *.split)
18:10:29 × rubin55 quits (sid666177@id-666177.lymington.irccloud.com) (*.net *.split)
18:10:29 × mauke quits (~mauke@user/mauke) (*.net *.split)
18:10:30 × sm2n quits (ae95cb1267@user/sm2n) (*.net *.split)
18:10:30 × chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (*.net *.split)
18:10:31 × lane quits (809450f172@2a03:6000:1812:100::1300) (*.net *.split)
18:10:31 × aniketd quits (32aa4844cd@2a03:6000:1812:100::dcb) (*.net *.split)
18:10:31 × probie quits (cc0b34050a@user/probie) (*.net *.split)
18:10:31 × titibandit quits (e33ffbab65@user/titibandit) (*.net *.split)
18:10:31 × ymherklotz quits (cb2c9cfbdd@2a03:6000:1812:100::29a) (*.net *.split)
18:10:31 × jmcantrell quits (644f1bed9a@user/jmcantrell) (*.net *.split)
18:10:31 × evanrelf quits (3addc196af@2a03:6000:1812:100::f0) (*.net *.split)
18:10:31 × ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (*.net *.split)
18:10:31 × duncan quits (c6181279e3@user/meow/duncan) (*.net *.split)
18:10:31 × whereiseveryone quits (206ba86c98@2a03:6000:1812:100::2e4) (*.net *.split)
18:10:32 × JoelMcCracken quits (5ea8252fbb@2a03:6000:1812:100::10e3) (*.net *.split)
18:10:32 × akspecs quits (00cc8321af@sourcehut/user/akspecs) (*.net *.split)
18:10:32 × bsima1 quits (9d7e39c8ad@2a03:6000:1812:100::dd) (*.net *.split)
18:10:32 × sus quits (1b7af6299f@user/zeromomentum) (*.net *.split)
18:10:32 × SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (*.net *.split)
18:10:32 × fr33domlover quits (~fr33domlo@towards.vision) (*.net *.split)
18:10:32 × end quits (~end@user/end/x-0094621) (*.net *.split)
18:10:32 × cross quits (~cross@spitfire.i.gajendra.net) (*.net *.split)
18:10:32 × berberman_ quits (~berberman@user/berberman) (*.net *.split)
18:10:32 × jonrh quits (sid5185@id-5185.ilkley.irccloud.com) (*.net *.split)
18:10:32 × pounce quits (~pounce@user/cute/pounce) (*.net *.split)
18:10:32 × siers69 quits (~ij@user/ij) (*.net *.split)
18:10:32 × remmie quits (ianremsen@tilde.team) (*.net *.split)
18:10:32 × Luj9 quits (~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5) (*.net *.split)
18:10:32 × shachaf quits (~shachaf@user/shachaf) (*.net *.split)
18:10:32 × ent quits (entgod@kapsi.fi) (*.net *.split)
18:10:33 × int-e quits (~noone@int-e.eu) (*.net *.split)
18:10:33 × Hobbyboy quits (Hobbyboy@hobbyboy.co.uk) (*.net *.split)
18:10:33 × V quits (~v@ircpuzzles/2022/april/winner/V) (*.net *.split)
18:10:33 × kitties quits (~catties@user/meow/catties) (*.net *.split)
18:10:33 × tjbc quits (~tjbc@user/fliife) (*.net *.split)
18:10:33 × pie_ quits (~pie_bnc@user/pie/x-2818909) (*.net *.split)
18:10:33 × stefan-__ quits (~m-yh2rcc@42dots.de) (*.net *.split)
18:10:33 × sa quits (sid1055@id-1055.tinside.irccloud.com) (*.net *.split)
18:10:33 × fernando-basso quits (~fernando-@2a01:4f9:c012:63d3::1) (*.net *.split)
18:10:33 × astra quits (sid289983@id-289983.hampstead.irccloud.com) (*.net *.split)
18:10:33 × dmj` quits (sid72307@id-72307.hampstead.irccloud.com) (*.net *.split)
18:10:33 × PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (*.net *.split)
18:10:34 × farn_ quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split)
18:10:34 × ringo___ quits (~ringo@157.230.117.128) (*.net *.split)
18:10:34 × jess quits (meow@libera/staff/cat/jess) (*.net *.split)
18:10:34 × tureba quits (~tureba@tureba.org) (*.net *.split)
18:10:34 × hamishmack quits (sid389057@id-389057.hampstead.irccloud.com) (*.net *.split)
18:10:34 × koz quits (~koz@121.99.240.58) (*.net *.split)
18:10:34 sa1_ is now known as sa1
18:10:34 duncan__ is now known as duncan
18:10:34 Hobbyboy|BNC is now known as Hobbyboy
18:10:34 JoelMcCracken_ is now known as JoelMcCracken
18:10:35 shawwwn_ is now known as shawwwn
18:10:35 tapas_ is now known as tapas
18:10:35 chaitlatte0_ is now known as chaitlatte0
18:10:35 Luj96 is now known as Luj9
18:10:35 jmcantrell_ is now known as jmcantrell
18:10:35 remsen is now known as remmie
18:10:35 jonrh_ is now known as jonrh
18:10:36 evanrelf_ is now known as evanrelf
18:10:36 pounce_ is now known as pounce
18:10:36 robobub_ is now known as robobub
18:10:36 titibandit_ is now known as titibandit
18:10:36 hamishmack_ is now known as hamishmack
18:10:36 dmj`_ is now known as dmj`
18:10:36 astra_ is now known as astra
18:10:36 whereiseveryone_ is now known as whereiseveryone
18:10:36 SrPx_ is now known as SrPx
18:10:36 rubin55_ is now known as rubin55
18:10:36 aniketd_ is now known as aniketd
18:10:36 bsima1_ is now known as bsima1
18:10:36 ymherklotz_ is now known as ymherklotz
18:10:36 sus_ is now known as sus
18:10:36 probie_ is now known as probie
18:10:36 sm2n_ is now known as sm2n
18:10:37 sa_ is now known as sa
18:10:38 ursa-major_ is now known as ursa-major
18:11:08 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:11:08 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
18:11:08 CrunchyFlakes joins (~CrunchyFl@31.19.233.78)
18:11:08 identity joins (~identity@user/ZharMeny)
18:11:08 TonyStone joins (~TonyStone@user/TonyStone)
18:11:08 cns joins (~Vengeance@2.219.56.221)
18:11:08 spenat joins (~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se)
18:11:08 jove_ joins (~quassel@user/jove)
18:11:08 hololeap joins (~quassel@user/hololeap)
18:11:08 mauke joins (~mauke@user/mauke)
18:11:08 fr33domlover joins (~fr33domlo@towards.vision)
18:11:08 end joins (~end@user/end/x-0094621)
18:11:08 cross joins (~cross@spitfire.i.gajendra.net)
18:11:08 shachaf joins (~shachaf@user/shachaf)
18:11:08 ent joins (entgod@kapsi.fi)
18:11:08 int-e joins (~noone@int-e.eu)
18:11:08 kitties joins (~catties@user/meow/catties)
18:11:08 tjbc joins (~tjbc@user/fliife)
18:11:08 pie_ joins (~pie_bnc@user/pie/x-2818909)
18:11:08 stefan-__ joins (~m-yh2rcc@42dots.de)
18:11:08 jess joins (meow@libera/staff/cat/jess)
18:11:08 fernando-basso joins (~fernando-@2a01:4f9:c012:63d3::1)
18:11:08 farn_ joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
18:11:08 ringo___ joins (~ringo@157.230.117.128)
18:11:08 tureba joins (~tureba@tureba.org)
18:11:08 koz joins (~koz@121.99.240.58)
18:11:29 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:11:51 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Max SendQ exceeded)
18:11:51 × cns quits (~Vengeance@2.219.56.221) (Max SendQ exceeded)
18:11:51 × cross quits (~cross@spitfire.i.gajendra.net) (Max SendQ exceeded)
18:12:35 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
18:13:59 <glguy> There, that was a split :)
18:14:10 × vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
18:14:17 <Clint> good work
18:14:25 cns joins (~Vengeance@2.219.56.221)
18:14:42 × m1dnight quits (~christoph@d8D861908.access.telenet.be) (Ping timeout: 246 seconds)
18:14:52 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
18:15:08 vgtw joins (~vgtw@user/vgtw)
18:15:32 × Pixi` quits (~Pixi@user/pixi) (Quit: Leaving)
18:17:25 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
18:17:27 cross joins (~cross@spitfire.i.gajendra.net)
18:18:54 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
18:21:25 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:22:23 euphores joins (~SASL_euph@user/euphores)
18:24:53 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
18:25:35 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
18:26:14 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds)
18:28:09 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
18:31:47 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:32:43 kitties is now known as catties
18:32:58 cpressey joins (~weechat@176.254.119.170)
18:36:18 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
18:36:38 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds)
18:36:54 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
18:39:54 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
18:41:13 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
18:44:44 <monochrom> Wait, now you can forecast netsplits?!
18:45:13 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
18:47:38 [exa] hides the big red netsplit button
18:47:40 <[exa]> yes
18:47:58 <monochrom> :)
18:48:08 <monochrom> b
18:48:48 <[exa]> anyway, is there a name for "unixy" uniq/nub which would work in O(1) on pre-sorted stuff?
18:49:09 <[exa]> could go (map head.group) but that's 10 characters more than I imagined
18:49:39 platao joins (~mirc-rc@177.100.68.254)
18:50:22 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:50:36 <geekosaur> @index nubOrd
18:50:36 <lambdabot> bzzt
18:51:01 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
18:51:20 <geekosaur> Data.Containers.ListUtils in `containers`
18:52:01 <monochrom> There was a long thread on a forum where everyone competed^W shared their overpowered solutions. But I don't know of anyone who actually packaged it up and put it on hackage.
18:52:04 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
18:52:31 <geekosaur> psst! https://downloads.haskell.org/ghc/latest/docs/libraries/containers-0.7-cfc3/Data-Containers-ListUtils.html#v:nubOrd
18:52:38 <geekosaur> it's even a bootlib!
18:53:06 <monochrom> OK but if you know it's pre-sorted and don't want to sort again...
18:54:13 misterfish joins (~misterfis@87.215.131.102)
18:55:09 <glguy> monochrom: If I was paying attention to the status messages I'd have known that split was coming, but...
18:55:18 <[exa]> nubOrd needs Ord for sorting, I only have Eq
18:57:51 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
18:57:57 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
18:58:09 <dmj`> :t map head . group
18:58:11 <lambdabot> Eq b => [b] -> [b]
19:00:05 × caconym quits (~caconym@user/caconym) (Quit: bye)
19:00:32 <EvanR> that's a good one
19:00:43 caconym joins (~caconym@user/caconym)
19:00:51 <EvanR> a use of head which is not wrong
19:00:55 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
19:01:05 <EvanR> not wrongheaded at all
19:01:45 <EvanR> it's stuff like this that makes haskell still feel like a dynamic language, stuff you can do that works but slightly different crashes everything
19:02:25 <EvanR> and no compiler or linter can save you
19:03:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:04:38 <dmj`> :t catMaybes . map listToMaybe . group
19:04:39 <lambdabot> Eq a => [a] -> [a]
19:05:09 <monochrom> There is another group in Data.List.NonEmpty that gives [NonEmpty a] so you don't have to worry about head.
19:05:40 <dmj`> :t \xs -> [ x | x : _ <- group xs ]
19:05:43 <lambdabot> Eq a => [a] -> [a]
19:07:54 <EvanR> uh huh
19:08:51 <monochrom> At least it is not Scheme Any -> Any
19:09:03 <EvanR> map head . group works, but if you put a bunch more work into it and use this stuff hidden in a modular somewhere, and download a safeHead, it will still work xD
19:09:25 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
19:10:10 <monochrom> @quote safeFromJust
19:10:10 <lambdabot> monochrom says: I use safeFromJust :: Maybe a -> Maybe a
19:10:25 <EvanR> another function that works
19:11:31 × AlexZenon quits (~alzenon@178.34.162.53) (Ping timeout: 244 seconds)
19:11:51 <dmj`> safeMaybe x = case x of { Nothing -> Nothing; Just y -> Just y; }
19:13:08 <EvanR> to make a function safe, make it return a Maybe
19:13:26 <EvanR> safeFromJust lampoons the idea properly, but this idea comes up all the time in other languages for serious
19:13:39 <EvanR> sometimes with resistance sometimes not
19:13:44 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
19:14:23 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
19:14:31 × athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!)
19:14:53 <EvanR> usually because it would be too inconvenient
19:17:36 AlexZenon joins (~alzenon@178.34.162.53)
19:18:54 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
19:19:44 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:24:16 vanishingideal joins (~vanishing@user/vanishingideal)
19:24:34 m1dnight joins (~christoph@d8D861908.access.telenet.be)
19:24:47 × vanishingideal quits (~vanishing@user/vanishingideal) (Client Quit)
19:25:12 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
19:25:27 weary-traveler joins (~user@user/user363627)
19:25:34 vanishingideal joins (~vanishing@user/vanishingideal)
19:31:00 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
19:34:32 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:37:03 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
19:42:04 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
19:43:50 vanishingideal joins (~vanishing@user/vanishingideal)
19:47:47 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:48:22 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
19:51:35 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 252 seconds)
19:52:19 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
19:52:21 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
19:52:21 <ski> or restrict the domain of the function
19:53:52 vanishingideal joins (~vanishing@user/vanishingideal)
19:56:31 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
19:57:21 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
19:59:44 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
20:02:00 <Inst> monochrom: so the join method for stream is O(n^3)?
20:03:07 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 264 seconds)
20:03:12 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:04:20 <Inst> n2, actually
20:08:09 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
20:11:41 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:11:49 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
20:12:14 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:12:22 <ski> <ski> (btw, you should be able to do `(<*>)' on your `Stream' there, without involving `seek' and indices)
20:12:52 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
20:13:14 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:13:20 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
20:15:07 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
20:19:01 × shapr quits (~user@2601:19c:417e:5434:eb39:1b12:d1f:659d) (Ping timeout: 248 seconds)
20:19:05 spew joins (~spew@201.141.99.170)
20:19:49 <Inst> yeah, i just did the ziplist implementation
20:20:06 <Inst> wanted to write instances for something that was both a monad and a comonad
20:20:27 wootehfoot joins (~wootehfoo@user/wootehfoot)
20:24:02 Pixi joins (~Pixi@user/pixi)
20:24:19 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
20:25:24 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 244 seconds)
20:25:54 × briandaed quits (~root@185.234.210.211) (Remote host closed the connection)
20:26:35 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:28:17 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
20:35:35 son0p joins (~ff@152.203.113.149)
20:35:59 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:37:09 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
20:37:11 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:44:00 × michalz quits (~michalz@185.246.207.222) (Remote host closed the connection)
20:48:11 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
20:50:27 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
20:52:35 <ski> but did you do the diagonal that visits each combination, without indices ?
20:53:31 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
20:57:03 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
20:59:08 pavonia joins (~user@user/siracusa)
20:59:17 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
21:01:15 × cpressey quits (~weechat@176.254.119.170) (Ping timeout: 252 seconds)
21:02:34 × kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux)
21:02:56 kimiamania joins (~924ba01d@user/kimiamania)
21:03:49 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
21:03:57 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:08:39 <monochrom> "s !! n !! n" is designed to show beauty not efficiency.
21:08:39 hgolden__ joins (~hgolden@23.162.40.69)
21:10:09 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
21:10:23 <int-e> it'll be quadratic for the first n elements anyway
21:11:29 × hgolden_ quits (~hgolden@204.152.216.106) (Ping timeout: 260 seconds)
21:12:44 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 255 seconds)
21:12:49 <monochrom> It is an exercise for the reader to realize that the least you can do for efficiency is zipWith (!!) s [0..n].
21:12:55 <monochrom> err, [0..]
21:14:19 <monochrom> and also recognize how, though more efficient, it is also less clear about the central idea.
21:15:48 <int-e> all I was saying is that despite being designed for beauty its efficiency really isn't terrible
21:17:09 <int-e> (well, unless n gets big and you start noticing the "leaked" memory)
21:18:06 <monochrom> Hrm I may be wrong, zipWith (!!) s [0..] shows a different beauty. It's saying join s = liftA2 (!!) s [0..]. It is not everyday that join is expressible as <*>. >:)
21:18:12 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
21:20:02 <monochrom> This may actually generalize to all Naperian functors...
21:21:33 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:22:29 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
21:26:45 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
21:35:28 × AlexZenon quits (~alzenon@178.34.162.53) (Ping timeout: 265 seconds)
21:36:19 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
21:37:36 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:39:14 AlexZenon joins (~alzenon@178.34.162.53)
21:39:54 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
21:41:49 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
21:44:44 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
21:48:43 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:52:29 <ncf> ski: check your PMs lately?
21:55:32 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:55:42 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
21:55:59 × platao quits (~mirc-rc@177.100.68.254) (Quit: pop!_os channel on irc #pop!_os)
21:56:49 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
21:58:56 <EvanR> what's a Naperian Functor again
22:01:30 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
22:03:12 × ft quits (~ft@p4fc2acce.dip0.t-ipconnect.de) (Quit: Lost terminal)
22:05:07 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 244 seconds)
22:06:03 ft joins (~ft@p4fc2acce.dip0.t-ipconnect.de)
22:06:46 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:09:30 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:09:53 ski . o O ( "What is a Naperian Container?" by Peter Hancock in 2005-06-19 at <https://web.archive.org/web/20170313140037/http://sneezy.cs.nott.ac.uk/containers/blog/?p=14> )
22:12:43 × polyphem quits (~rod@p4fc2ccf6.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
22:12:53 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
22:15:45 × Rembane quits (~Rembane@user/Rembane) (Quit: WeeChat 4.1.1)
22:16:11 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 4.4.2)
22:19:24 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
22:19:36 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
22:20:06 irssi joins (~Rembane@user/Rembane)
22:21:09 irssi is now known as Rembane
22:23:50 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds)
22:24:10 <monochrom> A functor F that is isomorphic to (->)I for some index set/type I. The most familiar example is Stream as (->)ℕ. Another one is a finite example like "data Pair a = P a a" being (->)Bool.
22:26:56 <monochrom> Bool->X (for example) is like X^Bool, exponentiation, so going from Bool->X to X is like logarithm. Logarithm is from Napier, so "Naperian".
22:27:53 <monochrom> Err no, going from Bool->X to Bool is logarithm.
22:29:07 <EvanR> ok there's an index type or space
22:29:26 <monochrom> or in general, given F X, you ask what's I, and the answer is log(F X) = log(X^I) = I.
22:29:29 symdrome joins (~user@2804:1e78:2202:2220::416)
22:29:59 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
22:30:02 <monochrom> If you say "but that's just Reader" or "but that's just representable functor", you're right. :)
22:31:37 <EvanR> dependency injection functor
22:31:49 <monochrom> But in practice, people use the special name "Naperian" to emphasize that they also provide you with the type I and the functions going between F X and I->X.
22:33:12 <monochrom> https://www.cs.ox.ac.uk/publications/publication10857-abstract.html is a paper I particularly like about this (and some other stuff).
22:34:24 <monochrom> or simply code on hackage: https://hackage.haskell.org/package/naperian or https://hackage.haskell.org/package/Naperian
22:35:45 <int-e> all you need for memoization (that wheel must have been reinvented a million times)
22:35:59 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
22:36:55 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
22:38:27 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 276 seconds)
22:40:20 × poxel quits (~lennart@user/poxel) (Quit: WeeChat 4.4.2)
22:40:39 × symdrome quits (~user@2804:1e78:2202:2220::416) (Remote host closed the connection)
22:41:43 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:52:36 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
22:54:37 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
22:54:43 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
22:55:03 gmg joins (~user@user/gehmehgeh)
22:58:43 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
23:00:24 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
23:06:06 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
23:09:44 × Inst quits (~Inst@user/Inst) (Ping timeout: 255 seconds)
23:11:26 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:11:48 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
23:11:58 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
23:14:21 troojg joins (~troojg@user/troojg)
23:17:50 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
23:21:46 <monochrom> And https://www.vex.net/~trebla/tmp/Loeb.hs is me linking up the "memoFix" kind of memoization with the Löb kind by taking log and changing argument order. :)
23:22:51 × alp_ quits (~alp@2001:861:e3d6:8f80:995f:117d:7c12:db9c) (Remote host closed the connection)
23:27:26 <monochrom> This is a bad dad joke? We have tab :: (I -> a) -> F a, can I call its inverse bat :: F a -> I -> a ?
23:28:29 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:28:37 <int-e> memoize = lookup . tabulate -- my own boring pet names
23:29:03 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
23:31:10 <monochrom> They are too long. :)
23:31:33 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 248 seconds)
23:32:04 <EvanR> tabulate is a good word
23:32:25 <EvanR> for a common or should be commonly understood operation
23:32:38 <monochrom> I stole it from the Hutton paper. :) But probably Hutton stole in from prior work, too.
23:32:40 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
23:32:59 <monochrom> I will settle for infix (!) for the inverse.
23:33:33 <EvanR> I always felt like ! and !! meant the lookup was liable to crash
23:33:41 <EvanR> which isn't the case here
23:33:48 <monochrom> (which is also very guessable for people who have used Map and Vector etc)
23:34:06 <monochrom> Right, this is a safe total lookup :)
23:34:47 <EvanR> a roadsign for something totally safe ... probably not a thing
23:34:56 <monochrom> haha
23:35:08 <EvanR> empty sign
23:35:28 <int-e> . o O ( sign reading "eyes on the road" )
23:35:39 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
23:35:51 <EvanR> if you're close enough to read this back the hell off
23:39:06 × EvanR quits (~EvanR@user/evanr) (Quit: Leaving)
23:41:51 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
23:43:19 × acidjnk quits (~acidjnk@p200300d6e72cfb641041a00b3f8f8460.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
23:43:27 sourcetarius joins (~sourcetar@user/sourcetarius)
23:46:14 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
23:46:32 troydm joins (~troydm@user/troydm)
23:48:26 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds)
23:57:16 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)

All times are in UTC on 2024-09-27.