Home liberachat/#haskell: Logs Calendar

Logs on 2022-05-02 (liberachat/#haskell)

00:03:05 modnar joins (~modnar@shell.sonic.net)
00:04:36 × king_gs quits (~Thunderbi@187.201.77.157) (Ping timeout: 272 seconds)
00:04:46 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
00:04:48 × gpncarl quits (~gpncarl@120.244.220.254) (Ping timeout: 276 seconds)
00:05:34 × tswett quits (~androirc@72.138.180.115) (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
00:05:44 king_gs joins (~Thunderbi@187.201.77.157)
00:07:06 × mmhat quits (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5)
00:08:57 Guest41 joins (~Guest41@2607:f140:800:1::15b)
00:09:13 × nicbk quits (~nicbk@user/nicbk) (Quit: nicbk)
00:09:48 deadmarshal_ joins (~deadmarsh@95.38.117.99)
00:12:34 xff0x_ joins (~xff0x@om126234061065.16.openmobile.ne.jp)
00:13:59 × deadmarshal_ quits (~deadmarsh@95.38.117.99) (Ping timeout: 240 seconds)
00:17:07 zebrag joins (~chris@user/zebrag)
00:17:55 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
00:21:25 yauhsien joins (~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
00:22:24 × neceve quits (~quassel@2.29.116.221) (Ping timeout: 246 seconds)
00:24:32 × kimjetwav quits (~user@2607:fea8:2362:b400:32f6:ad39:28b3:1653) (Remote host closed the connection)
00:24:49 kimjetwav joins (~user@2607:fea8:2362:b400:5938:b414:69d0:3de2)
00:25:54 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
00:32:28 <sm> who's having trouble with 9.2 ? I haven't hit any yet
00:32:45 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
00:34:12 × Guest41 quits (~Guest41@2607:f140:800:1::15b) (Ping timeout: 252 seconds)
00:35:19 × king_gs quits (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
00:36:28 kannon joins (~kannon@74-95-14-193-SFBA.hfc.comcastbusiness.net)
00:38:31 king_gs joins (~Thunderbi@187.201.77.157)
00:38:42 × kannon quits (~kannon@74-95-14-193-SFBA.hfc.comcastbusiness.net) (Client Quit)
00:39:33 frost joins (~frost@user/frost)
00:43:21 ellie is now known as ell
00:44:20 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:44:20 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:44:20 wroathe joins (~wroathe@user/wroathe)
00:46:33 <Bulby[m]> nvim lsp is being mean; it says "no man entry for foo"
00:50:06 <abastro[m]> sm: I am having mysterious crashes
00:52:50 <sm> on windows ? doing what ? is there an open issue ?
00:55:42 drakonis joins (~drakonis@user/drakonis)
00:59:30 king_gs1 joins (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d)
00:59:31 × king_gs quits (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
00:59:32 king_gs1 is now known as king_gs
01:00:18 eggplantade joins (~Eggplanta@108.201.191.115)
01:03:28 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
01:05:24 × eggplantade quits (~Eggplanta@108.201.191.115) (Ping timeout: 272 seconds)
01:05:42 bogart joins (~e43921@167.224.152.242)
01:06:48 × kimjetwav quits (~user@2607:fea8:2362:b400:5938:b414:69d0:3de2) (Remote host closed the connection)
01:07:05 kimjetwav joins (~user@2607:fea8:2362:b400:7bd6:bcaf:2d52:3bbf)
01:08:13 × stackdroid18 quits (14094@user/stackdroid) (Quit: hasta la vista... tchau!)
01:08:24 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 250 seconds)
01:08:40 stackdroid18 joins (14094@user/stackdroid)
01:08:49 × stackdroid18 quits (14094@user/stackdroid) (Client Quit)
01:10:36 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:11 stackdroid18 joins (14094@user/stackdroid)
01:11:13 × stackdroid18 quits (14094@user/stackdroid) (Client Quit)
01:13:51 × bogart quits (~e43921@167.224.152.242) (Ping timeout: 246 seconds)
01:16:43 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:09 eggplantade joins (~Eggplanta@108.201.191.115)
01:25:50 kannon joins (~NK@76.243.126.210)
01:26:14 <kannon> hello is this an active channel?
01:27:05 echelon joins (~echelon@gateway/tor-sasl/steerpike)
01:30:01 echelon parts (~echelon@gateway/tor-sasl/steerpike) ()
01:30:18 <jackdk> Yes.
01:30:22 <EvanR> :cricket:
01:30:38 <jackdk> howzat!
01:34:14 <abastro[m]> sm: No, on linux.
01:34:29 <abastro[m]> sm: it is mysterious and hard to reproduce :/
01:37:24 × wroathe quits (~wroathe@user/wroathe) (Read error: Connection reset by peer)
01:40:18 andrey__ joins (~andrey@p200300dbcf06ad00ac6ace76fcaf9f34.dip0.t-ipconnect.de)
01:42:27 × andrey_ quits (~andrey@p200300dbcf3c2800a83cd0cefcf2e84d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
01:43:02 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
01:45:41 bogart joins (~e43921@167.224.152.242)
01:46:28 <Axman6> kannon: it's as active as any IRC channel ever is - activity comes in fits and spurts
01:52:00 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
01:52:17 img joins (~img@user/img)
01:52:23 <kannon> thank you Axman6
01:52:39 <kannon> https://paste.tomsmeding.com/KpdkO4K6
01:53:05 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
01:53:05 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
01:53:05 wroathe joins (~wroathe@user/wroathe)
01:53:52 <kannon> I do not understand the logic in the rule on the last line. also if it can be applied to return a boolean value.
01:54:05 × bogart quits (~e43921@167.224.152.242) (Ping timeout: 256 seconds)
01:54:22 <kannon> it compiles
01:54:43 EvanR mentally inserts rule :: U Bool -> Bool
01:54:48 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
01:55:14 <Axman6> looks pretty arbitrary to me, what don;'t you understand about the rule?
01:55:42 <EvanR> rule is just looking at 3 bools
01:56:06 <EvanR> when combined with Comonad maybe we can see some sparks fly
01:56:40 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:58:16 <kannon> can we apply the rule in ghci , to return a boolean?
01:59:23 <EvanR> it looks to me it has type U Bool -> Bool, so you need a U Bool to apply it
02:01:18 <EvanR> given Ham -> Eggs, you could have some Eggs, if you had some Ham
02:02:07 <kannon> thank you maybe we could pick this up later I have to go. cheers very appreciative.
02:02:27 <EvanR> \o/
02:03:12 hololeap joins (~hololeap@user/hololeap)
02:03:55 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
02:07:03 × kannon quits (~NK@76.243.126.210) (Ping timeout: 246 seconds)
02:09:43 ajb joins (~ajb@mimas.whatbox.ca)
02:13:50 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
02:17:41 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:17:41 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:17:41 finn_elija is now known as FinnElija
02:17:44 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:19:08 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
02:23:24 yauhsien joins (~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
02:26:58 AlexNoo_ joins (~AlexNoo@178.34.162.108)
02:30:19 × Alex_test quits (~al_test@178.34.160.71) (Ping timeout: 240 seconds)
02:30:19 × AlexZenon quits (~alzenon@178.34.160.71) (Ping timeout: 240 seconds)
02:30:21 × AlexNoo quits (~AlexNoo@178.34.160.71) (Ping timeout: 256 seconds)
02:30:40 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
02:30:54 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
02:33:43 kannon joins (~NK@135-180-218-226.fiber.dynamic.sonic.net)
02:34:29 Alex_test joins (~al_test@178.34.162.108)
02:34:39 AlexZenon joins (~alzenon@178.34.162.108)
02:39:25 <kannon> cojoin gg . rule
02:39:39 <kannon> oh sorry
02:40:41 <hololeap> cojoin? is that a comonad thing?
02:41:23 <kannon> yes I think it's like unfold
02:41:51 <kannon> trying to get this : http://blog.sigfpe.com/2006/12/evaluating-cellular-automata-is.html hololeap
02:42:06 × dsrt^ quits (~dsrt@50.227.69.228) (Ping timeout: 276 seconds)
02:42:38 <hololeap> it's called 'duplicate' in the comonad package
02:42:50 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
02:43:09 dsrt^ joins (~dsrt@50.227.69.228)
02:45:39 <kannon> hmm
02:46:42 <hololeap> basically the dual of 'join', so instead of collapsing 'm (m a) -> m a', it does "the opposite": 'm a -> m (m a)'
02:47:37 <hololeap> it's fairly abstract but pretty fun when you grasp it. there are examples of people writing conway's game of life using the Store comonad floating around
02:49:04 <kannon> hololeap: hey you see this rule at the bottom of my paste? https://paste.tomsmeding.com/KpdkO4K6
02:49:12 × king_gs quits (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Remote host closed the connection)
02:49:31 king_gs joins (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d)
02:49:40 <kannon> someone said to get it to work by using U (Bool) -> Bool
02:49:52 <kannon> but what does it look like?
02:50:00 <systemfault> Would be nice if someone would write a nice comonad tutorial/example for dumb people like me.
02:50:36 <kannon> I don't understand the type U (Bool)
02:50:55 <EvanR> rule has type U Bool -> Bool, a function type
02:51:06 <systemfault> Knowing that it's the dual of a monad doesn't give me any intuition of when I should use them
02:51:18 <EvanR> U Bool is a type, simply by taking U x you defined earlier and saying x = Bool
02:51:33 <EvanR> systemfault, probably never, unless it's advent of code and you want to flex
02:52:05 <hololeap> just like how you can string together functions in the form of (a -> m b) with monads, you can string together functions in the form of (m a -> b) with comonads
02:52:06 <systemfault> I see, so there are cases when they can be useful but it's not something I will often use in day to day code
02:52:27 <systemfault> s/when/where
02:52:39 <EvanR> even in cases where it's useful, it's more like "why did I need this category theory"
02:53:18 <EvanR> the monad library on the other hand is much more useful
02:53:24 <EvanR> comonad barely has a library
02:53:25 <kannon> I thought shifting the universes where the "focus" moved by one to left or right, was interesting
02:53:32 <hololeap> what it is saying is that you have your little universe and a reference point which is what U represents, and from it you can look around and create a value... in this case Bool
02:54:13 <hololeap> however, every you can construct a different U for every value in your original U, which will essentially be a copy but with a different reference point
02:54:28 <hololeap> s/every you/you/
02:54:51 <systemfault> Which is why the Game of Life is a good case for showing comonad?
02:54:59 <hololeap> so you have a U that focuses on 0, a U that focuses on 1, etc
02:55:32 <hololeap> depending on which value U is focusing on determines what the Bool output of 'rule' will be
02:55:52 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
02:56:07 <kannon> so I don't get the use of the rule. what is the data structure U Bool ?
02:56:53 <hololeap> so, cojoin essentially creates a new universe for every value, which allows you to apply 'rule' to it, and in the end you get 'U Bool' which is the result of 'rule' for every value
02:57:46 <hololeap> each new universe that cojoin creates is focused on the original value and should have the "neighborhood" you would expect.
02:58:47 × td_ quits (~td@94.134.91.69) (Ping timeout: 240 seconds)
02:59:20 <hololeap> so for cellular automata, like conway's game of life, cojoin would create a new grid for every cell that is focused on that respective cell. this allows you to make a calculation for every cell that takes into account that cell's unique perspective. for instance, how many of its neighbors are alive
02:59:59 <kannon> apologies hololeap , what would you type in ghci to implement rule at bottom of paste? https://paste.tomsmeding.com/KpdkO4K6
03:00:46 td_ joins (~td@94.134.91.43)
03:01:10 <hololeap> oh, it would be '(uni =>> rule) :: U Bool'
03:02:45 <hololeap> not quite, actually, because uni is 'U Int', and rule seems to want 'U Bool'
03:03:12 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 272 seconds)
03:03:46 <kannon> :t (gg =>> rule)
03:03:47 <lambdabot> error:
03:03:47 <lambdabot> • Variable not in scope: gg
03:03:48 <lambdabot> • Perhaps you meant ‘g’ (imported from Debug.SimpleReflect)
03:04:14 <hololeap> lambdabot doesn't know any of those definitions
03:04:26 <kannon> sorry using irssi . looks just like the interpreter!
03:05:30 <kannon> I understand the program, but the rule is confusing me
03:06:11 <hololeap> you could write out a logic table for it
03:07:31 cyphase joins (~cyphase@user/cyphase)
03:07:41 <kannon> thanks yeah; can you run it or should I comment out the rule ?
03:08:10 × xff0x_ quits (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer)
03:08:24 <hololeap> not sure what you mean
03:09:30 <Axman6> you might find something like this useful: let s b = if b then "T" else " "; putStrLn $ unlines [unwords [s a, s b, s c,"=>", show rule a b c | a <- [False, True], b <- [False, True], c <- [False, True]]
03:09:47 <hololeap> the rule seems pretty arbitrary. for instance, giving it (a=True, b=True, c=False) would yield True, as would (a=True, b=True, c=True) and (a=False, b=False, c=False)
03:10:21 <hololeap> so it seems like just some rule that was made up for the sake of it
03:10:53 <Axman6> % let rule a b c = not (a && b && not c || (a==b)); s b = if b then "T" else " "; in putStrLn $ unlines [unwords [s a, s b, s c,"=>", show rule a b c | a <- [False, True], b <- [False, True], c <- [False, True]]
03:11:12 <Axman6> oh no, no yahb!
03:11:51 <jackdk> @botsnack at least we still have lambdabot
03:11:51 <lambdabot> :)
03:12:32 <hololeap> I used comonads to solve this: https://www.hackerrank.com/challenges/the-tree-of-life/problem
03:12:39 <Axman6> > let rule a b c = not (a && b && not c || (a==b)); s b = if b then "T" else " " in text $ unlines [unwords [s a, s b, s c,"=>", show (rule a b c) | a <- [False, True], b <- [False, True], c <- [False, True]]
03:12:40 <lambdabot> <hint>:1:148: error: parse error on input ‘|’
03:12:55 <Axman6> > let rule a b c = not (a && b && not c || (a==b)); s b = if b then "T" else " " in text $ unlines [unwords [s a, s b, s c,"=>", show (rule a b c)] | a <- [False, True], b <- [False, True], c <- [False, True]]
03:12:56 <lambdabot> => False
03:12:56 <lambdabot> T => False
03:12:56 <lambdabot> T => True
03:13:54 mbuf joins (~Shakthi@171.61.201.63)
03:13:57 <kannon> man that is tough. at least I get the cellular automata idea
03:14:19 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 240 seconds)
03:17:14 tommd joins (~tommd@97-120-41-123.ptld.qwest.net)
03:17:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
03:19:27 cyphase joins (~cyphase@user/cyphase)
03:20:12 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:24:12 xff0x_ joins (~xff0x@om126234061065.16.openmobile.ne.jp)
03:31:07 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
03:31:24 Feuermagier joins (~Feuermagi@user/feuermagier)
03:34:33 × julian quits (~julian@20.83.116.49) (Killed (NickServ (GHOST command used by tos9_!~tos9@python/site-packages/Julian)))
03:37:10 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
03:37:12 × xff0x_ quits (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer)
03:40:14 <kannon> thanks for helping everyone
03:41:53 bogart joins (~e43921@167.224.152.242)
03:46:06 × bogart quits (~e43921@167.224.152.242) (Ping timeout: 246 seconds)
03:53:13 deadmarshal_ joins (~deadmarsh@95.38.117.99)
04:04:00 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
04:04:49 uncomfy joins (~uncomfy@103.164.146.133)
04:07:39 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
04:08:34 kritzefitz joins (~kritzefit@debian/kritzefitz)
04:09:59 × [Leary] quits (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection)
04:13:56 Buggys parts (~Buggys@185.149.90.52) ()
04:14:46 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
04:14:59 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 240 seconds)
04:17:10 × kannon quits (~NK@135-180-218-226.fiber.dynamic.sonic.net) (Quit: leaving)
04:20:16 cyphase joins (~cyphase@user/cyphase)
04:25:00 × lawt quits (~lawt@2601:200:8200:6870:dea6:32ff:fea1:adf9) (*.net *.split)
04:25:00 × Tisoxin quits (~ikosit@user/ikosit) (*.net *.split)
04:25:00 × lagooned quits (~lagooned@108-208-149-42.lightspeed.hstntx.sbcglobal.net) (*.net *.split)
04:25:00 × mrkajetanp quits (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (*.net *.split)
04:25:00 × iphy quits (sid67735@id-67735.lymington.irccloud.com) (*.net *.split)
04:25:00 × carbolymer quits (~carbolyme@dropacid.net) (*.net *.split)
04:25:00 × piele quits (~piele@tbonesteak.creativeserver.net) (*.net *.split)
04:25:00 × Clint quits (~Clint@user/clint) (*.net *.split)
04:25:00 × barrucadu quits (~barrucadu@carcosa.barrucadu.co.uk) (*.net *.split)
04:25:00 × Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (*.net *.split)
04:25:00 × dagit quits (~dagit@c-24-21-226-72.hsd1.or.comcast.net) (*.net *.split)
04:25:00 × kitzman quits (~kitzman@user/dekenevs) (*.net *.split)
04:25:00 × Sqaure quits (~a@user/square) (*.net *.split)
04:25:00 × xerox quits (~edi@user/edi) (*.net *.split)
04:25:00 × Patternmaster quits (~georg@li1192-118.members.linode.com) (*.net *.split)
04:25:07 Clint joins (~Clint@user/clint)
04:25:12 piele joins (~piele@tbonesteak.creativeserver.net)
04:25:12 Patternmaster joins (~georg@li1192-118.members.linode.com)
04:25:13 carbolymer joins (~carbolyme@dropacid.net)
04:25:15 iphy joins (sid67735@id-67735.lymington.irccloud.com)
04:25:15 xerox joins (~edi@user/edi)
04:25:22 lagooned joins (~lagooned@108-208-149-42.lightspeed.hstntx.sbcglobal.net)
04:25:24 Vq joins (~vq@90-227-195-41-no77.tbcn.telia.com)
04:25:24 barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk)
04:25:33 Square joins (~a@user/square)
04:25:34 mrkajetanp joins (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88)
04:25:40 lawt joins (~lawt@2601:200:8200:6870:dea6:32ff:fea1:adf9)
04:26:14 Tisoxin joins (~ikosit@user/ikosit)
04:26:51 kitzman joins (~kitzman@user/dekenevs)
04:28:28 × Deide quits (~deide@user/deide) (*.net *.split)
04:28:28 × ishaan[m] quits (~ishaanvma@2001:470:69fc:105::1:fb72) (*.net *.split)
04:28:28 × ozataman[m] quits (~ozatamanm@2001:470:69fc:105::1:faa0) (*.net *.split)
04:28:28 × vestige[m] quits (~vestigema@2001:470:69fc:105::1:f9dd) (*.net *.split)
04:28:28 × Andy[m]12 quits (~anparrama@2001:470:69fc:105::1:6826) (*.net *.split)
04:28:28 × Jon quits (jon@dow.land) (*.net *.split)
04:28:29 × hendi quits (sid489601@id-489601.lymington.irccloud.com) (*.net *.split)
04:28:29 × alanz quits (sid110616@id-110616.uxbridge.irccloud.com) (*.net *.split)
04:28:29 × sclv quits (sid39734@haskell/developer/sclv) (*.net *.split)
04:28:29 × chessai quits (sid225296@id-225296.lymington.irccloud.com) (*.net *.split)
04:28:29 × dyniec quits (~dyniec@mail.dybiec.info) (*.net *.split)
04:28:29 × robertm quits (robertm@lattice.rojoma.com) (*.net *.split)
04:28:29 × Unhammer quits (~Unhammer@user/unhammer) (*.net *.split)
04:28:29 × megeve quits (sid523379@id-523379.hampstead.irccloud.com) (*.net *.split)
04:28:29 × hook54321 quits (sid149355@user/hook54321) (*.net *.split)
04:28:29 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (*.net *.split)
04:28:29 × Matthew|m quits (~arathorn@2001:470:69fc:105::1f) (*.net *.split)
04:28:29 × jmcantrell quits (~jmcantrel@user/jmcantrell) (*.net *.split)
04:28:29 × geoduck quits (~X@71.182.184.253) (*.net *.split)
04:28:29 × bcmiller quits (~bm3719@66.42.95.185) (*.net *.split)
04:28:29 × df quits (~ben@justworks.xyz) (*.net *.split)
04:28:29 × dragestil quits (~znc@user/dragestil) (*.net *.split)
04:28:29 × marienz__ quits (~marienz@libera/staff/marienz) (*.net *.split)
04:28:29 × tristanC quits (~tristanC@user/tristanc) (*.net *.split)
04:28:29 × relrod quits (~relrod@redhat/ansible.staff.relrod) (*.net *.split)
04:28:29 × mht-wtf quits (~mht@2a03:b0c0:3:e0::1e2:c001) (*.net *.split)
04:28:39 Jon joins (jon@dow.land)
04:28:39 bcmiller joins (~bm3719@66.42.95.185)
04:28:41 sclv joins (sid39734@haskell/developer/sclv)
04:28:41 df joins (~ben@justworks.xyz)
04:28:42 relrod joins (~relrod@redhat/ansible.staff.relrod)
04:28:43 marienz_ joins (marienz@libera/staff/marienz)
04:28:45 dyniec joins (~dyniec@mail.dybiec.info)
04:28:46 megeve joins (sid523379@id-523379.hampstead.irccloud.com)
04:28:46 chessai joins (sid225296@id-225296.lymington.irccloud.com)
04:28:46 alanz joins (sid110616@id-110616.uxbridge.irccloud.com)
04:28:48 hendi joins (sid489601@id-489601.lymington.irccloud.com)
04:28:51 geoduck joins (~X@71.182.184.253)
04:28:59 tristanC joins (~tristanC@user/tristanc)
04:29:00 robertm joins (robertm@lattice.rojoma.com)
04:29:01 Unhammer joins (~Unhammer@user/unhammer)
04:29:05 mht-wtf joins (~mht@2a03:b0c0:3:e0::1e2:c001)
04:29:19 dragestil joins (~znc@user/dragestil)
04:29:51 hook54321 joins (sid149355@user/hook54321)
04:30:47 × king_gs quits (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Ping timeout: 240 seconds)
04:30:51 jmcantrell joins (~jmcantrel@user/jmcantrell)
04:31:01 Matthew|m joins (~arathorn@2001:470:69fc:105::1f)
04:31:02 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
04:31:57 Andy[m]12 joins (~anparrama@2001:470:69fc:105::1:6826)
04:32:44 × uncomfy quits (~uncomfy@103.164.146.133) (Quit: uncomfy)
04:33:02 [Leary] joins (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz)
04:33:44 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
04:34:12 vestige[m] joins (~vestigema@2001:470:69fc:105::1:f9dd)
04:34:23 ishaan[m] joins (~ishaanvma@2001:470:69fc:105::1:fb72)
04:34:32 ozataman[m] joins (~ozatamanm@2001:470:69fc:105::1:faa0)
04:34:59 Deide joins (~deide@user/deide)
04:35:28 cdman joins (~dcm@27.2.217.184)
04:35:28 × cdman quits (~dcm@27.2.217.184) (Changing host)
04:35:28 cdman joins (~dcm@user/dmc/x-4369397)
04:37:21 coot joins (~coot@213.134.190.95)
04:39:16 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
04:45:26 benin joins (~benin@183.82.204.110)
04:50:42 × mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds)
04:57:20 × jargon quits (~jargon@174-22-206-112.phnx.qwest.net) (Remote host closed the connection)
04:59:04 nut joins (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
05:02:07 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
05:05:19 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
05:05:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
05:06:12 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 240 seconds)
05:07:18 king_gs joins (~Thunderbi@187.201.77.157)
05:08:02 gentauro joins (~gentauro@user/gentauro)
05:15:53 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
05:27:58 × king_gs quits (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer)
05:28:53 king_gs joins (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d)
05:29:40 × king_gs quits (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Client Quit)
05:31:51 michalz joins (~michalz@185.246.204.126)
05:33:27 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:38:36 gpncarl joins (~gpncarl@120.244.220.74)
05:43:56 mikoto-chan joins (~mikoto-ch@213.177.151.239)
05:47:09 julian joins (~julian@20.83.116.49)
05:51:03 <juhp[m]> Can anyone give me some clues about this cabal build failure: https://download.copr.fedorainfracloud.org/results/petersen/cabal-install/fedora-rawhide-x86_64/04352797-cabal-install/build.log.gz (5kB)? It's been driving me round the bend...
05:52:01 <juhp[m]> Basically I am trying to build cabal-install (with cabal-install) and it keeps failing silently on resolv during configure apparently (I can't reproduce it locally)
05:52:33 <juhp[m]> I may try with a newer cabal-install version...
05:54:57 <juhp[m]> Actually trying again now locally it fails on network for me...
05:55:23 <juhp[m]> cabal: Failed to build network-3.1.2.7 (which is required by exe:cabal ...
05:57:13 <juhp[m]> What does error 77 mean?
06:02:03 × noiobeforebed quits (~noiobefor@2001:470:69fc:105::1:3c2d) (Quit: Reconnecting)
06:02:17 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
06:05:05 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
06:09:32 × inversed quits (~inversed@94.13.111.159) (Quit: Connection error?!)
06:13:20 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds)
06:15:57 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 276 seconds)
06:16:23 inversed joins (~inversed@94.13.111.159)
06:16:25 gpncarl joins (~gpncarl@120.244.220.74)
06:20:55 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds)
06:32:02 × coot quits (~coot@213.134.190.95) (Quit: coot)
06:37:36 <[exa]> juhp[m]: the error message is the same when it fails for network?
06:37:58 <[exa]> I'm a bit scared by the mention of RPM there
06:38:38 <juhp[m]> yes basically the same
06:39:13 <juhp[m]> The failure occurred during the configure step. The build process terminated with exit code 77
06:39:16 <[exa]> are there any leftover logs or environment?
06:39:28 × nut quits (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 250 seconds)
06:39:32 <[exa]> would be nice to see what's the python thing doing there
06:39:43 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
06:39:57 <juhp[m]> Even with cabal install -v not much of interest
06:41:03 mmhat joins (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315)
06:41:15 <[exa]> does 'resolv' build when you try to source it and install it from standalone source? (there you might have better chances to find the offending piece of code)
06:41:43 <juhp[m]> Well I think the final python error from mock (that is the chroot tool Fedora uses for building) can be ignored it allows appears when there is a failure - it doesn't provide interesting info :-)
06:41:55 <juhp[m]> s/allows/always/
06:42:17 <[exa]> ._. pythons
06:42:25 <juhp[m]> Yeah let me try a bit more...
06:42:53 <juhp[m]> I just thought maybe someone had run into this before - but not so common perhaps
06:43:04 <[exa]> cabal get resolv; cd resolv-...; cabal configure; cabal build
06:43:18 <[exa]> I'm not on fedora and it builds awright
06:44:17 <juhp[m]> same here on Fedora
06:45:25 <[exa]> grep 77 errno.h ---> #define EBADFD 77 /* File descriptor in bad state */
06:45:26 <juhp[m]> I don't think the problem is with resolv or network but some kind of build environment issue
06:45:45 <juhp[m]> Let me try with Fedora 35
06:45:56 <juhp[m]> Yea I since found that too
06:46:07 acidjnk joins (~acidjnk@p200300d0c7033b32307b3d9e83ffd4d4.dip0.t-ipconnect.de)
06:46:27 <juhp[m]> Appreciate the help :-)
06:47:00 <[exa]> how's your /tmp mounted?
06:48:22 <[exa]> ah that's by the mock thing
06:49:28 × raym quits (~raym@user/raym) (Ping timeout: 248 seconds)
06:50:08 lortabac joins (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed)
06:50:18 <[exa]> btw recovering config.log would help a lot I guess
06:50:56 <[exa]> from what's in the configure script, I guess you might either have "C compiler can't make executables" or "can't compute sizeof(struct __res_state)"
06:55:06 gpncarl joins (~gpncarl@120.244.220.74)
06:56:24 × drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
06:56:30 × raoul quits (~raoul@95.179.203.88) (Quit: Ping timeout (120 seconds))
06:56:32 × bbear quits (~znc@21212.s.t4vps.eu) (Quit: ZNC 1.7.4 - https://znc.in)
06:56:35 drdo joins (~drdo@roach0.drdo.eu)
06:56:47 bbear joins (~znc@21212.s.t4vps.eu)
06:56:51 raoul joins (~raoul@95.179.203.88)
06:57:33 × thaumavorio quits (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
06:57:33 alp_ joins (~alp@user/alp)
06:58:22 thaumavorio joins (~thaumavor@thaumavor.io)
06:59:00 × tchakka quits (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net) (Ping timeout: 240 seconds)
06:59:24 × df quits (~ben@justworks.xyz) (Ping timeout: 240 seconds)
06:59:24 × Logio quits (em@kapsi.fi) (Ping timeout: 240 seconds)
06:59:33 Logio joins (em@kapsi.fi)
06:59:37 df joins (~ben@justworks.xyz)
07:01:06 chele joins (~chele@user/chele)
07:02:37 abastro joins (~abab9579@192.249.26.201)
07:08:55 jakalx parts (~jakalx@base.jakalx.net) ()
07:10:20 jakalx joins (~jakalx@base.jakalx.net)
07:16:16 Pickchea joins (~private@user/pickchea)
07:19:45 mncheck joins (~mncheck@193.224.205.254)
07:22:19 ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:2d0b:56d2:55c6:6429)
07:27:38 gehmehgeh joins (~user@user/gehmehgeh)
07:29:45 × Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds)
07:30:39 × joeyh quits (joeyh@kitenet.net) (Ping timeout: 260 seconds)
07:30:46 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:33:56 × abastro quits (~abab9579@192.249.26.201) (Remote host closed the connection)
07:35:57 raym joins (~raym@user/raym)
07:37:42 coot joins (~coot@213.134.190.95)
07:39:09 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
07:40:39 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
07:41:00 × raym quits (~raym@user/raym) (Remote host closed the connection)
07:47:47 machinedgod joins (~machinedg@24.105.81.50)
07:50:43 × sphynx quits (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (Ping timeout: 260 seconds)
07:52:25 <hgolden> the haskell wiki is down. i am working on fixing its configuration.
07:55:57 sphynx joins (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288)
07:56:22 raym joins (~raym@user/raym)
07:58:20 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 272 seconds)
08:00:33 × raym quits (~raym@user/raym) (Ping timeout: 246 seconds)
08:01:07 × sprout quits (~quassel@2a02-a467-ccd6-1-c813-76d4-6151-9389.fixed6.kpn.net) (Ping timeout: 240 seconds)
08:01:30 sprout joins (~quassel@2a02-a467-ccd6-1-c813-76d4-6151-9389.fixed6.kpn.net)
08:05:29 × mmhat quits (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5)
08:05:43 neceve joins (~quassel@2.29.116.221)
08:05:48 × tommd quits (~tommd@97-120-41-123.ptld.qwest.net) (Ping timeout: 276 seconds)
08:06:34 × sprout quits (~quassel@2a02-a467-ccd6-1-c813-76d4-6151-9389.fixed6.kpn.net) (Ping timeout: 250 seconds)
08:08:10 mmhat joins (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315)
08:11:10 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 260 seconds)
08:11:18 abastro joins (~abab9579@192.249.26.201)
08:11:45 raym joins (~raym@user/raym)
08:12:30 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
08:14:12 nut joins (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
08:15:18 Pickchea joins (~private@user/pickchea)
08:19:19 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
08:20:48 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
08:21:40 × abastro quits (~abab9579@192.249.26.201) (Remote host closed the connection)
08:23:53 × [Leary] quits (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection)
08:24:45 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1)
08:24:59 × troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 240 seconds)
08:27:17 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
08:28:05 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
08:31:06 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:31:28 [Leary] joins (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz)
08:34:38 nschoe joins (~quassel@178.251.84.79)
08:35:01 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1)
08:35:04 × Zemyla quits (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (Ping timeout: 248 seconds)
08:35:12 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
08:38:40 × eggplantade quits (~Eggplanta@108.201.191.115) (Remote host closed the connection)
08:40:27 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
08:41:58 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
08:42:18 ChaiTRex joins (~ChaiTRex@user/chaitrex)
08:42:45 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1)
08:43:13 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
08:46:11 <juhp[m]> [exa] right - I got it to build fine on current Fedora 35 - my suspicion is somehow it might be running out of FDs on Fedora 36... hmm
08:46:33 <juhp[m]> good point
08:47:23 <juhp[m]> anyway ya looks like this is a Fedora issue :(
08:48:10 zeenk joins (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d)
08:49:26 mastarija joins (~mastarija@2a05:4f46:e04:6000:b03f:f8ad:9bc1:4a97)
08:50:38 <mastarija> is there a way to load module in repl as qualified?
08:50:48 <mastarija> e.g. :m + Data.Map as M
08:52:00 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds)
08:52:08 frost joins (~frost@user/frost)
08:53:05 <Taneb> mastarija: you can use "import qualified Data.Map as M" in the repl
08:53:15 <mastarija> oh...
08:53:28 <juhp[m]> [exa]: you are right: checking whether the C compiler works... no
08:53:32 <mastarija> I've never tried that
08:53:46 <Taneb> mastarija: it didn't use to be the case so if you're using an old guide it might not suggest it
08:57:43 × hrdl quits (~hrdl@mail.hrdl.eu) (Quit: leaving)
08:58:29 <juhp[m]> juhp: Likely something to do with gcc12
09:02:20 hrdl joins (~hrdl@mail.hrdl.eu)
09:05:52 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
09:06:14 ChaiTRex joins (~ChaiTRex@user/chaitrex)
09:08:28 troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua)
09:08:40 × ajb quits (~ajb@mimas.whatbox.ca) (Remote host closed the connection)
09:12:48 xff0x_ joins (~xff0x@om126234061065.16.openmobile.ne.jp)
09:15:03 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
09:17:57 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 276 seconds)
09:18:37 gpncarl joins (~gpncarl@120.244.220.74)
09:19:08 cfricke joins (~cfricke@user/cfricke)
09:20:49 × coot quits (~coot@213.134.190.95) (Quit: coot)
09:22:16 <juhp[m]> Ah I think it worked it out - some new toolkit stuff in F36
09:22:17 <juhp[m]> toolchain
09:22:53 <juhp[m]> probably LTO
09:23:04 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
09:23:26 <juhp[m]> actually dunno what
09:24:29 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
09:24:45 anomal joins (~anomal@87.227.196.109)
09:24:49 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed) (Quit: WeeChat 2.8)
09:25:56 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 248 seconds)
09:26:00 gpncarl_ joins (~gpncarl@120.244.220.74)
09:27:32 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
09:28:20 __monty__ joins (~toonn@user/toonn)
09:29:55 × acidjnk quits (~acidjnk@p200300d0c7033b32307b3d9e83ffd4d4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
09:35:30 × jespada quits (~jespada@194.37.96.110) (Ping timeout: 276 seconds)
09:35:50 jespada joins (~jespada@146.70.119.87)
09:39:22 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
09:43:42 MajorBiscuit joins (~MajorBisc@145.94.235.5)
09:43:51 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
09:46:00 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds)
09:46:40 × ridcully quits (~ridcully@pd951f433.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
09:51:30 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
09:53:03 × gpncarl_ quits (~gpncarl@120.244.220.74) (Ping timeout: 276 seconds)
09:53:24 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
09:54:35 ridcully joins (~ridcully@p57b52a1f.dip0.t-ipconnect.de)
09:56:55 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
09:57:06 coot joins (~coot@213.134.190.95)
09:57:26 <gurkenglas> How annoying that ~ I have only one neuron for the concept of negation, so I have to split any statement involving multiple negations into parts before I can understand it.
10:00:13 mikoto-chan joins (~mikoto-ch@213.177.151.239)
10:03:27 <gurkenglas> also that "exists forall" is different from "forall exists", so I can't just run pattern recognition on the bag of words in a statement. I think what I do instead is pattern recognition against both of those quoted phrases in parallel, is there some better way? Perhaps a language that replaces them with two separate words.
10:05:24 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 248 seconds)
10:05:49 <gurkenglas> i think the desire to do bag-of-words also underlies being drawn towards pointless style
10:07:19 <gurkenglas> yeah probably what you do in general is, any time the same bag of words can be assembled into two different things, you name those two things to distinguish them.
10:08:27 <gurkenglas> what are some examples of lines of code that can be rearranged for a different meaning?
10:09:41 <int-e> natural languages already have the property that order matters
10:10:18 <int-e> love triangle (drama). triangle love (nerdy).
10:10:45 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
10:11:20 <gurkenglas> natural languages aren't intelligently designed, they descend gradients
10:11:58 <int-e> yoda funny also because this of
10:12:26 <gurkenglas> and yet understandable because we can pattern-match by bag-of-words
10:12:50 <int-e> well, order-dependence isn't a sign of absence of intelligent design
10:12:52 int-e shrugs
10:13:15 <gurkenglas> jsut as you can raed tihs setnence wihtout too mcuh toruble
10:13:47 <tdammers> there's a lot more to natural language than just packing quantifyable objective information into a data stream
10:14:12 Midjak joins (~Midjak@82.66.147.146)
10:14:39 <gurkenglas> I'm gonna venture a guess that dyslexics are those who are too far in bag-of-words mode
10:15:00 <int-e> aside... if you had the power to process two negations that would be enough for arbitrary boolean circuits...
10:15:13 <tdammers> Also: order dependence varies between languages. Word order matters a lot more in English than it does in Latin, for example.
10:15:24 <gurkenglas> int-e: I responded with the intelligent-design line because it sounded that you were arguing that order-dependence is good because it is natural
10:16:38 <int-e> gurkenglas: I wasn't judging. I'm saying it's not very hard to comprehend because of that... well, assuming your native tongue does that.
10:17:00 <int-e> "it" being order-dependence
10:17:05 <gurkenglas> I wonder how hard sentences become to understand if we sort their words alphabetically
10:17:15 <int-e> (comprehending "it" is hard... I should use "it" less)
10:17:15 × efertone quits (~efertone@user/efertone) (Ping timeout: 260 seconds)
10:17:26 <gurkenglas> pointfree style! :)
10:18:45 <gurkenglas> I agree that brains manage to overcome order-dependence, and argue that we may have a much easier time if we made the need rarer
10:20:11 <gurkenglas> Contrived example: (*2) . (+1) vs (+1) . (*2). Are there ones outside arithmetic?
10:20:23 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:20:24 <int-e> I don't think you can do that with logic. Supporting evidence comes in the form of Ehrenfeucht-Fraisse games, where, obviously, reordering the moves by the different players can easily change the status (winning or losing) of the game.
10:20:53 <gurkenglas> I remember that Ehrenfeucht-Fraisse games suck and you try to hide them behind lemmata like with unsafePerformIO
10:20:58 <gurkenglas> Perhaps for that reason
10:21:42 × mastarija quits (~mastarija@2a05:4f46:e04:6000:b03f:f8ad:9bc1:4a97) (Quit: Leaving)
10:22:00 <int-e> I suppose you can do silly things like roman numerals (which /could/ be order-independent except for the weird convention of writing IV for IIII (and IX, XL, etc.)
10:23:03 <gurkenglas> I imagine that's because you need to match against IIII in parallel to matching against III in any case, so the IIII might as well be IV
10:23:16 <tdammers> You can trivially turn anything into an order-independent representation by assigning an ordinal to every order-dependent step, and then pairing them up
10:23:43 <gurkenglas> tdammers: that may well be how brains solve the issue
10:23:57 <int-e> Fascinating as this may be, what does this have to do with Haskell anyway?
10:24:32 <gurkenglas> The initial despair is one I expect to pop up a lot in the kind of people who code Haskell!
10:24:39 <gurkenglas> Boolean blindness is a concept I encountered here
10:25:00 <int-e> Haskell is *very* order-dependent.
10:25:00 × xff0x_ quits (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer)
10:25:12 <int-e> > ((-) 1 2, (-) 2 1)
10:25:13 <gurkenglas> Do you have an example less contrived than my arithmetic one?
10:25:14 <lambdabot> (-1,1)
10:25:49 <gurkenglas> Maybe it'll turn out that non-contrived examples tend to instantiate the words at different types in different orders, so that you can do bag-of-words so long as you equip each word with its type
10:26:26 <gurkenglas> which sounds better than ordinals because you don't have to keep repeating it for every offset to call 0
10:26:28 <int-e> Even for composition... f . g != g . f is the normal case, not the exception
10:27:17 <gurkenglas> Yes, give some example of that please. I can see reverse . (0:) but that still feels somewhat contrived (though less than the arithmetic one)
10:27:18 <int-e> (in many cases where f . g works, g . f isn't even well-typed)
10:27:24 <__monty__> Or the difference between `id const` and `const id`.
10:27:32 abastro joins (~abab9579@192.249.26.201)
10:27:33 <gurkenglas> That's fine, if one isn't well-typed it won't match the bag
10:28:11 <gurkenglas> __monty__: even that I would call fine, because `id const` is just `id` so you wouldn't write it except perhaps to trick someone into seeing `const id` :D
10:28:40 <__monty__> id const = const /= id
10:29:11 <gurkenglas> um, right, yes. shame on me except at least i saw correctly that it's trivially reducible
10:29:13 <__monty__> As your bag of words gets bigger there'll be more and more well typed possible configurations.
10:29:55 <gurkenglas> __monty__: I think so too! And yet I can't actually think of a nice small example, which may be a hint that those tend to get names
10:30:37 <gurkenglas> And if those tend to get names that you use to reduce larger bags, maybe a good place for the language to be is when every reduced bag has one well-typed configuration
10:31:15 <int-e> gurkenglas: https://paste.debian.net/1239661/
10:31:24 <gurkenglas> Compare to associativity, which is a really good property because it lets us do sequence-of-words instead of tree-of-words
10:31:40 <int-e> (I was too lazy to tokenize properly, so some small parts are actually intact)
10:32:29 yauhsien joins (~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
10:32:54 <gurkenglas> int-e: that sure has a lot of points!
10:33:48 <gurkenglas> What is this example trying to show?
10:34:11 <int-e> what you get when you treat Haskell as a bag of words
10:34:21 sprout joins (~quassel@2a02-a45f-f170-1-ec22-a3b5-d794-656b.fixed6.kpn.net)
10:34:33 <gurkenglas> Oh yeah dangit I just now noticed the similarity to "sort alphabetically"
10:34:51 <int-e> it's safe to say that all meaning is lost (except maybe, that it's something with decimal representations of numbers)
10:35:18 <gurkenglas> you should have preserved the parenthesis-bubbles
10:35:25 × deadmarshal_ quits (~deadmarsh@95.38.117.99) (Ping timeout: 256 seconds)
10:35:41 <gurkenglas> you're allowed to move a parentheses-subterm around inside its parent, and its children inside it, but nothing crosses in or out
10:35:42 <int-e> so... now you want an unordered tree instead?
10:35:53 × sprout quits (~quassel@2a02-a45f-f170-1-ec22-a3b5-d794-656b.fixed6.kpn.net) (Client Quit)
10:36:06 <gurkenglas> you can flatten it into a single bag but then you should remove all the parentheses
10:36:08 <int-e> anyway, I think I've humored this enough... /me out
10:37:24 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
10:37:40 <gurkenglas> While trying to parse your paste at one point I thought you were using some sort of unusual-fix notation :D
10:38:11 <int-e> All I did was putStrLn . unwords . sort . words =<< readFile "Foo.hs"
10:38:45 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 260 seconds)
10:39:16 <int-e> incidentally, sort . unwords . words would have produced an entirely different result
10:39:17 <gurkenglas> makes sense, not your fault words has no special treatment for parentheses
10:39:40 <gurkenglas> int-e: yes but fortunately unwords . words is reducible
10:39:53 <gurkenglas> (except for that it actually isn't :( )
10:40:33 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:40:37 mikoto-chan joins (~mikoto-ch@213.177.151.239)
10:42:56 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:43:34 <gurkenglas> I concede that list manipulation is order-dependent, much like lists. I can only go "lists considered harmful" about it :P
10:45:42 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds)
10:45:45 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:45:46 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:46:21 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
10:46:29 <gurkenglas> (related: language models based on the transformer architecture are an order-independent approach with position-information tacked on! :) )
10:47:37 <gurkenglas> one example of the kind of order-dependence that might be less bad if you tack on type-information: fmap fmap vs. fmap fmap
10:48:27 Lord_of_Life_ is now known as Lord_of_Life
10:51:18 × frost quits (~frost@user/frost) (Quit: Ping timeout (120 seconds))
10:51:35 frost joins (~frost@user/frost)
10:56:45 × zyklotomic quits (~ethan@res380d-128-61-87-118.res.gatech.edu) (Ping timeout: 276 seconds)
10:57:57 zyklotomic joins (~ethan@res380d-128-61-86-31.res.gatech.edu)
11:01:35 × abastro quits (~abab9579@192.249.26.201) (Remote host closed the connection)
11:06:00 × kimjetwav quits (~user@2607:fea8:2362:b400:7bd6:bcaf:2d52:3bbf) (Remote host closed the connection)
11:08:27 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
11:08:54 mikoto-chan joins (~mikoto-ch@213.177.151.239)
11:09:14 deadmarshal_ joins (~deadmarsh@95.38.117.99)
11:09:57 <Bulby[m]> What is the correct way to allow opt in deriving of a class?
11:10:10 Bulby[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/636336d321caccde299f06b79cef9525bf0de905
11:11:34 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
11:11:49 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:13:27 ajb joins (~ajb@mimas.whatbox.ca)
11:15:30 × phma quits (~phma@host-67-44-208-94.hnremote.net) (Read error: Connection reset by peer)
11:16:29 phma joins (~phma@2001:5b0:211f:ee08:b696:84bd:7df8:f65)
11:20:49 gpncarl_ joins (~gpncarl@120.244.220.74)
11:21:00 kaph joins (~kaph@net-2-42-128-205.cust.vodafonedsl.it)
11:24:48 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
11:24:58 lortabac joins (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed)
11:28:41 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:28:47 gpncarl joins (~gpncarl@120.244.220.74)
11:30:14 × gpncarl_ quits (~gpncarl@120.244.220.74) (Ping timeout: 250 seconds)
11:33:09 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 276 seconds)
11:36:03 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 256 seconds)
11:36:11 pretty_d1 joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:36:17 arjun joins (~arjun@user/arjun)
11:37:48 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds)
11:38:58 × pretty_d1 quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
11:44:44 lbseale joins (~quassel@user/ep1ctetus)
11:45:33 notzmv joins (~zmv@user/notzmv)
11:46:19 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
11:49:31 abastro joins (~abab9579@192.249.26.201)
11:52:12 mikoto-chan joins (~mikoto-ch@213.177.151.239)
11:52:40 Simon75 joins (~Simon@2001:4ca0:0:f237:81a2:7019:2075:ce94)
11:58:37 Pickchea joins (~private@user/pickchea)
12:01:20 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
12:03:31 odnes joins (~odnes@5-203-165-110.pat.nym.cosmote.net)
12:03:42 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 276 seconds)
12:04:14 lbseale joins (~quassel@user/ep1ctetus)
12:06:44 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
12:12:00 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
12:12:19 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 256 seconds)
12:13:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:17:26 lbseale joins (~quassel@user/ep1ctetus)
12:17:53 joeyh joins (joeyh@kitenet.net)
12:19:44 Guest64 joins (~Guest64@176.89.159.137)
12:20:25 acidjnk joins (~acidjnk@p200300d0c7033b32b80f7c05aa7bf5a6.dip0.t-ipconnect.de)
12:20:32 × Guest64 quits (~Guest64@176.89.159.137) (Client Quit)
12:20:59 xaotuk joins (~sasha@2a06:5b00:15fe:9b00::3)
12:22:15 × Simon75 quits (~Simon@2001:4ca0:0:f237:81a2:7019:2075:ce94) (Quit: Client closed)
12:25:24 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:26:50 oxide joins (~lambda@user/oxide)
12:27:00 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 250 seconds)
12:28:40 gpncarl_ joins (~gpncarl@120.244.220.74)
12:29:24 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 248 seconds)
12:31:24 AlexNoo_ is now known as AlexNoo
12:35:54 lbseale joins (~quassel@user/ep1ctetus)
12:36:56 × abastro quits (~abab9579@192.249.26.201) (Remote host closed the connection)
12:37:28 frost joins (~frost@user/frost)
12:37:42 abastro joins (~abab9579@192.249.26.201)
12:41:08 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
12:42:13 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:42:39 × arjun quits (~arjun@user/arjun) (Remote host closed the connection)
12:45:11 × abastro quits (~abab9579@192.249.26.201) (Remote host closed the connection)
12:45:47 abastro joins (~abab9579@192.249.26.201)
12:47:05 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
12:47:14 zebrag joins (~chris@user/zebrag)
12:48:59 × coot quits (~coot@213.134.190.95) (Quit: coot)
12:49:32 coot joins (~coot@213.134.190.95)
12:50:30 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 276 seconds)
13:03:34 × mbuf quits (~Shakthi@171.61.201.63) (Quit: Leaving)
13:03:59 × frost quits (~frost@user/frost) (Quit: Ping timeout (120 seconds))
13:05:42 × abastro quits (~abab9579@192.249.26.201) (Remote host closed the connection)
13:13:44 gpncarl joins (~gpncarl@120.244.220.74)
13:14:09 × gpncarl_ quits (~gpncarl@120.244.220.74) (Ping timeout: 246 seconds)
13:18:18 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
13:18:20 × acidjnk quits (~acidjnk@p200300d0c7033b32b80f7c05aa7bf5a6.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:19:45 × Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds)
13:22:07 vicfred joins (~vicfred@user/vicfred)
13:24:50 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
13:26:24 × vicfred quits (~vicfred@user/vicfred) (Ping timeout: 246 seconds)
13:27:39 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds)
13:29:40 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
13:34:58 Zemyla joins (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com)
13:35:14 lbseale joins (~quassel@user/ep1ctetus)
13:41:09 bogart joins (~bogart@167.224.152.242)
13:42:08 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:44:15 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds)
13:44:15 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
13:45:40 × bogart quits (~bogart@167.224.152.242) (Ping timeout: 248 seconds)
13:46:08 gpncarl joins (~gpncarl@120.244.220.74)
13:47:45 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds)
13:47:54 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
13:48:24 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
13:48:24 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
13:48:24 wroathe joins (~wroathe@user/wroathe)
13:48:55 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds)
13:49:22 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
13:49:30 × alp_ quits (~alp@user/alp) (Ping timeout: 260 seconds)
13:51:12 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:51:41 Guest38 joins (~Guest38@188.147.98.147.nat.umts.dynamic.t-mobile.pl)
13:52:36 × Guest38 quits (~Guest38@188.147.98.147.nat.umts.dynamic.t-mobile.pl) (Client Quit)
13:55:22 lbseale joins (~quassel@user/ep1ctetus)
13:57:31 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
13:58:28 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
13:58:47 abastro joins (~abab9579@192.249.26.201)
14:00:42 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds)
14:01:08 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 248 seconds)
14:01:48 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:02:48 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
14:02:49 × odnes quits (~odnes@5-203-165-110.pat.nym.cosmote.net) (Quit: Leaving)
14:03:22 jpds joins (~jpds@gateway/tor-sasl/jpds)
14:05:01 × zer0bitz quits (~zer0bitz@2001:2003:f444:8f00:b5b8:3c41:5641:4dcb) (Read error: Connection reset by peer)
14:11:22 lbseale joins (~quassel@user/ep1ctetus)
14:13:38 × julian quits (~julian@20.83.116.49) (Killed (NickServ (GHOST command used by tos9_!~tos9@python/site-packages/Julian)))
14:17:34 Sgeo joins (~Sgeo@user/sgeo)
14:20:09 stevenxl joins (~stevenxl@c-73-72-2-81.hsd1.il.comcast.net)
14:21:26 xff0x_ joins (~xff0x@om126234061065.16.openmobile.ne.jp)
14:24:05 KingoftheHomeles joins (~Kingofthe@89-233-195-143.cust.bredband2.com)
14:26:14 × sander quits (~sander@user/sander) (Remote host closed the connection)
14:28:33 sander joins (~sander@user/sander)
14:29:00 shriekingnoise joins (~shrieking@201.231.16.156)
14:30:54 <KingoftheHomeles> I'm having woes involving type families and equality constraints, some regression introduced in GHC 9.2: it's essentially the question of being able to deduce `R ~ e ': some_tail` from the constraint `(R ~ e ': F R)` where R, F are type families. The inability to do this has caused a library of mine to break:
14:30:55 <KingoftheHomeles> https://github.com/KingoftheHomeless/in-other-words/issues/18 . The funny thing is that introducing the seemingly redundant constraint `r ~ R` allows deduction! I don't want to use that workaround though because introducing a type variable in the contexts my library is working in would require changing the API. My main question is: does anyone
14:30:55 <KingoftheHomeles> recognize this bug?
14:30:56 romesrf joins (~romes@185.5.8.134)
14:32:19 <KingoftheHomeles> Minimal reproducer:
14:32:19 <KingoftheHomeles> ```
14:32:20 <KingoftheHomeles> data Dict (c :: Constraint) where
14:32:20 <KingoftheHomeles>   Dict :: c => Dict c
14:32:21 <KingoftheHomeles> class Foo (e :: Type) (r :: [Type])
14:32:21 <KingoftheHomeles> instance Foo e (e ': r)
14:32:22 <KingoftheHomeles> type family R :: [Type]
14:32:22 <KingoftheHomeles> type family F (a :: [Type]) :: [Type]
14:32:23 <KingoftheHomeles> compiles :: (R ~ Int ': F R, r ~ R)
14:32:23 <KingoftheHomeles>          => Dict (Foo Int R)
14:32:24 <KingoftheHomeles> compiles = Dict
14:32:24 <KingoftheHomeles> errors :: (R ~ Int ': F R)
14:32:25 <KingoftheHomeles>        => Dict (Foo Int R)
14:32:25 <KingoftheHomeles> errors = Dict
14:32:26 <KingoftheHomeles> ```
14:32:28 <KingoftheHomeles> Oh, no code blocks. Oh well.
14:32:33 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
14:33:17 <[exa]> KingoftheHomeles: can you pastebin pls? (IRC really doesn't work well for anything more than ~3 lines, and people get frowny)
14:33:28 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
14:33:40 <[exa]> btw if I get it right, it worked before 9.2?
14:34:15 <KingoftheHomeles> Sure thing: https://pastebin.com/48BtadYw
14:34:20 <KingoftheHomeles> Yes, it works with 9.0.2
14:34:24 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
14:34:36 <KingoftheHomeles> _wow_ pastebin has garbage haskell highlighting
14:35:02 <merijn> Use the one from topic :p
14:35:03 <[exa]> it's not very happy about the ' magicks, yes
14:35:23 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:35:23 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
14:35:35 <[exa]> KingoftheHomeles: btw you sure that r~R doesn't place any additional constraints on R?
14:35:47 <KingoftheHomeles> I haven't tested the reproducer on 9.0.2 admittedly, it just exhibits the same kind of behavior as the constraints in my library.
14:36:06 <KingoftheHomeles> Nnno, it shouldn't.
14:36:26 <KingoftheHomeles> Notably, there is no PolyKinds involved, which I know the type checker can get tripped up on.
14:43:21 <[exa]> ok wow
14:43:55 Pickchea joins (~private@user/pickchea)
14:45:18 cosimone joins (~user@2001:b07:ae5:db26:81ac:79ad:125a:4a01)
14:46:28 × abastro quits (~abab9579@192.249.26.201) (Ping timeout: 248 seconds)
14:47:34 <abastro[m]> ...
14:48:04 <KingoftheHomeles> Can confirm the reproducer works on GHC 9.0.2
14:48:05 <abastro[m]> Meh matrix bug.. :/
14:50:35 <janus> KingoftheHomeles: default language is GHC2021 now, this means PolyKinds is enabled when you think it isn't
14:50:41 <[exa]> KingoftheHomeles: maybe the out-of-scope note here would match the problem? https://downloads.haskell.org/ghc/latest/docs/html/users_guide/9.2.1-notes.html#language
14:51:11 <KingoftheHomeles> janus PolyKinds being enabled or not doesn't matter in this case. All kinds involved are monomorphic.
14:51:12 × coot quits (~coot@213.134.190.95) (Quit: coot)
14:51:23 abiss27 joins (~abiss27@user/abiss)
14:51:32 <KingoftheHomeles> Which is why I say it isn't involved.
14:51:44 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:54:28 stackdroid18 joins (~stackdroi@user/stackdroid)
14:54:31 <KingoftheHomeles> Remade the reproducer with complete imports and extensions on that better pastebin: https://paste.tomsmeding.com/Zcpe15sL
14:54:34 <janus> ooh ok, i understand
14:54:55 <janus> i thought you referred to PolyKinds as in the extension
14:56:12 <KingoftheHomeles> Unless they addressed the type issues the type checker had with PolyKinds by the way I'm surprised it became enabled by default in GHC2021
14:57:24 <abastro[m]> discharging to `r` hmm
14:59:16 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
15:00:44 <KingoftheHomeles> [exa] I don't see how it would apply.
15:01:49 <janus> KingoftheHomeles: i was not aware of those issues, do you know where i can read more?
15:02:28 worldhelloworld1 joins (uid543174@id-543174.helmsley.irccloud.com)
15:03:44 × abiss27 quits (~abiss27@user/abiss) (Quit: hasta la vista... tchau!)
15:03:52 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 250 seconds)
15:04:11 <janus> KingoftheHomeles: it seems stupid, but have you tried giving kind signatures? because this resolved an issue in swagger2: https://github.com/GetShopTV/swagger2/pull/232/files
15:04:16 <KingoftheHomeles> The PolyKinds issue? It's more something I've experience of encountering . You can get fun stuff like "couldn't deduce 'A b' from the context 'A b'" from it. Let me see if I can cook up an example real quick.
15:04:46 <KingoftheHomeles> janus The reproducer uses kind signatures liberally, or are you talking about polykinds again?
15:05:30 <janus> well i am just still worried about whether PolyKinds includes something that isn't actually strictly for poly-kinds
15:05:46 <janus> but i guess since the Reproducer fails even with -XNoPolyKinds, that shouldn't be the case
15:06:39 <janus> i am way outta my dept :O looking forward to reading the ghc bug report though :)
15:07:11 <KingoftheHomeles> The PolyKinds issues I've had are indeed solved through kind signatures. My issue with it is that it gives rise to extremely weird error messages that give you no direction what to do, like  "couldn't deduce 'A b' from the context 'A b'". But yeah, those are not related to *this* issue.
15:07:58 <janus> right, ok
15:08:15 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
15:09:46 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
15:12:05 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
15:14:12 × neceve quits (~quassel@2.29.116.221) (Ping timeout: 246 seconds)
15:15:15 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds)
15:15:33 × Patternmaster quits (~georg@li1192-118.members.linode.com) (Changing host)
15:15:33 Patternmaster joins (~georg@user/Patternmaster)
15:15:39 gpncarl joins (~gpncarl@120.244.220.74)
15:16:45 xkuru joins (~xkuru@user/xkuru)
15:17:45 × xkuru quits (~xkuru@user/xkuru) (Remote host closed the connection)
15:18:09 xkuru joins (~xkuru@user/xkuru)
15:20:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
15:22:59 hololeap joins (~hololeap@user/hololeap)
15:24:02 × pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Quit: Lost terminal)
15:24:21 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds)
15:25:34 <abastro[m]> Instead of monadic effect handling, there could have been categorical effect handling right?
15:26:32 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
15:26:50 <dolio> What does that mean?
15:26:58 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed) (Quit: WeeChat 2.8)
15:26:58 coot joins (~coot@213.134.190.95)
15:28:44 <abastro[m]> Using Kleisli category instead of Monad
15:30:03 alp_ joins (~alp@user/alp)
15:31:38 Square is now known as Sqaure
15:32:18 <dolio> That doesn't seem like it significantly changes anything.
15:32:34 <c_wraith> it doesn't change anything, because we have <=<
15:33:40 <abastro[m]> Well, by using general categories one could generalize it for many stuffs
15:34:11 <abastro[m]> Alike arrows without `arr`
15:35:23 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
15:36:00 yauhsien joins (~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
15:37:13 <abastro[m]> `{ from :: a -> IO b, to :: b -> IO a }` could be one such category
15:38:14 <c_wraith> If you make categories the primary interface, you do have the issue that you're basically requiring everything to be done point-free
15:38:27 Guest38 joins (~Guest38@188.147.101.242.nat.umts.dynamic.t-mobile.pl)
15:39:04 Guest38 parts (~Guest38@188.147.101.242.nat.umts.dynamic.t-mobile.pl) ()
15:41:06 ec joins (~ec@gateway/tor-sasl/ec)
15:41:12 <abastro[m]> I think one might introduce points as syntax sugar/convenience feature
15:41:30 × Pickchea quits (~private@user/pickchea) (Ping timeout: 246 seconds)
15:41:47 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:42:00 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
15:42:17 <c_wraith> depending on how you do that, you're either inventing something like proc notation, or restricting your interface to be only Kleisli categories
15:42:30 <c_wraith> and proc notation is a nightmare
15:42:59 × cdman quits (~dcm@user/dmc/x-4369397) (Quit: Leaving)
15:43:27 <dolio> There's no point in introducing such syntax for arbitrary categories, because they have almost no structure.
15:43:42 <dolio> All there is is composition of arrows.
15:43:53 dvdrw joins (~dvdrw@user/dvdrw)
15:44:15 <c_wraith> like, at least Kleisli arrows guarantee you've got a function of some sort
15:44:16 <abastro[m]> Oh, arbitrary category might indeed be too simple
15:44:43 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
15:44:54 <abastro[m]> I think e.g. Choice arrow and Product arrow exists for reason
15:45:17 <KingoftheHomeles> Created the GHC issue: https://gitlab.haskell.org/ghc/ghc/-/issues/21473
15:45:17 <c_wraith> it really does seem like you're trying to reinvent Arrow and proc notation, and there's a reason that those are nearly unused
15:45:21 econo joins (uid147250@user/econo)
15:45:49 <abastro[m]> Arrow notation is nightmare, isn't it
15:46:06 <abastro[m]> I think one could do state bookkeeping tho
15:46:07 <geekosaur> the notation is fine, arr is the nightmare
15:46:29 <abastro[m]> Oh, is the notation fine?
15:47:07 <geekosaur> some people want cdhanges to it, but my understanding is that's mostly generalizing it
15:47:13 <geekosaur> (talk to Cale)
15:47:39 geranim0 joins (~geranim0@modemcable242.171-178-173.mc.videotron.ca)
15:47:45 <geekosaur> but having arr as a "backdoor" kills its usefulness
15:48:02 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
15:49:30 <abastro[m]> Indeed, I can not think of good arrow usage with `arr`
15:49:45 <abastro[m]> If you have `arr`, it would already be too powerful
15:49:59 × benin quits (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat)
15:50:17 <geekosaur> actually arr weakens it. arr is most uesful when you can inspect an arrow, but arr injects black boxes
15:50:30 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
15:51:02 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:51:13 <abastro[m]> Right, I mean it depends on perspective
15:51:57 <abastro[m]> Too powerful for users, too weak for implementors (hard to implement)
15:52:15 × cosimone quits (~user@2001:b07:ae5:db26:81ac:79ad:125a:4a01) (Remote host closed the connection)
15:52:43 × KingoftheHomeles quits (~Kingofthe@89-233-195-143.cust.bredband2.com) (Quit: Client closed)
15:53:44 × xff0x_ quits (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer)
15:55:52 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
15:56:22 mikoto-chan joins (~mikoto-ch@213.177.151.239)
15:57:01 <albet70> what's an "arrow"?
15:58:22 <geekosaur> which part of that conversation do you mean? Arrows in the Haskell sense are defined by Control.Arrow
15:58:37 × coot quits (~coot@213.134.190.95) (Quit: coot)
15:58:50 <geekosaur> there was also a mention of categorical arrows, which… being categorical, are somewhat difficult to characterize :)
15:59:27 jakalx joins (~jakalx@base.jakalx.net)
15:59:32 <albet70> Control.Arrow
15:59:53 <albet70> what's its purpose?
16:00:18 <geekosaur> you could say it's an abstraction looking for a purpose :)
16:00:49 <geekosaur> but as designed… like c_wraith said above, there's a reason it's nearly unused
16:01:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
16:01:05 <Rembane> It has been looking for a very long time now, and every time there seems to be a good fit something else that actually works well shows up.
16:03:22 <Cale> abastro[m], geekosaur: It's not so much the existence of arr, but the reliance on it in order to route results around between computations which makes it so bad. If you add in some other bits, then arr can *mostly* be avoided (except when you really do want to do some arbitrary computation), and that tends to be good enough.
16:04:20 <Cale> Though, it really does belong in its own class. The rest of the stuff in Arrow is basically the setup for a symmetric monoidal category (with (,) as the product on objects).
16:04:31 <geekosaur> ^ albet70 here's who you really want to talk to if you want to know about Arrows
16:04:35 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
16:04:49 <Cale> There are better realizations of that idea on Hackage now, though the proc/do syntax never got updated to work with any of them.
16:06:21 Sinbad joins (~Sinbad@user/sinbad)
16:06:27 tromp joins (~textual@77.249.230.40)
16:09:02 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
16:10:06 <abastro[m]> Is bookkeeping intermediate "state" an option
16:10:12 × raym quits (~raym@user/raym) (Ping timeout: 248 seconds)
16:11:09 <Cale> You mean in the same sense as the State monad?
16:11:16 <Cale> (then yes)
16:11:26 mvk joins (~mvk@2607:fea8:5ce3:8500::aa1d)
16:11:42 <abastro[m]> Similar as State monad, yea
16:11:59 <abastro[m]> But instead it is categorical
16:12:01 <Cale> Though, I would want Arrow to have laws which would forbid that instance :)
16:12:19 <Cale> (but it explicitly doesn't)
16:12:53 <abastro[m]> Like composing... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/8ede47d8f4f464ddccbcac3cea6c141e0fe0d8c5)
16:12:57 <Cale> Specifically, it's fairly essential for being able to reason about what's going on in an Arrow computation that (f >>> g) *** (h >>> k) = (f *** h) >>> (g *** k)
16:13:02 <abastro[m]> Each `si` serves as an intermediate state
16:13:33 <Cale> newtype StateA s a b = StateA { runStateA :: (s,a) -> (s,b) }
16:13:48 <abastro[m]> Oh I do not mean StateA
16:14:12 <abastro[m]> (Tho I guess it is sad how StateA is unlawful)
16:15:39 <abastro[m]> I was thinking of how to use categories more ergonomically
16:15:48 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 250 seconds)
16:17:32 arjun joins (~arjun@user/arjun)
16:18:32 <Cale> Oh, yeah... the best experiment I've seen in that direction is Conal's "concat"
16:18:57 <Cale> https://github.com/conal/concat
16:19:18 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 246 seconds)
16:19:48 × nut quits (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5)
16:20:21 <Cale> Where you can basically write Haskell code (lambdas, etc.) and have it translated into code that works in an arbitrary category that satisfies a bunch of constraints that depend on what features you used.
16:20:32 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
16:23:54 <abastro[m]> Hmm, sounds quite ambitious
16:24:24 <abastro[m]> I wonder if it would work well
16:24:43 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:25:02 <Cale> Yeah, I wouldn't be comfortable trying to put it into production yet, but the idea seems quite solid.
16:25:19 wootehfoot joins (~wootehfoo@user/wootehfoot)
16:25:54 <EvanR> you got your code, which is simply a sentence in a language. Then you got your interpretation. In programming you don't immediately learn that they are different xD
16:26:09 <EvanR> and can even be mixed and matched
16:27:10 eternalforms joins (~obsrwr@46.101.168.131)
16:27:47 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 240 seconds)
16:28:41 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 248 seconds)
16:30:50 raym joins (~raym@user/raym)
16:31:10 × MajorBiscuit quits (~MajorBisc@145.94.235.5) (Quit: WeeChat 3.4)
16:32:24 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:32:25 × Sinbad quits (~Sinbad@user/sinbad) (Ping timeout: 256 seconds)
16:34:45 coot joins (~coot@213.134.190.95)
16:38:45 neceve joins (~quassel@2.29.116.221)
16:39:25 x_kuru joins (~xkuru@user/xkuru)
16:42:45 × xkuru quits (~xkuru@user/xkuru) (Ping timeout: 260 seconds)
16:43:11 × alp_ quits (~alp@user/alp) (Ping timeout: 260 seconds)
16:47:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
16:47:25 Sinbad joins (~Sinbad@user/sinbad)
16:47:34 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
16:51:47 × x_kuru quits (~xkuru@user/xkuru) (Ping timeout: 240 seconds)
16:52:50 Tuplanolla joins (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi)
16:56:16 <Bulby[m]> how do you debug where an app crashed
16:56:52 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
16:58:36 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
17:00:18 × mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 260 seconds)
17:02:03 <Bulby[m]> i see the people on discord use "dumpcore"
17:05:34 werneta joins (~werneta@137.79.197.49)
17:05:46 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
17:08:26 <EvanR> in its purest form, you read the message printed out during the crash
17:08:33 <EvanR> if any
17:08:44 <Bulby[m]> there is no message
17:08:59 <EvanR> my sympathies
17:12:33 <EvanR> as a pessimistic programmer I'm hyper paranoid about stuff like that, so any place I intentionally cause a crash, I put a message.
17:12:59 <Bulby[m]> right
17:13:00 Bulby[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/90a36f3a354783143c8487b37d9d7207778c8a7b
17:13:18 <EvanR> for code I didn't write, a review what kind of exceptions it can throw, or even check for flagrant non totalities
17:13:19 <Bulby[m]> i should use pactl, not pamixer
17:17:58 <Bulby[m]> are there regexs for haskell
17:18:10 <Bulby[m]> output of pactl is not nice
17:18:29 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
17:18:29 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
17:18:29 wroathe joins (~wroathe@user/wroathe)
17:18:37 <Rembane> Bulby[m]: There are regexen for Haskell, but we prefer parser combinators
17:19:00 <Bulby[m]> that's what I figured
17:19:11 <dminuoso> If you're curious, the least offending regexp library I have found so far is pcre-heavy
17:19:47 <dminuoso> While parser combinators are certainly far more robust and feature rich, sometimes its convenient to just have a one-liner do "the morally right thing"
17:19:51 <Bulby[m]> well i already know how to write parser combinator stuff
17:20:08 <Bulby[m]> the morally right thing?
17:20:46 <gabriel_sevecek> Hey, I'm experimenting with twain and I'm wondering what do you haskellers use for auto rebuild of the dev server?
17:21:11 <dminuoso> Well, it's certainly convenient to quickly cook up a regular expression. It takes a few seconds to write, might have some rare-or-will-never-trigger edge case, will probably perform not as nicely, backtracking introduces certain DoS angles - but honestly most of the time these are just philosophical issues.
17:21:20 × x88x88x quits (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Remote host closed the connection)
17:21:41 <dminuoso> gabriel_sevecek: You can trivially use ghcid to that effect.
17:21:44 × coot quits (~coot@213.134.190.95) (Quit: coot)
17:22:02 <dminuoso> Note, you will have to go a bit further than the default (which just compiles it with ghci)
17:22:59 <dminuoso> I think this is one of the things that prevents adoption of Haskell - the lack of general tools to do simple and common tasks easily.
17:23:09 <gabriel_sevecek> I tried 'ghcid --command "cabal run thething"', that did not work
17:23:22 <gabriel_sevecek> But I will investigate more
17:23:25 <gabriel_sevecek> Thanks dminuoso
17:23:30 <dminuoso> gabriel_sevecek: https://binarin.ru/post/auto-reload-threepenny-gui/
17:23:34 <dminuoso> Might give you some helpful pointers
17:24:23 <gabriel_sevecek> Cool
17:25:51 <dminuoso> In Python, you are exposed to simple tools to just do data crunching. Cooking up a program to take some text encoded data, and extract/process it, takes way less effort than in Haskell. I mean yes, to some degree it's not scalable and more brittle
17:25:58 <dminuoso> But sometimes that's perfectly fine
17:27:38 x88x88x joins (~x88x88x@149.28.53.172)
17:32:24 × tromp quits (~textual@77.249.230.40) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:35:15 <Bulby[m]> solution to that issue: don't change code, just install pamixer 😄
17:35:50 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
17:36:05 <Bulby[m]> wait my wireless isn't down
17:36:11 × ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:2d0b:56d2:55c6:6429) (Remote host closed the connection)
17:36:45 pgib joins (~textual@173.38.117.66)
17:39:06 <gabriel_sevecek> dminuoso: Was pretty easy with the link you've posted, thanks again
17:45:36 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 276 seconds)
17:49:36 Frinasa[m] is now known as Frikraaa[m]
17:49:37 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
17:51:38 × worldhelloworld1 quits (uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
17:51:39 acidjnk joins (~acidjnk@p200300d0c7033b32e85f61ca0273fe05.dip0.t-ipconnect.de)
17:53:11 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
17:53:32 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
17:55:34 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
17:58:00 × irfan quits (~irfan@user/irfan) (Quit: leaving)
17:58:21 hololeap joins (~hololeap@user/hololeap)
17:59:47 <danso> is there a conventional way to get a 3-bit integer, like a data type (an enum) with 8 constructors?
18:00:42 <dminuoso> You can use just that, a data type with 8 constructors.
18:01:12 <dminuoso> And that's the idiomatic way as well.
18:01:30 <dminuoso> Or a newtype hidden Word8 with smart constructors
18:01:38 <dminuoso> Depends a bit on what you want to do with it
18:02:37 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:04:47 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds)
18:07:10 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
18:07:28 coot joins (~coot@213.134.190.95)
18:07:51 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
18:08:17 × Sinbad quits (~Sinbad@user/sinbad) (Quit: WeeChat 3.5)
18:13:20 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
18:17:05 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:18:07 <EvanR> also, Three Bool xD
18:18:21 alp_ joins (~alp@user/alp)
18:19:38 Pickchea joins (~private@user/pickchea)
18:19:46 <EvanR> also Maybe (Maybe (Maybe (Maybe (Maybe (Maybe (Maybe ()))))))
18:20:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
18:20:08 <monochrom> Unfortunately, for now 3 bools take up 8*3 bytes.
18:20:36 <exarkun> at least it's not 28*3 bytes
18:20:38 <EvanR> that's an improvement
18:21:07 <EvanR> GHC 10 will make 3 bools = 3 bits
18:21:14 <EvanR> GHC 11 will make 3 bools = 2 bits
18:21:28 <exarkun> Can't wait for GHC 12 then
18:21:34 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
18:21:43 <monochrom> onoes
18:22:08 <monochrom> GHC 12 will do quantum computing by the holographic principle, I guess.
18:22:28 <monochrom> And GHC 13 will prove P=NP.
18:22:28 <EvanR> compression tech can't go beyond 2 bits, sorry
18:22:39 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
18:22:39 <exarkun> _Current_ compression tech, EvanR
18:22:58 <monochrom> Yeah understood, it stops at the holographic principle >:)
18:23:19 <EvanR> GHC 13 runs on a black hole
18:23:37 ChaiTRex joins (~ChaiTRex@user/chaitrex)
18:24:51 hololeap joins (~hololeap@user/hololeap)
18:25:54 <monochrom> 3bools1bit --- like 3blue1brown but computer science >:)
18:27:14 <monochrom> "here is a visual analogy of the curry-howard isomorphism"
18:30:42 <Bulby[m]> 3 bool?
18:30:52 <Bulby[m]> Three Bool
18:31:36 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
18:33:13 mvk joins (~mvk@2607:fea8:5ce3:8500::aa1d)
18:40:50 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:45:29 × arjun quits (~arjun@user/arjun) (Remote host closed the connection)
18:52:21 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:58:20 seydar joins (~seydar@154-27-113-252.starry-inc.net)
18:58:50 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
19:00:17 × neceve quits (~quassel@2.29.116.221) (Remote host closed the connection)
19:02:16 jakalx parts (~jakalx@base.jakalx.net) ()
19:03:56 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:04:35 jakalx joins (~jakalx@base.jakalx.net)
19:11:34 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
19:14:23 hololeap joins (~hololeap@user/hololeap)
19:14:51 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
19:17:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
19:18:51 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
19:19:28 julian joins (~julian@20.83.116.49)
19:19:54 <seydar> decoding images seems... kinda tough
19:22:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
19:22:53 <seydar> i'm gonna use the juicy pixels library -- is that the crowd favorite?
19:25:00 <EvanR> juicy pixels is great
19:25:07 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds)
19:25:37 hololeap joins (~hololeap@user/hololeap)
19:25:53 gpncarl joins (~gpncarl@120.244.220.74)
19:26:32 <EvanR> it hits a sweet spot where the type system is guiding you without being over the top
19:27:36 <Bulby[m]> I LOVE THE TYPE SYSTEM
19:28:35 janus parts (janus@anubis.0x90.dk) ()
19:30:21 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 256 seconds)
19:34:15 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
19:34:37 <seydar> i suppose i shouldn't be shocked at how complex it is to read an image
19:34:44 <seydar> these formats are not for the faint of heart
19:35:02 <dolio> bmp is probably easy, right?
19:40:20 <dolio> Oh no, ppm is the easy one.
19:41:24 ss4 joins (~wootehfoo@user/wootehfoot)
19:41:25 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:42:12 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:42:14 × oxide quits (~lambda@user/oxide) (Quit: oxide)
19:42:39 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds)
19:42:39 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
19:42:58 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Remote host closed the connection)
19:43:06 metabulation joins (~wootehfoo@user/wootehfoot)
19:43:52 <EvanR> truevision targa for life xD
19:44:50 <dolio> That one looks more complicated.
19:45:35 <seydar> I'm trying to do a DCT on an image (implementing blurhash as an exercise), but i'm kinda... stuck, type-wise. I get `Either String DynamicImage`, but I'm unable to figure out how to get a DynamicImage into a CArray for use with the FFT library
19:45:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
19:46:11 <EvanR> case analysis on DynamicImage to recover the true data, which you may find to be impossible because it's not in your expected format
19:46:41 <EvanR> react accordingly
19:47:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
19:47:05 × ss4 quits (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds)
19:47:23 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
19:48:57 <EvanR> once you have the vector of encoded pixels you'll probably have to copy them into the structure needed by FFT, types unlikely to exactly match
19:51:12 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
19:56:56 <seydar> EvanR: ah! i found convertRGBA16! this feels like step one
19:57:21 <seydar> that gets me out of DyanmicImage, and hopefully i can use the `toListOf imagePixels` curried function
19:57:46 <EvanR> conversion? I guess
19:57:58 <EvanR> list? I'm pretty skeptical
19:58:35 <EvanR> like I said the basic way to consume a DynamicImage is with case analysis
19:58:35 anomal joins (~anomal@87.227.196.109)
19:58:47 <seydar> https://github.com/phadej/JuicyPixels-scale-dct/blob/6ea69ac4baf4777f1129dbb7e5a7d8e3739dae4e/src/Codec/Picture/ScaleDCT.hs#L125
20:00:23 × dsrt^ quits (~dsrt@50.227.69.228) (Ping timeout: 256 seconds)
20:00:38 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:01:57 <danso> i'm using Parsec on a ByteString stream. is it weird that the Stream instance reads the bytestring Char-by-Char instead of Word8-by-Word8 ? i feel like you might get surprising results with binary data.
20:02:34 <danso> for now i'm changing my Stream type to [Word8] and passing in a `ByteString.unpack`ed version instead
20:02:48 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:05:00 × alp_ quits (~alp@user/alp) (Ping timeout: 240 seconds)
20:05:15 <EvanR> it just depends what reading Chars from a bytestring means
20:05:56 <EvanR> if it's binary data, it sounds wrong regardless xD
20:06:12 <tomsmeding> danso: have you considered using attoparsec
20:07:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
20:07:14 <tomsmeding> it's like parsec, but on bytestrings :p
20:08:48 <seydar> EvanR: okay turns out `toListOf` is a function from that file i linked that is based on lenses and i could not possibly derive it myself
20:09:28 × deadmarshal_ quits (~deadmarsh@95.38.117.99) (Ping timeout: 260 seconds)
20:10:18 hololeap joins (~hololeap@user/hololeap)
20:11:16 alp_ joins (~alp@user/alp)
20:12:06 <danso> i will now tomsmeding, thanks. i have heard of it before but didn't realize it was basically made for my use-case
20:13:23 <EvanR> seydar, the payloads of the various DynamicImage results contain vectors, which are arrays of pixels. Which sounds like what you need
20:13:34 <EvanR> as well as image width and height
20:13:42 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Remote host closed the connection)
20:13:48 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
20:14:29 yauhsien joins (~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
20:16:05 <seydar> EvanR: yep yep, seeing that now. granted, they're packed lines, so i'm trying to decide the best way to grapple with them. given that i'm ultimately seeking a CArray, and I don't want to use the lens stuff that the sample code is using, i'm looking for more intuitive and less efficient ways to get the pixels into a CArray
20:16:20 × anomal quits (~anomal@87.227.196.109) (Ping timeout: 252 seconds)
20:16:51 <EvanR> what's a CArray
20:17:03 <EvanR> other than the obvious
20:18:18 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
20:18:29 <tomsmeding> seydar: can't you use pixelAt https://hackage.haskell.org/package/JuicyPixels-3.3.7/docs/Codec-Picture.html#v:pixelAt
20:18:57 <tomsmeding> convertRGB16 gives you an 'Image PixelRGB16'
20:18:58 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:19:00 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 276 seconds)
20:19:15 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
20:20:40 jmdaemon joins (~jmdaemon@user/jmdaemon)
20:21:03 <tomsmeding> and PixelRGB16 implements that Pixel class
20:21:06 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
20:21:44 <EvanR> or just convert the array directly
20:21:54 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:22:08 <EvanR> whatever CArray is, it probably has a thing to load raw data
20:22:29 <tomsmeding> EvanR: I think seydar means 'Ptr Char'
20:22:49 <EvanR> no no nonoono
20:23:22 <tomsmeding> ah no it seems to be this thing https://hackage.haskell.org/package/carray-0.1.6.8/docs/Data-Array-CArray-Base.html#t:CArray
20:23:39 <EvanR> nicer
20:23:49 <tomsmeding> so 'ForeignPtr (Complex r)', not too far off :p
20:23:54 <tomsmeding> https://hackage.haskell.org/package/fft-0.1.8.7/docs/Math-FFT.html
20:24:38 <EvanR> fastest fourier transform in the west. China has something better?
20:25:42 <tomsmeding> presumably what seydar wants is to undo the row padding that juicypixels probably adds
20:25:59 <tomsmeding> but 'fft' is not super clear on its input format, and I'm too lazy to look up the fftw docs again :p
20:26:23 <seydar> EvanR, tomsmeding: i'm a simple man: just trying to use this https://hackage.haskell.org/package/fft-0.1.8.7/docs/Math-FFT.html
20:26:37 <tomsmeding> seydar: so I guessed correctly
20:27:56 <seydar> tomsmeding: whoops, missed it. yes, you did
20:28:14 segfaultfizzbuzz joins (~segfaultf@135-180-12-202.fiber.dynamic.sonic.net)
20:28:48 <segfaultfizzbuzz> okay, theory-ish question here:
20:28:48 <EvanR> I have not noticed juicy pixels adding any row padding
20:29:05 <EvanR> if anything it would unadd row padding if that is what the file format uses
20:29:10 <segfaultfizzbuzz> is it "hard" to (automatically) prove the equivalence of functions?
20:29:11 <seydar> "Internally pixel data is stored as consecutively packed lines from top to bottom, scanned from left to right within individual lines, from first to last color component within each pixel."
20:29:23 dsrt^ joins (~dsrt@50.227.69.228)
20:30:05 <EvanR> it's a 1D array expressing a 2D grid of pixels
20:30:06 <segfaultfizzbuzz> so i have function f, and somebody hands me function g. the question is, can f and g be interchanged. if you like we can talk about pure functions to keep things simpler to begin with
20:30:23 <tomsmeding> seydar: looking at the definition of pixelAt for PixelRGBA16 (and PixelRGB16, too) it seems the pixel data is just packed tightly as one would expect: row-major order, two bytes r, two bytes g, two bytes b, two bytes a, next pixel etc.
20:30:24 <seydar> okay, so I was afraid of the word "packed" for no good reason
20:30:49 <tomsmeding> so I mean you could hand-write the conversion to Complex if you don't like to use pixelAt for some reason
20:31:26 <tomsmeding> segfaultfizzbuzz: in general impossible, if we may assume nothing about the domain and codomain types of the functions
20:31:57 <dminuoso> segfaultfizzbuzz: Intrinsic or extrinsic equivalence?
20:31:58 <tomsmeding> in fact the 'functional extensionality' axiom describes the ability to do just that, and it's usually _not_ assumed (but sometimes is)
20:32:04 <tomsmeding> but yes that
20:32:06 <dminuoso> The former is trivial, but not necessarily useful
20:32:19 <segfaultfizzbuzz> i don't know the difference between intrinsic and extrinsic equivalence
20:32:27 <EvanR> prove equivalence... decide equivalence... ?
20:32:28 <tomsmeding> black boxes or do you have the implementation
20:32:35 <dminuoso> intrinsic equivalence is about the internals, whether the implementation is the same.
20:33:00 <segfaultfizzbuzz> i suppose i am interested in both questions
20:33:24 <EvanR> if someone hands you two concrete functions you maybe can prove something, another question is if a program could take two functions as input and spit out a proof
20:33:34 <dminuoso> extrinsitic equivalence can of course be tested, in case of a finite domain this is easy, in case of an infinite domain you can only hope to find a counter example.
20:33:42 × x88x88x quits (~x88x88x@149.28.53.172) (Remote host closed the connection)
20:33:46 <tomsmeding> I mean, are 'return 42' and 'if collatzCounterExampleExists then return 42 else return 10' equal :p
20:33:49 <segfaultfizzbuzz> that being said i would probably be interested in "reasonable" restrictions. for example, we may assume a finite number of bits are involved (and a fixed maximum if necessary)
20:34:00 <dminuoso> Then you can simply try them all out.
20:34:08 <segfaultfizzbuzz> right but age of universe blah blah
20:34:21 <EvanR> the size of the function isn't as important as the size of the input space
20:34:43 <tomsmeding> there is some wonkyness even with infinite types though: http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/
20:34:44 <segfaultfizzbuzz> right, we can bound the size of the input (and output) space in number of bits
20:35:01 <tomsmeding> if the input type is [Bool], then you can _still_ decide equality, IF you assume that your functions are total
20:35:07 <EvanR> this question is getting more and more contrived xD
20:35:22 <EvanR> let's say the functions can only operate on C ints
20:35:27 <geekosaur> you pretty much have to contrive it to say anything about it
20:35:28 <EvanR> on a pentium 2
20:35:32 <geekosaur> other than "mu"
20:35:50 <[exa]> segfaultfizzbuzz: in the infinite memory case, rice theorem shows the incomparability pretty well. In the finite case you often get a testing time very exponential in the size of available storage, which gets prohibitive (note that for testing all of 256bit storage you need to burn all electrons in observable universe)
20:36:12 <dminuoso> tomsmeding: of course, but thats getting into manual labor territory now.
20:36:17 <segfaultfizzbuzz> by storage you mean the number of input bits to the function is 256 bits?
20:36:18 <tomsmeding> :p
20:36:48 <dminuoso> I recall a haskell library giving us equality on functions over finite domains
20:36:48 <EvanR> are we headed for classical logic or finitism, can't tell
20:36:51 <dminuoso> What was that library called?
20:36:52 brooke2k joins (~brooke2k@128.226.162.210)
20:36:55 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
20:37:05 <[exa]> segfaultfizzbuzz: no, literally all available storage (you need to track internal state to see whether the function has diverged or not)
20:37:22 <geekosaur> @hackage universe
20:37:22 <lambdabot> https://hackage.haskell.org/package/universe
20:37:30 <dminuoso> That's the one, cheers geekosaur
20:37:53 <segfaultfizzbuzz> okay here is another way of looking at this question:
20:38:23 <EvanR> so that package answers segfaultfizzbuzz's question directly
20:38:24 <segfaultfizzbuzz> are there "reasonable restrictions" on f and g such that we can prove equivalence (in a reasonable amount of time, such as an hour or a day on a ~$1000 computer)
20:38:51 <[exa]> segfaultfizzbuzz: yes, many. For example the simply typed subset of lambda calculus
20:38:54 <segfaultfizzbuzz> for example, f maps 64 bits to 64 bits, as does g, and we have access to their definitions
20:39:32 <segfaultfizzbuzz> "simply typed" ?
20:39:49 <[exa]> precisely as in https://en.wikipedia.org/wiki/Simply_typed_lambda_calculus
20:40:08 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
20:40:48 × coot quits (~coot@213.134.190.95) (Quit: coot)
20:41:49 y04nn joins (~y04nn@2001:ac8:28:93::a15e)
20:42:01 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
20:42:35 x88x88x joins (~x88x88x@149.28.53.172)
20:43:19 × riatre quits (~quassel@2001:310:6000:f::5198:1) (Ping timeout: 240 seconds)
20:43:23 <[exa]> (actually, wait, the STLC allows you to dodge infinity problems, but you can still encode numbers in it, allowing the programs to take exponential time to compute)
20:43:23 <tomsmeding> segfaultfizzbuzz: no, let f () = 'if collatzCounterExampleExists then return 1 else return 0'
20:43:27 <tomsmeding> f :: () -> Bit
20:43:29 riatre joins (~quassel@2001:310:6000:f::5198:1)
20:44:11 <tomsmeding> okay that one is not STLC, so use collatzCounterExampleExistsBelowN with some arbitrarily large number, takes arbitrarily long time (probably)
20:44:31 <[exa]> +1 ^
20:44:59 <EvanR> what is this finitist nonsense
20:45:00 × dsrt^ quits (~dsrt@50.227.69.228) (Ping timeout: 276 seconds)
20:45:15 × brooke2k quits (~brooke2k@128.226.162.210) (Quit: Client closed)
20:45:21 dsrt^ joins (~dsrt@50.227.69.228)
20:45:21 <dminuoso> segfaultfizzbuzz: By the way, without restrictions, this problem is equivalent to the halting problem. A general algorithm that determines the extrinsic equivalent for any two functions cannot exist.
20:45:22 <EvanR> you're ruining my theoretical purity
20:45:44 <dminuoso> (See rice's theorem)
20:45:48 <[exa]> EvanR: no worries our finitism is infinitely extensible
20:45:58 <EvanR> ok good
20:46:34 <dminuoso> Is there tooling to quickly list all licenses of a dependency closure?
20:46:56 <dminuoso> Or does cabal have some mechanisms to validate whether a given license is compatible with dependencies?
20:47:25 <geekosaur> https://hackage.haskell.org/package/licensor ?
20:47:39 <tomsmeding> sounds not too hard to use cabal-plan to get transitive dependency tree, 'ghc-pkg describe' to get the fields, and get the license identifier from there
20:47:51 <geekosaur> cabal itself does not. I don't think SPDX considers license compatibility
20:48:02 <segfaultfizzbuzz> ah equivalence to halting is interesting
20:48:45 <dminuoso> Ahh thanks
20:49:02 <dminuoso> geekosaur: That link let me to some more links, and then some. Then I found a note that cabal-plan can do this.
20:49:14 <segfaultfizzbuzz> so then we might add the restriction that f and g are both known to be total
20:49:15 <dminuoso> With flag license-report it has the command license-report
20:49:31 <dminuoso> cabal-dependency-licenses also appears to exist.
20:49:52 <geekosaur> but seemed somewhat old and I think pre-SPDX which should simplify things
20:49:52 <dminuoso> But given that I have cabal-plan everywhere anyway, I guess Ill just rebuild that with that flag
20:50:14 <[exa]> segfaultfizzbuzz: totality only gives you a certain, but basically unrestricted upper bound on how long the check takes
20:50:43 <tomsmeding> [exa]: doesn't it only give you the upper bound of "not infinite"
20:50:46 <geekosaur> ackermann function is total, but for most inputs takes longer than the lifetime of the universe
20:51:02 <tomsmeding> which is not a particularly useful bound in practice :p
20:51:11 <[exa]> tomsmeding: yes
20:51:33 <segfaultfizzbuzz> hmm, so f and g have fixed wallclock maximum execution time?
20:51:34 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
20:51:35 MoY joins (~MoY@139.59.225.128)
20:51:40 <[exa]> segfaultfizzbuzz: in short, general programs are evil.
20:52:04 <segfaultfizzbuzz> is there a more uh "strict" restriction than totality?
20:52:33 <tomsmeding> why are you asking? :p
20:53:02 <dminuoso> EvanR | this question is getting more and more contrived xD
20:53:10 <segfaultfizzbuzz> so i can understand what a function is. but i can stop polluting the room if you like
20:53:21 <[exa]> segfaultfizzbuzz: any smaller complexity classes help, e.g. just PSPACE (usually simple to reach for many algorithms) restricts your program to NP-like running time
20:53:31 <tomsmeding> segfaultfizzbuzz: a mathematical function or a Haskell program?
20:53:43 <[exa]> ( segfaultfizzbuzz: we can migrate to #-offtopic if required )
20:53:48 <dminuoso> We can also talk about intrinsic equivalence, because even that has shades of grey.
20:54:02 <dminuoso> We can have equivalence up to any number of isomorphisms.
20:54:19 <EvanR> the goal post is taking the form of an atomic orbital
20:54:36 hololeap joins (~hololeap@user/hololeap)
20:55:01 <sclv> there's a beautiful branch of math known as recursion theory and a whole collection of hierarchies of strength
20:55:13 <segfaultfizzbuzz> if you want a better question, here is my attempt: "what are the minimal (known?) restrictions on f and g such that my computer can probably prove they are equivalent?"
20:55:16 <sclv> one of the most basic places to start is primitive recursive functions https://en.wikipedia.org/wiki/Primitive_recursive_function
20:55:24 <dminuoso> "probably"?
20:55:42 anomal joins (~anomal@87.227.196.109)
20:55:46 <EvanR> greater than 50 50 chance
20:55:58 <dminuoso> Oh, so now we want a probability algorithm?
20:56:05 <dminuoso> I cant fathom how we got here
20:56:23 <segfaultfizzbuzz> ok, sounds like the room is unhappy, i will move to offtopic. thanks for indulging folks
20:56:46 <[exa]> I guess we meant "provably" ?
20:57:19 <segfaultfizzbuzz> see #haskell-offtopic, thanks folks
20:57:40 <EvanR> probability does come up in some examples of non computable numbers, functions
20:57:51 <EvanR> somehow
20:57:55 <dminuoso> If we just want a probalistic algorithm, I can give you one
20:58:05 <dminuoso> equivalent f g = False
20:58:21 <dminuoso> I guarantee, for a truly random choice of `f` and `g`, this will most of the time be right.
20:58:27 × MoY quits (~MoY@139.59.225.128) (Quit: Client closed)
20:58:27 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
21:02:07 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
21:03:18 abrantesasf joins (~abrantesa@179.217.49.34)
21:03:57 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
21:06:23 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
21:06:47 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:16:17 × romesrf quits (~romes@185.5.8.134) (Quit: WeeChat 3.4.1)
21:18:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:18:16 vicfred joins (~vicfred@user/vicfred)
21:19:08 × michalz quits (~michalz@185.246.204.126) (Remote host closed the connection)
21:21:00 hololeap joins (~hololeap@user/hololeap)
21:25:23 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:25:33 × stevenxl quits (~stevenxl@c-73-72-2-81.hsd1.il.comcast.net) (Ping timeout: 246 seconds)
21:30:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:34:17 hololeap joins (~hololeap@user/hololeap)
21:34:36 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds)
21:36:12 <tdammers> given that there are infinitely many functions out there, for a truly random choice, it will *always* be right
21:36:36 <tdammers> (fsvo of "infinite", "truly", "random", "choice", and "always")
21:36:53 deadmarshal_ joins (~deadmarsh@95.38.228.138)
21:37:10 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
21:37:32 jpds joins (~jpds@gateway/tor-sasl/jpds)
21:39:04 × mmhat quits (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5)
21:41:25 × deadmarshal_ quits (~deadmarsh@95.38.228.138) (Ping timeout: 260 seconds)
21:43:19 <dminuoso> Ill let Cantor sort out the details.
21:44:10 <dminuoso> tdammers: Since this is Haskell code, and the universe inside the cosmic horizon is finite in terms of matter that we can use to build a computer from, there's only a finite number of functions we can represent and thus test.
21:44:37 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:45:58 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1)
21:46:17 <monochrom> I might just run Quickcheck for probable checks.
21:47:15 <monochrom> I think I understand the meaning and motivation of the original question, but it was worded poorly.
21:47:57 <monochrom> But there is a pun opportunity for s/I think I/I probably/ heh
21:51:12 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:56:54 × stackdroid18 quits (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!)
21:58:48 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:04:16 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
22:04:37 jpds joins (~jpds@gateway/tor-sasl/jpds)
22:06:15 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 276 seconds)
22:07:05 × dsrt^ quits (~dsrt@50.227.69.228) (Ping timeout: 260 seconds)
22:10:36 × y04nn quits (~y04nn@2001:ac8:28:93::a15e) (Ping timeout: 240 seconds)
22:11:34 dsrt^ joins (~dsrt@50.227.69.228)
22:16:23 justsomeguy joins (~justsomeg@user/justsomeguy)
22:23:08 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
22:23:17 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Quit: leaving)
22:25:50 × dvdrw quits (~dvdrw@user/dvdrw) (Quit: leaving)
22:27:02 × finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer)
22:27:14 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:27:41 finsternis joins (~X@23.226.237.192)
22:30:27 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:31:37 gpncarl joins (~gpncarl@120.244.220.74)
22:33:26 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
22:34:07 × acidjnk quits (~acidjnk@p200300d0c7033b32e85f61ca0273fe05.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:34:57 machinedgod joins (~machinedg@24.105.81.50)
22:35:48 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 248 seconds)
22:36:31 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
22:45:06 <EvanR> for every math question answered with a physics answer god defenetrates a kitten
22:46:31 <monochrom> :(
22:46:47 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:49:38 × cynomys quits (~cynomys@user/cynomys) (Quit: leaving)
22:54:42 <monochrom> Ah, is the number of kittens defenestrated this way bounded or unbounded? Is this a math question or a physics question? >:)
22:55:19 <EvanR> or is it a sports question
22:55:31 <monochrom> heh
22:56:09 <hpc> does answering a physics question with math refenestrate the kitten?
22:56:36 <EvanR> that's the standard account for where kittens come from
22:57:38 <EvanR> (refenestration sounds like a plausible jargon for something in DSP)
22:59:27 <hpc> hah
23:04:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
23:04:06 × abrantesasf quits (~abrantesa@179.217.49.34) (Remote host closed the connection)
23:06:44 × werneta quits (~werneta@137.79.197.49) (Ping timeout: 248 seconds)
23:07:05 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
23:07:19 hololeap joins (~hololeap@user/hololeap)
23:09:12 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Remote host closed the connection)
23:10:56 × segfaultfizzbuzz quits (~segfaultf@135-180-12-202.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds)
23:11:14 elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
23:25:20 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Remote host closed the connection)
23:27:20 elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
23:31:27 pavonia joins (~user@user/siracusa)
23:32:09 werneta joins (~werneta@137.79.197.49)
23:36:40 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Remote host closed the connection)
23:37:09 × werneta quits (~werneta@137.79.197.49) (Ping timeout: 246 seconds)
23:38:39 elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
23:40:21 segfaultfizzbuzz joins (~segfaultf@135-180-12-202.fiber.dynamic.sonic.net)
23:40:53 ec joins (~ec@gateway/tor-sasl/ec)
23:42:27 stackdroid18 joins (14094@user/stackdroid)
23:45:05 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 260 seconds)
23:49:36 × segfaultfizzbuzz quits (~segfaultf@135-180-12-202.fiber.dynamic.sonic.net) (Ping timeout: 276 seconds)
23:52:25 kimjetwav joins (~user@2607:fea8:2362:b400:6a2:6a50:da38:4a87)
23:53:47 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
23:54:02 ec joins (~ec@gateway/tor-sasl/ec)
23:54:07 werneta joins (~werneta@137.79.215.173)
23:54:16 × mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds)
23:56:02 × ec quits (~ec@gateway/tor-sasl/ec) (Client Quit)
23:56:13 ec joins (~ec@gateway/tor-sasl/ec)
23:57:27 × ec quits (~ec@gateway/tor-sasl/ec) (Client Quit)
23:57:58 ec joins (~ec@gateway/tor-sasl/ec)
23:58:05 × ec quits (~ec@gateway/tor-sasl/ec) (Client Quit)
23:58:28 ec joins (~ec@gateway/tor-sasl/ec)

All times are in UTC on 2022-05-02.