2023/05/20

2023-05-20 00:00:06 +0200 <EvanR> hololeap, have you looked at bytestring-trie
2023-05-20 00:01:54 +0200 <hololeap> no, not yet
2023-05-20 00:02:25 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2023-05-20 00:04:25 +0200 <geekosaur> but he's feeding it from cabal data that all uses String
2023-05-20 00:06:40 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 00:12:18 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-20 00:12:47 +0200user____3(~user@dynamic-046-114-177-008.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-05-20 00:17:26 +0200falafel(~falafel@2603-8000-d700-115c-e4af-b9a0-55a4-148f.res6.spectrum.com)
2023-05-20 00:17:39 +0200motherfsck(~motherfsc@user/motherfsck)
2023-05-20 00:26:46 +0200evincar(~evincar@user/evincar) (Ping timeout: 268 seconds)
2023-05-20 00:31:05 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 00:32:50 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-05-20 00:34:08 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 248 seconds)
2023-05-20 00:34:37 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2023-05-20 00:35:43 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-20 00:37:55 +0200evincar(~evincar@user/evincar)
2023-05-20 00:39:14 +0200acidjnk(~acidjnk@p200300d6e7072f02cde83c9df9d46ae6.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-05-20 00:39:46 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-05-20 00:40:02 +0200zeenk(~zeenk@2a02:2f04:a105:f00::fba) (Quit: Konversation terminated!)
2023-05-20 00:40:08 +0200gptke(~gptke@138.84.54.255)
2023-05-20 00:41:23 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2023-05-20 00:42:38 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection)
2023-05-20 00:42:57 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
2023-05-20 00:43:15 +0200zmt00(~zmt00@user/zmt00) (Read error: Connection reset by peer)
2023-05-20 00:43:42 +0200 <gptke> Malcolm in the Middle Season 8 Episodes 1 and 2: 2. Reese Wilkerson Teams with Canadian Mountie Secret Agents to Trap and Torture Pedophile Tom Cruise https://justpaste.it/Tom_Cruise_BDSM_Tortured_Reese 1. Reese meets Edna Skilton, Fills Her Pussy with Shit, and Fucks that poopy cooter! https://justpaste.it/Reese_Fucks_Edna_Skilton_Malcolm
2023-05-20 00:43:56 +0200ChanServ+o geekosaur
2023-05-20 00:44:05 +0200geekosaur+b *!*@138.84.54.255
2023-05-20 00:44:05 +0200gptkegeekosaur (gptke)
2023-05-20 00:44:21 +0200geekosaur-o geekosaur
2023-05-20 00:44:36 +0200zmt00(~zmt00@user/zmt00)
2023-05-20 00:46:54 +0200spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net) ()
2023-05-20 00:47:03 +0200 <jade[m]> what the actual fuck
2023-05-20 00:47:39 +0200 <geekosaur> the latest style of IRC spam, the links probably are to recent chrome and firefox exploits
2023-05-20 00:49:10 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-20 00:58:13 +0200 <probie> Two links this time
2023-05-20 01:08:42 +0200vandita(~vandit@80-95-69-254.pool.digikabel.hu) (Ping timeout: 268 seconds)
2023-05-20 01:08:46 +0200 <geekosaur> yeh. seems to always be to justpaste.it too
2023-05-20 01:09:58 +0200vandita(~vandit@84-236-10-12.pool.digikabel.hu)
2023-05-20 01:11:23 +0200 <DigitalKiwi> "fun" fact one of my favorite paste sites is dpaste.com and dpaste.org and dpaste.com is blocked by malwarebytes plugin for trojan and justpaste.in is not lol
2023-05-20 01:12:09 +0200xameer(~xameer@144.48.224.179) (Remote host closed the connection)
2023-05-20 01:13:04 +0200xameer(~xameer@144.48.224.179)
2023-05-20 01:13:28 +0200 <jade[m]> it's gonna get really fun now because google introduced a .zip TLD
2023-05-20 01:13:49 +0200 <jade[m]> surely noone is gonna maliciously use that for malware
2023-05-20 01:14:22 +0200theesm(2cbdf4b38a@2604:bf00:561:2000::11c8)
2023-05-20 01:14:34 +0200 <jade[m]> (that sentence barely made any sense - malware is malicious by definition - but I suppose you understand what I mean
2023-05-20 01:14:41 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 01:15:31 +0200 <DigitalKiwi> i got an email the other day that had a bank statement "pdf" that had an .exe extension if tried to download lol
2023-05-20 01:17:55 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-05-20 01:19:57 +0200spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
2023-05-20 01:20:05 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 01:20:57 +0200 <DigitalKiwi> https://www.dropbox.com/s/g66q0akd2sdcfzo/Screenshot%202023-05-19%2018.20.11.png?dl=0
2023-05-20 01:21:25 +0200 <DigitalKiwi> nice try but my store never left demo mode and got deleted anyway
2023-05-20 01:24:42 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-05-20 01:27:04 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-20 01:31:52 +0200mauke_(~mauke@user/mauke)
2023-05-20 01:32:23 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
2023-05-20 01:33:01 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2023-05-20 01:33:31 +0200mauke(~mauke@user/mauke) (Ping timeout: 240 seconds)
2023-05-20 01:33:31 +0200mauke_mauke
2023-05-20 01:37:32 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 01:43:27 +0200euandreh(~Thunderbi@189.6.18.7)
2023-05-20 01:55:28 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 02:01:51 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-20 02:03:00 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-05-20 02:05:38 +0200 <probie> Does anyone else wish there were automatically erased newtypes (or some other lightweight way to reorder type variables)?
2023-05-20 02:06:12 +0200 <davean> probie: how does erasing new types reorder type variables?
2023-05-20 02:06:30 +0200 <probie> as in something like `newtype Flip f b a = Flip (f a b)`
2023-05-20 02:07:04 +0200califax(~califax@user/califx)
2023-05-20 02:07:26 +0200 <probie> so I could do something like `type (~>) f g = forall a . f a -> g a`, `foo :: Flip f b ~> g`, but not have to worry about `Flip` in the definition of foo
2023-05-20 02:08:37 +0200spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Quit: Client closed)
2023-05-20 02:09:04 +0200 <davean> but thats a newtype - the point of which is nominal
2023-05-20 02:09:13 +0200 <davean> if you wanted what you describe why not use type etc?
2023-05-20 02:09:41 +0200 <davean> or a type function?
2023-05-20 02:09:58 +0200 <probie> You can't partially apply type synonyms (or type families) though, but you can partially apply a newtype
2023-05-20 02:10:49 +0200 <davean> but you've declared something nominally about Flip, so it isn't just (f a b)
2023-05-20 02:10:54 +0200 <davean> So youre errasure is incorrect
2023-05-20 02:11:21 +0200 <probie> which is why I want something new
2023-05-20 02:11:48 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 02:13:43 +0200 <probie> ignore most of my original statement - I was still thinking how best to phrase it, and simply bumped the enter key. The sort of thing I really want is a type level function for rearranging things that can be partially applied
2023-05-20 02:21:03 +0200 <davean> That makes a ton more sense!@
2023-05-20 02:26:46 +0200 <probie> I have something like `data T (a :: *) (b :: *) (r :: * -> * -> *)`, but I keep needing to swap between `r` being the first argument, and `r` being the last argument. It needs to be the last argument for typeclass purposes
2023-05-20 02:28:47 +0200boukenshaou(~Boukensha@223.178.86.188)
2023-05-20 02:30:27 +0200 <probie> But I want to be able to use something like `type (~>>) f g = forall a b . f a b -> g a b`, so then I can write a function with a nice readable type (with `r` now being the first parameter) like `(T f ~>> f) -> (Fix2 T ~>> f)` without needing to sprinkle foralls everywhere
2023-05-20 02:30:41 +0200boukenshaou(~Boukensha@223.178.86.188) (Client Quit)
2023-05-20 02:30:58 +0200boukenshaou(~Boukensha@223.178.86.188)
2023-05-20 02:34:18 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-20 02:34:48 +0200ctearrrrrrrrrrrr(~ctearrrrr@73.237.206.60) (Remote host closed the connection)
2023-05-20 02:40:01 +0200falafel(~falafel@2603-8000-d700-115c-e4af-b9a0-55a4-148f.res6.spectrum.com) (Ping timeout: 240 seconds)
2023-05-20 02:46:25 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-05-20 02:53:43 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-20 02:53:43 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-20 02:53:43 +0200wroathe(~wroathe@user/wroathe)
2023-05-20 02:54:06 +0200NetworkPolicy(~NetworkPo@S01069050ca4e3573.cg.shawcable.net)
2023-05-20 02:57:29 +0200evincar(~evincar@user/evincar) (Ping timeout: 246 seconds)
2023-05-20 02:57:55 +0200 <NetworkPolicy> is haskell just syntactic sugar?
2023-05-20 02:59:34 +0200boukenshaou(~Boukensha@223.178.86.188) (Remote host closed the connection)
2023-05-20 03:04:04 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-05-20 03:08:27 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 03:11:01 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-20 03:13:01 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 03:13:28 +0200 <nitrix> Sometimes it's syntactic junk food.
2023-05-20 03:14:13 +0200 <NetworkPolicy> fine line between syntactic sugar and semantic fat imo
2023-05-20 03:14:29 +0200 <nitrix> Probably depends on the lenses you're wearing that day.
2023-05-20 03:17:09 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-20 03:18:55 +0200 <NetworkPolicy> I'd like to find a programming language capatable make life decisions through mathematical game theory
2023-05-20 03:19:25 +0200vandita(~vandit@84-236-10-12.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-05-20 03:19:28 +0200 <NetworkPolicy> so every decision I make that's sufficiently complex I could code it into a program and have it decide the outcome
2023-05-20 03:21:19 +0200 <SrPx> https://twitter.com/VictorTaelin/status/1659724812057452549
2023-05-20 03:21:32 +0200 <NetworkPolicy> or ranked outcome - reward based on my aversion to risk at that moment
2023-05-20 03:21:33 +0200vandita(~vandit@176-241-62-236.pool.digikabel.hu)
2023-05-20 03:25:06 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 03:25:09 +0200remsen(ianremsen@tilde.team)
2023-05-20 03:29:15 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-05-20 03:29:35 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 03:31:15 +0200 <nitrix> SrPx, Someone took "paper" quite literally :)
2023-05-20 03:31:43 +0200 <SrPx> ^^
2023-05-20 03:38:42 +0200Lycurgus(~juan@user/Lycurgus)
2023-05-20 03:40:30 +0200dsrt^(~dsrt@73.237.206.60)
2023-05-20 03:42:36 +0200 <hololeap> NetworkPolicy: sounds like the programming language called "reality"
2023-05-20 03:49:37 +0200sympt(~sympt@user/sympt) (Quit: Ping timeout (120 seconds))
2023-05-20 03:50:32 +0200sympt(~sympt@user/sympt)
2023-05-20 03:51:51 +0200NetworkPolicy(~NetworkPo@S01069050ca4e3573.cg.shawcable.net) (Quit: Client closed)
2023-05-20 03:52:55 +0200nate2(~nate@98.45.169.16)
2023-05-20 03:53:33 +0200evincar(~evincar@user/evincar)
2023-05-20 03:57:28 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-20 03:58:17 +0200nate2(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2023-05-20 04:01:11 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-20 04:01:27 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-05-20 04:03:44 +0200caryhartline(~caryhartl@168.182.58.169)
2023-05-20 04:04:02 +0200evincar(~evincar@user/evincar)
2023-05-20 04:09:35 +0200td_(~td@i53870931.versanet.de) (Ping timeout: 240 seconds)
2023-05-20 04:10:23 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-05-20 04:11:46 +0200td_(~td@i53870916.versanet.de)
2023-05-20 04:24:08 +0200NetworkPolicy(~NetworkPo@S01069050ca4e3573.cg.shawcable.net)
2023-05-20 04:26:24 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 04:26:34 +0200 <NetworkPolicy> hololeap: i mean, it might be a subset of reality not an entire simulation im just talking individual decisions not TREE(3).
2023-05-20 04:27:38 +0200 <NetworkPolicy> it'd be like having an entire team of experts working for you on each decision
2023-05-20 04:28:31 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
2023-05-20 04:28:33 +0200 <NetworkPolicy> you wouldn't need to use it for anything simple like what do i eat for breakfast. but major life decisions where there's a cost to failure
2023-05-20 04:29:14 +0200 <NetworkPolicy> any language that claims to be mathematical should be able to do this easily
2023-05-20 04:30:14 +0200monochromis a logician, takes advantage of the mistaken wording (but still very precise and unambiguous) of "for every decision there exists a program".
2023-05-20 04:31:19 +0200 <monochrom> Let a decision D be given. For example D = "I decide to sleep now". Then the program that outputs D is `main = putStrLn "sleep now!"`
2023-05-20 04:41:28 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-05-20 04:42:55 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-05-20 04:54:56 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-05-20 04:55:18 +0200kimjetwav(~user@2607:fea8:235e:b600:7132:be12:79fb:18e8) (Ping timeout: 250 seconds)
2023-05-20 04:55:25 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-20 04:55:58 +0200falafel(~falafel@2603-8000-d700-115c-25e2-07e8-7aef-02db.res6.spectrum.com)
2023-05-20 04:56:26 +0200NetworkPolicy(~NetworkPo@S01069050ca4e3573.cg.shawcable.net) (Quit: Client closed)
2023-05-20 04:57:16 +0200NetworkPolicy(~NetworkPo@S01069050ca4e3573.cg.shawcable.net)
2023-05-20 04:57:31 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-20 04:58:26 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-05-20 04:59:46 +0200evincar(~evincar@user/evincar)
2023-05-20 04:59:47 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2023-05-20 05:01:24 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-20 05:01:24 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-20 05:01:24 +0200wroathe(~wroathe@user/wroathe)
2023-05-20 05:10:47 +0200vandita(~vandit@176-241-62-236.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-05-20 05:12:33 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection)
2023-05-20 05:12:44 +0200vandita(~vandit@92-249-182-123.pool.digikabel.hu)
2023-05-20 05:12:52 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
2023-05-20 05:14:21 +0200cheater_(~Username@user/cheater)
2023-05-20 05:15:34 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2023-05-20 05:15:36 +0200cheater_cheater
2023-05-20 05:17:21 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2023-05-20 05:23:24 +0200cheater_(~Username@user/cheater)
2023-05-20 05:25:51 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2023-05-20 05:25:59 +0200cheater_cheater
2023-05-20 05:30:05 +0200xameer(~xameer@144.48.224.179) (Ping timeout: 240 seconds)
2023-05-20 05:35:57 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-20 05:40:22 +0200trev(~trev@user/trev)
2023-05-20 05:40:47 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 05:42:40 +0200cheater_(~Username@user/cheater)
2023-05-20 05:43:41 +0200extor(~extor@ns3018124.ip-149-202-82.eu) (Quit: ZNC 1.8.2+deb2build5 - https://znc.in)
2023-05-20 05:43:48 +0200foul_owl(~kerry@71.212.137.212) (Ping timeout: 240 seconds)
2023-05-20 05:45:01 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-05-20 05:45:05 +0200cheater_cheater
2023-05-20 05:47:57 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-20 05:57:10 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 05:59:03 +0200foul_owl(~kerry@212.102.47.39)
2023-05-20 06:08:25 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-20 06:14:23 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-05-20 06:15:31 +0200ddellacosta(~ddellacos@146.70.185.10) (Ping timeout: 240 seconds)
2023-05-20 06:16:38 +0200ddellacosta(~ddellacos@143.244.47.75)
2023-05-20 06:17:48 +0200yaroot_(~yaroot@p3001131-ipngn7601souka.saitama.ocn.ne.jp)
2023-05-20 06:17:59 +0200evincar(~evincar@user/evincar)
2023-05-20 06:19:01 +0200tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
2023-05-20 06:19:08 +0200yaroot(~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (Ping timeout: 240 seconds)
2023-05-20 06:19:09 +0200yaroot_yaroot
2023-05-20 06:30:58 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2023-05-20 06:34:48 +0200tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 240 seconds)
2023-05-20 06:35:45 +0200NetworkPolicy(~NetworkPo@S01069050ca4e3573.cg.shawcable.net) ()
2023-05-20 06:36:24 +0200econo(uid147250@user/econo)
2023-05-20 06:37:13 +0200tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
2023-05-20 06:37:51 +0200xameer(~xameer@144.48.224.179)
2023-05-20 06:38:31 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-05-20 06:44:29 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 06:49:59 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 06:50:59 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-20 06:51:00 +0200falafel(~falafel@2603-8000-d700-115c-25e2-07e8-7aef-02db.res6.spectrum.com) (Ping timeout: 250 seconds)
2023-05-20 07:01:50 +0200vito_(sid1962@id-1962.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-20 07:04:19 +0200 <Inst> does anyone here use data files in cabal?
2023-05-20 07:04:25 +0200 <Inst> i suppose a lot of people do
2023-05-20 07:04:27 +0200 <Inst> on Windows?
2023-05-20 07:05:44 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-05-20 07:12:23 +0200vglfr(~vglfr@209.198.137.192) (Ping timeout: 240 seconds)
2023-05-20 07:12:35 +0200vglfr(~vglfr@209.198.137.192)
2023-05-20 07:12:50 +0200 <Inst> nope
2023-05-20 07:12:52 +0200 <Inst> oh well
2023-05-20 07:16:05 +0200vandita(~vandit@92-249-182-123.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-05-20 07:16:49 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-05-20 07:18:11 +0200vandita(~vandit@92-249-193-45.pool.digikabel.hu)
2023-05-20 07:22:24 +0200evincar(~evincar@user/evincar) (Ping timeout: 268 seconds)
2023-05-20 07:25:14 +0200vglfr(~vglfr@209.198.137.192) (Ping timeout: 246 seconds)
2023-05-20 07:26:13 +0200vglfr(~vglfr@209.198.137.192)
2023-05-20 07:26:33 +0200 <probie> Data files are rare, as "on Windows" is probably also less common than you'd think (and you've asked the question late at night for the US, and early in the morning for Europe further reducing the pool of active users to respond)
2023-05-20 07:27:10 +0200 <probie> s/as "on Windows"/and "on Windows"/
2023-05-20 07:27:10 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 07:34:04 +0200evincar(~evincar@user/evincar)
2023-05-20 07:35:54 +0200 <Inst> yeah i'm wondering if cabal is bugging out
2023-05-20 07:36:02 +0200 <Inst> and since we're looking at double rare, no one has tested this
2023-05-20 07:41:42 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-05-20 07:45:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-20 07:46:23 +0200vglfr(~vglfr@209.198.137.192) (Ping timeout: 256 seconds)
2023-05-20 07:50:32 +0200vglfr(~vglfr@2a0d:3344:1b4f:9e10:dcf5:c871:1414:3355)
2023-05-20 07:54:24 +0200nate2(~nate@98.45.169.16)
2023-05-20 07:59:01 +0200machinedgod(~machinedg@88.128.88.155)
2023-05-20 07:59:05 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-20 08:00:23 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 08:06:21 +0200abrantesasf(abrantesas@gateway/vpn/protonvpn/abrantesasf)
2023-05-20 08:09:33 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-05-20 08:10:31 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-20 08:28:07 +0200falafel(~falafel@2603-8000-d700-115c-e9b9-b6fb-0482-eed0.res6.spectrum.com)
2023-05-20 08:28:59 +0200acidjnk(~acidjnk@p200300d6e7072f309de47f84a0a0c5f9.dip0.t-ipconnect.de)
2023-05-20 08:33:16 +0200falafel(~falafel@2603-8000-d700-115c-e9b9-b6fb-0482-eed0.res6.spectrum.com) (Ping timeout: 250 seconds)
2023-05-20 08:36:17 +0200jinsun(~jinsun@user/jinsun)
2023-05-20 08:38:29 +0200vglfr(~vglfr@2a0d:3344:1b4f:9e10:dcf5:c871:1414:3355) (Read error: Connection reset by peer)
2023-05-20 08:38:54 +0200vglfr(~vglfr@209.198.137.192)
2023-05-20 08:38:57 +0200vglfr(~vglfr@209.198.137.192) (Read error: Connection reset by peer)
2023-05-20 08:39:11 +0200vglfr(~vglfr@209.198.137.192)
2023-05-20 08:41:11 +0200vglfr(~vglfr@209.198.137.192) (Read error: Connection reset by peer)
2023-05-20 08:41:14 +0200extor(~extor@ns3018124.ip-149-202-82.eu)
2023-05-20 08:42:32 +0200vglfr(~vglfr@209.198.137.192)
2023-05-20 08:43:37 +0200vglfr(~vglfr@209.198.137.192) (Read error: Connection reset by peer)
2023-05-20 08:45:12 +0200abrantesasf(abrantesas@gateway/vpn/protonvpn/abrantesasf) (Remote host closed the connection)
2023-05-20 08:45:19 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-05-20 08:46:54 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-05-20 08:47:37 +0200vglfr(~vglfr@2a0d:3344:1b4f:9e10:dcf5:c871:1414:3355)
2023-05-20 08:57:38 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 246 seconds)
2023-05-20 08:57:45 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 09:02:59 +0200davl_(~davl@207.154.228.18)
2023-05-20 09:03:13 +0200davl(~davl@207.154.228.18) (Ping timeout: 265 seconds)
2023-05-20 09:03:37 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 09:07:42 +0200oo_miguel(~Thunderbi@77.252.47.84)
2023-05-20 09:08:28 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-20 09:08:40 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-20 09:09:16 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-05-20 09:10:36 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-20 09:17:25 +0200vandita(~vandit@92-249-193-45.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-05-20 09:19:33 +0200vandita(~vandit@92-249-182-123.pool.digikabel.hu)
2023-05-20 09:24:06 +0200zeenk(~zeenk@2a02:2f04:a105:f00::fba)
2023-05-20 09:27:47 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 09:31:11 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 09:32:31 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-20 09:32:55 +0200vglfr(~vglfr@2a0d:3344:1b4f:9e10:dcf5:c871:1414:3355) (Ping timeout: 256 seconds)
2023-05-20 09:47:30 +0200vglfr(~vglfr@2a0d:3344:1b4f:9e10:dcf5:c871:1414:3355)
2023-05-20 09:49:47 +0200evincar(~evincar@user/evincar) (Ping timeout: 268 seconds)
2023-05-20 09:53:52 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 09:59:44 +0200 <[exa]> Inst: what's the issue? (I'm normally installing datafiles and it works everywhere)
2023-05-20 10:01:50 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 10:03:51 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-05-20 10:06:11 +0200 <Inst> well, i don't get an error message when the data files can't be found, more importantly, i don't get the asset folder built into my test build
2023-05-20 10:06:28 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 10:07:49 +0200gmg(~user@user/gehmehgeh)
2023-05-20 10:08:13 +0200 <[exa]> what's your cabal config and how do you produce the test build?
2023-05-20 10:10:34 +0200 <Inst> define cabal config, cabal file?
2023-05-20 10:11:50 +0200 <Inst> https://paste.tomsmeding.com/GhGBqCiV
2023-05-20 10:13:40 +0200 <Inst> and, nothing's in the paths
2023-05-20 10:19:44 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-05-20 10:23:01 +0200vglfr(~vglfr@2a0d:3344:1b4f:9e10:dcf5:c871:1414:3355) (Ping timeout: 240 seconds)
2023-05-20 10:32:45 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-05-20 10:33:20 +0200 <Inst> hmmm, it seems the present problem is that while
2023-05-20 10:37:00 +0200ShalokShalom(~ShalokSha@mobiledyn-62-240-134-108.mrsn.at)
2023-05-20 10:38:21 +0200paulpaul1076(~textual@95-29-4-192.broadband.corbina.ru) (Remote host closed the connection)
2023-05-20 10:39:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-05-20 10:41:41 +0200ShalokShalom(~ShalokSha@mobiledyn-62-240-134-108.mrsn.at) (Client Quit)
2023-05-20 10:42:12 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:510d:16a:b9b3:3b4) (Remote host closed the connection)
2023-05-20 10:48:48 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2023-05-20 10:49:08 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 10:49:47 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-05-20 10:50:08 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-20 10:50:31 +0200 <Inst> cabal can see the files, it won't load it to the dist newstyle
2023-05-20 10:53:25 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 10:53:26 +0200Pickchea(~private@user/pickchea)
2023-05-20 10:56:28 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 10:56:51 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-05-20 11:00:17 +0200 <sclv> thats by design iirc. it doesn’t copy them for inplace builds, only “install” builds?
2023-05-20 11:00:52 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-05-20 11:01:52 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 248 seconds)
2023-05-20 11:04:22 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-05-20 11:05:17 +0200calamaxes[m](~calamaxes@2001:470:69fc:105::3:47b2) (Remote host closed the connection)
2023-05-20 11:05:28 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2023-05-20 11:08:09 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-05-20 11:08:39 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 11:09:28 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2023-05-20 11:12:02 +0200radioredwagon(~radioredw@user/radioredwagon)
2023-05-20 11:12:40 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 3.8)
2023-05-20 11:13:14 +0200vandita(~vandit@92-249-182-123.pool.digikabel.hu) (Ping timeout: 265 seconds)
2023-05-20 11:14:31 +0200 <Inst> not copied into install builds either
2023-05-20 11:14:52 +0200vandita(~vandit@178-164-188-109.pool.digikabel.hu)
2023-05-20 11:16:28 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 11:18:30 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-05-20 11:19:24 +0200img(~img@user/img)
2023-05-20 11:21:00 +0200m1dnight(~christoph@78-22-4-67.access.telenet.be)
2023-05-20 11:21:28 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2023-05-20 11:21:31 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-05-20 11:22:01 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 240 seconds)
2023-05-20 11:24:20 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2023-05-20 11:25:48 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-05-20 11:29:44 +0200MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:7978:ae95:74b8:679a)
2023-05-20 11:30:56 +0200img(~img@user/img)
2023-05-20 11:31:17 +0200radioredwagon(~radioredw@user/radioredwagon) (Quit: Leaving)
2023-05-20 11:35:19 +0200zeenk(~zeenk@2a02:2f04:a105:f00::fba) (Remote host closed the connection)
2023-05-20 11:35:40 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe)
2023-05-20 11:36:05 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-05-20 11:38:47 +0200xameer(~xameer@144.48.224.179) (Ping timeout: 240 seconds)
2023-05-20 11:40:49 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-05-20 11:42:04 +0200trev(~trev@user/trev) (Quit: trev)
2023-05-20 11:42:35 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-05-20 11:45:08 +0200oo_miguel(~Thunderbi@77.252.47.84) (Ping timeout: 240 seconds)
2023-05-20 11:45:40 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 11:46:32 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-05-20 11:46:47 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-20 11:47:52 +0200user____3(~user@dynamic-046-114-181-048.46.114.pool.telefonica.de)
2023-05-20 11:47:58 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-05-20 11:49:33 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-20 11:51:44 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 250 seconds)
2023-05-20 11:52:49 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-05-20 11:53:44 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 11:55:54 +0200nate2(~nate@98.45.169.16)
2023-05-20 11:56:12 +0200ddellacosta(~ddellacos@143.244.47.75) (Ping timeout: 268 seconds)
2023-05-20 11:58:41 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-05-20 11:59:35 +0200machinedgod(~machinedg@88.128.88.155) (Remote host closed the connection)
2023-05-20 12:01:08 +0200nate2(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2023-05-20 12:04:21 +0200titibandit(~titibandi@user/titibandit)
2023-05-20 12:06:29 +0200acidjnk(~acidjnk@p200300d6e7072f309de47f84a0a0c5f9.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-05-20 12:07:27 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-20 12:19:42 +0200xameer(~xameer@144.48.224.179)
2023-05-20 12:27:59 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 12:31:36 +0200cheater(~Username@user/cheater)
2023-05-20 12:34:55 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 12:39:21 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-20 12:39:58 +0200Luj(~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (Quit: The Lounge - https://thelounge.chat)
2023-05-20 12:40:05 +0200gensyst(~gensyst@user/gensyst)
2023-05-20 12:40:36 +0200 <gensyst> When/how are async exceptions actually usually used/called in PRACTICE? Apart from early termination with Ctrl-C, what else?
2023-05-20 12:40:51 +0200 <gensyst> When/why do threads usually throwTo another thread?
2023-05-20 12:41:02 +0200 <gensyst> what are the practical use cases out there?
2023-05-20 12:41:08 +0200user____3(~user@dynamic-046-114-181-048.46.114.pool.telefonica.de) (Ping timeout: 250 seconds)
2023-05-20 12:41:42 +0200Luj(~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb)
2023-05-20 12:45:10 +0200MajorBiscuit(~MajorBisc@2001:1c00:2492:e200:7978:ae95:74b8:679a) (Quit: WeeChat 3.6)
2023-05-20 12:53:35 +0200xameer(~xameer@144.48.224.179) (Remote host closed the connection)
2023-05-20 12:54:31 +0200 <probie> gensyst: It's a way to implement asynchronous message passing between threads in Haskell
2023-05-20 12:56:20 +0200 <gensyst> what does that mean?
2023-05-20 12:56:38 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net) (Quit: xff0x)
2023-05-20 12:58:28 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net)
2023-05-20 12:58:50 +0200 <gensyst> probie,
2023-05-20 13:00:04 +0200 <probie> gensyst: If I have two threads currently executing code, and one thread wants to tell the other to stop what it's doing and do something else "right now", it can do that by throwing an exception at the other thread
2023-05-20 13:00:30 +0200 <probie> e.g. main thread for a board game telling an ai thread it needs to yield a move right now
2023-05-20 13:04:08 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-05-20 13:04:19 +0200cheater(~Username@user/cheater)
2023-05-20 13:05:32 +0200 <gensyst> probie, as in the "ai thread" normally doing other things (things other than yielding moves)?
2023-05-20 13:06:02 +0200xameer(~xameer@144.48.224.179)
2023-05-20 13:06:03 +0200 <gensyst> is this really a contrived use case? how would other languages do it? is this related to green threads?
2023-05-20 13:06:24 +0200 <[Leary]> gensyst: Suppose you're performing some parallel search, but you only need some fixed number of results. The moment you have them, you want to send async exceptions to kill all the other threads so they stop eating your processor. This is a low level interface, however, and mostly you want to work at a higher level via e.g. stm, async, ki.
2023-05-20 13:07:29 +0200 <mauke> gensyst: "other things" = searching for a better move
2023-05-20 13:07:30 +0200phma(~phma@host-67-44-208-177.hnremote.net) (Read error: Connection reset by peer)
2023-05-20 13:08:05 +0200phma(~phma@host-67-44-208-203.hnremote.net)
2023-05-20 13:09:22 +0200trev(~trev@user/trev)
2023-05-20 13:11:27 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net) (Quit: xff0x)
2023-05-20 13:12:55 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net)
2023-05-20 13:13:10 +0200vglfr(~vglfr@209.198.137.192)
2023-05-20 13:13:47 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-05-20 13:14:54 +0200use-value1(~Thunderbi@2a00:23c6:8a03:2f01:2973:25bc:e202:9763)
2023-05-20 13:16:06 +0200 <tomsmeding> gensyst: System.Timeout.timeout
2023-05-20 13:16:13 +0200 <gensyst> [Leary], for async, are you referring to cancel? https://hackage.haskell.org/package/async-2.2.4/docs/Control-Concurrent-Async.html#v:cancel
2023-05-20 13:16:44 +0200 <gensyst> interesting.
2023-05-20 13:16:52 +0200 <gensyst> i'm just curious, is this mechanism unique to haskell?
2023-05-20 13:17:23 +0200 <tomsmeding> isn't this also kind of how posix signals work
2023-05-20 13:17:35 +0200 <tomsmeding> modulo their idiosyncracies
2023-05-20 13:17:56 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Ping timeout: 265 seconds)
2023-05-20 13:17:56 +0200use-value1use-value
2023-05-20 13:19:01 +0200 <gensyst> what i mean is, do i also have to "always worry about async exceptions" when writing code in other languages?
2023-05-20 13:19:11 +0200xameer(~xameer@144.48.224.179) (Remote host closed the connection)
2023-05-20 13:19:13 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-05-20 13:19:19 +0200 <gensyst> (it's been a while since i seriously used other languages so i forgot, if I ever knew)
2023-05-20 13:19:29 +0200xameer(~xameer@144.48.224.179)
2023-05-20 13:21:28 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-05-20 13:23:35 +0200 <tomsmeding> many languages have synchronous exceptions and usually worrying about those is bad enough
2023-05-20 13:23:44 +0200vandita(~vandit@178-164-188-109.pool.digikabel.hu) (Ping timeout: 248 seconds)
2023-05-20 13:23:59 +0200 <tomsmeding> c++, java's exceptions, e.g. std::badalloc
2023-05-20 13:24:20 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 13:24:54 +0200 <[Leary]> gensyst: `cancel` is one case, but normally the cancellation happens under the hood, e.g. in `race`. The `ki` equivalent is the automatic killing of all scoped threads upon exiting the scope.
2023-05-20 13:25:23 +0200vandita(~vandit@91-83-11-193.pool.digikabel.hu)
2023-05-20 13:25:44 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
2023-05-20 13:26:05 +0200 <gensyst> And what about the whole program killing Ctr+C case? how long time does the program (that handles async exceptions) get to cleanup (e.g. close database handle)? milliseconds?
2023-05-20 13:26:07 +0200 <gensyst> is it OS dependent?
2023-05-20 13:26:52 +0200 <probie> gensyst: it doesn't even have to terminate on that. sigint isn't sigterm or sigkill
2023-05-20 13:27:08 +0200 <gensyst> & couldn't the OS kill the program *without* giving it a chance to do cleanup?
2023-05-20 13:27:24 +0200 <tomsmeding> yes: on linux with SIGKILL, e.g. with the venerable kill -9
2023-05-20 13:28:03 +0200 <tomsmeding> on linux, SIGKILL and SIGSTOP are the only signals a program cannot catch, block or ignore (see man 7 signal)
2023-05-20 13:29:42 +0200shriekingnoise_(~shrieking@186.137.175.87)
2023-05-20 13:29:43 +0200 <probie> for example, upon receiving a sigint (ctrl-c), ghci doesn't stop, it just cancels whatever it's currently evaluating (if anything)
2023-05-20 13:30:00 +0200 <gensyst> interesting
2023-05-20 13:32:15 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 250 seconds)
2023-05-20 13:32:39 +0200tremon(~tremon@83.80.159.219)
2023-05-20 13:33:16 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-05-20 13:34:21 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
2023-05-20 13:34:44 +0200czy(~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-05-20 13:35:12 +0200 <tomsmeding> also if I remember correctly, sending ctrl-c to a Haskell program once instructs the runtime system to try and exit gracefully, but sending it a second will immediately terminate the program
2023-05-20 13:39:08 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-05-20 13:41:29 +0200shriekingnoise_(~shrieking@186.137.175.87) (Ping timeout: 246 seconds)
2023-05-20 13:43:00 +0200vglfr(~vglfr@209.198.137.192) (Read error: Connection reset by peer)
2023-05-20 13:43:09 +0200user____3(~user@dynamic-046-114-181-048.46.114.pool.telefonica.de)
2023-05-20 13:47:15 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-05-20 13:47:44 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-20 13:54:00 +0200 <gensyst> thanks for this info mates
2023-05-20 13:55:36 +0200Luj(~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (Quit: The Lounge - https://thelounge.chat)
2023-05-20 13:56:16 +0200michalz(~michalz@185.246.204.93)
2023-05-20 13:56:16 +0200titibandit(~titibandi@user/titibandit)
2023-05-20 13:57:08 +0200Luj(~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb)
2023-05-20 13:57:35 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 13:58:38 +0200user____3(~user@dynamic-046-114-181-048.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-05-20 14:00:00 +0200mjrosenb(7U2UjFMg@WHELK.CLUB.CC.CMU.EDU) (Remote host closed the connection)
2023-05-20 14:09:17 +0200Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-444d-2bd4-302e-4c30.res6.spectrum.com)
2023-05-20 14:10:50 +0200user____3(~user@dynamic-046-114-181-048.46.114.pool.telefonica.de)
2023-05-20 14:26:08 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-05-20 14:27:44 +0200user____3(~user@dynamic-046-114-181-048.46.114.pool.telefonica.de) (Ping timeout: 248 seconds)
2023-05-20 14:38:43 +0200michalz(~michalz@185.246.204.93) (Remote host closed the connection)
2023-05-20 14:38:45 +0200o-90(~o-90@gateway/tor-sasl/o-90)
2023-05-20 14:45:10 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:510d:16a:b9b3:3b4)
2023-05-20 14:47:22 +0200o-90(~o-90@gateway/tor-sasl/o-90) (Quit: Leaving)
2023-05-20 14:47:31 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 240 seconds)
2023-05-20 14:49:24 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:510d:16a:b9b3:3b4) (Ping timeout: 250 seconds)
2023-05-20 14:54:54 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 14:55:28 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-20 14:57:43 +0200 <gensyst> Is onException's final action guaranteed to be called on the same thread?
2023-05-20 14:57:58 +0200 <gensyst> if original was bound OS thread
2023-05-20 14:58:32 +0200 <gensyst> (unlike mkWeakIORef and, it turns out, unlike ForeignPtr finalizer - cc. geekosaur (learned this from #ghc yesterday))
2023-05-20 14:59:11 +0200 <gensyst> terrorjack, cc
2023-05-20 15:14:08 +0200acidjnk(~acidjnk@p200300d6e7072f30242f00cc193c3fe9.dip0.t-ipconnect.de)
2023-05-20 15:14:26 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-05-20 15:15:18 +0200mechap(~mechap@user/mechap) (Quit: WeeChat 3.8)
2023-05-20 15:15:45 +0200reverse(~inversed@bcdcac82.skybroadband.com) (Read error: Connection reset by peer)
2023-05-20 15:17:38 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-20 15:19:54 +0200Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-444d-2bd4-302e-4c30.res6.spectrum.com) (Quit: ZZZzzz…)
2023-05-20 15:22:30 +0200wiosna_(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-20 15:23:51 +0200cheater(~Username@user/cheater)
2023-05-20 15:24:31 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Ping timeout: 240 seconds)
2023-05-20 15:25:15 +0200vandita(~vandit@91-83-11-193.pool.digikabel.hu) (Ping timeout: 268 seconds)
2023-05-20 15:25:32 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
2023-05-20 15:26:44 +0200vandita(~vandit@92-249-185-242.pool.digikabel.hu)
2023-05-20 15:27:48 +0200reverse(~inversed@bcdcac82.skybroadband.com)
2023-05-20 15:31:09 +0200Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-444d-2bd4-302e-4c30.res6.spectrum.com)
2023-05-20 15:31:11 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-20 15:32:05 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 15:35:43 +0200mechap(~mechap@user/mechap)
2023-05-20 15:42:20 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-20 15:43:13 +0200Albina_Pavlovna(~Albina_Pa@2603-7000-76f0-76e0-444d-2bd4-302e-4c30.res6.spectrum.com) (Quit: ZZZzzz…)
2023-05-20 15:45:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2023-05-20 15:48:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-20 15:48:39 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-20 15:52:50 +0200mzg(~mzg@host-195-80-133-95.wtvk.pl)
2023-05-20 15:57:26 +0200nate2(~nate@98.45.169.16)
2023-05-20 15:59:20 +0200aweinstock(~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 265 seconds)
2023-05-20 15:59:47 +0200Cagalations3-16(~Cagalatio@138.84.54.9)
2023-05-20 15:59:59 +0200 <Cagalations3-16> omg
2023-05-20 16:00:05 +0200 <Cagalations3-16> The channel with the greatest sense of humor
2023-05-20 16:00:07 +0200 <Cagalations3-16> #haskell
2023-05-20 16:00:11 +0200 <Cagalations3-16> Malcolm in the Middle Season 8 Episodes 1 and 2: 2. Reese Wilkerson Teams with Canadian Mountie Secret Agents to Trap and Torture Pedophile Tom Cruise https://justpaste.it/Tom_Cruise_BDSM_Tortured_Reese 1. Reese meets Edna Skilton, Fills Her Pussy with Shit, and Fucks that poopy cooter! https://justpaste.it/Reese_Fucks_Edna_Skilton_Malcolm
2023-05-20 16:00:50 +0200 <mauke> @where ops
2023-05-20 16:00:50 +0200 <lambdabot> byorgey Cale conal copumpkin dcoutts dibblego dolio edwardk geekosaur glguy jmcarthur johnw mniip monochrom quicksilver shachaf shapr ski
2023-05-20 16:00:56 +0200aweinstock(~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
2023-05-20 16:01:02 +0200 <Cagalations3-16> OMG channel emergency!
2023-05-20 16:01:08 +0200 <Cagalations3-16> Watch the Freenode nerds panic
2023-05-20 16:01:23 +0200ChanServ+o mniip
2023-05-20 16:01:23 +0200mniip+kb-o *!*@138.84.54.9 *!*@138.84.54.9 mniip
2023-05-20 16:01:31 +0200ChanServ+o mniip
2023-05-20 16:01:31 +0200Cagalations3-16mniip (Inappropriate ioctl for device)
2023-05-20 16:01:31 +0200mniip-o mniip
2023-05-20 16:01:42 +0200ChanServ+o mniip
2023-05-20 16:01:42 +0200mniip-o mniip
2023-05-20 16:02:08 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-20 16:03:33 +0200ChanServ+o mniip
2023-05-20 16:03:33 +0200mniip-k *
2023-05-20 16:03:36 +0200mniip-o mniip
2023-05-20 16:03:51 +0200 <int-e> phew
2023-05-20 16:04:03 +0200 <mniip> rusty and accidentally set +k >.>
2023-05-20 16:04:20 +0200 <int-e> (I was just about to point that out)
2023-05-20 16:06:58 +0200 <ncf> "inappropriate ioctl for device"
2023-05-20 16:11:06 +0200 <hpc> that's what the I in IRC stands for, donchaknow
2023-05-20 16:13:15 +0200 <int-e> IO = IRC Operator? :)
2023-05-20 16:16:52 +0200machinedgod(~machinedg@84-115-229-216.cable.dynamic.surfer.at)
2023-05-20 16:19:32 +0200boukenshaou(~Boukensha@223.178.86.188)
2023-05-20 16:24:00 +0200hugo-(znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds)
2023-05-20 16:28:17 +0200machinedgod(~machinedg@84-115-229-216.cable.dynamic.surfer.at) (Ping timeout: 256 seconds)
2023-05-20 16:29:05 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 16:35:02 +0200hugo-(znc@verdigris.lysator.liu.se)
2023-05-20 16:38:41 +0200shapr(~user@76.29.230.19)
2023-05-20 16:42:08 +0200hugo-(znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
2023-05-20 16:45:06 +0200glider_(~glider@user/glider) (Ping timeout: 250 seconds)
2023-05-20 16:45:17 +0200anderson(~ande@user/anderson) (Ping timeout: 265 seconds)
2023-05-20 16:45:43 +0200 <Athas> Has there been any talk of GHC always defaulting to UTF-8, rather than pretending it's still the 1990s whenever the locale is not sufficiently set?
2023-05-20 16:50:30 +0200hugo-(znc@verdigris.lysator.liu.se)
2023-05-20 16:55:03 +0200freeside_(~mengwong@103.252.202.151)
2023-05-20 17:00:30 +0200gensyst(~gensyst@user/gensyst) (Quit: Leaving)
2023-05-20 17:00:42 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 250 seconds)
2023-05-20 17:02:36 +0200machinedgod(~machinedg@84-115-229-216.cable.dynamic.surfer.at)
2023-05-20 17:03:11 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 17:03:19 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-05-20 17:06:07 +0200mzg(~mzg@host-195-80-133-95.wtvk.pl) (Quit: leaving)
2023-05-20 17:07:22 +0200freeside(~mengwong@103.252.202.151) (Quit: Lost terminal)
2023-05-20 17:07:22 +0200mzg(mzg@lazy.unconscious.biz)
2023-05-20 17:08:40 +0200gensyst(~gensyst@user/gensyst)
2023-05-20 17:10:35 +0200freeside(~mengwong@103.252.202.151)
2023-05-20 17:16:04 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 17:16:19 +0200 <gensyst> Are exception handlers (e.g. onException) called from the *same thread* as the original action? e.g. same bound thread (crucial for some c libraries)
2023-05-20 17:18:31 +0200 <[exa]> gensyst: I'd love to have an assurance on that. Did you check the RTS code?
2023-05-20 17:19:57 +0200freeside(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-20 17:20:29 +0200Kuttenbrunzer(~Kuttenbru@2a02:8108:8b80:1d48::b1f4)
2023-05-20 17:20:36 +0200 <c_wraith> exception handlers? There's nothing special about them. They run in the thread that called the exception-handling function.
2023-05-20 17:20:54 +0200 <c_wraith> Note - if working with FFI, that might not be the same thread that called the native code
2023-05-20 17:21:11 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2023-05-20 17:21:15 +0200 <c_wraith> Because the safe FFI has a pool of threads that it will call native code from
2023-05-20 17:22:03 +0200 <hololeap> gensyst: you should read this: https://www.fpcomplete.com/blog/2018/04/async-exception-handling-haskell/
2023-05-20 17:22:48 +0200 <c_wraith> well. Ok, the big problem is that there are two different ideas of "thread" here
2023-05-20 17:25:45 +0200 <gensyst> c_wraith, "They run in the thread that called the exception-handling function." is this documented anywhere conclusively (or at least clearly visible from looking at some internal code)?
2023-05-20 17:25:45 +0200 <gensyst> c_wraith, "safe FFI has a pool of threads". But if the original code also involved some FFI code, will the former (the resource allocation) FFI functions be called on the same thread as the cleanup FFI functions?
2023-05-20 17:25:45 +0200 <gensyst> c_wraith, and does the same not apply for unsafe FFI?
2023-05-20 17:26:38 +0200 <c_wraith> gensyst: it's just how functions work.
2023-05-20 17:27:03 +0200 <c_wraith> Except, as I said, there are two different ideas of "thread"
2023-05-20 17:27:28 +0200 <c_wraith> and that's basically the wrong question, because it's asking about Haskell
2023-05-20 17:27:38 +0200 <c_wraith> And you actually care about native code
2023-05-20 17:28:08 +0200vandita(~vandit@92-249-185-242.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-05-20 17:28:12 +0200 <c_wraith> from https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Concurrent.html#boundthreads : the operating system thread takes care of all the foreign calls made by the bound thread.
2023-05-20 17:29:14 +0200 <c_wraith> If you're using a bound thread on the haskell side, all foreign calls it makes will be from the same OS thread
2023-05-20 17:30:03 +0200 <c_wraith> whether that thread also runs the Haskell code really doesn't matter, as that should be irrelevant to the native code
2023-05-20 17:30:06 +0200titibandit(~titibandi@user/titibandit)
2023-05-20 17:30:10 +0200vandita(~vandit@94-21-233-126.pool.digikabel.hu)
2023-05-20 17:31:25 +0200 <c_wraith> and if you have some expression (foo `onException` bar), that's just a function call. Unless foo or bar create their own threads, it's all going to run in the same Haskell thread. Which may or may not be the same OS thread.
2023-05-20 17:32:51 +0200 <c_wraith> But you really can't talk about this unless you're very clear whether you're asking about Haskell threads or OS threads
2023-05-20 17:33:22 +0200 <gensyst> ok, i see what you're driving at. let's focus on the ffi calls only then (for clarity). How do we really know that my_c_ffi_init() and my_c_ffi_dealloc() will be called on the same os thread? (i.e. why not different os threads)? We can be dealing with multiple bound threads, after all (with -threaded)
2023-05-20 17:33:31 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-20 17:34:23 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 17:34:36 +0200 <c_wraith> Are they running in the same (bound) Haskell thread? Then the FFI calls will be on the same OS thread.
2023-05-20 17:35:00 +0200 <c_wraith> Code never magically changes Haskell threads.
2023-05-20 17:35:14 +0200motherfsck(~motherfsc@user/motherfsck)
2023-05-20 17:35:33 +0200 <gensyst> c_wraith, ah... thanks i'm getting it now
2023-05-20 17:36:12 +0200 <gensyst> c_wraith, BTW this is completely different from ForeignPtr and mkWeakRefIO where we have no guarantees where the finalizer will run.
2023-05-20 17:36:24 +0200 <c_wraith> yes, that is entirely different
2023-05-20 17:36:31 +0200 <c_wraith> as are signal handlers
2023-05-20 17:36:38 +0200 <gensyst> so channels (with exception handling) are the only option for properly doing FFI
2023-05-20 17:36:49 +0200 <gensyst> (well, FFI that requires same os thread)
2023-05-20 17:37:13 +0200 <c_wraith> yeah. when there's thread-local state, it needs to be handled entirely from one bound thread
2023-05-20 17:37:33 +0200 <Helle> Do I feel like pain, do I feel like doing this new Vulkan shader demo from Haskell
2023-05-20 17:38:35 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 264 seconds)
2023-05-20 17:39:00 +0200 <Helle> eeeh, may give it a shot
2023-05-20 17:39:47 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2023-05-20 17:40:11 +0200jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 246 seconds)
2023-05-20 17:40:19 +0200 <gensyst> c_wraith, thanks!
2023-05-20 17:40:33 +0200 <c_wraith> you're welcome
2023-05-20 17:49:31 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:510d:16a:b9b3:3b4)
2023-05-20 17:51:41 +0200 <jade[m]> How would you use the ghc wasm backend to write some basic frontend code?
2023-05-20 17:51:46 +0200jero98772(~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f)
2023-05-20 17:52:10 +0200 <jade[m]> I suppose I'm not sure where to start in regards to resources about actually using the wasm backend
2023-05-20 17:52:30 +0200 <jade[m]> or wasm in general for that matter
2023-05-20 17:52:43 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-20 17:55:48 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-20 17:55:49 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-20 17:55:49 +0200wroathe(~wroathe@user/wroathe)
2023-05-20 17:57:37 +0200econo(uid147250@user/econo)
2023-05-20 17:58:11 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe)
2023-05-20 17:58:23 +0200machinedgod(~machinedg@84-115-229-216.cable.dynamic.surfer.at) (Ping timeout: 246 seconds)
2023-05-20 17:59:53 +0200Barfolomew(~Barfolome@cgn-89-1-58-198.nc.de)
2023-05-20 18:00:47 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 264 seconds)
2023-05-20 18:03:20 +0200freeside(~mengwong@103.252.202.151)
2023-05-20 18:07:12 +0200Feuermagier_(~Feuermagi@user/feuermagier)
2023-05-20 18:07:55 +0200Barfolomew(~Barfolome@cgn-89-1-58-198.nc.de) (Quit: Client closed)
2023-05-20 18:08:02 +0200boukenshaou(~Boukensha@223.178.86.188) (Quit: Leaving)
2023-05-20 18:08:21 +0200boukenshaou(~Boukensha@223.178.86.188)
2023-05-20 18:08:23 +0200freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 18:08:45 +0200boukenshaou(~Boukensha@223.178.86.188) (Client Quit)
2023-05-20 18:09:00 +0200Feuermagier_(~Feuermagi@user/feuermagier) (Client Quit)
2023-05-20 18:09:52 +0200Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 265 seconds)
2023-05-20 18:12:52 +0200 <gensyst> Any ideas about what's the overhead of newEmptyMVar?
2023-05-20 18:13:08 +0200 <gensyst> (trying to get ideas if it's worth it to reuse existing mvar, vs. just creating a new one every time)
2023-05-20 18:13:11 +0200 <gensyst> in some tight loop
2023-05-20 18:14:12 +0200 <hpc> measure it perhaps?
2023-05-20 18:16:59 +0200hugo-(znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds)
2023-05-20 18:20:11 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 18:22:31 +0200 <jade[m]> 5cm
2023-05-20 18:26:06 +0200 <[exa]> gensyst: ghc/rts/PrimOps.cmm has all the effects
2023-05-20 18:26:27 +0200 <int-e> gensyst: it's a heap allocation, 4 words I think.
2023-05-20 18:26:53 +0200 <[exa]> gensyst: the newMVar wrapper just takes the result and rewraps it nicely, which should disappear, but there's another MVar allocation (MVar is data)
2023-05-20 18:27:51 +0200hugo-(znc@verdigris.lysator.liu.se)
2023-05-20 18:30:32 +0200 <gensyst> ok cool
2023-05-20 18:30:36 +0200 <gensyst> we're talking only nanoseconds
2023-05-20 18:33:15 +0200Guest42(~Guest42@2404:7c00:44:ddfd:becd:94ab:5e65:8ddc)
2023-05-20 18:34:16 +0200Guest42(~Guest42@2404:7c00:44:ddfd:becd:94ab:5e65:8ddc) (Client Quit)
2023-05-20 18:34:23 +0200freeside(~mengwong@103.252.202.151)
2023-05-20 18:34:51 +0200 <int-e> newMVar is a tad more expensive than newEmptyMVar... it'll actually take an uncontested lock to do its job since it's implemented as newEmptyMVar followed by putMVar.
2023-05-20 18:35:52 +0200rf(~rf@2605:59c8:179c:f610:1a48:f594:f5b9:7d51)
2023-05-20 18:40:23 +0200freeside(~mengwong@103.252.202.151) (Ping timeout: 264 seconds)
2023-05-20 18:43:31 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
2023-05-20 18:43:54 +0200shapr`(~user@76.29.230.19)
2023-05-20 18:45:28 +0200shapr(~user@76.29.230.19) (Ping timeout: 240 seconds)
2023-05-20 18:48:55 +0200euandreh(~Thunderbi@189.6.18.7)
2023-05-20 18:50:28 +0200jero98772(~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) (Ping timeout: 265 seconds)
2023-05-20 18:52:03 +0200freeside(~mengwong@103.252.202.151)
2023-05-20 18:54:17 +0200euandreh(~Thunderbi@189.6.18.7) (Remote host closed the connection)
2023-05-20 18:54:53 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-05-20 18:54:55 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2023-05-20 18:55:44 +0200euandreh(~Thunderbi@189.6.18.7)
2023-05-20 18:56:08 +0200freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 18:59:55 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-05-20 19:03:13 +0200Kuttenbrunzer(~Kuttenbru@2a02:8108:8b80:1d48::b1f4) (Quit: Where is it)
2023-05-20 19:03:28 +0200titibandit(~titibandi@user/titibandit)
2023-05-20 19:03:40 +0200jero98772(~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f)
2023-05-20 19:05:27 +0200freeside(~mengwong@103.252.202.151)
2023-05-20 19:09:47 +0200freeside(~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
2023-05-20 19:17:49 +0200user__(~user@dynamic-046-114-176-045.46.114.pool.telefonica.de)
2023-05-20 19:36:11 +0200vandita(~vandit@94-21-233-126.pool.digikabel.hu) (Ping timeout: 264 seconds)
2023-05-20 19:37:11 +0200user__(~user@dynamic-046-114-176-045.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-05-20 19:37:15 +0200Athas(athas@sigkill.dk) (Ping timeout: 248 seconds)
2023-05-20 19:37:36 +0200vandita(~vandit@178-164-208-203.pool.digikabel.hu)
2023-05-20 19:39:17 +0200nick_(~nick@2600:8807:9103:b700:4573:4de0:330c:f2fa) (Ping timeout: 265 seconds)
2023-05-20 19:51:02 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 19:51:52 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-20 19:53:25 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2023-05-20 19:56:35 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2023-05-20 19:58:18 +0200user__(~user@dynamic-046-114-176-045.46.114.pool.telefonica.de)
2023-05-20 19:58:55 +0200nate2(~nate@98.45.169.16)
2023-05-20 20:03:28 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-20 20:03:36 +0200evincar(~evincar@user/evincar)
2023-05-20 20:10:02 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-05-20 20:16:05 +0200shapr`(~user@76.29.230.19) (Ping timeout: 256 seconds)
2023-05-20 20:20:32 +0200freeside(~mengwong@103.252.202.151)
2023-05-20 20:24:25 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-20 20:24:47 +0200freeside(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-20 20:26:54 +0200Athas(athas@sigkill.dk)
2023-05-20 20:28:33 +0200Athas(athas@sigkill.dk) (Client Quit)
2023-05-20 20:35:35 +0200wiosna_(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-05-20 20:40:57 +0200 <gensyst> Can someone clarify this? https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Concurrent-MVar.html#v:modifyMVar_
2023-05-20 20:41:06 +0200 <gensyst> "This function is only atomic if there are no other producers for this MVar. In other words, it cannot guarantee that, by the time modifyMVar_ gets the chance to write to the MVar, the value of the MVar has not been altered by a write operation from another thread."
2023-05-20 20:41:21 +0200spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
2023-05-20 20:41:34 +0200 <gensyst> What does it mean by "other producers"? Functions other than modifyMVar_ to modify the mvar, or just any producer in general?
2023-05-20 20:41:56 +0200 <gensyst> i.e. can't I fearlessly call modifyMVar_ from multiple threads on the same mvar?
2023-05-20 20:42:26 +0200 <mauke> no concurrent putMVar
2023-05-20 20:42:44 +0200 <mauke> if all your threads only use modifyMVar, you should be safe
2023-05-20 20:43:50 +0200 <gensyst> the doc should be more clear imo lol
2023-05-20 20:43:52 +0200 <gensyst> mauke, thanks
2023-05-20 20:44:46 +0200 <mauke> modifyMVar_ is basically take + put
2023-05-20 20:45:11 +0200 <mauke> which is "atomic" if everyone else is blocked on take
2023-05-20 20:46:47 +0200eugenrh(~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8)
2023-05-20 20:47:14 +0200 <Rembane> What happens if they aren't blocked? Can another thread sneak in somewhere in the middle?
2023-05-20 20:47:55 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2023-05-20 20:48:16 +0200 <gensyst> Rembane, according to the doc they somehow can
2023-05-20 20:48:40 +0200 <mauke> if they sneak in (between our take and put) with take, they will be blocked at that point
2023-05-20 20:49:02 +0200 <mauke> if they sneak in with their own put, they will succeed and break our "atomicity"
2023-05-20 20:49:19 +0200Athas(athas@sigkill.dk)
2023-05-20 20:50:07 +0200 <Rembane> Interesting. Is that ever a problem in practice?
2023-05-20 20:50:35 +0200 <mauke> uh. if you design your program wrong, yes, I guess?
2023-05-20 20:51:04 +0200 <Rembane> Seems reasonable.
2023-05-20 20:52:26 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 20:53:15 +0200 <mauke> the way this is meant to be used is to have a single "state" value (shared across all threads, protected by the MVar)
2023-05-20 20:53:50 +0200 <mauke> all threads that touch the state must retrieve the current version first and then update it
2023-05-20 20:54:24 +0200 <mauke> as long as no thread tries to manufacture a new "state" from scratch, modifyMVar_ will be atomic in that setting
2023-05-20 20:54:48 +0200mcglk(~mcglk@131.191.19.145) (Read error: Connection reset by peer)
2023-05-20 20:55:12 +0200 <Rembane> Then it doesn't sound too hard to code using MVars in a way that won't bite.
2023-05-20 20:57:01 +0200mcglk(~mcglk@131.191.19.145)
2023-05-20 20:59:25 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-20 21:02:38 +0200 <hololeap> "is that ever a problem in practice?" those kinds of bugs WILL surface themselves eventually if you have a long-running program, which is why they are such a pain
2023-05-20 21:02:51 +0200 <hololeap> (like on the order of weeks or months)
2023-05-20 21:03:02 +0200 <hololeap> log back in ... "why is it crashed?"
2023-05-20 21:03:46 +0200 <hololeap> which is why STM is better :3
2023-05-20 21:06:39 +0200 <gensyst> will the concurrency book (marlow) teach STM?
2023-05-20 21:06:51 +0200 <gensyst> (and all this stuff)
2023-05-20 21:07:35 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-05-20 21:07:44 +0200 <Rembane> gensyst: Yes! :D https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/ch10.html
2023-05-20 21:08:31 +0200 <hololeap> yeah although with STM you don't have to understand how it works to use it
2023-05-20 21:09:02 +0200 <mauke> note that MVars are fairly low-level building blocks
2023-05-20 21:09:11 +0200 <mauke> using them you can trivially create deadlocks, etc
2023-05-20 21:13:43 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Read error: Connection reset by peer)
2023-05-20 21:15:17 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:2973:25bc:e202:9763) (Remote host closed the connection)
2023-05-20 21:15:36 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:2973:25bc:e202:9763)
2023-05-20 21:15:36 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-11ef-7e9b-10a4-0f94.rev.sfr.net)
2023-05-20 21:16:48 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-05-20 21:22:53 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-05-20 21:25:28 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 21:28:48 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-20 21:30:21 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-05-20 21:33:48 +0200gensyst(~gensyst@user/gensyst) (Quit: Leaving)
2023-05-20 21:33:51 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-05-20 21:34:34 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 250 seconds)
2023-05-20 21:37:04 +0200vandita(~vandit@178-164-208-203.pool.digikabel.hu) (Ping timeout: 248 seconds)
2023-05-20 21:38:59 +0200vandita(~vandit@84-236-122-31.pool.digikabel.hu)
2023-05-20 21:41:36 +0200euandreh(~Thunderbi@189.6.18.7)
2023-05-20 21:53:10 +0200 <EvanR> gentauro, even if you only use takeMVar and putMVar "properly", a thread that fails badly might not put the value back, freezing everything. Another good reason to use modifyMVar_
2023-05-20 21:53:50 +0200pavonia(~user@user/siracusa)
2023-05-20 21:55:44 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-05-20 21:56:29 +0200freeside(~mengwong@103.252.202.151)
2023-05-20 21:56:34 +0200evincar(~evincar@user/evincar)
2023-05-20 21:56:54 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-20 21:57:32 +0200 <hpc> or possibly a reason to try and arrange things so you're not relying on many things borrowing from the same single var
2023-05-20 21:58:10 +0200 <EvanR> but my global state!
2023-05-20 21:58:11 +0200 <hpc> maybe your code can be arranged so any particular part of it only takes or puts, so it's more like Chan
2023-05-20 21:59:56 +0200 <mauke> thread-chan, you're looking cute today
2023-05-20 22:00:54 +0200freeside(~mengwong@103.252.202.151) (Ping timeout: 265 seconds)
2023-05-20 22:01:26 +0200evincar(~evincar@user/evincar) (Ping timeout: 250 seconds)
2023-05-20 22:05:04 +0200euandreh(~Thunderbi@189.6.18.7) (Remote host closed the connection)
2023-05-20 22:08:30 +0200euandreh(~Thunderbi@189.6.18.7)
2023-05-20 22:08:39 +0200 <jean-paul[m]> is there a lighter-weight NFC normalizer than the one in text-icu (bindings to the substantial ICU library)?
2023-05-20 22:09:27 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-05-20 22:10:27 +0200 <jean-paul[m]> oh, maybe unicode-transforms
2023-05-20 22:14:10 +0200evincar(~evincar@user/evincar)
2023-05-20 22:19:02 +0200evincar(~evincar@user/evincar) (Ping timeout: 268 seconds)
2023-05-20 22:23:53 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-20 22:25:10 +0200 <ghostbuster> anyone read this book https://haskellbook.com ? i see a lot of comments on various sites saying it worked better for them than LYAH
2023-05-20 22:26:21 +0200 <[exa]> I didn't but the bits I've seen were good
2023-05-20 22:26:26 +0200 <geekosaur> lyah's pretty poor, because it'slargely devoid of exercises so you never actually learn much. contrariwise haskellbook is >1000 pages and some people find it rather wordy for its content
2023-05-20 22:27:01 +0200 <jade[m]> geekosaur: in the end you learn the most by actually programming :)
2023-05-20 22:27:03 +0200 <ghostbuster> i stalled out last time i tried lyah.. i have a bit of motivation to try again but wondering if i should try a different resource
2023-05-20 22:27:23 +0200 <geekosaur> trying other resources is always a good idea
2023-05-20 22:27:35 +0200 <ghostbuster> i have some experience with math and lots of experience with imperative languages
2023-05-20 22:27:56 +0200 <[exa]> ghostbuster: where you stalled btw?
2023-05-20 22:27:57 +0200 <geekosaur> jade[m], trust me, I know, that's how I learned
2023-05-20 22:28:13 +0200 <geekosaur> pretty much how I've always learned
2023-05-20 22:28:17 +0200 <jade[m]> if you're an audiovisual person you might like "haskell for imperative programmers" on youtube
2023-05-20 22:28:29 +0200 <jade[m]> helped me get started besides actually programming as geekosaur said
2023-05-20 22:28:32 +0200 <ghostbuster> [exa]: i didn't really get stuck, just got bored maybe.. too much typing things into repl
2023-05-20 22:28:46 +0200 <jade[m]> I like to choose a project and just try to get as far as I can and learn along the way
2023-05-20 22:29:04 +0200 <[exa]> ghostbuster: did you try to make a shooting game in Gloss?
2023-05-20 22:29:11 +0200Sgeo(~Sgeo@user/sgeo)
2023-05-20 22:29:18 +0200 <ghostbuster> i think i need IO for any real projects, right?
2023-05-20 22:29:28 +0200 <jade[m]> yesn't
2023-05-20 22:29:34 +0200[exa]rofls
2023-05-20 22:29:37 +0200 <jade[m]> depends on what you mean by "real" project
2023-05-20 22:30:00 +0200 <[exa]> ghostbuster: well 99% of haskell is how to dodge full IO with other, more useful monads
2023-05-20 22:30:28 +0200 <ghostbuster> i'm not sure what is full IO, i don't understand how a program can be useful that doesn't accept input nor produce output
2023-05-20 22:30:54 +0200 <[exa]> ghostbuster: anyway I always recommend Gloss for starting because there you don't need to touch IO at all, and it draws nice animated graphics generated by your pure functions
2023-05-20 22:30:58 +0200 <ghostbuster> maybe i'll skip to chapter 9 of LYAH and start with hello world
2023-05-20 22:31:02 +0200 <geekosaur> there's a lot that can happen between doing the input and doing the output
2023-05-20 22:31:05 +0200 <jade[m]> usually you can have `main = print $ foo x` or `main = readLn >>= (print . foo)` and get away with all of that being your entire IO
2023-05-20 22:31:08 +0200 <geekosaur> much of that can be done without IO
2023-05-20 22:31:28 +0200 <ghostbuster> geekosaur: wouldn't any sane compiler optimize it out if it was never printed? heh
2023-05-20 22:31:31 +0200 <[exa]> yap `interact` ftw. :D
2023-05-20 22:31:38 +0200 <jade[m]> jade[m]: the latter would just be `interacr`
2023-05-20 22:31:57 +0200 <jade[m]> s/interacr/interact
2023-05-20 22:32:11 +0200 <geekosaur> ghostbuster, input -> transform -> output
2023-05-20 22:32:27 +0200 <geekosaur> much or all of the "transform" part can be pure
2023-05-20 22:33:00 +0200 <ghostbuster> geekosaur: sure but if there is no input ther is nothing to transform
2023-05-20 22:33:02 +0200 <geekosaur> and yes, not only the compiler but the runtime via laziness can optimize unused parts away
2023-05-20 22:33:18 +0200 <geekosaur> nobody is telling you not to do input, or not to do output
2023-05-20 22:33:19 +0200 <jade[m]> you can also output from no input
2023-05-20 22:33:24 +0200 <jade[m]> constant input
2023-05-20 22:33:36 +0200 <geekosaur> people are telling you that you can use simple recipes for those and concentrate on the "transform" part
2023-05-20 22:35:42 +0200 <ghostbuster> gotcha
2023-05-20 22:36:14 +0200 <geekosaur> `interact` is such a recipe, it takes a pure transformation and does the I/O for you
2023-05-20 22:37:01 +0200 <mauke> main = interact (map toUpper) -- transform input to uppercase
2023-05-20 22:37:10 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-20 22:37:21 +0200 <mauke> main = interact ((++ "\n") . show . length) -- count number of characters
2023-05-20 22:37:35 +0200 <jade[m]> my favorite way to learn the very basics of a language is to implement a function that lists primes. It usually involves most of the basics of a language and is still fairly small.
2023-05-20 22:38:40 +0200 <mauke> meh. doesn't touch on input or string operations
2023-05-20 22:39:38 +0200 <jade[m]> That's fair, you might extend it to print a given number of primes based on user input and also output in a nice format
2023-05-20 22:40:48 +0200trev(~trev@user/trev) (Quit: trev)
2023-05-20 22:47:32 +0200michalz(~michalz@185.246.204.72)
2023-05-20 22:48:17 +0200evincar(~evincar@user/evincar)
2023-05-20 22:51:41 +0200 <[exa]> hm, is there any good shortcut for: (>>= sequence) . fmap (fmap inits) . (>>= sequence) ?
2023-05-20 22:52:14 +0200 <jade[m]> can you describe what it does? I'm having a hard time reading that in my head
2023-05-20 22:52:27 +0200 <[exa]> (the first fmap might as well be a map, and the second fmap is over (a,)
2023-05-20 22:53:46 +0200 <[exa]> basically I take a list of [(Item, [dir])] where dir is [String], and I want a list [(Item, [dir])] where there are also all encompassing directories
2023-05-20 22:54:11 +0200user__(~user@dynamic-046-114-176-045.46.114.pool.telefonica.de) (Ping timeout: 256 seconds)
2023-05-20 22:54:27 +0200 <[exa]> > (>>= sequence) . map (fmap inits) . (>>= sequence) $ [("a", [["b","c"], ["d"]])]
2023-05-20 22:54:29 +0200 <lambdabot> [("a",[]),("a",["b"]),("a",["b","c"]),("a",[]),("a",["d"])]
2023-05-20 22:55:00 +0200 <[exa]> hm maybe I might triplefmap the inits first
2023-05-20 22:55:28 +0200 <jade[m]> jesus christ, what a structure
2023-05-20 22:56:01 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-20 22:56:18 +0200 <[exa]> it's for hierarchical tags
2023-05-20 22:56:52 +0200 <[exa]> (pages, slashed_tag_list) -> (page, all_implied_slashed_tag_lists)
2023-05-20 22:57:16 +0200 <jade[m]> > (>>= sequence) . map (fmap inits) . (>>= sequence) $ [("a", [["b","c"], ["d"]]), ("e", [])]
2023-05-20 22:57:18 +0200 <lambdabot> [("a",[]),("a",["b"]),("a",["b","c"]),("a",[]),("a",["d"])]
2023-05-20 22:57:36 +0200 <[exa]> actually I think list comprehensions might be cool here
2023-05-20 22:57:48 +0200 <jade[m]> \> (>>= sequence) . map (fmap inits) . (>>= sequence) $ [("a", [["b","c"], ["d"]]), ("e", [[]])]
2023-05-20 22:58:06 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-20 22:58:06 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-20 22:58:06 +0200wroathe(~wroathe@user/wroathe)
2023-05-20 22:58:15 +0200 <geekosaur> you had a backslash in there
2023-05-20 22:58:18 +0200 <jade[m]> > (>>= sequence) . map (fmap inits) . (>>= sequence) $ [("a", [["b","c"], ["d"]]), ("e", [[]])]
2023-05-20 22:58:19 +0200 <lambdabot> [("a",[]),("a",["b"]),("a",["b","c"]),("a",[]),("a",["d"]),("e",[])]
2023-05-20 22:58:31 +0200eugenrh(~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8) (Ping timeout: 240 seconds)
2023-05-20 22:58:47 +0200 <jade[m]> I think I understand what the function does in general, let me think about it
2023-05-20 22:59:26 +0200 <[exa]> ah yeah wunderbar, [(p,t) | (p,htl) <- x, ht <- htl, t <- inits ht]
2023-05-20 22:59:43 +0200 <jade[m]> oh haha amazing
2023-05-20 22:59:47 +0200 <[exa]> (p = page, htl = hierarchical-tag list)
2023-05-20 23:00:00 +0200 <[exa]> (honestly thanks for rubberducking)
2023-05-20 23:00:02 +0200 <jade[m]> that's a lot more expressive
2023-05-20 23:00:09 +0200 <jade[m]> very readable as well
2023-05-20 23:00:11 +0200 <[exa]> still the (>>=sequence) doesn't have a name?
2023-05-20 23:00:41 +0200 <jade[m]> :t >>= sequence
2023-05-20 23:00:42 +0200 <lambdabot> error: parse error on input ‘>>=’
2023-05-20 23:00:53 +0200 <[exa]> (my brain: you used it twice there ofcourse it has to have a name!!!111)
2023-05-20 23:00:54 +0200 <jade[m]> :t (>>= sequence)
2023-05-20 23:00:55 +0200 <lambdabot> (Monad m, Traversable t) => m (t (m a)) -> m (t a)
2023-05-20 23:01:14 +0200 <[exa]> it does an interesting kind of squash right?
2023-05-20 23:01:22 +0200 <mauke> :t concatMap sequence
2023-05-20 23:01:23 +0200 <lambdabot> (Traversable t1, Foldable t2) => t2 (t1 [a]) -> [t1 a]
2023-05-20 23:01:29 +0200 <jade[m]> hoogle finds nothing
2023-05-20 23:02:38 +0200 <jade[m]> [exa]: indeed
2023-05-20 23:03:02 +0200 <[exa]> well let's leave this open, tbh I can't imagine anyone naming this sensibly
2023-05-20 23:03:21 +0200 <[exa]> (my brain now: it's transverse!)
2023-05-20 23:03:50 +0200 <jade[m]> I believe that's something else hmm hmm
2023-05-20 23:04:33 +0200 <[exa]> ah yeah true, recursion schemes have that one
2023-05-20 23:04:36 +0200 <[exa]> ointeressant
2023-05-20 23:05:04 +0200 <jade[m]> I was thinking of something else entirely, but that's ok hahaha
2023-05-20 23:06:01 +0200 <Profpatsch> Is there a way to expland a template haskell splice within GHCi?
2023-05-20 23:06:16 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
2023-05-20 23:06:35 +0200 <[exa]> (I love how "expland" mid-rhymes with "splice")
2023-05-20 23:06:51 +0200 <jade[m]> based on the structure it could be something along the lines of unpack + sequence, because it essentially removes a monadic layer and then applies a sequence
2023-05-20 23:06:57 +0200 <jade[m]> (just based off the type)
2023-05-20 23:07:25 +0200 <jade[m]> but like a reversed sequence
2023-05-20 23:07:29 +0200 <jade[m]> wow the type is really weird
2023-05-20 23:07:40 +0200 <Rembane> cosequence! :D
2023-05-20 23:07:53 +0200user__(~user@dynamic-046-114-176-045.46.114.pool.telefonica.de)
2023-05-20 23:07:57 +0200 <jade[m]> jade[m]: disregard this
2023-05-20 23:08:09 +0200 <[exa]> Profpatsch: expand as in "you want to see what code comes out of it" ?
2023-05-20 23:08:19 +0200 <jade[m]> Rembane: consequence? ;)
2023-05-20 23:09:05 +0200 <Profpatsch> [exa]: exactly
2023-05-20 23:09:19 +0200 <[exa]> Profpatsch: anyway I'd go with -ddump-splices and I'm really not sure if there's anything dynamic for that in ghci
2023-05-20 23:09:19 +0200 <Profpatsch> it’s a thingy that creates multiple toplevel bindings, akin to makeLenses
2023-05-20 23:09:45 +0200 <Rembane> jade[m]: That's a good one. :)
2023-05-20 23:10:08 +0200jank11(~jank11@17-14-122.cgnat.fonira.net)
2023-05-20 23:10:37 +0200wiosna(~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-05-20 23:11:25 +0200 <[exa]> oh noes ghci can't -ddump-*
2023-05-20 23:12:39 +0200 <ncf> cosequence is distribute
2023-05-20 23:13:31 +0200 <Profpatsch> [exa]: it can, I just tried it
2023-05-20 23:13:57 +0200 <geekosaur> turning ot back off is the trick
2023-05-20 23:13:59 +0200 <geekosaur> *it
2023-05-20 23:18:13 +0200 <[exa]> oh really
2023-05-20 23:18:27 +0200 <[exa]> I blindly trusted the --show-options
2023-05-20 23:18:30 +0200 <[exa]> cool
2023-05-20 23:22:02 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-05-20 23:23:56 +0200 <geekosaur> ":seti -ddump-*" works for me
2023-05-20 23:25:25 +0200 <geekosaur> like I said though, you can't turn it back off; there doesn't seme to be 'no' options for most -ddump-* options
2023-05-20 23:33:35 +0200jank11(~jank11@17-14-122.cgnat.fonira.net) (Quit: Lost terminal)
2023-05-20 23:40:23 +0200vandita(~vandit@84-236-122-31.pool.digikabel.hu) (Ping timeout: 240 seconds)
2023-05-20 23:42:09 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
2023-05-20 23:42:21 +0200vandita(~vandit@92-249-150-135.static.digikabel.hu)
2023-05-20 23:47:06 +0200jforberg(~jforberg@c-56aa70d5.016-9-6c756e3.bbcust.telenor.se)
2023-05-20 23:52:47 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-20 23:52:51 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)