2023/10/31

2023-10-31 00:00:37 +0100 <int-e> > foldr (\x xs c -> c x (xs (:))) (\_ -> []) [1..5] (\x xs -> xs)
2023-10-31 00:00:39 +0100 <lambdabot> [2,3,4,5]
2023-10-31 00:00:45 +0100 <EvanR> is the Ω(list length) coming from this pair, in ncf's first version
2023-10-31 00:01:02 +0100 <EvanR> you have to go all the way to the end of the list first before the pair with the whole list (minus head) is ready
2023-10-31 00:01:17 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-10-31 00:01:44 +0100 <EvanR> what about a lazy pattern
2023-10-31 00:01:51 +0100 <monodoom> No, something about the fundamental limitations of using catamorphisms to obtain destructors.
2023-10-31 00:02:18 +0100 <int-e> Heck you can't even get an efficient id: foldr (:) []
2023-10-31 00:02:20 +0100 <ncf> int-e: terrifying
2023-10-31 00:02:36 +0100 <monodoom> If all you have is catamorphisms, then destructors must clone and omit one field.
2023-10-31 00:02:40 +0100 <dolio> You don't have to 'go all the way to the end,' but that version rebuilds each cons.
2023-10-31 00:03:13 +0100 <ncf> i have no idea how that works but it reminds me of hyperfunctions *shudder*
2023-10-31 00:03:17 +0100 <dolio> So if you do force the whole list, it adds cost proportional to the list size.
2023-10-31 00:03:44 +0100 <EvanR> I've having a hard time accounting for the cost of foldr (:) []
2023-10-31 00:03:46 +0100 <monodoom> See also Lambek's lemma. (Although, it just says "here is one way", it doesn't say "can't be faster".)
2023-10-31 00:04:46 +0100 <EvanR> if the cost of copying 1 node is constant, then processing a list of any length has constant cost per item... no one will notice if it's spread over infinite time
2023-10-31 00:04:50 +0100 <ncf> okay i see it. you're building an uncons function
2023-10-31 00:05:14 +0100 <int-e> Hmm, I've seen a recursion scheme that gives you access to the tail along with each list element, does that have a name?
2023-10-31 00:05:58 +0100 <dolio> They will notice when iterating the tail n times adds cost at each node proportional to n.
2023-10-31 00:06:08 +0100danza(~francesco@151.47.216.228) (Ping timeout: 258 seconds)
2023-10-31 00:06:35 +0100 <EvanR> yes, for tail
2023-10-31 00:06:45 +0100 <ncf> paramorphism?
2023-10-31 00:07:05 +0100 <ncf> https://en.wikipedia.org/wiki/Paramorphism
2023-10-31 00:07:16 +0100 <int-e> ncf: yes, thanks
2023-10-31 00:07:47 +0100 <EvanR> > let tail = snd . foldr (\x (xs, _) -> (x:xs, xs)) ([], []) in tail [1..]
2023-10-31 00:07:52 +0100 <int-e> (not a fan of the pair in their implementation, but whatever)
2023-10-31 00:07:56 +0100 <lambdabot> mueval-core: Time limit exceeded
2023-10-31 00:08:10 +0100 <EvanR> big omega of infinity
2023-10-31 00:08:17 +0100 <EvanR> can it be lazy
2023-10-31 00:08:45 +0100 <int-e> ~(xs, _)
2023-10-31 00:08:51 +0100 <EvanR> > let tail = snd . foldr (\x ~(xs, _) -> (x:xs, xs)) ([], []) in tail [1..]
2023-10-31 00:08:53 +0100 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29...
2023-10-31 00:08:54 +0100 <EvanR> NICE
2023-10-31 00:09:00 +0100 <EvanR> costs be damned
2023-10-31 00:09:03 +0100acidjnk(~acidjnk@p200300d6e72b935234b13e8bf9e96f30.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-10-31 00:09:14 +0100 <int-e> > foldr (\x xs c -> c x (xs (:))) (\_ -> []) [1..] (\x xs -> xs)
2023-10-31 00:09:17 +0100 <lambdabot> [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29...
2023-10-31 00:09:34 +0100 <EvanR> I was trying to think of that one earlier... wow
2023-10-31 00:10:16 +0100 <ncf> that foldr has type [a] -> (a -> [a] -> r) -> r if i'm not mistaken
2023-10-31 00:10:25 +0100 <ncf> :t foldr (\x xs c -> c x (xs (:))) (\_ -> [])
2023-10-31 00:10:26 +0100 <lambdabot> Foldable t => t a -> (a -> [a] -> [a]) -> [a]
2023-10-31 00:10:28 +0100 <EvanR> oof
2023-10-31 00:10:33 +0100 <EvanR> you cheater
2023-10-31 00:10:34 +0100 <ncf> ah r is forced
2023-10-31 00:10:38 +0100xstill_1(xstill@fimu/xstill)
2023-10-31 00:11:02 +0100 <EvanR> nvm, perfectly cromulent
2023-10-31 00:11:13 +0100drdo3(~drdo@bl14-14-49.dsl.telepac.pt)
2023-10-31 00:11:39 +0100orcus(~orcus@mail.brprice.uk)
2023-10-31 00:11:43 +0100tabemann__(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2023-10-31 00:11:45 +0100 <EvanR> it's hard to judge how much stuff costs with lazy evaluation because stuff that would normally take infinite time happens instantly
2023-10-31 00:11:47 +0100sefidel_(~sefidel@user/sefidel)
2023-10-31 00:11:58 +0100pieguy128(~pieguy128@65.92.163.232)
2023-10-31 00:11:58 +0100terrorjack4(~terrorjac@2a01:4f8:c17:87f8::)
2023-10-31 00:12:04 +0100 <EvanR> sounds like a feature not a bug
2023-10-31 00:12:11 +0100raoul6(~raoul@95.179.203.88)
2023-10-31 00:12:16 +0100qhong_(~qhong@rescomp-21-400677.stanford.edu)
2023-10-31 00:12:22 +0100jrm2(~jrm@user/jrm)
2023-10-31 00:12:35 +0100carter_(sid14827@id-14827.helmsley.irccloud.com)
2023-10-31 00:12:37 +0100MironZ0(~MironZ@nat-infra.ehlab.uk)
2023-10-31 00:12:50 +0100img_(~img@user/img)
2023-10-31 00:12:54 +0100mniip_(mniip@libera/staff/mniip)
2023-10-31 00:12:58 +0100alanz_(sid110616@id-110616.uxbridge.irccloud.com)
2023-10-31 00:13:05 +0100gaze_____(sid387101@id-387101.helmsley.irccloud.com)
2023-10-31 00:13:05 +0100rembo10_(~rembo10@main.remulis.com)
2023-10-31 00:13:10 +0100sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-31 00:13:22 +0100tomsmeding_(~tomsmedin@static.21.109.88.23.clients.your-server.de)
2023-10-31 00:14:02 +0100xnbya2(~xnbya@2a01:4f8:c17:cbdd::1)
2023-10-31 00:14:19 +0100maxfan8_(~max@2a01:4f8:192:5356::2)
2023-10-31 00:14:30 +0100drdo(~drdo@bl14-14-49.dsl.telepac.pt) (Killed (NickServ (GHOST command used by drdo3)))
2023-10-31 00:14:35 +0100drdo3drdo
2023-10-31 00:14:35 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 246 seconds)
2023-10-31 00:14:48 +0100raym_(~ray@user/raym)
2023-10-31 00:14:54 +0100mal1(~mal@ns2.wyrd.be)
2023-10-31 00:15:01 +0100bw___(sid2730@id-2730.ilkley.irccloud.com)
2023-10-31 00:15:22 +0100euleritian(~euleritia@dynamic-046-114-203-112.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-31 00:15:22 +0100Angelz(Angelz@angelz.oddprotocol.org) (Ping timeout: 264 seconds)
2023-10-31 00:15:22 +0100sefidel(~sefidel@user/sefidel) (Read error: Connection reset by peer)
2023-10-31 00:15:22 +0100pieguy128_(~pieguy128@65.92.163.232) (Ping timeout: 264 seconds)
2023-10-31 00:15:22 +0100gaze____(sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 264 seconds)
2023-10-31 00:15:22 +0100carter(sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 264 seconds)
2023-10-31 00:15:22 +0100bw__(sid2730@id-2730.ilkley.irccloud.com) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100img(~img@user/img) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100rembo10(~rembo10@main.remulis.com) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100tabemann_(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100jrm(~jrm@user/jrm) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100qhong(~qhong@rescomp-21-400677.stanford.edu) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100T_S____(sid501726@id-501726.uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100MironZ(~MironZ@nat-infra.ehlab.uk) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100xstill_(xstill@fimu/xstill) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100geekosaur(sid609282@xmonad/geekosaur) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100raoul(~raoul@95.179.203.88) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100krjt(~krjst@2604:a880:800:c1::16b:8001) (Ping timeout: 264 seconds)
2023-10-31 00:15:23 +0100lieven(~mal@ns2.wyrd.be) (Ping timeout: 264 seconds)
2023-10-31 00:15:24 +0100maxfan8(~max@2a01:4f8:192:5356::2) (Ping timeout: 264 seconds)
2023-10-31 00:15:24 +0100yj2(echo@user/yjj3) (Ping timeout: 264 seconds)
2023-10-31 00:15:24 +0100raym(~ray@user/raym) (Remote host closed the connection)
2023-10-31 00:15:24 +0100flocks(~flocks@134.122.90.60) (Read error: Connection reset by peer)
2023-10-31 00:15:24 +0100tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2) (Read error: Connection reset by peer)
2023-10-31 00:15:25 +0100orcus-(~orcus@mail.brprice.uk) (Ping timeout: 264 seconds)
2023-10-31 00:15:25 +0100xnbya(~xnbya@2a01:4f8:c17:cbdd::1) (Ping timeout: 264 seconds)
2023-10-31 00:15:25 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2023-10-31 00:15:25 +0100dove(~irc@2600:3c00:e000:287::1) (Ping timeout: 264 seconds)
2023-10-31 00:15:25 +0100terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Ping timeout: 264 seconds)
2023-10-31 00:15:25 +0100shane(~shane@ana.rch.ist) (Ping timeout: 264 seconds)
2023-10-31 00:15:25 +0100welterde(welterde@thinkbase.srv.welterde.de) (Ping timeout: 264 seconds)
2023-10-31 00:15:25 +0100carter_carter
2023-10-31 00:15:26 +0100raoul6raoul
2023-10-31 00:15:26 +0100sefidel_sefidel
2023-10-31 00:15:26 +0100MironZ0MironZ
2023-10-31 00:15:26 +0100jrm2jrm
2023-10-31 00:15:26 +0100terrorjack4terrorjack
2023-10-31 00:15:26 +0100alanz_alanz
2023-10-31 00:15:26 +0100xstill_1xstill_
2023-10-31 00:15:30 +0100dove(~irc@2600:3c00:e000:287::1)
2023-10-31 00:15:32 +0100flocks_(~flocks@134.122.90.60)
2023-10-31 00:15:35 +0100yj2(echo@user/yjj3)
2023-10-31 00:15:35 +0100shane(~shane@ana.rch.ist)
2023-10-31 00:15:39 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-31 00:15:41 +0100mniip(mniip@libera/staff/mniip) (Read error: Connection reset by peer)
2023-10-31 00:15:53 +0100Hobbyboy(Hobbyboy@hobbyboy.co.uk) (Read error: Connection reset by peer)
2023-10-31 00:15:57 +0100krj(~krjst@2604:a880:800:c1::16b:8001)
2023-10-31 00:16:07 +0100geekosaur(sid609282@xmonad/geekosaur)
2023-10-31 00:16:15 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-10-31 00:17:48 +0100T_S____(sid501726@id-501726.uxbridge.irccloud.com)
2023-10-31 00:18:01 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2023-10-31 00:18:26 +0100Hobbyboy(Hobbyboy@hobbyboy.co.uk)
2023-10-31 00:23:51 +0100komikat(~akshitkr@218.185.248.66) (Ping timeout: 240 seconds)
2023-10-31 00:26:36 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 240 seconds)
2023-10-31 00:26:37 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-10-31 00:26:41 +0100welterde(welterde@thinkbase.srv.welterde.de)
2023-10-31 00:27:29 +0100Angelz(Angelz@Angelz.oddprotocol.org)
2023-10-31 00:29:16 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-31 00:30:27 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-31 00:33:32 +0100forell(~forell@user/forell) (Ping timeout: 255 seconds)
2023-10-31 00:41:31 +0100forell(~forell@user/forell)
2023-10-31 00:44:47 +0100htor(~htor@84.208.240.181)
2023-10-31 00:46:12 +0100forell(~forell@user/forell) (Ping timeout: 272 seconds)
2023-10-31 00:49:10 +0100mniip_mniip
2023-10-31 00:52:53 +0100juri_(~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 260 seconds)
2023-10-31 00:53:55 +0100forell(~forell@user/forell)
2023-10-31 00:54:35 +0100swistak(~swistak@185.21.216.141) (Ping timeout: 240 seconds)
2023-10-31 01:03:16 +0100swistak(~swistak@185.21.216.141)
2023-10-31 01:05:56 +0100htor(~htor@84.208.240.181) (Ping timeout: 255 seconds)
2023-10-31 01:09:22 +0100htor(~htor@telia-2e0f4e-8.connect.netcom.no)
2023-10-31 01:10:37 +0100swistak(~swistak@185.21.216.141) (Read error: Connection reset by peer)
2023-10-31 01:10:47 +0100swistak-(~swistak@185.21.216.141)
2023-10-31 01:11:43 +0100forell(~forell@user/forell) (Ping timeout: 264 seconds)
2023-10-31 01:15:53 +0100forell(~forell@user/forell)
2023-10-31 01:16:24 +0100juri_(~juri@84-19-175-187.pool.ovpn.com)
2023-10-31 01:28:26 +0100Ascension(~Ascension@176.254.244.83) (Ping timeout: 246 seconds)
2023-10-31 01:29:48 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2023-10-31 01:31:22 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-31 01:33:22 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
2023-10-31 01:33:39 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-10-31 01:33:53 +0100Ascension(~Ascension@176.254.244.83)
2023-10-31 01:34:20 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-10-31 01:35:26 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-10-31 01:38:51 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2023-10-31 01:39:47 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-31 01:41:00 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2023-10-31 01:43:33 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-10-31 01:45:19 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2023-10-31 01:47:33 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-31 01:57:16 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 248 seconds)
2023-10-31 02:00:19 +0100forell(~forell@user/forell) (Ping timeout: 264 seconds)
2023-10-31 02:01:14 +0100forell(~forell@user/forell)
2023-10-31 02:01:36 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-31 02:02:51 +0100htor(~htor@telia-2e0f4e-8.connect.netcom.no) (Quit: htor)
2023-10-31 02:03:24 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2023-10-31 02:05:38 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-10-31 02:06:27 +0100gdr3941(~user@2600:1700:4770:3bc0:9d91:2119:734f:bda4)
2023-10-31 02:08:16 +0100thegeekinside(~thegeekin@189.180.105.214)
2023-10-31 02:09:02 +0100sabino(~sabino@user/sabino) (Ping timeout: 255 seconds)
2023-10-31 02:10:53 +0100sabino(~sabino@user/sabino)
2023-10-31 02:11:53 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-10-31 02:17:53 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-10-31 02:21:03 +0100gdr3941(~user@2600:1700:4770:3bc0:9d91:2119:734f:bda4) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1))
2023-10-31 02:38:37 +0100khumba(~khumba@user/khumba)
2023-10-31 02:41:28 +0100ru0mad(~ru0mad@moon.ruomad.net) (Ping timeout: 272 seconds)
2023-10-31 02:42:18 +0100mud(~mud@user/kadoban) (Quit: quit)
2023-10-31 02:55:08 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 256 seconds)
2023-10-31 02:55:13 +0100John_Ivan_(~John_Ivan@user/john-ivan/x-1515935) (Ping timeout: 255 seconds)
2023-10-31 02:55:29 +0100Square2(~Square@user/square) (Ping timeout: 245 seconds)
2023-10-31 02:58:06 +0100edr(~edr@user/edr) (Quit: Leaving)
2023-10-31 03:15:17 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2023-10-31 03:16:51 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2023-10-31 03:19:05 +0100haritz(~hrtz@user/haritz) (Ping timeout: 240 seconds)
2023-10-31 03:24:01 +0100sabino(~sabino@user/sabino) (Quit: Lambda _ -> x)
2023-10-31 03:24:27 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-10-31 03:30:43 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-31 03:30:50 +0100otto_s(~user@p5de2f5cb.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-10-31 03:32:24 +0100otto_s(~user@p5de2f514.dip0.t-ipconnect.de)
2023-10-31 03:35:43 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-10-31 03:36:55 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds)
2023-10-31 03:38:14 +0100haritz(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk)
2023-10-31 03:38:14 +0100haritz(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host)
2023-10-31 03:38:14 +0100haritz(~hrtz@user/haritz)
2023-10-31 03:46:37 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 04:02:45 +0100drewjose(~drewjose@129.154.40.88) (Remote host closed the connection)
2023-10-31 04:02:47 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-31 04:05:35 +0100td_(~td@i5387092F.versanet.de) (Ping timeout: 240 seconds)
2023-10-31 04:05:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-10-31 04:06:50 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-31 04:07:44 +0100td_(~td@i53870904.versanet.de)
2023-10-31 04:10:03 +0100paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
2023-10-31 04:12:19 +0100khumba(~khumba@user/khumba) ()
2023-10-31 04:12:27 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-10-31 04:12:32 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-10-31 04:12:32 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-10-31 04:12:32 +0100finn_elijaFinnElija
2023-10-31 04:15:37 +0100gentauro(~gentauro@user/gentauro) (Ping timeout: 255 seconds)
2023-10-31 04:21:00 +0100Inst(~Inst@120.244.192.250) (Remote host closed the connection)
2023-10-31 04:21:17 +0100Inst(~Inst@120.244.192.250)
2023-10-31 04:22:24 +0100gentauro(~gentauro@user/gentauro)
2023-10-31 04:29:12 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-31 04:30:40 +0100rgw(~R@2605:a601:a0df:5600:c969:41cd:947d:4b48) (Read error: Connection reset by peer)
2023-10-31 04:39:48 +0100HooloovooHoolooboo
2023-10-31 04:40:32 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 272 seconds)
2023-10-31 04:41:42 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-10-31 04:56:29 +0100afh5312(~afh5312@2600:4041:5acc:5800:5cfc:4012:d0e4:e0cb)
2023-10-31 04:57:00 +0100afh5312(~afh5312@2600:4041:5acc:5800:5cfc:4012:d0e4:e0cb) (Client Quit)
2023-10-31 04:57:18 +0100hiyori(~hiyori@user/hiyori)
2023-10-31 05:24:17 +0100rosco(~rosco@yp-150-69.tm.net.my)
2023-10-31 05:31:10 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com)
2023-10-31 05:37:24 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
2023-10-31 05:40:10 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-10-31 05:40:40 +0100aforemny(~aforemny@2001:9e8:6cf3:2b00:2f73:3d2b:9ae5:6d60)
2023-10-31 05:41:26 +0100aforemny_(~aforemny@i59F516F6.versanet.de) (Ping timeout: 255 seconds)
2023-10-31 05:44:08 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2023-10-31 05:45:38 +0100vglfr(~vglfr@88.155.154.204)
2023-10-31 05:53:22 +0100thegeekinside(~thegeekin@189.180.105.214) (Ping timeout: 272 seconds)
2023-10-31 06:03:02 +0100hueso(~root@user/hueso) (Ping timeout: 255 seconds)
2023-10-31 06:04:52 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-10-31 06:08:46 +0100hueso(~root@user/hueso)
2023-10-31 06:21:51 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 06:30:24 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-10-31 06:34:42 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 06:38:30 +0100monodoom(trebla@216.138.220.146) (Quit: ZNC 1.8.2+deb3build2 - https://znc.in)
2023-10-31 06:38:41 +0100Inst(~Inst@120.244.192.250) (Remote host closed the connection)
2023-10-31 06:39:06 +0100Inst(~Inst@120.244.192.250)
2023-10-31 06:40:31 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds)
2023-10-31 06:53:00 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 06:54:23 +0100monodoom(trebla@216.138.220.146)
2023-10-31 06:58:17 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds)
2023-10-31 07:01:09 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 07:06:55 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds)
2023-10-31 07:07:14 +0100echoreply(~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
2023-10-31 07:08:20 +0100vglfr(~vglfr@88.155.154.204)
2023-10-31 07:08:34 +0100echoreply(~echoreply@45.32.163.16)
2023-10-31 07:17:01 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9)
2023-10-31 07:17:01 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) (Changing host)
2023-10-31 07:17:01 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-10-31 07:17:23 +0100paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
2023-10-31 07:17:45 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 07:22:26 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds)
2023-10-31 07:22:43 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Read error: Connection reset by peer)
2023-10-31 07:22:43 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer)
2023-10-31 07:22:43 +0100chiselfuse(~chiselfus@user/chiselfuse) (Read error: Connection reset by peer)
2023-10-31 07:22:44 +0100califax(~califax@user/califx) (Read error: Connection reset by peer)
2023-10-31 07:22:44 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer)
2023-10-31 07:22:44 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-10-31 07:22:44 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-10-31 07:22:58 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-10-31 07:23:09 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-10-31 07:23:11 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2023-10-31 07:23:12 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-10-31 07:23:27 +0100chiselfuse(~chiselfus@user/chiselfuse)
2023-10-31 07:23:32 +0100califax(~califax@user/califx)
2023-10-31 07:23:45 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-31 07:30:05 +0100hueso(~root@user/hueso) (Ping timeout: 240 seconds)
2023-10-31 07:30:10 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 07:31:55 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-31 07:33:01 +0100hueso(~root@user/hueso)
2023-10-31 07:33:43 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-10-31 07:35:25 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 248 seconds)
2023-10-31 07:36:35 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-10-31 07:37:13 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 255 seconds)
2023-10-31 07:37:40 +0100chomwitt(~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1)
2023-10-31 07:37:43 +0100biberu\(~biberu@user/biberu)
2023-10-31 07:41:40 +0100biberu(~biberu@user/biberu) (Ping timeout: 272 seconds)
2023-10-31 07:41:41 +0100biberu\biberu
2023-10-31 07:41:49 +0100michalz(~michalz@185.246.207.222)
2023-10-31 07:47:26 +0100cyphase(~cyphase@user/cyphase)
2023-10-31 07:47:52 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 07:48:45 +0100sm(~sm@plaintextaccounting/sm)
2023-10-31 07:53:03 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 08:00:00 +0100hiyori64(~hiyori@user/hiyori)
2023-10-31 08:01:01 +0100hiyori64(~hiyori@user/hiyori) (Client Quit)
2023-10-31 08:02:57 +0100arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
2023-10-31 08:03:54 +0100hiyori(~hiyori@user/hiyori) (Quit: Client closed)
2023-10-31 08:07:52 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 08:09:54 +0100leah2(~leah@vuxu.org) (Ping timeout: 258 seconds)
2023-10-31 08:13:20 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds)
2023-10-31 08:18:08 +0100chiselfuse(~chiselfus@user/chiselfuse) (Read error: Connection reset by peer)
2023-10-31 08:18:43 +0100chiselfuse(~chiselfus@user/chiselfuse)
2023-10-31 08:21:36 +0100CiaoSen(~Jura@2a05:5800:285:a000:664b:f0ff:fe37:9ef)
2023-10-31 08:23:06 +0100chele(~chele@user/chele)
2023-10-31 08:24:48 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 08:30:13 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds)
2023-10-31 08:30:14 +0100Inst(~Inst@120.244.192.250) (Remote host closed the connection)
2023-10-31 08:30:39 +0100Inst(~Inst@120.244.192.250)
2023-10-31 08:33:20 +0100ham(~ham@user/ham) (Ping timeout: 255 seconds)
2023-10-31 08:43:54 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 08:47:43 +0100arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds)
2023-10-31 08:48:10 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 256 seconds)
2023-10-31 08:48:44 +0100califax(~califax@user/califx) (Ping timeout: 256 seconds)
2023-10-31 08:48:53 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-10-31 08:49:19 +0100rosco(~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal)
2023-10-31 08:49:31 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds)
2023-10-31 08:50:00 +0100califax(~califax@user/califx)
2023-10-31 08:50:35 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-10-31 08:53:26 +0100acidjnk(~acidjnk@p200300d6e72b9347b1a7e14a96809416.dip0.t-ipconnect.de)
2023-10-31 08:54:22 +0100danza(~francesco@151.47.60.250)
2023-10-31 08:55:49 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-10-31 08:57:24 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2023-10-31 08:59:07 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 264 seconds)
2023-10-31 08:59:14 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 09:01:04 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-10-31 09:01:15 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-10-31 09:02:35 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:8059:24c1:b008:c079) (Remote host closed the connection)
2023-10-31 09:03:53 +0100ubert(~Thunderbi@178.165.194.145.wireless.dyn.drei.com)
2023-10-31 09:05:16 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds)
2023-10-31 09:14:53 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-10-31 09:16:11 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 09:17:01 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-10-31 09:18:16 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-31 09:18:32 +0100arahael(~arahael@1.145.40.124)
2023-10-31 09:18:51 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-10-31 09:20:52 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-10-31 09:21:23 +0100tv(~tv@user/tv) (Ping timeout: 255 seconds)
2023-10-31 09:21:35 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 09:23:17 +0100Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk)
2023-10-31 09:26:39 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2023-10-31 09:27:06 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-10-31 09:31:19 +0100danza(~francesco@151.47.60.250) (Ping timeout: 245 seconds)
2023-10-31 09:34:16 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-10-31 09:34:21 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 09:34:52 +0100tv(~tv@user/tv)
2023-10-31 09:35:08 +0100TheCatCollective(NyaaTheKit@user/calculuscat)
2023-10-31 09:35:23 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-10-31 09:35:46 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-10-31 09:37:11 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2023-10-31 09:40:06 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds)
2023-10-31 09:40:30 +0100leah2(~leah@vuxu.org)
2023-10-31 09:41:29 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9)
2023-10-31 09:41:29 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) (Changing host)
2023-10-31 09:41:29 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-10-31 09:41:53 +0100danse-nr3(~danse@151.79.204.38)
2023-10-31 09:42:08 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5c13:771e:33d7:3f71)
2023-10-31 09:45:55 +0100eggplant_(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-10-31 09:46:34 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5c13:771e:33d7:3f71) (Ping timeout: 252 seconds)
2023-10-31 09:47:06 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-31 09:49:02 +0100Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Quit: Leaving)
2023-10-31 09:50:25 +0100eggplant_(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 252 seconds)
2023-10-31 09:53:46 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 09:55:55 +0100qqq(~qqq@92.43.167.61) (Ping timeout: 252 seconds)
2023-10-31 09:56:27 +0100rachelambda(~rachelamb@cust-95-80-25-71.csbnet.se)
2023-10-31 09:58:39 +0100tomsmeding_tomsmeding
2023-10-31 09:59:13 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 252 seconds)
2023-10-31 10:06:02 +0100Hoolooboo(~Hooloovoo@hax0rbana.org) (Ping timeout: 255 seconds)
2023-10-31 10:06:49 +0100Hooloovoo(~Hooloovoo@hax0rbana.org)
2023-10-31 10:07:41 +0100Inst(~Inst@120.244.192.250) (Read error: Connection reset by peer)
2023-10-31 10:12:20 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 10:12:43 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-10-31 10:14:24 +0100applecat(~Srain@116.204.144.69)
2023-10-31 10:17:27 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 10:21:03 +0100applecat(~Srain@116.204.144.69) (Ping timeout: 240 seconds)
2023-10-31 10:26:31 +0100mc47(~mc47@xmonad/TheMC47)
2023-10-31 10:29:35 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 10:34:35 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 10:35:29 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2023-10-31 10:36:00 +0100komikat(~akshitkr@14.139.82.6)
2023-10-31 10:36:06 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2023-10-31 10:39:19 +0100danse-nr3(~danse@151.79.204.38) (Ping timeout: 264 seconds)
2023-10-31 10:40:09 +0100danse-nr3(~danse@151.79.204.38)
2023-10-31 10:45:40 +0100danse-nr3(~danse@151.79.204.38) (Remote host closed the connection)
2023-10-31 10:48:01 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 10:48:31 +0100danse-nr3(~danse@151.79.204.38)
2023-10-31 10:53:43 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds)
2023-10-31 11:00:19 +0100CiaoSen(~Jura@2a05:5800:285:a000:664b:f0ff:fe37:9ef) (Ping timeout: 264 seconds)
2023-10-31 11:00:55 +0100htor(htor@gateway/vpn/airvpn/htor)
2023-10-31 11:01:36 +0100phma(phma@2001:5b0:211f:d828:d963:986:c941:cee8) (Read error: Connection reset by peer)
2023-10-31 11:02:41 +0100phma(phma@2001:5b0:2143:d188:322e:c0e7:31f:f4)
2023-10-31 11:03:39 +0100htor(htor@gateway/vpn/airvpn/htor) (Read error: Connection reset by peer)
2023-10-31 11:04:06 +0100komikat(~akshitkr@14.139.82.6) (Ping timeout: 260 seconds)
2023-10-31 11:05:31 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 11:06:46 +0100htor(htor@gateway/vpn/airvpn/htor)
2023-10-31 11:08:08 +0100zmt00(~zmt00@user/zmt00)
2023-10-31 11:09:41 +0100swamp_(~zmt00@user/zmt00) (Ping timeout: 258 seconds)
2023-10-31 11:10:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-10-31 11:11:10 +0100cfricke(~cfricke@user/cfricke)
2023-10-31 11:11:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-31 11:12:40 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 256 seconds)
2023-10-31 11:12:59 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds)
2023-10-31 11:13:34 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-10-31 11:15:03 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-10-31 11:16:12 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-31 11:16:35 +0100vglfr(~vglfr@88.155.154.204) (Ping timeout: 258 seconds)
2023-10-31 11:18:25 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2023-10-31 11:18:55 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-10-31 11:24:03 +0100applecat(~Srain@116.204.144.69)
2023-10-31 11:24:20 +0100arahael(~arahael@1.145.40.124) (Ping timeout: 255 seconds)
2023-10-31 11:24:36 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 11:30:00 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 258 seconds)
2023-10-31 11:33:26 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-31 11:37:51 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-10-31 11:38:09 +0100fendor(~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca)
2023-10-31 11:38:14 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-10-31 11:41:53 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 11:45:05 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2023-10-31 11:45:48 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2023-10-31 11:46:54 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-10-31 11:47:03 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 11:58:34 +0100sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-31 11:59:44 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 12:09:32 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 248 seconds)
2023-10-31 12:13:02 +0100lorenzo(~lorenzo@2a01:e0a:541:b8f0:9821:9dbb:bb8c:cf89)
2023-10-31 12:14:10 +0100sm(~sm@plaintextaccounting/sm)
2023-10-31 12:14:41 +0100snowsauce(~snowsauce@pa9-84-91-207-96.netvisao.pt) (Ping timeout: 260 seconds)
2023-10-31 12:23:27 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 12:25:22 +0100sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-31 12:28:48 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds)
2023-10-31 12:32:14 +0100danse-nr3(~danse@151.79.204.38) (Remote host closed the connection)
2023-10-31 12:32:35 +0100danse-nr3(~danse@151.79.204.38)
2023-10-31 12:40:51 +0100__monty__(~toonn@user/toonn)
2023-10-31 12:42:58 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 12:43:37 +0100ph88(~ph88@2a02:8109:9e26:c800:4977:3b85:6381:972)
2023-10-31 12:44:20 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-10-31 12:44:46 +0100ph88(~ph88@2a02:8109:9e26:c800:4977:3b85:6381:972) (Client Quit)
2023-10-31 12:47:12 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2023-10-31 12:48:31 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds)
2023-10-31 12:49:33 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-10-31 12:50:49 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 12:55:35 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 255 seconds)
2023-10-31 12:56:43 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds)
2023-10-31 13:05:35 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 240 seconds)
2023-10-31 13:06:47 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-10-31 13:09:10 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 13:14:29 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds)
2023-10-31 13:14:50 +0100Labbekak(~Labbekak@51.138.53.46)
2023-10-31 13:18:34 +0100htor(htor@gateway/vpn/airvpn/htor) (Quit: htor)
2023-10-31 13:19:05 +0100 <Labbekak> Hi, I had a Linear Haskell question (related to https://www.tweag.io/blog/2023-03-23-linear-constraints-linearly/). In types such as `linearly :: (Linearly %1 -> Ur b) %1 -> Ur b`, why is the `Ur` in the return type necessary?
2023-10-31 13:22:21 +0100danse-nr3(~danse@151.79.204.38) (Ping timeout: 260 seconds)
2023-10-31 13:22:31 +0100applecat(~Srain@116.204.144.69) (Ping timeout: 264 seconds)
2023-10-31 13:23:05 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2023-10-31 13:24:58 +0100motherfsck(~motherfsc@user/motherfsck)
2023-10-31 13:26:04 +0100 <kuribas> It is an unrestricted context, otherwise the resource will leak.
2023-10-31 13:27:22 +0100 <kuribas> Since b is unrestricted, it cannot contain the linear resource.
2023-10-31 13:28:19 +0100 <kuribas> If it was not unrestricted, you could sneak in a linear value, and cause it to leak.
2023-10-31 13:30:34 +0100 <Labbekak> Why not `linearly :: (Linearly %1 -> Ur b) %1 -> b`
2023-10-31 13:31:03 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2023-10-31 13:31:28 +0100motherfsck(~motherfsc@user/motherfsck)
2023-10-31 13:35:38 +0100mmhat(~mmh@p200300f1c7445e35ee086bfffe095315.dip0.t-ipconnect.de)
2023-10-31 13:35:50 +0100mmhat(~mmh@p200300f1c7445e35ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-10-31 13:38:09 +0100snowsauce(~snowsauce@pa9-84-91-207-96.netvisao.pt)
2023-10-31 13:39:36 +0100 <kuribas> not sure...
2023-10-31 13:39:43 +0100santiagopim(~user@90.167.66.131)
2023-10-31 13:39:44 +0100 <kuribas> Maybe to nest those callbacks?
2023-10-31 13:40:37 +0100 <kuribas> It doesn't look necessary to me, since the callback type prevents it from returning the resource.
2023-10-31 13:41:11 +0100 <kuribas> But I suppose if you need two arrays, this is convenient.
2023-10-31 13:43:11 +0100 <Labbekak> Yeah that's why I thought, it seems unnecessary. So I wonder if I misunderstand something about linearity, or if it's just for convenience like you said.
2023-10-31 13:45:17 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 13:47:53 +0100mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-31 13:49:38 +0100mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
2023-10-31 13:49:48 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 13:52:47 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-10-31 14:02:07 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 14:07:05 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds)
2023-10-31 14:07:05 +0100 <tomsmeding> Labbekak: it's what kuribas said, the return value from 'linearly' being unrestricted means that you can use linearly within linearly
2023-10-31 14:08:07 +0100 <tomsmeding> an even more approximate type would be '(Linearly %1 -> Ur b) -> b', which also doesn't promise to use the callback exactly once
2023-10-31 14:08:17 +0100 <tomsmeding> the '%1 -> Ur b' version is maximally precise
2023-10-31 14:10:32 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc)
2023-10-31 14:11:42 +0100CO2(CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.1)
2023-10-31 14:13:54 +0100 <Labbekak> Alright thanks for the answers!
2023-10-31 14:14:46 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-31 14:21:27 +0100danse-nr3(~danse@fi-19-197-201.service.infuturo.it)
2023-10-31 14:23:28 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-10-31 14:42:15 +0100danse-nr3(~danse@fi-19-197-201.service.infuturo.it) (Remote host closed the connection)
2023-10-31 14:42:22 +0100pixelmonk(~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Quit: WeeChat 4.1.0)
2023-10-31 14:42:40 +0100danse-nr3(~danse@fi-19-197-201.service.infuturo.it)
2023-10-31 14:42:44 +0100htor(htor@gateway/vpn/airvpn/htor)
2023-10-31 14:43:57 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.0.5)
2023-10-31 14:45:04 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-10-31 14:45:41 +0100friendshipaka(~Friendshi@user/Friendship)
2023-10-31 14:48:05 +0100vpan(~vpan@212.117.1.172)
2023-10-31 14:48:57 +0100Friendship(~Friendshi@user/Friendship) (Ping timeout: 258 seconds)
2023-10-31 14:49:00 +0100John_Ivan_(~John_Ivan@user/john-ivan/x-1515935)
2023-10-31 14:50:34 +0100dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2023-10-31 14:53:34 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-10-31 14:53:49 +0100lg188(~lg188@82.18.98.230)
2023-10-31 14:54:46 +0100lg188(~lg188@82.18.98.230) (Client Quit)
2023-10-31 15:02:09 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 245 seconds)
2023-10-31 15:04:17 +0100thegeekinside(~thegeekin@189.180.105.214)
2023-10-31 15:05:50 +0100dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net)
2023-10-31 15:07:58 +0100lg188(~lg188@82.18.98.230)
2023-10-31 15:12:10 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2023-10-31 15:13:16 +0100thegeekinside(~thegeekin@189.180.105.214) (Ping timeout: 252 seconds)
2023-10-31 15:13:31 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-10-31 15:19:34 +0100Labbekak(~Labbekak@51.138.53.46) (Quit: Client closed)
2023-10-31 15:22:05 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-10-31 15:22:49 +0100thegeekinside(~thegeekin@189.180.105.214)
2023-10-31 15:22:54 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de)
2023-10-31 15:23:22 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-31 15:23:39 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-31 15:26:03 +0100lg188(~lg188@82.18.98.230) (Quit: Bye.)
2023-10-31 15:32:05 +0100lg188(~lg188@82.18.98.230)
2023-10-31 15:34:00 +0100califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-31 15:34:46 +0100califax(~califax@user/califx)
2023-10-31 15:34:55 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-31 15:39:55 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-10-31 15:42:39 +0100acidjnk(~acidjnk@p200300d6e72b9347b1a7e14a96809416.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-10-31 15:48:28 +0100CO2(CO2@gateway/vpn/protonvpn/co2)
2023-10-31 15:50:35 +0100 <kuribas> tomsmeding: but calling those callbacks multiple times would not be observable, no?
2023-10-31 15:50:40 +0100 <kuribas> Except for taking more time?
2023-10-31 15:54:51 +0100kitzman(~kitzman@user/dekenevs) (Quit: C-x C-c)
2023-10-31 15:55:35 +0100 <tomsmeding> kuribas: depends on whether the effects being executed in the linear thread are observable :p
2023-10-31 15:55:45 +0100 <tomsmeding> if it's computation with a mutable array, then no
2023-10-31 15:56:13 +0100 <tomsmeding> but you can also have something like: withFile :: (File %1-> Ur b) %1-> Ur b
2023-10-31 15:56:13 +0100kitzman(~kitzman@user/dekenevs)
2023-10-31 15:56:19 +0100 <tomsmeding> where you can write to that file
2023-10-31 15:56:37 +0100 <kuribas> shouldn't there be IO somewhere then?
2023-10-31 15:57:05 +0100 <tomsmeding> hm maybe you're right
2023-10-31 15:57:29 +0100 <tomsmeding> okay fair, outside of IO no amount of recomputation is ever observable
2023-10-31 15:57:42 +0100 <tomsmeding> but that doesn't mean it's a good idea
2023-10-31 15:57:58 +0100 <tomsmeding> and furthermore, the promise that the callback is run exactly once means that you can use up linear resources inside that callback
2023-10-31 15:58:00 +0100 <kuribas> right
2023-10-31 15:58:02 +0100 <tomsmeding> which is quite essential
2023-10-31 15:58:37 +0100 <kuribas> Yeah, I suppose the callback could be doing something unsafe, but needs linearity to be safe.
2023-10-31 15:58:52 +0100 <tomsmeding> I mean, you could want to allocate two mutable arrays
2023-10-31 15:59:01 +0100 <kuribas> So the linearity is essentially what makes it safe.
2023-10-31 15:59:03 +0100 <tomsmeding> then you'd need to use the outer one inside the callback of the inner one
2023-10-31 15:59:15 +0100 <tomsmeding> you can't if the inner alloc function doesn't promise to run its callback exactly once
2023-10-31 16:00:00 +0100 <kuribas> I mean, lineary exposes a safe interface, for a function that may be internally unsafe.
2023-10-31 16:00:13 +0100 <kuribas> yeah, for example.
2023-10-31 16:01:06 +0100 <tomsmeding> (for this particular case, having two nested callbacks is unnecessary if the array library exposes something like https://hackage.haskell.org/package/linear-base-0.1.0/docs/src/Data.Array.Mutable.Linear.html#allo… , but the point stands)
2023-10-31 16:01:31 +0100 <tomsmeding> er, that's not the most helpful link, see https://hackage.haskell.org/package/linear-base-0.1.0/docs/Data-Array-Mutable-Linear.html#v:allocB…
2023-10-31 16:02:07 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 264 seconds)
2023-10-31 16:03:01 +0100mud(~mud@user/kadoban)
2023-10-31 16:07:17 +0100kiriakos(~kiriakos@p5b03e4f0.dip0.t-ipconnect.de)
2023-10-31 16:07:26 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-31 16:08:48 +0100lg188(~lg188@82.18.98.230) (Quit: Bye.)
2023-10-31 16:09:42 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-31 16:11:37 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2023-10-31 16:11:48 +0100htor(htor@gateway/vpn/airvpn/htor) (Quit: htor)
2023-10-31 16:15:33 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-10-31 16:18:20 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-31 16:22:01 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2023-10-31 16:31:15 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.0)
2023-10-31 16:32:25 +0100qqq(~qqq@92.43.167.61)
2023-10-31 16:34:26 +0100wib_jonas(~wib_jonas@business-37-191-60-209.business.broadband.hu)
2023-10-31 16:35:51 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 240 seconds)
2023-10-31 16:36:15 +0100dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2023-10-31 16:41:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-10-31 16:41:36 +0100dtman34(~dtman34@2601:447:d000:93c9:2ba4:705:87cf:da8f)
2023-10-31 16:44:19 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-10-31 16:47:28 +0100lg188(~lg188@82.18.98.230)
2023-10-31 16:48:44 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-10-31 16:53:17 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2023-10-31 16:54:14 +0100dtman34(~dtman34@2601:447:d000:93c9:2ba4:705:87cf:da8f) (Ping timeout: 245 seconds)
2023-10-31 16:55:23 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-10-31 16:57:20 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2023-10-31 16:57:55 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2023-10-31 16:58:33 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-10-31 16:58:39 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de)
2023-10-31 17:05:07 +0100falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 264 seconds)
2023-10-31 17:09:25 +0100dtman34(~dtman34@c-76-156-89-180.hsd1.mn.comcast.net)
2023-10-31 17:19:39 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-31 17:19:57 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-31 17:27:20 +0100Jackneill(~Jackneill@20014C4E1E03D80013DBDBD9C5A5A6D2.dsl.pool.telekom.hu)
2023-10-31 17:27:38 +0100 <monodoom> Happy Halloween! Have a pumpkin catmorphism: https://www.vex.net/~trebla/photo/unorganized/pumpkin-catmorphism.jpg
2023-10-31 17:30:16 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-10-31 17:34:12 +0100Square2(~Square@user/square)
2023-10-31 17:37:27 +0100kiriakos_(~kiriakos@p5b03e4f0.dip0.t-ipconnect.de)
2023-10-31 17:39:32 +0100kiriakos(~kiriakos@p5b03e4f0.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-10-31 17:39:32 +0100kiriakos_kiriakos
2023-10-31 17:42:51 +0100 <[exa]> monodoom: catmorphisms might need an acme package
2023-10-31 17:42:54 +0100 <[exa]> :D
2023-10-31 17:47:06 +0100 <EvanR> catmorpheus https://petstips.net/wp-content/uploads/2019/02/Funniest-Cat-Morpheus-Cat-Facts.jpg
2023-10-31 17:50:41 +0100danse-nr3(~danse@fi-19-197-201.service.infuturo.it) (Ping timeout: 260 seconds)
2023-10-31 17:52:58 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2023-10-31 17:58:00 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-10-31 18:06:18 +0100danse-nr3(~danse@ba-19-155-131.service.infuturo.it)
2023-10-31 18:10:01 +0100lorenzo(~lorenzo@2a01:e0a:541:b8f0:9821:9dbb:bb8c:cf89) (Quit: WeeChat 3.5)
2023-10-31 18:11:02 +0100idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-10-31 18:13:36 +0100Nachtgespenst(~user@user/siracusa) (Quit: Bye!)
2023-10-31 18:20:49 +0100fendor(~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) (Remote host closed the connection)
2023-10-31 18:21:18 +0100vglfr(~vglfr@88.155.154.204)
2023-10-31 18:21:53 +0100wib_jonas(~wib_jonas@business-37-191-60-209.business.broadband.hu) (Quit: Client closed)
2023-10-31 18:23:56 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-31 18:24:04 +0100vpan(~vpan@212.117.1.172) (Quit: Leaving.)
2023-10-31 18:26:35 +0100pixelmonk(~pixelmonk@50.205.76.66)
2023-10-31 18:26:48 +0100srk(~sorki@user/srk) (Quit: ZNC 1.8.1 - https://znc.in)
2023-10-31 18:28:36 +0100ski(~ski@88.131.7.247)
2023-10-31 18:29:07 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2023-10-31 18:29:53 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de)
2023-10-31 18:30:07 +0100 <EvanR> (integral_a^b f(x,y) dx) It does not make sense to substitute 7 for x obtaining integral_a^b f(7,y) d7; but substitution for y does make sense [because y is free, while x is bound]. -- barendregt 1991
2023-10-31 18:30:21 +0100 <EvanR> another great idea (for esoteric language features) goes out the window
2023-10-31 18:30:48 +0100 <ski> the idea ?
2023-10-31 18:31:01 +0100 <EvanR> drop that restriction on substitution xD
2023-10-31 18:31:05 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-31 18:31:22 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de)
2023-10-31 18:31:42 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection)
2023-10-31 18:31:42 +0100 <ski> partially overlapping scopes can be fun
2023-10-31 18:31:46 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-31 18:32:03 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-31 18:33:13 +0100srk(~sorki@user/srk)
2023-10-31 18:35:33 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-31 18:38:05 +0100AlexZenon(~alzenon@94.233.241.58) (Ping timeout: 240 seconds)
2023-10-31 18:38:12 +0100AlexNoo(~AlexNoo@94.233.241.58) (Ping timeout: 240 seconds)
2023-10-31 18:41:37 +0100michalz(~michalz@185.246.207.222) (Read error: Connection reset by peer)
2023-10-31 18:42:56 +0100AlexNoo(~AlexNoo@94.233.241.58)
2023-10-31 18:44:31 +0100AlexZenon(~alzenon@94.233.241.58)
2023-10-31 18:47:38 +0100AlexZenon(~alzenon@94.233.241.58) (Client Quit)
2023-10-31 18:48:02 +0100AlexZenon(~alzenon@94.233.241.58)
2023-10-31 18:50:37 +0100 <monodoom> This is why you should write integral_a^b (\x -> f(x,y)). Then it is well accepted that \7 -> f(7,y) is illegal.
2023-10-31 18:51:44 +0100raym_raym
2023-10-31 18:51:59 +0100 <EvanR> accepted, illegal, but in the end a missed opportunity for mayhem
2023-10-31 18:52:14 +0100 <yin> is this a good idea?
2023-10-31 18:52:18 +0100 <yin> -- check if unique name node
2023-10-31 18:52:18 +0100 <yin> free :: Text -> STM Bool
2023-10-31 18:52:18 +0100 <yin> free t = do
2023-10-31 18:52:18 +0100 <yin> s :: State <- readTVar st
2023-10-31 18:52:19 +0100 <yin> m :: IntMap Node <- readTVar $ sequence $ nmap s
2023-10-31 18:52:21 +0100 <yin> pure $ elem t $ name <$> m
2023-10-31 18:52:34 +0100 <monodoom> Oh! Mayhem, yes we can have mayhem. :)
2023-10-31 18:52:40 +0100 <geekosaur> @where paste
2023-10-31 18:52:40 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2023-10-31 18:52:56 +0100 <geekosaur> pasting directly into IRC is not a good idea
2023-10-31 18:53:08 +0100 <yin> i thought 6 lines would be fine
2023-10-31 18:53:13 +0100 <geekosaur> 3
2023-10-31 18:53:22 +0100 <yin> got it
2023-10-31 18:53:37 +0100 <geekosaur> and even with 3 it prevents people from editing your paste to show alternatives and the like
2023-10-31 18:53:53 +0100 <geekosaur> or loading it in play;haskell.org
2023-10-31 18:53:56 +0100 <monodoom> The average acceptable paste is 2.1738398 lines.
2023-10-31 18:54:03 +0100 <geekosaur> play.haskell.org
2023-10-31 18:54:06 +0100 <yin> https://paste.jrvieira.com/1698774841850 :)
2023-10-31 18:54:10 +0100 <monodoom> The average indentation is 3.14159 spaces. :)
2023-10-31 18:54:15 +0100 <ski> yin : `readTVar $ sequence $ ...' looks dubious
2023-10-31 18:54:33 +0100 <yin> yes, i'm having serious doubts about sequencing TVar
2023-10-31 18:54:45 +0100 <monodoom> The average person has 9.998 fingers :)
2023-10-31 18:54:49 +0100 <yin> but tbh i'm not sure what that means
2023-10-31 18:54:54 +0100 <ski> yin> :t nmap
2023-10-31 18:55:26 +0100 <yin> ski: nmap :: State -> IntMap (TVar Node)
2023-10-31 18:55:26 +0100 <EvanR> sequence :: [STM a] -> STM [a], makes sense though you probably wanted mapM somewhere
2023-10-31 18:55:28 +0100 <ski> (fwiw, i'm not bothered by six lines)
2023-10-31 18:55:38 +0100chele(~chele@user/chele) (Remote host closed the connection)
2023-10-31 18:56:11 +0100 <EvanR> but you're using it inside readTVar so that's not what that is nevermind
2023-10-31 18:56:27 +0100 <ski> monodoom : not `2.7182818' ?
2023-10-31 18:56:29 +0100 <monodoom> Does it type-check?
2023-10-31 18:56:50 +0100 <monodoom> Next time it will be 2.7182818 :)
2023-10-31 18:56:58 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-10-31 18:57:07 +0100dhil(~dhil@2001:8e0:2014:3100:40c1:f9a6:d657:e946)
2023-10-31 18:57:28 +0100 <yin> yes, im sequencing IntMap (TVar Node) -> TVar (IntMap Node)
2023-10-31 18:58:02 +0100 <monodoom> Galaxy brain
2023-10-31 18:59:02 +0100 <yin> i have NO IDEA what goes on in memory. TVar is too opaque for me
2023-10-31 18:59:32 +0100 <ski> since when is `TVar' an instance of `Monad' (or `Applicative', for that matter) ?
2023-10-31 19:00:10 +0100 <EvanR> so you want to check if a string is in a container, let me introduce you to some category theory
2023-10-31 19:00:21 +0100 <monodoom> haha
2023-10-31 19:00:28 +0100 <yin> EvanR: :D
2023-10-31 19:00:48 +0100rgw(~R@2605:a601:a0df:5600:8c02:4fa2:4860:8f37)
2023-10-31 19:02:29 +0100 <ski> % :t mapM readTVar :: IntMap (TVar a) -> STM (IntMap a)
2023-10-31 19:02:30 +0100 <yahb2> mapM readTVar :: IntMap (TVar a) -> STM (IntMap a) ; :: IntMap (TVar a) -> STM (IntMap a)
2023-10-31 19:03:47 +0100 <ski> yin> :t name
2023-10-31 19:06:10 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
2023-10-31 19:06:17 +0100Guest57(~Guest37@149.159.193.204)
2023-10-31 19:06:35 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de)
2023-10-31 19:08:51 +0100pixelmonk(~pixelmonk@50.205.76.66) (Ping timeout: 258 seconds)
2023-10-31 19:11:19 +0100pixelmonk(~pixelmonk@50.205.76.66)
2023-10-31 19:15:03 +0100 <yin> ski: name :: Node -> Text
2023-10-31 19:15:45 +0100acidjnk(~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de)
2023-10-31 19:16:08 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 258 seconds)
2023-10-31 19:16:17 +0100pixelmonk(~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds)
2023-10-31 19:16:18 +0100 <ski> yin : getting anywhere with the hints ?
2023-10-31 19:20:20 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-31 19:23:08 +0100hueso(~root@user/hueso) (Quit: hueso)
2023-10-31 19:23:08 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-10-31 19:23:33 +0100Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-10-31 19:26:14 +0100pixelmonk(~pixelmonk@50.205.76.66)
2023-10-31 19:26:56 +0100vglfr(~vglfr@88.155.154.204)
2023-10-31 19:35:13 +0100hueso(~root@user/hueso)
2023-10-31 19:36:33 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-31 19:39:14 +0100 <yin> not yet. refactoring a big file, be back in a moment
2023-10-31 19:39:36 +0100 <yin> with another fresh, simpler and more interesting doubt
2023-10-31 19:39:41 +0100waleee(~waleee@h-176-10-144-38.na.cust.bahnhof.se)
2023-10-31 19:39:52 +0100 <yin> (i hope)
2023-10-31 19:40:56 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 260 seconds)
2023-10-31 19:41:33 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-10-31 19:41:43 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-10-31 19:44:12 +0100skinods
2023-10-31 19:45:16 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-31 19:45:48 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de)
2023-10-31 19:47:27 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2023-10-31 19:48:37 +0100euleritian(~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-10-31 19:48:54 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-31 19:50:43 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 255 seconds)
2023-10-31 19:51:36 +0100hueso(~root@user/hueso) (Quit: hueso)
2023-10-31 19:54:28 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2023-10-31 19:54:51 +0100random-jellyfish(~tiber@213.233.104.154)
2023-10-31 19:54:51 +0100random-jellyfish(~tiber@213.233.104.154) (Changing host)
2023-10-31 19:54:51 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-10-31 19:55:27 +0100vglfr(~vglfr@88.155.154.204)
2023-10-31 20:00:27 +0100giri9000(~giri9000@94.101.114.196)
2023-10-31 20:01:52 +0100giri9000(~giri9000@94.101.114.196) ()
2023-10-31 20:01:55 +0100michalz(~michalz@185.246.207.221)
2023-10-31 20:03:37 +0100hueso(~root@user/hueso)
2023-10-31 20:03:49 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-10-31 20:04:12 +0100neceve(~neceve@user/neceve)
2023-10-31 20:05:06 +0100 <ski> hm, so i got `sameFringe' working (along the coroutine idea) .. at first i was a little bit confuzzled about how to handle the termination properly, got down the wrong track shortly
2023-10-31 20:06:25 +0100 <ski> if anyone's curious, i could paste the code
2023-10-31 20:06:45 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Remote host closed the connection)
2023-10-31 20:06:58 +0100 <ski> (although, perhaps some would like to try on their own before looking at my take)
2023-10-31 20:07:38 +0100 <monodoom> cofuzzled coroutines :)
2023-10-31 20:08:02 +0100 <monodoom> coroutines need cofusion >:)
2023-10-31 20:08:06 +0100 <EvanR> I tried yesterday and my attempt devolved into not even being able to do zipWith on lists
2023-10-31 20:08:23 +0100 <EvanR> using only foldr
2023-10-31 20:08:23 +0100 <ski> yea, apparently i did the `zipWith' one in 2007
2023-10-31 20:08:56 +0100 <ski> (and then i discovered after that that Oleg had been pondering around in the same area)
2023-10-31 20:09:24 +0100 <monodoom> I think zipWith is better off as an unfoldr (generally anamorphisms).
2023-10-31 20:10:03 +0100 <ski> well, one of my versions is `build' and two `foldr's .. no mention of `[]' nor `:' in the code
2023-10-31 20:10:13 +0100 <ski> @type GHC.Exts.build
2023-10-31 20:10:14 +0100 <lambdabot> (forall b. (a -> b -> b) -> b -> b) -> [a]
2023-10-31 20:11:16 +0100 <EvanR> so that is what that's called
2023-10-31 20:11:23 +0100 <ski> monodoom : anyway, the point is to only use `foldr' to consume the two lists
2023-10-31 20:11:44 +0100 <ski> (one `foldr' for each input list)
2023-10-31 20:13:52 +0100 <ski> .. it would be nice to play around with some example requiring three coroutines (and preferably not just a cyclical (or even linear) handoff of the baton of control inbetween them)
2023-10-31 20:14:57 +0100John_Ivan_(~John_Ivan@user/john-ivan/x-1515935) (Quit: Disrupting the dragon's slumber one time too often shall eventually bestow upon all an empirical and indiscriminate conflagration that will last for all goddamn eternity.)
2023-10-31 20:15:27 +0100 <ski> but yea .. looking at my `zipWith', reminding myself of how it worked, definitely helped with `sameFringe'. although some new elements were needed
2023-10-31 20:16:34 +0100hueso_(~root@user/hueso)
2023-10-31 20:16:35 +0100hueso(~root@user/hueso) (Read error: Connection reset by peer)
2023-10-31 20:20:26 +0100John_Ivan(~John_Ivan@user/john-ivan/x-1515935)
2023-10-31 20:20:54 +0100 <ski> EvanR : i remember figuring out the right way to think about it (`zipWith') did involve a minor heureka/lightbulb moment
2023-10-31 20:23:33 +0100 <EvanR> I tried to define not zipWith itself but bifoldr :: (a -> a -> b -> b) -> b -> [a] -> [a] -> b, or with two additional b arguments for the case where the lists differ in length so there's some way to process that
2023-10-31 20:24:19 +0100 <ski> mm, i haven't tried that
2023-10-31 20:25:12 +0100 <ski> i guess part of the idea was to see if you could fuse two "good list producer" arguments (e.g. ultimately defined in terms of `build') with `zipWith', and not just one
2023-10-31 20:25:23 +0100 <EvanR> which folds over pairs of a in parallel, but maybe I should have tried one that goes over every pair in the matrix
2023-10-31 20:25:59 +0100 <ski> well, in my version, each of the two lists are traversed only once
2023-10-31 20:28:17 +0100ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-10-31 20:28:38 +0100danse-nr3(~danse@ba-19-155-131.service.infuturo.it) (Ping timeout: 272 seconds)
2023-10-31 20:28:39 +0100 <EvanR> then I went on a side tangent rabbit hole into resumable left folds
2023-10-31 20:28:49 +0100 <EvanR> but that involves a data structure
2023-10-31 20:29:26 +0100 <ski> .. yea
2023-10-31 20:29:36 +0100 <ski> (sounds interesting, though)
2023-10-31 20:30:19 +0100 <ski> in the end, the solution i got (for `sameFringe') involves a `data', pairing together two things
2023-10-31 20:30:23 +0100kanto(~kantokuen@user/kantokuen) (Quit: leaving)
2023-10-31 20:30:49 +0100 <ski> (i could possibly arrange to uncurry that)
2023-10-31 20:34:02 +0100 <ski> (the "resumable left folds" reminds me of a type refactoring i did, starting with `[a]', ending with left fold .. at the time, i was playing around a bit with meta-programming in MetaML for this, to ensure exact fusion along this idea, generating the fused code as output, so i could inspect it)
2023-10-31 20:34:24 +0100skistill needs to set up MetaOCaml ..
2023-10-31 20:34:41 +0100 <EvanR> how does build... uh work, what does the produced list do
2023-10-31 20:34:53 +0100 <ski> build f = f (:) []
2023-10-31 20:34:54 +0100 <EvanR> where does the first element if any come frmo
2023-10-31 20:35:33 +0100 <ski> build (\cons nil -> cons 2 (cons 3 (cons 5 (cons 7 nil)))) = 2 : 3 : 5 : 7 : []
2023-10-31 20:36:41 +0100 <ski> and there's a fusion rule (`RULES')
2023-10-31 20:36:45 +0100 <ski> foldr f z (build g) = g f z
2023-10-31 20:36:50 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
2023-10-31 20:37:37 +0100 <ski> so if your producer uses `build', and your consumer uses `foldr', it'll directly plug the `f' and `z' of the `foldr' into the producer
2023-10-31 20:38:33 +0100 <EvanR> it says forall b, but your function assumes nil is an empty list
2023-10-31 20:38:42 +0100 <EvanR> or, what if it's not an empty list
2023-10-31 20:38:48 +0100 <mauke> ?
2023-10-31 20:38:50 +0100htor(~htor@84.208.240.181)
2023-10-31 20:39:07 +0100 <ski> it could be `Bool', or whatever you (the one who calls `foldr') like
2023-10-31 20:39:50 +0100 <ski> foldr (const not) True -- to check the list has an even number of elements
2023-10-31 20:40:02 +0100 <ski> then `nil = True'. and `cons x xs = not xs'
2023-10-31 20:40:33 +0100 <EvanR> so the arguments to foldr as passed in, but what if you don't deconstruct it with foldr
2023-10-31 20:40:50 +0100 <ski> then the fusion rule won't fire
2023-10-31 20:40:59 +0100myyo(~myyo@75-166-145-203.hlrn.qwest.net) ()
2023-10-31 20:41:02 +0100 <EvanR> the type sig says a [a] is returned
2023-10-31 20:41:08 +0100 <ski> yep
2023-10-31 20:42:23 +0100 <ski> (if you consume with some `foo', and `foo' is defined to feed its list input to `foldr' (possibly after some more delegations), and all these unfoldings are available to the optimizer, then the fusion rule will still fire)
2023-10-31 20:42:33 +0100 <EvanR> so what is the 2nd argument to the rank 2 callback
2023-10-31 20:42:51 +0100 <ski> it's the "empty list result"
2023-10-31 20:42:59 +0100 <EvanR> of what
2023-10-31 20:43:02 +0100mosul(~mosul@ec2-34-227-227-91.compute-1.amazonaws.com)
2023-10-31 20:43:03 +0100 <mauke> "accumulator"
2023-10-31 20:43:10 +0100 <EvanR> is this an internal ghc thing and not supposed to make sense xD
2023-10-31 20:43:10 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b)
2023-10-31 20:43:15 +0100mosul(~mosul@ec2-34-227-227-91.compute-1.amazonaws.com) (Changing host)
2023-10-31 20:43:15 +0100mosul(~mosul@user/mosul)
2023-10-31 20:43:24 +0100 <ski> well .. it is supposed to make sense
2023-10-31 20:43:32 +0100 <monodoom> build foo = foo (:) [].
2023-10-31 20:43:44 +0100 <ski> that's the definition of `build', yes
2023-10-31 20:43:57 +0100 <EvanR> ok so `nil' is in fact an empty list
2023-10-31 20:44:02 +0100 <ski> the `RULES' thing is a GHC thing. but ignoring that, it's just plain (although somewhat unusual) Haskell
2023-10-31 20:44:04 +0100 <EvanR> unless there's a rewrite
2023-10-31 20:44:29 +0100 <ski> `nil' is whatever the consumer wants the empty list to be replaced with
2023-10-31 20:44:53 +0100 <ski> the producer will think of `nil' as "empty list", and `cons' as "add element in front of list"
2023-10-31 20:45:21 +0100 <EvanR> which is will literally be without rewrite rules
2023-10-31 20:45:25 +0100 <mauke> if build is not RULEd away, it will pass [] to the callback, yes
2023-10-31 20:45:26 +0100 <EvanR> it will*
2023-10-31 20:45:32 +0100 <ski> the consumer will think of `nil' as "what result do i want to give for the empty list", and `cons' as "how should i adapt the recursive result to account for one extra element at the start"
2023-10-31 20:45:56 +0100 <mauke> but the callback is not allowed to know that because b is generic
2023-10-31 20:46:12 +0100 <ski> EvanR : yes, assuming you call `build' on that polymorphic producer (and not call some other function on it)
2023-10-31 20:46:38 +0100 <monodoom> But then optimization kicks in when you have foldr op z (build foo) = foo op z.
2023-10-31 20:47:21 +0100 <monodoom> And yeah the purpose of that rank-2 type is so that build chooses b, and the caller of build doesn't.
2023-10-31 20:47:41 +0100 <monodoom> (So it chooses b=[a] :) )
2023-10-31 20:47:47 +0100 <EvanR> got it
2023-10-31 20:47:56 +0100 <ski> rank-2 can be used for "information hiding", hiding which particular type the implementation wants to use
2023-10-31 20:48:34 +0100 <ski> (as well as, obviously, using the polymorphic input at more than one type instantiation)
2023-10-31 20:48:35 +0100 <mauke> build is for creating a list in a regular, recursive way; foldr is for deconstructing/consuming a list in a regular, recursive way. the two cancel out ("fuse") as long as the list construction code can be made to not care about the actual type of the thing it's constructing
2023-10-31 20:50:20 +0100 <EvanR> so a consumer + a producer will cancel out, what about chaining... uh piping, uh stuff that goes between consumer and producer
2023-10-31 20:50:24 +0100 <ski> (i remember making a trace operation that was rank-2 in which monad its callback was to use. it then elected to use some particular monad (a `Writer', iirc), in order to achieve its goal of tracing recursive call of the callback code which couldn't itself make use of these extra effects of the monad)
2023-10-31 20:50:39 +0100 <mauke> EvanR: like map?
2023-10-31 20:50:45 +0100 <EvanR> yeah map
2023-10-31 20:50:48 +0100 <monodoom> transducers? like map f? that's also a foldr. :)
2023-10-31 20:50:55 +0100 <ski> EvanR : talking about a series "produce >-> transform >-> consume" ?
2023-10-31 20:51:17 +0100 <mauke> @src map
2023-10-31 20:51:17 +0100 <lambdabot> map _ [] = []
2023-10-31 20:51:17 +0100 <lambdabot> map f (x:xs) = f x : map f xs
2023-10-31 20:51:19 +0100 <ski> (or talking about bidirectiona communication between just two ?)
2023-10-31 20:51:21 +0100 <monodoom> Many transducers are easy examples of either foldr or build.
2023-10-31 20:51:21 +0100 <EvanR> ok so two foldrs over 1 build
2023-10-31 20:51:30 +0100 <EvanR> only 1 cancels?
2023-10-31 20:51:30 +0100 <mauke> hmm, that's not the nice one
2023-10-31 20:51:50 +0100 <EvanR> no not bidirectional IPC stuff
2023-10-31 20:51:52 +0100 <mauke> :t \f -> foldr (\x z -> f x : z) []
2023-10-31 20:51:54 +0100 <lambdabot> Foldable t1 => (t2 -> a) -> t1 t2 -> [a]
2023-10-31 20:51:58 +0100 <ski> EvanR : `foldr' around the list input. `build' wrapping the whole list output
2023-10-31 20:52:19 +0100 <ski> (but for `zipWith', i wanted two `foldr's, not just one)
2023-10-31 20:52:39 +0100 <mauke> :t (\f -> foldr ((:) . f) []) `asAppliedTo` []
2023-10-31 20:52:40 +0100 <lambdabot> error:
2023-10-31 20:52:40 +0100 <lambdabot> • Couldn't match expected type ‘a -> a1’ with actual type ‘[a0]’
2023-10-31 20:52:40 +0100 <lambdabot> • In the second argument of ‘asAppliedTo’, namely ‘[]’
2023-10-31 20:52:44 +0100 <mauke> oops
2023-10-31 20:52:54 +0100 <ski> @type \f -> foldr ((:) . f) []
2023-10-31 20:52:55 +0100 <lambdabot> Foldable t => (a1 -> a2) -> t a1 -> [a2]
2023-10-31 20:53:35 +0100 <mauke> that's a consumer (foldr) and a producer ((:) and [] are in there, too)
2023-10-31 20:54:10 +0100 <ski> @type \f xs -> GHC.Exts.build (\cons nil -> foldr (cons . f) nil xs)
2023-10-31 20:54:11 +0100 <lambdabot> Foldable t => (a1 -> a2) -> t a1 -> [a2]
2023-10-31 20:54:14 +0100 <monodoom> There are also foldr-map fusion and foldr-foldr fusion (under suitable conditions).
2023-10-31 20:55:25 +0100 <EvanR> ok so foldr (build (foldr (build ( could all collapse if you keep using rewrite rules
2023-10-31 20:55:37 +0100 <ski> aye
2023-10-31 20:56:40 +0100 <monodoom> OK map is also a build. I think that's what the library goes for for the rewrite rules, so foldr-map is just another foldr-build again.
2023-10-31 20:57:50 +0100dmadriano(~grpadrian@45.231.203.191)
2023-10-31 20:58:02 +0100dmadriano(~grpadrian@45.231.203.191) ()
2023-10-31 21:00:05 +0100 <mauke> "map" [~1] forall f xs. map f xs = build (\c n -> foldr (mapFB c f) n xs)
2023-10-31 21:00:23 +0100htor(~htor@84.208.240.181) (Quit: zzz)
2023-10-31 21:02:25 +0100pixelmonk(~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds)
2023-10-31 21:03:30 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2023-10-31 21:05:05 +0100htor(~htor@84.208.240.181)
2023-10-31 21:06:15 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 240 seconds)
2023-10-31 21:07:48 +0100Guest57(~Guest37@149.159.193.204) (Quit: Client closed)
2023-10-31 21:09:41 +0100vglfr(~vglfr@88.155.154.204) (Read error: Connection reset by peer)
2023-10-31 21:11:08 +0100danse-nr3(~danse@ba-19-155-131.service.infuturo.it)
2023-10-31 21:18:15 +0100ystael(~ystael@user/ystael) (Read error: Connection reset by peer)
2023-10-31 21:19:58 +0100danse-nr3(~danse@ba-19-155-131.service.infuturo.it) (Remote host closed the connection)
2023-10-31 21:20:21 +0100danse-nr3(~danse@ba-19-155-131.service.infuturo.it)
2023-10-31 21:20:36 +0100pixelmonk(~pixelmonk@50.205.76.66)
2023-10-31 21:21:00 +0100ystael(~ystael@user/ystael)
2023-10-31 21:23:35 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds)
2023-10-31 21:25:28 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-10-31 21:30:13 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-10-31 21:31:31 +0100pixelmonk(~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds)
2023-10-31 21:32:59 +0100pixelmonk(~pixelmonk@50.205.76.66)
2023-10-31 21:42:19 +0100danse-nr3(~danse@ba-19-155-131.service.infuturo.it) (Ping timeout: 255 seconds)
2023-10-31 21:42:20 +0100santiagopim(~user@90.167.66.131) (Remote host closed the connection)
2023-10-31 21:43:40 +0100lg188(~lg188@82.18.98.230) (Ping timeout: 255 seconds)
2023-10-31 21:46:32 +0100thegeekinside(~thegeekin@189.180.105.214) (Ping timeout: 272 seconds)
2023-10-31 21:46:58 +0100lg188(~lg188@82.18.98.230)
2023-10-31 21:47:19 +0100P1RATEZ(piratez@user/p1ratez)
2023-10-31 21:54:13 +0100Guest84(~Guest37@149.159.193.204)
2023-10-31 21:55:13 +0100ski(~ski@88.131.7.247) (Ping timeout: 258 seconds)
2023-10-31 21:56:51 +0100Guest84(~Guest37@149.159.193.204) (Client Quit)
2023-10-31 21:59:24 +0100danza(~francesco@151.47.166.232)
2023-10-31 22:03:37 +0100Pickchea(~private@user/pickchea)
2023-10-31 22:04:28 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-10-31 22:15:10 +0100son0p(~ff@181.136.122.143)
2023-10-31 22:28:22 +0100ph88(~ph88@2a02:8109:9e26:c800:87d5:3b0a:6da9:2216)
2023-10-31 22:37:47 +0100johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-10-31 22:39:06 +0100danza(~francesco@151.47.166.232) (Ping timeout: 272 seconds)
2023-10-31 22:39:09 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-10-31 22:51:09 +0100Nachtgespenst(~user@user/siracusa)
2023-10-31 22:51:51 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-10-31 23:02:48 +0100Sgeo(~Sgeo@user/sgeo)
2023-10-31 23:06:52 +0100thegman(~Srain@072-239-207-086.res.spectrum.com)
2023-10-31 23:09:14 +0100 <thegman> how fast is haskell in comparison to c(99) in things like prime number generation
2023-10-31 23:10:17 +0100Jackneill(~Jackneill@20014C4E1E03D80013DBDBD9C5A5A6D2.dsl.pool.telekom.hu) (Ping timeout: 255 seconds)
2023-10-31 23:10:44 +0100acidjnk(~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-10-31 23:12:39 +0100arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
2023-10-31 23:14:14 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 245 seconds)
2023-10-31 23:14:39 +0100dhil(~dhil@2001:8e0:2014:3100:40c1:f9a6:d657:e946) (Ping timeout: 245 seconds)
2023-10-31 23:14:56 +0100 <probie> thegman: Haskell and c99 are languages (perhaps you should ask about implementations, e.g. ghc and gcc?), and "prime number generation" is very broad, so I doubt you're going to get any meaningful responses
2023-10-31 23:15:19 +0100 <thegman> sorry i guess your right about that
2023-10-31 23:15:28 +0100 <thegman> basically what im asking is
2023-10-31 23:15:59 +0100 <thegman> if i have a very large mathematical program written in c99 and then i write the same thing in haskell would haskell be around the same speed
2023-10-31 23:16:22 +0100 <monodoom> I was hoping for someone to start opining and speculatiing on that. Then I could come in and ask the killer question "where is your data?" >:)
2023-10-31 23:17:18 +0100 <thegman> i was thinking about trying to learn some haskell because seemingly its pretty good for math related stuff but i dont know if i should just stick to only c
2023-10-31 23:18:43 +0100 <monodoom> Haskell is much less pain and micromanagement than C for this.
2023-10-31 23:18:50 +0100 <monodoom> I have no data about speed.
2023-10-31 23:19:40 +0100 <monodoom> But GHC simply calls libgmp for large integer crunching.
2023-10-31 23:21:11 +0100 <monodoom> But "math" is also too broad. For some areas, even Haskell is too much pain and micromanagement, and Mathematica is better.
2023-10-31 23:21:55 +0100thegman(~Srain@072-239-207-086.res.spectrum.com) (Remote host closed the connection)
2023-10-31 23:22:36 +0100 <monodoom> Unless static strong typing is desired, then Mathematica is too painfully error-prone. >:)
2023-10-31 23:27:52 +0100 <jackdk> Anecdote: I've been writing C recently for reasons, but I will still do a lot of supporting work in Haskell: prototyping, generating inputs, etc.
2023-10-31 23:28:32 +0100 <monodoom> What we have data for is that C is slower than Fortran. >:)
2023-10-31 23:28:58 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds)
2023-10-31 23:29:06 +0100 <monodoom> Plus the irony that Fortran is higher-level than C.
2023-10-31 23:29:38 +0100 <monodoom> even if just ever so slightly.
2023-10-31 23:30:37 +0100htor(~htor@84.208.240.181) (Quit: htor)
2023-10-31 23:30:38 +0100 <monodoom> This is what's wrong with echo chambers, believing opinion leaders, and herd psychology.
2023-10-31 23:30:50 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-10-31 23:30:58 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-31 23:35:25 +0100 <monodoom> But happy Halloween! Have a pumpkin catmorphism: https://www.vex.net/~trebla/photo/unorganized/pumpkin-catmorphism.jpg
2023-10-31 23:36:55 +0100wroathe(~wroathe@user/wroathe)
2023-10-31 23:37:00 +0100wroathe(~wroathe@user/wroathe) (Client Quit)
2023-10-31 23:37:10 +0100wroathe(~wroathe@user/wroathe)
2023-10-31 23:38:10 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-31 23:41:27 +0100misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds)
2023-10-31 23:42:47 +0100nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-10-31 23:47:06 +0100Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 260 seconds)
2023-10-31 23:50:07 +0100chomwitt(~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds)
2023-10-31 23:51:20 +0100son0p(~ff@181.136.122.143) (Ping timeout: 255 seconds)
2023-10-31 23:54:19 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 264 seconds)
2023-10-31 23:59:39 +0100 <juri_> haskell floating point. Boo!