2020/12/03

2020-12-03 00:00:45 +0000threadlock(~threadloc@195.140.213.38) (Remote host closed the connection)
2020-12-03 00:00:46 +0000 <ski> "not" will be "approximative" (won't be an involution)
2020-12-03 00:01:03 +0000 <ski> but yes, that's conjunction and disjunction
2020-12-03 00:01:44 +0000irc_user(uid423822@gateway/web/irccloud.com/x-fpptyyxiewbpsugc)
2020-12-03 00:02:04 +0000hackage(mniip@haskell/bot/hackage) (Ping timeout: 246 seconds)
2020-12-03 00:02:55 +0000hackage(mniip@haskell/bot/hackage)
2020-12-03 00:05:15 +0000 <ski> negation of ⌜∞⌝ is ⌜0⌝, of course, and negation of ⌜0⌝ is ⌜∞⌝. negation of positive integers will also be mapped to ⌜∞⌝
2020-12-03 00:07:55 +0000 <hekkaidekapus_> Is this about irredundant subsets?
2020-12-03 00:08:13 +0000hekkaidekapus_hekkaidekapus
2020-12-03 00:10:33 +0000 <ski> it's about (discrete) dynamical systems
2020-12-03 00:10:57 +0000elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-12-03 00:12:13 +0000drincruz(~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 264 seconds)
2020-12-03 00:12:23 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-03 00:12:31 +0000recon_-(~quassel@2602:febc:0:b6::6ca2) (Quit: No Ping reply in 180 seconds.)
2020-12-03 00:12:56 +0000 <ski> you have a type ⌜A⌝, and an endofunction ⌜α : A ⟶ A⌝. given a point in ⌜A⌝, to "advance time one step", you apply ⌜α⌝. for each point, you'll get an "orbit", if you repeat this
2020-12-03 00:12:59 +0000 <hekkaidekapus> Hmm, ok. I thought you were about to build up free sub-algebras and somehow land back to, from my guessing, what started it all (monoids, the Haskell way).
2020-12-03 00:13:04 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-12-03 00:13:16 +0000solonarv(~solonarv@anancy-651-1-197-136.w109-217.abo.wanadoo.fr) (Ping timeout: 240 seconds)
2020-12-03 00:13:36 +0000 <ski> an orbit can eventually get stuck in a loop/cycle. or it might continue on to new points, eternally (in case the carrier ⌜A⌝ is infinite)
2020-12-03 00:14:02 +0000 <ski> a cycle, or an infinite strand, can have many "hairs" on it, that can branch back like trees
2020-12-03 00:14:08 +0000recon_-(~quassel@2602:febc:0:b6::6ca2)
2020-12-03 00:16:02 +0000 <ski> a subdynamical system of ⌜⟨A,α⟩⌝ is a subset ⌜S⌝ of ⌜A⌝, such that ⌜α⌝ is closed under ⌜S⌝ -- it's restriction to ⌜S⌝ has an image that fits inside ⌜S⌝ : ⌜α|S : S ⟶ S⌝
2020-12-03 00:17:12 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-03 00:17:15 +0000livvy(~livvy@gateway/tor-sasl/livvy)
2020-12-03 00:17:46 +0000 <ski> now, if we have a point ⌜x⌝ of ⌜A⌝, we can ask whether it's included in the subobject ⌜S⌝. can ask ⌜x ∈ S⌝. the result of this question, the truth-value, is a point in the dynamical system of truth-values, ⌜Ω⌝ (the "subobject classifier")
2020-12-03 00:18:47 +0000LKoen(~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-12-03 00:20:56 +0000tromp_(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2020-12-03 00:21:28 +0000 <ski> a map between dynamical systems, ⌜f : ⟨A,α⟩ ⟶ ⟨B,β⟩⌝ consists of a function between the carriers, ⌜f : A ⟶ B⌝, satisfuying the property that if we "advance time" (using ⌜α⌝) a step in ⌜A⌝, then use ⌜f⌝ to map to ⌜B⌝, then we get the same result as if we use ⌜f⌝ directly to map over to ⌜B⌝, and then "advance time" (using ⌜β⌝) over there : ⌜f ∘ α = β
2020-12-03 00:21:34 +0000 <ski> ∘ f⌝ (or, if you prefer, ⌜∀ x : A. f(α(x)) = β(f(x))⌝)
2020-12-03 00:22:43 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-12-03 00:22:53 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-03 00:23:42 +0000Tops2(~Tobias@dyndsl-095-033-092-058.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2020-12-03 00:23:45 +0000 <hekkaidekapus> The properties you are describing are better served with visual representations.
2020-12-03 00:23:47 +0000 <ski> (so ⌜f⌝ will map any "image of points, connected by \"advance time\"", inside ⌜A⌝, to a corresponding image, inside ⌜B⌝, still connected in the same way, although possibly "smushed" a bit (blurring things together, so we can't see as much detail))
2020-12-03 00:23:52 +0000 <ski> yes
2020-12-03 00:24:22 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2020-12-03 00:24:32 +0000sagax(~sagax_nb@213.138.71.146) (Quit: Konversation terminated!)
2020-12-03 00:24:33 +0000 <hekkaidekapus> Are you into graphics? (specifically, the fractal kind)
2020-12-03 00:26:27 +0000 <ski> anyway, to describe "being an element of ⌜S⌝", we want to have a map ⌜χ_S : ⟨A,α⟩ ⟶ ⟨Ω,ω⟩⌝. it should map ⌜x⌝ to ⌜0⌝, just in case ⌜x⌝ was a member of ⌜S⌝
2020-12-03 00:26:28 +0000tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
2020-12-03 00:27:15 +0000tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2020-12-03 00:27:17 +0000 <ski> if ⌜x⌝ was not a member of ⌜S⌝, but ⌜α(x)⌝ is, then ⌜x⌝ should be mapped to ⌜1⌝. if not, but ⌜α(α(x))⌝ is, then ⌜x⌝ should be mapped to ⌜2⌝. and so on
2020-12-03 00:27:44 +0000 <ski> if no "descendant" of ⌜x⌝ is a member of ⌜S⌝, then ⌜x⌝ is mapped to ⌜∞⌝
2020-12-03 00:27:59 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 00:28:24 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 00:28:58 +0000 <ski> (once you get inside a sub-dynamical-system, like ⌜⟨S,α|S⟩⌝, you can never escape. because ⌜α|S : S ⟶ S⌝ never maps from inside to outside)
2020-12-03 00:29:56 +0000 <ski> hm, well. i find fractals interesting, sure
2020-12-03 00:29:57 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 00:30:48 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 00:31:19 +0000da39a3ee5e6b4b0d(~da39a3ee5@171.5.161.165)
2020-12-03 00:31:23 +0000 <hekkaidekapus> What if there are “multiple-descendants”? (multiple variables to the process)
2020-12-03 00:31:24 +0000borne(~fritjof@200116b864cc28008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2020-12-03 00:33:01 +0000 <hekkaidekapus> Immediate descendants, if that makes sense (not in the setting you began with, in some other system).
2020-12-03 00:33:09 +0000mcfilib_(sid302703@gateway/web/irccloud.com/x-riwkfcukospcncdx) ()
2020-12-03 00:33:19 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-03 00:33:29 +0000borne(~fritjof@200116b8640d8d008cdf581d4c1cc02f.dip.versatel-1u1.de)
2020-12-03 00:33:32 +0000mcfilib_(sid302703@gateway/web/irccloud.com/x-kgkbcflsogtbjjaz)
2020-12-03 00:33:37 +0000da39a3ee5e6b4b0d(~da39a3ee5@171.5.161.165) (Client Quit)
2020-12-03 00:33:43 +0000mcfilib_(sid302703@gateway/web/irccloud.com/x-kgkbcflsogtbjjaz) (Client Quit)
2020-12-03 00:34:09 +0000mcfilib(sid302703@gateway/web/irccloud.com/x-pupkwpbkjgigplfb)
2020-12-03 00:34:33 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net)
2020-12-03 00:34:50 +0000 <ski> (another example is to take, not dynamical systems, but (directed, multi-)graphs. there's an obvious notion of "subgraph", that similarly gives rise to a "truth-value" graph. having two nodes (⌜⊥⌝,⌜⊤⌝, "false" and "true"), and five edges (⌜⊥ : ⊥ ⟶ ⊥⌝,⌜source : ⊤ ⟶ ⊥⌝,⌜target : ⊤ ⟶ ⊥⌝,⌜ends : ⊤ ⟶ ⊤⌝,⌜⊤ : ⊤ ⟶ ⊤⌝)
2020-12-03 00:34:58 +0000Iceland_jack(~user@31.124.48.169) (Ping timeout: 246 seconds)
2020-12-03 00:35:01 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 272 seconds)
2020-12-03 00:35:04 +0000xff0x(~fox@2001:1a81:5348:9f00:a33e:b10d:3d9:e994) (Ping timeout: 240 seconds)
2020-12-03 00:35:11 +0000 <ski> well, you can take two endofunctions, rather than one, e.g.
2020-12-03 00:35:17 +0000philopsos(~caecilius@gateway/tor-sasl/caecilius) (Quit: leaving)
2020-12-03 00:35:33 +0000 <ski> so, at each turn, you can go either left or right
2020-12-03 00:35:50 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 00:36:16 +0000xff0x(~fox@2001:1a81:5348:9f00:9f14:5df2:6b84:6dea)
2020-12-03 00:36:28 +0000 <ski> (er .. sorry, should have been ⌜target : ⊥ ⟶ ⊤⌝ ..)
2020-12-03 00:36:46 +0000thc202(~thc202@unaffiliated/thc202) (Ping timeout: 244 seconds)
2020-12-03 00:37:19 +0000dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 265 seconds)
2020-12-03 00:37:43 +0000 <hekkaidekapus> Nice. Thank you for sharing, I’ll call it a night.
2020-12-03 00:38:38 +0000skinods
2020-12-03 00:38:39 +0000philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-03 00:39:17 +0000da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th)
2020-12-03 00:39:48 +0000 <ski> ("Conceptual Mathematics: A First Introduction to Categories" by F. William "Bill" Lawvere,Stephen H. Schanuel in 2009, does go into those examples, a bit)
2020-12-03 00:39:55 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 00:39:56 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 240 seconds)
2020-12-03 00:40:05 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-03 00:40:10 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-12-03 00:44:26 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 00:46:57 +0000 <koz_> :t mapMaybe
2020-12-03 00:46:58 +0000 <lambdabot> (a -> Maybe b) -> [a] -> [b]
2020-12-03 00:47:11 +0000 <koz_> @hoogle mapMaybe
2020-12-03 00:47:12 +0000 <lambdabot> Data.Maybe mapMaybe :: (a -> Maybe b) -> [a] -> [b]
2020-12-03 00:47:12 +0000 <lambdabot> Data.IntMap.Internal mapMaybe :: (a -> Maybe b) -> IntMap a -> IntMap b
2020-12-03 00:47:12 +0000 <lambdabot> Data.IntMap.Lazy mapMaybe :: (a -> Maybe b) -> IntMap a -> IntMap b
2020-12-03 00:48:20 +0000 <ski> @type (=<<) . (maybe mzero return .)
2020-12-03 00:48:22 +0000 <lambdabot> MonadPlus m => (a -> Maybe b) -> m a -> m b
2020-12-03 00:50:18 +0000 <MarcelineVQ> not quite as cool as mapPossibly
2020-12-03 00:51:48 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 00:53:45 +0000jmchael(~Chi1thang@87.112.60.168) (Ping timeout: 260 seconds)
2020-12-03 00:57:06 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-03 00:59:52 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 01:00:13 +0000lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net) (Remote host closed the connection)
2020-12-03 01:01:37 +0000alp(~alp@2a01:e0a:58b:4920:dc54:a0f8:3325:44d9) (Ping timeout: 272 seconds)
2020-12-03 01:01:41 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 260 seconds)
2020-12-03 01:04:50 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 01:05:00 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 01:05:45 +0000dhil(~dhil@195.213.192.34) (Ping timeout: 240 seconds)
2020-12-03 01:10:19 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-03 01:12:29 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-12-03 01:13:39 +0000joaj(~joaj@2001:818:e326:8200:5273:55b7:3a86:e6ca) (Ping timeout: 272 seconds)
2020-12-03 01:14:38 +0000joaj(~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771)
2020-12-03 01:14:45 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2020-12-03 01:16:29 +0000conal(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-03 01:16:34 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net)
2020-12-03 01:20:09 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 01:20:22 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-12-03 01:20:36 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-12-03 01:20:38 +0000conal(~conal@198.8.81.86)
2020-12-03 01:21:19 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 01:22:44 +0000george2829838(450c2c3e@69.12.44.62)
2020-12-03 01:23:40 +0000johnw(~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
2020-12-03 01:24:37 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 01:25:25 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-12-03 01:25:45 +0000cyphase(~cyphase@unaffiliated/cyphase) (Ping timeout: 240 seconds)
2020-12-03 01:26:12 +0000jMCg(~jMCg@195.140.213.38)
2020-12-03 01:26:18 +0000conal(~conal@198.8.81.86) (Quit: Computer has gone to sleep.)
2020-12-03 01:26:43 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 01:28:46 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 01:30:07 +0000george2829838(450c2c3e@69.12.44.62) (Remote host closed the connection)
2020-12-03 01:31:11 +0000cyphase(~cyphase@unaffiliated/cyphase)
2020-12-03 01:32:03 +0000recon_-(~quassel@2602:febc:0:b6::6ca2) (Quit: quity)
2020-12-03 01:32:23 +0000recon_-(~quassel@208.87.96.9)
2020-12-03 01:40:09 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 265 seconds)
2020-12-03 01:41:38 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds)
2020-12-03 01:41:51 +0000Lord_of_Life(~Lord@46.217.221.243)
2020-12-03 01:51:41 +0000elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Quit: WeeChat 2.9)
2020-12-03 01:52:17 +0000elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-12-03 01:52:20 +0000elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Client Quit)
2020-12-03 01:52:37 +0000NinjaTrappeur(~ninja@unaffiliated/ninjatrappeur) (Ping timeout: 260 seconds)
2020-12-03 01:52:48 +0000elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-12-03 01:58:31 +0000cyphase(~cyphase@unaffiliated/cyphase) (Ping timeout: 265 seconds)
2020-12-03 01:59:34 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-03 02:01:48 +0000cyphase(~cyphase@unaffiliated/cyphase)
2020-12-03 02:02:56 +0000NinjaTrappeur(~ninja@unaffiliated/ninjatrappeur)
2020-12-03 02:03:10 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-12-03 02:03:10 +0000m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 272 seconds)
2020-12-03 02:03:16 +0000cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 240 seconds)
2020-12-03 02:06:02 +0000miguel_clean(~Miguel@89-72-187-203.dynamic.chello.pl) (Quit: Leaving.)
2020-12-03 02:07:36 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-12-03 02:08:12 +0000guest123(~user@49.5.6.87)
2020-12-03 02:08:39 +0000fionnan(~fionnan@109.255.20.201)
2020-12-03 02:10:47 +0000inkbottle(~inkbottle@aaubervilliers-654-1-81-2.w86-212.abo.wanadoo.fr)
2020-12-03 02:12:05 +0000zebrag(~inkbottle@aaubervilliers-654-1-118-216.w86-198.abo.wanadoo.fr) (Ping timeout: 240 seconds)
2020-12-03 02:15:22 +0000Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-12-03 02:15:29 +0000dcoutts_(~dcoutts@unaffiliated/dcoutts)
2020-12-03 02:17:23 +0000Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-03 02:18:22 +0000dcoutts(~dcoutts@unaffiliated/dcoutts) (Ping timeout: 256 seconds)
2020-12-03 02:19:11 +0000hackageservant-swagger-ui 0.3.4.3.37.2 - Servant swagger ui https://hackage.haskell.org/package/servant-swagger-ui-0.3.4.3.37.2 (DavidJohnson)
2020-12-03 02:19:45 +0000halbGefressen(~halbGefre@2a02:810d:f40:2a9c:40b2:2308:84bd:8b9b) (Quit: halbGefressen)
2020-12-03 02:19:58 +0000m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de)
2020-12-03 02:20:36 +0000Khisanth(~Khisanth@56.sub-174-244-145.myvzw.com) (Ping timeout: 240 seconds)
2020-12-03 02:23:15 +0000jollygood2(~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2020-12-03 02:24:09 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-12-03 02:25:50 +0000xff0x(~fox@2001:1a81:5348:9f00:9f14:5df2:6b84:6dea) (Ping timeout: 264 seconds)
2020-12-03 02:26:41 +0000hackageservant-swagger-ui-core 0.3.4 - Servant swagger ui core components https://hackage.haskell.org/package/servant-swagger-ui-core-0.3.4 (DavidJohnson)
2020-12-03 02:26:49 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-03 02:27:31 +0000xff0x(~fox@2001:1a81:5384:5000:270f:7277:a2a:3b14)
2020-12-03 02:28:33 +0000 <iqubic> :t many
2020-12-03 02:28:35 +0000 <lambdabot> Alternative f => f a -> f [a]
2020-12-03 02:28:40 +0000 <iqubic> What does this even do?
2020-12-03 02:29:03 +0000 <Axman6> runs the f a until it fails and returns all results
2020-12-03 02:29:20 +0000 <Axman6> @src many
2020-12-03 02:29:21 +0000 <lambdabot> Source not found. Sorry.
2020-12-03 02:30:25 +0000 <iqubic> But how would the f a action have multiple results?
2020-12-03 02:30:43 +0000 <Axman6> f ~ Parser
2020-12-03 02:30:43 +0000shinobi_(~shinobi@c-24-147-48-162.hsd1.ma.comcast.net)
2020-12-03 02:31:13 +0000 <iqubic> huh? What do you mean?
2020-12-03 02:31:13 +0000 <Axman6> char :: Char -> Parser Char, many (char 'a') runnagainst "aaabbb" would return "aaa"
2020-12-03 02:31:20 +0000 <iqubic> Ah I see. That makes sense.
2020-12-03 02:31:40 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
2020-12-03 02:32:03 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-03 02:33:18 +0000 <iqubic> How does many work?
2020-12-03 02:33:45 +0000shinobi(~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2020-12-03 02:34:15 +0000Khisanth(~Khisanth@115.sub-174-197-143.myvzw.com)
2020-12-03 02:34:15 +0000 <Axman6> many f = ((:) <$> f a <*> many f) <|> pure []
2020-12-03 02:34:46 +0000 <Axman6> one of those recursive calls to many f will eventually return [] because the f failed
2020-12-03 02:35:00 +0000 <Axman6> uh, should be (:) <$> f <*> ...
2020-12-03 02:36:00 +0000 <iqubic> So it will run `f a` again and again and again until it fails?
2020-12-03 02:36:24 +0000 <iqubic> That's very powerful.
2020-12-03 02:36:51 +0000 <Axman6> it'll run f again (which has type f a, sorry)
2020-12-03 02:37:10 +0000shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-12-03 02:37:12 +0000 <Axman6> it is powerful, but can be prone to doing too much
2020-12-03 02:37:20 +0000 <Axman6> which is why things like manyTill exist
2020-12-03 02:37:24 +0000 <Axman6> :t manyTill
2020-12-03 02:37:26 +0000 <lambdabot> error: Variable not in scope: manyTill
2020-12-03 02:37:32 +0000 <Axman6> @hoogle manyTill
2020-12-03 02:37:32 +0000 <lambdabot> Text.ParserCombinators.ReadP manyTill :: ReadP a -> ReadP end -> ReadP [a]
2020-12-03 02:37:32 +0000 <lambdabot> Text.Parsec manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
2020-12-03 02:37:32 +0000 <lambdabot> Text.Parsec.Combinator manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
2020-12-03 02:37:45 +0000shatriff(~vitaliish@176.52.219.10)
2020-12-03 02:37:50 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 02:38:27 +0000 <iqubic> What does manyTill do again?
2020-12-03 02:38:49 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-03 02:38:53 +0000 <Axman6> which is something like manyTill fa fend = (fend $> []) <|> ((:) <$> fa <*> manyTill fa fend), i.e., parse as many a's as you can until fend succeeds
2020-12-03 02:39:05 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-03 02:39:13 +0000 <iqubic> Ah.
2020-12-03 02:40:17 +0000 <iqubic> manyTill letterChar (char ",") "abcdefghi, 12345"
2020-12-03 02:40:26 +0000 <iqubic> Something like that might return just the letters.
2020-12-03 02:41:13 +0000 <Axman6> so parsing some numbers in the format [1,2,3,4] might look like: char '[' *> ((:) <$> int <*> manyTill (char ',' *> int) (char ']')
2020-12-03 02:41:51 +0000 <Axman6> uh, though that won't work for empty lists
2020-12-03 02:42:04 +0000 <iqubic> Right, except that parser combinators give us something better:
2020-12-03 02:42:07 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 02:42:51 +0000 <iqubic> https://hackage.haskell.org/package/parser-combinators-1.2.1/docs/Control-Applicative-Combinators.…
2020-12-03 02:43:17 +0000 <iqubic> Actually, you'd just want sepBy.
2020-12-03 02:43:18 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-03 02:43:20 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-03 02:43:24 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-12-03 02:43:38 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-03 02:43:45 +0000 <iqubic> This is going to useful for remembering how Megaparsec works when doing Advent Of Code tonight.
2020-12-03 02:46:14 +0000joaj(~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771) (Ping timeout: 264 seconds)
2020-12-03 02:46:27 +0000poi(6f63120c@KD111099018012.ppp-bb.dion.ne.jp)
2020-12-03 02:46:52 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 02:47:03 +0000 <Axman6> yeah I was going to say there's definitely preexisting combinators for exactly this sort of parsing, since these patternsd are so common
2020-12-03 02:49:17 +0000 <iqubic> Yeah.
2020-12-03 02:49:52 +0000 <iqubic> I just wrote this for myself: http://dpaste.com/3JUVJ2QXS
2020-12-03 02:50:02 +0000 <iqubic> I think that should do what I want.
2020-12-03 02:50:54 +0000Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-03 02:53:36 +0000text70(48b61385@072-182-019-133.res.spectrum.com)
2020-12-03 02:53:38 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net)
2020-12-03 02:53:59 +0000guest123(~user@49.5.6.87) (Read error: Connection reset by peer)
2020-12-03 02:54:37 +0000guest123(~user@49.5.6.87)
2020-12-03 02:54:38 +0000lassulus(~lassulus@NixOS/user/lassulus) (Ping timeout: 256 seconds)
2020-12-03 02:54:48 +0000 <koala_man> how can I get the path to a cabal built executable?
2020-12-03 02:55:56 +0000vg(~vg@139.59.59.230)
2020-12-03 02:55:56 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-03 02:56:17 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-03 02:56:39 +0000 <dibblego> you can use the --installdir flag to cabal install to know where it is, at least
2020-12-03 02:56:56 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-12-03 02:57:11 +0000guest123(~user@49.5.6.87) (Remote host closed the connection)
2020-12-03 02:57:19 +0000guest123(~user@49.5.6.87)
2020-12-03 02:57:33 +0000vgTooDifficult
2020-12-03 02:58:37 +0000poi(6f63120c@KD111099018012.ppp-bb.dion.ne.jp) (Remote host closed the connection)
2020-12-03 03:00:38 +0000irc_user(uid423822@gateway/web/irccloud.com/x-fpptyyxiewbpsugc) (Quit: Connection closed for inactivity)
2020-12-03 03:01:16 +0000 <ezzieyguywuf> so, I'm using config-value (and I really like it!) but I could use some advice, or maybe just bounce some ideas, regarding my config file structure. here is an example of what I currently have, but I'm wondering if there is some better way to have the user provide a list of (match-strings, new-description) pairs. https://dpaste.com/6A6Z4K7LL
2020-12-03 03:02:10 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 03:03:36 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2020-12-03 03:05:41 +0000drbean(~drbean@TC210-63-209-27.static.apol.com.tw)
2020-12-03 03:06:38 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 03:08:46 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 03:08:51 +0000 <monochrom> koala_man: There are two defaults, depending on v1 commands vs v2 commands. $HOME/.cabal/bin and $HOME/.local/bin
2020-12-03 03:09:30 +0000 <glguy> ezzieyguywuf, I would say just don't use key-value pairs, instead use a list
2020-12-03 03:09:43 +0000 <monochrom> I highly recommend customizing $HOME/.cabal/config to set them to what works best for you.
2020-12-03 03:09:59 +0000urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-12-03 03:10:20 +0000 <glguy> ezzieyguywuf, like what I have in the example config file here: https://github.com/glguy/irc-core a list of servers
2020-12-03 03:11:27 +0000pjb(~t@2a01cb04063ec500c51bcad49f8457d6.ipv6.abo.wanadoo.fr) (Ping timeout: 272 seconds)
2020-12-03 03:12:56 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 03:13:09 +0000 <ezzieyguywuf> glguy: now, is servers strictly a list, or can it contain a section that would apply to all servers listed?
2020-12-03 03:13:32 +0000 <ezzieyguywuf> similar to how in the example I posted, any of the matches get the same DebitAccount and CreditAccount
2020-12-03 03:13:49 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-03 03:13:54 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 03:14:04 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-03 03:14:52 +0000lassulus(~lassulus@NixOS/user/lassulus) (Ping timeout: 256 seconds)
2020-12-03 03:17:47 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 03:18:20 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-03 03:18:37 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-03 03:18:59 +0000 <glguy> I have a separate "default" entry
2020-12-03 03:20:14 +0000 <texasmynsted> Before I go all crazy... This should be possible right? I want to use parseTimeM and parse a String that may be in one of a dozen formats.
2020-12-03 03:21:23 +0000 <ezzieyguywuf> glguy: hrm, yes I see, however in my case I would have the equivalent of "servers1", "servers2", "servers3" etc... each needing their own "default1", "default2", "default3", etc, in which case mimicking the approach in irc-core makes a bit less sense I think
2020-12-03 03:21:34 +0000 <ezzieyguywuf> texasmynsted: yes.
2020-12-03 03:22:08 +0000 <ezzieyguywuf> texasmynsted: though you'll have to, of course, write a format string for each of the dozens that you wish to match
2020-12-03 03:22:22 +0000 <texasmynsted> I have that part.
2020-12-03 03:22:53 +0000 <ezzieyguywuf> texasmynsted: i think there's one that returns a Maybe or something...h/o let me check the doc
2020-12-03 03:23:15 +0000 <texasmynsted> I am trying to think of the correct way to keep trying until I get a Just or run out of options
2020-12-03 03:23:33 +0000 <texasmynsted> parseTimeM returns a Maybe
2020-12-03 03:24:16 +0000 <texasmynsted> I have it working find for a known, single format. It either parses it correctly or leaves it alone.
2020-12-03 03:24:49 +0000RusAlex(~Chel@unaffiliated/rusalex) (Ping timeout: 260 seconds)
2020-12-03 03:24:56 +0000guest123(~user@49.5.6.87) (Ping timeout: 240 seconds)
2020-12-03 03:25:05 +0000m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds)
2020-12-03 03:25:18 +0000 <texasmynsted> Now I want to it to parse it correctly or keep trying until it works, or runs out of formats and thus leaves the value alone
2020-12-03 03:25:19 +0000 <ezzieyguywuf> ah, yes well there you go.
2020-12-03 03:25:47 +0000 <ezzieyguywuf> so you could do an fmap over all your formatstrings, and then check if you get any Just's
2020-12-03 03:25:56 +0000RusAlex(~Chel@unaffiliated/rusalex)
2020-12-03 03:25:59 +0000 <ezzieyguywuf> or there may be a better way to do that, like "until" or something
2020-12-03 03:26:02 +0000 <texasmynsted> I guess I could just keep working recursively over a list formats
2020-12-03 03:27:43 +0000 <ezzieyguywuf> texasmynsted: if I were to take a stab at it, I guess I'd start with `fmap (flip (parseTimeM True defaulteTimeLocale) inputString) listOfFormats` and go from there
2020-12-03 03:28:09 +0000 <ezzieyguywuf> though again, there may be a more efficient way to do this, i.e. stop at the first match rather than checking each format
2020-12-03 03:28:26 +0000 <texasmynsted> okay
2020-12-03 03:28:37 +0000 <texasmynsted> I was thinking something like asum might be of use
2020-12-03 03:28:49 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-03 03:29:03 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-03 03:29:18 +0000 <sm[m]> Me too
2020-12-03 03:30:33 +0000 <texasmynsted> :-)
2020-12-03 03:30:40 +0000 <texasmynsted> Okay this sounds worth a try then
2020-12-03 03:30:46 +0000 <texasmynsted> Thank you
2020-12-03 03:31:11 +0000hackageimplicit-hie-cradle 0.3.0.1 - Auto generate hie-bios cradles https://hackage.haskell.org/package/implicit-hie-cradle-0.3.0.1 (Avi_Dessauer)
2020-12-03 03:31:59 +0000 <ezzieyguywuf> texasmynsted: maybe something like this? https://dpaste.com/3KGZMHFPX
2020-12-03 03:32:47 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 03:33:00 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 03:33:36 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit)
2020-12-03 03:33:51 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com)
2020-12-03 03:34:29 +0000lagothrixGuest79853
2020-12-03 03:34:29 +0000Guest79853(~lagothrix@unaffiliated/lagothrix) (Killed (verne.freenode.net (Nickname regained by services)))
2020-12-03 03:34:35 +0000lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-12-03 03:35:45 +0000texasmyn_(~texasmyns@212.102.45.103)
2020-12-03 03:35:48 +0000 <texasmyn_> nice thank you.
2020-12-03 03:36:05 +0000theDon(~td@94.134.91.130) (Ping timeout: 240 seconds)
2020-12-03 03:36:31 +0000 <ezzieyguywuf> texasmyn_: 👍️
2020-12-03 03:36:37 +0000 <ezzieyguywuf> texasmyn_: good luck!
2020-12-03 03:37:50 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 03:38:06 +0000 <ezzieyguywuf> texasmyn_: I think fromMaybe can help you clean that up a hair
2020-12-03 03:38:20 +0000theDon(~td@muedsl-82-207-238-021.citykom.de)
2020-12-03 03:38:22 +0000lassulus(~lassulus@NixOS/user/lassulus) (Ping timeout: 246 seconds)
2020-12-03 03:38:50 +0000texasmynsted(~texasmyns@212.102.44.36) (Ping timeout: 256 seconds)
2020-12-03 03:42:24 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net)
2020-12-03 03:44:46 +0000 <glguy> ezzieyguywuf, I don't understand your use-case yet, then
2020-12-03 03:45:00 +0000 <glguy> ezzieyguywuf, do you know how you'd write it if you didn't have to conform to my existing ideas?
2020-12-03 03:46:17 +0000 <iqubic> I wish I had a function foo that acts exactly like id if the input is a String, but runs Show on the input otherwise.
2020-12-03 03:46:38 +0000 <iqubic> Does something like that exist?
2020-12-03 03:47:06 +0000 <iqubic> Mainly I want to avoid having "\"foobarbaz\"" as the output of this function
2020-12-03 03:47:32 +0000 <iqubic> I'd probably have to write a typeclass, and then use flexible instances or something.
2020-12-03 03:48:28 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-03 03:50:56 +0000 <glguy> ezzieyguywuf, what about this? https://paste.tomsmeding.com/iuhpMcF1
2020-12-03 03:53:15 +0000adm_(~adm@117.208.17.143)
2020-12-03 03:54:46 +0000 <ezzieyguywuf> glguy: that's perfect!
2020-12-03 03:55:05 +0000 <ezzieyguywuf> I knew it was doable, I think I was just too deep in it to get there
2020-12-03 03:56:14 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 03:56:24 +0000 <glguy> I generally don't like user-defined keys in key-value maps
2020-12-03 03:56:30 +0000 <glguy> (for config)
2020-12-03 03:56:41 +0000Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 260 seconds)
2020-12-03 03:58:23 +0000 <ezzieyguywuf> glguy: i.e. the way I originally had it?
2020-12-03 03:58:33 +0000 <ezzieyguywuf> b/c yea, that was rubbing me the wrong way
2020-12-03 03:58:35 +0000 <glguy> yeah, and for the very reason you complained about
2020-12-03 03:58:41 +0000hackageimplicit-hie-cradle 0.3.0.2 - Auto generate hie-bios cradles https://hackage.haskell.org/package/implicit-hie-cradle-0.3.0.2 (Avi_Dessauer)
2020-12-03 03:59:00 +0000 <glguy> I don't want the section naming lexical syntax to impose contraints on semantically important configuration stuff
2020-12-03 03:59:15 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 03:59:29 +0000trepanger(~z@ics141-225.icsincorporated.com) (Ping timeout: 260 seconds)
2020-12-03 03:59:34 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Read error: Connection reset by peer)
2020-12-03 03:59:50 +0000 <glguy> I know a lot of other languages like this just let you use arbitrary values as keys
2020-12-03 04:00:02 +0000haasn(~nand@mpv/developer/haasn) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2020-12-03 04:00:09 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 04:01:22 +0000haasn(~nand@mpv/developer/haasn)
2020-12-03 04:01:50 +0000borne(~fritjof@200116b8640d8d008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
2020-12-03 04:02:28 +0000lassulus(~lassulus@NixOS/user/lassulus) (Ping timeout: 256 seconds)
2020-12-03 04:03:20 +0000adm_(~adm@117.208.17.143) (Remote host closed the connection)
2020-12-03 04:06:02 +0000rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo)
2020-12-03 04:06:03 +0000trepanger(~z@ics141-225.icsincorporated.com)
2020-12-03 04:06:24 +0000loller(uid358106@gateway/web/irccloud.com/x-rrjevhwdhvmhkvwa) (Quit: Connection closed for inactivity)
2020-12-03 04:07:20 +0000dftxbs3e(~dftxbs3e@unaffiliated/dftxbs3e)
2020-12-03 04:07:59 +0000Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-03 04:10:53 +0000adm_(~adm@117.208.17.143)
2020-12-03 04:12:40 +0000Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 256 seconds)
2020-12-03 04:14:13 +0000 <texasmyn_> This is what I have so far... https://gist.github.com/mmynsted/e5ef944c65959fee414ce4a56bb8451c
2020-12-03 04:15:26 +0000 <texasmyn_> My initial test it has not found the format from those I provided, though it should. It is times like this I wish I knew a quick way to throw in some debug logging.
2020-12-03 04:20:32 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 04:21:46 +0000wei2912(~wei2912@unaffiliated/wei2912)
2020-12-03 04:23:14 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 04:23:31 +0000 <iqubic> Does ghcid work with cabal repl?
2020-12-03 04:24:33 +0000nineonine(~nineonine@50.216.62.2)
2020-12-03 04:25:22 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 04:25:46 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 04:25:52 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-03 04:27:47 +0000polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
2020-12-03 04:28:21 +0000 <dsal> texasmyn_: Debug.Trace
2020-12-03 04:28:36 +0000drbean(~drbean@TC210-63-209-27.static.apol.com.tw) (Ping timeout: 240 seconds)
2020-12-03 04:29:04 +0000 <texasmyn_> dsal: Okay I will check that out.
2020-12-03 04:29:14 +0000 <texasmyn_> At least is works in my Tasty tests.
2020-12-03 04:29:28 +0000 <texasmyn_> I mean At least it works in my Tasty tests.
2020-12-03 04:29:30 +0000 <MarcelineVQ> iqubic: ghcid -c 'cabal repl'
2020-12-03 04:29:41 +0000 <iqubic> I've got it. Thanks.
2020-12-03 04:30:49 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-03 04:32:13 +0000 <texasmyn_> ooh :-) Yes, looks like Debug.Trace is exactly what I am looking for
2020-12-03 04:32:17 +0000 <texasmyn_> Thank you dsal
2020-12-03 04:35:44 +0000benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 240 seconds)
2020-12-03 04:36:09 +0000text70(48b61385@072-182-019-133.res.spectrum.com) (Remote host closed the connection)
2020-12-03 04:36:14 +0000argent0(~argent0@168.227.96.53)
2020-12-03 04:36:17 +0000mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0)
2020-12-03 04:36:59 +0000TooDifficult(~vg@139.59.59.230) (Quit: TooDifficult)
2020-12-03 04:37:15 +0000erisco(~erisco@d24-57-249-233.home.cgocable.net) (Read error: Connection reset by peer)
2020-12-03 04:37:22 +0000TooDifficult(~TooDiffic@139.59.59.230)
2020-12-03 04:41:21 +0000 <monochrom> texasmyn_: My Debug.Trace tutorial: http://www.cs.utoronto.ca/~trebla/CSCC24-2020-Summer/tracing.html
2020-12-03 04:41:43 +0000Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-03 04:41:43 +0000TooDifficult(~TooDiffic@139.59.59.230) (Ping timeout: 246 seconds)
2020-12-03 04:41:45 +0000 <monochrom> As it happens, my students were also asking how to print debugging messages.
2020-12-03 04:42:20 +0000 <monochrom> To their discredit, I already gave them the link on the course website long before they asked.
2020-12-03 04:42:41 +0000 <dibblego> never tell students about Debug.Trace
2020-12-03 04:43:27 +0000 <monochrom> Denied.
2020-12-03 04:43:43 +0000 <dibblego> let putStrLn = trace
2020-12-03 04:43:44 +0000 <monochrom> I have a student who was trying: case putStrLn "hi" of _ -> ...
2020-12-03 04:44:10 +0000 <dibblego> it's also to give you deniability for when they discover it themselves
2020-12-03 04:44:17 +0000adm_(~adm@117.208.17.143) ()
2020-12-03 04:44:26 +0000 <monochrom> Down that road is "how do I extract a from IO a" and discovering unsafePerformIO from googling
2020-12-03 04:44:33 +0000 <dibblego> fun ey?
2020-12-03 04:44:41 +0000 <monochrom> No, Debug.Trace is infinitely better in comparison.
2020-12-03 04:44:43 +0000 <dibblego> I cover that question in lecture 1
2020-12-03 04:45:00 +0000 <dibblego> if you ever ask yourself, "how do I get the a out (f a), the answer is bind, write this in your notes"
2020-12-03 04:45:56 +0000Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 240 seconds)
2020-12-03 04:46:16 +0000benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60)
2020-12-03 04:47:19 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds)
2020-12-03 04:48:08 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 04:50:05 +0000ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2020-12-03 04:50:36 +0000Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-03 04:51:00 +0000blankhart(~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 272 seconds)
2020-12-03 04:52:53 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-12-03 04:53:19 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 04:54:32 +0000Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-12-03 04:54:32 +0000Unicorn_Princess(~Unicorn_P@89-212-115-169.static.t-2.net) (Read error: Connection reset by peer)
2020-12-03 04:54:53 +0000Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-12-03 04:55:25 +0000Unicorn_Princess(~Unicorn_P@89-212-115-169.static.t-2.net)
2020-12-03 05:01:54 +0000andreas303(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2020-12-03 05:02:38 +0000 <ezzieyguywuf> glguy: I created some more vim stuf for config-value if you're interested, it builds on the syntax file you made but also adds (1) filetype detection, (2) proper handling of comments. https://gitlab.com/ezzieyguywuf/vim-config-value
2020-12-03 05:04:58 +0000andreas303(~andreas@gateway/tor-sasl/andreas303)
2020-12-03 05:09:23 +0000 <texasmyn_> wow hello dibblego
2020-12-03 05:09:29 +0000 <texasmyn_> I never see you here
2020-12-03 05:09:36 +0000texasmyn_texasmynsted
2020-12-03 05:09:44 +0000 <texasmynsted> How are things?
2020-12-03 05:09:47 +0000benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 260 seconds)
2020-12-03 05:09:57 +0000 <dibblego> hey mate, pretty good
2020-12-03 05:11:03 +0000 <texasmynsted> :-)
2020-12-03 05:11:35 +0000benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61)
2020-12-03 05:14:16 +0000Tario(~Tario@201.192.165.173) (Ping timeout: 246 seconds)
2020-12-03 05:16:34 +0000boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-12-03 05:21:15 +0000Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-03 05:21:19 +0000petersen(~petersen@redhat/juhp)
2020-12-03 05:25:52 +0000Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 265 seconds)
2020-12-03 05:26:56 +0000 <texasmynsted> Any new training, or flying or anything?
2020-12-03 05:27:48 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-12-03 05:30:04 +0000 <dibblego> yes, I fly about 20 hours per week, doing written exams lately; did formation and RG endorsement recently
2020-12-03 05:30:07 +0000conal(~conal@64.71.133.70)
2020-12-03 05:32:25 +0000Iceland_jack(~user@31.124.48.169)
2020-12-03 05:32:35 +0000 <texasmynsted> oh nice
2020-12-03 05:32:45 +0000 <texasmynsted> 20 hours is a lot of flying
2020-12-03 05:33:23 +0000 <dibblego> from first to last civil twilight, each weekend
2020-12-03 05:33:57 +0000 <dibblego> also did a night rating, so sometimes then too
2020-12-03 05:34:42 +0000 <texasmynsted> :-)
2020-12-03 05:34:44 +0000 <texasmynsted> Wow fun
2020-12-03 05:34:55 +0000alx741(~alx741@186.178.110.121) (Ping timeout: 246 seconds)
2020-12-03 05:35:28 +0000 <dibblego> day flight is all flight instruction, I fly at night for fun occasionally
2020-12-03 05:36:08 +0000elliott_(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2020-12-03 05:36:36 +0000 <texasmynsted> I love the idea of flying but might panic a bit for the landing
2020-12-03 05:36:52 +0000 <dibblego> just close ya eyes and hope
2020-12-03 05:37:47 +0000 <texasmynsted> LOL
2020-12-03 05:38:13 +0000 <dibblego> that's what most of my students do anyway
2020-12-03 05:38:13 +0000 <texasmynsted> Catch you later.
2020-12-03 05:38:19 +0000 <dibblego> scratchya
2020-12-03 05:40:27 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-03 05:41:49 +0000conal(~conal@64.71.133.70)
2020-12-03 05:43:42 +0000Jonkimi727406120(~Jonkimi@119.123.243.225)
2020-12-03 05:43:47 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 05:43:57 +0000cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-03 05:48:00 +0000alx741(~alx741@186.178.110.235)
2020-12-03 05:48:04 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 240 seconds)
2020-12-03 05:49:22 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 05:50:33 +0000da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-03 05:52:38 +0000 <glguy> ezzieyguywuf: pull requests encouraged :)
2020-12-03 05:53:12 +0000zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2020-12-03 05:54:16 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-03 05:55:03 +0000pthariensflame(~pthariens@2600:6c52:7280:100:3526:4e41:9f18:1bc7)
2020-12-03 05:55:16 +0000pthariensflame(~pthariens@2600:6c52:7280:100:3526:4e41:9f18:1bc7) (Client Quit)
2020-12-03 05:55:26 +0000jMCg(~jMCg@195.140.213.38) (Remote host closed the connection)
2020-12-03 05:57:21 +0000zaquest(~notzaques@5.128.210.178)
2020-12-03 05:57:24 +0000zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2020-12-03 05:57:45 +0000livvy(~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection)
2020-12-03 05:57:53 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 05:58:22 +0000MrSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-03 05:59:09 +0000MrSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-03 05:59:46 +0000Techcable(znc@irc.techcable.net) (Ping timeout: 256 seconds)
2020-12-03 06:01:38 +0000nullheroes(~danielvu@168.235.66.22) (Ping timeout: 256 seconds)
2020-12-03 06:03:13 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-03 06:03:25 +0000dmiles(~dmiles@c-73-67-179-188.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
2020-12-03 06:03:31 +0000livvy(~livvy@gateway/tor-sasl/livvy)
2020-12-03 06:04:01 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 06:04:45 +0000texasmynsted(~texasmyns@212.102.45.103) (Ping timeout: 240 seconds)
2020-12-03 06:05:54 +0000alp(~alp@2a01:e0a:58b:4920:2c52:ef0a:5cc:82b2)
2020-12-03 06:08:26 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 06:09:49 +0000rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-03 06:10:26 +0000nullheroes(~danielvu@168.235.66.22)
2020-12-03 06:11:02 +0000vicfred_(~vicfred@unaffiliated/vicfred)
2020-12-03 06:11:23 +0000Techcable(znc@irc.techcable.net)
2020-12-03 06:12:41 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-03 06:13:59 +0000vicfred(~vicfred@unaffiliated/vicfred) (Ping timeout: 260 seconds)
2020-12-03 06:14:29 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 06:15:56 +0000nullheroes(~danielvu@168.235.66.22) (Ping timeout: 240 seconds)
2020-12-03 06:16:08 +0000Techcable(znc@irc.techcable.net) (Ping timeout: 256 seconds)
2020-12-03 06:16:17 +0000mounty(~mounty@2001:8000:2f59:0:348e:496f:dd83:259f) (Ping timeout: 260 seconds)
2020-12-03 06:18:43 +0000vicfred_(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-12-03 06:19:13 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 06:21:06 +0000alp(~alp@2a01:e0a:58b:4920:2c52:ef0a:5cc:82b2) (Remote host closed the connection)
2020-12-03 06:21:25 +0000alp(~alp@2a01:e0a:58b:4920:8402:ce99:23ef:5435)
2020-12-03 06:24:38 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 06:25:18 +0000Techcable(znc@irc.techcable.net)
2020-12-03 06:25:48 +0000z0k(~user@101.50.127.33) (Ping timeout: 265 seconds)
2020-12-03 06:26:07 +0000echoreply(~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1)
2020-12-03 06:26:09 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 06:26:26 +0000xff0x(~fox@2001:1a81:5384:5000:270f:7277:a2a:3b14) (Ping timeout: 264 seconds)
2020-12-03 06:26:35 +0000echoreply(~echoreply@unaffiliated/echoreply)
2020-12-03 06:27:02 +0000xff0x(~fox@port-92-193-204-144.dynamic.as20676.net)
2020-12-03 06:27:40 +0000z0k(~user@101.50.127.33)
2020-12-03 06:29:08 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds)
2020-12-03 06:29:26 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 06:29:49 +0000nullheroes(~danielvu@168.235.66.22)
2020-12-03 06:30:42 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-03 06:31:19 +0000lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net)
2020-12-03 06:31:34 +0000mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca)
2020-12-03 06:31:47 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2020-12-03 06:32:11 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2020-12-03 06:34:49 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 06:35:25 +0000lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net) (Ping timeout: 240 seconds)
2020-12-03 06:36:10 +0000alp(~alp@2a01:e0a:58b:4920:8402:ce99:23ef:5435) (Remote host closed the connection)
2020-12-03 06:36:23 +0000noecho(~noecho@static.143.42.203.116.clients.your-server.de) (Quit: ZNC - http://znc.in)
2020-12-03 06:36:31 +0000alp(~alp@2a01:e0a:58b:4920:c0f7:91e2:75ec:62f6)
2020-12-03 06:36:53 +0000noecho(~noecho@2a01:4f8:1c0c:80ee::4223)
2020-12-03 06:37:03 +0000macrover(~macrover@ip68-108-126-211.lv.lv.cox.net)
2020-12-03 06:37:53 +0000coot(~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl)
2020-12-03 06:38:26 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 06:39:01 +0000hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.)
2020-12-03 06:39:37 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 06:39:53 +0000gioyik_(~gioyik@186.112.99.244)
2020-12-03 06:42:12 +0000gioyik(~gioyik@186.118.250.147) (Ping timeout: 256 seconds)
2020-12-03 06:43:45 +0000keviv_(~keviv@35.142.17.117)
2020-12-03 06:47:08 +0000feb(~feb@178.162.212.214)
2020-12-03 06:48:34 +0000johnw(~johnw@haskell/developer/johnw)
2020-12-03 06:48:54 +0000sagax(~sagax_nb@213.138.71.146)
2020-12-03 06:49:57 +0000alp(~alp@2a01:e0a:58b:4920:c0f7:91e2:75ec:62f6) (Ping timeout: 272 seconds)
2020-12-03 06:50:28 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 06:50:29 +0000kupi(uid212005@gateway/web/irccloud.com/x-uzfuhbaegjptzqnv) (Quit: Connection closed for inactivity)
2020-12-03 06:52:52 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-12-03 06:54:58 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-12-03 06:56:31 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 07:01:08 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds)
2020-12-03 07:02:30 +0000jasperr(~gazso@91-82-250-42.pool.digikabel.hu)
2020-12-03 07:04:06 +0000 <jasperr> hello everybody
2020-12-03 07:04:25 +0000nineonine(~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
2020-12-03 07:05:05 +0000 <jasperr> maybe I am missing something very trivial... I would like to use XsdToHaskell and DtdToHaskell on debian buster distribution
2020-12-03 07:05:57 +0000lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net)
2020-12-03 07:07:12 +0000boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Quit: Connection closed)
2020-12-03 07:07:20 +0000 <jasperr> as far as I see I have all the related ghc-* packages installed from the debian apt repositories, however I cannot find a way to get these utilities... including the -dev packages as well
2020-12-03 07:08:38 +0000Sheilong(uid293653@gateway/web/irccloud.com/x-djudanwmexelqxja) (Quit: Connection closed for inactivity)
2020-12-03 07:10:14 +0000DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
2020-12-03 07:11:54 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-03 07:12:25 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-03 07:13:54 +0000DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-12-03 07:14:08 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 272 seconds)
2020-12-03 07:16:58 +0000knupfer(~Thunderbi@i5E86B442.versanet.de)
2020-12-03 07:18:49 +0000bitmapper(uid464869@gateway/web/irccloud.com/x-azvgqwppafppryvm) (Quit: Connection closed for inactivity)
2020-12-03 07:19:43 +0000ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
2020-12-03 07:20:48 +0000echoreply(~echoreply@unaffiliated/echoreply) (Ping timeout: 256 seconds)
2020-12-03 07:21:43 +0000gioyik_(~gioyik@186.112.99.244) (Quit: WeeChat 3.0)
2020-12-03 07:23:35 +0000 <jasperr> digging a bit I found /usr/bin/DtdToHaskell coming from debian package haxml, XsdToHaskell is simply not provided, I do not understand why
2020-12-03 07:24:11 +0000argent0(~argent0@168.227.96.53) (Remote host closed the connection)
2020-12-03 07:27:56 +0000knupfer(~Thunderbi@i5E86B442.versanet.de) (Ping timeout: 240 seconds)
2020-12-03 07:30:26 +0000alp(~alp@2a01:e0a:58b:4920:bd96:e74f:fabb:2840)
2020-12-03 07:31:41 +0000 <glguy> jasperr: in that case you might just have to build it outside of the package system
2020-12-03 07:32:16 +0000stree(~stree@50-108-78-9.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2020-12-03 07:32:34 +0000stree(~stree@50-108-78-9.adr01.mskg.mi.frontiernet.net)
2020-12-03 07:35:24 +0000bitmagie(~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de)
2020-12-03 07:36:26 +0000 <jasperr> I see... I do not like this idea that much
2020-12-03 07:38:12 +0000dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de)
2020-12-03 07:38:28 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds)
2020-12-03 07:40:54 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 07:41:05 +0000monochrom(trebla@216.138.220.146) (Ping timeout: 240 seconds)
2020-12-03 07:41:17 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 07:41:20 +0000dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2020-12-03 07:41:22 +0000jlamothe(~jlamothe@198.251.55.207) (Ping timeout: 256 seconds)
2020-12-03 07:41:27 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-03 07:42:06 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit)
2020-12-03 07:43:30 +0000bitmagie(~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-03 07:44:55 +0000L29Ah(~L29Ah@unaffiliated/l29ah)
2020-12-03 07:46:44 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-03 07:46:45 +0000tessier(~treed@kernel-panic/copilotco) (Ping timeout: 240 seconds)
2020-12-03 07:47:14 +0000Unicorn_Princess(~Unicorn_P@89-212-115-169.static.t-2.net) (Quit: Leaving)
2020-12-03 07:48:03 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 07:48:14 +0000jlamothe(~jlamothe@198.251.55.207)
2020-12-03 07:48:39 +0000zaquest(~notzaques@5.128.210.178)
2020-12-03 07:48:41 +0000hackagenothunks 0.1.2 - Examine values for unexpected thunks https://hackage.haskell.org/package/nothunks-0.1.2 (EdskoDeVries)
2020-12-03 07:48:42 +0000zaquest(~notzaques@5.128.210.178) (Read error: Connection reset by peer)
2020-12-03 07:49:59 +0000sord937(~sord937@gateway/tor-sasl/sord937)
2020-12-03 07:52:23 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-03 07:56:06 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-03 07:57:16 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-03 07:57:28 +0000 <jasperr> maybe the best is then to contact the Debian Haskell Group
2020-12-03 07:57:50 +0000chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
2020-12-03 07:59:39 +0000ph88(~ph88@2a02:8109:9e00:7e5c:b9be:939f:4d9:5357)
2020-12-03 08:02:24 +0000lassulus(~lassulus@NixOS/user/lassulus) (Quit: WeeChat 2.7.1)
2020-12-03 08:02:59 +0000 <Orbstheorem> Hello, I'm trying to write an inductive type instance over Nat but I can't manage to convince GHC that by base-case and inductive step are disjoint: https://paste.gnugen.ch/raw/fsvt
2020-12-03 08:05:03 +0000raichoo(~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de)
2020-12-03 08:05:16 +0000 <Orbstheorem> I'm not even sure, this is an inductive type instance, so I may aswell describe what I want: Given a type-level "depth" and a tree, I want to make another tree that is complete and has nodes of type `Maybe a` and contain the information of the original tree if such tree contained that node.
2020-12-03 08:05:25 +0000 <Orbstheorem> s/sure,/sure
2020-12-03 08:06:10 +0000echoreply(~echoreply@unaffiliated/echoreply)
2020-12-03 08:06:20 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds)
2020-12-03 08:07:21 +0000bitmagie(~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de)
2020-12-03 08:09:31 +0000da39a3ee5e6b4b0d(~da39a3ee5@ppp-223-24-170-139.revip6.asianet.co.th)
2020-12-03 08:10:18 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-03 08:10:21 +0000ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-12-03 08:11:00 +0000is_null(~jpic@pdpc/supporter/professional/is-null) (Remote host closed the connection)
2020-12-03 08:12:43 +0000Varis(~Tadas@unaffiliated/varis)
2020-12-03 08:13:07 +0000Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2020-12-03 08:13:53 +0000jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-12-03 08:17:31 +0000Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com)
2020-12-03 08:17:41 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-03 08:17:43 +0000lambdaman(~lambdaman@d23-16-215-123.bchsia.telus.net) (Quit: Leaving...)
2020-12-03 08:18:06 +0000graf_blutwurst(~user@2001:171b:226e:adc0:416e:f9ed:b426:e09e)
2020-12-03 08:19:15 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-03 08:20:58 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit)
2020-12-03 08:22:13 +0000nados(~dan@69-165-210-185.cable.teksavvy.com) (Quit: Leaving)
2020-12-03 08:22:17 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 08:23:53 +0000benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) (Ping timeout: 246 seconds)
2020-12-03 08:26:05 +0000heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-12-03 08:28:22 +0000christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-03 08:29:24 +0000heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-12-03 08:30:59 +0000sleblanc(~sleblanc@unaffiliated/sebleblanc)
2020-12-03 08:31:00 +0000oxide(~lambda@unaffiliated/mclaren)
2020-12-03 08:31:46 +0000heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-03 08:31:54 +0000 <sleblanc> > let p = isDigit &&& isAlpha
2020-12-03 08:31:56 +0000 <lambdabot> <no location info>: error:
2020-12-03 08:31:56 +0000 <lambdabot> not an expression: ‘let p = isDigit &&& isAlpha’
2020-12-03 08:32:29 +0000 <sleblanc> > (isAlpha &&& isDigit) 'a'
2020-12-03 08:32:32 +0000 <lambdabot> (True,False)
2020-12-03 08:32:39 +0000 <sleblanc> > (isAlpha &&& isDigit) '9'
2020-12-03 08:32:42 +0000 <lambdabot> (False,True)
2020-12-03 08:32:59 +0000RoguePointer(~jigen@unaffiliated/roguepointer) (Quit: <>)
2020-12-03 08:33:07 +0000 <sleblanc> > or $ (isAlpha && isDigit) '9'
2020-12-03 08:33:10 +0000 <lambdabot> error:
2020-12-03 08:33:10 +0000 <lambdabot> • Couldn't match expected type ‘Char -> t0 Bool’
2020-12-03 08:33:10 +0000 <lambdabot> with actual type ‘Bool’
2020-12-03 08:33:17 +0000RoguePointer(~jigen@94.177.235.178)
2020-12-03 08:33:17 +0000RoguePointer(~jigen@94.177.235.178) (Changing host)
2020-12-03 08:33:17 +0000RoguePointer(~jigen@unaffiliated/roguepointer)
2020-12-03 08:33:17 +0000 <sleblanc> > or $ (isAlpha &&& isDigit) '9'
2020-12-03 08:33:20 +0000 <lambdabot> True
2020-12-03 08:33:30 +0000 <sleblanc> > or $ (isAlpha &&& isDigit) 'a'
2020-12-03 08:33:32 +0000 <lambdabot> False
2020-12-03 08:33:37 +0000 <sleblanc> why?
2020-12-03 08:33:49 +0000 <sleblanc> > or (True, False)
2020-12-03 08:33:52 +0000 <lambdabot> False
2020-12-03 08:34:23 +0000rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-03 08:35:11 +0000hackageclickhouse-haskell 0.1.1.0 - A Haskell library as database client for Clickhouse https://hackage.haskell.org/package/clickhouse-haskell-0.1.1.0 (MaboroshiChan)
2020-12-03 08:35:49 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 08:36:04 +0000 <idnar> :t or
2020-12-03 08:36:06 +0000 <lambdabot> Foldable t => t Bool -> Bool
2020-12-03 08:36:15 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-03 08:36:19 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 08:36:44 +0000bahamas(~lucian@unaffiliated/bahamas)
2020-12-03 08:37:09 +0000 <idnar> sleblanc: the Foldable instance on tuples doesn't do what you want:
2020-12-03 08:37:34 +0000 <sleblanc> yeah. what is the meaning behind this behaviour?
2020-12-03 08:37:40 +0000 <idnar> > toList (1, 2)
2020-12-03 08:37:42 +0000 <lambdabot> error:
2020-12-03 08:37:43 +0000 <lambdabot> Ambiguous occurrence ‘toList’
2020-12-03 08:37:43 +0000 <lambdabot> It could refer to
2020-12-03 08:37:47 +0000 <sleblanc> what use is there for that?
2020-12-03 08:38:38 +0000 <sleblanc> > Data.Foldable.toList (1,2)
2020-12-03 08:38:40 +0000 <lambdabot> [2]
2020-12-03 08:39:22 +0000 <Sose> I'm not sure but I think conceptually a 2-tuple in Haskell is not "a thing with 2 elements" but rather "a thing with 1 element and some context (the first element)"
2020-12-03 08:39:37 +0000 <Sose> it's a little weird imho
2020-12-03 08:40:11 +0000 <idnar> well, Foldable (,) is a kind error, so it has to be Foldable ((,) a)
2020-12-03 08:40:11 +0000 <Sose> atleast when it comes to some instances like Functor and Foldable
2020-12-03 08:40:14 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 08:40:22 +0000 <sleblanc> it would also give an excuse for not having Foldable (,,) et al.
2020-12-03 08:40:42 +0000 <sleblanc> idnar, right…
2020-12-03 08:41:26 +0000miguel_clean(~Miguel@89-72-187-203.dynamic.chello.pl)
2020-12-03 08:41:41 +0000 <sleblanc> are there any concrete uses of the foldable instance for ((,) a) ?
2020-12-03 08:42:00 +0000 <idnar> https://mail.haskell.org/pipermail/haskell-cafe/2020-November/132978.html
2020-12-03 08:42:27 +0000da39a3ee5e6b4b0d(~da39a3ee5@ppp-223-24-170-139.revip6.asianet.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-03 08:42:42 +0000 <idnar> this is frequently debated
2020-12-03 08:43:13 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 246 seconds)
2020-12-03 08:43:28 +0000 <jle`> i think there are nice usages of Traversable ((,) w)
2020-12-03 08:43:30 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Quit: nineonine)
2020-12-03 08:43:38 +0000 <idnar> one use is assoc-listish things
2020-12-03 08:43:40 +0000 <jle`> but that would require Foldable as a superclass
2020-12-03 08:43:44 +0000 <jle`> so idk
2020-12-03 08:43:58 +0000 <jle`> i'm not happy with the Foldable instance existing either, it has caused me a lot of headache in the past
2020-12-03 08:44:08 +0000 <jle`> it sort of directly compromises the ideals of type safety in haskell
2020-12-03 08:44:50 +0000 <idnar> > sum [("foo", 1), ("bar", 2)]
2020-12-03 08:44:52 +0000 <lambdabot> error:
2020-12-03 08:44:52 +0000 <lambdabot> • No instance for (Num ([Char], Integer))
2020-12-03 08:44:52 +0000 <lambdabot> arising from a use of ‘e_112’
2020-12-03 08:45:00 +0000 <idnar> ugh
2020-12-03 08:45:05 +0000 <sleblanc> owch
2020-12-03 08:45:20 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 08:45:33 +0000 <idnar> > foldr (+) 0 [("foo", 1), ("bar", 2)]
2020-12-03 08:45:35 +0000 <lambdabot> error:
2020-12-03 08:45:35 +0000 <lambdabot> • No instance for (Num ([Char], Integer))
2020-12-03 08:45:35 +0000 <lambdabot> arising from a use of ‘e_1012’
2020-12-03 08:46:04 +0000 <idnar> > foldMap Sum [("foo", 1), ("bar", 2)]
2020-12-03 08:46:06 +0000 <lambdabot> error:
2020-12-03 08:46:06 +0000 <lambdabot> • No instance for (Num ([Char], Integer))
2020-12-03 08:46:06 +0000 <lambdabot> arising from a use of ‘e_112’
2020-12-03 08:46:14 +0000shatriff(~vitaliish@176.52.219.10) (Read error: Connection reset by peer)
2020-12-03 08:46:33 +0000 <idnar> oh I'm dumb
2020-12-03 08:46:34 +0000 <sleblanc> something something expecting different results
2020-12-03 08:46:41 +0000shatriff(~vitaliish@176.52.219.10)
2020-12-03 08:47:02 +0000shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-12-03 08:47:20 +0000kuribas(~user@ptr-25vy0i8gptzu7g9n288.18120a2.ip6.access.telenet.be)
2020-12-03 08:47:33 +0000 <idnar> > foldMap (foldMap Sum) [("foo", 1), ("bar", 2)]
2020-12-03 08:47:35 +0000 <lambdabot> Sum {getSum = 3}
2020-12-03 08:47:48 +0000 <idnar> a bit silly
2020-12-03 08:48:54 +0000Amras(~Amras@unaffiliated/amras)
2020-12-03 08:50:50 +0000 <sleblanc> sum $ map snd [("foo", 1), ("bar", 2)]
2020-12-03 08:50:52 +0000 <sleblanc> > sum $ map snd [("foo", 1), ("bar", 2)]
2020-12-03 08:50:54 +0000 <lambdabot> 3
2020-12-03 08:51:30 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 08:53:15 +0000Amras(~Amras@unaffiliated/amras) (Remote host closed the connection)
2020-12-03 08:54:05 +0000borne(~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de)
2020-12-03 08:54:40 +0000 <Orbstheorem> > fmap (bimap sum sum) [("foo", 1), ("bar", 2)]
2020-12-03 08:54:43 +0000 <lambdabot> error:
2020-12-03 08:54:43 +0000 <lambdabot> • Could not deduce (Num Char) arising from a use of ‘sum’
2020-12-03 08:54:43 +0000 <lambdabot> from the context: (Foldable t, Num d, Num (t d))
2020-12-03 08:56:19 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 08:56:29 +0000Amras(~Amras@unaffiliated/amras)
2020-12-03 08:56:36 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-12-03 08:56:46 +0000phasespace(~sar@89-162-33-21.fiber.signal.no)
2020-12-03 08:56:49 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 08:57:12 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Read error: Connection reset by peer)
2020-12-03 08:57:42 +0000britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-12-03 08:58:19 +0000da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1)
2020-12-03 08:59:16 +0000cfricke(~cfricke@unaffiliated/cfricke)
2020-12-03 08:59:35 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 08:59:38 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
2020-12-03 09:00:06 +0000loprakoa[m](loprakoama@gateway/shell/matrix.org/x-zoiumweqktphvybc) (Quit: Idle for 30+ days)
2020-12-03 09:00:06 +0000dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-bzyahcrtvmhlgeby) (Quit: Idle for 30+ days)
2020-12-03 09:00:45 +0000Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt)
2020-12-03 09:01:14 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 09:02:01 +0000mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0)
2020-12-03 09:03:10 +0000dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9)
2020-12-03 09:06:31 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 09:06:53 +0000britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-12-03 09:07:17 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-12-03 09:11:17 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 09:12:49 +0000berberman_(~berberman@unaffiliated/berberman)
2020-12-03 09:13:18 +0000britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-12-03 09:13:38 +0000berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-12-03 09:15:27 +0000danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-12-03 09:16:07 +0000boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-12-03 09:17:11 +0000hackagemail-pool 2.2.1 - Preconfigured email connection pool on top of smtp. https://hackage.haskell.org/package/mail-pool-2.2.1 (Jappie)
2020-12-03 09:19:08 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-03 09:23:39 +0000fendor(~fendor@178.115.131.244.wireless.dyn.drei.com)
2020-12-03 09:25:34 +0000Digit(~user@fsf/member/digit)
2020-12-03 09:26:02 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-03 09:26:51 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 09:28:21 +0000 <Digit> hi. i'm wondering if there's an established/illustrated/expressed relationship between feynman diagrams, and monads, either directly or indirectly (like a shared simplification or augment of understanding or processing or something). or has my brain just started barking up the wrong tree?
2020-12-03 09:29:22 +0000 <[exa]> Digit: CT has commutative diagrams
2020-12-03 09:29:26 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-03 09:29:56 +0000danso(~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9)
2020-12-03 09:30:08 +0000 <Digit> category theory. *nods*
2020-12-03 09:30:25 +0000hnOsmium0001(uid453710@gateway/web/irccloud.com/x-lkwbhxlzvzytbqoi) (Quit: Connection closed for inactivity)
2020-12-03 09:30:31 +0000 <boxscape> monads can also be expressed in string diagrams which look kind of similar to FDs https://ncatlab.org/nlab/show/string+diagram but not sure there's an actual connection there
2020-12-03 09:31:16 +0000 <boxscape> (the string diagrams for monads are on this page https://ncatlab.org/nlab/show/monad )
2020-12-03 09:31:31 +0000 <[exa]> the feynman diagrams kindof describe a single process with inputs and outputs right?
2020-12-03 09:31:50 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 09:32:12 +0000bitmagie(~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-03 09:32:25 +0000Yumasi(~guillaume@2a01:e0a:5cb:4430:e1ea:8f38:f518:4e69)
2020-12-03 09:33:27 +0000 <boxscape> the string diagram page contains a link to https://ncatlab.org/nlab/show/%27t+Hooft+double+line+notation which mentions feynman diagrams in the opening paragraph
2020-12-03 09:34:36 +0000lassulus(~lassulus@NixOS/user/lassulus) (Ping timeout: 240 seconds)
2020-12-03 09:36:46 +0000dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de)
2020-12-03 09:37:01 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 09:37:05 +0000jespada(~jespada@90.254.245.49) (Ping timeout: 240 seconds)
2020-12-03 09:37:50 +0000knupfer(~Thunderbi@dynamic-046-114-144-045.46.114.pool.telefonica.de)
2020-12-03 09:37:54 +0000jespada(~jespada@90.254.245.49)
2020-12-03 09:40:21 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 09:40:41 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 09:41:15 +0000wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-12-03 09:41:37 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 09:42:04 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2020-12-03 09:43:14 +0000 <ski> Digit : "The Catsters" <https://www.youtube.com/playlist?list=PLlGXNwjYhXYxKVa67r0pKuYufECy713bv> mentions string diagrams (and also talks about monads in different videos)
2020-12-03 09:43:19 +0000lassulus(~lassulus@NixOS/user/lassulus) (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number)
2020-12-03 09:43:52 +0000howdoi(uid224@gateway/web/irccloud.com/x-lajkqzxuizaoleyn) (Quit: Connection closed for inactivity)
2020-12-03 09:44:22 +0000zaquest(~notzaques@5.128.210.178)
2020-12-03 09:45:06 +0000 <ski> it would be nice to be able to reexport an operation, with a restricted type signature (so that e.g. `Data.Foldable' exports `length :: Foldable t => t a -> Int', while `Prelude' reexports it as `length :: [a] -> Int'
2020-12-03 09:45:07 +0000zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2020-12-03 09:46:52 +0000pjb(~t@2a01cb04063ec500f481f246a0d62c86.ipv6.abo.wanadoo.fr)
2020-12-03 09:47:14 +0000thc202(~thc202@unaffiliated/thc202)
2020-12-03 09:47:17 +0000b3z(~b3z@vmd41962.contaboserver.net)
2020-12-03 09:47:32 +0000 <ski> Orbstheorem : it seems `n + 1' (nor `1 + n') is not considered to be disjoint from `0' (i tried `instance (0 <= n,PadTree n) => PadTree (n + 1) where ...', since obviously `instance (depth ~ n + 1,...) => PadTree depth where ...' will obviously overlap with `instance PadTree 0 where ...', can't possibly work ..)
2020-12-03 09:48:44 +0000Lord_of_Life(~Lord@46.217.221.243) (Changing host)
2020-12-03 09:48:44 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-03 09:48:53 +0000 <boxscape> ski can't you do that simply by defining a new length method in Prelude and say "length :: [a] -> Int; length = length"?
2020-12-03 09:49:06 +0000 <boxscape> uh
2020-12-03 09:49:12 +0000 <boxscape> imagine I qualified that length on the rhs
2020-12-03 09:52:43 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 09:52:56 +0000 <ski> boxscape : the point would be to not have an identifier clash, if you import both (but rather get the most general version (if any. or else, have to disaambiguate))
2020-12-03 09:53:17 +0000mouseghost(~draco@wikipedia/desperek)
2020-12-03 09:53:19 +0000 <boxscape> Ah, I see
2020-12-03 09:54:32 +0000christo(~chris@81.96.113.213)
2020-12-03 09:54:37 +0000fendor(~fendor@178.115.131.244.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-03 09:55:04 +0000 <ski> Orbstheorem : btw, why "Square" ? .. also, on this line, `data PerfectlyBalancedBinaryTree a = Elems a | Double (PerfectlyBalancedBinaryTree (a,a))' might be interesting to consider. you could also make a GADT one of kind `Nat -> * -> *' (rather than the phantom type `SquareTree' that you have)
2020-12-03 09:55:19 +0000dmiles(~dmiles@c-73-67-179-188.hsd1.wa.comcast.net)
2020-12-03 09:55:51 +0000LKoen(~LKoen@105.175.9.109.rev.sfr.net)
2020-12-03 09:56:29 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 09:57:22 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-03 10:00:00 +0000thallada(~thallada@fsf/member/thallada) (Quit: WeeChat 2.4)
2020-12-03 10:05:25 +0000m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de)
2020-12-03 10:05:27 +0000knupfer(~Thunderbi@dynamic-046-114-144-045.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2020-12-03 10:05:33 +0000 <boxscape> Digit there's also a paragraph here on feynman diagrams as string diagrams https://ncatlab.org/nlab/show/Feynman+diagram#AsStringDiagrams
2020-12-03 10:11:14 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection)
2020-12-03 10:12:17 +0000oxide(~lambda@unaffiliated/mclaren) (Quit: oxide)
2020-12-03 10:12:45 +0000shatriff(~vitaliish@176.52.219.10)
2020-12-03 10:13:01 +0000shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-12-03 10:13:15 +0000shatriff(~vitaliish@176.52.219.10)
2020-12-03 10:16:21 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
2020-12-03 10:22:53 +0000ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2020-12-03 10:23:21 +0000tsrt^(tsrt@ip98-184-89-2.mc.at.cox.net) ()
2020-12-03 10:30:40 +0000lassulus(~lassulus@NixOS/user/lassulus) (Ping timeout: 246 seconds)
2020-12-03 10:32:00 +0000pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-12-03 10:33:10 +0000hackageclickhouse-haskell 0.1.2.0 - A Haskell library as database client for Clickhouse https://hackage.haskell.org/package/clickhouse-haskell-0.1.2.0 (MaboroshiChan)
2020-12-03 10:38:43 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds)
2020-12-03 10:41:03 +0000mastarija(~mastarija@93-136-113-7.adsl.net.t-com.hr)
2020-12-03 10:41:18 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-03 10:43:14 +0000danza_(~francesco@151.53.76.12)
2020-12-03 10:44:44 +0000danza(~francesco@151.53.79.66) (Ping timeout: 256 seconds)
2020-12-03 10:45:30 +0000danza__(~francesco@151.53.67.9)
2020-12-03 10:45:46 +0000caef^(caef@ip98-184-89-2.mc.at.cox.net)
2020-12-03 10:48:12 +0000danza_(~francesco@151.53.76.12) (Ping timeout: 272 seconds)
2020-12-03 10:51:19 +0000f-a(~f-a@151.36.58.162)
2020-12-03 10:52:15 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 10:52:27 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Remote host closed the connection)
2020-12-03 10:54:24 +0000mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2020-12-03 10:54:26 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 10:57:35 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Client Quit)
2020-12-03 10:58:37 +0000whatisRT(~whatisRT@2002:5b41:6a33:0:7903:e9c9:42a2:c7c5)
2020-12-03 10:58:42 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 10:59:08 +0000Jonkimi727406120(~Jonkimi@119.123.243.225) (Ping timeout: 256 seconds)
2020-12-03 10:59:08 +0000alp(~alp@2a01:e0a:58b:4920:bd96:e74f:fabb:2840) (Remote host closed the connection)
2020-12-03 10:59:44 +0000alp(~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b)
2020-12-03 11:00:24 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
2020-12-03 11:00:51 +0000cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-12-03 11:01:06 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Client Quit)
2020-12-03 11:01:36 +0000cfricke(~cfricke@unaffiliated/cfricke)
2020-12-03 11:02:02 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 11:03:22 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Client Quit)
2020-12-03 11:03:26 +0000danza_(~francesco@151.53.95.77)
2020-12-03 11:04:02 +0000danza__(~francesco@151.53.67.9) (Ping timeout: 272 seconds)
2020-12-03 11:06:02 +0000Sheilong(uid293653@gateway/web/irccloud.com/x-wyoujgmfddjrgmqq)
2020-12-03 11:09:47 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 11:11:12 +0000o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-12-03 11:11:37 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 11:12:11 +0000hackagehw-kafka-client 4.0.0 - Kafka bindings for Haskell https://hackage.haskell.org/package/hw-kafka-client-4.0.0 (alexeyraga)
2020-12-03 11:15:11 +0000hackagefriendly 0.1.0.2 - Attempt to pretty-print any input https://hackage.haskell.org/package/friendly-0.1.0.2 (EdskoDeVries)
2020-12-03 11:16:14 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 264 seconds)
2020-12-03 11:18:48 +0000 <mastarija> About the "cross compiling". I have a 64 bit Windows machine, and I have a 64 bit linux / CloudLinux / cPanel server. Since it's cPanel, I don't have a great control over it, however I can upload and execute custom scripts / executables.
2020-12-03 11:19:23 +0000 <mastarija> Can I just use a VM / WSL to compile locally and then execute on server?
2020-12-03 11:19:59 +0000 <mastarija> If my program is fairly simple and doesn't depend on dll's and stuff?
2020-12-03 11:20:20 +0000 <mastarija> I'm guessing it needs to be statically linked?
2020-12-03 11:21:23 +0000philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-03 11:22:03 +0000fendor(~fendor@178.115.131.244.wireless.dyn.drei.com)
2020-12-03 11:22:03 +0000carlomagno(~cararell@148.87.23.6) (Remote host closed the connection)
2020-12-03 11:25:17 +0000dhil(~dhil@195.213.192.34)
2020-12-03 11:26:18 +0000 <maerwald> static linking on linux and then execute in WSL ubuntu?
2020-12-03 11:26:26 +0000tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-03 11:26:28 +0000tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2020-12-03 11:27:34 +0000 <mastarija> maerwald, no, basically I want to compile on windows in WSL or some VM and then execute on my cPanel / CloudLinux server.
2020-12-03 11:28:13 +0000 <mastarija> But since this is WSL or VM Linux, then windows part doesn't really matter I guess :/
2020-12-03 11:28:43 +0000 <mastarija> I mean, in theory it should work, right?
2020-12-03 11:28:50 +0000carlomagno(~cararell@148.87.23.11)
2020-12-03 11:28:58 +0000Libertinus(58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi)
2020-12-03 11:29:07 +0000 <maerwald> I don't understand why you would want to use WSL to create a linux executable
2020-12-03 11:29:26 +0000 <maerwald> path of maximum resistance?
2020-12-03 11:30:54 +0000 <mastarija> Yes
2020-12-03 11:31:07 +0000 <mastarija> I have Windows and I'm too lazy to switch to Linux
2020-12-03 11:31:15 +0000 <ezzieyguywuf> glguy: I considered a pull request, but having it in a separate repository allows for easy integration with the various vim plugin managers
2020-12-03 11:31:17 +0000 <mastarija> And I can't compile on my server for "reasons"
2020-12-03 11:31:21 +0000 <Libertinus> New to irc and Haskell. Where and how should I ask about installation on MacOS Catalina. Watched and "copied" actions on a video but did not succeed. Some old partial installation might interfere
2020-12-03 11:31:59 +0000 <maerwald> Libertinus: https://www.haskell.org/ghcup/
2020-12-03 11:32:09 +0000 <Libertinus> Ta!
2020-12-03 11:33:03 +0000 <mastarija> maerwald, anyway, scratch the Windows part. If I compile Haskell program on linux distro X and try to run it on linux distro Y, will it work?
2020-12-03 11:33:09 +0000 <Libertinus> That is the procedure I tried. Did not install and I don't have a clue what the error msg means.
2020-12-03 11:33:28 +0000 <maerwald> mastarija: you can use alpine linux docker image to create a sttic executable
2020-12-03 11:33:34 +0000 <maerwald> *static
2020-12-03 11:34:00 +0000 <maerwald> here's an example https://gist.github.com/hasufell/f0893abfbba63ac4ea40feb0520946ee
2020-12-03 11:34:34 +0000jamm_(~jamm@unaffiliated/jamm)
2020-12-03 11:36:59 +0000cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-12-03 11:37:26 +0000MrSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-03 11:38:06 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 11:38:41 +0000 <mastarija> maerwald, I'm assuming the resulting product doesn't require Docker on the target system?
2020-12-03 11:38:52 +0000hc(~hc@bsd.pm) (Remote host closed the connection)
2020-12-03 11:39:45 +0000danza__(~francesco@151.74.111.235)
2020-12-03 11:39:54 +0000 <maerwald> that's just an example on how to create static executables: 1. use alpine, 2. install static versions of system libraries, 3. run stack/cabal with --ghc-options='-optl-static -split-sections'
2020-12-03 11:40:27 +0000 <ski> Libertinus : mentioning the error message might help
2020-12-03 11:41:06 +0000 <maerwald> mastarija: or try nix and spend a few weeks figuring out how it works: https://github.com/nh2/static-haskell-nix
2020-12-03 11:41:24 +0000uberj_(~uberj@107.170.237.156) (Remote host closed the connection)
2020-12-03 11:41:31 +0000 <mastarija> XD
2020-12-03 11:41:43 +0000uberj_(~uberj@107.170.237.156)
2020-12-03 11:41:52 +0000 <mastarija> Thanks
2020-12-03 11:42:07 +0000danza_(~francesco@151.53.95.77) (Read error: Connection reset by peer)
2020-12-03 11:42:42 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 11:43:03 +0000roconnor(~roconnor@host-45-58-200-239.dyn.295.ca) (Remote host closed the connection)
2020-12-03 11:43:58 +0000Iceland_jack(~user@31.124.48.169) (Remote host closed the connection)
2020-12-03 11:44:51 +0000jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-03 11:45:33 +0000Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-12-03 11:45:53 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2020-12-03 11:46:07 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-12-03 11:46:40 +0000mouseghost(~draco@wikipedia/desperek)
2020-12-03 11:48:08 +0000jamm_(~jamm@unaffiliated/jamm)
2020-12-03 11:48:26 +0000danza__(~francesco@151.74.111.235) (Ping timeout: 256 seconds)
2020-12-03 11:49:40 +0000 <Libertinus> Here's the error msgI got from trying to install HAskell:
2020-12-03 11:49:46 +0000 <Libertinus> Last login: Thu Dec 3 00:22:46 on consoleanokhi@MacBook-Pro ~ % curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | shWelcome to Haskell!This script will download and install the following binaries: * ghcup - The Haskell toolchain installer (for managing GHC/cabal versions) * ghc - The Glasgow Haskell Compiler *
2020-12-03 11:49:47 +0000 <Libertinus> cabal - The Cabal build toolghcup installs only into the following directory,which can be removed anytime: /Users/anokhi/.ghcupPress ENTER to proceed or ctrl-c to abort.Note that this script can be re-run at any given time. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload
2020-12-03 11:49:47 +0000 <Libertinus> Total Spent Left Speed100 8796k 100 8796k 0 0 4903k 0 0:00:01 0:00:01 --:--:-- 4900k[ Info ] Upgrading GHCup...[ Warn ] No GHCup update availableSystem requirements Note: On OS X, in the course of running ghcup you will be given a dialog box to install the command line tools. Accept and the requirements will be installed
2020-12-03 11:49:48 +0000 <Libertinus> for you. You will then need to run the command again.Press ENTER to proceed or ctrl-c to abort.Installation may take a while.[ Info ] verifying digest of: ghc-8.8.4-x86_64-apple-darwin.tar.xz[ Info ] Unpacking: ghc-8.8.4-x86_64-apple-darwin.tar.xz to /var/folders/3f/fjxj71mn6hj5bzz665k_566r0000gn/T/ghcup-Bl7w0V[ Info ] Installing GHC (this may
2020-12-03 11:49:48 +0000 <Libertinus> take a while)[ ghc-configure ] not found (too old?)[ ghc-configure ] checking for gcc... gcc[ ghc-configure ] checking whether the C compiler works... no[ ghc-configure ] configure: error: in `/private/var/folders/3f/fjxj71mn6hj5...[ ghc-configure ] configure: error: C compiler cannot create executables[ ghc-configure ] See `config.log' for more
2020-12-03 11:49:48 +0000 <Libertinus> details[ Error ] Build failed with NonZeroExit 77 "./configure" ["--prefix=/Users/anokhi/.ghcup/ghc/8.8.4"] Check the logs at "/Users/anokhi/.ghcup/logs" and the build directory "/var/folders/3f/fjxj71mn6hj5bzz665k_566r0000gn/T/ghcup-Bl7w0V" for more clues. Make sure to clean up "/var/folders/3f/fjxj71mn6hj5bzz665k_566r0000gn/T/ghcup-Bl7w0V"
2020-12-03 11:49:49 +0000 <Libertinus> afterwards."_eghcup --cache install ghc recommended" failed!anokhi@MacBook-Pro ~ % curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | shWelcome to Haskell!This script will download and install the following binaries: * ghcup - The Haskell toolchain installer (for managing GHC/cabal versions) * ghc - The Glasgow
2020-12-03 11:49:49 +0000Libertinus(58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) (Killed (Sigyn (Spam is off topic on freenode.)))
2020-12-03 11:49:50 +0000christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-03 11:50:33 +0000 <int-e> :/
2020-12-03 11:50:33 +0000 <maerwald> ...
2020-12-03 11:50:50 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 11:51:10 +0000 <maerwald> seems xcode not installed
2020-12-03 11:53:37 +0000ClaudiusMaximus(~claude@223.153.198.146.dyn.plus.net)
2020-12-03 11:54:03 +0000ClaudiusMaximus(~claude@223.153.198.146.dyn.plus.net) (Changing host)
2020-12-03 11:54:03 +0000ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2020-12-03 11:54:04 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 11:54:17 +0000ChanServ+o ski
2020-12-03 11:54:37 +0000ChanServ-o ski
2020-12-03 11:54:46 +0000christo(~chris@81.96.113.213)
2020-12-03 11:55:01 +0000ulidtko|kulidtko
2020-12-03 11:56:45 +0000joaj(~joaj@2001:690:2100:110:cceb:227c:edbc:592c)
2020-12-03 11:57:08 +0000Orbstheorem(~roosember@hellendaal.orbstheorem.ch) (Quit: WeeChat 2.3)
2020-12-03 11:57:23 +0000Aquazi(uid312403@gateway/web/irccloud.com/x-hleddgoteowwxjqp)
2020-12-03 11:58:09 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 11:58:43 +0000 <boxscape> why do value constructors have to begin with an uppercase letter? Distinguishing between a function and a constructor doesn't seem like something that a haskell compiler has to be able to do during parsing
2020-12-03 11:58:58 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-03 11:59:14 +0000christo(~chris@81.96.113.213) (Ping timeout: 260 seconds)
2020-12-03 11:59:32 +0000 <merijn> boxscape: Eh, because asking yourself "is this maybe a constructor?" every 5 minutes while coding sucks
2020-12-03 12:00:05 +0000 <boxscape> hm, I guess. I suppose I'm just used to that being a coding convention thing rather than something that's enforced
2020-12-03 12:00:36 +0000 <boxscape> i.e. readability being a reason for uppercase vs lowercase
2020-12-03 12:00:50 +0000solonarv(~solonarv@anancy-651-1-197-136.w109-217.abo.wanadoo.fr)
2020-12-03 12:01:29 +0000danza__(~francesco@151.46.171.237)
2020-12-03 12:01:45 +0000 <boxscape> I guess it helps with DataKinds since otherwise you couldn't use constructors without ' without it looking like a type variable to the constructor
2020-12-03 12:02:00 +0000Libertinus(58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi)
2020-12-03 12:02:29 +0000 <ski> in the MLs, data constructors can begin with both lower and upper case. and so, for constant patterns, you could mistake them for a variable pattern, if you don't recall their being constructors. also, with a typo, they'd become variables
2020-12-03 12:02:52 +0000 <ski> Libertinus : please don't paste large amounts of text into the channel. use e.g. a paste service/site
2020-12-03 12:03:02 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 12:03:06 +0000 <boxscape> hm yeah that's fair point
2020-12-03 12:03:46 +0000 <ski> perhaps one could argue for type families starting with lower case ?
2020-12-03 12:04:04 +0000 <Libertinus> I tried to paste the error texts i got from trying to install Haskell (platform?) but the window froze. Will try again in a moment. An early perhaps partial installation might interfere. Any attempts at help are appreciated.
2020-12-03 12:04:11 +0000hackagehaskoin-core 0.17.4 - Bitcoin & Bitcoin Cash library for Haskell https://hackage.haskell.org/package/haskoin-core-0.17.4 (jprupp)
2020-12-03 12:04:14 +0000 <boxscape> Well, right now lowercase in type *always* means type variable, you'd have to give that up
2020-12-03 12:04:26 +0000 <boxscape> but that'll likely be given up eventually anyway with Dependent haskell
2020-12-03 12:04:29 +0000whatisRT(~whatisRT@2002:5b41:6a33:0:7903:e9c9:42a2:c7c5) (Quit: ZNC 1.8.1 - https://znc.in)
2020-12-03 12:05:02 +0000 <ski> @where paste
2020-12-03 12:05:02 +0000 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
2020-12-03 12:05:09 +0000 <merijn> boxscape: I hope not
2020-12-03 12:05:11 +0000 <ski> Libertinus : try pasting at that site, e.g. ^
2020-12-03 12:05:32 +0000 <merijn> tbh, I wouldn't consider Dependent Haskell such an inevitability
2020-12-03 12:05:47 +0000 <Libertinus> At lambdadots site?
2020-12-03 12:05:49 +0000 <ski> boxscape : yes. the point being that you can't match on type families
2020-12-03 12:05:59 +0000 <ski> Libertinus : at <https://paste.tomsmeding.com>
2020-12-03 12:06:03 +0000 <tdammers> frankly, I kind of suspect that the usefulness of fully dependent haskell is being exaggerated a fair bit
2020-12-03 12:06:05 +0000 <boxscape> merijn following the proposal discussions at the moment it's not looking inevitable but looks like it has good chances
2020-12-03 12:06:10 +0000 <boxscape> ski yeah that makes sense
2020-12-03 12:06:17 +0000 <Libertinus> ski: thank you!
2020-12-03 12:06:32 +0000 <ski> Libertinus : .. and then, paste the resulting psate link, in here
2020-12-03 12:06:41 +0000 <boxscape> maybe that paste site should replace gist in the #haskell topic?
2020-12-03 12:06:48 +0000 <merijn> tdammers: Right. I'd rather not see Dependent Haskell, tbh
2020-12-03 12:07:09 +0000hc(~hc@bsd.pm)
2020-12-03 12:07:26 +0000AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-12-03 12:07:41 +0000hackagephonetic-languages-simplified-lists-examples 0.3.0.0 - Simplified and somewhat optimized version of the phonetic-languages-examples. https://hackage.haskell.org/package/phonetic-languages-simplified-lists-examples-0.3.0.0 (OleksandrZhabenko)
2020-12-03 12:08:11 +0000 <Libertinus> ski: ok - but where do I get such psate link
2020-12-03 12:09:02 +0000 <Libertinus> ski: on the tomsmeding window i only see my long error msgs now
2020-12-03 12:09:04 +0000 <ski> copy the link of the paste site into your browser. then create a new paste there, which should appear on a new address, which you can paste in here
2020-12-03 12:09:13 +0000 <ski> check the location bar
2020-12-03 12:09:26 +0000Tario(~Tario@201.192.165.173)
2020-12-03 12:09:39 +0000 <Libertinus> ski: ok, will try. am an old geezer and this is new to me..
2020-12-03 12:10:11 +0000 <Libertinus> ski: https://paste.tomsmeding.com/SDIcYQr4
2020-12-03 12:10:18 +0000cfricke(~cfricke@unaffiliated/cfricke)
2020-12-03 12:11:03 +0000 <merijn> Is there a convenient "keep every Nth element of a list" in libraries?
2020-12-03 12:12:51 +0000toorevitimirp(~tooreviti@117.182.183.16)
2020-12-03 12:13:03 +0000 <ski> @type \n -> map head . chunksOf n
2020-12-03 12:13:06 +0000 <lambdabot> Int -> [b] -> [b]
2020-12-03 12:13:15 +0000Orbstheorem(~roosember@hellendaal.orbstheorem.ch)
2020-12-03 12:13:32 +0000mastarija(~mastarija@93-136-113-7.adsl.net.t-com.hr) (Quit: Leaving)
2020-12-03 12:15:37 +0000 <ski> <maerwald> seems xcode not installed
2020-12-03 12:16:39 +0000 <ski> Libertinus : hm, anyway, now your best bet is someone who knows about MacOS to possibly have any clue about what to .. (i don't really)
2020-12-03 12:17:34 +0000 <tomsmeding> Libertinus: any clue what ghc-configure said right above that line "not found (too old?)"?
2020-12-03 12:17:55 +0000 <tomsmeding> but yeah I think you're missing the command-line tools
2020-12-03 12:18:02 +0000 <Libertinus> ski: thank you! I followed a youtube video step by step - they got thirs installed ok, I did not. Will try asking later, have to leave the chat now.
2020-12-03 12:18:09 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 12:18:30 +0000 <tomsmeding> Libertinus: e.g. https://medium.com/flawless-app-stories/install-command-line-tools-on-macos-catalina-anansewaa-com…
2020-12-03 12:18:39 +0000alp(~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b) (Ping timeout: 272 seconds)
2020-12-03 12:18:39 +0000 <Libertinus> tomsmeding: a moment
2020-12-03 12:19:48 +0000 <Libertinus> Tomsmeding: I pasted everything from the terminal window. I do not have ore information than that
2020-12-03 12:20:12 +0000 <Libertinus> * more than that
2020-12-03 12:20:14 +0000 <tomsmeding> try doing the `xcode-select --install` from the article I linked; that has a reasonable chance of working and fixing the issue
2020-12-03 12:20:46 +0000 <Libertinus> was the xcode msg meant to me?
2020-12-03 12:20:53 +0000Aleksejs(~Aleksejs@haskell.lv)
2020-12-03 12:21:06 +0000 <ski> (possibly)
2020-12-03 12:21:26 +0000f-a(~f-a@151.36.58.162) ()
2020-12-03 12:21:51 +0000 <dminuoso> % data A = A { fooA :: String } | B { fooB :: String }
2020-12-03 12:21:51 +0000 <yahb> dminuoso:
2020-12-03 12:21:54 +0000 <dminuoso> % fooA (B "foo")
2020-12-03 12:21:55 +0000 <yahb> dminuoso: "*** Exception: No match in record selector fooA
2020-12-03 12:22:07 +0000 <dminuoso> % data A = A { fooA :: String } | B { fooA :: String }
2020-12-03 12:22:07 +0000 <yahb> dminuoso:
2020-12-03 12:22:12 +0000 <dminuoso> % fooA (B "foo")
2020-12-03 12:22:12 +0000 <yahb> dminuoso: "foo"
2020-12-03 12:22:30 +0000 <tomsmeding> Libertinus: yes sorry
2020-12-03 12:22:32 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 244 seconds)
2020-12-03 12:23:10 +0000 <Aleksejs> Hi, why there's no such thing as Divisable that would unite Integral and Fractional? Then (/) could be of type Divisable a => a -> a -> a
2020-12-03 12:23:12 +0000 <Libertinus> tomsmeding: my bad I did not spot the article link at first. Wll try to do that. Thanks!
2020-12-03 12:23:31 +0000 <dminuoso> So Im pondering whether or not to write something like `data A = A { aText :: Text, aInt :: Int } | B { bText :: Text, bInt :: Int } | C { cText :: Text, cInt :: Int, cInt2 :: Int }` or whether to write these as separate data types, and then some `data AnyThing = AnyA A | AnyB B | AnyC C`
2020-12-03 12:23:37 +0000 <dminuoso> Would you be annoyed about the ergonomics of the latter?
2020-12-03 12:23:54 +0000 <Orbstheorem> ski: Thanks for you answer, I'll come back to it later today ^^
2020-12-03 12:24:08 +0000 <dminuoso> This seems like a trade off between introducial partial field selectors and an an annoying additional union type around it
2020-12-03 12:25:47 +0000jollygood2(~bc8165ab@217.29.117.252)
2020-12-03 12:26:17 +0000 <Libertinus> Tomsmeding: Trying to install xcode results i this error msg: Can't install the software because it is not currently available from the Software Update server" Am runing Catalina 10.15.3
2020-12-03 12:26:51 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 12:27:31 +0000 <tomsmeding> wat?
2020-12-03 12:27:37 +0000 <tomsmeding> apple having an outage?
2020-12-03 12:28:17 +0000 <tomsmeding> Libertinus: perhaps this https://stackoverflow.com/questions/56452358/install-command-line-developer-tools-cant-install-the… 🤷
2020-12-03 12:28:18 +0000 <hc> oh, is their ocsp responder for "trustd" broken again? =)
2020-12-03 12:28:26 +0000 <Libertinus> tomsmeding: That's the error msg I get.
2020-12-03 12:28:38 +0000 <tomsmeding> hc: not even, different server this time :D
2020-12-03 12:28:39 +0000 <dminuoso> Libertinus: Yeah that happens frequently
2020-12-03 12:28:46 +0000 <dminuoso> Libertinus: You need to download it directly from their website sometimes.
2020-12-03 12:28:47 +0000 <tomsmeding> Libertinus: see the first answer for a workaround
2020-12-03 12:28:54 +0000 <tomsmeding> i.e. what dminuoso says
2020-12-03 12:29:08 +0000 <Libertinus> ok...
2020-12-03 12:29:16 +0000 <dminuoso> Just to clarify, that's an Apple bug.
2020-12-03 12:29:28 +0000 <tomsmeding> sorry for the mess, but then this is not our fault in this specific case :p
2020-12-03 12:30:56 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-03 12:31:25 +0000 <ski> Aleksejs : what would the expected laws for it be ?
2020-12-03 12:32:52 +0000 <Libertinus> Tomsmeding: I am now downloading command line tools for xcode 12.2.
2020-12-03 12:32:58 +0000 <tomsmeding> nice!
2020-12-03 12:33:08 +0000 <Libertinus> :)
2020-12-03 12:33:30 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-03 12:33:31 +0000 <Libertinus> Spooky face, dat one..
2020-12-03 12:33:52 +0000 <dminuoso> Aleksejs: What exactly are you looking to unite here? Both give you a notion of dividing (one gives real division, the other gives integral division).
2020-12-03 12:33:52 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
2020-12-03 12:34:36 +0000natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-12-03 12:34:45 +0000 <dminuoso> In fact, the Real superclass lets you do integral division on Real numbers too.
2020-12-03 12:35:23 +0000livvy(~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds)
2020-12-03 12:36:08 +0000doct0rhu(~orctarorg@pool-72-88-158-154.nwrknj.fios.verizon.net) (Remote host closed the connection)
2020-12-03 12:36:28 +0000 <Libertinus> Tomsmeding: I'd need MAcOS 10.15.4. to bo able to install the xxcode tools I have 10.15.3.
2020-12-03 12:36:58 +0000 <Libertinus> tomsmeding: the installer says that. I guess I must upgrade my OS
2020-12-03 12:37:19 +0000 <tomsmeding> that's dumb
2020-12-03 12:37:41 +0000 <tomsmeding> they don't provide an installer for the previous version or something?
2020-12-03 12:37:45 +0000 <tomsmeding> (been a while since I used a maC)
2020-12-03 12:37:48 +0000 <tomsmeding> *mac
2020-12-03 12:38:03 +0000 <merijn> tomsmeding: They do, but they're on the website not in the appstore, I think
2020-12-03 12:38:15 +0000 <Libertinus> tomsmeding: I picked to latest non-beta version of the command line tools. Should I see if there is an older version available?
2020-12-03 12:38:20 +0000 <tomsmeding> the CLT aren't in the app store anyway merijn
2020-12-03 12:38:26 +0000 <dminuoso> Libertinus: Did you go through the apple website or the app store?
2020-12-03 12:38:28 +0000 <tomsmeding> Libertinus: I guess so?
2020-12-03 12:38:30 +0000 <merijn> tomsmeding: Xcode is and you install CLI via xcode
2020-12-03 12:38:46 +0000 <dminuoso> https://developer.apple.com/download/more/?=command%20line%20tools
2020-12-03 12:38:49 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 12:38:54 +0000Nahra(~Nahra@unaffiliated/nahra)
2020-12-03 12:38:55 +0000 <tomsmeding> merijn: as far as I remember you install CLI using xcode-select, which doesn't require an xcode installation
2020-12-03 12:38:57 +0000 <dminuoso> Is where you should go
2020-12-03 12:39:00 +0000 <Libertinus> domingo: Apple web site . got the linnk from here
2020-12-03 12:39:04 +0000 <tomsmeding> though one way to do it is certainly to install xcode
2020-12-03 12:39:13 +0000 <tomsmeding> but that's... heavy
2020-12-03 12:39:23 +0000 <dminuoso> merijn: Go make your case again about what a lovely OS macOS is..
2020-12-03 12:39:27 +0000 <merijn> tomsmeding: Eh, you do need xcode *anyway*
2020-12-03 12:39:37 +0000 <merijn> tomsmeding: Else you don't have a C compiler or linker
2020-12-03 12:39:38 +0000 <Libertinus> merijn: do I?
2020-12-03 12:39:47 +0000 <tomsmeding> don't the CLT give gcc?
2020-12-03 12:40:00 +0000 <dminuoso> well they give you clang
2020-12-03 12:40:09 +0000 <tomsmeding> (yes fair)
2020-12-03 12:40:14 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds)
2020-12-03 12:40:24 +0000 <tomsmeding> merijn: if you need xcode anyway, then why does ghcup just install the CLT? ;)
2020-12-03 12:40:31 +0000natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2020-12-03 12:40:59 +0000mastarija(~mastarija@93-136-113-7.adsl.net.t-com.hr)
2020-12-03 12:41:11 +0000 <dminuoso> Im confident xcode clt will give you clang+linker
2020-12-03 12:41:14 +0000 <Libertinus> merijn: I am a non-entity in programing, so if installing xcode makes life simpler for me, I'd like to do that
2020-12-03 12:41:16 +0000 <dminuoso> and other stuff
2020-12-03 12:41:20 +0000 <dminuoso> Libertinus: You dont nede xcode.
2020-12-03 12:41:27 +0000Libertinus(58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) (Remote host closed the connection)
2020-12-03 12:42:07 +0000 <tomsmeding> o/
2020-12-03 12:43:14 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 12:46:00 +0000Libertinus(58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi)
2020-12-03 12:46:03 +0000 <Libertinus> dminuoso: then I need to update my os to be able to install the xcode CLT
2020-12-03 12:48:06 +0000 <Libertinus> dminuoso: is it possible to update to 10.15.4 and avoid updating to Big sur?
2020-12-03 12:48:11 +0000hackageukrainian-phonetics-basic 0.3.2.0 - A library to work with the basic Ukrainian phonetics and syllable segmentation. https://hackage.haskell.org/package/ukrainian-phonetics-basic-0.3.2.0 (OleksandrZhabenko)
2020-12-03 12:49:38 +0000raichoo(~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de) (Quit: Lost terminal)
2020-12-03 12:51:53 +0000alp(~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b)
2020-12-03 12:52:55 +0000 <tomsmeding> Libertinus: I think the non-haskell internet can help you better with that than we can
2020-12-03 12:52:57 +0000drincruz(~adriancru@ool-44c748be.dyn.optonline.net)
2020-12-03 12:53:39 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-03 12:54:06 +0000 <Libertinus> tomsmeding: you have been most helpful! Will search the net, and return with haskell stuff, eventually. Have a good 'un! :)
2020-12-03 12:54:18 +0000 <tomsmeding> Cheers!
2020-12-03 12:54:35 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-12-03 12:54:45 +0000 <Libertinus> dminuoso: thank you, too!!
2020-12-03 12:55:21 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 12:55:29 +0000 <Libertinus> :)
2020-12-03 12:57:15 +0000fendor(~fendor@178.115.131.244.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-03 12:58:00 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2020-12-03 12:59:55 +0000zaquest(~notzaques@5.128.210.178)
2020-12-03 13:00:34 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-12-03 13:02:13 +0000LKoen(~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-12-03 13:04:41 +0000hackagehaskoin-core 0.17.5 - Bitcoin & Bitcoin Cash library for Haskell https://hackage.haskell.org/package/haskoin-core-0.17.5 (jprupp)
2020-12-03 13:04:42 +0000zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2020-12-03 13:05:01 +0000m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds)
2020-12-03 13:07:01 +0000Rudd0(~Rudd0@185.189.115.103) (Remote host closed the connection)
2020-12-03 13:07:13 +0000DTZUZU_(~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2020-12-03 13:07:22 +0000DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2020-12-03 13:07:28 +0000xsarnik0(xsarnik@gateway/shell/fi.muni.cz/x-qqlqhiysrvqfxaju) (Quit: Ping timeout (120 seconds))
2020-12-03 13:07:28 +0000Jajik(xchlup2@gateway/shell/fi.muni.cz/x-nixiositsvhijnwj) (Quit: Ping timeout (120 seconds))
2020-12-03 13:07:49 +0000dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 246 seconds)
2020-12-03 13:08:28 +0000tomsmeding(~tomsmedin@tomsmeding.com) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-03 13:08:48 +0000tomsmeding(~tomsmedin@tomsmeding.com)
2020-12-03 13:09:10 +0000zariuq(~zar@fw1.ciirc.cvut.cz)
2020-12-03 13:09:33 +0000texasmynsted(~texasmyns@212.102.45.115)
2020-12-03 13:09:36 +0000sdx23(~sdx23@unaffiliated/sdx23) (Ping timeout: 240 seconds)
2020-12-03 13:09:56 +0000Rembane(~Rembane@li346-36.members.linode.com) (Ping timeout: 240 seconds)
2020-12-03 13:10:35 +0000xsarnik0(xsarnik@gateway/shell/fi.muni.cz/x-tgciqxhajxesnkwi)
2020-12-03 13:10:41 +0000Jajik(xchlup2@gateway/shell/fi.muni.cz/x-xjonixprwtlmdjwb)
2020-12-03 13:10:54 +0000gxt(~gxt@gateway/tor-sasl/gxt) (Quit: WeeChat 2.9)
2020-12-03 13:10:56 +0000zar(~zar@fw1.ciirc.cvut.cz) (Ping timeout: 240 seconds)
2020-12-03 13:11:03 +0000Rembane(~Rembane@li346-36.members.linode.com)
2020-12-03 13:12:50 +0000sdx23(~sdx23@unaffiliated/sdx23)
2020-12-03 13:13:36 +0000LKoen(~LKoen@105.175.9.109.rev.sfr.net)
2020-12-03 13:15:03 +0000texasmyn_(~texasmyns@212.102.45.103)
2020-12-03 13:15:30 +0000gxt(~gxt@gateway/tor-sasl/gxt)
2020-12-03 13:15:52 +0000geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-12-03 13:16:05 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-12-03 13:16:47 +0000fendor(~fendor@91.141.2.63.wireless.dyn.drei.com)
2020-12-03 13:16:51 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 13:16:55 +0000fendor(~fendor@91.141.2.63.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-03 13:16:58 +0000da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-03 13:18:13 +0000texasmynsted(~texasmyns@212.102.45.115) (Ping timeout: 264 seconds)
2020-12-03 13:19:22 +0000chaosmasttter(~chaosmast@p200300c4a7122601056aeb346f192a12.dip0.t-ipconnect.de)
2020-12-03 13:25:34 +0000ph88(~ph88@2a02:8109:9e00:7e5c:b9be:939f:4d9:5357) (Quit: Leaving)
2020-12-03 13:26:38 +0000mastarija_(~mastarija@93-142-67-36.adsl.net.t-com.hr)
2020-12-03 13:28:06 +0000bahamas(~lucian@188.24.181.166)
2020-12-03 13:28:07 +0000bahamas(~lucian@188.24.181.166) (Changing host)
2020-12-03 13:28:07 +0000bahamas(~lucian@unaffiliated/bahamas)
2020-12-03 13:28:07 +0000 <AWizzArd> stylish-haskell suggests to Emacs users to read the “Using external formatters” section of the haskell-mode manual: http://haskell.github.io/haskell-mode/manual/latest/Autoformating.html#Autoformating
2020-12-03 13:28:25 +0000olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
2020-12-03 13:28:37 +0000 <AWizzArd> How will Emacs know about stylish-haskell? Is this backed into haskell-mode itself, the support for this specific formatter?
2020-12-03 13:29:12 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 13:29:18 +0000 <dminuoso> AWizzArd: haskell-mode will invoke it as an external command
2020-12-03 13:29:26 +0000 <dminuoso> So its necessary to be on PATH
2020-12-03 13:30:00 +0000 <dminuoso> (custom-set-variables '(haskell-stylish-on-save t))
2020-12-03 13:30:18 +0000mastarija(~mastarija@93-136-113-7.adsl.net.t-com.hr) (Ping timeout: 260 seconds)
2020-12-03 13:30:36 +0000 <AWizzArd> dminuoso: does stylish also support formatting a (marked) region?
2020-12-03 13:32:15 +0000 <dminuoso> AWizzArd: Id guess no.
2020-12-03 13:32:39 +0000 <dminuoso> At best it could only work for a region that is also valid as a top level binding
2020-12-03 13:32:56 +0000 <dminuoso> Such that you could put the region into a temporary file, treat it as a module, run stylish-haskell on it, and splice it back in
2020-12-03 13:33:22 +0000cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-12-03 13:33:25 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 240 seconds)
2020-12-03 13:33:25 +0000 <dminuoso> Such a thing is certainly implementable in emacs
2020-12-03 13:33:42 +0000monochrom(trebla@216.138.220.146)
2020-12-03 13:34:04 +0000drincruz(~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 246 seconds)
2020-12-03 13:34:04 +0000 <dminuoso> AWizzArd: Concretely
2020-12-03 13:34:09 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 13:34:15 +0000ph88(~ph88@ip5f5af6cd.dynamic.kabel-deutschland.de)
2020-12-03 13:34:41 +0000 <dminuoso> AWizzArd: (defcustom haskell-mode-stylish-haskell-path "stylish-haskell" "Path to `stylish-haskell' executable." :group 'haskell :type 'string)
2020-12-03 13:34:58 +0000da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1)
2020-12-03 13:35:06 +0000 <AWizzArd> dminuoso: Aah okay, that makes sense!
2020-12-03 13:35:30 +0000 <dminuoso> So you can override that if you want to
2020-12-03 13:35:55 +0000 <dminuoso> e.g. through M-x customize-group RET haskell RET
2020-12-03 13:36:56 +0000notzmv(~user@unaffiliated/zmv) (Ping timeout: 265 seconds)
2020-12-03 13:37:10 +0000cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
2020-12-03 13:37:31 +0000cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-12-03 13:39:12 +0000cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 272 seconds)
2020-12-03 13:40:50 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-03 13:41:36 +0000mastarija_(~mastarija@93-142-67-36.adsl.net.t-com.hr) (Quit: Leaving)
2020-12-03 13:41:49 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit)
2020-12-03 13:42:53 +0000 <dminuoso> Does aeson have primitives to parse a string as numeric types?
2020-12-03 13:43:44 +0000texasmyn_(~texasmyns@212.102.45.103) (Ping timeout: 260 seconds)
2020-12-03 13:44:46 +0000raichoo(~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de)
2020-12-03 13:44:59 +0000 <nshepperd2> any regex-tdfa experts here? is there a way to execute a regex in this library 'incrementally'?
2020-12-03 13:45:44 +0000 <nshepperd2> that is, I want to feed characters in one at a time, and be able to determine after each step whether it is in an accepting, failing, or unfinished state
2020-12-03 13:46:05 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2020-12-03 13:46:38 +0000 <nshepperd2> (the true purpose of this is that I want to execute a regex within / convert a regex into a parsec-style parser)
2020-12-03 13:46:50 +0000LKoen(~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-12-03 13:47:47 +0000Sornaensis(~kvirc@79.142.232.102.static.router4.bolignet.dk)
2020-12-03 13:48:03 +0000Wuzzy(~Wuzzy@p549c9976.dip0.t-ipconnect.de)
2020-12-03 13:48:34 +0000jespada(~jespada@90.254.245.49) (Ping timeout: 256 seconds)
2020-12-03 13:48:38 +0000da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1) (Ping timeout: 264 seconds)
2020-12-03 13:48:46 +0000jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-03 13:50:03 +0000urodna(~urodna@unaffiliated/urodna)
2020-12-03 13:50:29 +0000jespada(~jespada@90.254.245.49)
2020-12-03 13:52:21 +0000cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
2020-12-03 13:52:42 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-03 13:53:27 +0000feb(~feb@178.162.212.214) (Remote host closed the connection)
2020-12-03 13:53:31 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-03 13:53:37 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 13:54:22 +0000jamm_(~jamm@unaffiliated/jamm)
2020-12-03 13:56:06 +0000drincruz(~adriancru@ool-44c748be.dyn.optonline.net)
2020-12-03 13:56:45 +0000texasmynsted(~texasmyns@212.102.45.103)
2020-12-03 13:57:47 +0000 <nshepperd2> hmm, pcre supports partial matching
2020-12-03 14:03:24 +0000laurenceday(~leday@173.203.125.91.dyn.plus.net)
2020-12-03 14:04:04 +0000lpy(~nyd@unaffiliated/elysian)
2020-12-03 14:04:53 +0000laurenceday(~leday@173.203.125.91.dyn.plus.net) (Remote host closed the connection)
2020-12-03 14:06:51 +0000sagax(~sagax_nb@213.138.71.146) (Read error: Connection reset by peer)
2020-12-03 14:08:32 +0000laurenceday(~leday@173.203.125.91.dyn.plus.net)
2020-12-03 14:11:28 +0000cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-12-03 14:11:39 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection)
2020-12-03 14:12:13 +0000joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net)
2020-12-03 14:12:51 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-03 14:13:23 +0000zariuq(~zar@fw1.ciirc.cvut.cz) (Remote host closed the connection)
2020-12-03 14:13:30 +0000zargoertzel(~zar@fw1.ciirc.cvut.cz)
2020-12-03 14:16:23 +0000jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-03 14:23:12 +0000sunweaver1(~sunweaver@185.163.110.125)
2020-12-03 14:23:54 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 260 seconds)
2020-12-03 14:23:58 +0000SupaYoshii(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 14:24:48 +0000drincruz(~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 272 seconds)
2020-12-03 14:28:03 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-12-03 14:29:46 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-03 14:30:17 +0000drincruz(~adriancru@ool-44c748be.dyn.optonline.net)
2020-12-03 14:30:48 +0000britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-12-03 14:31:10 +0000 <siraben> Is there a more efficient structure than a vector of bytestirngs?
2020-12-03 14:31:21 +0000 <siraben> vector of unboxed vectors of chars?
2020-12-03 14:32:37 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2020-12-03 14:33:05 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-03 14:33:09 +0000britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-12-03 14:33:49 +0000 <merijn> siraben: for what?
2020-12-03 14:34:16 +0000 <siraben> merijn: https://github.com/siraben/hoac-2020/blob/master/day3.hs
2020-12-03 14:34:26 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 14:34:31 +0000 <siraben> I switched from list of bytestrings to vector of bytestrings but didn't seem to improve the benchmarks
2020-12-03 14:34:31 +0000britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit)
2020-12-03 14:34:39 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 14:35:33 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-03 14:35:40 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 14:35:56 +0000Sornaensis|2(~kvirc@077213194197.dynamic.telenor.dk)
2020-12-03 14:37:51 +0000lassulus(~lassulus@NixOS/user/lassulus) (Quit: WeeChat 2.9)
2020-12-03 14:38:06 +0000 <dolio> Seems like a better improvement would be only folding once.
2020-12-03 14:38:45 +0000Sornaensis(~kvirc@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds)
2020-12-03 14:38:50 +0000darjeeling_(~darjeelin@115.215.41.204) (Ping timeout: 260 seconds)
2020-12-03 14:39:35 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-03 14:39:36 +0000 <siraben> In part 2?
2020-12-03 14:39:56 +0000 <siraben> Ah, right.
2020-12-03 14:40:56 +0000 <dolio> Sure, althought part 1 is just using a subset of the information of part 2, so you could fold once for both.
2020-12-03 14:40:58 +0000christo(~chris@81.96.113.213)
2020-12-03 14:41:53 +0000 <merijn> Any specific reason for optimising this? Or just for shits & giggles? :p
2020-12-03 14:42:07 +0000fendor(~fendor@91.141.2.63.wireless.dyn.drei.com)
2020-12-03 14:42:14 +0000 <siraben> shits and giggles
2020-12-03 14:42:22 +0000 <siraben> also benchmarking is fun :P
2020-12-03 14:42:29 +0000LKoen(~LKoen@105.175.9.109.rev.sfr.net)
2020-12-03 14:43:10 +0000hackagephonetic-languages-simplified-properties-lists 0.3.0.0 - A generalization of the uniqueness-periods-vector-properties package. https://hackage.haskell.org/package/phonetic-languages-simplified-properties-lists-0.3.0.0 (OleksandrZhabenko)
2020-12-03 14:43:17 +0000lassulus(~lassulus@NixOS/user/lassulus)
2020-12-03 14:43:18 +0000sleblanc(~sleblanc@unaffiliated/sebleblanc) (Ping timeout: 256 seconds)
2020-12-03 14:45:16 +0000 <Taneb> Does GHC have any limits on the number of fields in a record?
2020-12-03 14:45:25 +0000 <merijn> "probably"
2020-12-03 14:46:06 +0000geekosaur(82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
2020-12-03 14:46:33 +0000 <dolio> It starts having problems with tuples around 64 elements, so it's possible there's a similar problem with other constructors.
2020-12-03 14:48:10 +0000z0(~z0@188.251.71.80)
2020-12-03 14:48:12 +0000 <merijn> 62
2020-12-03 14:48:30 +0000vicfred(~vicfred@unaffiliated/vicfred)
2020-12-03 14:48:36 +0000 <merijn> Tuple size 63 and up are commented out with a comment about GHC segfaulting when the higher ones are added
2020-12-03 14:49:01 +0000 <dolio> I saw some recent discussion where something larger than 62 was mentioned as working.
2020-12-03 14:49:14 +0000Sornaensis|2(~kvirc@077213194197.dynamic.telenor.dk) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2020-12-03 14:49:24 +0000 <oats> it always tickled me that the tuples were manually defined :P
2020-12-03 14:49:38 +0000 <dolio> I think it was 64 for some SIMD thing.
2020-12-03 14:49:47 +0000joaj(~joaj@2001:690:2100:110:cceb:227c:edbc:592c) (Ping timeout: 244 seconds)
2020-12-03 14:49:51 +0000 <merijn> > 2 * 26 + 10
2020-12-03 14:49:53 +0000 <lambdabot> 62
2020-12-03 14:49:58 +0000 <merijn> Nope, 62
2020-12-03 14:50:07 +0000 <merijn> dolio: https://hackage.haskell.org/package/ghc-prim-0.6.1/docs/src/GHC.Tuple.html :p
2020-12-03 14:50:33 +0000 <dolio> I didn't say there were tuples bigger than 62 defined in that file.
2020-12-03 14:50:42 +0000 <oats> the greatest haskell file of all time
2020-12-03 14:50:49 +0000 <z0> is there a significant difference resource wise between cycling a list vs calculating the index mod length?
2020-12-03 14:50:56 +0000joaj(~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0)
2020-12-03 14:51:11 +0000 <merijn> z0: If you intend to index said list, yes
2020-12-03 14:51:23 +0000 <dolio> Anyhow, I'm not sure anyone knows what was failing with tuples that big anyway. It could be unrelated to the constructors.
2020-12-03 14:51:28 +0000 <oats> indexing lists booooo
2020-12-03 14:51:28 +0000 <merijn> z0: at least, when you start from the beginning each time
2020-12-03 14:51:54 +0000 <merijn> oats: How can it be the best Haskell file? It has none of the best functions
2020-12-03 14:52:10 +0000darjeeling_(~darjeelin@122.245.218.196)
2020-12-03 14:52:33 +0000 <oats> merijn: truly you have not reached tuple enlightenment
2020-12-03 14:52:48 +0000 <merijn> oats: reallyUnsafePtrEquality# is clearly better
2020-12-03 14:52:56 +0000 <merijn> as is accursedUnutterablePerformIO
2020-12-03 14:53:28 +0000 <oats> do you like sharing an address space with a malevolent bringer of chaos?
2020-12-03 14:54:30 +0000 <tomsmeding> yeah some time recently on the mailing list it came up that there was a primop somewhere that returned a 64-tuple, that you couldn't even use because when pattern matching on that tuple ghc said "I don't support tuples longer than 62"
2020-12-03 14:55:46 +0000 <tomsmeding> this and descendants https://mail.haskell.org/pipermail/ghc-devs/2020-September/019273.html
2020-12-03 14:56:38 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 14:57:31 +0000int-ejust made a single constructor type with 1024 Int fields and ghc didn't complain... it's getting slow to compile though.
2020-12-03 15:00:11 +0000hackageprolude 0.0.0.12 - ITProTV's custom prelude https://hackage.haskell.org/package/prolude-0.0.0.12 (saramuse)
2020-12-03 15:01:06 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-03 15:01:25 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-12-03 15:02:29 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit)
2020-12-03 15:02:57 +0000 <exarkun> Anyone know of a nice IRC client library?
2020-12-03 15:03:39 +0000christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-03 15:04:13 +0000LKoen_(~LKoen@105.175.9.109.rev.sfr.net)
2020-12-03 15:05:23 +0000 <solonarv> z0: cycle xs !! n has to follow n cons-cells, xs !! (n `mod` length xs) only has to follow length xs + n `mod` length xs cons cells
2020-12-03 15:05:44 +0000 <solonarv> (and if you're indexing multiple times, you only have to calculate the length once, of course)
2020-12-03 15:06:04 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-03 15:07:09 +0000LKoen(~LKoen@105.175.9.109.rev.sfr.net) (Ping timeout: 260 seconds)
2020-12-03 15:07:36 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit)
2020-12-03 15:08:19 +0000conal(~conal@64.71.133.70)
2020-12-03 15:08:26 +0000borne(~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
2020-12-03 15:08:55 +0000Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2020-12-03 15:09:36 +0000danza__(~francesco@151.46.171.237) (Read error: Connection reset by peer)
2020-12-03 15:10:16 +0000borne(~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de)
2020-12-03 15:10:51 +0000notzmv(~user@unaffiliated/zmv)
2020-12-03 15:11:02 +0000mrchampion(~mrchampio@216-26-218-246.dynamic.tbaytel.net) (Ping timeout: 260 seconds)
2020-12-03 15:12:18 +0000christo(~chris@81.96.113.213)
2020-12-03 15:13:29 +0000Entertainment(~entertain@104.246.132.210)
2020-12-03 15:15:03 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2020-12-03 15:16:22 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2020-12-03 15:16:39 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2020-12-03 15:19:18 +0000 <exarkun> in a `consumer :: MonadIO m => MVar () -> ConduitT (Either ByteString IrcEvent) o m ()` when I try to get some events with `events <- takeC 2` I get a type error - Couldn't match type ‘o’ with ‘Either ByteString IrcEvent’
2020-12-03 15:19:29 +0000 <exarkun> What does using `takeC` have to do with the output type?
2020-12-03 15:19:51 +0000 <merijn> exarkun: within a do block all lines must have the same output
2020-12-03 15:20:18 +0000 <merijn> exarkun: "instance Monad m => Monad (ConduitT i o m)"
2020-12-03 15:20:27 +0000 <merijn> note that both i and o are fixed there
2020-12-03 15:20:38 +0000polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2020-12-03 15:23:01 +0000gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2020-12-03 15:23:27 +0000 <exarkun> I think I understand the first part. I'm not sure if I understand "both i and o are fixed there".
2020-12-03 15:23:44 +0000gxt(~gxt@gateway/tor-sasl/gxt)
2020-12-03 15:23:57 +0000 <merijn> exarkun: "ConduitT i o m" (with specific types 'i', 'o', and 'm') forms a monad
2020-12-03 15:24:04 +0000 <exarkun> Ah ok
2020-12-03 15:24:22 +0000 <merijn> exarkun: Within a do block all "statements" must have the same type (which has to have a Monad instance)
2020-12-03 15:24:55 +0000 <merijn> exarkun: Remember that "do { x <- foo; bar x }" translate to "foo >>= \x -> bar x"
2020-12-03 15:24:58 +0000 <merijn> :t (>>=)
2020-12-03 15:25:01 +0000 <lambdabot> Monad m => m a -> (a -> m b) -> m b
2020-12-03 15:25:14 +0000 <exarkun> So with that type declaration, the type of `o` will be inferred from what's in the definition of the function, and since `i` is that `Either ...`, using `takeC` like this tells the type checker that `o` must be the same `Either ...`?
2020-12-03 15:25:22 +0000 <merijn> the 'm' there is "ConduitT i o m" and it must be the same on each side
2020-12-03 15:25:59 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.9)
2020-12-03 15:26:14 +0000 <merijn> exarkun: The problem is that "takeC :: ConduitT a a m ()", yeah
2020-12-03 15:26:37 +0000 <merijn> exarkun: Eh, also note that "events <- takeC 2" probably doesn't do what you expect...
2020-12-03 15:26:51 +0000 <exarkun> Oh? :/
2020-12-03 15:26:56 +0000Digit(~user@fsf/member/digit) (Ping timeout: 256 seconds)
2020-12-03 15:27:00 +0000 <merijn> exarkun: That will simply forward 2 inputs downstream and 'events' will be () :p
2020-12-03 15:27:06 +0000 <exarkun> Oof.
2020-12-03 15:27:09 +0000christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-03 15:27:11 +0000hackagephonetic-languages-simplified-lists-examples 0.4.0.0 - Simplified and somewhat optimized version of the phonetic-languages-examples. https://hackage.haskell.org/package/phonetic-languages-simplified-lists-examples-0.4.0.0 (OleksandrZhabenko)
2020-12-03 15:27:16 +0000 <exarkun> Yea. That is not what I expected.
2020-12-03 15:27:37 +0000 <exarkun> Guess I should read the conduit docs harder.
2020-12-03 15:28:26 +0000danza__(~francesco@151.53.83.218)
2020-12-03 15:28:26 +0000mrchampion(~mrchampio@216-26-218-246.dynamic.tbaytel.net)
2020-12-03 15:28:26 +0000 <merijn> exarkun: Since "takeC :: Int -> ConduitT a a m ()" note that the Monad here is "ConduitT a a m" so the "result" in "(>>=) :: Monad m => m a -> (a -> m b) -> m b" the 'a' of >>= is just ()
2020-12-03 15:28:49 +0000 <z0> solonarv: thanks. i guess i always imagine the possibility of some compiler optimization surprising me
2020-12-03 15:28:51 +0000 <merijn> exarkun: You need to process 2 events at a time?
2020-12-03 15:29:48 +0000 <exarkun> merijn: Probably not. This is my first conduit-using program ever. I'm actually just trying to throw 4 events in the trash (but also wait for them to happen before moving on).
2020-12-03 15:30:18 +0000 <merijn> exarkun: that'd be more like "dropC 4" :p
2020-12-03 15:30:45 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 15:30:53 +0000 <merijn> exarkun: What do you mean by "wait for them"?
2020-12-03 15:30:57 +0000hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-03 15:31:15 +0000 <exarkun> merijn: It's an irc client. I want to send a message after they've been received.
2020-12-03 15:31:58 +0000 <exarkun> I see `dropC` has a more favorable type for this... `dropC :: Monad m => Int -> ConduitT a o m ()` so the result is still () but the output type is not fixed as the same as the input type.
2020-12-03 15:32:03 +0000christo(~chris@81.96.113.213)
2020-12-03 15:32:06 +0000DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
2020-12-03 15:32:37 +0000 <exarkun> Also I see that the conduit docs I was looking at are using `foldC` and I guess that's why they work and my code doesn't ... because foldC also doesn't fix the output and has a useful result type instead of ().
2020-12-03 15:33:23 +0000toorevitimirp(~tooreviti@117.182.183.16) (Ping timeout: 260 seconds)
2020-12-03 15:34:31 +0000 <exarkun> I think I understand `ConduitT` a little better now, at least, thanks
2020-12-03 15:34:35 +0000bahamas(~lucian@unaffiliated/bahamas) (Quit: leaving)
2020-12-03 15:35:01 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
2020-12-03 15:35:16 +0000harwiltz(~harwiltz@modemcable052.131-226-192.mc.videotron.ca)
2020-12-03 15:36:49 +0000christo(~chris@81.96.113.213) (Ping timeout: 264 seconds)
2020-12-03 15:36:52 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 15:37:04 +0000 <harwiltz> Hello all. I tried recompiling my XMonad config today, and suddenly the build fails because it can't load XMonad.Actions.Volume.It says that the package xmonad-extras-<hash> is unusable due to missing dependencies, which are all packages with hashes.
2020-12-03 15:37:15 +0000 <merijn> exarkun: ConduitT is best thought of as a stream/conveyor built "ConduitT i o m r" 'i's go in, 'o's come out, processing might trigger effects 'm' and when done processing input, return 'r'
2020-12-03 15:37:27 +0000 <harwiltz> When I search for these packages on my system, I find their corresponding libraries but with different hash suffiexs.
2020-12-03 15:37:30 +0000_linker_(~linker@2a02:a31a:a041:9a80:2cd0:74ec:fa0:a975)
2020-12-03 15:37:31 +0000 <harwiltz> suffixes
2020-12-03 15:38:04 +0000 <merijn> exarkun: So, "dropC 4" consumes the first 4 'i's coming in (and not sending anything out), then all further 'i's get forwarded to whatever you compose dropC with
2020-12-03 15:38:08 +0000 <exarkun> merijn: makes sense! I had only gotten as far as considering i and o before, m and r were off my radar :)
2020-12-03 15:39:01 +0000britva(~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119)
2020-12-03 15:39:45 +0000 <merijn> exarkun: So you'd do something like 'do { result <- takeC 4 .| yourFold; stuffWith result }" here the first 4 inputs go into yourFold, after which takeC stops giving data (causing the fold to finish and return a result) the remaining inputs go into "stuffWith result"
2020-12-03 15:40:26 +0000 <harwiltz> Nvm sorry, just rebuilt xmonad-extras and that solved it
2020-12-03 15:40:28 +0000harwiltz(~harwiltz@modemcable052.131-226-192.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-12-03 15:42:28 +0000dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de)
2020-12-03 15:43:24 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-12-03 15:43:51 +0000christo(~chris@81.96.113.213)
2020-12-03 15:44:05 +0000 <exarkun> merijn: I thiiink I get it. I'll have practice a bit, probably.
2020-12-03 15:45:00 +0000 <exarkun> I think I keep confusing the `do`-block monad type with the ConduitT result type
2020-12-03 15:45:22 +0000 <exarkun> That is, mixing them up when thinking about how the pieces fit together.
2020-12-03 15:45:40 +0000 <merijn> exarkun: For conduit do notation is for "first process inputs with this conduit, then when it finishes, continue with this one, etc."
2020-12-03 15:45:59 +0000 <merijn> Whereas you want .| for sequencing things into a stream
2020-12-03 15:51:05 +0000 <exarkun> Hm I don't think I understand the distinction. Is it about where processing "continues" from?
2020-12-03 15:51:42 +0000cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-03 15:52:58 +0000 <merijn> exarkun: if you have "foo .| bar" inputs go into foo which then yields results to 'bar' for further processing
2020-12-03 15:53:56 +0000 <exarkun> That part seems pretty straightforward at least :)
2020-12-03 15:53:57 +0000Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-12-03 15:53:57 +0000 <merijn> exarkun: But, suppose you want "foo" to, say, first compute something from the first 4 inputs and then use that to transform the rest, then you get code like above "foo = do { result <- takeC 4 .| yourFold; stuffWith result }'
2020-12-03 15:54:49 +0000 <exarkun> Maybe since I haven't implemented a fold (nor tried to learn how I would do that), only seen `foldC`, that part is harder to follow.
2020-12-03 15:55:05 +0000 <merijn> So now all inputs go into 'foo', still. But the first 4 inputs to foo get fed into yourFold (due to takeC 4), which returns a result. Then all other inputs to 'foo' (beyond the first 4) get fed into "stuffWith result" (and the output of that goes to bar)
2020-12-03 15:57:01 +0000hnOsmium0001(uid453710@gateway/web/irccloud.com/x-braorqjpjuqmensd)
2020-12-03 15:57:53 +0000 <exarkun> Apart from how exactly folds are implemented, I think I follow that part.
2020-12-03 15:58:33 +0000 <exarkun> And it seems like it means that the reason I started using do here - to implement some messy, not-very-well-thought-out-yet logic on message inputs and outputs in an imperative style - might not have been wrong
2020-12-03 15:59:28 +0000 <merijn> exarkun: Yeah, for Conduit you wanna think in pipeline (stages)
2020-12-03 15:59:41 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-12-03 15:59:59 +0000 <merijn> "my input is IRC events and I wanna turn that into output X" and then worry about what that means
2020-12-03 16:00:35 +0000Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-12-03 16:00:42 +0000urek(~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43)
2020-12-03 16:01:37 +0000exarkunnods
2020-12-03 16:02:01 +0000 <exarkun> gotta set this aside for now, alas. thanks very much for the hand holding.
2020-12-03 16:03:20 +0000mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2020-12-03 16:04:56 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Read error: Connection reset by peer)
2020-12-03 16:05:06 +0000Rudd0(~Rudd0@185.189.115.98)
2020-12-03 16:05:25 +0000Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 240 seconds)
2020-12-03 16:05:38 +0000urek(~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) (Quit: urek)
2020-12-03 16:06:04 +0000codeAlways(uid272474@gateway/web/irccloud.com/x-qyqdgokdlfkqbekd)
2020-12-03 16:06:09 +0000codeAlways(uid272474@gateway/web/irccloud.com/x-qyqdgokdlfkqbekd) (Client Quit)
2020-12-03 16:06:10 +0000urek(~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43)
2020-12-03 16:06:10 +0000Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-12-03 16:06:26 +0000 <nshepperd2> muahaha. i now have a parsing library which embeds both PCRE and Read within scanf, within trifecta
2020-12-03 16:06:50 +0000 <merijn> nshepperd2: I'm pretty sure there are laws against this...
2020-12-03 16:06:50 +0000 <nshepperd2> unlimited power~
2020-12-03 16:07:01 +0000 <merijn> Like the Geneva convention >.>
2020-12-03 16:07:06 +0000ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2020-12-03 16:07:22 +0000 <nshepperd2> all my typeclasses are lawless
2020-12-03 16:08:27 +0000 <mouseghost> hammurabi codex
2020-12-03 16:11:13 +0000 <nshepperd2> an example: parse (scanf "%/[a-z]+/s = %r") "foo = True" :: (Text, Bool)
2020-12-03 16:11:21 +0000 <nshepperd2> ("foo",True)
2020-12-03 16:12:05 +0000 <nshepperd2> scanf "%/[a-z]+/s = %r" :: Trifecta.Parser (Text, Bool)
2020-12-03 16:12:34 +0000 <merijn> I'm not sure whether to be impressed or disgusted
2020-12-03 16:12:44 +0000 <Clint> why not both
2020-12-03 16:12:49 +0000 <merijn> How do you know the return type? God awful typeclassery?
2020-12-03 16:13:01 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 16:13:33 +0000 <AWizzArd> dminuoso: do you know if Stylish-Haskell now also uses the GHC parser? I think in the past it had its own, but it could break after syntax changes.
2020-12-03 16:13:44 +0000 <nshepperd2> relatively tame typeclassery
2020-12-03 16:14:01 +0000 <merijn> Is it time for me to dig up my "auto-formatting is bad and you should feel bad" link again? >.>
2020-12-03 16:14:45 +0000z0(~z0@188.251.71.80) (Ping timeout: 240 seconds)
2020-12-03 16:14:58 +0000 <nshepperd2> I have typeclass instances (Scanf a, Scanf b) => Scanf (a, b) which just combine monadic parsers applicatively
2020-12-03 16:16:25 +0000Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2020-12-03 16:17:09 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
2020-12-03 16:17:31 +0000danso(~dan@69-165-210-185.cable.teksavvy.com)
2020-12-03 16:17:49 +0000 <nshepperd2> (you do have to specify put a type signature if the return type is ambiguous. there's no fancy format string typechecker magic)
2020-12-03 16:18:07 +0000pavonia(~user@unaffiliated/siracusa)
2020-12-03 16:18:35 +0000fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 256 seconds)
2020-12-03 16:19:16 +0000mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2020-12-03 16:19:26 +0000Tops2(~Tobias@dyndsl-095-033-024-237.ewe-ip-backbone.de)
2020-12-03 16:19:46 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 16:20:31 +0000bitmapper(uid464869@gateway/web/irccloud.com/x-hhucsrtimygjrzko)
2020-12-03 16:20:45 +0000 <AWizzArd> merijn: find that link pls (:
2020-12-03 16:23:37 +0000jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-12-03 16:23:49 +0000fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
2020-12-03 16:25:57 +0000 <merijn> AWizzArd: https://twitter.com/comerijn/status/1257804634833420292
2020-12-03 16:27:25 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-12-03 16:29:14 +0000 <monochrom> You should keep bookmarks of your own tweets.
2020-12-03 16:30:40 +0000 <merijn> monochrom: I have it bookmarked, actually :p
2020-12-03 16:30:41 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
2020-12-03 16:30:59 +0000 <merijn> After I had to look it up for the 3rd time :p
2020-12-03 16:31:19 +0000 <monochrom> I guess in the long term the question "how to search through my bookmarks" and it's the same question all over again.
2020-12-03 16:33:03 +0000 <boxscape> that's obvious, use meta-bookmarks
2020-12-03 16:33:44 +0000 <merijn> SQLite database, tags and full-text search, duh
2020-12-03 16:33:48 +0000 <AWizzArd> hr hr hr
2020-12-03 16:34:12 +0000jmchael(~Chi1thang@87.112.60.168)
2020-12-03 16:36:07 +0000 <merijn> Facts: Everything is better with SQLite
2020-12-03 16:36:24 +0000borne(~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2020-12-03 16:36:46 +0000borne(~fritjof@87.123.105.43)
2020-12-03 16:37:36 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
2020-12-03 16:38:58 +0000chris8142(~chris8142@srvnet-01-071.ikbnet.co.at)
2020-12-03 16:40:17 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 16:41:25 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-12-03 16:41:36 +0000Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 272 seconds)
2020-12-03 16:43:01 +0000sagax(~sagax_nb@213.138.71.146)
2020-12-03 16:43:50 +0000Yumasi(~guillaume@2a01:e0a:5cb:4430:e1ea:8f38:f518:4e69) (Ping timeout: 264 seconds)
2020-12-03 16:46:42 +0000chris8142(~chris8142@srvnet-01-071.ikbnet.co.at) (Quit: WeeChat 3.0)
2020-12-03 16:46:49 +0000 <Chousuke> I think Firefox stores bookmarks in a SQLite database? :P
2020-12-03 16:47:03 +0000chris8142(~chris8142@srvnet-01-071.ikbnet.co.at)
2020-12-03 16:47:17 +0000 <merijn> It does
2020-12-03 16:47:22 +0000 <solonarv> however it stores them, it definitely has tags (that I don't use :p)
2020-12-03 16:47:32 +0000 <merijn> Also, literally every browser uses SQLite
2020-12-03 16:47:33 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-03 16:47:40 +0000 <Chousuke> as they should
2020-12-03 16:47:42 +0000 <merijn> thunderbird and Apple's Mail.app use it for email too
2020-12-03 16:47:50 +0000 <Chousuke> SQLite is good software.
2020-12-03 16:47:54 +0000 <Chousuke> which is rare.
2020-12-03 16:49:33 +0000 <[exa]> postgresql is cool too
2020-12-03 16:50:03 +0000 <merijn> [exa]: Different usecase(s) :p
2020-12-03 16:50:06 +0000 <[exa]> but that pretty much finishes the list of good relational databases. :]
2020-12-03 16:50:10 +0000 <[exa]> yes, certainly
2020-12-03 16:54:11 +0000 <Chousuke> both have a focus on being good at what they do and slowly expanding their capabilities rather than first trying to do everything and figuring out how to do it well only afterwards :P
2020-12-03 16:54:29 +0000AlterEgo__(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-12-03 16:54:39 +0000AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Read error: Connection reset by peer)
2020-12-03 16:55:23 +0000loller(uid358106@gateway/web/irccloud.com/x-iymviwnzwlbemvjr)
2020-12-03 16:55:26 +0000loller(uid358106@gateway/web/irccloud.com/x-iymviwnzwlbemvjr) (Client Quit)
2020-12-03 16:55:47 +0000loller_(uid358106@gateway/web/irccloud.com/x-ystjmforbrvlleet)
2020-12-03 16:55:55 +0000drincruz_(~adriancru@ool-44c748be.dyn.optonline.net)
2020-12-03 16:57:52 +0000phaul(~phaul@ruby/staff/phaul)
2020-12-03 16:58:58 +0000drincruz(~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 265 seconds)
2020-12-03 17:03:04 +0000shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:3da6:b84a:a587:6e3b) (Ping timeout: 240 seconds)
2020-12-03 17:05:05 +0000 <dsal> sqlite is the sane way to put data into a file.
2020-12-03 17:05:16 +0000 <dsal> postgres is a pretty good database
2020-12-03 17:06:39 +0000 <sm[m]> Chousuke++
2020-12-03 17:07:08 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-03 17:09:00 +0000christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-03 17:10:15 +0000christo(~chris@81.96.113.213)
2020-12-03 17:10:36 +0000hexo-(~hexo@83.167.228.130) (Ping timeout: 240 seconds)
2020-12-03 17:11:23 +0000Adluc(~Adluc@2a01:430:17:1::ffff:328) (Ping timeout: 260 seconds)
2020-12-03 17:13:53 +0000kritzefitz(~kritzefit@212.86.56.80)
2020-12-03 17:14:26 +0000Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 265 seconds)
2020-12-03 17:14:33 +0000nineonine_(~nineonine@50.216.62.2)
2020-12-03 17:16:49 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 17:17:02 +0000nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 260 seconds)
2020-12-03 17:17:02 +0000nineonine_nineonine
2020-12-03 17:18:24 +0000shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:a913:5438:3a24:3de8)
2020-12-03 17:20:39 +0000ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2020-12-03 17:21:10 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 244 seconds)
2020-12-03 17:21:20 +0000ClaudiusMaximus(~claude@223.153.198.146.dyn.plus.net)
2020-12-03 17:21:21 +0000borne(~fritjof@87.123.105.43) (Quit: WeeChat 2.9)
2020-12-03 17:21:26 +0000ClaudiusMaximus(~claude@223.153.198.146.dyn.plus.net) (Changing host)
2020-12-03 17:21:26 +0000ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2020-12-03 17:23:45 +0000fendor(~fendor@91.141.2.63.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2020-12-03 17:24:48 +0000borne(~fritjof@200116b864c92000f60f2508b10af3d6.dip.versatel-1u1.de)
2020-12-03 17:26:11 +0000fendor(~fendor@91.141.2.63.wireless.dyn.drei.com)
2020-12-03 17:29:07 +0000geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-12-03 17:30:15 +0000Adluc(~Adluc@2a01:430:17:1::ffff:328)
2020-12-03 17:31:51 +0000juuandyy(~juuandyy@90.166.144.65)
2020-12-03 17:32:08 +0000alp(~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b) (Remote host closed the connection)
2020-12-03 17:32:29 +0000alp(~alp@2a01:e0a:58b:4920:d1b5:6b8:6f38:d8f3)
2020-12-03 17:34:26 +0000arahael1(~arahael@124-168-0-93.tpgi.com.au)
2020-12-03 17:36:19 +0000asthasr(~asthasr@162.210.29.120)
2020-12-03 17:36:56 +0000arahael(~arahael@124-150-64-50.tpgi.com.au) (Ping timeout: 256 seconds)
2020-12-03 17:37:05 +0000pokid(~pokid@unaffiliated/pokid)
2020-12-03 17:37:28 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 17:37:50 +0000alp(~alp@2a01:e0a:58b:4920:d1b5:6b8:6f38:d8f3) (Ping timeout: 264 seconds)
2020-12-03 17:37:52 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 17:38:23 +0000laurenceday(~leday@173.203.125.91.dyn.plus.net) (Quit: Leaving.)
2020-12-03 17:38:55 +0000chaosmasttter(~chaosmast@p200300c4a7122601056aeb346f192a12.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-12-03 17:39:15 +0000cads2(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-03 17:40:42 +0000hexo-(~hexo@83.167.228.130)
2020-12-03 17:41:34 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2020-12-03 17:41:53 +0000cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds)
2020-12-03 17:42:14 +0000ph88(~ph88@ip5f5af6cd.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2020-12-03 17:43:08 +0000Tops2(~Tobias@dyndsl-095-033-024-237.ewe-ip-backbone.de) (Quit: Leaving.)
2020-12-03 17:43:29 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-12-03 17:44:15 +0000Tops2(~Tobias@dyndsl-095-033-024-237.ewe-ip-backbone.de)
2020-12-03 17:44:36 +0000carlomagno(~cararell@148.87.23.11) (Ping timeout: 240 seconds)
2020-12-03 17:45:48 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 17:46:20 +0000cads2(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds)
2020-12-03 17:47:49 +0000anhydrite(~anhydrite@4e69b241.skybroadband.com) (Ping timeout: 246 seconds)
2020-12-03 17:48:01 +0000chris8142(~chris8142@srvnet-01-071.ikbnet.co.at) (Quit: WeeChat 3.0)
2020-12-03 17:48:06 +0000p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds)
2020-12-03 17:50:26 +0000gioyik(~gioyik@186.112.99.244)
2020-12-03 17:51:21 +0000Guest4563(~Siempre@4e69b241.skybroadband.com)
2020-12-03 17:54:15 +0000hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net)
2020-12-03 17:55:09 +0000 <justsomeguy> What is your opinion of fossil (the version control software that uses sqlite as a back-end)?
2020-12-03 17:57:49 +0000carlomagno(~cararell@148.87.23.12)
2020-12-03 17:58:34 +0000 <koz_> Mine is primarily 'whatever its merits, git has network effects and thus it's what'll get used nine times out of ten, merits be damned'.
2020-12-03 17:59:00 +0000theorbtwo(~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net)
2020-12-03 17:59:01 +0000theorb(~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net) (Ping timeout: 246 seconds)
2020-12-03 18:00:26 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection)
2020-12-03 18:01:33 +0000 <Chousuke> My opinion is that git's good enough :P
2020-12-03 18:01:59 +0000 <monochrom> :)
2020-12-03 18:02:24 +0000 <Chousuke> the UI is terrible, but the software itself is solid, so the good reasons to use alternatives just often aren't good enough
2020-12-03 18:03:13 +0000 <justsomeguy> To be honest I've been using various vcs' and still haven't incorporated any of them into my workflow in a productive way. They mostly serve as extended undo rather than a useful microblog of changes with narrative structure.
2020-12-03 18:03:44 +0000shf(~sheaf@2a01:cb19:80cc:7e00:bd72:6c13:4bde:b40f) (Read error: Connection reset by peer)
2020-12-03 18:04:25 +0000Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-03 18:04:34 +0000 <koz_> My experience with git is roughly this comic: https://xkcd.com/1597/
2020-12-03 18:05:09 +0000 <Chousuke> I think git was successful because it was such a huge improvement over the status quo in terms of what it enabled you to do, and it arrived at the right time.
2020-12-03 18:05:17 +0000 <Sonolin> yup
2020-12-03 18:05:47 +0000 <Sonolin> being created by Linus Torvalds is a lot of free promo as well
2020-12-03 18:05:50 +0000 <monochrom> haha koz_. Although, I haven't run into that kind of problems. (I'm a casual user.)
2020-12-03 18:06:55 +0000 <Chousuke> I'm pretty comfortable with git nowadays, so people nuking their projects unnecessarily bothers me somewhat :P
2020-12-03 18:08:05 +0000 <Chousuke> the UI is bad, but its internal workings are so straightforward that I can always just look up whatever magic incantation I need for the operation I want to do if I can't remember it
2020-12-03 18:08:21 +0000 <Sonolin> yea once you grok it it is really powerful
2020-12-03 18:08:35 +0000ph88(~ph88@95.90.246.205)
2020-12-03 18:08:36 +0000 <Sonolin> SourceTree is nice for those unwilling to learn
2020-12-03 18:10:33 +0000britva(~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep)
2020-12-03 18:10:34 +0000 <koz_> I'm semi-casual. Like, I've learned worse, but git is far from 'good enough' in my opinion. I just tolerate it because if you wanna contribute to basically anything nowadays you _have_ to know it.
2020-12-03 18:11:13 +0000 <Chousuke> I mean "good enough" in terms of what you can do with it
2020-12-03 18:11:35 +0000joaoh82_(~joaoh82@157-131-134-210.dedicated.static.sonic.net)
2020-12-03 18:11:41 +0000 <Chousuke> The problem with eg. subversion was that if you wanted to use it to untangle a tricky merge, you just couldn't
2020-12-03 18:11:41 +0000hackagegeos 0.4.0 - Bindings for GEOS. https://hackage.haskell.org/package/geos-0.4.0 (petefrance)
2020-12-03 18:12:04 +0000 <koz_> I actually used subversion in a professional setting.
2020-12-03 18:12:07 +0000 <koz_> Never again.
2020-12-03 18:12:19 +0000 <Chousuke> with git you can make temporary commits and add things piecemeal and rewrite things all you want, and that helps you deal with tricky situations
2020-12-03 18:12:19 +0000 <koz_> Like, if you can't do the equivalent of .gitignore, you are pretty badly designed IMHO.
2020-12-03 18:12:45 +0000 <Chousuke> with Subversion you just have a mess in your worktree and no help from the tool :P
2020-12-03 18:13:10 +0000geekosaurremembers when svn was a step *up*, though
2020-12-03 18:13:18 +0000 <geekosaur> everything is relative
2020-12-03 18:13:33 +0000 <Chousuke> oh yeah, the first source control I used was RCS :)
2020-12-03 18:13:33 +0000Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-12-03 18:13:42 +0000 <Chousuke> svn is definitely somewhat better than that.
2020-12-03 18:13:45 +0000 <geekosaur> I started out on SCCS
2020-12-03 18:13:49 +0000joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 260 seconds)
2020-12-03 18:14:07 +0000monochromcame from the time of .cvsignore
2020-12-03 18:14:38 +0000Aquazi(uid312403@gateway/web/irccloud.com/x-hleddgoteowwxjqp) (Quit: Connection closed for inactivity)
2020-12-03 18:14:54 +0000 <dminuoso> Is there a typeclass that gives us sort of equality of Maybe a or say Nothing ~= Just ""
2020-12-03 18:15:01 +0000 <dminuoso> Or Nothing ~= Just []
2020-12-03 18:15:01 +0000 <monochrom> So if you also mean that subversion can't do the equivalent of .cvsignore, that's disappointing. subversion was supposed to be one level up above cvs.
2020-12-03 18:15:16 +0000 <koz_> monochrom: AFAICT, no.
2020-12-03 18:15:30 +0000 <Chousuke> and Subversion is still decent for completely linear things like configuration, or for storing versions of binary artifacts.
2020-12-03 18:15:31 +0000 <jle`> dminuoso: compare on fold, maybe
2020-12-03 18:15:33 +0000Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
2020-12-03 18:15:50 +0000alp(~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6)
2020-12-03 18:15:53 +0000 <Sonolin> SVN always took *forever* to do anything too
2020-12-03 18:16:06 +0000 <dminuoso> jle`: Mmm, that would only work on foldables. The "" was supposed to talk about Text actually
2020-12-03 18:16:20 +0000 <dminuoso> Sorry about that, my brain is currently locked into OverloadedStrings
2020-12-03 18:16:24 +0000 <Chousuke> that's because if you deploy it the "standard" way, it does a gajillion HTTP requests to the server for pretty much anything
2020-12-03 18:16:54 +0000 <dminuoso> Also, I might need `Nothing ~= Just 0` as well..
2020-12-03 18:17:26 +0000 <Chousuke> at one point at work we had a graph showing audit failures against AD
2020-12-03 18:17:27 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
2020-12-03 18:17:29 +0000raichoo(~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de) (Quit: Lost terminal)
2020-12-03 18:17:32 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-03 18:17:41 +0000 <dminuoso> For context, Im dealing with a particularly bad API that for some "unset" fields it gives me `{ "foo": "" }`, other times it gives me {"foo": null} or it just leaves the attribute away
2020-12-03 18:17:43 +0000 <Chousuke> and also audit successes
2020-12-03 18:17:55 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-03 18:18:00 +0000 <Chousuke> and there were noticeable spikes in those numbers when someone checked out a large svn repo :P
2020-12-03 18:18:06 +0000 <dminuoso> And I want to write tests that verify that the thing Im putting in is the thing Im getting out..
2020-12-03 18:18:08 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 18:18:25 +0000 <geekosaur> nothing built in, because it's kinda poorly specified. depending on approach I could see Data.Default or Monoid
2020-12-03 18:19:48 +0000 <geekosaur> but combining either one with Maybe is a problem
2020-12-03 18:20:29 +0000conal(~conal@64.71.133.70)
2020-12-03 18:21:02 +0000 <geekosaur> some custom wrapped Maybe whose comparison function "promotes" Nothing to mempty (and unwraps a Just)?
2020-12-03 18:21:36 +0000 <dminuoso> % lower x | x == empty = Nothing; lower x = Just x
2020-12-03 18:21:37 +0000 <yahb> dminuoso:
2020-12-03 18:21:52 +0000 <dminuoso> % l =&= r == (lower =<< l) == (lower =<< r)
2020-12-03 18:21:53 +0000 <yahb> dminuoso: ; <interactive>:30:1: error: Precedence parsing error cannot mix `==' [infix 4] and `==' [infix 4] in the same infix expression
2020-12-03 18:22:02 +0000 <dminuoso> % l =&= r = (lower =<< l) == (lower =<< r)
2020-12-03 18:22:02 +0000 <yahb> dminuoso:
2020-12-03 18:22:14 +0000 <dminuoso> % Just "" =&= Nothing
2020-12-03 18:22:14 +0000 <yahb> dminuoso: True
2020-12-03 18:22:21 +0000 <dminuoso> Mmm.
2020-12-03 18:22:25 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-03 18:22:57 +0000 <dminuoso> geekosaur: ah yeah, promoting the other way seems saner.
2020-12-03 18:23:10 +0000 <monochrom> dminuoso: I wonder if instead of coding up a special equality, code up a normalization, Just a -> a, Nothing -> mempty or default.
2020-12-03 18:23:28 +0000 <geekosaur> that was basically what I proposed
2020-12-03 18:24:38 +0000 <dminuoso> Cheers, I think Ill go that road. I was on the tree of going the other direction, and it felt like unnecessary extra work
2020-12-03 18:24:40 +0000 <dminuoso> And the bind was weird
2020-12-03 18:25:08 +0000 <monochrom> @type fold
2020-12-03 18:25:09 +0000 <lambdabot> (Foldable t, Monoid m) => t m -> m
2020-12-03 18:25:16 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2020-12-03 18:25:30 +0000 <monochrom> Yeah the normalization looks like fold if the wrapped type is a Foldable.
2020-12-03 18:25:47 +0000LKoen_(~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-12-03 18:25:52 +0000 <monochrom> Although, to get "Nothing -> 0" you have to jump through the hoop of Sum...
2020-12-03 18:26:15 +0000 <geekosaur> yeh, the problem there being Text is MonoFoldable…
2020-12-03 18:26:58 +0000 <monochrom> fromMaybe is a pretty low-tech one-liner solution for all cases.
2020-12-03 18:27:30 +0000 <monochrom> Don't bring in Day convolution if a simple fromMaybe does the job :)
2020-12-03 18:27:41 +0000britva(~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119)
2020-12-03 18:28:38 +0000zyklotomic(~ethan@unaffiliated/chocopuff)
2020-12-03 18:28:45 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 18:29:07 +0000 <zyklotomic> is it a bad idea to have a dependency on something like microlens?
2020-12-03 18:29:42 +0000 <zyklotomic> I want to use https://hackage.haskell.org/package/microlens for only a very small component just for slightly cleaner code
2020-12-03 18:29:51 +0000 <zyklotomic> are dependencies usually a bad idea
2020-12-03 18:29:54 +0000kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 272 seconds)
2020-12-03 18:31:23 +0000 <geekosaur> actually practically everything in the haskell world has dependencies
2020-12-03 18:31:57 +0000 <geekosaur> this is not a "everything but the kitchen sink is in base" ecosystem
2020-12-03 18:33:11 +0000benjamin-l(~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61)
2020-12-03 18:34:05 +0000 <monochrom> Pulling in a huge library just to use one single thing from it, and it is a one-liner "foo f g x y z = f x (g y z)", that's a bad idea.
2020-12-03 18:34:24 +0000 <monochrom> Pulling in a huge library because you actually use, say, 60% of it, that's a good idea.
2020-12-03 18:34:34 +0000 <monochrom> In other words, as always, it depends.
2020-12-03 18:35:31 +0000m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2020-12-03 18:35:38 +0000juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 256 seconds)
2020-12-03 18:36:27 +0000Johan63(910e67ae@customer-145-14-103-174.stosn.net)
2020-12-03 18:36:39 +0000 <koz_> Also, not everythign that looks like a dependency truly is. vector or containers, for example, come with GHC.
2020-12-03 18:36:50 +0000Johan63(910e67ae@customer-145-14-103-174.stosn.net) (Remote host closed the connection)
2020-12-03 18:36:59 +0000 <monochrom> vector still doesn't. containers does.
2020-12-03 18:37:11 +0000hackagecircular 0.2.0 - Circular fixed-sized mutable vectors https://hackage.haskell.org/package/circular-0.2.0 (dschrempf)
2020-12-03 18:37:14 +0000christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-03 18:37:15 +0000 <monochrom> text did not, but does now, since 8.6 or something
2020-12-03 18:37:38 +0000 <koz_> monochrom: Wait really? Vector _isn't_ a boot library?
2020-12-03 18:37:42 +0000 <monochrom> No.
2020-12-03 18:37:45 +0000 <koz_> TIL.
2020-12-03 18:37:54 +0000 <koz_> Ah, because it's _array_, right?
2020-12-03 18:38:04 +0000 <geekosaur> Array's the bootlib, yes
2020-12-03 18:38:11 +0000hackagegeos 0.4.1 - Bindings for GEOS. https://hackage.haskell.org/package/geos-0.4.1 (petefrance)
2020-12-03 18:38:13 +0000 <monochrom> containers isn't a boot library in the strictest sense either. But someone decided it's good to include.
2020-12-03 18:38:50 +0000 <monochrom> And I am grateful that I don't have to take 20 minutes to rebuild text for every new version of GHC.
2020-12-03 18:40:03 +0000 <geekosaur> wasn't it that it used to be and was never really removed after TH or ghc-lib was reworked to not expose containers?
2020-12-03 18:41:02 +0000 <monochrom> I don't know. But interesting.
2020-12-03 18:41:16 +0000 <zyklotomic> that makes sense, it just feels uncomfortable having dependencies for small things, even somehing like vector
2020-12-03 18:41:22 +0000 <monochrom> I can believe it's more like someone forgot to exclude it, heh.
2020-12-03 18:42:12 +0000 <geekosaur> ot sure it's "forgot" or "too many people just blindly assume it's there now"
2020-12-03 18:42:24 +0000joaoh82_(~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 260 seconds)
2020-12-03 18:42:26 +0000christo(~chris@81.96.113.213)
2020-12-03 18:42:48 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-03 18:42:59 +0000 <monochrom> mtl went through several toggles
2020-12-03 18:43:59 +0000 <monochrom> to give you a sense that these things can be observatinally equivalent to politics.
2020-12-03 18:44:30 +0000 <monochrom> Don't look for a technical-merit explanation when a political explanation suffices.
2020-12-03 18:44:49 +0000joaoh82(~joaoh82@143.179.113.4)
2020-12-03 18:47:01 +0000christo(~chris@81.96.113.213) (Ping timeout: 264 seconds)
2020-12-03 18:47:43 +0000joaoh82(~joaoh82@143.179.113.4) (Remote host closed the connection)
2020-12-03 18:48:16 +0000joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net)
2020-12-03 18:49:32 +0000jneira(5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228) (Quit: Connection closed)
2020-12-03 18:49:37 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 18:50:16 +0000contiver(~contiver@84-115-64-44.wifi.dynamic.surfer.at)
2020-12-03 18:50:40 +0000hackagemmsyn7h 0.8.1.0 - Produces a sound recording specified by the Ukrainian text. https://hackage.haskell.org/package/mmsyn7h-0.8.1.0 (OleksandrZhabenko)
2020-12-03 18:53:45 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-03 18:57:10 +0000geekosaur(82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
2020-12-03 18:58:59 +0000matryoshka(~matryoshk@184.75.223.227) (Read error: Connection reset by peer)
2020-12-03 18:59:02 +0000matryoshka`(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2020-12-03 18:59:58 +0000mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2020-12-03 19:00:00 +0000contiver(~contiver@84-115-64-44.wifi.dynamic.surfer.at) (Ping timeout: 256 seconds)
2020-12-03 19:00:50 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 19:00:53 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2020-12-03 19:01:02 +0000alp(~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6) (Remote host closed the connection)
2020-12-03 19:01:31 +0000alp(~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6)
2020-12-03 19:01:31 +0000 <hyperisco> is there a way to run processes (like createProcess) but work with handles with Text instead of String?
2020-12-03 19:02:02 +0000 <merijn> zyklotomic: Why though? Isn't great that something as incredibly wired in and unchangeable as "arrays" in other languages can simply be implemented as a library?
2020-12-03 19:02:07 +0000gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2020-12-03 19:02:50 +0000gxt(~gxt@gateway/tor-sasl/gxt)
2020-12-03 19:02:51 +0000Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2020-12-03 19:02:59 +0000 <monochrom> That goes to what I sometimes explain to students.
2020-12-03 19:03:34 +0000berberman(~berberman@unaffiliated/berberman)
2020-12-03 19:03:36 +0000 <monochrom> It is a triumph of language design that, for example, cons list can be user-defined in Haskell, and even made as efficient as any "built-in primitive" story.
2020-12-03 19:03:59 +0000borne(~fritjof@200116b864c92000f60f2508b10af3d6.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2020-12-03 19:04:00 +0000 <tomjaguarpaw> hyperisco: What do you mean? Do you want functions like hGetLine :: Handle -> IO Text ?
2020-12-03 19:04:08 +0000 <hyperisco> yeah
2020-12-03 19:04:34 +0000 <monochrom> But if everyone did define their own cons lists, inter-operability of two libraries would go out of the Window. It is still a good idea that the standard library provides one version so everyone is on the same page.
2020-12-03 19:04:38 +0000 <tomjaguarpaw> hyperisco: https://www.stackage.org/lts-13.21/hoogle?q=Handle%20-%3E%20IO%20Text
2020-12-03 19:04:43 +0000 <tomjaguarpaw> Those?
2020-12-03 19:04:50 +0000berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
2020-12-03 19:04:57 +0000 <hyperisco> duuno, it isn't loaded
2020-12-03 19:05:10 +0000 <tomjaguarpaw> Stackage can be pretty slow ...
2020-12-03 19:05:18 +0000 <hyperisco> there it goes, yes, thanks
2020-12-03 19:05:26 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 264 seconds)
2020-12-03 19:05:38 +0000 <tomjaguarpaw> You're welcome
2020-12-03 19:06:12 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 19:06:19 +0000kritzefitz(~kritzefit@212.86.56.80)
2020-12-03 19:06:33 +0000juuandyy(~juuandyy@90.166.144.65)
2020-12-03 19:06:53 +0000 <monochrom> Actually cons list is not even the most convincing example.
2020-12-03 19:06:54 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 19:07:02 +0000 <monochrom> Here is the most convincing example: Booleans.
2020-12-03 19:08:22 +0000 <monochrom> Booleans can be user-defined in Haskell. Hackage could be full of user-defined third-party boolean libraries.
2020-12-03 19:08:41 +0000hackagehaskoin-store 0.38.4 - Storage and index for Bitcoin and Bitcoin Cash https://hackage.haskell.org/package/haskoin-store-0.38.4 (jprupp)
2020-12-03 19:09:31 +0000 <monochrom> This is a triumph of core language design. But if we really allowed proliferation of third-party booleans on hackage just because "isn't it cool that GHC is decoupled from booleans?", well that actually is far from cool.
2020-12-03 19:09:40 +0000hackager-glpk-phonetic-languages-ukrainian-durations 0.2.2.0 - Can be used to calculate the durations of the approximations of the Ukrainian phonemes. https://hackage.haskell.org/package/r-glpk-phonetic-languages-ukrainian-durations-0.2.2.0 (OleksandrZhabenko)
2020-12-03 19:12:29 +0000 <hyperisco> hm I guess there is this too which is a little annoying https://hackage.haskell.org/package/process-1.6.10.0/docs/System-Process.html#v:proc
2020-12-03 19:13:50 +0000boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Ping timeout: 256 seconds)
2020-12-03 19:13:50 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-03 19:14:08 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-03 19:15:11 +0000miguel_clean(~Miguel@89-72-187-203.dynamic.chello.pl) (Read error: Connection reset by peer)
2020-12-03 19:15:17 +0000 <tomjaguarpaw> hyperisco: You mean that it takes Strings rather than Texts?
2020-12-03 19:15:22 +0000 <hyperisco> yes
2020-12-03 19:15:44 +0000 <tomjaguarpaw> Yeah, I don't know any API that uses Text for createProcess. Perhaps one exists.
2020-12-03 19:18:06 +0000geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-12-03 19:19:50 +0000joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 256 seconds)
2020-12-03 19:20:01 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-03 19:22:28 +0000Lord_of_Life(~Lord@46.217.221.243)
2020-12-03 19:22:28 +0000Lord_of_Life(~Lord@46.217.221.243) (Changing host)
2020-12-03 19:22:28 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-03 19:23:30 +0000howdoi(uid224@gateway/web/irccloud.com/x-oyiccouvdvnehmhe)
2020-12-03 19:23:43 +0000vicfred(~vicfred@unaffiliated/vicfred) (Ping timeout: 246 seconds)
2020-12-03 19:25:47 +0000nkatte(~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1)
2020-12-03 19:25:56 +0000nkatte(~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) (Read error: Connection reset by peer)
2020-12-03 19:26:14 +0000nkatte(~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1)
2020-12-03 19:28:27 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-03 19:28:48 +0000DavidEichmann(~david@62.110.198.146.dyn.plus.net)
2020-12-03 19:31:58 +0000nkatte(~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) (Quit: nkatte)
2020-12-03 19:32:18 +0000nkatte(~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1)
2020-12-03 19:32:22 +0000_deepfire(~user@80.92.100.69) (Remote host closed the connection)
2020-12-03 19:34:55 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 19:36:34 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Read error: Connection reset by peer)
2020-12-03 19:36:54 +0000juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 256 seconds)
2020-12-03 19:37:13 +0000justsomeguy(~justsomeg@216.186.218.241)
2020-12-03 19:37:13 +0000justsomeguy(~justsomeg@216.186.218.241) (Changing host)
2020-12-03 19:37:13 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-12-03 19:37:41 +0000hackagemail-pool 2.2.2 - Preconfigured email connection pool on top of smtp. https://hackage.haskell.org/package/mail-pool-2.2.2 (Jappie)
2020-12-03 19:37:59 +0000nkatte(~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) (Quit: nkatte)
2020-12-03 19:40:06 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2020-12-03 19:47:18 +0000dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-wodmmdskrlskbezg)
2020-12-03 19:48:30 +0000kuribas(~user@ptr-25vy0i8gptzu7g9n288.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2020-12-03 19:49:32 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds)
2020-12-03 19:51:53 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Quit: WeeChat 3.0)
2020-12-03 19:53:03 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Read error: Connection reset by peer)
2020-12-03 19:53:35 +0000justsomeguy(~justsomeg@216.186.218.241)
2020-12-03 19:53:35 +0000justsomeguy(~justsomeg@216.186.218.241) (Changing host)
2020-12-03 19:53:35 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-12-03 19:56:25 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Read error: Connection reset by peer)
2020-12-03 19:56:49 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-12-03 19:58:40 +0000christo(~chris@81.96.113.213)
2020-12-03 19:59:10 +0000 <hyperisco> any reason you can think stack is suddenly taking over a minute to link a small program
2020-12-03 19:59:46 +0000zyklotomic(~ethan@unaffiliated/chocopuff) (Ping timeout: 246 seconds)
2020-12-03 19:59:52 +0000joaj(~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0) (Quit: WeeChat 2.9)
2020-12-03 20:00:42 +0000Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-12-03 20:00:58 +0000danza_(~francesco@151.53.73.59)
2020-12-03 20:01:28 +0000 <monochrom> bad sector
2020-12-03 20:02:34 +0000 <hyperisco> man I have enough spurious problems don't be saying that
2020-12-03 20:03:10 +0000danza__(~francesco@151.53.83.218) (Ping timeout: 260 seconds)
2020-12-03 20:03:13 +0000christo(~chris@81.96.113.213) (Ping timeout: 264 seconds)
2020-12-03 20:03:24 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-12-03 20:05:05 +0000jespada(~jespada@90.254.245.49) (Ping timeout: 240 seconds)
2020-12-03 20:05:47 +0000britva(~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep)
2020-12-03 20:06:04 +0000britva(~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119)
2020-12-03 20:07:22 +0000jespada(~jespada@90.254.245.49)
2020-12-03 20:07:41 +0000hackagechessIO 0.5.0.0 - Basic chess library https://hackage.haskell.org/package/chessIO-0.5.0.0 (mlang)
2020-12-03 20:08:19 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 20:15:36 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds)
2020-12-03 20:15:42 +0000hackagemail-pool 2.2.3 - Preconfigured email connection pool on top of smtp. https://hackage.haskell.org/package/mail-pool-2.2.3 (Jappie)
2020-12-03 20:17:18 +0000britva(~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep)
2020-12-03 20:23:12 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-03 20:23:12 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-03 20:23:22 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-03 20:23:45 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 20:24:09 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 20:24:25 +0000 <dminuoso> 19:27:29 monochrom | Don't bring in Day convolution if a simple fromMaybe does the job :)
2020-12-03 20:24:31 +0000 <dminuoso> Hold on, I can use Day convolution here?
2020-12-03 20:24:32 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-12-03 20:24:46 +0000 <geekosaur> heh
2020-12-03 20:25:04 +0000 <monochrom> No, I'm just tossing out Day convolution blindly as a stereotypical example of advanced math.
2020-12-03 20:25:27 +0000 <monochrom> Like, "adjunction" is no longer intimidating.
2020-12-03 20:27:16 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 20:27:25 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 246 seconds)
2020-12-03 20:27:38 +0000vicfred(~vicfred@unaffiliated/vicfred)
2020-12-03 20:28:05 +0000knupfer(~Thunderbi@200116b82cc3670094f77ab4f8d612cb.dip.versatel-1u1.de)
2020-12-03 20:28:49 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-12-03 20:30:49 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 20:31:41 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 20:33:42 +0000sunweaver1(~sunweaver@185.163.110.125) (Remote host closed the connection)
2020-12-03 20:36:46 +0000christo(~chris@81.96.113.213)
2020-12-03 20:36:47 +0000nf(~n@monade.li) (Quit: Fairfarren.)
2020-12-03 20:37:12 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-12-03 20:37:28 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 20:37:51 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 20:38:01 +0000 <dolio> You mean, basic math that people are scared of. Not advanced math.
2020-12-03 20:38:18 +0000AlterEgo__(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-12-03 20:41:59 +0000nf(~n@monade.li)
2020-12-03 20:43:13 +0000kosmikus(~kosmikus@nullzig.kosmikus.org) (Ping timeout: 256 seconds)
2020-12-03 20:43:29 +0000kosmikus(~kosmikus@haskell/developer/kosmikus)
2020-12-03 20:43:40 +0000Feuermagier(~Feuermagi@213.178.26.41)
2020-12-03 20:45:23 +0000Nahra(~Nahra@unaffiliated/nahra) (Quit: leaving)
2020-12-03 20:48:56 +0000 <monochrom> Yeah OK!
2020-12-03 20:49:05 +0000Deide(~Deide@217.155.19.23)
2020-12-03 20:49:31 +0000nf(~n@monade.li) (Quit: Fairfarren.)
2020-12-03 20:51:13 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 20:51:37 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 20:52:46 +0000Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds)
2020-12-03 20:53:02 +0000Libertinus(58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) (Remote host closed the connection)
2020-12-03 20:54:16 +0000lambda(~xiretza@mail.xiretza.xyz)
2020-12-03 20:56:16 +0000zyklotomic(~ethan@210.13.104.210)
2020-12-03 20:56:21 +0000philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-03 20:56:22 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-03 20:57:08 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-03 20:57:16 +0000 <sclv> if i want the first Just from a list of Maybes (or Nothing) then `listToMaybe . catMaybes` does the trick
2020-12-03 20:57:34 +0000 <sclv> I don't recall if there's something slicker, codegolfwise
2020-12-03 20:57:39 +0000 <sclv> using the First monoid is more verbose
2020-12-03 20:57:54 +0000 <sclv> maybe like an alternative concat or something?
2020-12-03 20:58:15 +0000 <jle`> > asum [Nothing, Just 3, Just 4, Nothing, Just 5]
2020-12-03 20:58:17 +0000 <lambdabot> Just 3
2020-12-03 20:58:28 +0000 <jle`> not that it's any more readable
2020-12-03 20:58:57 +0000 <geekosaur> they're doing code golf, readable isn't a constraint
2020-12-03 20:59:12 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-03 20:59:37 +0000 <ephemient> :t join . find isJust -- was my first thought, but `asum` probably can't be beat
2020-12-03 20:59:39 +0000 <lambdabot> Foldable t => t (Maybe a) -> Maybe a
2020-12-03 21:00:01 +0000 <dminuoso> Maybe monochrom knows how to use Day here? ..
2020-12-03 21:00:04 +0000dminuososmiles
2020-12-03 21:00:05 +0000Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-12-03 21:00:12 +0000geekosaurwas poking asum but jle` beat him to it
2020-12-03 21:00:16 +0000nf(~n@monade.li)
2020-12-03 21:00:23 +0000 <oats> stupid idea of the day: rename 'Just' to 'A'
2020-12-03 21:00:24 +0000joaoh82(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection)
2020-12-03 21:00:28 +0000 <dsal> asum is a good thing to know. I've also used it for more effectful stuff like "which of these works?"
2020-12-03 21:00:33 +0000 <oats> [Nothing, A 3, A 4, Nothing, A 5]
2020-12-03 21:00:52 +0000 <pjb> s/Nothing/A_Nothing/g
2020-12-03 21:00:54 +0000 <jle`> Nothing = NotA
2020-12-03 21:01:01 +0000joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net)
2020-12-03 21:01:12 +0000 <dminuoso> If you're going to break hackage, at least break it properly and just flip Nothing and Just.
2020-12-03 21:01:13 +0000 <jle`> or maybe Nada
2020-12-03 21:01:25 +0000 <dminuoso> [Just, Nothing 3, Nothing 4, Just, Nothing 5]
2020-12-03 21:01:30 +0000 <dsal> Just and Unjust
2020-12-03 21:01:32 +0000 <oats> lol
2020-12-03 21:01:42 +0000 <monochrom> Since an infinite list is involved, I would take a co-limit in an O-category... >:)
2020-12-03 21:02:12 +0000 <dminuoso> jle`: Think we should revive the idea we floated around 2-3 years ago, or what Haskell would be if Germany had won the war.
2020-12-03 21:02:28 +0000 <monochrom> Yikes.
2020-12-03 21:02:42 +0000 <jle`> i literally have no recollection of this conversation D:
2020-12-03 21:02:51 +0000 <monochrom> Iron Sky Haskell?
2020-12-03 21:02:52 +0000 <lambda> hi, looking for a point-free version of `[0,x..]`, something like `multiplesOf`, but I can't find anything - does a function for this exist in base?
2020-12-03 21:03:14 +0000graf_blutwurst(~user@2001:171b:226e:adc0:416e:f9ed:b426:e09e) (Remote host closed the connection)
2020-12-03 21:03:15 +0000 <merijn> lambda: enumFromThen ? :p
2020-12-03 21:03:18 +0000coot(~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-03 21:03:18 +0000 <merijn> :t enumFromThen
2020-12-03 21:03:20 +0000 <lambdabot> Enum a => a -> a -> [a]
2020-12-03 21:03:25 +0000shf(~sheaf@2a01:cb19:80cc:7e00:d9e0:5dd0:4ff3:cac9)
2020-12-03 21:03:25 +0000 <dminuoso> The language would be called Schönfinkel (I know it's not German, but it it sounds Germany so its too good to pass up on)
2020-12-03 21:03:26 +0000 <oats> [Nichts, Ein 3, Ein 4, Nichts...]
2020-12-03 21:03:27 +0000 <merijn> > enumFromThen 0 3
2020-12-03 21:03:30 +0000 <lambdabot> [0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,7...
2020-12-03 21:03:43 +0000 <dminuoso> And currying would be schönfinkeln...
2020-12-03 21:03:50 +0000 <oats> well, s/Ein/Nur
2020-12-03 21:03:51 +0000 <merijn> lambda: the [..] syntax is just syntactic sugar for various Enum operations
2020-12-03 21:04:01 +0000 <dminuoso> oats: Dont translate literallz
2020-12-03 21:04:07 +0000 <dminuoso> Nichts and Ein sound perfect.
2020-12-03 21:04:07 +0000 <lambda> merijn: oh, yep, totally missed that - I only saw enumFrom
2020-12-03 21:04:08 +0000 <oats> yassss
2020-12-03 21:05:15 +0000 <dminuoso> instanz Anwendbar Vielleicht wobei abbilden f Nichts = Nichts; abbilden f (Nur x) = Nur (f x)
2020-12-03 21:05:17 +0000 <dminuoso> It's perfect
2020-12-03 21:05:55 +0000 <sclv> thanks for asum, hoogle took me there too
2020-12-03 21:05:56 +0000 <oats> lololol
2020-12-03 21:06:34 +0000 <oats> what would monads be called?
2020-12-03 21:06:42 +0000 <oats> monad, rather
2020-12-03 21:07:50 +0000 <dminuoso> Well, Monade or Monas have greek stems
2020-12-03 21:08:21 +0000 <oats> how about "Abflachungzeug" :P
2020-12-03 21:08:22 +0000 <dminuoso> Depending on how Hitler would have designed the Münchener Schönfinkel Kompilierer, that might have been permissable
2020-12-03 21:08:54 +0000conal(~conal@64.71.133.70)
2020-12-03 21:09:07 +0000 <oats> MSK lol, I love it
2020-12-03 21:09:44 +0000 <zyklotomic> is it possible to have the update record syntax refer to its respective parameter?
2020-12-03 21:10:01 +0000 <dminuoso> zyklotomic: Not currently
2020-12-03 21:10:12 +0000 <dminuoso> IIRC there is a proposal in progress to address this.
2020-12-03 21:10:35 +0000 <zyklotomic> like data Pog = Pog { a :: Int, b :: Int } --> p = Pog 5 7; p = Pog { a = a + 1 } right?
2020-12-03 21:10:53 +0000 <zyklotomic> just in case I didn't describe it clearly enough
2020-12-03 21:11:03 +0000jneira(5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228)
2020-12-03 21:11:06 +0000 <jle`> yeah, there's no syntax at the moment
2020-12-03 21:11:16 +0000alx741(~alx741@186.178.110.235) (Quit: alx741)
2020-12-03 21:11:26 +0000 <jle`> but there are some lightweight lensy solutions for it
2020-12-03 21:11:33 +0000 <zyklotomic> % right
2020-12-03 21:11:34 +0000 <yahb> zyklotomic: ; <interactive>:33:1: error:; * No instance for (Show (a0 b0 c0 -> a0 (Either d0 b0) (Either d0 c0))) arising from a use of `print'; (maybe you haven't applied a function to enough arguments?); * In a stmt of an interactive GHCi command: print it
2020-12-03 21:11:36 +0000 <merijn> RecordWildCards can do it
2020-12-03 21:11:46 +0000 <jle`> oh yea, but only one at a time
2020-12-03 21:11:50 +0000 <dminuoso> Mmm, no. RecordDotSyntax doesnt quite do it.
2020-12-03 21:11:54 +0000unlink2(~unlink2@p200300ebcf259600971664e9499d7db7.dip0.t-ipconnect.de)
2020-12-03 21:11:57 +0000 <dminuoso> zyklotomic: The best we have currently is what lens/optics offers us.
2020-12-03 21:12:07 +0000 <merijn> "f p@Pog{..} = p{ a = a + 1}"
2020-12-03 21:12:18 +0000 <merijn> jle`: What? No, that should work for any number of fields
2020-12-03 21:12:19 +0000 <dminuoso> Yeah. RecordWildCards at its worst.
2020-12-03 21:12:34 +0000 <dminuoso> It's unhygeniec.
2020-12-03 21:12:41 +0000Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-12-03 21:13:10 +0000 <zyklotomic> so a naive question at that, hope you don't mind, but would it make sense to make this standard/official syntax, the lensy behavior
2020-12-03 21:13:17 +0000 <merijn> dminuoso: I wasn't asked for a *good* solution, just *a* solutions
2020-12-03 21:13:34 +0000 <dminuoso> zyklotomic: So roughly if you had a field _foo with an appropriate lens foo
2020-12-03 21:13:34 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-03 21:13:41 +0000 <merijn> zyklotomic: Theoretically? Maybe
2020-12-03 21:13:44 +0000unlink__(~unlink2@p200300ebcf179a00278fd81c0246cc89.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-12-03 21:13:49 +0000 <jle`> merijn: ah, like, myFunc Pog{..} Pog{..} = ...
2020-12-03 21:13:55 +0000 <geekosaur> zyklotomic, if you hadn't noticed, there's still a fair amount of argument over what the right approach is
2020-12-03 21:13:59 +0000 <merijn> zyklotomic: Realistically: It's not happening anytime soon :p
2020-12-03 21:14:06 +0000 <dminuoso> zyklotomic: oh hold on. No, because its not just syntax.
2020-12-03 21:14:19 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-03 21:14:21 +0000 <ephemient> `{-# LANGUAGE NamedFieldPuns #-} f p@Pog {a} = p {a = a + 1}` less unhygenic?
2020-12-03 21:14:31 +0000 <merijn> zyklotomic: Basically: "Would it make sense for new languages to be designed with lenses for the fields?" 'definitely'
2020-12-03 21:14:32 +0000 <zyklotomic> because they are technically functions?
2020-12-03 21:14:50 +0000 <merijn> zyklotomic: "Is it a good idea to *retroactively* change this?" 'probably not'
2020-12-03 21:14:54 +0000 <dminuoso> zyklotomic: The novelty of optics/lenses is that we get to have a non-syntactical but first-class way of splitting data into whats in focus and whats not.
2020-12-03 21:14:55 +0000 <zyklotomic> i'm a beginner so a lot of this context is lost on me
2020-12-03 21:15:06 +0000 <geekosaur> meanwhile many people use lens to do it, but lens is large and you have to derive lenses for your records
2020-12-03 21:15:08 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection)
2020-12-03 21:15:18 +0000 <dminuoso> zyklotomic: Note the *non-syntactical* part here.
2020-12-03 21:15:38 +0000 <zyklotomic> dminuoso: yes or maybe I should rephrase it, making it more "standard"?
2020-12-03 21:15:56 +0000 <dminuoso> zyklotomic: Well the rough interface of lens has become de-facto standard in Haskell.
2020-12-03 21:15:59 +0000 <zyklotomic> like you have to use the very large lenses library
2020-12-03 21:15:59 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk)
2020-12-03 21:16:04 +0000 <zyklotomic> ah I see
2020-12-03 21:16:05 +0000 <dminuoso> Even the newer library `optics` matches it closely
2020-12-03 21:16:22 +0000 <dminuoso> zyklotomic: You can use microlenses or optics-core if you want a more lightweight approach
2020-12-03 21:16:28 +0000jollygood2(~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2020-12-03 21:16:46 +0000 <zyklotomic> i think a struggle i have had is that "de facto" is very obscure
2020-12-03 21:16:48 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit)
2020-12-03 21:16:50 +0000 <zyklotomic> *or finding out what is de facto
2020-12-03 21:16:57 +0000 <jle`> with library support you could do something like `over #a (+ 3) p`. not quite syntax, just library built on top of the language (if you derive a Generic instance for Pog)
2020-12-03 21:17:03 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 21:17:33 +0000 <zyklotomic> dminuoso: yup, I asked a question earlier about microlenses but it felt wrong pulling in a dependecy just to modify a data type
2020-12-03 21:17:48 +0000alx741(~alx741@186.178.110.235)
2020-12-03 21:17:53 +0000 <dminuoso> Right. For a single use site I wouldn't consider it.
2020-12-03 21:18:11 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 21:18:25 +0000 <zyklotomic> jle`: yeah, I realize it isn't necessarily syntax per se, I meant like part of the "core"? I really don't know what to call it
2020-12-03 21:18:37 +0000 <zyklotomic> kinda lke how Monads aren't part of the language, they're defined in terms of the language right?
2020-12-03 21:18:50 +0000 <dminuoso> Well, its both
2020-12-03 21:18:59 +0000 <sclv> well Monads are part of the language, because "do notation" is baked into the spec
2020-12-03 21:19:10 +0000 <jle`> yeah heh, it's a little bit of both, but i see the point you're trying to make
2020-12-03 21:19:16 +0000 <dminuoso> The typeclass Monad is defined in the Haskell report, but the typeclass is just a plain haskell typeclass you could have written yourself
2020-12-03 21:19:19 +0000 <sclv> you could define the language without Monads and define them independently and you'd have everything but the donation
2020-12-03 21:19:22 +0000 <sclv> er the notation
2020-12-03 21:19:34 +0000 <jle`> you're getting a donation?
2020-12-03 21:19:36 +0000nf(~n@monade.li) (Quit: Fairfarren.)
2020-12-03 21:19:46 +0000nf(~n@monade.li)
2020-12-03 21:19:51 +0000 <zyklotomic> yeah, I think the issue I have is like decoupling which part is which? what is GHC, what is Prelude, what is a seperate package, etc.
2020-12-03 21:19:52 +0000 <dminuoso> or denotion?
2020-12-03 21:20:01 +0000 <sclv> wow there's dyslexia and there's swapping in a whole word lol
2020-12-03 21:20:10 +0000 <dminuoso> zyklotomic: Oh yeah, that GHC part is brought up regularly in various places
2020-12-03 21:20:17 +0000 <dminuoso> Some argue that GHC shouldnt come in base..
2020-12-03 21:20:26 +0000 <sclv> Haskell the language is the Report. Then GHC has a bunch of stuff on top
2020-12-03 21:20:32 +0000 <sclv> Prelude is in the report
2020-12-03 21:20:38 +0000 <dminuoso> (By GHC I mean the module hierarchy of GHC.xxx)
2020-12-03 21:20:52 +0000 <sclv> but even in the report there's the "heart" of haskell and then there's the defined libs and functions
2020-12-03 21:21:01 +0000 <sclv> layers of onion
2020-12-03 21:21:05 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-03 21:21:34 +0000 <dminuoso> zyklotomic: I guess this "field update notation" isn't as important in the realm of Haskell, perhaps because of how Haskellers tend to write code it might not see as much use.
2020-12-03 21:21:35 +0000 <jle`> zyklotomic: there's the base "package" (i use package interchangeably with 'library' here) that's included with ghc, and there is are a few libraries that are used in ghc's source code ('boot packages') which are somewhat considered to be standard/reliable to depend on
2020-12-03 21:21:42 +0000 <jle`> but there's a bit of a nebulous cloud outside of that
2020-12-03 21:22:00 +0000 <dminuoso> There's the odd case where I might want it, but I dont think it'd justify a modification to syntax.
2020-12-03 21:22:14 +0000 <jle`> there is some movement for "built-in lenses" to be built within the language, with a special magic typeclass, i think
2020-12-03 21:22:17 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk)
2020-12-03 21:22:27 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit)
2020-12-03 21:22:27 +0000 <dminuoso> jle`: you mean OverloadedLabels?
2020-12-03 21:22:35 +0000 <zyklotomic> dminuoso: could you elaborate on the how Haskellers tend to write code part, curious
2020-12-03 21:22:35 +0000 <dminuoso> Or even more magical?
2020-12-03 21:22:46 +0000 <jle`> OverloadedLabels is already here, it supports `over #a (+ 3) p` above
2020-12-03 21:23:06 +0000 <jle`> dminuoso: i'm tlaking about like HasField
2020-12-03 21:23:09 +0000 <dminuoso> zyklotomic: I cant put my finger quite on it, but in the past 3 years I can count the occurences of "relative field updates" on a single hand.
2020-12-03 21:23:18 +0000 <dminuoso> For my own code.
2020-12-03 21:23:31 +0000 <dminuoso> All were done with optics because the library was already in the code anyway
2020-12-03 21:24:06 +0000 <koz_> I don't quite understand how this note applies to StateT for MonadLogic: http://hackage.haskell.org/package/logict-0.7.0.3/docs/src/Control.Monad.Logic.Class.html#line-121
2020-12-03 21:24:19 +0000 <jle`> dminuoso: we're one step away from it, for https://hackage.haskell.org/package/base-4.14.0.0/docs/GHC-Records.html
2020-12-03 21:24:30 +0000 <koz_> Does that mean that even though you stack StateT s Logic a, the state won't split when the computation does?
2020-12-03 21:24:32 +0000 <dminuoso> jle`: ah
2020-12-03 21:24:50 +0000 <zyklotomic> dminuoso: maybe this whole thing is a code smell, I'm doing something with a buffer inside State, and i'm basically pushing on and popping off that buffer
2020-12-03 21:24:53 +0000 <jle`> but still i think without deeper support for lens within the language, just "having the lens" isn't really good enough
2020-12-03 21:25:04 +0000 <koz_> I would assume the state _would_ split, as StateT s Logic a ~ s -> Logic (a, s)
2020-12-03 21:25:09 +0000 <zyklotomic> hence why this idea/want came to my mind
2020-12-03 21:25:21 +0000 <dminuoso> zyklotomic: Im not saying it never happens. If you want you can show your code, but it's not unreasonable to ask for it.
2020-12-03 21:25:43 +0000 <dminuoso> More specifically, Im not saying it's a code smell, just that it doesn't happen too often in idiomatic haskell.
2020-12-03 21:25:46 +0000 <koz_> More precisely - I _want_ each 'solution' to have its own pet state.
2020-12-03 21:25:48 +0000 <jle`> and yeah, i am not even claiming that deeper support for lens within the language is a good idea
2020-12-03 21:25:50 +0000nil(~n@monade.li)
2020-12-03 21:25:58 +0000 <zyklotomic> dminuoso: ah thanks for the offer I see
2020-12-03 21:26:23 +0000nil(~n@monade.li) (Client Quit)
2020-12-03 21:26:25 +0000 <jle`> but i do think optics is the nicest user-friendly lens interface i've seen so far
2020-12-03 21:26:30 +0000 <dminuoso> Indeed. :)
2020-12-03 21:26:47 +0000 <dminuoso> It wasnt until optics was released, and I had a long talk with Adam, that I started using it.
2020-12-03 21:26:50 +0000 <dminuoso> Haven't looked back ever since
2020-12-03 21:27:07 +0000 <dminuoso> lens was too intimidating with illegible errors
2020-12-03 21:27:12 +0000borne(~fritjof@200116b864c92000f60f2508b10af3d6.dip.versatel-1u1.de)
2020-12-03 21:27:17 +0000SupaYoshii(~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
2020-12-03 21:27:41 +0000 <jle`> lens has an important role in exploring the concepts loose and fast, maybe. i don't think one could have jumped straight to an optics interface
2020-12-03 21:27:42 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk)
2020-12-03 21:27:52 +0000 <jle`> but maybe the same thing could be said of haskell and the rest of the PL ecosystem
2020-12-03 21:27:56 +0000 <dminuoso> Also what's nice about optics-core is that it has a light dependency footprint and *still* gives you Prism and Iso.
2020-12-03 21:28:20 +0000danza_(~francesco@151.53.73.59) (Quit: Leaving)
2020-12-03 21:28:56 +0000 <zyklotomic> dminuoso: in fact, uhh it's python https://github.com/fxsjy/jieba/blob/67fa2e36e72f69d9134b8a1037b83fbb070b9775/jieba/__init__.py#L249
2020-12-03 21:29:42 +0000 <zyklotomic> so i'm basically trying to recreate this algorithm in haskell
2020-12-03 21:29:44 +0000 <dminuoso> I see.
2020-12-03 21:29:51 +0000 <zyklotomic> the __cut_DAG function was where I employed State and a buffer, or am I going about it the wrong way
2020-12-03 21:30:09 +0000 <zyklotomic> and as you can see, there's that pushing and popping off the buffer behavior
2020-12-03 21:30:56 +0000 <dminuoso> It's hard to say on the spot. Generally, mapping algorithms directly into Haskell is ont ideal
2020-12-03 21:31:30 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net)
2020-12-03 21:31:48 +0000 <dolio> I think the main thing would be that I wouldn't springle direct record munging all over my code, generally.
2020-12-03 21:31:53 +0000__monty__(~toonn@unaffiliated/toonn)
2020-12-03 21:32:17 +0000 <dolio> There might be some key manipulations to factor out and then refer to elsewhere.
2020-12-03 21:32:19 +0000 <zyklotomic> yeah, but for this one specifically, I guess I struggled to find any easier way to have this kind of logic i guess
2020-12-03 21:33:29 +0000 <koz_> As a random aside, I am disappointed that it's not called 'These1s'. :P
2020-12-03 21:33:46 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-03 21:35:05 +0000 <dminuoso> zyklotomic: Can you roughly describe what this does?
2020-12-03 21:35:56 +0000macrover(~macrover@ip68-108-126-211.lv.lv.cox.net) (Ping timeout: 240 seconds)
2020-12-03 21:36:10 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 21:36:24 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-12-03 21:36:56 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
2020-12-03 21:37:50 +0000 <zyklotomic> dminuoso: yeah sure, it is a word segmentation algorithm, algorith wise, it has a split string such as "abcdefg" -> ["a", "bc", "def", "g"], and the part that I shared is checking if the list
2020-12-03 21:37:53 +0000Blkt(~Blkt@2a01:4f8:200:2425::adda) (Ping timeout: 272 seconds)
2020-12-03 21:37:59 +0000 <zyklotomic> ["a", "bc", "def", "g"] can be split any further
2020-12-03 21:38:21 +0000 <zyklotomic> the imperative python code you see loops through each of these split segments, if the segment is of length 1, it pushes it onto buffer
2020-12-03 21:38:31 +0000 <dminuoso> Presumably this has to do with Chinese linguistics?
2020-12-03 21:38:33 +0000 <zyklotomic> if it is not length 1, check if the buffer is empty, if not, split
2020-12-03 21:38:35 +0000 <zyklotomic> yup lol
2020-12-03 21:39:05 +0000 <zyklotomic> and so on, if that makes sense
2020-12-03 21:39:21 +0000Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Remote host closed the connection)
2020-12-03 21:39:22 +0000 <dminuoso> So that sounds like a very simple task for Conduit
2020-12-03 21:39:26 +0000urek(~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) (Ping timeout: 246 seconds)
2020-12-03 21:39:28 +0000jespada(~jespada@90.254.245.49) (Ping timeout: 256 seconds)
2020-12-03 21:40:03 +0000 <dminuoso> Or I guess you could do this directly on a list
2020-12-03 21:40:19 +0000 <dminuoso> in which case such a "buffer" would just be a function argument, wouldnt even bother with StateT here
2020-12-03 21:40:21 +0000 <zyklotomic> I've no experience with Conduit lol
2020-12-03 21:40:36 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds)
2020-12-03 21:40:47 +0000Blkt(~Blkt@2a01:4f8:200:2425::adda)
2020-12-03 21:41:03 +0000catchme(uid355354@gateway/web/irccloud.com/x-tmcodhvuaxunpqgn)
2020-12-03 21:41:09 +0000 <zyklotomic> I think it was because it felt a lot more complex to make it completely functional when I first started trying to write it
2020-12-03 21:41:26 +0000 <zyklotomic> could you give a dumb downed reason how Conduit would work
2020-12-03 21:41:45 +0000 <dminuoso> Let me make up a similar problem and show you how it could be solved
2020-12-03 21:42:14 +0000jespada(~jespada@90.254.245.49)
2020-12-03 21:42:22 +0000geekosaur(82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
2020-12-03 21:42:28 +0000Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2020-12-03 21:42:45 +0000joaoh82_(~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net)
2020-12-03 21:44:03 +0000dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9)
2020-12-03 21:45:14 +0000pokid(~pokid@unaffiliated/pokid) ()
2020-12-03 21:45:24 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-03 21:45:43 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Quit: WeeChat 3.0)
2020-12-03 21:46:33 +0000joaoh82(~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 265 seconds)
2020-12-03 21:47:17 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk)
2020-12-03 21:47:29 +0000nf(~n@monade.li) (Quit: Fairfarren.)
2020-12-03 21:47:39 +0000nf(~n@monade.li)
2020-12-03 21:49:55 +0000danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-12-03 21:50:30 +0000nf(~n@monade.li) (Client Quit)
2020-12-03 21:50:43 +0000nf(~n@monade.li)
2020-12-03 21:51:24 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit)
2020-12-03 21:52:20 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-03 21:52:28 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk)
2020-12-03 21:52:33 +0000nf(~n@monade.li) (Client Quit)
2020-12-03 21:53:34 +0000conal(~conal@64.71.133.70)
2020-12-03 21:53:50 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit)
2020-12-03 21:53:54 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-03 21:53:58 +0000conal(~conal@64.71.133.70) (Client Quit)
2020-12-03 21:54:12 +0000AndreasK(uid320732@gateway/web/irccloud.com/x-ylkxsbmenduzxmys) (Quit: Connection closed for inactivity)
2020-12-03 21:54:55 +0000nf(~n@monade.li)
2020-12-03 21:55:07 +0000seveg(~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk)
2020-12-03 21:56:27 +0000davidfg41(~davidfg4@185.204.1.185)
2020-12-03 21:57:08 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com) (Client Quit)
2020-12-03 21:57:26 +0000 <zyklotomic> dminuoso: i really appreciate it, but i gotta go, i'll most certainly pop back in if you do create that example
2020-12-03 21:58:05 +0000Techcable(znc@irc.techcable.net) (Quit: ZNC - http://znc.in)
2020-12-03 21:58:57 +0000Techcable(znc@irc.techcable.net)
2020-12-03 21:59:42 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.9)
2020-12-03 22:02:01 +0000zyklotomic(~ethan@210.13.104.210) (Ping timeout: 265 seconds)
2020-12-03 22:04:11 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-12-03 22:06:34 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 22:10:25 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2020-12-03 22:14:13 +0000urek(~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43)
2020-12-03 22:14:22 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds)
2020-12-03 22:17:26 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection)
2020-12-03 22:19:28 +0000thc202(~thc202@unaffiliated/thc202) (Quit: thc202)
2020-12-03 22:22:48 +0000 <ezzieyguywuf> I tried to reproduce this on a smaller program but was unable to do so. Currently, the output shown in the comment above `main` is what I get, but I can't understand why the prompt is being printed AFTER I hit enter. https://dpaste.com/2QFM9VS94
2020-12-03 22:22:55 +0000 <ezzieyguywuf> the relevant function in `promptMatch`
2020-12-03 22:24:49 +0000sagax(~sagax_nb@213.138.71.146) (Remote host closed the connection)
2020-12-03 22:25:06 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 22:25:21 +0000isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com)
2020-12-03 22:25:21 +0000 <ezzieyguywuf> hrm, turns out that changing to TextIO.putStrLn fixes it, but again I was unable to reproduce this on a smaller scale
2020-12-03 22:25:24 +0000 <ezzieyguywuf> weird
2020-12-03 22:25:26 +0000knupfer(~Thunderbi@200116b82cc3670094f77ab4f8d612cb.dip.versatel-1u1.de) (Remote host closed the connection)
2020-12-03 22:25:30 +0000 <iqubic> jle`: How does OverloadedLabels work with Lens again? Like how do you set that up?
2020-12-03 22:25:30 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 22:25:34 +0000knupfer(~Thunderbi@200116b82cc36700fd01663be2310e7a.dip.versatel-1u1.de)
2020-12-03 22:25:48 +0000 <isovector1> jle`: just read your post on shuffling groups and it was the most clarifying thing i've ever seen on groups. thanks!!
2020-12-03 22:25:50 +0000 <iqubic> I can I get that to automatically generate lenses for my custom data?
2020-12-03 22:25:55 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 22:26:00 +0000 <ezzieyguywuf> this was my attempt to reproduce https://dpaste.com/CHPNWYGL4
2020-12-03 22:26:23 +0000 <exarkun> irc-conduit wants a ConduitT with (Either ... IrcMessage) as its output type. What if I have an input to my pipeline for which I want to generate more than one IrcMessage?
2020-12-03 22:26:32 +0000 <isovector1> jle`: how come you're not on planet haskell?
2020-12-03 22:26:35 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 22:27:36 +0000 <isovector1> jle`: oh it looks like your rss feed is broken. most recent post i'm seeing is from 2013
2020-12-03 22:27:43 +0000 <exarkun> is this what unfoldC is for?
2020-12-03 22:27:46 +0000__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-12-03 22:27:59 +0000isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Remote host closed the connection)
2020-12-03 22:28:33 +0000 <iqubic> exarkun: It's like unfoldr, but puts outputs into a conduit, instead of a list.
2020-12-03 22:30:29 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-03 22:30:48 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2020-12-03 22:30:49 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-03 22:31:05 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-03 22:31:13 +0000 <monochrom> ezzieyguywuf: I can reproduce. Expect different behaviour between {build exe and run} and {runghc or ghci}. This is general line-buffering issue. If you use putStr without newline, and you want it to "happen right now", hFlush.
2020-12-03 22:31:45 +0000 <ezzieyguywuf> monochrom: ah hah, thank you for the tip.
2020-12-03 22:33:08 +0000Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds)
2020-12-03 22:34:25 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-12-03 22:37:44 +0000 <dminuoso> monochrom: https://gist.github.com/dminuoso/78b9e52de12306ce5511d367200dbebe
2020-12-03 22:37:48 +0000 <dminuoso> Works like a charm, cheers!
2020-12-03 22:38:31 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection)
2020-12-03 22:38:31 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-12-03 22:38:51 +0000chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-12-03 22:40:25 +0000 <dminuoso> iqubic: So OverloadedLabels essentially gives you variables identifiable by type level symbols
2020-12-03 22:40:31 +0000ces(~ces@52d3c113.dynamic-ip.k-net.dk)
2020-12-03 22:40:45 +0000 <dminuoso> OverloadedLabels is just syntax sugar for `fromLabel @"Foobar"`
2020-12-03 22:40:49 +0000 <iqubic> How can I use that with Generic Lenes?
2020-12-03 22:40:52 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2020-12-03 22:41:36 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 22:41:50 +0000 <iqubic> *lenses
2020-12-03 22:41:52 +0000 <dminuoso> See https://hackage.haskell.org/package/generic-lens-2.0.0.0/docs/Data-Generics-Labels.html
2020-12-03 22:42:06 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-03 22:44:15 +0000 <iqubic> That's a bit confusing.
2020-12-03 22:45:39 +0000mbomba(~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca)
2020-12-03 22:46:12 +0000 <dminuoso> instance ( capital ~ BeginsWithCapital name, IsLabelHelper capital name p f s t a b, pafb ~ p a (f b), psft ~ p s (f t)) => IsLabel name (pafb -> psft) where
2020-12-03 22:47:03 +0000 <dminuoso> So say you wrote `#_Foo` in your code somehow, this would get desugared into `fromLabel @"_Foo"`
2020-12-03 22:47:17 +0000 <dminuoso> Then set `name` to "_Foo"
2020-12-03 22:47:31 +0000arahael1arahael
2020-12-03 22:48:00 +0000 <iqubic> And just importing Data.Generic.Lens does this for me?
2020-12-03 22:48:04 +0000 <dminuoso> Based on type inference of the resulting type it knows p, f, s, t, a and b
2020-12-03 22:48:17 +0000 <dminuoso> And some tyfams/fundeps + generics
2020-12-03 22:48:22 +0000 <dminuoso> And voila, you have a prism
2020-12-03 22:49:51 +0000isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com)
2020-12-03 22:50:16 +0000 <iqubic> Do I need to invoke any fancy template haskell stuff?
2020-12-03 22:51:05 +0000 <dminuoso> No.
2020-12-03 22:51:28 +0000 <iqubic> I'm not sure I understand.
2020-12-03 22:51:37 +0000 <iqubic> It's fine though.
2020-12-03 22:53:11 +0000 <dminuoso> Very handwavingly, you can imagine the implementation of the above instance to be `instance ... => IsLabel name (pafb -> psft) where fromLabel = to . genericThing`
2020-12-03 22:53:37 +0000 <dminuoso> The rest from there is just simple plain generics
2020-12-03 22:53:38 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 22:53:56 +0000 <dminuoso> The type level symbols is passed into the generics code so it can find the correct field
2020-12-03 22:54:51 +0000 <iqubic> I understand how that works.
2020-12-03 22:54:57 +0000knupfer(~Thunderbi@200116b82cc36700fd01663be2310e7a.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-03 22:55:12 +0000 <iqubic> It's the part about using these lenses in real code.
2020-12-03 22:55:17 +0000xcmw(~textual@cpe-69-133-55-43.cinci.res.rr.com)
2020-12-03 22:55:36 +0000 <dminuoso> What do you mean? They are like any other lens
2020-12-03 22:56:06 +0000 <dminuoso> Potentially not as efficient in degenerate cases, but other than that it's the same
2020-12-03 22:57:42 +0000 <iqubic> Let's say I have "data Foo a = Foo {Bar :: (Int, a), Baz :: Int}" How would I go about changing the int in the Bar tuple?
2020-12-03 22:58:39 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-03 22:58:41 +0000 <dminuoso> Assuming you meant to write bar and baz (lowercase), then that'd be:
2020-12-03 22:58:52 +0000 <iqubic> I did mean for it to be lowercase.
2020-12-03 22:58:59 +0000 <dminuoso> f & #bar . _1 %~ f
2020-12-03 22:59:05 +0000 <dminuoso> err
2020-12-03 22:59:08 +0000 <dminuoso> x & #bar . _1 %~ f
2020-12-03 22:59:15 +0000 <iqubic> Oh, is that all?
2020-12-03 22:59:19 +0000 <dminuoso> Yes.
2020-12-03 22:59:32 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2020-12-03 22:59:44 +0000sondr3(~sondr3@cm-84.211.56.132.getinternet.no)
2020-12-03 23:01:08 +0000 <iqubic> I see. Is it possible to use this for other things like as the argument to typed? https://hackage.haskell.org/package/generic-lens-2.0.0.0/docs/Data-Generics-Product-Typed.html#t:H…
2020-12-03 23:01:11 +0000p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-12-03 23:01:12 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-12-03 23:01:36 +0000DavidEichmann(~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection)
2020-12-03 23:02:08 +0000 <iqubic> Or would I still need to use type applications?
2020-12-03 23:02:29 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection)
2020-12-03 23:02:31 +0000rdivacky(~rdivacky@212.96.173.4) (Read error: Connection reset by peer)
2020-12-03 23:02:45 +0000alp(~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6) (Ping timeout: 272 seconds)
2020-12-03 23:03:34 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-03 23:03:37 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-03 23:04:28 +0000 <dminuoso> That doesn't make much sense..
2020-12-03 23:05:50 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-12-03 23:07:47 +0000rdivacky(~rdivacky@212.96.173.4)
2020-12-03 23:08:08 +0000 <sondr3> I have a weird problem doing lookups in a Map: https://gist.github.com/sondr3/c76dd36778cef870daff78b32051e228. It's a `Map Text Bool` and looking up "*" fails but "/" and any other texts work
2020-12-03 23:08:12 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-12-03 23:10:13 +0000Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving)
2020-12-03 23:11:54 +0000 <dminuoso> % m = M.fromAscList [("+", True),("-",False),("/",True),("*",True)]; m :: M.Map String Boo
2020-12-03 23:11:54 +0000 <yahb> dminuoso: ; <interactive>:49:86: error:; Not in scope: type constructor or class `Boo'; Perhaps you meant `Bool' (imported from Prelude)
2020-12-03 23:11:56 +0000 <dminuoso> % m = M.fromAscList [("+", True),("-",False),("/",True),("*",True)]; m :: M.Map String Bool
2020-12-03 23:11:56 +0000 <yahb> dminuoso:
2020-12-03 23:12:04 +0000 <dminuoso> % M.lookup "*" m
2020-12-03 23:12:04 +0000 <yahb> dminuoso: Nothing
2020-12-03 23:12:15 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 23:12:24 +0000 <dminuoso> % print m
2020-12-03 23:12:24 +0000 <yahb> dminuoso: fromList [("+",True),("-",False),("/",True),("*",True)]
2020-12-03 23:12:25 +0000jonatanb(jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds)
2020-12-03 23:12:33 +0000 <dminuoso> % lookup "*" (M.toList m)
2020-12-03 23:12:34 +0000 <yahb> dminuoso: Just True
2020-12-03 23:12:37 +0000 <dminuoso> huh
2020-12-03 23:15:24 +0000 <sondr3> At least it's not just me
2020-12-03 23:15:25 +0000 <dminuoso> Oh
2020-12-03 23:15:28 +0000 <dminuoso> M.fromAscList
2020-12-03 23:15:43 +0000 <dminuoso> You're probably violating the precondition that the keys are ascending
2020-12-03 23:15:55 +0000 <dminuoso> % "*" > "/"
2020-12-03 23:15:56 +0000 <yahb> dminuoso: False
2020-12-03 23:15:59 +0000 <dminuoso> There you go.
2020-12-03 23:16:04 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-03 23:16:09 +0000 <dminuoso> (It will not check)
2020-12-03 23:16:16 +0000 <sondr3> Oh, I had no idea that was a thing
2020-12-03 23:16:20 +0000 <dminuoso> "O(n). Build a map from an ascending list in linear time. The precondition (input list is ascending) is not checked."
2020-12-03 23:16:24 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 240 seconds)
2020-12-03 23:16:52 +0000Tario(~Tario@201.192.165.173)
2020-12-03 23:17:04 +0000 <sondr3> Oh lord, yeah, I have no idea why I chose that over just M.fromList
2020-12-03 23:17:20 +0000 <sondr3> That's a brainfart
2020-12-03 23:17:31 +0000 <sondr3> Thanks dminuoso
2020-12-03 23:19:27 +0000fendor(~fendor@91.141.2.63.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-03 23:19:44 +0000conal(~conal@64.71.133.70)
2020-12-03 23:20:06 +0000ph88(~ph88@95.90.246.205) (Ping timeout: 256 seconds)
2020-12-03 23:21:57 +0000conal(~conal@64.71.133.70) (Client Quit)
2020-12-03 23:22:24 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-03 23:22:33 +0000isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com) ("Leaving")
2020-12-03 23:23:03 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 23:23:34 +0000kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-12-03 23:25:48 +0000conal(~conal@64.71.133.70)
2020-12-03 23:26:25 +0000ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-03 23:27:37 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds)
2020-12-03 23:32:58 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 23:33:19 +0000 <koz_> :t intercalate
2020-12-03 23:33:22 +0000 <lambdabot> [a] -> [[a]] -> [a]
2020-12-03 23:33:27 +0000 <koz_> :t intersperse
2020-12-03 23:33:29 +0000 <lambdabot> a -> [a] -> [a]
2020-12-03 23:34:09 +0000urek__(~urek@2804:7f1:e10a:9644:2492:fd7b:c739:6641)
2020-12-03 23:35:41 +0000urek(~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) (Ping timeout: 272 seconds)
2020-12-03 23:37:23 +0000 <koz_> @hoogle intersperse
2020-12-03 23:37:23 +0000 <lambdabot> Data.List intersperse :: a -> [a] -> [a]
2020-12-03 23:37:23 +0000 <lambdabot> Data.List.NonEmpty intersperse :: a -> NonEmpty a -> NonEmpty a
2020-12-03 23:37:23 +0000 <lambdabot> GHC.OldList intersperse :: a -> [a] -> [a]
2020-12-03 23:37:25 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-03 23:37:50 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds)
2020-12-03 23:38:43 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2)
2020-12-03 23:40:52 +0000ces(~ces@52d3c113.dynamic-ip.k-net.dk) (Ping timeout: 272 seconds)
2020-12-03 23:41:04 +0000Tario(~Tario@201.192.165.173) (Ping timeout: 260 seconds)
2020-12-03 23:44:06 +0000Vulfe(~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8)
2020-12-03 23:46:25 +0000Tario(~Tario@201.192.165.173)
2020-12-03 23:46:26 +0000kupi(uid212005@gateway/web/irccloud.com/x-jthauiwdetxrewvw)
2020-12-03 23:48:23 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-03 23:50:57 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-03 23:51:21 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-03 23:52:21 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-03 23:52:54 +0000dhil(~dhil@195.213.192.34) (Ping timeout: 272 seconds)
2020-12-03 23:54:10 +0000hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-03 23:56:02 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-03 23:56:03 +0000hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-12-03 23:56:06 +0000heatsink(~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection)
2020-12-03 23:59:05 +0000p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)