2023/10/15

2023-10-15 00:00:38 +0200elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2023-10-15 00:14:54 +0200 <EvanR> the async library allows setting up relationships between threads, but doesn't go as far as cloud haskell with the network transparency
2023-10-15 00:15:43 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-10-15 00:28:43 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-10-15 00:28:43 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-10-15 00:28:43 +0200wroathe(~wroathe@user/wroathe)
2023-10-15 00:31:45 +0200jmorris(uid604645@id-604645.hampstead.irccloud.com)
2023-10-15 00:34:11 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2023-10-15 00:34:28 +0200talismanick(~user@2601:204:ef80:2980::b23e) (Remote host closed the connection)
2023-10-15 00:36:17 +0200ec(~ec@gateway/tor-sasl/ec)
2023-10-15 00:38:00 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2023-10-15 00:38:16 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-10-15 00:42:28 +0200simendsjo(~user@84.211.91.241) (Ping timeout: 255 seconds)
2023-10-15 00:44:39 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2023-10-15 00:46:25 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 00:49:16 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 00:54:10 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds)
2023-10-15 00:54:54 +0200talismanick(~user@2601:204:ef80:2980::b23e)
2023-10-15 01:00:21 +0200bilegeek(~bilegeek@2600:1008:b094:3e4e:83d7:cfc2:3666:8d15)
2023-10-15 01:03:56 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 01:05:30 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-10-15 01:19:57 +0200lg188(~lg188@82.18.98.230) (Ping timeout: 255 seconds)
2023-10-15 01:22:16 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Read error: Connection reset by peer)
2023-10-15 01:25:22 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-15 01:26:31 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 01:29:01 +0200roboguy_(~roboguy_@2605:a601:ac4a:2700:d466:7d9:bddf:805) (Remote host closed the connection)
2023-10-15 01:29:16 +0200roboguy_(~roboguy_@2605:a601:ac4a:2700:d466:7d9:bddf:805)
2023-10-15 01:30:11 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-10-15 01:32:01 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-10-15 01:32:01 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-10-15 01:32:01 +0200wroathe(~wroathe@user/wroathe)
2023-10-15 01:33:53 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6)
2023-10-15 01:34:04 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
2023-10-15 01:42:57 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-10-15 01:48:39 +0200Sgeo_(~Sgeo@user/sgeo)
2023-10-15 01:48:43 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-10-15 01:50:25 +0200madnight(~madnight@static.59.103.201.195.clients.your-server.de) (Ping timeout: 255 seconds)
2023-10-15 01:51:22 +0200madnight(~madnight@static.59.103.201.195.clients.your-server.de)
2023-10-15 01:55:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection)
2023-10-15 01:57:23 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds)
2023-10-15 02:00:53 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-10-15 02:04:53 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-10-15 02:06:34 +0200califax(~califax@user/califx)
2023-10-15 02:10:39 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 240 seconds)
2023-10-15 02:12:44 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 02:23:02 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 255 seconds)
2023-10-15 02:23:43 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-10-15 02:27:15 +0200 <EvanR> is Just 'A' an application of function Just to char 'A', or a data object ready to be case analyzed, not applicated
2023-10-15 02:27:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6)
2023-10-15 02:27:55 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds)
2023-10-15 02:28:30 +0200 <geekosaur> both
2023-10-15 02:29:06 +0200 <geekosaur> well, technically it's only the latter but ghc treats `Just` as a function that can be applied
2023-10-15 02:30:07 +0200 <EvanR> both at once, or could be either and there's no way to know
2023-10-15 02:33:22 +0200 <EvanR> only just now realized how confusing that could be
2023-10-15 02:37:38 +0200 <geekosaur> once you have `Just 'A'` you have a data object, not a function that can't be case analyzed
2023-10-15 02:37:59 +0200 <geekosaur> but `Just` exists as both a data object creator and as a partially applied function
2023-10-15 02:38:44 +0200 <EvanR> so Just 'A' written anywhere doesn't correspond to an "app node"
2023-10-15 02:38:45 +0200 <geekosaur> I think you have to look at Core to see this though
2023-10-15 02:38:47 +0200 <hpc> or perhaps it's better to say, the same word refers to both
2023-10-15 02:39:09 +0200 <roboguy_> One name for two things that could be considered conceptually different. Sorta reminds me of how something like Maybe is a function that sends a type to another type, but that other type doesn't have a "separate name". So, Maybe sends Int to "Maybe Int". That actually confused me for a while when I was trying to figure out how Haskell `Functor`s relate to category theory functors
2023-10-15 02:39:14 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 02:39:26 +0200 <hpc> imagine if data constructors were special, but you didn't have to write (\x -> Just x) all the time
2023-10-15 02:40:19 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds)
2023-10-15 02:40:19 +0200 <geekosaur> that is, if you declare your own `data MyMaybe a = MyNothing | MyJust a` then ghc declares both `MyJust a` and partially applied `MyJust`. I seem to recall a `W$` being in the name of the latter, but would have to inspect Core to be certain
2023-10-15 02:40:48 +0200 <geekosaur> this leads to speedups when you write `MyJust 'A'` while still supporting using `MyJust` as a function
2023-10-15 02:42:00 +0200 <c_wraith> there's also the CONLIKE pragma to tell the optimizer (simplifier, I think?) that a particular function can be treated much like a constructor
2023-10-15 02:42:56 +0200 <c_wraith> I don't know exactly when it fires, but I presume it requires the definition to reduce to a constructor without branching or recursing
2023-10-15 02:44:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-10-15 02:44:50 +0200Alleria(~JohnGalt@user/alleria)
2023-10-15 02:44:58 +0200 <geekosaur> https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/exts/rewrite_rules.html#conlike
2023-10-15 02:45:21 +0200 <geekosaur> it actually moodifies the INLINE pragma and affects how rules treat it
2023-10-15 02:45:52 +0200 <geekosaur> (rules "see through" constructors but not functions, unless the function is INLINABLE/INLINE and CONLIKE)
2023-10-15 02:45:56 +0200 <geekosaur> iirc
2023-10-15 02:47:26 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
2023-10-15 02:53:50 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-10-15 02:55:57 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2023-10-15 02:55:59 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-10-15 02:56:43 +0200dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2023-10-15 02:57:19 +0200Lord_of_Life_Lord_of_Life
2023-10-15 03:00:30 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 258 seconds)
2023-10-15 03:00:36 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 03:09:33 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds)
2023-10-15 03:14:20 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-10-15 03:14:34 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-10-15 03:23:26 +0200otto_s(~user@p4ff27101.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2023-10-15 03:25:07 +0200otto_s(~user@p4ff27012.dip0.t-ipconnect.de)
2023-10-15 03:31:21 +0200Pozyomka(~pyon@user/pyon)
2023-10-15 03:31:30 +0200jmorris(uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-15 03:34:26 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 03:35:32 +0200aforemny(~aforemny@2001:9e8:6cda:1500:6f40:15a2:ac09:312c)
2023-10-15 03:35:35 +0200aforemny_(~aforemny@i59F516EA.versanet.de) (Ping timeout: 255 seconds)
2023-10-15 03:39:01 +0200otto_s(~user@p4ff27012.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-10-15 03:40:27 +0200otto_s(~user@p5de2f3ed.dip0.t-ipconnect.de)
2023-10-15 03:41:34 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds)
2023-10-15 03:46:45 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-10-15 03:48:56 +0200bilegeek_(~bilegeek@230.sub-174-228-97.myvzw.com)
2023-10-15 03:51:34 +0200bilegeek(~bilegeek@2600:1008:b094:3e4e:83d7:cfc2:3666:8d15) (Ping timeout: 272 seconds)
2023-10-15 03:54:57 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-15 03:55:24 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-1ee4-1b7c-94a7-8fa7.res6.spectrum.com)
2023-10-15 03:57:59 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 245 seconds)
2023-10-15 03:59:53 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-10-15 04:00:02 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-10-15 04:00:30 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-10-15 04:00:35 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-10-15 04:02:50 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 04:24:20 +0200vglfr(~vglfr@88.155.159.184)
2023-10-15 04:25:55 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds)
2023-10-15 04:28:49 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds)
2023-10-15 04:33:01 +0200roboguy_(~roboguy_@2605:a601:ac4a:2700:d466:7d9:bddf:805) (Quit: Leaving...)
2023-10-15 04:38:45 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 252 seconds)
2023-10-15 04:39:37 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-10-15 04:39:37 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-10-15 04:39:37 +0200finn_elijaFinnElija
2023-10-15 04:46:44 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 04:47:50 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 258 seconds)
2023-10-15 04:48:08 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2023-10-15 04:52:01 +0200bilegeek_(~bilegeek@230.sub-174-228-97.myvzw.com) (Remote host closed the connection)
2023-10-15 04:52:25 +0200bilegeek_(~bilegeek@230.sub-174-228-97.myvzw.com)
2023-10-15 04:57:23 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 04:59:31 +0200td_(~td@i5387092A.versanet.de) (Ping timeout: 260 seconds)
2023-10-15 04:59:49 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 05:00:03 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-10-15 05:00:56 +0200td_(~td@i53870930.versanet.de)
2023-10-15 05:04:58 +0200nilradical(~nilradica@user/naso)
2023-10-15 05:08:26 +0200nilradical(~nilradica@user/naso) (Client Quit)
2023-10-15 05:11:53 +0200aforemny_(~aforemny@2001:9e8:6ce4:3000:9219:c90e:a79a:8713)
2023-10-15 05:12:21 +0200aforemny(~aforemny@2001:9e8:6cda:1500:6f40:15a2:ac09:312c) (Ping timeout: 260 seconds)
2023-10-15 05:22:40 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
2023-10-15 05:23:12 +0200privacy(~privacy@user/privacy) (Quit: Leaving)
2023-10-15 05:23:47 +0200vglfr(~vglfr@88.155.159.184) (Read error: Connection reset by peer)
2023-10-15 05:24:07 +0200vglfr(vglfr@gateway/vpn/protonvpn/vglfr)
2023-10-15 05:51:30 +0200vglfr(vglfr@gateway/vpn/protonvpn/vglfr) (Remote host closed the connection)
2023-10-15 05:52:15 +0200vglfr(vglfr@gateway/vpn/protonvpn/vglfr)
2023-10-15 05:58:02 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-15 05:59:15 +0200vglfr(vglfr@gateway/vpn/protonvpn/vglfr) (Remote host closed the connection)
2023-10-15 06:00:01 +0200vglfr(vglfr@gateway/vpn/protonvpn/vglfr)
2023-10-15 06:02:25 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-10-15 06:07:06 +0200vglfr(vglfr@gateway/vpn/protonvpn/vglfr) (Ping timeout: 272 seconds)
2023-10-15 06:07:16 +0200vglfr(~vglfr@88.155.159.184)
2023-10-15 06:20:13 +0200sabino(~sabino@user/sabino) (Quit: Lambda _ -> x)
2023-10-15 06:24:30 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-10-15 06:26:16 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds)
2023-10-15 06:35:46 +0200xff0x(~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 260 seconds)
2023-10-15 06:36:17 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 06:37:36 +0200xff0x(~xff0x@178.255.149.135)
2023-10-15 06:47:06 +0200xff0x(~xff0x@178.255.149.135) (Ping timeout: 255 seconds)
2023-10-15 06:48:42 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds)
2023-10-15 06:48:55 +0200xff0x(~xff0x@2405:6580:b080:900:4eda:e939:15a9:23d7)
2023-10-15 06:55:30 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 07:03:44 +0200ensyde(~ensyde@2600:381:f429:4668:5188:5a77:b1c6:d864) (Read error: Connection reset by peer)
2023-10-15 07:09:39 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 245 seconds)
2023-10-15 07:10:05 +0200glguyghoulguy
2023-10-15 07:21:09 +0200Inst(~Inst@120.244.192.250)
2023-10-15 07:22:00 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 07:31:31 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds)
2023-10-15 07:33:53 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 08:02:59 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-10-15 08:07:32 +0200zaquest(~notzaques@5.130.79.72)
2023-10-15 08:18:31 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 260 seconds)
2023-10-15 08:30:11 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 08:30:17 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-10-15 08:32:05 +0200califax_(~califax@user/califx)
2023-10-15 08:32:41 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds)
2023-10-15 08:32:41 +0200califax(~califax@user/califx) (Ping timeout: 252 seconds)
2023-10-15 08:33:18 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2023-10-15 08:33:21 +0200califax_califax
2023-10-15 08:40:49 +0200akyv13(~akyv13@157.40.97.94)
2023-10-15 08:48:45 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection)
2023-10-15 08:49:39 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-10-15 08:51:54 +0200Inst(~Inst@120.244.192.250)
2023-10-15 08:52:46 +0200dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net)
2023-10-15 08:54:40 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-10-15 08:56:45 +0200bilegeek_(~bilegeek@230.sub-174-228-97.myvzw.com) (Quit: Leaving)
2023-10-15 09:04:13 +0200akyv13(~akyv13@157.40.97.94) (Read error: Connection reset by peer)
2023-10-15 09:12:02 +0200acidjnk(~acidjnk@p200300d6e7072f17652bd3d039ad030c.dip0.t-ipconnect.de)
2023-10-15 09:14:12 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-10-15 09:17:44 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-15 09:19:50 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6)
2023-10-15 09:24:39 +0200gmg(~user@user/gehmehgeh)
2023-10-15 09:41:58 +0200 <tomsmeding> EvanR: the term `Just 'A'` is an application of the function Just to the char 'A'. It evaluates to a data object ready to be case-analysed.
2023-10-15 09:42:34 +0200 <tomsmeding> (if you Show that data object, you do get a string equal to "Just 'A'", but that is neither here nor there.)
2023-10-15 09:45:52 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 09:48:28 +0200 <mauke> IIRC ocaml doesn't functionize constructors, so you always have to fully apply them syntactically
2023-10-15 09:49:00 +0200Jackneill(~Jackneill@20014C4E1E021C0053F19F32A19511C4.dsl.pool.telekom.hu)
2023-10-15 09:50:41 +0200Vajb(~Vajb@2001:999:584:acfe:2adf:4620:2462:b0dd) (Ping timeout: 246 seconds)
2023-10-15 09:55:06 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 272 seconds)
2023-10-15 09:55:16 +0200xff0x(~xff0x@2405:6580:b080:900:4eda:e939:15a9:23d7) (Ping timeout: 258 seconds)
2023-10-15 09:55:55 +0200cpressey(~cpressey@host-2-102-87-108.as13285.net)
2023-10-15 09:56:33 +0200kantokuen(~kantokuen@user/kantokuen) (Ping timeout: 255 seconds)
2023-10-15 09:57:16 +0200xff0x(~xff0x@ai101218.d.east.v6connect.net)
2023-10-15 09:59:03 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-15 10:01:06 +0200Kuttenbrunzer(~Kuttenbru@2a02:8108:8b80:1d48::ac91)
2023-10-15 10:03:43 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-10-15 10:04:02 +0200califax(~califax@user/califx)
2023-10-15 10:04:04 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-10-15 10:09:52 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-10-15 10:10:46 +0200fendor(~fendor@2a02:8388:1640:be00:aab:1226:f274:5021)
2023-10-15 10:10:57 +0200kantokuen(~kantokuen@user/kantokuen)
2023-10-15 10:16:04 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 10:18:49 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-15 10:21:23 +0200cpressey(~cpressey@host-2-102-87-108.as13285.net) (Ping timeout: 245 seconds)
2023-10-15 10:29:27 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-10-15 10:30:24 +0200rgw(~R@2605:a601:a0df:5600:2810:3d3e:92e6:48c8) (Quit: rgw)
2023-10-15 10:30:51 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-10-15 10:34:29 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-15 10:37:44 +0200ludat(~ludat@2800:810:5ea:34e:1c56:e7eb:4664:3b36)
2023-10-15 10:40:14 +0200waleee(~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c)
2023-10-15 10:41:45 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 10:46:11 +0200Vajb(~Vajb@85-76-98-119-nat.elisa-mobile.fi)
2023-10-15 10:48:46 +0200tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2023-10-15 10:50:42 +0200ludat(~ludat@2800:810:5ea:34e:1c56:e7eb:4664:3b36) (Quit: Client closed)
2023-10-15 10:50:51 +0200Xe(~cadey@perl/impostor/xe) (Ping timeout: 258 seconds)
2023-10-15 10:51:09 +0200cpressey(~cpressey@host-92-21-195-194.as13285.net)
2023-10-15 10:53:10 +0200Xe(~cadey@perl/impostor/xe)
2023-10-15 10:53:25 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-10-15 10:53:25 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-10-15 10:53:25 +0200finn_elijaFinnElija
2023-10-15 10:55:58 +0200aforemny_(~aforemny@2001:9e8:6ce4:3000:9219:c90e:a79a:8713) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-15 10:56:31 +0200kantokuen(~kantokuen@user/kantokuen) (Ping timeout: 260 seconds)
2023-10-15 10:57:05 +0200aforemny(~aforemny@i59F516EA.versanet.de)
2023-10-15 10:57:29 +0200Vajb(~Vajb@85-76-98-119-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
2023-10-15 10:57:45 +0200waleee(~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) (Ping timeout: 258 seconds)
2023-10-15 10:59:11 +0200Vajb(~Vajb@2001:999:609:2930:4ab0:3772:15e9:4ad9)
2023-10-15 11:03:05 +0200kantokuen(~kantokuen@user/kantokuen)
2023-10-15 11:04:04 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2023-10-15 11:05:11 +0200NinjaTrappeur(~ninja@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.0.5)
2023-10-15 11:06:01 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-15 11:08:26 +0200NinjaTrappeur(~ninja@about/aquilenet/vodoo/NinjaTrappeur)
2023-10-15 11:10:04 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-10-15 11:13:14 +0200dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2023-10-15 11:20:54 +0200 <Inst> Does anyone use a lot of fourmolu? Do people custom-config fourmolu to support $ at the end of a line instead of at the start?
2023-10-15 11:21:00 +0200dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net)
2023-10-15 11:24:55 +0200 <[exa]> wow there's an option to do that?
2023-10-15 11:27:44 +0200 <haskellbridge> <I​nst> Is there?
2023-10-15 11:28:05 +0200 <haskellbridge> <I​nst> I'm sort of freaked out because I ended up submitting 5 PRs and closing them within 10 minutes because it wouldn't pass Fourmolu CI
2023-10-15 11:29:29 +0200 <[exa]> can you use their fourmolu config to just format it locally?
2023-10-15 11:29:32 +0200 <[exa]> (if not I'd complain)
2023-10-15 11:31:00 +0200Kuttenbrunzer(~Kuttenbru@2a02:8108:8b80:1d48::ac91) (Remote host closed the connection)
2023-10-15 11:33:36 +0200biberu(~biberu@user/biberu)
2023-10-15 11:34:01 +0200 <haskellbridge> <I​nst> i'm guessing what's going on is that they have an exception set up on CI
2023-10-15 11:34:12 +0200 <haskellbridge> <I​nst> that certain files that haven't been moved to fourmolu are trying to respect an older format
2023-10-15 11:35:53 +0200 <[exa]> is it public somewhere?
2023-10-15 11:43:46 +0200 <haskellbridge> <I​nst> exa, do you really want to help me? I'm just comment appending to Cabal right now
2023-10-15 11:44:53 +0200KBar(kbar@is.drunk.and.ready-to.party) ()
2023-10-15 11:45:51 +0200 <Inst> notice verbosity
2023-10-15 11:45:52 +0200 <Inst> $ pkg_descr_file
2023-10-15 11:45:52 +0200 <Inst> ++ " has been changed. "
2023-10-15 11:45:52 +0200 <Inst> ++ "Re-configuring with most recently used options. "
2023-10-15 11:45:52 +0200 <Inst> ++ "If this fails, please run configure manually.\n"
2023-10-15 11:46:02 +0200 <Inst> this is what fourmolu is supposed to do, right?
2023-10-15 11:46:51 +0200 <mauke> I guess people don't like string gaps
2023-10-15 11:47:24 +0200 <Inst> i'll wait for their team, etc
2023-10-15 11:48:16 +0200 <Inst> this is embarrassing, everyone's probably complaining about spam now
2023-10-15 11:53:52 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 11:54:21 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 260 seconds)
2023-10-15 11:56:00 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-10-15 11:56:04 +0200 <Inst> actual question
2023-10-15 11:56:05 +0200Vajb(~Vajb@2001:999:609:2930:4ab0:3772:15e9:4ad9) (Ping timeout: 240 seconds)
2023-10-15 11:56:21 +0200 <Inst> does anyone use VLC + fourmolu toolchain?
2023-10-15 11:57:03 +0200 <Inst> erm, VSC
2023-10-15 11:57:21 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 11:57:22 +0200 <Inst> VSC + haskell extension + fourmolu? is it possible my problem is with VSC trying to load fourmolu and failing?
2023-10-15 11:57:30 +0200 <Inst> then defaulting to another formatter?
2023-10-15 11:59:19 +0200Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-10-15 12:03:43 +0200superbil_(~superbil@1-34-176-171.hinet-ip.hinet.net)
2023-10-15 12:06:48 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 252 seconds)
2023-10-15 12:09:21 +0200 <[exa]> Inst: yeah I was trying to find what is actually wrong
2023-10-15 12:09:46 +0200 <[exa]> anyway yeah VSC tends to do wild things by default
2023-10-15 12:10:55 +0200 <Inst> does fourmolu not actually look like that? And fourmolu is sold as "ormolu, but less opinionated"
2023-10-15 12:11:43 +0200 <[exa]> Inst: usually when sending code to ci-formatchecked repositories I just run the formatter manually in the terminal before committing anything; trusting any IDE-originating formatters isn't usually a good bet
2023-10-15 12:14:06 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 12:14:10 +0200 <[exa]> Inst: btw might be worth checking your local fourmolu version against this here: https://github.com/haskell/cabal/actions/runs/6523316413/job/17713831514?pr=9340#step:3:10
2023-10-15 12:15:09 +0200cpressey(~cpressey@host-92-21-195-194.as13285.net) (Quit: Client closed)
2023-10-15 12:16:18 +0200 <haskellbridge> <I​nst> not quite sure what's going on, tbh
2023-10-15 12:16:28 +0200 <haskellbridge> <I​nst> do you know how to point fourmolu at a fourmolu.yaml?
2023-10-15 12:21:03 +0200 <[exa]> good question, failed to google that
2023-10-15 12:21:13 +0200 <[exa]> --help doesn't say anything usable?
2023-10-15 12:23:21 +0200hiyori(~hiyori@user/hiyori)
2023-10-15 12:27:39 +0200 <Inst> tryng on a tooling channel right now
2023-10-15 12:32:40 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 12:42:47 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds)
2023-10-15 12:58:13 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 12:58:46 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-10-15 13:01:13 +0200mrmr155(~mrmr@user/mrmr) (Quit: Bye, See ya later!)
2023-10-15 13:01:36 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-10-15 13:02:09 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-15 13:03:42 +0200Guest80(~Guest80@149.167.36.31)
2023-10-15 13:04:38 +0200Guest80(~Guest80@149.167.36.31) (Client Quit)
2023-10-15 13:05:10 +0200mrmr155(~mrmr@user/mrmr)
2023-10-15 13:05:13 +0200 <sshine> curious, does fourmolu and ormolu only differ on one constant? :-D
2023-10-15 13:05:55 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-10-15 13:08:42 +0200kimiamania46(~b4f4a2ab@user/kimiamania)
2023-10-15 13:10:30 +0200kimiamania4(~b4f4a2ab@user/kimiamania) (Ping timeout: 255 seconds)
2023-10-15 13:10:31 +0200kimiamania46kimiamania4
2023-10-15 13:12:02 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 255 seconds)
2023-10-15 13:13:02 +0200 <probie> Ormolu is opinionated, and wants to be like `go fmt`, `rustfmt` or Python's `black`. Fourmolu is based on Ormolu, but allows the user to specify a style
2023-10-15 13:14:52 +0200 <probie> They're similar in that they're both code formatters, but ideologically, they're very far apart
2023-10-15 13:15:56 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 13:17:07 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds)
2023-10-15 13:22:42 +0200Inst(~Inst@120.244.192.250)
2023-10-15 13:23:38 +0200 <Inst> Trying to figure out right now
2023-10-15 13:23:44 +0200 <Inst> what the actual formatter is
2023-10-15 13:24:04 +0200 <Inst> the problem seems to be that fourmolu is unhooked, cabal install fourmolu provides a binary that outputs the correct output
2023-10-15 13:26:26 +0200 <[exa]> ah nice
2023-10-15 13:26:45 +0200 <[exa]> btw might be good to squash the commits so that you don't have extraneous edits on the (un)formatted fields
2023-10-15 13:30:01 +0200 <haskellbridge> <I​nst> Not quite sure how to do that :(
2023-10-15 13:31:01 +0200 <[exa]> usually `git rebase -i <branch_starting_point>`... I usually do `git rebase -i origin/main` or so
2023-10-15 13:31:56 +0200 <[exa]> SO is surprisingly quite right on this one https://stackoverflow.com/questions/5189560/how-do-i-squash-my-last-n-commits-together#5201642
2023-10-15 13:33:11 +0200 <Inst> Thank you :)
2023-10-15 13:33:29 +0200 <[exa]> TIl the `git reset --soft` way. actually good idea.
2023-10-15 13:34:10 +0200rawles(~rawles@user/rawles)
2023-10-15 13:37:37 +0200privacy(~privacy@user/privacy)
2023-10-15 13:39:26 +0200Pickchea(~private@user/pickchea)
2023-10-15 13:50:07 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds)
2023-10-15 13:56:22 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 13:56:56 +0200akyv13(~akyv13@2409:4060:2e12:cf5d:1b2:b5f1:edb8:22a6)
2023-10-15 13:57:10 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Ping timeout: 255 seconds)
2023-10-15 14:00:33 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-15 14:02:21 +0200akyv13(~akyv13@2409:4060:2e12:cf5d:1b2:b5f1:edb8:22a6) (Read error: Connection reset by peer)
2023-10-15 14:06:02 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-10-15 14:06:21 +0200Square(~Square@user/square) (Ping timeout: 258 seconds)
2023-10-15 14:07:09 +0200patrl(~patrl@user/patrl) (Remote host closed the connection)
2023-10-15 14:09:36 +0200patrl(~patrl@user/patrl)
2023-10-15 14:09:41 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
2023-10-15 14:13:14 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-10-15 14:13:22 +0200patrl(~patrl@user/patrl) (Remote host closed the connection)
2023-10-15 14:15:48 +0200patrl(~patrl@user/patrl)
2023-10-15 14:15:49 +0200patrl(~patrl@user/patrl) (Read error: Connection reset by peer)
2023-10-15 14:18:17 +0200patrl(~patrl@user/patrl)
2023-10-15 14:19:39 +0200aforemny(~aforemny@i59F516EA.versanet.de) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-15 14:21:22 +0200mc47(~mc47@xmonad/TheMC47)
2023-10-15 14:21:35 +0200aforemny(~aforemny@2001:9e8:6ce4:3000:710b:6622:3257:ead)
2023-10-15 14:23:46 +0200patrl(~patrl@user/patrl) (Remote host closed the connection)
2023-10-15 14:26:14 +0200patrl(~patrl@user/patrl)
2023-10-15 14:27:49 +0200marienz(~marienz@libera/staff/marienz) (Ping timeout: 622 seconds)
2023-10-15 14:28:06 +0200 <haskellbridge> <t​ewuzij> Maybe
2023-10-15 14:28:39 +0200Square(~Square@user/square)
2023-10-15 14:30:09 +0200thyriaen(~thyriaen@2a01:aea0:dd4:7157:6245:cbff:fe9f:48b1)
2023-10-15 14:35:42 +0200Lycurgus(~juan@user/Lycurgus)
2023-10-15 14:36:15 +0200mmhat(~mmh@p200300f1c73a9525ee086bfffe095315.dip0.t-ipconnect.de)
2023-10-15 14:36:42 +0200mmhat(~mmh@p200300f1c73a9525ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-10-15 14:37:23 +0200Lycurgus(~juan@user/Lycurgus) (Client Quit)
2023-10-15 14:38:14 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 14:41:35 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 255 seconds)
2023-10-15 14:41:45 +0200qqq(~qqq@92.43.167.61) (Quit: leaving)
2023-10-15 14:42:00 +0200Inst(~Inst@120.244.192.250)
2023-10-15 14:50:56 +0200Square(~Square@user/square) (Ping timeout: 255 seconds)
2023-10-15 15:00:50 +0200qqq(~qqq@92.43.167.61)
2023-10-15 15:04:37 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-15 15:06:30 +0200ames(~amelia@offtopia/offtopian/amelia) (Quit: Bye!)
2023-10-15 15:07:31 +0200 <cheater> hello
2023-10-15 15:08:26 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 15:08:50 +0200 <cheater> i would like to create a simple desktop application gui system. so stuff like layout, contents, etc. i'd like to have various backends so it can spit out javascript, java, or c++ depending on need. what's the best way to do this?
2023-10-15 15:10:35 +0200yuuta(~YuutaW@mail.yuuta.moe) (Ping timeout: 240 seconds)
2023-10-15 15:11:58 +0200YuutaW(~YuutaW@mail.yuuta.moe)
2023-10-15 15:12:00 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-10-15 15:15:29 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-10-15 15:23:26 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 255 seconds)
2023-10-15 15:23:56 +0200rawles(~rawles@user/rawles) (Quit: Textual IRC Client: www.textualapp.com)
2023-10-15 15:29:31 +0200ames(~amelia@offtopia/offtopian/amelia)
2023-10-15 15:30:42 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-10-15 15:35:28 +0200 <duncan> cheater: https://wiki.haskell.org/Applications_and_libraries/GUI_libraries
2023-10-15 15:35:51 +0200 <cheater> duncan: that's not what i'm trying to do.
2023-10-15 15:36:19 +0200 <duncan> you want to build the UI framework?
2023-10-15 15:36:23 +0200 <cheater> i want to create a generic DSL that is agnostic of any specific gui library.
2023-10-15 15:37:29 +0200 <duncan> GTK, Xorg, TCLtk, QT all have wildlydifferent paradigms, so it's unlikely to produce the result which you want.
2023-10-15 15:37:52 +0200 <cheater> that's ok
2023-10-15 15:37:58 +0200 <cheater> i'll figure it out
2023-10-15 15:38:07 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2023-10-15 15:38:15 +0200Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2023-10-15 15:38:16 +0200 <Inst> good luck, i wanted to do this, but skill issue :(
2023-10-15 15:38:17 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-15 15:38:24 +0200 <duncan> I wish I had your Dutch courage.
2023-10-15 15:38:31 +0200 <cheater> uh
2023-10-15 15:39:11 +0200 <cheater> here's what you think: i want to do an all-encompassing DSL that can create the most beautiful output in every backend, which is able to take advantage of every special-purpose functionality in each GUI library
2023-10-15 15:39:38 +0200 <cheater> here's what i think: something to make some simple boxes and buttons. whatever is not possible in a backend just doesn't work / doesn't compile.
2023-10-15 15:39:53 +0200 <cheater> few features, no fireworks.
2023-10-15 15:42:04 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2023-10-15 15:42:57 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds)
2023-10-15 15:44:37 +0200 <cheater> see where i'm coming from
2023-10-15 15:45:02 +0200 <srk> cheater: for some inspiration, check out brick and monomer
2023-10-15 15:45:13 +0200 <cheater> thanks
2023-10-15 15:45:15 +0200 <cheater> why?
2023-10-15 15:45:45 +0200 <srk> I wish there was a generic library for layouting that wasn't tied to TUI or specific toolkit
2023-10-15 15:46:13 +0200 <srk> the UI model of both is pretty neat
2023-10-15 15:46:15 +0200 <cheater> that's pretty much what i want to make
2023-10-15 15:46:52 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-10-15 15:46:52 +0200ChanServ+v haskellbridge
2023-10-15 15:47:04 +0200 <cheater> and in parallel to this, a simple dsl for logic and other stuff. like, you don't want to be running haskell code in the browser. it's better to spit out jabbascript.
2023-10-15 15:47:51 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 15:47:54 +0200 <cheater> i'd like to be able to create something as complex as, say, uhh, a simple front-end to an email client.
2023-10-15 15:48:00 +0200 <srk> you can compile to js or wasm
2023-10-15 15:48:04 +0200 <cheater> yes.
2023-10-15 15:48:10 +0200 <cheater> i can also grab onto hot embers
2023-10-15 15:48:23 +0200 <cheater> bot will result in the same amount of pain
2023-10-15 15:49:17 +0200 <cheater> but i'd rather not do either :)
2023-10-15 15:51:35 +0200 <[exa]> cheater: +1 for jabbascript
2023-10-15 15:53:43 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-10-15 15:55:50 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de)
2023-10-15 15:56:09 +0200John_Ivan__(~John_Ivan@user/john-ivan/x-1515935) (Remote host closed the connection)
2023-10-15 15:56:59 +0200John_Ivan__(~John_Ivan@user/john-ivan/x-1515935)
2023-10-15 16:03:31 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-15 16:03:50 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-15 16:07:02 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 16:08:04 +0200 <Inst> whoa!
2023-10-15 16:08:18 +0200 <Inst> guess what you can fmap on in accordance with the functor laws?
2023-10-15 16:08:20 +0200 <Inst> https://haskell.foundation
2023-10-15 16:09:17 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 16:12:30 +0200misterfish(~misterfis@87.215.131.102)
2023-10-15 16:12:55 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 264 seconds)
2023-10-15 16:13:58 +0200 <haskellbridge> <I​nst> Yeah, Google just signed onto HF as a Functor. :D
2023-10-15 16:14:43 +0200 <cheater> huh?
2023-10-15 16:15:00 +0200 <[exa]> kinda wondering what the additional split in the λ in the website logo means there
2023-10-15 16:15:25 +0200 <haskellbridge> <I​nst> It's probably to generate the F
2023-10-15 16:16:01 +0200 <c_wraith> oh, that's an F. I kept reading it as \=
2023-10-15 16:16:04 +0200 <[exa]> OH SOO.
2023-10-15 16:16:10 +0200 <c_wraith> which.. isn't a thing that exists!
2023-10-15 16:16:48 +0200 <[exa]> I read it like >,i=
2023-10-15 16:17:09 +0200 <cheater> bruh
2023-10-15 16:17:13 +0200 <cheater> programmers making logos >_>
2023-10-15 16:17:27 +0200 <haskellbridge> <I​nst> This is the Google project I'm aware of, although it seems to be mostly Py these days
2023-10-15 16:17:28 +0200jespada(~jespada@148.252.141.173)
2023-10-15 16:17:29 +0200 <haskellbridge> <I​nst> https://github.com/ganeti/ganeti
2023-10-15 16:17:42 +0200 <cheater> what are you talking about inst
2023-10-15 16:18:08 +0200 <haskellbridge> <I​nst> Well, I thought people would be happier that Google is donating a pittance to Haskell Foundation these days
2023-10-15 16:22:19 +0200 <cheater> what's that about "fmap on" ?
2023-10-15 16:22:49 +0200 <[exa]> like, people aren't generally happy about google touching things.
2023-10-15 16:23:25 +0200 <cheater> what does any of this have to do with "<Inst> guess what you can fmap on in accordance with the functor laws?"
2023-10-15 16:23:27 +0200 <Inst> i.e, candy-colored version of Embrace Extend Extinguish?
2023-10-15 16:23:34 +0200 <Inst> Oh, functor level of donor
2023-10-15 16:23:49 +0200 <[exa]> cheater: like we can fmap through google now.
2023-10-15 16:23:56 +0200 <cheater> that makes no fucking sense
2023-10-15 16:24:05 +0200 <[exa]> no.
2023-10-15 16:24:07 +0200 <cheater> "functor level of donor"?
2023-10-15 16:24:12 +0200 <[exa]> :]
2023-10-15 16:24:25 +0200 <cheater> oh, is that like a funny name for the donation levels like in patreon?
2023-10-15 16:24:26 +0200 <[exa]> c'mon it's supposed to be programmer-level funny
2023-10-15 16:24:33 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-15 16:24:36 +0200 <cheater> it's funny if it makes sense
2023-10-15 16:24:55 +0200 <geekosaur> we do the same thing with xmonad donor levels
2023-10-15 16:24:59 +0200 <cheater> if you're leaving out massive amounts of context, then it doesn't make sense, and it's not funny
2023-10-15 16:25:03 +0200 <geekosaur> not sure who started it furst
2023-10-15 16:25:08 +0200 <geekosaur> *first
2023-10-15 16:25:18 +0200 <cheater> makes sense geekosaur
2023-10-15 16:29:39 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-10-15 16:29:39 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-10-15 16:29:39 +0200wroathe(~wroathe@user/wroathe)
2023-10-15 16:29:56 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-10-15 16:30:00 +0200 <cheater> i know the ganeti guy
2023-10-15 16:30:04 +0200 <cheater> wow, he's been working on it for ages
2023-10-15 16:30:10 +0200Alleria(~JohnGalt@user/alleria) (Ping timeout: 255 seconds)
2023-10-15 16:31:00 +0200Pickchea(~private@user/pickchea)
2023-10-15 16:31:15 +0200ames(~amelia@offtopia/offtopian/amelia) (Quit: Bye!)
2023-10-15 16:33:14 +0200ames(~amelia@offtopia/offtopian/amelia)
2023-10-15 16:33:51 +0200Alleria(~JohnGalt@user/alleria)
2023-10-15 16:37:13 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 16:37:13 +0200stites(~stites@130.44.147.204) (Read error: Connection reset by peer)
2023-10-15 16:38:05 +0200stites(~stites@130.44.147.204)
2023-10-15 16:39:36 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 16:40:13 +0200cpressey(~cpressey@host-92-21-195-194.as13285.net)
2023-10-15 16:48:00 +0200todi(~todi@p4fd1a3e6.dip0.t-ipconnect.de)
2023-10-15 16:48:05 +0200sm(~sm@plaintextaccounting/sm)
2023-10-15 16:49:13 +0200stites(~stites@130.44.147.204) (Ping timeout: 255 seconds)
2023-10-15 16:49:51 +0200stites(~stites@2607:fb90:ade3:cc85:9fb2:d897:5057:9250)
2023-10-15 16:52:26 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2023-10-15 16:52:54 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de)
2023-10-15 16:53:07 +0200qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2023-10-15 16:54:53 +0200jespada(~jespada@148.252.141.173) (Read error: Connection reset by peer)
2023-10-15 16:55:29 +0200jespada(~jespada@148.252.141.173)
2023-10-15 16:56:44 +0200Alleria(~JohnGalt@user/alleria) (Read error: Connection reset by peer)
2023-10-15 16:59:34 +0200son0p(~ff@181.136.122.143) (Quit: Bye)
2023-10-15 16:59:38 +0200Alleria(~JohnGalt@user/alleria)
2023-10-15 17:03:14 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-10-15 17:04:35 +0200Alleria(~JohnGalt@user/alleria) (Ping timeout: 240 seconds)
2023-10-15 17:09:21 +0200Alleria(~JohnGalt@user/alleria)
2023-10-15 17:11:33 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-15 17:11:51 +0200euleritian(~euleritia@77.22.252.56)
2023-10-15 17:15:36 +0200son0p(~ff@181.136.122.143)
2023-10-15 17:16:23 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 255 seconds)
2023-10-15 17:16:49 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de)
2023-10-15 17:19:01 +0200jespada(~jespada@148.252.141.173) (Read error: Connection reset by peer)
2023-10-15 17:19:37 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-15 17:19:55 +0200euleritian(~euleritia@77.22.252.56)
2023-10-15 17:24:26 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 260 seconds)
2023-10-15 17:25:15 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de)
2023-10-15 17:25:34 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-10-15 17:26:27 +0200Alleria(~JohnGalt@user/alleria) (Ping timeout: 258 seconds)
2023-10-15 17:30:20 +0200vglfr(~vglfr@88.155.159.184) (Ping timeout: 255 seconds)
2023-10-15 17:31:19 +0200Alleria(~JohnGalt@user/alleria)
2023-10-15 17:31:40 +0200vglfr(~vglfr@88.155.159.184)
2023-10-15 17:32:01 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds)
2023-10-15 17:33:52 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection)
2023-10-15 17:34:07 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-10-15 17:34:11 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2023-10-15 17:34:26 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-10-15 17:40:35 +0200Alleria(~JohnGalt@user/alleria) (Read error: Connection reset by peer)
2023-10-15 17:45:51 +0200Alleria(~JohnGalt@user/alleria)
2023-10-15 18:02:33 +0200RSCASTILHO(~RSCASTILH@187.40.125.21)
2023-10-15 18:03:02 +0200finsternis(~X@23.226.237.192)
2023-10-15 18:13:34 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-10-15 18:22:03 +0200mango(~finn@2001:861:5863:3d50:d9fa:54c2:f74c:ebba)
2023-10-15 18:23:40 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-10-15 18:25:30 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
2023-10-15 18:36:03 +0200euleritian(~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-15 18:36:20 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-15 18:45:04 +0200michalz(~michalz@185.246.207.221)
2023-10-15 18:46:11 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds)
2023-10-15 18:48:46 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-10-15 18:58:42 +0200krei-se(~krei-se@p50874770.dip0.t-ipconnect.de) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-15 18:58:42 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-10-15 18:59:23 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-15 19:00:14 +0200 <monochrom> I propose the highest donor level to be named "pointfree level". And the 2nd highest, "pointed level" haha.
2023-10-15 19:00:20 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 19:01:36 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-15 19:02:16 +0200stites(~stites@2607:fb90:ade3:cc85:9fb2:d897:5057:9250) (Read error: Connection reset by peer)
2023-10-15 19:02:18 +0200 <monochrom> ("Pointed" comes from the hypothetical "class Pointed f where pure :: a -> f a" if we were to separate it out from Applicative.)
2023-10-15 19:02:22 +0200krei-se(~krei-se@p50874770.dip0.t-ipconnect.de)
2023-10-15 19:02:36 +0200stites(~stites@130.44.147.204)
2023-10-15 19:10:31 +0200 <ncf> pointed types are fun too (but i guess there's less point in having a typeclass for them)
2023-10-15 19:11:11 +0200 <geekosaur> edwardk pointed out (no pun intended) the problems with Pointed at one point
2023-10-15 19:11:46 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection)
2023-10-15 19:11:51 +0200 <geekosaur> specifically since there's no way to tie them to Applicative or Monad, it would be possible to declare a lawful Pointed and use it to make a non-lawful Applicative
2023-10-15 19:12:02 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6)
2023-10-15 19:12:21 +0200 <ncf> what's a lawful Pointed?
2023-10-15 19:12:31 +0200 <geekosaur> that's the problem
2023-10-15 19:13:32 +0200 <ncf> i don't follow
2023-10-15 19:14:30 +0200 <geekosaur> Pointed has no laws, if you can define one then it's valid. but iirc at most one Pointed makes for a legal Applicative
2023-10-15 19:15:24 +0200 <ncf> i expect that to be true by a similar argument to "being a monoid is a property of a semigroup", but why is that a problem?
2023-10-15 19:17:04 +0200tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2023-10-15 19:18:23 +0200 <geekosaur> mm, I think I need edwardk here to explain it, I'm not an expert on these things. I think the point was that there is no way for the Applicative to prove that the Pointed you declared is valid for it, whereas for Monoid you always know the Semigroup is valid, you're just adding an identity to it
2023-10-15 19:19:05 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-10-15 19:19:48 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2023-10-15 19:20:26 +0200 <geekosaur> that is, it's always on the Monoid to "know" that the identity it's adding is an identity, but an Applicative can't likewise "know" that its "apply" (<*>) is valid for the "pure". Something like that. (and yes I know we can't provide proofs for our typeclasses anyway)
2023-10-15 19:20:39 +0200 <geekosaur> this may be more relevant in the context of lens or something
2023-10-15 19:31:06 +0200 <monochrom> Basically all laws for pure are stated with <*>.
2023-10-15 19:32:20 +0200 <monochrom> The *-kind analogy is imagine if people wrote "class Default a where mempty :: a; class Default a => Monoid a where mappend :: a -> a -> a". >:)
2023-10-15 19:35:46 +0200Alleria(~JohnGalt@user/alleria) (Quit: Textual IRC Client: www.textualapp.com)
2023-10-15 19:39:12 +0200fendor(~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection)
2023-10-15 19:47:10 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-10-15 19:47:10 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-10-15 19:47:10 +0200wroathe(~wroathe@user/wroathe)
2023-10-15 19:48:09 +0200 <tomsmeding> I don't see any inherent problems with that imaginary Default superclass of Monoid
2023-10-15 19:48:15 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-15 19:48:43 +0200 <tomsmeding> it's just that the choice of Default instance determines, to a large extent, the Monoid that can be built on top of it -- and sometimes (often?) there is even no such Monoid instance
2023-10-15 19:49:03 +0200 <tomsmeding> but it's the same with Semigroup => Monoid, the ratios of occurrence are just a bit different
2023-10-15 19:49:13 +0200 <tomsmeding> (less different valid Semigroups per valid corresponding Monoid)
2023-10-15 19:50:14 +0200 <tomsmeding> this thing about "ratios of occurrence" (which is honestly BS because what's Infinity/Infinity) is perhaps just a way to say "Monoid adds few laws over Semigroup, but Monoid adds many laws over Default"
2023-10-15 19:50:27 +0200 <tomsmeding> because Default has no laws to speak of, but that's somewhat missing the point
2023-10-15 19:51:13 +0200 <tomsmeding> and no, I don't _practically_ think it's a good idea at all to make Default a superclass of Monoid :p
2023-10-15 19:52:01 +0200 <tomsmeding> even though I expect many types that are both Monoid and Default to satisfy 'default == mempty'
2023-10-15 19:53:21 +0200 <EvanR> to answer what infinity over infinity is, see graphical linear algebra blog
2023-10-15 19:54:09 +0200rawles(~rawles@user/rawles)
2023-10-15 20:07:32 +0200stites(~stites@130.44.147.204) (Remote host closed the connection)
2023-10-15 20:10:51 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 20:11:22 +0200waleee(~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c)
2023-10-15 20:13:22 +0200ystael(~ystael@user/ystael) (Ping timeout: 255 seconds)
2023-10-15 20:13:35 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds)
2023-10-15 20:19:03 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 20:19:27 +0200 <c_wraith> tomsmeding: I think of it from a different perspective. what useful code can you write that abstracts over an instance of the class? I can write a good number of things that use semigroup. I'm not sure I can write anything interesting that abstracts over Default instances
2023-10-15 20:20:29 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 258 seconds)
2023-10-15 20:20:52 +0200 <c_wraith> ok, I can see a few things interesting resulting from Default, like Default a => Maybe a -> a
2023-10-15 20:21:07 +0200 <c_wraith> so it's not a complete wasteland.
2023-10-15 20:23:24 +0200mango(~finn@2001:861:5863:3d50:d9fa:54c2:f74c:ebba) (Ping timeout: 245 seconds)
2023-10-15 20:23:40 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-10-15 20:24:10 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
2023-10-15 20:26:02 +0200 <davean> c_wraith: Just a lone tree in a desert, I expect many accidents.
2023-10-15 20:26:20 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-15 20:26:51 +0200 <c_wraith> it's only one tree. how do so many people manage to crash into it?
2023-10-15 20:27:45 +0200 <geekosaur> Default is built on sand. defaults are contextual, not a property of a type
2023-10-15 20:28:29 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-15 20:30:50 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-10-15 20:32:21 +0200 <ncf> few typeclasses represent properties
2023-10-15 20:33:02 +0200 <monochrom> "What have I started?!" >:)
2023-10-15 20:33:03 +0200 <ncf> it's kind of a dialectical thing anyway
2023-10-15 20:34:04 +0200 <geekosaur> you have not answered "defaults are contextual"
2023-10-15 20:34:52 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 20:34:59 +0200 <davean> geekosaur: I mean I tihnk many defaults are contextual, I think they have a more real nature for some types.
2023-10-15 20:36:13 +0200 <davean> I think the name leans away from that generally.
2023-10-15 20:36:19 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 245 seconds)
2023-10-15 20:39:27 +0200 <tomsmeding> c_wraith: right, good point
2023-10-15 20:40:00 +0200 <tomsmeding> which is I guess also a complaint against Pointed, but that's quite different from what geekosaur was saying that ekmett apparently said
2023-10-15 20:49:30 +0200rgw(~R@2605:a601:a0df:5600:a4a0:a66c:3431:6e78)
2023-10-15 20:53:48 +0200waleee(~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) (Ping timeout: 240 seconds)
2023-10-15 20:54:17 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-10-15 20:54:44 +0200Inst(~Inst@120.244.192.250)
2023-10-15 20:57:48 +0200Inst(~Inst@120.244.192.250) (Read error: Connection reset by peer)
2023-10-15 20:58:01 +0200Sgeo(~Sgeo@user/sgeo)
2023-10-15 20:59:10 +0200wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-10-15 20:59:26 +0200Vajb(~Vajb@85-76-115-250-nat.elisa-mobile.fi)
2023-10-15 21:01:25 +0200Vajb(~Vajb@85-76-115-250-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2023-10-15 21:03:18 +0200 <dolio> I don't really get the argument, either. If you want to require laws about superficially unrelated type classes, you just do it. It's all social convention anyway.
2023-10-15 21:06:49 +0200 <dolio> I think Default is still probably a poor type class due to some of the other reasons people have given.
2023-10-15 21:10:08 +0200 <dolio> If you're thinking about pointed types, many don't have a 'notable' choice of point that is worth distinguishing from others as 'the' point for that type.
2023-10-15 21:10:11 +0200 <davean> dolio: which argument?
2023-10-15 21:11:20 +0200 <dolio> 'Separate class X is bad because it doesn't satisfy laws unless combined with class Y.'
2023-10-15 21:11:46 +0200 <dolio> Or, you can't talk about the laws without Y.
2023-10-15 21:12:39 +0200 <Alex_test> 2377
2023-10-15 21:12:39 +0200 <Alex_test> +5
2023-10-15 21:12:39 +0200 <Alex_test> 56%
2023-10-15 21:12:39 +0200 <Alex_test> 1:07
2023-10-15 21:12:39 +0200 <Alex_test> ������� ������ (#1904720)
2023-10-15 21:12:39 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection)
2023-10-15 21:12:39 +0200 <Alex_test> 2082
2023-10-15 21:12:40 +0200 <Alex_test> ������� �����
2023-10-15 21:12:40 +0200 <Alex_test> 0:26
2023-10-15 21:12:56 +0200 <davean> Hum, thats a bit different than the arguments I've heard. I'm not sure you're fairly characturizing them, at least if you mean the referenced Pointed arguments.
2023-10-15 21:13:01 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2)
2023-10-15 21:13:01 +0200ChanServ+v yahb2
2023-10-15 21:13:34 +0200 <tomsmeding> davean: https://ircbrowse.tomsmeding.com/day/lchaskell/2023/10/15?id=1107511#trid1107511
2023-10-15 21:13:56 +0200 <tomsmeding> see also the context a few messages above that
2023-10-15 21:14:27 +0200 <geekosaur> Alex_test, did that have a point?
2023-10-15 21:14:38 +0200 <davean> tomsmeding: I mean yes I read that? Many reference the external, historical arguments about Pointed which I am also familiar with
2023-10-15 21:14:41 +0200tomsmedingsuspects clipboard paste in the wrong window
2023-10-15 21:15:02 +0200 <[exa]> geekosaur: I don't see any variables captured there :)
2023-10-15 21:15:04 +0200 <davean> which I believe dolio is missrepresenting, at least from my perspective on them
2023-10-15 21:15:17 +0200 <tomsmeding> ah, then ignore mme :)
2023-10-15 21:15:19 +0200 <Alex_test> ����������
2023-10-15 21:15:19 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection)
2023-10-15 21:15:20 +0200 <tomsmeding> *me
2023-10-15 21:15:25 +0200 <tomsmeding> @where ops
2023-10-15 21:15:26 +0200 <lambdabot> byorgey Cale conal copumpkin dcoutts dibblego dolio edwardk geekosaur glguy jmcarthur johnw mniip monochrom quicksilver shachaf shapr ski
2023-10-15 21:15:31 +0200 <Alex_test> 62.7%
2023-10-15 21:15:35 +0200ChanServ+o dolio
2023-10-15 21:15:35 +0200dolio+b Alex_test!*@*
2023-10-15 21:15:41 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2)
2023-10-15 21:15:41 +0200ChanServ+v yahb2
2023-10-15 21:15:47 +0200 <ncf> davean: if you can characterise them better then please do because that is also how i interpreted what geekosaur said above
2023-10-15 21:15:49 +0200 <tomsmeding> thanks!
2023-10-15 21:15:51 +0200 <geekosaur> they've done this before
2023-10-15 21:15:55 +0200zenstoic(uid461840@id-461840.hampstead.irccloud.com)
2023-10-15 21:15:56 +0200 <tomsmeding> ah
2023-10-15 21:16:08 +0200ChanServ+o ghoulguy
2023-10-15 21:16:08 +0200ghoulguy+b *!*@178.34.151.245
2023-10-15 21:16:13 +0200dolio-o dolio
2023-10-15 21:16:16 +0200 <geekosaur> also you might check what in that is clobbering yahb2
2023-10-15 21:16:42 +0200 <tomsmeding> geekosaur: hm? What do you mean?
2023-10-15 21:16:46 +0200 <davean> My feeling is that more of the Pointed argument comes down to all the laws taht are interesting reference the other classes that already include pointed's capabilities, and Pointed fails to unify any ideas, so it ends up adding nothing semanticly.
2023-10-15 21:17:11 +0200 <geekosaur> thta's more or less how I understand it as well
2023-10-15 21:17:12 +0200 <davean> Complexity for no gain is a loss
2023-10-15 21:17:33 +0200 <tomsmeding> the context was "if we were to separate it out of Applicative"
2023-10-15 21:17:36 +0200 <geekosaur> tomsmeding, looks to me like yahb2 falls out of channel when it gets the unicode?
2023-10-15 21:17:52 +0200 <monochrom> Nooooooooo
2023-10-15 21:17:57 +0200 <tomsmeding> hence I read what geekosaur wrote as "put 'pure' in Pointed, make Pointed a superclass of Applicative, and _remove_ 'pure' from Applicative"
2023-10-15 21:18:04 +0200 <ncf> yeah that one makes sense i think
2023-10-15 21:18:16 +0200 <davean> tomsmeding: right but to what gain?
2023-10-15 21:18:18 +0200 <monochrom> The context was "if we were to make funny names for donor levels" >:)
2023-10-15 21:18:24 +0200 <tomsmeding> geekosaur: _oh oops_
2023-10-15 21:18:27 +0200 <dolio> I mean, I've definitely seen this argument before.
2023-10-15 21:18:41 +0200 <davean> monochrom: I mean I already made funny names for donor levels :)
2023-10-15 21:18:57 +0200 <davean> I had more names!
2023-10-15 21:19:06 +0200 <ncf> lol, did Alex_test find an RCE in yahb or something
2023-10-15 21:19:08 +0200 <davean> Thats just how many we found useful.
2023-10-15 21:19:34 +0200 <tomsmeding> ncf: nah, "yahb2: Cannot decode byte '\xd0': Data.Text.Internal.Encoding: Invalid UTF-8 stream" and it exits
2023-10-15 21:19:40 +0200 <davean> And no, it wasn't point free
2023-10-15 21:19:43 +0200 <ncf> hah
2023-10-15 21:19:53 +0200 <ncf> probably a good idea to use a lenient decoding there :p
2023-10-15 21:19:56 +0200 <tomsmeding> yes
2023-10-15 21:19:59 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-10-15 21:20:07 +0200 <dolio> Like, suppose you split Applicative into two classes: Pointed and Ap. People often say you "can't" impose the Applicative laws for types that have instances for both, so you can't factor them that way. But there's really no reason that you can't impose requirements like that.
2023-10-15 21:20:32 +0200 <davean> I think I still have my list of donor level naming scheme options around here somewhere ...
2023-10-15 21:20:35 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-10-15 21:20:51 +0200 <dolio> Now, factoring it that way might not be useful, but that's a separate question.
2023-10-15 21:21:20 +0200 <dolio> The only concrete use I know of is supporting lens stuff, which is probably not worthwhile.
2023-10-15 21:21:50 +0200 <geekosaur> re yahb2, this being ORC it should try to decode as utf8 and if it fails try iso8859-1
2023-10-15 21:22:03 +0200 <geekosaur> *being IRC
2023-10-15 21:22:12 +0200 <geekosaur> rather than lenient per-char
2023-10-15 21:22:19 +0200 <davean> No, no, I like Obsolete Relay Chat
2023-10-15 21:22:36 +0200 <ncf> ah yeah i guess you get AffineTraversal from Pointed and Traversal1 from Ap
2023-10-15 21:22:57 +0200 <monochrom> Obsolete Reactionacy Chat >:)
2023-10-15 21:23:33 +0200 <monochrom> or maybe Retrograde is better? :)
2023-10-15 21:24:08 +0200 <tomsmeding> https://tomsmeding.com/abbrgen/orc/50
2023-10-15 21:25:04 +0200 <tomsmeding> I'm afraid this is not yahb2 code https://github.com/barrucadu/irc-client/blob/b4490b126e69257d94df2f7750937c5319c4ff2e/Network/IRC/…
2023-10-15 21:25:14 +0200 <geekosaur> sad
2023-10-15 21:25:28 +0200 <monochrom> outlandishly ruthless >:)
2023-10-15 21:31:55 +0200thyriaen(~thyriaen@2a01:aea0:dd4:7157:6245:cbff:fe9f:48b1) (Remote host closed the connection)
2023-10-15 21:39:11 +0200jrm(~jrm@user/jrm) (Quit: ciao)
2023-10-15 21:40:36 +0200jrm(~jrm@user/jrm)
2023-10-15 21:42:07 +0200jrm(~jrm@user/jrm) (Client Quit)
2023-10-15 21:43:03 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-1ee4-1b7c-94a7-8fa7.res6.spectrum.com) (Remote host closed the connection)
2023-10-15 21:43:15 +0200 <tomsmeding> but we shall not be discouraged https://git.tomsmeding.com/yahb2/commit/?id=5976161a7649cca7cd56d4335316179031a364ab
2023-10-15 21:43:36 +0200jrm(~jrm@user/jrm)
2023-10-15 21:47:03 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-10-15 21:49:13 +0200 <int-e> what the fork
2023-10-15 21:49:57 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection)
2023-10-15 21:50:09 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2)
2023-10-15 21:50:09 +0200ChanServ+v yahb2
2023-10-15 21:50:23 +0200 <tomsmeding> % 1
2023-10-15 21:50:23 +0200 <yahb2> 1
2023-10-15 21:50:32 +0200 <tomsmeding> now we just need some invalid utf8
2023-10-15 21:51:04 +0200 <geekosaur> hm, sadly my client translates so if I copy and paste it'll be utf8
2023-10-15 21:51:19 +0200 <tomsmeding> that is why I asked, I honestly have no clue how :p
2023-10-15 21:51:24 +0200 <geekosaur> [15 19:15:19] <Alex_test> Ñïðàâèëèñü
2023-10-15 21:53:43 +0200 <geekosaur> I have to disconnect and reconnect to switch charset, it seems
2023-10-15 21:55:55 +0200sabino(~sabino@user/sabino)
2023-10-15 21:58:16 +0200dcoutts(~duncan@212.187.244.86)
2023-10-15 22:05:46 +0200dcoutts(~duncan@212.187.244.86) (Ping timeout: 252 seconds)
2023-10-15 22:06:40 +0200Inst(~Inst@120.244.192.250)
2023-10-15 22:14:34 +0200Guest33(~Guest10@87-119-179-51.tll.elisa.ee)
2023-10-15 22:16:12 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-10-15 22:16:31 +0200Guest33(~Guest10@87-119-179-51.tll.elisa.ee) (Client Quit)
2023-10-15 22:18:21 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5)
2023-10-15 22:24:52 +0200jrm(~jrm@user/jrm) (Quit: ciao)
2023-10-15 22:27:25 +0200jrm(~jrm@user/jrm)
2023-10-15 22:29:09 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-10-15 22:30:19 +0200alphacentauri(alphacenta@gateway/vpn/protonvpn/alphacentauri)
2023-10-15 22:33:16 +0200Pozyomka(~pyon@user/pyon) (Quit: Pozyomka, my beloved: https://i.imgur.com/BMmVfTq.png)
2023-10-15 22:35:43 +0200 <nullie> ü
2023-10-15 22:36:14 +0200 <nullie>
2023-10-15 22:46:08 +0200ghoulpine(xfnw@tilde.team) (Quit: Connection reset by purr)
2023-10-15 22:46:28 +0200finsternis(~X@23.226.237.192) (Ping timeout: 252 seconds)
2023-10-15 22:46:46 +0200RSCASTILHO(~RSCASTILH@187.40.125.21) ()
2023-10-15 22:47:17 +0200finsternis(~X@23.226.237.192)
2023-10-15 22:50:15 +0200Jackneill(~Jackneill@20014C4E1E021C0053F19F32A19511C4.dsl.pool.telekom.hu) (Ping timeout: 240 seconds)
2023-10-15 22:53:37 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 252 seconds)
2023-10-15 22:55:26 +0200vulpine(xfnw@tilde.team)
2023-10-15 22:57:44 +0200vulpineghoulpine
2023-10-15 22:58:24 +0200 <tomsmeding> yahb2 survived! :)
2023-10-15 22:58:45 +0200 <monochrom> \∩/
2023-10-15 22:59:06 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 22:59:17 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-10-15 23:05:35 +0200michalz(~michalz@185.246.207.221) (Remote host closed the connection)
2023-10-15 23:06:38 +0200 <tomsmeding> I cannot even check whether it was a proper test
2023-10-15 23:07:13 +0200 <tomsmeding> my client logs as well as ircbrowse convert it to a unicode replacement character U+FFFD
2023-10-15 23:10:24 +0200 <geekosaur> mine converted to ü
2023-10-15 23:11:07 +0200 <tomsmeding> for me the first message is ü and the second message is the replacement character
2023-10-15 23:11:23 +0200 <tomsmeding> ircbrowse does the same
2023-10-15 23:12:01 +0200 <tomsmeding> geekosaur: if they're both ü for you, then I guess that means that the test did succeed
2023-10-15 23:12:16 +0200 <tomsmeding> and my clients just do lenient UTF8 decoding without Latin1 fallback
2023-10-15 23:12:36 +0200acidjnk(~acidjnk@p200300d6e7072f17652bd3d039ad030c.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-10-15 23:13:07 +0200 <geekosaur> yes, both are ü
2023-10-15 23:13:14 +0200 <monochrom> I think the first line was 0xc3 0xbc, the 2nd line was 0xfc. (My log system stores uninterpreted bytes.)
2023-10-15 23:13:30 +0200 <tomsmeding> yay!
2023-10-15 23:13:49 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds)
2023-10-15 23:14:25 +0200 <monochrom> Oh interesting, 0xc3 0xbc is UTF-8 for U+00FC.
2023-10-15 23:14:36 +0200dcoutts(~duncan@host86-146-194-46.range86-146.btcentralplus.com)
2023-10-15 23:14:49 +0200 <tomsmeding> isn't kind of the point that Latin1 is just embedded in unicode in the first 256 codepoints?
2023-10-15 23:14:51 +0200privacy(~privacy@user/privacy) (Leaving)
2023-10-15 23:14:55 +0200 <geekosaur> yes
2023-10-15 23:14:59 +0200 <geekosaur> so that's expected
2023-10-15 23:15:09 +0200 <tomsmeding> nullie: thanks :)
2023-10-15 23:15:31 +0200 <geekosaur> my client converted before logging so I can't see what they were originally
2023-10-15 23:17:41 +0200tomsmedingis off to bed
2023-10-15 23:18:45 +0200 <nullie> I had the same problem with my python bot
2023-10-15 23:24:23 +0200cpressey(~cpressey@host-92-21-195-194.as13285.net) (Quit: Client closed)
2023-10-15 23:27:54 +0200 <Inst> here's an interesting question
2023-10-15 23:28:33 +0200 <Inst> https://paste.tomsmeding.com/Hceu0Hp4
2023-10-15 23:29:27 +0200 <Inst> so, in this case, it is, imo, a bit ugly
2023-10-15 23:29:37 +0200 <geekosaur> did you intend to ask in #hackage?
2023-10-15 23:30:05 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection)
2023-10-15 23:30:08 +0200 <Inst> oh no, i was more asking, how do you refactor away the 0 term?
2023-10-15 23:30:50 +0200 <geekosaur> (confHook hooks epkg_descr flags') {…}
2023-10-15 23:30:53 +0200 <Inst> I'm not planning to, I'm not planning to make any changes for a while
2023-10-15 23:30:58 +0200hugo(znc@verdigris.lysator.liu.se)
2023-10-15 23:31:00 +0200 <Inst> no, but it's monadic code
2023-10-15 23:31:02 +0200 <geekosaur> but naming it so it can be a record update is easier
2023-10-15 23:31:25 +0200 <monochrom> Um I thought localbuildinfo0 was the refactoring?
2023-10-15 23:31:25 +0200 <Inst> the above shouldn't work because you're trying to record update an IO action, which shouldn't support record updates
2023-10-15 23:31:37 +0200 <geekosaur> oh. you lose, if it's a record update. you could use lens but I doubt that's admitted into the cabal codebase
2023-10-15 23:32:00 +0200 <Inst> only thing I can imagine is <&> \u -> u {..}
2023-10-15 23:32:08 +0200 <monochrom> localbuildinfo <- (\x -> x{pkg...}) <$> confHook hooks epkg_descr flags'
2023-10-15 23:32:32 +0200 <geekosaur> well, I guess there's that
2023-10-15 23:32:33 +0200 <Inst> tbh my antipathy for let is that it's sort of a lie, isn't it?
2023-10-15 23:32:39 +0200 <geekosaur> no?
2023-10-15 23:32:44 +0200 <geekosaur> it expands to… a let
2023-10-15 23:32:49 +0200 <Inst> you're thinking it's strict, and the term will be evaluated to at least WHNF
2023-10-15 23:33:05 +0200 <geekosaur> I'm certainly not
2023-10-15 23:33:06 +0200 <Inst> but in reality, it's not a variable assignment, it's a thunk creation
2023-10-15 23:33:06 +0200 <monochrom> Sometimes, giving subexpressions names is the refactoring.
2023-10-15 23:33:12 +0200 <Inst> i guess you're used to it
2023-10-15 23:33:30 +0200 <Inst> but it's deceptive because now laziness is factored into do notation
2023-10-15 23:33:39 +0200 <geekosaur> I'm thinking it's giving an expression a name for convenience
2023-10-15 23:33:48 +0200 <geekosaur> and nothing more
2023-10-15 23:33:54 +0200 <monochrom> Huh everyone already understands that "let" means that.
2023-10-15 23:33:55 +0200 <Inst> i don't mean you, btw
2023-10-15 23:34:08 +0200 <Inst> just, meaning people in general, people coming in from imperative languages
2023-10-15 23:34:28 +0200 <Inst> where is, at least, more honest, because it doesn't pretend to be a variable assignment
2023-10-15 23:34:39 +0200 <geekosaur> so? do we always have to code in pseudo-javascript because a newcomer might see it?
2023-10-15 23:34:59 +0200 <monochrom> No one is pretending.
2023-10-15 23:35:15 +0200 <geekosaur> this got us fmap instead of map, it got us return instead of pure, it got us RecordDotSyntax
2023-10-15 23:35:28 +0200 <geekosaur> it gets us Haskell as a worse JavaScript
2023-10-15 23:35:48 +0200 <Inst> oh no, i'm not arguing for "real" variable assignment
2023-10-15 23:36:04 +0200mikoto-chan(~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be)
2023-10-15 23:36:06 +0200 <Inst> and imo fmap is still better than map
2023-10-15 23:36:14 +0200 <Inst> map doesn't imply laws
2023-10-15 23:36:45 +0200 <Inst> i'm just trying to explain why i dislike usage of let in do notation unless you can't avoid it
2023-10-15 23:37:40 +0200 <monochrom> Now, once upon a time there were people who proposed, unsuccessfully (thank God), automatic detection of for example "getChar : getLine" being Applicative and auto-desugar to "liftA2 (:) getChar getLine" "because it looks more like mainstream syntax". Now that would be pretending.
2023-10-15 23:39:25 +0200 <monochrom> Here in Haskell, we define what "class", "type", "let" mean for Haskell, and we don't care what other people think what they would mean in other languages. Well, at least I don't,.
2023-10-15 23:39:48 +0200 <Inst> i guess it's more that i just ended up on the side of the fence that prefers where over let whenever possible
2023-10-15 23:39:57 +0200 <Inst> and having to see it back in do notation, because where can't see bindings, is annoying
2023-10-15 23:40:26 +0200 <monochrom> And no one is pretending OOP when Haskell uses the word "class" for whatever purpose Haskell actually uses it for.
2023-10-15 23:40:51 +0200 <monochrom> Oh but in this example, "where" is impossible.
2023-10-15 23:41:00 +0200 <Inst> yup, since it's referring to a bind result
2023-10-15 23:41:26 +0200 <Inst> and apparently people poo-poohed my attempt to try to push monadic code with or without do with heavy point-free
2023-10-15 23:41:32 +0200 <Inst> erm, with where
2023-10-15 23:41:49 +0200 <davean> Inst: I mean, if you think of the desugaring then what you say doesn't make sense anymore
2023-10-15 23:42:07 +0200 <davean> Inst: let can do the same things as where, you're just being confused about what the equivilent lets and wheres are
2023-10-15 23:42:22 +0200 <Inst> where iirc desugars to a top-level let before any other code
2023-10-15 23:42:32 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:58fe:b85d:458c:ca9c)
2023-10-15 23:43:48 +0200 <monochrom> No, I believe that what people poo-poohed was your syntax nitpicking.
2023-10-15 23:45:16 +0200 <Inst> i did see an example of someone's code for their production codebase that was like, lolwut in the exact other direction, though
2023-10-15 23:45:23 +0200 <Inst> so many monad chains
2023-10-15 23:45:27 +0200 <mauke> (\u -> u{ ... } -> localbuildinfo) <- confHook hooks epkg_descr flags'
2023-10-15 23:45:47 +0200 <monochrom> Haha mauke wins.
2023-10-15 23:45:52 +0200 <Inst> that actually works?
2023-10-15 23:45:59 +0200 <mauke> yes :-(
2023-10-15 23:46:17 +0200 <Inst> viewpattern
2023-10-15 23:46:27 +0200 <dolio> View patterns are that loose?
2023-10-15 23:46:38 +0200 <mauke> loose?
2023-10-15 23:46:59 +0200 <dolio> How is that parsing?
2023-10-15 23:47:27 +0200 <mauke> (fn -> pat)
2023-10-15 23:47:34 +0200 <mauke> where fn = lambda
2023-10-15 23:47:45 +0200 <dolio> Okay, yeah.
2023-10-15 23:48:00 +0200 <dolio> So, the view pattern -> is looser than the lambda ->.
2023-10-15 23:48:15 +0200 <mauke> lambda body extends as far right as possible, but no further
2023-10-15 23:48:22 +0200 <Inst> hmmm, does this work without the parens?
2023-10-15 23:48:31 +0200 <mauke> -> can't be part of the expression
2023-10-15 23:48:44 +0200 <mauke> Inst: it would surprise me
2023-10-15 23:50:02 +0200 <Inst> monochrom: about syntax, the point is more, I think I have a reasonable idea of how to do pure style, I just don't have a similar idea of how to do it when you have the option of using do
2023-10-15 23:50:28 +0200 <Inst> i was just shocked everyone just preferred making all intermediate results explicit, although when I think about it, it's actually not that bad
2023-10-15 23:50:57 +0200 <Inst> same reason when someone told me "avoid lambdas when possible, even if it cuts down on concision", and it made sense
2023-10-15 23:51:39 +0200 <monochrom> You will never get a consensus over whether one should write "x * (y + z)" or one should write "x * tmp where tmp = y + z".
2023-10-15 23:52:43 +0200 <monochrom> Even for my small example, there are OOP extremists who genuinely swear that they believe in the latter. (And obviously, conversely, FP extremists who swear by the former.)
2023-10-15 23:53:37 +0200 <monochrom> Oh and programming attracts religious extremists so reasonable people in the middle ground are actually the silent minorit
2023-10-15 23:55:53 +0200 <Inst> what happened to Oxford style, anyways?
2023-10-15 23:58:42 +0200 <EvanR> Inst, in let or where (which desugars to let), the order of definitions doesn't matter and are also recursive. So it will be tough to fooled into thinking it's imperative, side effecting, eager, assignment with a totally different syntax for long
2023-10-15 23:59:42 +0200 <EvanR> if something is confusing then how bad that is could be measured in the decay rate of confusion