2023/07/26

2023-07-26 00:00:51 +0200dmgk(~dmgk@user/dmgk)
2023-07-26 00:06:49 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 00:07:24 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-07-26 00:08:24 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 00:08:24 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 00:08:24 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 00:15:32 +0200acidjnk(~acidjnk@p200300d6e7072f08c49cce37a158e22d.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2023-07-26 00:18:46 +0200ensyde(~ensyde@104-62-224-96.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 245 seconds)
2023-07-26 00:18:59 +0200shriekingnoise(~shrieking@186.137.175.87) (Quit: Quit)
2023-07-26 00:19:17 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au)
2023-07-26 00:20:25 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-07-26 00:24:35 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 264 seconds)
2023-07-26 00:30:55 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-07-26 00:33:06 +0200gurkenglas(~gurkengla@dynamic-046-114-094-140.46.114.pool.telefonica.de) (Ping timeout: 244 seconds)
2023-07-26 00:35:23 +0200leah2(~leah@vuxu.org) (Ping timeout: 264 seconds)
2023-07-26 00:40:11 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-07-26 00:40:51 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
2023-07-26 00:42:06 +0200emid(~thales@191.180.21.148) (Ping timeout: 245 seconds)
2023-07-26 00:42:34 +0200leah2(~leah@vuxu.org)
2023-07-26 00:42:35 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds)
2023-07-26 00:44:26 +0200niko(niko@libera/staff/niko) (Ping timeout: 608 seconds)
2023-07-26 00:45:55 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 00:45:55 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 00:45:55 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 00:48:29 +0200gurkenglas(~gurkengla@dynamic-046-114-094-140.46.114.pool.telefonica.de)
2023-07-26 00:48:41 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-07-26 00:49:12 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2023-07-26 00:49:38 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 244 seconds)
2023-07-26 00:54:50 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
2023-07-26 00:56:32 +0200Helle(~helle@user/Helle) (Ping timeout: 252 seconds)
2023-07-26 00:58:25 +0200Helle(~helle@user/Helle)
2023-07-26 00:59:28 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds)
2023-07-26 00:59:55 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 00:59:55 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 00:59:55 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 01:04:23 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-07-26 01:11:38 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-07-26 01:14:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-07-26 01:15:32 +0200mncheck(~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
2023-07-26 01:27:28 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-07-26 01:29:04 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 01:29:24 +0200mauke_(~mauke@user/mauke)
2023-07-26 01:30:58 +0200mauke(~mauke@user/mauke) (Ping timeout: 244 seconds)
2023-07-26 01:30:58 +0200mauke_mauke
2023-07-26 01:32:37 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 01:32:37 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 01:32:37 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 01:33:30 +0200Lycurgus(~juan@user/Lycurgus)
2023-07-26 01:34:19 +0200gurkenglas(~gurkengla@dynamic-046-114-094-140.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
2023-07-26 01:38:09 +0200libertyprime(~libertypr@203.96.203.44)
2023-07-26 01:52:10 +0200niko(niko@libera/staff/niko)
2023-07-26 02:00:05 +0200jmdaemon(~jmdaemon@user/jmdaemon) (*.net *.split)
2023-07-26 02:00:05 +0200notzmv(~zmv@user/notzmv) (*.net *.split)
2023-07-26 02:00:05 +0200Qudit(~user@user/Qudit) (*.net *.split)
2023-07-26 02:00:05 +0200DigitalKiwi(~kiwi@2604:a880:400:d0::1ca0:e001) (*.net *.split)
2023-07-26 02:00:05 +0200_xor(~xor@ip-50-5-233-250.dynamic.fuse.net) (*.net *.split)
2023-07-26 02:00:05 +0200gentauro(~gentauro@user/gentauro) (*.net *.split)
2023-07-26 02:00:05 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (*.net *.split)
2023-07-26 02:00:05 +0200berberman(~berberman@user/berberman) (*.net *.split)
2023-07-26 02:00:05 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split)
2023-07-26 02:00:05 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (*.net *.split)
2023-07-26 02:00:05 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2) (*.net *.split)
2023-07-26 02:00:05 +0200tired-(~tired@user/tired) (*.net *.split)
2023-07-26 02:00:05 +0200jackdk(sid373013@cssa/jackdk) (*.net *.split)
2023-07-26 02:00:05 +0200swistak-(~swistak@185.21.216.141) (*.net *.split)
2023-07-26 02:00:05 +0200ringo___(~ringo@157.230.117.128) (*.net *.split)
2023-07-26 02:00:05 +0200krjt(~krjst@2604:a880:800:c1::16b:8001) (*.net *.split)
2023-07-26 02:00:05 +0200SoF(~skius@user/skius) (*.net *.split)
2023-07-26 02:00:05 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be) (*.net *.split)
2023-07-26 02:00:05 +0200[Reinhilde](ellenor@callbox.trd.is) (*.net *.split)
2023-07-26 02:00:05 +0200jinsl(~jinsl@2408:8207:2550:b730:211:32ff:fec8:6aea) (*.net *.split)
2023-07-26 02:00:05 +0200justache(~justache@user/justache) (*.net *.split)
2023-07-26 02:00:05 +0200dontdieych(~alarm@132.226.169.184) (*.net *.split)
2023-07-26 02:00:05 +0200andjjj23(~irc@107.170.228.47) (*.net *.split)
2023-07-26 02:00:05 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com) (*.net *.split)
2023-07-26 02:00:05 +0200joeyh(~joeyh@kitenet.net) (*.net *.split)
2023-07-26 02:00:05 +0200xelxebar(~xelxebar@wilsonb.com) (*.net *.split)
2023-07-26 02:00:05 +0200sphynx(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split)
2023-07-26 02:00:05 +0200gnyeki(~gnyeki@user/gnyeki) (*.net *.split)
2023-07-26 02:00:05 +0200andreas303(andreas303@is.drunk.and.ready-to.party) (*.net *.split)
2023-07-26 02:00:05 +0200edwtjo(~edwtjo@fsf/member/edwtjo) (*.net *.split)
2023-07-26 02:00:05 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com) (*.net *.split)
2023-07-26 02:00:05 +0200davetapley(sid666@id-666.uxbridge.irccloud.com) (*.net *.split)
2023-07-26 02:00:11 +0200gnyeki(~gnyeki@198.74.55.216)
2023-07-26 02:00:17 +0200sphynx(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288)
2023-07-26 02:00:19 +0200gentauro(~gentauro@cgn-cgn11-185-107-12-141.static.kviknet.net)
2023-07-26 02:00:23 +0200edwtjo(~edwtjo@h-155-4-52-185.A213.priv.bahnhof.se)
2023-07-26 02:00:26 +0200gnyeki(~gnyeki@198.74.55.216) (Changing host)
2023-07-26 02:00:26 +0200gnyeki(~gnyeki@user/gnyeki)
2023-07-26 02:00:29 +0200gentauro(~gentauro@cgn-cgn11-185-107-12-141.static.kviknet.net) (Changing host)
2023-07-26 02:00:29 +0200gentauro(~gentauro@user/gentauro)
2023-07-26 02:00:33 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com)
2023-07-26 02:00:44 +0200edwtjo(~edwtjo@h-155-4-52-185.A213.priv.bahnhof.se) (Changing host)
2023-07-26 02:00:44 +0200edwtjo(~edwtjo@fsf/member/edwtjo)
2023-07-26 02:00:49 +0200davetapley(sid666@id-666.uxbridge.irccloud.com)
2023-07-26 02:00:54 +0200jinsl(~jinsl@123.120.177.226)
2023-07-26 02:00:54 +0200jackdk(sid373013@tinside.irccloud.com)
2023-07-26 02:01:02 +0200NinjaTrappeur(~ninja@hardin.alternativebit.fr)
2023-07-26 02:01:03 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-07-26 02:01:06 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com)
2023-07-26 02:01:06 +0200Raito_Bezarius(~Raito@2001:470:ca5e:dee:f482:b4ff:fe18:2d7d)
2023-07-26 02:01:16 +0200joeyh(joeyh@2600:3c03::f03c:91ff:fe73:b0d2)
2023-07-26 02:01:17 +0200swistak(~swistak@185.21.216.141)
2023-07-26 02:01:23 +0200jackdk(sid373013@tinside.irccloud.com) (Changing host)
2023-07-26 02:01:23 +0200jackdk(sid373013@cssa/jackdk)
2023-07-26 02:01:48 +0200justache(~justache@user/justache)
2023-07-26 02:01:49 +0200justache(~justache@user/justache) (Max SendQ exceeded)
2023-07-26 02:01:53 +0200andreas303(andreas303@is.drunk.and.ready-to.party)
2023-07-26 02:01:54 +0200tired(~tired@user/tired)
2023-07-26 02:02:07 +0200jmd_(~jmdaemon@user/jmdaemon)
2023-07-26 02:02:14 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-07-26 02:02:15 +0200xelxebar(~xelxebar@wilsonb.com)
2023-07-26 02:02:22 +0200berberman(~berberman@user/berberman)
2023-07-26 02:02:22 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2)
2023-07-26 02:02:40 +0200DigitalKiwi(~kiwi@2604:a880:400:d0::1ca0:e001)
2023-07-26 02:02:59 +0200andjjj23(~irc@107.170.228.47)
2023-07-26 02:03:12 +0200krjt(~krjst@2604:a880:800:c1::16b:8001)
2023-07-26 02:03:13 +0200dontdieych(~alarm@132.226.169.184)
2023-07-26 02:03:16 +0200califax(~califax@user/califx)
2023-07-26 02:03:29 +0200ringo___(~ringo@157.230.117.128)
2023-07-26 02:06:35 +0200justache(~justache@user/justache)
2023-07-26 02:08:11 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-07-26 02:08:12 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au)
2023-07-26 02:09:53 +0200rainbyte(~rainbyte@181.31.239.226) (Remote host closed the connection)
2023-07-26 02:13:37 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2)
2023-07-26 02:17:30 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-07-26 02:17:51 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca)
2023-07-26 02:18:46 +0200Ranhir(~Ranhir@157.97.53.139) (Remote host closed the connection)
2023-07-26 02:21:26 +0200Ranhir(~Ranhir@157.97.53.139)
2023-07-26 02:24:57 +0200xff0x(~xff0x@2405:6580:b080:900:3abd:5e8:ff1e:4ed) (Ping timeout: 245 seconds)
2023-07-26 02:28:54 +0200Reinhilde(ellenor@callbox.trd.is)
2023-07-26 02:44:04 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-07-26 02:50:31 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2)
2023-07-26 02:50:46 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca)
2023-07-26 02:52:34 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds)
2023-07-26 02:54:49 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 03:00:07 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 03:00:07 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 03:00:07 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 03:04:44 +0200mixfix41(~sdeny9ee@user/mixfix41) (Remote host closed the connection)
2023-07-26 03:05:41 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-07-26 03:07:48 +0200razetime(~quassel@117.193.6.220)
2023-07-26 03:10:11 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2023-07-26 03:11:12 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-07-26 03:12:56 +0200jmd_(~jmdaemon@user/jmdaemon)
2023-07-26 03:17:20 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-07-26 03:18:43 +0200sgillespie(~sgillespi@c-76-106-206-194.hsd1.fl.comcast.net) (Quit: leaving)
2023-07-26 03:22:58 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-07-26 03:23:56 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-07-26 03:27:32 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-07-26 03:32:20 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-07-26 03:34:24 +0200phma(phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) (Read error: Connection reset by peer)
2023-07-26 03:34:52 +0200phma(phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd)
2023-07-26 03:36:43 +0200 <Axman6> Another day, another tale in the series "Axman6 writes Python and realises just how good we've got it in Haskell". Today's episode: Benchmarking. I just want Criterion, why haven't they just copied it like Rust did?
2023-07-26 03:39:23 +0200pandeyan(~pandeyan@23-93-120-164.fiber.dynamic.sonic.net) (Quit: ZNC 1.8.2 - https://znc.in)
2023-07-26 03:42:32 +0200ft(~ft@p3e9bc40d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-07-26 03:44:24 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com)
2023-07-26 03:44:34 +0200ft(~ft@p508dbe23.dip0.t-ipconnect.de)
2023-07-26 03:54:14 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7)
2023-07-26 03:58:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds)
2023-07-26 04:00:32 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2023-07-26 04:01:04 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2023-07-26 04:01:36 +0200 <lisbeths> https://is2.4chan.org/g/1690334536755665.jpg
2023-07-26 04:10:39 +0200yangby(~secret@115.220.174.193)
2023-07-26 04:13:07 +0200phma(phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) (Read error: Connection reset by peer)
2023-07-26 04:13:30 +0200phma(~phma@host-67-44-208-59.hnremote.net)
2023-07-26 04:14:32 +0200Lycurgus(~juan@user/Lycurgus)
2023-07-26 04:16:57 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-07-26 04:19:40 +0200td_(~td@i5387093B.versanet.de) (Ping timeout: 252 seconds)
2023-07-26 04:21:34 +0200td_(~td@i53870902.versanet.de)
2023-07-26 04:30:36 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-07-26 04:30:36 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-07-26 04:30:37 +0200finn_elijaFinnElija
2023-07-26 04:36:19 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 04:40:22 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 04:40:22 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 04:40:22 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 04:49:18 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-07-26 04:53:13 +0200 <segfaultfizzbuzz> python is a very difficult programming language
2023-07-26 04:53:50 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-07-26 04:55:50 +0200marea_(~francesco@151.43.93.5)
2023-07-26 04:59:04 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2023-07-26 05:09:06 +0200 <Nosrep> hot take of the day
2023-07-26 05:11:08 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-07-26 05:11:28 +0200 <jackdk> I agree with segfaultfizzbuzz . You have to understand how people might implement language runtimes under time pressure for python (particularly 2.x) to be truly predictable.
2023-07-26 05:12:34 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2023-07-26 05:12:55 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2023-07-26 05:15:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7)
2023-07-26 05:19:47 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-07-26 05:30:31 +0200aforemny(~aforemny@i59F516D9.versanet.de)
2023-07-26 05:31:11 +0200aforemny_(~aforemny@2001:9e8:6cef:e500:89ba:7d36:6a1c:a235) (Ping timeout: 264 seconds)
2023-07-26 05:31:43 +0200Angelz(Angelz@angelz.oddprotocol.org)
2023-07-26 05:33:11 +0200 <probie> I like how for loops in Python involve the exception handler
2023-07-26 05:34:20 +0200bilegeek(~bilegeek@2600:1008:b03d:d355:b59:5aff:2f93:e6ef) (Quit: Leaving)
2023-07-26 05:34:57 +0200phma(~phma@host-67-44-208-59.hnremote.net) (Read error: Connection reset by peer)
2023-07-26 05:35:02 +0200 <mauke> I like how Python claims "explicit is better than implicit", but doesn't let you declare variables
2023-07-26 05:35:22 +0200phma(phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd)
2023-07-26 05:36:24 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 05:38:31 +0200marea_(~francesco@151.43.93.5) (Remote host closed the connection)
2023-07-26 05:40:10 +0200danza(~francesco@151.43.93.5)
2023-07-26 05:41:17 +0200phma(phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) (Read error: Connection reset by peer)
2023-07-26 05:41:28 +0200 <glguy> They explicitly do not allow you to declare local variables [solved]
2023-07-26 05:41:40 +0200phma(phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd)
2023-07-26 05:41:58 +0200 <jackdk> I like how `import this` claims "There should be one-- and preferably only one --obvious way to do it" and then they have a zillion packaging systems
2023-07-26 05:43:15 +0200danza(~francesco@151.43.93.5) (Read error: Connection reset by peer)
2023-07-26 05:43:51 +0200danza(~francesco@151.43.81.154)
2023-07-26 05:44:42 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 05:44:42 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 05:44:42 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 05:47:08 +0200 <sm> ooh burn from jackdk
2023-07-26 05:47:23 +0200 <probie> jackdk: think more like a C programmer. Packaging is completely orthogonal to the language
2023-07-26 05:47:41 +0200 <jackdk> True.
2023-07-26 05:49:18 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds)
2023-07-26 05:50:01 +0200danza(~francesco@151.43.81.154) (Remote host closed the connection)
2023-07-26 05:50:44 +0200 <probie> At least Haskell only has 2.5
2023-07-26 05:51:10 +0200 <dolio> I wouldn't worry about that.
2023-07-26 05:51:34 +0200 <dolio> The thing you should take away is that that python 'philosophy' is just wrong, and not even they can escape it. :)
2023-07-26 05:51:51 +0200danza(~francesco@151.43.81.154)
2023-07-26 05:53:13 +0200danza(~francesco@151.43.81.154) (Remote host closed the connection)
2023-07-26 05:54:21 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 05:54:21 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 05:54:21 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 05:54:27 +0200danza(~francesco@151.43.81.154)
2023-07-26 05:57:48 +0200 <probie> That the python 'philosophy' is just wrong is a strong statement. At the end of the day, it's a tool, which mostly gets the job done. That said, I don't have faith in the current direction of the project (sneaking in a "security fix" as a patch version which limits the size of integer literals was too much for me)
2023-07-26 05:59:11 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
2023-07-26 06:01:55 +0200Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2023-07-26 06:02:45 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-07-26 06:03:58 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 06:03:58 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 06:03:58 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 06:04:13 +0200 <monochrom> Recall that Python began as a scripting language.
2023-07-26 06:04:49 +0200 <monochrom> Not surprising that its variable policy is basically the same as shells'.
2023-07-26 06:04:58 +0200ddellacosta(~ddellacos@146.70.165.154) (Ping timeout: 250 seconds)
2023-07-26 06:05:36 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-07-26 06:07:09 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-07-26 06:07:23 +0200razetime(~quassel@117.193.6.220) (Ping timeout: 244 seconds)
2023-07-26 06:08:21 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds)
2023-07-26 06:08:50 +0200 <glguy> "You are without doubt the worst pirate I've ever heard of!" - "But you have heard of me." ; I bet they aren't trash talking us over on #python
2023-07-26 06:10:40 +0200 <monochrom> I bet every programming channel is fond of trashing-talking any tutorial that uses fibonacci examples, no? :)
2023-07-26 06:10:42 +0200 <probie> That's because not enough of them have experience with Haskell. We need to perform more educational outreach so that more software developers have reasons to trash talk Haskell
2023-07-26 06:11:31 +0200 <monochrom> Even on our own discourse.haskell.org people call for stopping to use fibonacci.
2023-07-26 06:11:55 +0200 <monochrom> What everyone forgets that that the official Python tutorial uses it, too.
2023-07-26 06:12:02 +0200danza(~francesco@151.43.81.154) (Remote host closed the connection)
2023-07-26 06:12:29 +0200 <monochrom> @quote monochrom fibonacci
2023-07-26 06:12:29 +0200 <lambdabot> monochrom says: the fibonacci sequence is everywhere in nature, for example haskell tutorials and python tutorials
2023-07-26 06:12:51 +0200 <probie> I think we're pretty against fibonacci. After all, GHC has a benchmark suite called NoFib
2023-07-26 06:13:19 +0200danza(~francesco@151.43.81.154)
2023-07-26 06:13:48 +0200 <monochrom> ugh I need to trash-talk English prepositions. s/stopping to use/stopping using/
2023-07-26 06:17:34 +0200danza(~francesco@151.43.81.154) (Remote host closed the connection)
2023-07-26 06:18:20 +0200danza(~francesco@151.43.81.154)
2023-07-26 06:19:13 +0200 <jackdk> we only calculate factorials around here
2023-07-26 06:19:26 +0200danza(~francesco@151.43.81.154) (Remote host closed the connection)
2023-07-26 06:19:49 +0200 <monochrom> The fibonacci dispute is just a proxy dispute.
2023-07-26 06:20:26 +0200 <dolio> I mean specifically the, "there should be only one way to do anything," philosophy.
2023-07-26 06:20:30 +0200 <glguy> I prefer to sort lists badly
2023-07-26 06:21:06 +0200 <dolio> There is often no one way to do something that is the best for every situation.
2023-07-26 06:22:03 +0200 <monochrom> The real dispute is between teaching principles (so toy examples are better because focusing on getting the points across) and vocational training (so industrial examples are better because, pardon my biased opinion, enabling cargo culting).
2023-07-26 06:25:03 +0200hughjfchen(~hughjfche@104.208.72.114)
2023-07-26 06:27:43 +0200libertyprime(~libertypr@203.96.203.44) (Ping timeout: 258 seconds)
2023-07-26 06:30:49 +0200 <probie> So more tutorials of the form "build a boring crud app"?
2023-07-26 06:31:19 +0200 <probie> I have seen far too many todo lists
2023-07-26 06:31:30 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-07-26 06:31:41 +0200 <monochrom> Seriously, if on day one you already throw an industrial example of 1000 lines of code plus 100 lines of "project file" build-info metadata, you cannot honestly believe that you are promoting any understanding in any sense of that word. You're spamming students with code so the only possible outcome is that students get that they should just cargo-cult it all and not care.
2023-07-26 06:32:32 +0200 <monochrom> I mean, I totally do that to get my .procmailrc to do what I want.
2023-07-26 06:35:00 +0200 <probie> To this day, I am still in awe that my brother went through a university degree where the primary teaching language was java, got decent grades but finished unable to answer the question what does "public static void" mean?
2023-07-26 06:45:26 +0200 <mauke> <monochrom> Recall that Python began as a scripting language. <- that doesn't really explain why perl got this right
2023-07-26 06:45:49 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 06:46:24 +0200 <monochrom> But it explains why Perl got something else wrong. :)
2023-07-26 06:50:41 +0200razetime(~quassel@117.193.6.220)
2023-07-26 06:52:05 +0200 <arahael_> monochrom: Savage.
2023-07-26 06:52:30 +0200 <arahael_> Honestly, perl does get a lot right, the biggest issue with it really is that it's /different/ to what are now the mainstream languages.
2023-07-26 06:52:35 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 06:52:35 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 06:52:35 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 06:53:58 +0200_xor(~xor@ip-50-5-233-250.dynamic.fuse.net)
2023-07-26 06:53:58 +0200 <dolio> You're probably in the wrong channel for people to complain about programming languages just because they're not mainstream.
2023-07-26 06:57:31 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 07:00:05 +0200trev(~trev@user/trev)
2023-07-26 07:00:11 +0200 <monochrom> One bit of scripting language thinking that Perl still retains is reductionism on data structures, i.e., since records/structs can be reduced to hash table with string literals for keys, "let's not bother with an actual record system, just use hash tables when you want a record".
2023-07-26 07:01:02 +0200 <monochrom> And yes I also thinking of set theory as a scripting language because of that. "Just use {{x}, {x,y}} for tuples. Just use a set of those things for functions."
2023-07-26 07:02:20 +0200 <monochrom> To be fair you do get to remind me that at least Perl doesn't reduce all data to strings, unlike shell scripts.
2023-07-26 07:02:56 +0200hughjfchen(~hughjfche@104.208.72.114) (Ping timeout: 246 seconds)
2023-07-26 07:03:06 +0200 <arahael_> monochrom: Lets not contrast with Haskell, though? ;)
2023-07-26 07:03:09 +0200 <monochrom> But Perl seriously base an entire OO system on that emulation.
2023-07-26 07:03:21 +0200 <mauke> Perl is hardly unique in that
2023-07-26 07:03:25 +0200 <monochrom> I'm merely constrasting with Pascal. Or even just Algol.
2023-07-26 07:03:40 +0200 <mauke> (also, the OO system is orthogonal to hash tables)
2023-07-26 07:05:32 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 07:05:32 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 07:05:32 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 07:06:50 +0200razetime_(~quassel@117.254.34.82)
2023-07-26 07:06:52 +0200razetime(~quassel@117.193.6.220) (Ping timeout: 260 seconds)
2023-07-26 07:08:42 +0200 <monochrom> It's like the period of 1970-2010 is bascially most people creating languages not to build upon Algol, but to rebel against it. Everything that Algol did right, "let's not do that".
2023-07-26 07:08:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 07:09:09 +0200 <monochrom> But I guess that parallels atonal music rebelling against tonal music, and rap music rebelling against both.
2023-07-26 07:10:19 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 07:14:11 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 07:14:11 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 07:14:11 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 07:15:44 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-07-26 07:17:10 +0200danse-nr3(~francesco@151.43.81.154)
2023-07-26 07:17:55 +0200 <monochrom> OK I will compensate with "everything great about python". :) I'll name one I like, even though sadly python misses a golden opportunity there.
2023-07-26 07:18:30 +0200 <monochrom> So like I said the other day, python has "e1 if c else e2". It is like C's "c ? e1 : e2"
2023-07-26 07:18:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 07:19:07 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 07:19:19 +0200 <monochrom> It is also independently equivalent to Hoare's "e1 <| c |> e2", and I like its syntactic symmetry a lot.
2023-07-26 07:20:11 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-07-26 07:20:52 +0200 <monochrom> At this point you can start treating the middle "if c else" as a compound infix operator. If you consider it infixr, you can "e1 if c else e2 if d else e3". Python does that.
2023-07-26 07:21:19 +0200 <mauke> sweet, middle-endian control flow
2023-07-26 07:21:46 +0200 <monochrom> The missed opportunity though is that since c is protected by "if" and "else" on both sides, why can't c itself be also of the form "x if b else y". >:)
2023-07-26 07:22:45 +0200 <mauke> I see. it requires parens
2023-07-26 07:23:13 +0200 <monochrom> But it shouldn't! "if" and "else" already play the role of parens.
2023-07-26 07:23:48 +0200 <monochrom> The very same way Haskell's and shell script's "if c then" is already parenthesizing c.
2023-07-26 07:23:52 +0200 <mauke> perhaps they thought it would be too visually confusing? didn't keep them from doing it with list comprehensions, though
2023-07-26 07:24:14 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 07:24:14 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 07:24:14 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 07:24:54 +0200 <monochrom> Yes, Python philosophy (which we agree is wrong) does include "if the dictator thinks it's too confusing for his bird brain minions, ban it".
2023-07-26 07:25:42 +0200 <arahael_> mauke: Python already does the 'foo for bar in baz if foobar', though you can't put an 'else' there.
2023-07-26 07:25:55 +0200 <arahael_> monochrom: Guido left.
2023-07-26 07:26:19 +0200 <monochrom> Did the philosophy also leave?
2023-07-26 07:26:20 +0200 <arahael_> monochrom: And I think guiding a language like Guido did has much in it's favour, I wouldn't disparage his work like that.
2023-07-26 07:26:22 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-07-26 07:26:40 +0200 <mauke> kind of; python now has an assignment operator
2023-07-26 07:28:43 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-07-26 07:30:07 +0200yangby(~secret@115.220.174.193) (Ping timeout: 252 seconds)
2023-07-26 07:31:13 +0200 <mauke> [ e^2 for e in range(9) if e if (e > 4 if e % 2 else e < 7) ]
2023-07-26 07:31:52 +0200 <mauke> could be made more confusing by nesting things and using the 'in' operator
2023-07-26 07:32:05 +0200yangby(~secret@183.128.108.131)
2023-07-26 07:32:08 +0200 <mauke> but it's a good start
2023-07-26 07:33:50 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 07:34:33 +0200 <mauke> [ e in [1,2,3] if e > 2 else e in [0,1,2] for e in [2,3,4] if e < 4 if e in [3,2,1] ] # list "comprehension"
2023-07-26 07:34:35 +0200 <probie> arahael_: Is that legal? I thought it _required_ parens
2023-07-26 07:35:13 +0200 <probie> (or brackets or braces, to determine what kind of comprehension it is)
2023-07-26 07:36:51 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-07-26 07:37:01 +0200 <monochrom> hahaha bravo
2023-07-26 07:37:52 +0200razetime_(~quassel@117.254.34.82) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-07-26 07:38:07 +0200razetime(~quassel@117.254.34.82)
2023-07-26 07:38:21 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 07:39:09 +0200 <idgaen> while I slept #haskell became #python?
2023-07-26 07:39:51 +0200 <monochrom> Anyway http://www.cs.utoronto.ca/~trebla/CSCC24-2023-Summer/a3/cscc24-2023-5-a3.pdf is the parsing assignment I gave featuring my generalized if-else syntax. >:)
2023-07-26 07:40:26 +0200 <mauke> [ if e > 2 then e `elem` [1,2,3] else e `elem` [0,1,2] | e <- [2,3,4], e < 4, e `elem` [3,2,1] ] -- I think the Haskell version is much more readable because it uses more punctuation
2023-07-26 07:41:32 +0200 <mauke> monochrom: you're reserving words? coward :-)
2023-07-26 07:44:18 +0200ubert(~Thunderbi@77.119.204.87.wireless.dyn.drei.com) (Quit: ubert)
2023-07-26 07:45:43 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 07:45:43 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 07:45:43 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 07:50:59 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds)
2023-07-26 07:51:46 +0200dsrt^(~cd@24.125.210.85)
2023-07-26 07:53:09 +0200michalz(~michalz@185.246.207.218)
2023-07-26 07:57:12 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 07:57:12 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 07:57:12 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 07:59:08 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-07-26 08:02:14 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 08:02:38 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 08:02:38 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 08:02:38 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 08:05:19 +0200 <arahael_> probie: Kind of. You can do things like print(foo for foo in 'abc')
2023-07-26 08:05:34 +0200 <arahael_> probie: That'll be pretty pointless, though, because that's a generator expression.
2023-07-26 08:09:11 +0200CiaoSen(~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef)
2023-07-26 08:09:49 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 08:11:02 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 260 seconds)
2023-07-26 08:11:12 +0200mncheckm(~mncheck@193.224.205.254)
2023-07-26 08:11:23 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 244 seconds)
2023-07-26 08:13:16 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 08:13:41 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-07-26 08:13:54 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 260 seconds)
2023-07-26 08:14:18 +0200driib(~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds))
2023-07-26 08:14:49 +0200driib(~driib@vmi931078.contaboserver.net)
2023-07-26 08:15:28 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 08:15:28 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 08:15:28 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 08:16:25 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-07-26 08:19:56 +0200Guest5267(~finn@176-151-21-224.abo.bbox.fr)
2023-07-26 08:20:02 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
2023-07-26 08:23:09 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-07-26 08:24:53 +0200Lears(~Leary]@user/Leary/x-0910699) (Read error: Connection reset by peer)
2023-07-26 08:24:58 +0200[Leary](~Leary]@user/Leary/x-0910699)
2023-07-26 08:29:18 +0200libertyprime(~libertypr@203.96.203.44)
2023-07-26 08:30:20 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 08:30:21 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 08:30:21 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 08:33:31 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-07-26 08:35:02 +0200acidjnk(~acidjnk@p200300d6e7072f97b0b55b7471c26b47.dip0.t-ipconnect.de)
2023-07-26 08:39:11 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
2023-07-26 08:42:29 +0200ft(~ft@p508dbe23.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-07-26 08:44:07 +0200ft(~ft@p3e9bcc0e.dip0.t-ipconnect.de)
2023-07-26 08:44:28 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 08:44:28 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 08:44:28 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 08:49:47 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds)
2023-07-26 08:55:37 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Remote host closed the connection)
2023-07-26 08:56:01 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-07-26 08:56:27 +0200danse-nr3(~francesco@151.43.81.154) (Remote host closed the connection)
2023-07-26 08:56:45 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-07-26 08:56:50 +0200danse-nr3(~francesco@151.43.81.154)
2023-07-26 08:57:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 08:59:03 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 08:59:03 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 08:59:03 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 09:01:07 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-07-26 09:11:26 +0200fendor(~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932)
2023-07-26 09:12:31 +0200ByronJohnson(~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 245 seconds)
2023-07-26 09:14:27 +0200 <Guest5267> what's the difference between cabal repl and ghci in a non-cabal directory?
2023-07-26 09:15:56 +0200 <sclv> the latter uses the ambient global packagedb. the former uses a minimal package set and whatever you explicitly set with —build-depends (installing in the store as necessary)
2023-07-26 09:16:02 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 246 seconds)
2023-07-26 09:18:09 +0200 <Guest5267> dexit
2023-07-26 09:19:24 +0200ByronJohnson(~bairyn@50-250-232-19-static.hfc.comcastbusiness.net)
2023-07-26 09:19:40 +0200 <Guest5267> sclv: how to use a local env?
2023-07-26 09:19:49 +0200 <Guest5267> i have cabal install --env .
2023-07-26 09:19:56 +0200 <Guest5267> in a directory
2023-07-26 09:20:10 +0200 <sclv> ghci can take an env file argument
2023-07-26 09:20:39 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-07-26 09:21:39 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 244 seconds)
2023-07-26 09:30:04 +0200titibandit(~titibandi@user/titibandit)
2023-07-26 09:34:24 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 09:35:12 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Remote host closed the connection)
2023-07-26 09:37:33 +0200 <Guest5267> i have trouble understanding this piece of code: ("hello" :: T.Text) & ix 1 %%~ \_ -> ("aeiou" :: [Char])
2023-07-26 09:37:49 +0200 <Guest5267> how does %%~ work here on list
2023-07-26 09:38:37 +0200 <danse-nr3> hmm not sure where %%~ comes from. Do we have hoogle here?
2023-07-26 09:39:10 +0200 <danse-nr3> this one https://hackage.haskell.org/package/lens-5.2.2/docs/Control-Lens-Operators.html#v:-37--37--126- anyways
2023-07-26 09:39:10 +0200 <Guest5267> it's from Control.Lens.Lens
2023-07-26 09:39:54 +0200 <jade[m]> > When applied to a Lens, it can edit the target of the Lens in a structure, extracting a functorial result.
2023-07-26 09:39:55 +0200 <lambdabot> <hint>:1:23: error: parse error on input ‘,’
2023-07-26 09:40:03 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 09:40:04 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 09:40:04 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 09:41:48 +0200 <Guest5267> ix 1 picks 'e', then how %%~ will substitute it with aeiou and creates 5 strings?
2023-07-26 09:42:17 +0200mixfix41(~sdeny9ee@user/mixfix41)
2023-07-26 09:43:46 +0200danse-nr3(~francesco@151.43.81.154) (Read error: Connection reset by peer)
2023-07-26 09:43:51 +0200danse-nr3_(~francesco@151.43.89.251)
2023-07-26 09:44:03 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 09:44:13 +0200Guest25(~Guest25@host-82-135-30-3.customer.m-online.net)
2023-07-26 09:44:40 +0200 <jade[m]> think so
2023-07-26 09:44:59 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds)
2023-07-26 09:45:17 +0200 <danse-nr3_> % import Control.Lens.Operators
2023-07-26 09:45:17 +0200 <yahb2> <no location info>: error: ; Could not find module ‘Control.Lens.Operators’ ; It is not a module in the current program, or in any known package.
2023-07-26 09:45:42 +0200 <jackdk> (%%~) = id
2023-07-26 09:47:49 +0200 <jackdk> so `ix 1 :: (Ixed m, Num (Index m), Applicative f) => (IxValue m -> (f (IxValue m)) -> m -> f m`. So that's a `Traversal' m (IxValue m)`
2023-07-26 09:48:33 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 09:48:34 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 09:48:34 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 09:48:54 +0200 <jackdk> Specialise it to the types in play: `ix 1 :: Applicative f => (Char -> f Char) -> Text -> f Text` or `Traversal' Text Char`
2023-07-26 09:52:16 +0200 <Guest5267> i get the types conversion logic, but why it creates five strings
2023-07-26 09:52:29 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 260 seconds)
2023-07-26 09:55:40 +0200 <jackdk> Guest5267: This is an equivalent function to `ix 1` specialised to `Traversal' Text Char` https://www.irccloud.com/pastebin/v1X5RQb7/Ix1.hs
2023-07-26 09:56:28 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-07-26 09:56:35 +0200 <jackdk> In your example, the function you pass in returns a list of five characters, and then the reconstruction `hd : ch' : tl` is mapped across that list to produce the five results
2023-07-26 09:59:11 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
2023-07-26 10:00:44 +0200Guest25(~Guest25@host-82-135-30-3.customer.m-online.net) (Quit: Client closed)
2023-07-26 10:01:00 +0200__monty__(~toonn@user/toonn)
2023-07-26 10:03:06 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2023-07-26 10:04:44 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 260 seconds)
2023-07-26 10:06:36 +0200gehmehgeh(~user@user/gehmehgeh)
2023-07-26 10:07:56 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
2023-07-26 10:08:58 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-07-26 10:10:48 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-07-26 10:14:00 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 10:14:00 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 10:14:00 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 10:18:15 +0200chele(~chele@user/chele)
2023-07-26 10:19:19 +0200mixfix41(~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds)
2023-07-26 10:21:36 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-07-26 10:24:06 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-07-26 10:27:16 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds)
2023-07-26 10:31:35 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-07-26 10:33:49 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 10:33:49 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 10:33:49 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 10:33:50 +0200danse-nr3_danse-nr3
2023-07-26 10:34:58 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-07-26 10:35:41 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7)
2023-07-26 10:38:17 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
2023-07-26 10:40:19 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds)
2023-07-26 10:40:57 +0200ft(~ft@p3e9bcc0e.dip0.t-ipconnect.de) (Quit: leaving)
2023-07-26 10:40:59 +0200blueonyx(~blueonyx@user/blueonyx)
2023-07-26 10:41:03 +0200blueonyx(~blueonyx@user/blueonyx) (Client Quit)
2023-07-26 10:42:39 +0200Vq(~vq@90-227-195-9-no77.tbcn.telia.com) (Quit: Server maintenance)
2023-07-26 10:43:07 +0200aniketd(~aniketd@2405:201:d00b:116e:b89a:607:b54e:8ff7)
2023-07-26 10:44:01 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 10:44:01 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 10:44:01 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 10:44:14 +0200Guest5267(~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 246 seconds)
2023-07-26 11:02:23 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 11:02:34 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-07-26 11:03:04 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2023-07-26 11:06:56 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-07-26 11:06:56 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-07-26 11:06:56 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-07-26 11:12:02 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-54-65-92-160-21.dsl.bell.ca) (Ping timeout: 245 seconds)
2023-07-26 11:15:26 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-07-26 11:16:14 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Remote host closed the connection)
2023-07-26 11:16:57 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-07-26 11:18:38 +0200maerwald(~maerwald@user/maerwald) (Quit: gone)
2023-07-26 11:18:41 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2)
2023-07-26 11:19:49 +0200maerwald(~maerwald@mail.hasufell.de)
2023-07-26 11:21:47 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-07-26 11:23:40 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-07-26 11:23:54 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds)
2023-07-26 11:24:08 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer)
2023-07-26 11:24:26 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca)
2023-07-26 11:24:42 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-07-26 11:31:23 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-43-67-70-144-186.dsl.bell.ca)
2023-07-26 11:33:01 +0200alexherbo2(~alexherbo@2a02-8440-2140-dff9-10d8-0a93-97c2-a448.rev.sfr.net)
2023-07-26 11:41:59 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2023-07-26 11:42:12 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-07-26 11:43:30 +0200Lord_of_Life_Lord_of_Life
2023-07-26 11:45:26 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-07-26 11:47:49 +0200ripspin(~chatzilla@1.145.170.120)
2023-07-26 11:48:17 +0200gurkenglas(~gurkengla@dynamic-046-114-093-023.46.114.pool.telefonica.de)
2023-07-26 11:55:03 +0200ubert(~Thunderbi@91-114-199-188.adsl.highway.telekom.at)
2023-07-26 11:57:50 +0200anpad(~pandeyan@user/anpad)
2023-07-26 12:06:18 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2023-07-26 12:10:12 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-07-26 12:11:58 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 12:12:29 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
2023-07-26 12:15:57 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2)
2023-07-26 12:18:41 +0200perrierjouet(~perrierjo@modemcable048.127-56-74.mc.videotron.ca)
2023-07-26 12:18:54 +0200CiaoSen(~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef) (Ping timeout: 260 seconds)
2023-07-26 12:23:42 +0200alexherbo2(~alexherbo@2a02-8440-2140-dff9-10d8-0a93-97c2-a448.rev.sfr.net) (Remote host closed the connection)
2023-07-26 12:26:00 +0200 <sm> @where+ lemmy https://lemmy.world/search?q=haskell&type=Communities
2023-07-26 12:26:01 +0200 <lambdabot> Done.
2023-07-26 12:30:18 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au)
2023-07-26 12:30:34 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2023-07-26 12:34:05 +0200 <sm> @where kbin
2023-07-26 12:34:05 +0200 <lambdabot> https://kbin.social/m/haskell/newest
2023-07-26 12:35:23 +0200 <sm> cc'ing from #Haskell: currently there are 4 Haskell lemmys but kbin is the winner with 177 subscribers, vs https://lemmy.world/c/haskell (83, despite no posts) and https://lemmy.world/c/haskell@lemmy.ml (28)
2023-07-26 12:40:57 +0200 <danse-nr3> uh, is there an uppercase haskell channel?
2023-07-26 12:41:50 +0200 <arahael_> I think IRC chatrooms are case insensitive.
2023-07-26 12:42:17 +0200 <geekosaur> sm means the matrix room
2023-07-26 12:42:33 +0200 <danse-nr3> oh, cheers
2023-07-26 12:44:15 +0200 <sm> yup, just using shorthand for #haskell:matrix.org
2023-07-26 12:50:29 +0200 <carbolymer> I thought that we're bridged to matrix?
2023-07-26 12:50:44 +0200 <geekosaur> until the end of the month
2023-07-26 12:50:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 12:50:51 +0200 <geekosaur> but there's a separate matrix room
2023-07-26 12:51:33 +0200 <geekosaur> and a general agreement on both sides that they do not want portaling or plumbing between the teo
2023-07-26 12:51:36 +0200 <geekosaur> *two
2023-07-26 12:52:07 +0200 <carbolymer> by sides you mean libera and matrix?
2023-07-26 12:52:12 +0200 <geekosaur> yes
2023-07-26 12:52:32 +0200 <geekosaur> I am also reasonably certain that we're not plumbing a new room between the two sides either
2023-07-26 12:52:48 +0200 <carbolymer> is portalling a new name for puppetting bridges?
2023-07-26 12:53:07 +0200 <geekosaur> "portaling" and "plumbing" are two different bridging mechanisms
2023-07-26 12:53:27 +0200 <geekosaur> both are puppeting bridges though
2023-07-26 12:53:59 +0200 <geekosaur> https://matrix.org/blog/2023/07/make-sure-libera-bridge-keeps-working/
2023-07-26 12:55:32 +0200 <carbolymer> ah ok
2023-07-26 12:55:52 +0200 <geekosaur> (tl;dr: "portaling" acts as if libera's a different matrix instance, "plumbing" directly gateways a matrix room to an IRC channel)
2023-07-26 12:56:15 +0200 <carbolymer> on unrelated note: is -fprof-auto introducting overhead for runtime or compilation time?
2023-07-26 12:56:28 +0200 <geekosaur> both but mostly runtime
2023-07-26 12:56:33 +0200 <carbolymer> thx
2023-07-26 12:56:39 +0200 <geekosaur> take a look at -fprof-late in recent ghcs though
2023-07-26 12:56:57 +0200 <carbolymer> I thought so, but wasn't sure
2023-07-26 12:58:28 +0200 <sm> correction: #haskell:matrix.org is not bridged (plumbed) to #haskell on libera. (It used to be plumbed to #haskell on freenode I believe.) #haskell:libera.chat is the portalled view of #haskell on libera (for another few days)
2023-07-26 12:58:37 +0200ubert(~Thunderbi@91-114-199-188.adsl.highway.telekom.at) (Ping timeout: 260 seconds)
2023-07-26 12:59:38 +0200 <sm> tldr: we have #Haskell matrix room and #haskell libera channel and they're separate
2023-07-26 13:00:03 +0200 <sm> and both quite active
2023-07-26 13:06:10 +0200ripspin(~chatzilla@1.145.170.120) (Remote host closed the connection)
2023-07-26 13:09:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 13:11:33 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-07-26 13:11:49 +0200 <carbolymer> and there's discord, discourse, countless lemmy instances and reddit
2023-07-26 13:11:58 +0200 <carbolymer> I'm not sure if such fragmentation is a good thing
2023-07-26 13:13:09 +0200 <geekosaur> the question occurring to me is, how much of it predated the reddit incident? or the twitter (x?) incident?
2023-07-26 13:14:41 +0200 <geekosaur> (sadly I am pretty sure fragmentation is a thing in general)
2023-07-26 13:14:47 +0200 <int-e> . o O ( ex-Twitter )
2023-07-26 13:16:03 +0200 <geekosaur> as I commented elsewhere, the xkcd about standards generalizes
2023-07-26 13:16:11 +0200xff0x(~xff0x@2405:6580:b080:900:821d:6393:aa84:7d15)
2023-07-26 13:18:29 +0200komikat(~user@218.185.248.66)
2023-07-26 13:21:41 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds)
2023-07-26 13:23:39 +0200Guest5267(~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr)
2023-07-26 13:25:47 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds)
2023-07-26 13:30:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 13:31:35 +0200ubert(~Thunderbi@2001:871:263:db64:620f:62b9:b266:476)
2023-07-26 13:41:58 +0200aniketd(~aniketd@2405:201:d00b:116e:b89a:607:b54e:8ff7) (Quit: Client closed)
2023-07-26 13:43:52 +0200danse-nr3_(~francesco@151.43.11.3)
2023-07-26 13:43:55 +0200danse-nr3(~francesco@151.43.89.251) (Read error: Connection reset by peer)
2023-07-26 13:51:07 +0200Lycurgus(~juan@user/Lycurgus)
2023-07-26 13:57:24 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-07-26 13:59:49 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 260 seconds)
2023-07-26 13:59:49 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-07-26 14:00:34 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au)
2023-07-26 14:03:01 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
2023-07-26 14:05:16 +0200 <jade[m]> what's the time complexity of subsequences?
2023-07-26 14:05:51 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds)
2023-07-26 14:08:29 +0200natto(~natto@140.238.225.67) (Quit: a.)
2023-07-26 14:09:45 +0200 <int-e> take n . subsequences is O(n)
2023-07-26 14:10:13 +0200natto(~natto@140.238.225.67)
2023-07-26 14:10:18 +0200 <int-e> though looking at all the elements of the result will be O(n log(n))... there's sharing between them
2023-07-26 14:14:49 +0200bontaq(~user@ool-45779b84.dyn.optonline.net)
2023-07-26 14:15:57 +0200flounders(~flounders@24.246.133.1)
2023-07-26 14:27:17 +0200CiaoSen(~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef)
2023-07-26 14:32:01 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-07-26 14:34:29 +0200 <int-e> somethiung like https://int-e.eu/~bf3/tmp/subsequences.png
2023-07-26 14:34:54 +0200 <int-e> > subsequences [1..]
2023-07-26 14:34:55 +0200 <lambdabot> [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3],[4],[1,4],[2,4],[1,2,4],[3,4],[1,3...
2023-07-26 14:35:52 +0200 <int-e> (with the understanding that "2:" is a cons that points to the second element of the input list)
2023-07-26 14:36:03 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 14:36:19 +0200Feuermagier(~Feuermagi@user/feuermagier)
2023-07-26 14:36:46 +0200 <jade[m]> awesome, thank you very much
2023-07-26 14:38:04 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 14:39:08 +0200 <int-e> actually I think the arrows are prettier like this: https://int-e.eu/~bf3/tmp/subsequences2.png
2023-07-26 14:39:49 +0200 <int-e> in that they reflect how the list is built better
2023-07-26 14:40:04 +0200 <jade[m]> mhm
2023-07-26 14:40:14 +0200 <jade[m]> how did you create that graph?
2023-07-26 14:40:25 +0200 <int-e> sorry, I missed an arrow... updated the png
2023-07-26 14:40:29 +0200 <jade[m]> by hand, or do you have something like ghcivis I think it was called
2023-07-26 14:40:30 +0200 <int-e> I'm using xfig here
2023-07-26 14:40:45 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-07-26 14:40:58 +0200 <jade[m]> oki
2023-07-26 14:41:21 +0200 <int-e> because I had a particular way in mind in which I wanted to lay out the nodes.
2023-07-26 14:43:23 +0200 <jade[m]> jade[m]: fwiw https://hackage.haskell.org/package/ghc-vis
2023-07-26 14:43:26 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 3.7.1)
2023-07-26 14:43:35 +0200 <int-e> for example you can see that there are exavtly two cons cells per list entry.
2023-07-26 14:43:42 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2023-07-26 14:43:51 +0200 <int-e> I've heard of ghc-vis
2023-07-26 14:44:03 +0200dyniec(~dyniec@mail.dybiec.info) (Ping timeout: 244 seconds)
2023-07-26 14:44:19 +0200 <int-e> (except for the very first result, that is, the empty list)
2023-07-26 14:46:40 +0200dyniec(~dyniec@mail.dybiec.info)
2023-07-26 14:48:27 +0200aniketd(~aniketd@2405:201:d00b:116e:9de7:8d94:3db0:68dc)
2023-07-26 14:51:18 +0200dyniec(~dyniec@mail.dybiec.info) (Client Quit)
2023-07-26 14:52:56 +0200Lycurgus(~juan@user/Lycurgus)
2023-07-26 14:56:57 +0200barcisz(~barcisz@83.6.202.49.ipv4.supernova.orange.pl)
2023-07-26 14:58:59 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-07-26 15:01:50 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving)
2023-07-26 15:02:27 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 245 seconds)
2023-07-26 15:05:30 +0200ripspin(~chatzilla@1.145.147.149)
2023-07-26 15:07:57 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-07-26 15:14:02 +0200 <jade[m]> what force does the example for scanr in Data.List refer to and why would it be neccesary?
2023-07-26 15:14:08 +0200 <jade[m]> >>> force $ scanr (+) 0 [1..]
2023-07-26 15:14:08 +0200 <jade[m]> *** Exception: stack overflow
2023-07-26 15:16:14 +0200danse-nr3_(~francesco@151.43.11.3) (Ping timeout: 260 seconds)
2023-07-26 15:18:25 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-07-26 15:19:53 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-07-26 15:19:56 +0200 <ncf> any function that forces a list, like length
2023-07-26 15:22:00 +0200 <ncf> well i guess forcing the first element is enough, since this is a right fold
2023-07-26 15:23:14 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-07-26 15:24:27 +0200flounders(~flounders@24.246.133.1) (Ping timeout: 260 seconds)
2023-07-26 15:25:16 +0200emid(~thales@191.180.21.148)
2023-07-26 15:26:57 +0200danse-nr3_(~francesco@151.43.11.3)
2023-07-26 15:27:11 +0200 <jade[m]> yeah, I was confused because in the context of a repl where the result is forced anyway as a result of printing this really shouldn't matter, right?
2023-07-26 15:37:44 +0200seeg45(~seeg@83.5.105.10.ipv4.supernova.orange.pl)
2023-07-26 15:40:11 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7)
2023-07-26 15:41:24 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 4.0.1)
2023-07-26 15:42:47 +0200ubert(~Thunderbi@2001:871:263:db64:620f:62b9:b266:476) (Ping timeout: 258 seconds)
2023-07-26 15:44:49 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds)
2023-07-26 15:47:31 +0200qqq(~qqq@92.43.167.61)
2023-07-26 15:52:26 +0200ubert(~Thunderbi@2001:871:263:db64:fa4c:fe7d:466e:4ec0)
2023-07-26 15:58:27 +0200CiaoSen(~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef) (Ping timeout: 244 seconds)
2023-07-26 16:00:00 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds)
2023-07-26 16:01:37 +0200razetime(~quassel@117.254.34.82) (Remote host closed the connection)
2023-07-26 16:06:44 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-07-26 16:10:24 +0200seeg45(~seeg@83.5.105.10.ipv4.supernova.orange.pl) (Quit: Client closed)
2023-07-26 16:14:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 16:26:14 +0200mikoto-chan(~mikoto-ch@dsl-hkibng11-50dcaf-150.dhcp.inet.fi)
2023-07-26 16:28:08 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-07-26 16:38:47 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-07-26 16:40:17 +0200libertyprime(~libertypr@203.96.203.44) (Ping timeout: 260 seconds)
2023-07-26 16:44:18 +0200ddellacosta(~ddellacos@143.244.47.100)
2023-07-26 16:49:46 +0200califax(~califax@user/califx)
2023-07-26 16:51:21 +0200Guest5267(~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
2023-07-26 16:56:31 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-07-26 17:00:26 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-07-26 17:00:31 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be) (Client Quit)
2023-07-26 17:00:49 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-07-26 17:01:49 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f)
2023-07-26 17:03:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 17:04:24 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be) (Client Quit)
2023-07-26 17:04:51 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-07-26 17:05:03 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be) (Client Quit)
2023-07-26 17:05:19 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-07-26 17:06:09 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Client Quit)
2023-07-26 17:06:24 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f)
2023-07-26 17:13:35 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-07-26 17:14:55 +0200mikoto-chan(~mikoto-ch@dsl-hkibng11-50dcaf-150.dhcp.inet.fi) (Quit: WeeChat 3.8)
2023-07-26 17:18:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 17:18:32 +0200darchitect(~darchitec@2a00:23c6:3584:df01:ace3:21db:4a0c:96b1)
2023-07-26 17:19:15 +0200 <ncf> > fail "foo" :: [()]
2023-07-26 17:19:16 +0200 <lambdabot> []
2023-07-26 17:19:21 +0200 <ncf> i just got owned by this
2023-07-26 17:19:45 +0200 <darchitect> hey guys - how would describe the difference and relations between type theory and category theory to an enthusiastic non-mathematician (prorammer)
2023-07-26 17:19:52 +0200 <darchitect> hey guys - how would describe the difference and relations between type theory and category theory to an enthusiastic non-mathematician (prgorammer)
2023-07-26 17:20:03 +0200 <darchitect> hey guys - how would describe the difference and relations between type theory and category theory to an enthusiastic non-mathematician (programmer)
2023-07-26 17:20:19 +0200seeg42(~seeg@83.5.105.10.ipv4.supernova.orange.pl)
2023-07-26 17:20:23 +0200 <darchitect> (sorry for the repeats) ?
2023-07-26 17:20:37 +0200 <dolio> You don't have to correct your spelling.
2023-07-26 17:20:40 +0200fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-07-26 17:20:56 +0200seeg42(~seeg@83.5.105.10.ipv4.supernova.orange.pl) (Client Quit)
2023-07-26 17:21:05 +0200 <dolio> Definitely not by repeating the entire message.
2023-07-26 17:21:24 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-07-26 17:21:26 +0200 <darchitect> sorry I am new to irc, how do I edit a msg ?
2023-07-26 17:21:53 +0200 <geekosaur> you don't, generally. but you also don't just blast a message back out with a 2-character change. we can deal with typos
2023-07-26 17:22:13 +0200 <geekosaur> if you really must, I'd just have done `*programmer`
2023-07-26 17:22:54 +0200 <darchitect> true that ... too much chatgpt I guess..
2023-07-26 17:23:19 +0200califax(~califax@user/califx)
2023-07-26 17:23:38 +0200 <ncf> i would simply send them https://ncatlab.org/nlab/show/relation+between+type+theory+and+category+theory
2023-07-26 17:23:49 +0200 <ncf> (half-joking)
2023-07-26 17:24:24 +0200 <jade[m]> the docs for `union` mention that
2023-07-26 17:24:24 +0200 <jade[m]> > 'union' is productive even if both arguments are infinite.
2023-07-26 17:24:24 +0200 <jade[m]> what is considered as "productive" here, as union of two infinite lists would really just yield the first one by itself
2023-07-26 17:24:25 +0200 <lambdabot> <hint>:1:59: error:
2023-07-26 17:24:25 +0200 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2023-07-26 17:25:34 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au)
2023-07-26 17:26:04 +0200 <ncf> productive in the sense that it does not get stuck
2023-07-26 17:26:11 +0200 <geekosaur> "productive" in Haskell generally means "can produce results without traversing all parameters", i.e. produces results lazily
2023-07-26 17:26:22 +0200 <jade[m]> got it, thanks
2023-07-26 17:28:40 +0200 <geekosaur> darchitect, can't speak directly to the general case but I will note that Haskell types almost form a category (`undefined` being an inhabitant of all types breaks this, but there are generalizations of categories that support it)
2023-07-26 17:29:41 +0200 <darchitect> do you guys know other groups for functional programming apart from this one ? (I tried with ocaml, but there are funilly enough only 10 users in there)
2023-07-26 17:30:43 +0200 <ncf> there are 154 users in #ocaml
2023-07-26 17:31:27 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2023-07-26 17:32:30 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-07-26 17:32:31 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds)
2023-07-26 17:32:42 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-07-26 17:32:52 +0200 <darchitect> ncf: wtf, I swear when I checked yesterday it had only about 10
2023-07-26 17:32:56 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-07-26 17:33:07 +0200 <ncf> typed one # too many?
2023-07-26 17:33:12 +0200 <darchitect> probably haha
2023-07-26 17:33:57 +0200 <dolio> It's not undefined that is a problem. The problem is certain operations to 'detect' it.
2023-07-26 17:35:48 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 17:36:04 +0200 <dolio> Or not preserving it in exactly the way the category axioms would require.
2023-07-26 17:37:37 +0200 <dolio> Like, you can tell the difference between undefined and `const undefined`, and (lazy) composition with the identify function gives `const undefined`, so the identity function is not exactly a unit.
2023-07-26 17:39:02 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au)
2023-07-26 17:39:50 +0200 <dolio> Many categories have 'an inhabitant of every object' without a problem.
2023-07-26 17:43:21 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds)
2023-07-26 17:43:59 +0200danse-nr3__(~francesco@151.43.64.30)
2023-07-26 17:44:05 +0200danse-nr3_(~francesco@151.43.11.3) (Read error: Connection reset by peer)
2023-07-26 17:44:10 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-07-26 17:45:45 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7)
2023-07-26 17:47:46 +0200 <darchitect> does this make Haskell less "rigorous" than OCaml like Rob Harper says ?
2023-07-26 17:50:59 +0200 <c_wraith> in general, assume zero things Robert Harper says that sound like judgments of Haskell to be true.
2023-07-26 17:51:21 +0200 <c_wraith> His technical remarks about Haskell? They're probably true, at least when he made them.
2023-07-26 17:51:54 +0200 <c_wraith> (the "exceptionally unsafe" thing hasn't been true for many years now, for instance)
2023-07-26 17:52:34 +0200 <c_wraith> But anything that ends with "this is why SML is better" probably has no truth value
2023-07-26 17:53:15 +0200 <darchitect> right
2023-07-26 17:53:28 +0200foul_owl(~kerry@157.97.134.168) (Ping timeout: 250 seconds)
2023-07-26 17:53:59 +0200 <darchitect> what about the lazy by default vs lazy on demand thing ?
2023-07-26 17:54:59 +0200 <c_wraith> that one gets a lot of arguments by a lot of people. My position basically comes down to "programmers won't do a thing unless forced to", meaning lazy on demand is identical to strict.
2023-07-26 17:55:09 +0200barcisz(~barcisz@83.6.202.49.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-07-26 17:56:17 +0200 <ncf> too lazy to be lazy
2023-07-26 17:57:32 +0200 <c_wraith> and back when containers was going through its big laziness debate, it broke my code several times because I was using laziness in ways the authors didn't anticipate when they said "this API can always be strict without breaking anything"
2023-07-26 17:58:20 +0200 <c_wraith> So my opinion of our ability to anticipate how others will use our code is... quite low.
2023-07-26 17:58:33 +0200 <c_wraith> So you should probably default to permissive, instead of having to opt in
2023-07-26 17:58:56 +0200 <darchitect> permissive ?
2023-07-26 17:59:57 +0200 <c_wraith> You can't un-strict an existing function without rewriting it. In many cases you can add strictness without rewriting.
2023-07-26 18:00:06 +0200 <sm> darchitect: https://haskell.foundation/podcast/30/ is a wonderful recent podcast discussing category theory you might enjoy
2023-07-26 18:00:41 +0200 <c_wraith> There are some cases where you can't add strictness without rewriting. For those cases, you should really just offer both versions
2023-07-26 18:02:00 +0200 <darchitect> can you turn strictness on by default in Haskell ?
2023-07-26 18:02:25 +0200 <darchitect> I really love the syntax but I am bit scared the compiler is doing all those things to my code making it harder to reason about perf
2023-07-26 18:02:33 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-07-26 18:04:45 +0200 <c_wraith> eh. Not really. There are things like -XStrict, but they're the equivalent of inserting calls to seq at a few clearly-specified locations. Still lots of ways to generate space leaks.
2023-07-26 18:05:45 +0200 <dolio> If Harper used that as an example of Haskell not being "rigorous," it would be very hypocritical, since the reasons behind those things have to do with allowing people to specify the operational behavior they want. And Harper frequently champions operational semantics over denotational ('meaning').
2023-07-26 18:06:14 +0200 <dolio> There's nothing inherently rigorous about some structure forming a category or not.
2023-07-26 18:06:30 +0200 <darchitect> does OCaml form a cateogry ?
2023-07-26 18:06:52 +0200 <darchitect> also do you mind elaborating the difference between operational and denotational (for a dummy)
2023-07-26 18:07:09 +0200aniketd(~aniketd@2405:201:d00b:116e:9de7:8d94:3db0:68dc) (Quit: Client closed)
2023-07-26 18:07:19 +0200 <dolio> I don't know. Thinking about OCaml is generally more complicated for things like this.
2023-07-26 18:07:29 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
2023-07-26 18:07:40 +0200foul_owl(~kerry@185.219.141.162)
2023-07-26 18:08:00 +0200byte`(~byte@user/byte)
2023-07-26 18:08:02 +0200byte(~byte@user/byte) (Ping timeout: 246 seconds)
2023-07-26 18:08:03 +0200 <darchitect> what makes it more complicated ? is it because it's less expressive than Haskel or .. ?
2023-07-26 18:08:06 +0200byte`byte
2023-07-26 18:08:22 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2023-07-26 18:08:47 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2)
2023-07-26 18:08:54 +0200gurkenglas(~gurkengla@dynamic-046-114-093-023.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
2023-07-26 18:09:09 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f)
2023-07-26 18:10:27 +0200 <dolio> No, because eagerness means you have two different classes of things that could be 'members of a type' that don't agree. There are values and expressions.
2023-07-26 18:11:15 +0200 <darchitect> doesn't expression evaluate down to values ?
2023-07-26 18:11:22 +0200 <dolio> Infinite loops don't.
2023-07-26 18:11:24 +0200 <darchitect> well either that or they diverge
2023-07-26 18:11:26 +0200 <darchitect> yeah
2023-07-26 18:11:36 +0200notzmv(~zmv@user/notzmv)
2023-07-26 18:11:40 +0200 <c_wraith> Hey, that's what I always thought of as the big strength of laziness. Expressions aren't privileged with more possible results.
2023-07-26 18:12:35 +0200 <darchitect> what do you mean privileged with more results ?
2023-07-26 18:12:46 +0200 <darchitect> we still have expresssions and values in Haskell right ?
2023-07-26 18:12:50 +0200 <c_wraith> maybe "cursed" would be more accurate. :)
2023-07-26 18:12:55 +0200 <darchitect> and we still have infinite loops ?
2023-07-26 18:12:57 +0200 <c_wraith> I mean expressions can be bottoms.
2023-07-26 18:13:04 +0200 <c_wraith> And so can values.
2023-07-26 18:13:07 +0200 <c_wraith> No difference
2023-07-26 18:13:14 +0200 <darchitect> right
2023-07-26 18:13:23 +0200 <darchitect> but what does it mean for an expression to be a bottom
2023-07-26 18:13:34 +0200 <darchitect> that it will be "evaluated at some later stage" ?
2023-07-26 18:13:43 +0200 <c_wraith> The same thing you said above - evaluation diverges.
2023-07-26 18:13:49 +0200 <c_wraith> The term "bottom" comes from domain theory
2023-07-26 18:14:09 +0200 <c_wraith> It's the "least defined" value, in some sort of lattice of defined-ness
2023-07-26 18:14:34 +0200 <c_wraith> Domain theory is all about making my vagueness there precise. :)
2023-07-26 18:14:38 +0200 <darchitect> I guess I am a bit new to all this so I am still a bit confused about how having this is different between OCaml and Haskell
2023-07-26 18:14:59 +0200ubert(~Thunderbi@2001:871:263:db64:fa4c:fe7d:466e:4ec0) (Ping timeout: 264 seconds)
2023-07-26 18:15:03 +0200 <darchitect> from what I understand both languages do not form a category ? (i.e. are not "rigorous" as mentioned above)
2023-07-26 18:15:52 +0200 <darchitect> does having a language form a complete category mean there is no infinite loops ?
2023-07-26 18:16:01 +0200 <dolio> No.
2023-07-26 18:16:12 +0200 <darchitect> there are no languages without infinite loops right ?
2023-07-26 18:16:20 +0200 <dolio> Yeah.
2023-07-26 18:17:01 +0200 <darchitect> so there is no languages that form a category ?
2023-07-26 18:17:06 +0200 <darchitect> are *
2023-07-26 18:18:13 +0200 <dolio> Haskell types and functions technically not forming a category is a technical detail that does not materially affect the usefulness of imaginging it actually is a category, because most of the time people don't care about the differences between things that make it technically fail the rules.
2023-07-26 18:18:29 +0200junction(~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net)
2023-07-26 18:18:47 +0200 <darchitect> is the same true for OCaml then ?
2023-07-26 18:19:16 +0200 <dolio> Assuming it technically isn't one. I don't actually know where the 'naive' thing works in OCaml.
2023-07-26 18:19:19 +0200glguy(~glguy@libera/staff-emeritus/glguy) (Quit: Quit)
2023-07-26 18:19:39 +0200 <darchitect> the 'naive' thing ?
2023-07-26 18:19:39 +0200 <dolio> Whether it works, even.
2023-07-26 18:19:58 +0200 <dolio> Trying to use types as objects and OCaml functions as arrows.
2023-07-26 18:20:06 +0200 <darchitect> oh right
2023-07-26 18:20:35 +0200 <dolio> When you really dig into things, that is not how people really talk about type theories and stuff categorically.
2023-07-26 18:20:50 +0200 <dolio> They talk about contexts and expressions and substitution and such.
2023-07-26 18:21:11 +0200glguy(~glguy@libera/staff-emeritus/glguy)
2023-07-26 18:21:25 +0200 <darchitect> (y)
2023-07-26 18:22:08 +0200 <junction> I'm learning Haskell and I've been using the Effectful framework for some projects. I've found it helpful and I'm wondering how to integrate it into one of the lightweight WAI frameworks like Twain (https://github.com/alexmingoia/twain/tree/main). Has anyone done this? Twain has a `ResponderM` monad and I'm thinking of a `Responder` Effect instead.
2023-07-26 18:22:30 +0200 <darchitect> dolio: thanks for taking the time !
2023-07-26 18:22:52 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-07-26 18:23:56 +0200 <dolio> No problem.
2023-07-26 18:27:24 +0200 <ncf> darchitect: proof assistants and other languages based on dependent type theories are usually expected to have semantics in certain "nice" categories (or topoi)
2023-07-26 18:28:12 +0200 <ncf> (e.g. agda)
2023-07-26 18:28:38 +0200vulpine(xfnw@tilde.team) (Quit: Connection reset by purr)
2023-07-26 18:29:08 +0200bontaq(~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection)
2023-07-26 18:30:23 +0200vulpine(xfnw@tilde.team)
2023-07-26 18:30:52 +0200danse-nr3__(~francesco@151.43.64.30) (Ping timeout: 240 seconds)
2023-07-26 18:42:08 +0200Guest5267(~finn@176-151-21-224.abo.bbox.fr)
2023-07-26 18:44:03 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-07-26 18:45:17 +0200npmania(~Thunderbi@45.8.223.228) (Quit: npmania)
2023-07-26 18:45:53 +0200gurkenglas(~gurkengla@dynamic-046-114-093-023.46.114.pool.telefonica.de)
2023-07-26 18:46:55 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-07-26 18:56:23 +0200 <dolio> Yeah, they are generally much better behaved than either Haskell or OCaml.
2023-07-26 18:56:48 +0200billchenchina(~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a)
2023-07-26 19:01:15 +0200 <dolio> If you want a taste of the complications that would arise from OCaml, consider that functions act a bit oddly there. You can take the object T to mean 'the values with type T,' but then functions T -> U do not necessarily take values of T to values of U, because they can diverge. So it's actually more like a mapping from values of T to expressions of U (or something more like the Haskell version of 'value').
2023-07-26 19:02:20 +0200junction(~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net) (Quit: Client closed)
2023-07-26 19:02:33 +0200 <dolio> But then the category approach to 'elements' is to say they're equivalent to a map `() -> T`. So a categorical "global element" is not necessarily a value.
2023-07-26 19:02:40 +0200ripspin(~chatzilla@1.145.147.149) (Remote host closed the connection)
2023-07-26 19:10:38 +0200junction(~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net)
2023-07-26 19:10:44 +0200junction(~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net) (Client Quit)
2023-07-26 19:12:24 +0200 <dolio> And this is before even thinking about side effects.
2023-07-26 19:12:56 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2023-07-26 19:14:11 +0200 <dolio> At least, side effects other than non-termination. In some sense, divergence is more like a side effect in OCaml than Haskell.
2023-07-26 19:14:57 +0200 <dolio> Because we have excluded divergence from the meaning of every object/type.
2023-07-26 19:19:57 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-07-26 19:21:21 +0200Alex_test(~al_test@178.34.162.202) (Quit: ;-)
2023-07-26 19:21:40 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 19:24:18 +0200AlexZenon(~alzenon@178.34.162.202) (Quit: ;-)
2023-07-26 19:24:46 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-07-26 19:29:34 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 19:35:23 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
2023-07-26 19:35:40 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-07-26 19:42:31 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds)
2023-07-26 19:44:35 +0200AlexZenon(~alzenon@178.34.162.202)
2023-07-26 19:45:23 +0200Alex_test(~al_test@178.34.162.202)
2023-07-26 19:45:32 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 19:50:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 19:50:30 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-07-26 20:00:57 +0200reach(~reach@142.198.51.47)
2023-07-26 20:01:32 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 260 seconds)
2023-07-26 20:07:48 +0200ubert(~Thunderbi@77.119.196.161.wireless.dyn.drei.com)
2023-07-26 20:08:11 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 20:09:34 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2)
2023-07-26 20:09:48 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f)
2023-07-26 20:10:26 +0200Vq(~vq@90-227-195-9-no77.tbcn.telia.com)
2023-07-26 20:15:29 +0200fendor(~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) (Remote host closed the connection)
2023-07-26 20:17:07 +0200reach_(~reach@2605:8d80:680:8add:4838:d31c:befe:b530)
2023-07-26 20:18:41 +0200reach__(~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca)
2023-07-26 20:18:42 +0200reach_(~reach@2605:8d80:680:8add:4838:d31c:befe:b530) (Read error: Connection reset by peer)
2023-07-26 20:20:46 +0200reach(~reach@142.198.51.47) (Ping timeout: 260 seconds)
2023-07-26 20:21:01 +0200thelounge793(~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) (Quit: Ping timeout (120 seconds))
2023-07-26 20:21:19 +0200thelounge793(~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3)
2023-07-26 20:23:23 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds)
2023-07-26 20:29:04 +0200 <mauke> monochrom: "Note that line 6 means that the operands of * and / are unary." <- seems to be both wrong and incorrect
2023-07-26 20:29:59 +0200reach__(~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 264 seconds)
2023-07-26 20:31:18 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-07-26 20:33:09 +0200 <mauke> monochrom: the parens are redundant in b ? x : (c ? y : z)
2023-07-26 20:33:37 +0200Guest5267(~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 260 seconds)
2023-07-26 20:34:05 +0200 <glguy> mauke: I took the first comment to me than given an expression of the form: _ * _ + _ * _ * ... all the _ atoms were the unary non-terminal
2023-07-26 20:34:11 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-07-26 20:34:30 +0200hugo(znc@verdigris.lysator.liu.se)
2023-07-26 20:34:31 +0200 <glguy> and the explicit parentheses were to make it easy to read to understand how the stuff associated
2023-07-26 20:35:05 +0200 <mauke> glguy: yeah, but that's line 5
2023-07-26 20:35:41 +0200 <glguy> Hmm, I see. I guess we're forced to take off some marks on this one
2023-07-26 20:37:58 +0200 <mauke> that's the "wrong" part
2023-07-26 20:38:59 +0200 <mauke> (the "incorrect" part is that the preceding table says * / are left-associative, so in 'a * b * c' one of the operands of the second * is 'a * b', which is not 'unary')
2023-07-26 20:40:00 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-07-26 20:45:22 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 245 seconds)
2023-07-26 20:53:23 +0200trev(~trev@user/trev) (Quit: trev)
2023-07-26 20:55:08 +0200eggplant_(~Eggplanta@2600:1700:38c5:d800:3401:66dc:a02a:a620)
2023-07-26 20:58:39 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds)
2023-07-26 21:04:38 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-07-26 21:06:33 +0200ft(~ft@p3e9bcc0e.dip0.t-ipconnect.de)
2023-07-26 21:07:37 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving)
2023-07-26 21:11:13 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-07-26 21:14:32 +0200reach__(~reach@2605:8d80:682:da7f:c87a:f6f2:aa93:d6e0)
2023-07-26 21:17:43 +0200hugo-(znc@verdigris.lysator.liu.se)
2023-07-26 21:25:50 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-07-26 21:26:54 +0200 <monochrom> It means that you're supposed to write chainl1 (operator "*" *> pure (:*:) <|> operator "/" *> pure (:/:)) unary
2023-07-26 21:27:19 +0200 <monochrom> My wording is correct in the context of my course.
2023-07-26 21:28:08 +0200 <monochrom> redundant parens are for students who aren't familiar with this corner of C syntax
2023-07-26 21:29:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 21:30:45 +0200Guest5267(~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr)
2023-07-26 21:36:32 +0200reach_(~reach@142.198.51.47)
2023-07-26 21:36:32 +0200reach__(~reach@2605:8d80:682:da7f:c87a:f6f2:aa93:d6e0) (Read error: Connection reset by peer)
2023-07-26 21:43:52 +0200reach_(~reach@142.198.51.47) (Ping timeout: 240 seconds)
2023-07-26 21:45:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 21:47:45 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2)
2023-07-26 21:48:05 +0200nattiestnate(~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f)
2023-07-26 21:59:49 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-07-26 22:00:29 +0200yuuta(~YuutaW@mail.yuuta.moe) (Ping timeout: 260 seconds)
2023-07-26 22:00:46 +0200 <jade[m]> int-e some basic tests make me doubt that subsequences is `O(n logn)`
2023-07-26 22:01:23 +0200 <jade[m]> the result consists of 2^n elements, so that would be the cost of looking at all?
2023-07-26 22:01:39 +0200jade[m]sent a code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/7988b33893bf6fd595c9a4992008228f5c14…
2023-07-26 22:02:05 +0200 <int-e> jade[m]: those 2^n elements are lists of average length n/2.
2023-07-26 22:02:06 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving)
2023-07-26 22:02:21 +0200YuutaW(~YuutaW@mail.yuuta.moe)
2023-07-26 22:02:57 +0200 <int-e> jade[m]: That doesn't change the fact that *producing* the list takes only k*2^n operations though, thanks to all shared tails.
2023-07-26 22:03:10 +0200 <int-e> For some constant k
2023-07-26 22:03:28 +0200 <jade[m]> okay yeah that makes sense
2023-07-26 22:04:00 +0200 <ncf> but 2^n isn't O(n log n)
2023-07-26 22:04:07 +0200 <int-e> it's a different n
2023-07-26 22:04:12 +0200 <ncf> oh
2023-07-26 22:04:46 +0200 <jade[m]> okay, asked differently - what would be the sensible thing to put in the docs for subsequences?
2023-07-26 22:06:14 +0200reach_(~reach@2605:8d80:681:90e7:f13b:3acf:b234:3b1e)
2023-07-26 22:07:27 +0200 <int-e> Well it's a question of attribution.
2023-07-26 22:08:01 +0200 <int-e> I'd attribute O(n) time to `take n . subsequences`, even though the unfolded result is O(n log(n)) in size.
2023-07-26 22:08:23 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds)
2023-07-26 22:08:34 +0200 <int-e> (assuming the input list is longer than log_2(n))
2023-07-26 22:09:14 +0200 <darchitect> hey guys, are there toools to measure the time complexity of a given function in Haskell ?
2023-07-26 22:11:14 +0200 <int-e> jade[m]: for documentation... it seems best to mention both?
2023-07-26 22:12:38 +0200 <jade[m]> sounds about right, thank you
2023-07-26 22:17:25 +0200reach__(~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca)
2023-07-26 22:17:25 +0200reach_(~reach@2605:8d80:681:90e7:f13b:3acf:b234:3b1e) (Read error: Connection reset by peer)
2023-07-26 22:18:54 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-07-26 22:20:54 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
2023-07-26 22:20:59 +0200kilolympus(~kilolympu@cpc105064-sgyl40-2-0-cust46.18-2.cable.virginm.net) (Read error: Connection reset by peer)
2023-07-26 22:21:37 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
2023-07-26 22:23:22 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-07-26 22:25:42 +0200diomacs^(~cd@24.125.210.85)
2023-07-26 22:26:17 +0200Inst(~Inst@c-76-101-10-131.hsd1.fl.comcast.net)
2023-07-26 22:26:32 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-07-26 22:27:54 +0200Inst_(~Inst@2601:6c4:4081:2fc0:1cc8:47b:7c0e:fa36) (Ping timeout: 260 seconds)
2023-07-26 22:30:51 +0200reach__(~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 260 seconds)
2023-07-26 22:32:23 +0200Inst(~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 264 seconds)
2023-07-26 22:34:26 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 22:36:43 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
2023-07-26 22:40:22 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2023-07-26 22:40:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-07-26 22:46:21 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-07-26 22:46:26 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-07-26 22:46:54 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-07-26 22:47:09 +0200YuutaW(~YuutaW@mail.yuuta.moe) (Ping timeout: 260 seconds)
2023-07-26 22:50:32 +0200Guest5267(~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2023-07-26 22:56:03 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-07-26 22:56:28 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-07-26 22:58:56 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-07-26 22:59:25 +0200captnemo(~captnemo@193.32.127.239)
2023-07-26 22:59:57 +0200captnemo(~captnemo@193.32.127.239) (Client Quit)
2023-07-26 23:00:05 +0200libertyprime(~libertypr@203.96.203.44)
2023-07-26 23:11:48 +0200ubert1(~Thunderbi@77.119.169.110.wireless.dyn.drei.com)
2023-07-26 23:12:27 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2023-07-26 23:12:31 +0200ubert(~Thunderbi@77.119.196.161.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2023-07-26 23:12:32 +0200ubert1ubert
2023-07-26 23:16:57 +0200acidjnk(~acidjnk@p200300d6e7072f97b0b55b7471c26b47.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-07-26 23:18:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-07-26 23:21:27 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-07-26 23:22:46 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2023-07-26 23:23:39 +0200acidjnk(~acidjnk@p200300d6e7072f9765319e81e1cbf416.dip0.t-ipconnect.de)
2023-07-26 23:26:17 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-07-26 23:29:41 +0200Qudit(~user@user/Qudit)
2023-07-26 23:39:09 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-07-26 23:43:23 +0200migas(~migas@astra4961.startdedicated.net) (Read error: Connection reset by peer)
2023-07-26 23:43:36 +0200migas(~migas@astra4961.startdedicated.net)
2023-07-26 23:50:03 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au)
2023-07-26 23:50:59 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds)
2023-07-26 23:54:49 +0200arahael_(~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 260 seconds)
2023-07-26 23:54:57 +0200dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)