Home liberachat/#haskell: Logs Calendar

Logs on 2025-12-15 (liberachat/#haskell)

00:00:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
00:02:18 × Tuplanolla quits (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) (Quit: Leaving.)
00:11:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:16:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
00:16:53 × trickard quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
00:17:06 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
00:25:20 kodachi joins (~kodachi@198.105.112.55)
00:27:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:31:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
00:39:43 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 256 seconds)
00:43:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:43:15 × xff0x quits (~xff0x@2405:6580:b080:900:656:fa94:6975:5250) (Ping timeout: 245 seconds)
00:48:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
00:52:29 peterbecich joins (~Thunderbi@71.84.33.135)
00:56:40 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
00:58:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:03:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
01:11:43 × kodachi quits (~kodachi@198.105.112.55) (Ping timeout: 240 seconds)
01:14:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:19:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
01:24:32 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
01:24:46 divlamir joins (~divlamir@user/divlamir)
01:25:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:28:50 polykernel joins (~polykerne@user/polykernel)
01:30:02 omidmash6 joins (~omidmash@user/omidmash)
01:30:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
01:32:13 × omidmash quits (~omidmash@user/omidmash) (Ping timeout: 260 seconds)
01:32:13 omidmash6 is now known as omidmash
01:32:52 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:33:49 califax joins (~califax@user/califx)
01:35:17 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:40:44 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
01:41:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:46:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
01:49:36 × Square2 quits (~Square@user/square) (Ping timeout: 252 seconds)
01:57:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:02:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:05:21 × acidjnk quits (~acidjnk@p200300d6e71719388081a3fbb3ac0d85.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
02:11:46 × typedfern_ quits (~Typedfern@15.red-83-37-26.dynamicip.rima-tde.net) (Ping timeout: 255 seconds)
02:13:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:16:13 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
02:17:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:26:14 × somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 256 seconds)
02:26:33 typedfern_ joins (~Typedfern@53.red-83-37-43.dynamicip.rima-tde.net)
02:29:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:34:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
02:44:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:45:06 myxos joins (~myxos@2001:579:8380:f20:5802:a6ab:5db9:e791)
02:49:58 × ephemient quits (uid407513@user/ephemient) (Quit: Connection closed for inactivity)
02:51:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
03:02:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:07:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
03:18:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:23:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:34:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:38:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
03:40:15 × td_ quits (~td@i53870909.versanet.de) (Ping timeout: 240 seconds)
03:41:57 × trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
03:42:09 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
03:42:19 td_ joins (~td@i53870904.versanet.de)
03:48:04 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 244 seconds)
03:49:18 annamalai joins (~annamalai@157.32.210.253)
03:50:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:54:16 × karenw quits (~karenw@user/karenw) (Ping timeout: 244 seconds)
03:54:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
03:55:24 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
03:57:22 jmcantrell_ joins (~weechat@user/jmcantrell)
04:05:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:10:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
04:16:41 AlexNoo_ joins (~AlexNoo@178.34.161.6)
04:18:39 × AlexZenon quits (~alzenon@94.233.240.243) (Ping timeout: 252 seconds)
04:19:55 × AlexNoo quits (~AlexNoo@94.233.240.243) (Ping timeout: 240 seconds)
04:21:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:22:30 AlexZenon joins (~alzenon@178.34.161.6)
04:26:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
04:28:22 × spew quits (~spew@user/spew) (Quit: WeeChat 4.7.2)
04:29:43 jmcantrell_ is now known as jmcantrell
04:29:46 <weary-traveler> it should be possible to do "stack install $pkg" to build a package binary from hackage, correct?
04:30:20 × trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
04:30:21 <weary-traveler> if so, how do i find out the location of the built artifacts?
04:30:33 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
04:35:36 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
04:35:56 EvanR joins (~EvanR@user/evanr)
04:37:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:38:10 <geekosaur> default is ~/.local/bin
04:39:57 <geekosaur> https://docs.haskellstack.org/en/stable/configure/yaml/non-project/#local-bin-path
04:41:32 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
04:42:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
04:47:43 <weary-traveler> yeah, that's what i thought. odd. i don't see it there.
04:47:56 <weary-traveler> package in question is citeproc
04:51:09 <geekosaur> "Unlike pandoc-citeproc, this library does not provide an executable. It will be used in pandoc itself to provide integrated citation support and bibliography format conversion (so the pandoc-citeproc filter will no longer be necessary)."
04:51:58 <geekosaur> hm, although the cabal file does indeed list a citeproc executable
04:52:30 <geekosaur> oh, I see. you need to enable the "executable" flag to get it
04:52:48 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
04:53:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:54:06 <geekosaur> stack install --flag citeproc:executable citeproc
04:55:53 <weary-traveler> ah it only did the lib by default
04:56:07 trickard_ is now known as trickard
04:58:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
04:59:47 <weary-traveler> geekosaur: thanks!
05:09:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:13:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
05:17:47 × Googulator quits (~Googulato@87-97-86-146.pool.digikabel.hu) (Quit: Client closed)
05:18:06 Googulator joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
05:22:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:29:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
05:30:36 × jmcantrell quits (~weechat@user/jmcantrell) (Quit: WeeChat 4.8.1)
05:32:25 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
05:32:42 Googulator joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
05:34:27 peterbecich joins (~Thunderbi@71.84.33.135)
05:40:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:46:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
05:47:41 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
05:50:57 jmcantrell_ joins (~weechat@user/jmcantrell)
05:54:52 gorignak joins (~gorignak@user/gorignak)
05:56:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:02:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
06:06:22 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 246 seconds)
06:12:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:14:34 michalz joins (~michalz@185.246.207.197)
06:15:37 Googulator19 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
06:16:17 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
06:16:31 × trickard quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
06:18:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
06:19:11 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
06:22:08 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
06:28:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:29:15 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 250 seconds)
06:32:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
06:44:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:49:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
06:53:18 isovector1 joins (~isovector@172.103.213.174.cable.tpia.cipherkey.com)
06:54:38 × isovector1 quits (~isovector@172.103.213.174.cable.tpia.cipherkey.com) (Client Quit)
06:55:07 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
06:59:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:01:24 myxokephale joins (~myxos@2001:579:8380:f20:595:39f1:fe2a:eca3)
07:03:43 peterbecich joins (~Thunderbi@71.84.33.135)
07:04:29 × myxos quits (~myxos@2001:579:8380:f20:5802:a6ab:5db9:e791) (Ping timeout: 256 seconds)
07:04:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
07:06:07 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
07:09:01 × Pozyomka quits (~pyon@user/pyon) (Quit: brb)
07:09:16 Pozyomka joins (~pyon@user/pyon)
07:10:40 × Googulator19 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
07:10:49 Googulator19 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
07:12:16 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
07:15:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:16:43 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 246 seconds)
07:20:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
07:23:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:29:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
07:35:43 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds)
07:40:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:44:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
07:55:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:00:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
08:00:54 lucabtz joins (~lucabtz@user/lucabtz)
08:04:13 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
08:11:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:14:40 karenw joins (~karenw@user/karenw)
08:15:42 × Googulator19 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
08:15:46 Googulator22 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
08:17:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
08:27:07 tromp joins (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75)
08:45:41 Googulator22 is now known as Googulator
08:46:27 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:58:57 merijn joins (~merijn@77.242.116.146)
08:59:09 acidjnk joins (~acidjnk@p200300d6e7171911ece553fa3dd3d975.dip0.t-ipconnect.de)
09:06:42 × ft quits (~ft@p4fc2ab42.dip0.t-ipconnect.de) (Quit: leaving)
09:09:44 kuribas joins (~user@2a02-1810-2825-6000-7d9c-a0f7-a55d-27ae.ip6.access.telenet.be)
09:12:01 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 244 seconds)
09:14:21 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:16:26 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
09:26:55 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
09:27:51 merijn joins (~merijn@77.242.116.146)
09:31:50 ljdarj joins (~Thunderbi@user/ljdarj)
09:32:35 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
09:32:51 merijn joins (~merijn@77.242.116.146)
09:37:35 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
09:37:39 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
09:38:02 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
09:38:10 merijn joins (~merijn@77.242.116.146)
09:53:03 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
09:59:09 ttybitnik joins (~ttybitnik@user/wolper)
10:05:56 merijn joins (~merijn@77.242.116.146)
10:10:35 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
10:11:14 haritz joins (~hrtz@140.228.70.141)
10:11:15 × haritz quits (~hrtz@140.228.70.141) (Changing host)
10:11:15 haritz joins (~hrtz@user/haritz)
10:13:40 merijn joins (~merijn@77.242.116.146)
10:16:15 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds)
10:19:00 ljdarj1 joins (~Thunderbi@user/ljdarj)
10:19:36 comerijn joins (~merijn@77.242.116.146)
10:19:55 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 240 seconds)
10:19:55 ljdarj1 is now known as ljdarj
10:20:47 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
10:20:48 Googulator95 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
10:22:49 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
10:24:28 poscat0x04 joins (~poscat@user/poscat)
10:26:25 × poscat quits (~poscat@user/poscat) (Ping timeout: 264 seconds)
10:33:37 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
10:41:41 merijn joins (~merijn@77.242.116.146)
10:49:37 bggd joins (~bgg@2a01:e0a:fd5:f510:ebbd:7760:6c9e:86f6)
10:49:59 trickard_ is now known as trickard
10:53:05 × tromp quits (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:54:25 tromp joins (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75)
10:56:31 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
11:01:47 chele joins (~chele@user/chele)
11:01:50 × bggd quits (~bgg@2a01:e0a:fd5:f510:ebbd:7760:6c9e:86f6) (Changing host)
11:01:50 bggd joins (~bgg@user/bggd)
11:02:41 merijn joins (~merijn@77.242.116.146)
11:16:07 × karenw quits (~karenw@user/karenw) (Ping timeout: 246 seconds)
11:18:23 × Googulator95 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
11:18:40 Googulator95 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
11:21:11 xff0x joins (~xff0x@2405:6580:b080:900:1f68:a6af:8023:736)
11:25:23 wootehfoot joins (~wootehfoo@user/wootehfoot)
11:40:04 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
11:43:49 × ljdarj quits (~Thunderbi@user/ljdarj) (Read error: Connection reset by peer)
11:45:35 merijn joins (~merijn@77.242.116.146)
11:50:25 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
11:58:01 <gentauro> I'm trying to build https://github.com/simplex-chat/simplexmq (with) stack (adding stack.yaml after git clone) but I get this error (not helpfull at all): https://paste.tomsmeding.com/0zfYeUxQ Any suggestions?
12:01:21 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
12:01:50 × yin quits (~zero@user/zero) (Remote host closed the connection)
12:02:04 merijn joins (~merijn@77.242.116.146)
12:02:04 euphores joins (~SASL_euph@user/euphores)
12:02:05 Guest5078 joins (~zero@a89-153-191-69.cpe.netcabo.pt)
12:03:46 fp joins (~Thunderbi@2001:708:150:10::7e06)
12:05:48 Googulator41 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
12:05:51 × Googulator95 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
12:06:43 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds)
12:07:14 somemathguy joins (~somemathg@user/somemathguy)
12:16:55 kodachi joins (~kodachi@198.105.112.55)
12:18:20 merijn joins (~merijn@77.242.116.146)
12:19:49 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
12:20:42 × somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 244 seconds)
12:21:22 × Guest5078 quits (~zero@a89-153-191-69.cpe.netcabo.pt) (Remote host closed the connection)
12:21:37 Guest3287 joins (~zero@a89-153-191-69.cpe.netcabo.pt)
12:24:13 × Guest3287 quits (~zero@a89-153-191-69.cpe.netcabo.pt) (Changing host)
12:24:13 Guest3287 joins (~zero@user/zero)
12:24:39 × Guest3287 quits (~zero@user/zero) (Remote host closed the connection)
12:24:54 yin joins (~zero@user/zero)
12:27:10 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
12:29:43 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds)
12:33:13 AlexNoo_ is now known as AlexNoo
12:33:30 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:35:44 Googulator99 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
12:35:54 × Googulator41 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
12:36:15 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
12:36:40 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:39:52 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
12:40:08 × tromp quits (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:42:26 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
12:42:31 vanishingideal joins (~vanishing@user/vanishingideal)
12:46:38 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
12:55:16 bggd__ joins (~bgg@2a01:e0a:fd5:f510:6bc5:c845:f799:c476)
12:58:19 × bggd quits (~bgg@user/bggd) (Ping timeout: 244 seconds)
12:59:32 Square joins (~Square4@user/square)
13:00:04 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
13:04:33 ljdarj joins (~Thunderbi@user/ljdarj)
13:05:45 Googulator16 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
13:05:48 × Googulator99 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
13:06:06 Googulator16 is now known as Googulator
13:06:58 comerijn joins (~merijn@77.242.116.146)
13:09:57 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
13:13:42 tromp joins (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75)
13:34:56 × jonnie quits (~jonnie@user/jonnie) (Remote host closed the connection)
13:35:31 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
13:35:42 Googulator joins (~Googulato@87-97-86-146.pool.digikabel.hu)
13:43:51 × Pozyomka quits (~pyon@user/pyon) (Quit: brb)
13:49:10 latticepolytope joins (~user@user/isekaijin)
13:54:18 somemathguy joins (~somemathg@user/somemathguy)
14:05:11 jonnie joins (~jonnie@user/jonnie)
14:05:43 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
14:05:49 × Googulator quits (~Googulato@87-97-86-146.pool.digikabel.hu) (Quit: Client closed)
14:05:50 Googulator15 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
14:09:29 merijn joins (~merijn@77.242.116.146)
14:13:40 × somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 245 seconds)
14:21:26 L29Ah joins (~L29Ah@wikipedia/L29Ah)
14:22:00 × fp quits (~Thunderbi@2001:708:150:10::7e06) (Ping timeout: 252 seconds)
14:27:56 × Googulator15 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
14:28:11 Googulator15 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
15:00:34 isovector1 joins (~isovector@172.103.213.174.cable.tpia.cipherkey.com)
15:00:58 myxos joins (~myxos@2001:579:8380:f20:fbd3:ef8a:e888:18ad)
15:03:48 × myxokephale quits (~myxos@2001:579:8380:f20:595:39f1:fe2a:eca3) (Ping timeout: 252 seconds)
15:14:51 × ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.8.1)
15:16:43 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:19:10 bggd__ is now known as bggd
15:19:25 × bggd quits (~bgg@2a01:e0a:fd5:f510:6bc5:c845:f799:c476) (Changing host)
15:19:25 bggd joins (~bgg@user/bggd)
15:24:16 isovector1 parts (~isovector@172.103.213.174.cable.tpia.cipherkey.com) ()
15:24:37 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
15:27:40 × tromp quits (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:28:25 spew joins (~spew@user/spew)
15:32:19 × rekahsoft quits (~rekahsoft@70.51.99.245) (Ping timeout: 246 seconds)
15:34:36 merijn joins (~merijn@77.242.116.146)
15:35:46 × Googulator15 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
15:36:07 Googulator15 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
15:38:16 × acarrico quits (~acarrico@pppoe-209-99-221-186.greenmountainaccess.net) (Ping timeout: 246 seconds)
15:48:55 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
15:49:20 merijn joins (~merijn@77.242.116.146)
16:05:00 tromp joins (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75)
16:10:31 <tomsmeding> gentauro: nice, very helpful error. Could it be that it ran out of memory and was killed by the OOM killer?
16:22:55 × kuribas quits (~user@2a02-1810-2825-6000-7d9c-a0f7-a55d-27ae.ip6.access.telenet.be) (Ping timeout: 244 seconds)
16:30:42 × lucabtz quits (~lucabtz@user/lucabtz) (Quit: Lost terminal)
16:38:01 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
16:42:05 acarrico joins (~acarrico@pppoe-209-99-221-186.greenmountainaccess.net)
16:45:43 ouilemur joins (~jgmerritt@user/ouilemur)
16:56:10 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
16:58:34 jmcantrell_ joins (~weechat@user/jmcantrell)
17:07:34 <gentauro> tomsmeding: I doubt it. I have like +30 GB of free mem when it shows that. And since it's like 154 / 155. It takes 3 min to reproduce :-\
17:08:23 merijn joins (~merijn@77.242.116.146)
17:08:43 × acarrico quits (~acarrico@pppoe-209-99-221-186.greenmountainaccess.net) (Ping timeout: 264 seconds)
17:17:31 × Googulator15 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
17:17:52 Googulator15 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
17:18:32 somemathguy joins (~somemathg@user/somemathguy)
17:18:55 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
17:19:13 × sam113101 quits (~sam@modemcable200.189-202-24.mc.videotron.ca) (Read error: Connection reset by peer)
17:19:28 sam113101 joins (~sam@modemcable200.189-202-24.mc.videotron.ca)
17:19:31 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
17:22:05 × trickard quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
17:22:19 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
17:29:07 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
17:29:26 EvanR joins (~EvanR@user/evanr)
17:31:05 × tromp quits (~textual@2001:1c00:3487:1b00:6cd5:9506:337d:4c75) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:33:55 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 240 seconds)
17:34:32 acarrico joins (~acarrico@2001:18b0:c000:7433:aee:5563:d876:718f)
17:51:40 × Googulator15 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
17:51:56 Googulator15 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
17:54:30 × latticepolytope quits (~user@user/isekaijin) (Quit: brb)
17:58:17 Square2 joins (~Square@user/square)
18:01:17 × Square quits (~Square4@user/square) (Ping timeout: 250 seconds)
18:05:34 latticepolytope joins (~user@2800:200:e840:356e:90cc:fccb:4c3b:fc80)
18:05:59 × latticepolytope quits (~user@2800:200:e840:356e:90cc:fccb:4c3b:fc80) (Remote host closed the connection)
18:13:37 latticepolytope joins (~user@user/isekaijin)
18:19:42 tromp joins (~textual@2001:1c00:3487:1b00:dc21:3bf3:aa50:6091)
18:43:57 ljdarj joins (~Thunderbi@user/ljdarj)
18:55:58 ft joins (~ft@p4fc2ab42.dip0.t-ipconnect.de)
19:04:21 × latticepolytope quits (~user@user/isekaijin) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.2))
19:15:43 Googulator37 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
19:16:56 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
19:18:05 milan2 joins (~milan@88.212.61.169)
19:19:31 × Googulator15 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Ping timeout: 272 seconds)
19:20:29 <milan2> Hello is there something like >>= but for different types? I have "Either" and I want to chain it with "Maybe" so Left goes to Nothing and Right to Just?
19:23:17 <gentauro> milan2: I don't know about operators, but, Hoogle is your friend ;) `https://hoogle.haskell.org/?hoogle=Either%20a%20b%20-%3E%20Maybe%20a`
19:24:05 <int-e> :t listToMaybe . rights . pure
19:24:06 <lambdabot> Either a1 a2 -> Maybe a2
19:24:29 <int-e> (very intuitive ;-) )
19:25:23 × califax quits (~califax@user/califx) (Remote host closed the connection)
19:25:24 target_i joins (~target_i@user/target-i/x-6023099)
19:25:27 <gentauro> int-e: and you only rely on `base`. That's nice :)
19:25:44 <gentauro> :t rights
19:25:45 <lambdabot> [Either a b] -> [b]
19:26:26 <milan2> gentauro: TY, I didn't know I can search by type signature. Thank you int-e :)
19:27:00 <int-e> :t \e -> do Right a <- pure e; pure a
19:27:01 <lambdabot> MonadFail m => Either a b -> m b
19:27:18 califax joins (~califax@user/califx)
19:27:18 <gentauro> milan2: This is actually the right signature to search for -> https://hoogle.haskell.org/?hoogle=Either%20a%20b%20-%3E%20Maybe%20b `Either a b -> Maybe b`
19:28:11 <gentauro> https://hackage-content.haskell.org/package/ghc-9.12.2/docs/src/GHC.Data.Maybe.html#rightToMaybe
19:28:25 <milan2> Yeah I am looking at that right now :)
19:29:15 × aku quits (aku@65.108.245.241) (Quit: Lost terminal)
19:30:33 aku joins (aku@65.108.245.241)
19:32:15 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:33:03 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
19:35:09 Lord_of_Life_ is now known as Lord_of_Life
19:41:23 × ouilemur quits (~jgmerritt@user/ouilemur) (Ping timeout: 250 seconds)
19:42:34 × Googulator37 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
19:42:54 Googulator37 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
19:43:37 ouilemur joins (~jgmerritt@user/ouilemur)
19:43:44 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
19:53:35 <chromoblob> why not `return`
19:54:20 <monochrom> We like the name "pure" more. :)
19:54:43 <int-e> it only took a decade to retrain myself to actually use `pure`.
19:55:16 <monochrom> I just installed a new device driver in my head. :)
19:55:37 <int-e> chromoblob: `pure` is shorter and doesn't have the misleading imperative programming connotations that `return` has.
19:55:49 <monochrom> Yeah I like shorter too. :)
19:56:27 <int-e> > (do return 1; return 2) :: Maybe Int
19:56:28 <monochrom> When I teach a language course, my excuse for saying "term" for "expression" is: "term" is shorter. :)
19:56:28 <lambdabot> Just 2
19:56:51 <int-e> monochrom: I'm all for short term rewards as well.
19:57:20 × Googulator37 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
19:57:25 <monochrom> haha
19:57:40 Googulator37 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
20:00:40 × Googulator37 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Client Quit)
20:00:54 Googulator37 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
20:03:16 Tuplanolla joins (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi)
20:03:35 <chromoblob> `return` is historic
20:04:06 <monochrom> `pure` is modern :)
20:04:40 <chromoblob> also, `return` signifies that you're using Monad
20:05:56 <monochrom> IMO unimportant.
20:08:37 lockna joins (~obr@089144192027.atnat0001.highway.a1.net)
20:10:11 <monochrom> Eq has (==), Ord is a subclass, and we don't propose to add (===) to Ord to be a synonym of (==) such that when we compare two integers we use (===) to "signify that I'm using Ord".
20:10:38 <monochrom> If `return` is historic, then it means that it was a historical mistake.
20:11:23 <monochrom> Or more moderately, s/mistake/oversight/
20:13:11 <c_wraith> oversight would be accurate, I think. No one had yet realized that Applicative was a useful middle ground.
20:13:27 <int-e> Or maybe in 1998 Haskell was less concerned with applications.
20:14:07 <int-e> (remember when it was called "Idiom" for a while... that would've been awful.)
20:14:43 <monochrom> Monad was called "triple" at the beginning, too. :)
20:15:24 <Rembane> That's a way less scary word! :D
20:15:26 <c_wraith> I don't think Applicative was really recognized as useful (in two directions - rich enough to have practical applications, simple enough that it can have useful instances that can't be monads) until the development of applicative parsers
20:15:38 <int-e> Rembane: but it's way too generic
20:15:53 pavonia joins (~user@user/siracusa)
20:15:59 <int-e> Rembane: It's like calling a company Meta because it's about something. ;-)
20:16:47 <monochrom> Hey wouldn't it be nice! class Tuploid f where pure :: a -> f a; (<*>) :: f a -> f b -> f (a,b); class Tuploid f => Triploid f where (>>=) :: ...
20:16:52 × gf3 quits (~gf3@user/gf3) (Ping timeout: 246 seconds)
20:17:04 <Rembane> int-e: Indeed, it doesn't mean anything. :)
20:17:05 <int-e> (FWIW I call the underlying failed product Facebook 3D out of spite.)
20:17:42 <monochrom> Alpha and Meta :)
20:17:54 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
20:18:18 <Rembane> There was something in the regular automata course that was a quintuple of "basically trivial things" I can't remember what though, maybe a turing machine or regular expression or something.
20:20:58 <int-e> one way to get a quintuple is to have symbols, states, accepting states, rejecting states, transitions
20:21:11 × lockna quits (~obr@089144192027.atnat0001.highway.a1.net) (Quit: Leaving)
20:21:27 lockna joins (~obr@089144192027.atnat0001.highway.a1.net)
20:22:03 <int-e> Which you might do for a Turing machine. Another way is to split transitions into transitions and epsilon-transitions, but not have rejecting states... so a typical NFA.
20:23:52 <Rembane> Both sound distantly familiar, so at least one of those.
20:23:54 × lockna quits (~obr@089144192027.atnat0001.highway.a1.net) (Client Quit)
20:24:08 lockna joins (~obr@089144192027.atnat0001.highway.a1.net)
20:24:10 l0ckna joins (~obr@089144192027.atnat0001.highway.a1.net)
20:24:33 × l0ckna quits (~obr@089144192027.atnat0001.highway.a1.net) (Remote host closed the connection)
20:24:34 × lockna quits (~obr@089144192027.atnat0001.highway.a1.net) (Remote host closed the connection)
20:24:48 lockna joins (~obr@089144192027.atnat0001.highway.a1.net)
20:24:50 l0ckna joins (~obr@089144192027.atnat0001.highway.a1.net)
20:25:05 × lockna quits (~obr@089144192027.atnat0001.highway.a1.net) (Client Quit)
20:25:05 × l0ckna quits (~obr@089144192027.atnat0001.highway.a1.net) (Remote host closed the connection)
20:26:39 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
20:31:56 × Googulator37 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
20:32:20 Googulator37 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
20:35:16 bggd__ joins (~bgg@2a01:e0a:fd5:f510:6bc5:c845:f799:c476)
20:35:40 Googulator37 is now known as Googulator
20:35:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:36:41 peterbecich joins (~Thunderbi@71.84.33.135)
20:38:47 × bggd quits (~bgg@user/bggd) (Read error: Connection reset by peer)
20:40:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
20:42:14 <c_wraith> woo, I got a practical example of unsafeInterleaveST breaking "pure" code!
20:42:25 <milan2> Guyz I am thinking about prorotyping web app. Async is a big thing in IO heavy apps. Can I expect that I will be able to create fully async web api from fully async db client, http client and
20:42:28 <milan2> ?
20:44:48 <[exa]> milan2: in short yes
20:45:30 <c_wraith> I decided to go back and rewrite Day 8 of the AoC using ST to make all the updates O(1) instead of just throwing all the indirection into a Map. It turned out slower, and I realized this was due to a loss of laziness from generating a summary of the disjoint set strictly at every iteration even though it was only used once.
20:46:27 <c_wraith> I threw in an unsafeInterleaveST to recover laziness, but I was already using unsafeInterleaveST to run Kruskal's algorithm on demand.
20:47:03 <c_wraith> Thus I introduced an order dependence in a "pure" expression.
20:47:13 <c_wraith> The moral of the story: immutability is pretty cool.
20:48:51 <c_wraith> (It also only sped up to matching performance when I introduced that problem. Not a win!)
20:49:02 <[exa]> milan2: in longer, make a stupid serial prototype first and then you can switch the backend for whichever concurrent webserver matches your expected workload
20:50:07 califax_ joins (~califax@user/califx)
20:50:48 <[exa]> c_wraith: nice way to show that tbh
20:51:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:52:01 <milan2> [exa]: ty
20:52:51 <c_wraith> I could probably make it a lot faster if I went with an array representation instead of STRef chasing. But I'd still lose on laziness unless I changed a lot of the API.
20:52:53 eron joins (~eron@187.56.156.228)
20:53:13 × califax quits (~califax@user/califx) (Ping timeout: 252 seconds)
20:53:13 califax_ is now known as califax
20:53:41 <c_wraith> Also, doing it via STRef chasing is *hard*. So many fiddly details. I wanted to practice with them.
20:56:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
21:00:37 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
21:00:44 Googulator21 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
21:01:27 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
21:05:06 gf32 joins (~gf3@user/gf3)
21:06:00 × chele quits (~chele@user/chele) (Remote host closed the connection)
21:06:19 × eron quits (~eron@187.56.156.228) (Quit: Client closed)
21:07:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:12:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
21:13:58 <gentauro> chromoblob: but int-e is using `do-notation` so it's also `Monadic` right?
21:14:07 <gentauro> you can see that from the signature
21:14:23 <c_wraith> > do ()
21:14:24 <lambdabot> ()
21:14:25 <gentauro> I recall Marlow expanding `Applicative` to have `do-notation` as well
21:14:25 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
21:14:28 <c_wraith> () is monadic now
21:14:37 <gentauro> but, You needed to do a bit more
21:14:50 humasect_ joins (~humasect@dyn-192-249-132-90.nexicom.net)
21:14:51 <c_wraith> there is an ApplicativeDo extension
21:15:19 <c_wraith> It attempts to convert a do block into uses of <*> and <$> with a lot of tupling
21:15:40 × humasect_ quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
21:15:58 <gentauro> https://dl.acm.org/doi/10.1145/3341694
21:16:12 <c_wraith> If it fails to do that conversion, it uses the standard >> and >>= desugaring
21:16:20 humasect_ joins (~humasect@dyn-192-249-132-90.nexicom.net)
21:16:48 × humasect_ quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
21:18:31 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 240 seconds)
21:18:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:18:44 <gentauro> I just find the `(\ _ x _ -> x) <$> foo <*> bar <*> baz` more readable than anything else. I rarely use (as in never) monands when I do monadic parsing.
21:18:53 <gentauro> monadic parsing = parser combinators
21:19:07 <gentauro> (bad habbits kicking in xD)
21:20:18 <gentauro> `… <$> … <*> …` combined with `<|>` (Alternate) and you are good to go :)
21:23:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
21:31:34 × myme quits (~myme@2a01:799:d5e:5f00:e46f:4150:c7c:78b) (Ping timeout: 260 seconds)
21:32:41 myme joins (~myme@2a01:799:d5e:5f00:5e12:8326:f92:1a30)
21:34:04 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
21:34:43 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:34:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:38:10 × trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
21:39:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
21:39:37 <c_wraith> gentauro: you genually need monadic parsing when the source is context-sensitive. Applicative + Alternative doesn't give you a way to choose parsers based on a value previously parsed.
21:40:55 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
21:50:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:55:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:00:31 × Googulator21 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
22:00:50 Googulator21 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
22:03:06 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
22:03:45 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
22:06:08 Googulator21 is now known as Googulator
22:06:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:07:41 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
22:08:16 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
22:15:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:29:02 <chromoblob> c_wraith: how is () a Monad? there is no type parameter in (), and a monad must have a parameter
22:29:22 <chromoblob> :t ()
22:29:23 <lambdabot> ()
22:30:44 Googulator85 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
22:30:47 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
22:33:21 × milan2 quits (~milan@88.212.61.169) (Quit: WeeChat 4.5.2)
22:38:48 <davean> chromoblob: that do uses no nonactic things, so it entails no monad class functions
22:38:55 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 240 seconds)
22:39:15 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 240 seconds)
22:39:30 <davean> Thus nothing contradicts it
22:39:34 <chromoblob> :t return 5 :: ()
22:39:35 <lambdabot> error: [GHC-83865]
22:39:35 <lambdabot> • Couldn't match expected type ‘()’ with actual type ‘m0 a0’
22:39:35 <lambdabot> • In the expression: return 5 :: ()
22:40:13 <davean> Yes, because that *does* entail Monad because you used return
22:40:17 <chromoblob> :t do (); ()
22:40:18 <lambdabot> error: [GHC-83865]
22:40:18 <lambdabot> • Couldn't match expected type ‘m a0’ with actual type ‘()’
22:40:18 <lambdabot> • In a stmt of a 'do' block: ()
22:40:55 <davean> :t do ();
22:40:55 <lambdabot> ()
22:40:57 <chromoblob> so, what can i do with this? why make `do` behave so?
22:41:17 <davean> Its not making it do behave so, its what do is.
22:41:55 <davean> Do desugars procedurally, via monad functions, or applicitive, none of those are used so the resultant code has no issues
22:42:03 <davean> do () just becomes ()
22:42:16 <davean> () is a value and nothing in your do interacts with it
22:42:20 × michalz quits (~michalz@185.246.207.197) (Remote host closed the connection)
22:42:26 <tomsmeding> 'do' is syntactic sugar: 'do a; b' ~> 'a >> b'; 'do x <- a; b' ~> 'a >>= \x -> b'; 'do let { x = a }; b' ~> 'let x = a in b'; 'do a' ~> 'a'
22:42:26 <chromoblob> :t do pure 5
22:42:27 <lambdabot> (Applicative f, Num a) => f a
22:42:37 <chromoblob> :t do return 5
22:42:38 <lambdabot> (Monad m, Num a) => m a
22:42:46 Googulator85 is now known as Googulator
22:42:49 <tomsmeding> a trivial 'do' like 'do ()' falls in the final, default case and just desugars to '()'
22:43:08 <davean> do is a way of templating out code
22:43:22 <tomsmeding> @hackage acme-dont
22:43:22 <lambdabot> https://hackage.haskell.org/package/acme-dont
22:44:38 <davean> chromoblob: the problem here is you think "do" is something it isn't
22:45:46 <chromoblob> ok, i see, `do` is a sugar which desugars trivially in `do x` case
22:46:00 euphores joins (~SASL_euph@user/euphores)
22:46:13 <chromoblob> i might have known/learned this in past, i just forgot
22:46:56 <tomsmeding> (you can observe this desugaring even more directly if you turn on RebindableSyntax, which just calls whatever (>>=) and (>>) are in scope https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/rebindable_syntax.html#extension-RebindableSyntax )
22:47:25 <tomsmeding> (I omitted 'fail' from my desugaring above)
22:47:49 <davean> Thats because fail is an error
22:48:01 <tomsmeding> it is in the desugaring though
22:48:35 <davean> Not if you don't fuck up designing the language
22:55:05 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
22:55:15 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
23:01:47 myxokephale joins (~myxos@2001:579:8380:f20:50ce:9e79:bbea:e21f)
23:04:34 × myxos quits (~myxos@2001:579:8380:f20:fbd3:ef8a:e888:18ad) (Ping timeout: 255 seconds)
23:04:43 <dolio> It's fine, just don't put it in Monad.
23:05:41 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
23:05:46 Googulator33 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
23:06:01 <dolio> Originally I think failable patterns would desugar to MonadZero.
23:10:17 peterbecich joins (~Thunderbi@71.84.33.135)
23:17:31 <jackdk> The H98 report, s3.14, desugars `do { p <- e; stmts }` to `let { ok p = do {stmts}; ok _ = fail "..." in e >>= ok }`
23:18:07 <jackdk> (And specifies that `fail` is an operation of `class Monad`)
23:19:50 <haskellbridge> <loonycyborg> "do" can be used in pure code to together with BlockArguments kill even more parentheses :P
23:20:16 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 256 seconds)
23:20:29 Sgeo joins (~Sgeo@user/sgeo)
23:22:24 × Googulator33 quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
23:22:41 Googulator33 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
23:24:14 <chromoblob> ... = ... $ do ...
23:24:43 <haskellbridge> <loonycyborg> +to
23:24:56 <chromoblob> `$` is how i kill parentheses :p
23:28:38 <chromoblob> and i have even defined `($$) = flip ($)` in past, to do `... $$ ... $$ ...` - iirc
23:33:29 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 260 seconds)
23:34:21 Googulator33 is now known as Googulator
23:36:04 Googulator96 joins (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
23:36:19 × Googulator quits (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
23:38:37 Googulator96 is now known as Googulator
23:40:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:41:31 mange joins (~mange@user/mange)
23:43:44 × bggd__ quits (~bgg@2a01:e0a:fd5:f510:6bc5:c845:f799:c476) (Remote host closed the connection)
23:44:00 latticepolytope joins (~user@user/isekaijin)
23:44:03 × tromp quits (~textual@2001:1c00:3487:1b00:dc21:3bf3:aa50:6091) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:44:09 <jackdk> chromoblob: Your ($$) is (Data.Function.&), since base-4.8 (ghc 7.10.1, April 2015)
23:45:24 <chromoblob> yeah, i did this in 2014 lol
23:45:37 <chromoblob> :i &
23:45:48 <chromoblob> no work...
23:46:10 <jackdk> % :i &
23:46:10 <yahb2> <interactive>:1:1: error: [GHC-76037] Not in scope: ‘&’
23:46:53 <geekosaur> % :i Data.Function.&
23:46:53 <yahb2> (GHC.Internal.Data.Function.&) :: a -> (a -> b) -> b ; -- Defined in ‘GHC.Internal.Data.Function’ ; infixl 1 GHC.Internal.Data.Function.&
23:48:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:54:46 <chromoblob> wait, i mixed it up
23:55:15 <chromoblob> i mean that ($$) is same that ($) but has left associativity
23:55:17 × dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.10.1 - https://znc.in)
23:55:31 <chromoblob> that -> as
23:58:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)

All times are in UTC on 2025-12-15.