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 +0100 | coot | (~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 +0100 | danza | (~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 +0100 | acidjnk | (~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 +0100 | xstill_1 | (xstill@fimu/xstill) |
2023-10-31 00:11:02 +0100 | <EvanR> | nvm, perfectly cromulent |
2023-10-31 00:11:13 +0100 | drdo3 | (~drdo@bl14-14-49.dsl.telepac.pt) |
2023-10-31 00:11:39 +0100 | orcus | (~orcus@mail.brprice.uk) |
2023-10-31 00:11:43 +0100 | tabemann__ | (~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 +0100 | sefidel_ | (~sefidel@user/sefidel) |
2023-10-31 00:11:58 +0100 | pieguy128 | (~pieguy128@65.92.163.232) |
2023-10-31 00:11:58 +0100 | terrorjack4 | (~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 +0100 | raoul6 | (~raoul@95.179.203.88) |
2023-10-31 00:12:16 +0100 | qhong_ | (~qhong@rescomp-21-400677.stanford.edu) |
2023-10-31 00:12:22 +0100 | jrm2 | (~jrm@user/jrm) |
2023-10-31 00:12:35 +0100 | carter_ | (sid14827@id-14827.helmsley.irccloud.com) |
2023-10-31 00:12:37 +0100 | MironZ0 | (~MironZ@nat-infra.ehlab.uk) |
2023-10-31 00:12:50 +0100 | img_ | (~img@user/img) |
2023-10-31 00:12:54 +0100 | mniip_ | (mniip@libera/staff/mniip) |
2023-10-31 00:12:58 +0100 | alanz_ | (sid110616@id-110616.uxbridge.irccloud.com) |
2023-10-31 00:13:05 +0100 | gaze_____ | (sid387101@id-387101.helmsley.irccloud.com) |
2023-10-31 00:13:05 +0100 | rembo10_ | (~rembo10@main.remulis.com) |
2023-10-31 00:13:10 +0100 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-31 00:13:22 +0100 | tomsmeding_ | (~tomsmedin@static.21.109.88.23.clients.your-server.de) |
2023-10-31 00:14:02 +0100 | xnbya2 | (~xnbya@2a01:4f8:c17:cbdd::1) |
2023-10-31 00:14:19 +0100 | maxfan8_ | (~max@2a01:4f8:192:5356::2) |
2023-10-31 00:14:30 +0100 | drdo | (~drdo@bl14-14-49.dsl.telepac.pt) (Killed (NickServ (GHOST command used by drdo3))) |
2023-10-31 00:14:35 +0100 | drdo3 | drdo |
2023-10-31 00:14:35 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 246 seconds) |
2023-10-31 00:14:48 +0100 | raym_ | (~ray@user/raym) |
2023-10-31 00:14:54 +0100 | mal1 | (~mal@ns2.wyrd.be) |
2023-10-31 00:15:01 +0100 | bw___ | (sid2730@id-2730.ilkley.irccloud.com) |
2023-10-31 00:15:22 +0100 | euleritian | (~euleritia@dynamic-046-114-203-112.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-31 00:15:22 +0100 | Angelz | (Angelz@angelz.oddprotocol.org) (Ping timeout: 264 seconds) |
2023-10-31 00:15:22 +0100 | sefidel | (~sefidel@user/sefidel) (Read error: Connection reset by peer) |
2023-10-31 00:15:22 +0100 | pieguy128_ | (~pieguy128@65.92.163.232) (Ping timeout: 264 seconds) |
2023-10-31 00:15:22 +0100 | gaze____ | (sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2023-10-31 00:15:22 +0100 | carter | (sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2023-10-31 00:15:22 +0100 | bw__ | (sid2730@id-2730.ilkley.irccloud.com) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | img | (~img@user/img) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | rembo10 | (~rembo10@main.remulis.com) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | tabemann_ | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | jrm | (~jrm@user/jrm) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | qhong | (~qhong@rescomp-21-400677.stanford.edu) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | T_S____ | (sid501726@id-501726.uxbridge.irccloud.com) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | MironZ | (~MironZ@nat-infra.ehlab.uk) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | xstill_ | (xstill@fimu/xstill) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | geekosaur | (sid609282@xmonad/geekosaur) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | raoul | (~raoul@95.179.203.88) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | krjt | (~krjst@2604:a880:800:c1::16b:8001) (Ping timeout: 264 seconds) |
2023-10-31 00:15:23 +0100 | lieven | (~mal@ns2.wyrd.be) (Ping timeout: 264 seconds) |
2023-10-31 00:15:24 +0100 | maxfan8 | (~max@2a01:4f8:192:5356::2) (Ping timeout: 264 seconds) |
2023-10-31 00:15:24 +0100 | yj2 | (echo@user/yjj3) (Ping timeout: 264 seconds) |
2023-10-31 00:15:24 +0100 | raym | (~ray@user/raym) (Remote host closed the connection) |
2023-10-31 00:15:24 +0100 | flocks | (~flocks@134.122.90.60) (Read error: Connection reset by peer) |
2023-10-31 00:15:24 +0100 | tomsmeding | (~tomsmedin@2a01:4f8:c0c:5e5e::2) (Read error: Connection reset by peer) |
2023-10-31 00:15:25 +0100 | orcus- | (~orcus@mail.brprice.uk) (Ping timeout: 264 seconds) |
2023-10-31 00:15:25 +0100 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) (Ping timeout: 264 seconds) |
2023-10-31 00:15:25 +0100 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 264 seconds) |
2023-10-31 00:15:25 +0100 | dove | (~irc@2600:3c00:e000:287::1) (Ping timeout: 264 seconds) |
2023-10-31 00:15:25 +0100 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Ping timeout: 264 seconds) |
2023-10-31 00:15:25 +0100 | shane | (~shane@ana.rch.ist) (Ping timeout: 264 seconds) |
2023-10-31 00:15:25 +0100 | welterde | (welterde@thinkbase.srv.welterde.de) (Ping timeout: 264 seconds) |
2023-10-31 00:15:25 +0100 | carter_ | carter |
2023-10-31 00:15:26 +0100 | raoul6 | raoul |
2023-10-31 00:15:26 +0100 | sefidel_ | sefidel |
2023-10-31 00:15:26 +0100 | MironZ0 | MironZ |
2023-10-31 00:15:26 +0100 | jrm2 | jrm |
2023-10-31 00:15:26 +0100 | terrorjack4 | terrorjack |
2023-10-31 00:15:26 +0100 | alanz_ | alanz |
2023-10-31 00:15:26 +0100 | xstill_1 | xstill_ |
2023-10-31 00:15:30 +0100 | dove | (~irc@2600:3c00:e000:287::1) |
2023-10-31 00:15:32 +0100 | flocks_ | (~flocks@134.122.90.60) |
2023-10-31 00:15:35 +0100 | yj2 | (echo@user/yjj3) |
2023-10-31 00:15:35 +0100 | shane | (~shane@ana.rch.ist) |
2023-10-31 00:15:39 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-31 00:15:41 +0100 | mniip | (mniip@libera/staff/mniip) (Read error: Connection reset by peer) |
2023-10-31 00:15:53 +0100 | Hobbyboy | (Hobbyboy@hobbyboy.co.uk) (Read error: Connection reset by peer) |
2023-10-31 00:15:57 +0100 | krj | (~krjst@2604:a880:800:c1::16b:8001) |
2023-10-31 00:16:07 +0100 | geekosaur | (sid609282@xmonad/geekosaur) |
2023-10-31 00:16:15 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-10-31 00:17:48 +0100 | T_S____ | (sid501726@id-501726.uxbridge.irccloud.com) |
2023-10-31 00:18:01 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
2023-10-31 00:18:26 +0100 | Hobbyboy | (Hobbyboy@hobbyboy.co.uk) |
2023-10-31 00:23:51 +0100 | komikat | (~akshitkr@218.185.248.66) (Ping timeout: 240 seconds) |
2023-10-31 00:26:36 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 240 seconds) |
2023-10-31 00:26:37 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-10-31 00:26:41 +0100 | welterde | (welterde@thinkbase.srv.welterde.de) |
2023-10-31 00:27:29 +0100 | Angelz | (Angelz@Angelz.oddprotocol.org) |
2023-10-31 00:29:16 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-31 00:30:27 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-31 00:33:32 +0100 | forell | (~forell@user/forell) (Ping timeout: 255 seconds) |
2023-10-31 00:41:31 +0100 | forell | (~forell@user/forell) |
2023-10-31 00:44:47 +0100 | htor | (~htor@84.208.240.181) |
2023-10-31 00:46:12 +0100 | forell | (~forell@user/forell) (Ping timeout: 272 seconds) |
2023-10-31 00:49:10 +0100 | mniip_ | mniip |
2023-10-31 00:52:53 +0100 | juri_ | (~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 260 seconds) |
2023-10-31 00:53:55 +0100 | forell | (~forell@user/forell) |
2023-10-31 00:54:35 +0100 | swistak | (~swistak@185.21.216.141) (Ping timeout: 240 seconds) |
2023-10-31 01:03:16 +0100 | swistak | (~swistak@185.21.216.141) |
2023-10-31 01:05:56 +0100 | htor | (~htor@84.208.240.181) (Ping timeout: 255 seconds) |
2023-10-31 01:09:22 +0100 | htor | (~htor@telia-2e0f4e-8.connect.netcom.no) |
2023-10-31 01:10:37 +0100 | swistak | (~swistak@185.21.216.141) (Read error: Connection reset by peer) |
2023-10-31 01:10:47 +0100 | swistak- | (~swistak@185.21.216.141) |
2023-10-31 01:11:43 +0100 | forell | (~forell@user/forell) (Ping timeout: 264 seconds) |
2023-10-31 01:15:53 +0100 | forell | (~forell@user/forell) |
2023-10-31 01:16:24 +0100 | juri_ | (~juri@84-19-175-187.pool.ovpn.com) |
2023-10-31 01:28:26 +0100 | Ascension | (~Ascension@176.254.244.83) (Ping timeout: 246 seconds) |
2023-10-31 01:29:48 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
2023-10-31 01:31:22 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-31 01:33:22 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
2023-10-31 01:33:39 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-10-31 01:33:53 +0100 | Ascension | (~Ascension@176.254.244.83) |
2023-10-31 01:34:20 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
2023-10-31 01:35:26 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-10-31 01:38:51 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
2023-10-31 01:39:47 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-31 01:41:00 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2023-10-31 01:43:33 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-10-31 01:45:19 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
2023-10-31 01:47:33 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-31 01:57:16 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 248 seconds) |
2023-10-31 02:00:19 +0100 | forell | (~forell@user/forell) (Ping timeout: 264 seconds) |
2023-10-31 02:01:14 +0100 | forell | (~forell@user/forell) |
2023-10-31 02:01:36 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-31 02:02:51 +0100 | htor | (~htor@telia-2e0f4e-8.connect.netcom.no) (Quit: htor) |
2023-10-31 02:03:24 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
2023-10-31 02:05:38 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-10-31 02:06:27 +0100 | gdr3941 | (~user@2600:1700:4770:3bc0:9d91:2119:734f:bda4) |
2023-10-31 02:08:16 +0100 | thegeekinside | (~thegeekin@189.180.105.214) |
2023-10-31 02:09:02 +0100 | sabino | (~sabino@user/sabino) (Ping timeout: 255 seconds) |
2023-10-31 02:10:53 +0100 | sabino | (~sabino@user/sabino) |
2023-10-31 02:11:53 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2023-10-31 02:17:53 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-10-31 02:21:03 +0100 | gdr3941 | (~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 +0100 | khumba | (~khumba@user/khumba) |
2023-10-31 02:41:28 +0100 | ru0mad | (~ru0mad@moon.ruomad.net) (Ping timeout: 272 seconds) |
2023-10-31 02:42:18 +0100 | mud | (~mud@user/kadoban) (Quit: quit) |
2023-10-31 02:55:08 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 256 seconds) |
2023-10-31 02:55:13 +0100 | John_Ivan_ | (~John_Ivan@user/john-ivan/x-1515935) (Ping timeout: 255 seconds) |
2023-10-31 02:55:29 +0100 | Square2 | (~Square@user/square) (Ping timeout: 245 seconds) |
2023-10-31 02:58:06 +0100 | edr | (~edr@user/edr) (Quit: Leaving) |
2023-10-31 03:15:17 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2023-10-31 03:16:51 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-10-31 03:19:05 +0100 | haritz | (~hrtz@user/haritz) (Ping timeout: 240 seconds) |
2023-10-31 03:24:01 +0100 | sabino | (~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 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-31 03:30:50 +0100 | otto_s | (~user@p5de2f5cb.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2023-10-31 03:32:24 +0100 | otto_s | (~user@p5de2f514.dip0.t-ipconnect.de) |
2023-10-31 03:35:43 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-10-31 03:36:55 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds) |
2023-10-31 03:38:14 +0100 | haritz | (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
2023-10-31 03:38:14 +0100 | haritz | (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
2023-10-31 03:38:14 +0100 | haritz | (~hrtz@user/haritz) |
2023-10-31 03:46:37 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 04:02:45 +0100 | drewjose | (~drewjose@129.154.40.88) (Remote host closed the connection) |
2023-10-31 04:02:47 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-10-31 04:05:35 +0100 | td_ | (~td@i5387092F.versanet.de) (Ping timeout: 240 seconds) |
2023-10-31 04:05:41 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-10-31 04:06:50 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-10-31 04:07:44 +0100 | td_ | (~td@i53870904.versanet.de) |
2023-10-31 04:10:03 +0100 | paddymahoney | (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
2023-10-31 04:12:19 +0100 | khumba | (~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 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-10-31 04:12:32 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-10-31 04:12:32 +0100 | finn_elija | FinnElija |
2023-10-31 04:15:37 +0100 | gentauro | (~gentauro@user/gentauro) (Ping timeout: 255 seconds) |
2023-10-31 04:21:00 +0100 | Inst | (~Inst@120.244.192.250) (Remote host closed the connection) |
2023-10-31 04:21:17 +0100 | Inst | (~Inst@120.244.192.250) |
2023-10-31 04:22:24 +0100 | gentauro | (~gentauro@user/gentauro) |
2023-10-31 04:29:12 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-31 04:30:40 +0100 | rgw | (~R@2605:a601:a0df:5600:c969:41cd:947d:4b48) (Read error: Connection reset by peer) |
2023-10-31 04:39:48 +0100 | Hooloovoo | Hoolooboo |
2023-10-31 04:40:32 +0100 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 272 seconds) |
2023-10-31 04:41:42 +0100 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) |
2023-10-31 04:56:29 +0100 | afh5312 | (~afh5312@2600:4041:5acc:5800:5cfc:4012:d0e4:e0cb) |
2023-10-31 04:57:00 +0100 | afh5312 | (~afh5312@2600:4041:5acc:5800:5cfc:4012:d0e4:e0cb) (Client Quit) |
2023-10-31 04:57:18 +0100 | hiyori | (~hiyori@user/hiyori) |
2023-10-31 05:24:17 +0100 | rosco | (~rosco@yp-150-69.tm.net.my) |
2023-10-31 05:31:10 +0100 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) |
2023-10-31 05:37:24 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds) |
2023-10-31 05:40:10 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-10-31 05:40:40 +0100 | aforemny | (~aforemny@2001:9e8:6cf3:2b00:2f73:3d2b:9ae5:6d60) |
2023-10-31 05:41:26 +0100 | aforemny_ | (~aforemny@i59F516F6.versanet.de) (Ping timeout: 255 seconds) |
2023-10-31 05:44:08 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
2023-10-31 05:45:38 +0100 | vglfr | (~vglfr@88.155.154.204) |
2023-10-31 05:53:22 +0100 | thegeekinside | (~thegeekin@189.180.105.214) (Ping timeout: 272 seconds) |
2023-10-31 06:03:02 +0100 | hueso | (~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 +0100 | hueso | (~root@user/hueso) |
2023-10-31 06:21:51 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
2023-10-31 06:30:24 +0100 | vglfr | (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
2023-10-31 06:34:42 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 06:38:30 +0100 | monodoom | (trebla@216.138.220.146) (Quit: ZNC 1.8.2+deb3build2 - https://znc.in) |
2023-10-31 06:38:41 +0100 | Inst | (~Inst@120.244.192.250) (Remote host closed the connection) |
2023-10-31 06:39:06 +0100 | Inst | (~Inst@120.244.192.250) |
2023-10-31 06:40:31 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
2023-10-31 06:53:00 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 06:54:23 +0100 | monodoom | (trebla@216.138.220.146) |
2023-10-31 06:58:17 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds) |
2023-10-31 07:01:09 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 07:06:55 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
2023-10-31 07:07:14 +0100 | echoreply | (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
2023-10-31 07:08:20 +0100 | vglfr | (~vglfr@88.155.154.204) |
2023-10-31 07:08:34 +0100 | echoreply | (~echoreply@45.32.163.16) |
2023-10-31 07:17:01 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) |
2023-10-31 07:17:01 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) (Changing host) |
2023-10-31 07:17:01 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-10-31 07:17:23 +0100 | paddymahoney | (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) |
2023-10-31 07:17:45 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 07:22:26 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
2023-10-31 07:22:43 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Read error: Connection reset by peer) |
2023-10-31 07:22:43 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer) |
2023-10-31 07:22:43 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Read error: Connection reset by peer) |
2023-10-31 07:22:44 +0100 | califax | (~califax@user/califx) (Read error: Connection reset by peer) |
2023-10-31 07:22:44 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer) |
2023-10-31 07:22:44 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-10-31 07:22:44 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-10-31 07:22:58 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-10-31 07:23:09 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2023-10-31 07:23:11 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-10-31 07:23:12 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-10-31 07:23:27 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-10-31 07:23:32 +0100 | califax | (~califax@user/califx) |
2023-10-31 07:23:45 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-10-31 07:30:05 +0100 | hueso | (~root@user/hueso) (Ping timeout: 240 seconds) |
2023-10-31 07:30:10 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 07:31:55 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-31 07:33:01 +0100 | hueso | (~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 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 248 seconds) |
2023-10-31 07:36:35 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-10-31 07:37:13 +0100 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 255 seconds) |
2023-10-31 07:37:40 +0100 | chomwitt | (~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1) |
2023-10-31 07:37:43 +0100 | biberu\ | (~biberu@user/biberu) |
2023-10-31 07:41:40 +0100 | biberu | (~biberu@user/biberu) (Ping timeout: 272 seconds) |
2023-10-31 07:41:41 +0100 | biberu\ | biberu |
2023-10-31 07:41:49 +0100 | michalz | (~michalz@185.246.207.222) |
2023-10-31 07:47:26 +0100 | cyphase | (~cyphase@user/cyphase) |
2023-10-31 07:47:52 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 07:48:45 +0100 | sm | (~sm@plaintextaccounting/sm) |
2023-10-31 07:53:03 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
2023-10-31 08:00:00 +0100 | hiyori64 | (~hiyori@user/hiyori) |
2023-10-31 08:01:01 +0100 | hiyori64 | (~hiyori@user/hiyori) (Client Quit) |
2023-10-31 08:02:57 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-10-31 08:03:54 +0100 | hiyori | (~hiyori@user/hiyori) (Quit: Client closed) |
2023-10-31 08:07:52 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 08:09:54 +0100 | leah2 | (~leah@vuxu.org) (Ping timeout: 258 seconds) |
2023-10-31 08:13:20 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds) |
2023-10-31 08:18:08 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Read error: Connection reset by peer) |
2023-10-31 08:18:43 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-10-31 08:21:36 +0100 | CiaoSen | (~Jura@2a05:5800:285:a000:664b:f0ff:fe37:9ef) |
2023-10-31 08:23:06 +0100 | chele | (~chele@user/chele) |
2023-10-31 08:24:48 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 08:30:13 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
2023-10-31 08:30:14 +0100 | Inst | (~Inst@120.244.192.250) (Remote host closed the connection) |
2023-10-31 08:30:39 +0100 | Inst | (~Inst@120.244.192.250) |
2023-10-31 08:33:20 +0100 | ham | (~ham@user/ham) (Ping timeout: 255 seconds) |
2023-10-31 08:43:54 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 08:47:43 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds) |
2023-10-31 08:48:10 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 256 seconds) |
2023-10-31 08:48:44 +0100 | califax | (~califax@user/califx) (Ping timeout: 256 seconds) |
2023-10-31 08:48:53 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-10-31 08:49:19 +0100 | rosco | (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
2023-10-31 08:49:31 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
2023-10-31 08:50:00 +0100 | califax | (~califax@user/califx) |
2023-10-31 08:50:35 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-10-31 08:53:26 +0100 | acidjnk | (~acidjnk@p200300d6e72b9347b1a7e14a96809416.dip0.t-ipconnect.de) |
2023-10-31 08:54:22 +0100 | danza | (~francesco@151.47.60.250) |
2023-10-31 08:55:49 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-10-31 08:57:24 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
2023-10-31 08:59:07 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 264 seconds) |
2023-10-31 08:59:14 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 09:01:04 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2023-10-31 09:01:15 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-10-31 09:02:35 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8059:24c1:b008:c079) (Remote host closed the connection) |
2023-10-31 09:03:53 +0100 | ubert | (~Thunderbi@178.165.194.145.wireless.dyn.drei.com) |
2023-10-31 09:05:16 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds) |
2023-10-31 09:14:53 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-10-31 09:16:11 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 09:17:01 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-10-31 09:18:16 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-10-31 09:18:32 +0100 | arahael | (~arahael@1.145.40.124) |
2023-10-31 09:18:51 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-10-31 09:20:52 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-10-31 09:21:23 +0100 | tv | (~tv@user/tv) (Ping timeout: 255 seconds) |
2023-10-31 09:21:35 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
2023-10-31 09:23:17 +0100 | Simikando | (~Simikando@adsl-dyn216.91-127-84.t-com.sk) |
2023-10-31 09:26:39 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2023-10-31 09:27:06 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-10-31 09:31:19 +0100 | danza | (~francesco@151.47.60.250) (Ping timeout: 245 seconds) |
2023-10-31 09:34:16 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-10-31 09:34:21 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 09:34:52 +0100 | tv | (~tv@user/tv) |
2023-10-31 09:35:08 +0100 | TheCatCollective | (NyaaTheKit@user/calculuscat) |
2023-10-31 09:35:23 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2023-10-31 09:35:46 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2023-10-31 09:37:11 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-10-31 09:40:06 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds) |
2023-10-31 09:40:30 +0100 | leah2 | (~leah@vuxu.org) |
2023-10-31 09:41:29 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) |
2023-10-31 09:41:29 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) (Changing host) |
2023-10-31 09:41:29 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-10-31 09:41:53 +0100 | danse-nr3 | (~danse@151.79.204.38) |
2023-10-31 09:42:08 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:5c13:771e:33d7:3f71) |
2023-10-31 09:45:55 +0100 | eggplant_ | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
2023-10-31 09:46:34 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:5c13:771e:33d7:3f71) (Ping timeout: 252 seconds) |
2023-10-31 09:47:06 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-31 09:49:02 +0100 | Simikando | (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Quit: Leaving) |
2023-10-31 09:50:25 +0100 | eggplant_ | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 252 seconds) |
2023-10-31 09:53:46 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 09:55:55 +0100 | qqq | (~qqq@92.43.167.61) (Ping timeout: 252 seconds) |
2023-10-31 09:56:27 +0100 | rachelambda | (~rachelamb@cust-95-80-25-71.csbnet.se) |
2023-10-31 09:58:39 +0100 | tomsmeding_ | tomsmeding |
2023-10-31 09:59:13 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 252 seconds) |
2023-10-31 10:06:02 +0100 | Hoolooboo | (~Hooloovoo@hax0rbana.org) (Ping timeout: 255 seconds) |
2023-10-31 10:06:49 +0100 | Hooloovoo | (~Hooloovoo@hax0rbana.org) |
2023-10-31 10:07:41 +0100 | Inst | (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
2023-10-31 10:12:20 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 10:12:43 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-10-31 10:14:24 +0100 | applecat | (~Srain@116.204.144.69) |
2023-10-31 10:17:27 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
2023-10-31 10:21:03 +0100 | applecat | (~Srain@116.204.144.69) (Ping timeout: 240 seconds) |
2023-10-31 10:26:31 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-10-31 10:29:35 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 10:34:35 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
2023-10-31 10:35:29 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2023-10-31 10:36:00 +0100 | komikat | (~akshitkr@14.139.82.6) |
2023-10-31 10:36:06 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-10-31 10:39:19 +0100 | danse-nr3 | (~danse@151.79.204.38) (Ping timeout: 264 seconds) |
2023-10-31 10:40:09 +0100 | danse-nr3 | (~danse@151.79.204.38) |
2023-10-31 10:45:40 +0100 | danse-nr3 | (~danse@151.79.204.38) (Remote host closed the connection) |
2023-10-31 10:48:01 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 10:48:31 +0100 | danse-nr3 | (~danse@151.79.204.38) |
2023-10-31 10:53:43 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
2023-10-31 11:00:19 +0100 | CiaoSen | (~Jura@2a05:5800:285:a000:664b:f0ff:fe37:9ef) (Ping timeout: 264 seconds) |
2023-10-31 11:00:55 +0100 | htor | (htor@gateway/vpn/airvpn/htor) |
2023-10-31 11:01:36 +0100 | phma | (phma@2001:5b0:211f:d828:d963:986:c941:cee8) (Read error: Connection reset by peer) |
2023-10-31 11:02:41 +0100 | phma | (phma@2001:5b0:2143:d188:322e:c0e7:31f:f4) |
2023-10-31 11:03:39 +0100 | htor | (htor@gateway/vpn/airvpn/htor) (Read error: Connection reset by peer) |
2023-10-31 11:04:06 +0100 | komikat | (~akshitkr@14.139.82.6) (Ping timeout: 260 seconds) |
2023-10-31 11:05:31 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 11:06:46 +0100 | htor | (htor@gateway/vpn/airvpn/htor) |
2023-10-31 11:08:08 +0100 | zmt00 | (~zmt00@user/zmt00) |
2023-10-31 11:09:41 +0100 | swamp_ | (~zmt00@user/zmt00) (Ping timeout: 258 seconds) |
2023-10-31 11:10:41 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-10-31 11:11:10 +0100 | cfricke | (~cfricke@user/cfricke) |
2023-10-31 11:11:29 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-10-31 11:12:40 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 256 seconds) |
2023-10-31 11:12:59 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds) |
2023-10-31 11:13:34 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-10-31 11:15:03 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-10-31 11:16:12 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-10-31 11:16:35 +0100 | vglfr | (~vglfr@88.155.154.204) (Ping timeout: 258 seconds) |
2023-10-31 11:18:25 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2023-10-31 11:18:55 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-10-31 11:24:03 +0100 | applecat | (~Srain@116.204.144.69) |
2023-10-31 11:24:20 +0100 | arahael | (~arahael@1.145.40.124) (Ping timeout: 255 seconds) |
2023-10-31 11:24:36 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 11:30:00 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 258 seconds) |
2023-10-31 11:33:26 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-31 11:37:51 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-10-31 11:38:09 +0100 | fendor | (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) |
2023-10-31 11:38:14 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
2023-10-31 11:41:53 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 11:45:05 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2023-10-31 11:45:48 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-10-31 11:46:54 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-10-31 11:47:03 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
2023-10-31 11:58:34 +0100 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-31 11:59:44 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 12:09:32 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 248 seconds) |
2023-10-31 12:13:02 +0100 | lorenzo | (~lorenzo@2a01:e0a:541:b8f0:9821:9dbb:bb8c:cf89) |
2023-10-31 12:14:10 +0100 | sm | (~sm@plaintextaccounting/sm) |
2023-10-31 12:14:41 +0100 | snowsauce | (~snowsauce@pa9-84-91-207-96.netvisao.pt) (Ping timeout: 260 seconds) |
2023-10-31 12:23:27 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 12:25:22 +0100 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-31 12:28:48 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
2023-10-31 12:32:14 +0100 | danse-nr3 | (~danse@151.79.204.38) (Remote host closed the connection) |
2023-10-31 12:32:35 +0100 | danse-nr3 | (~danse@151.79.204.38) |
2023-10-31 12:40:51 +0100 | __monty__ | (~toonn@user/toonn) |
2023-10-31 12:42:58 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 12:43:37 +0100 | ph88 | (~ph88@2a02:8109:9e26:c800:4977:3b85:6381:972) |
2023-10-31 12:44:20 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-10-31 12:44:46 +0100 | ph88 | (~ph88@2a02:8109:9e26:c800:4977:3b85:6381:972) (Client Quit) |
2023-10-31 12:47:12 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2023-10-31 12:48:31 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
2023-10-31 12:49:33 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-10-31 12:50:49 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 12:55:35 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 255 seconds) |
2023-10-31 12:56:43 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
2023-10-31 13:05:35 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 240 seconds) |
2023-10-31 13:06:47 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2023-10-31 13:09:10 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 13:14:29 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds) |
2023-10-31 13:14:50 +0100 | Labbekak | (~Labbekak@51.138.53.46) |
2023-10-31 13:18:34 +0100 | htor | (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 +0100 | danse-nr3 | (~danse@151.79.204.38) (Ping timeout: 260 seconds) |
2023-10-31 13:22:31 +0100 | applecat | (~Srain@116.204.144.69) (Ping timeout: 264 seconds) |
2023-10-31 13:23:05 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
2023-10-31 13:24:58 +0100 | motherfsck | (~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 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
2023-10-31 13:31:28 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2023-10-31 13:35:38 +0100 | mmhat | (~mmh@p200300f1c7445e35ee086bfffe095315.dip0.t-ipconnect.de) |
2023-10-31 13:35:50 +0100 | mmhat | (~mmh@p200300f1c7445e35ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-10-31 13:38:09 +0100 | snowsauce | (~snowsauce@pa9-84-91-207-96.netvisao.pt) |
2023-10-31 13:39:36 +0100 | <kuribas> | not sure... |
2023-10-31 13:39:43 +0100 | santiagopim | (~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 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 13:47:53 +0100 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-10-31 13:49:38 +0100 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) |
2023-10-31 13:49:48 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
2023-10-31 13:52:47 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) |
2023-10-31 14:02:07 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 14:07:05 +0100 | pixelmonk | (~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 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
2023-10-31 14:11:42 +0100 | CO2 | (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 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-31 14:21:27 +0100 | danse-nr3 | (~danse@fi-19-197-201.service.infuturo.it) |
2023-10-31 14:23:28 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-10-31 14:42:15 +0100 | danse-nr3 | (~danse@fi-19-197-201.service.infuturo.it) (Remote host closed the connection) |
2023-10-31 14:42:22 +0100 | pixelmonk | (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Quit: WeeChat 4.1.0) |
2023-10-31 14:42:40 +0100 | danse-nr3 | (~danse@fi-19-197-201.service.infuturo.it) |
2023-10-31 14:42:44 +0100 | htor | (htor@gateway/vpn/airvpn/htor) |
2023-10-31 14:43:57 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.0.5) |
2023-10-31 14:45:04 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-10-31 14:45:41 +0100 | friendshipaka | (~Friendshi@user/Friendship) |
2023-10-31 14:48:05 +0100 | vpan | (~vpan@212.117.1.172) |
2023-10-31 14:48:57 +0100 | Friendship | (~Friendshi@user/Friendship) (Ping timeout: 258 seconds) |
2023-10-31 14:49:00 +0100 | John_Ivan_ | (~John_Ivan@user/john-ivan/x-1515935) |
2023-10-31 14:50:34 +0100 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
2023-10-31 14:53:34 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
2023-10-31 14:53:49 +0100 | lg188 | (~lg188@82.18.98.230) |
2023-10-31 14:54:46 +0100 | lg188 | (~lg188@82.18.98.230) (Client Quit) |
2023-10-31 15:02:09 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 245 seconds) |
2023-10-31 15:04:17 +0100 | thegeekinside | (~thegeekin@189.180.105.214) |
2023-10-31 15:05:50 +0100 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
2023-10-31 15:07:58 +0100 | lg188 | (~lg188@82.18.98.230) |
2023-10-31 15:12:10 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2023-10-31 15:13:16 +0100 | thegeekinside | (~thegeekin@189.180.105.214) (Ping timeout: 252 seconds) |
2023-10-31 15:13:31 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-10-31 15:19:34 +0100 | Labbekak | (~Labbekak@51.138.53.46) (Quit: Client closed) |
2023-10-31 15:22:05 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2023-10-31 15:22:49 +0100 | thegeekinside | (~thegeekin@189.180.105.214) |
2023-10-31 15:22:54 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
2023-10-31 15:23:22 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-31 15:23:39 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-31 15:26:03 +0100 | lg188 | (~lg188@82.18.98.230) (Quit: Bye.) |
2023-10-31 15:32:05 +0100 | lg188 | (~lg188@82.18.98.230) |
2023-10-31 15:34:00 +0100 | califax | (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-10-31 15:34:46 +0100 | califax | (~califax@user/califx) |
2023-10-31 15:34:55 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-31 15:39:55 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-10-31 15:42:39 +0100 | acidjnk | (~acidjnk@p200300d6e72b9347b1a7e14a96809416.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2023-10-31 15:48:28 +0100 | CO2 | (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 +0100 | kitzman | (~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 +0100 | kitzman | (~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 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 264 seconds) |
2023-10-31 16:03:01 +0100 | mud | (~mud@user/kadoban) |
2023-10-31 16:07:17 +0100 | kiriakos | (~kiriakos@p5b03e4f0.dip0.t-ipconnect.de) |
2023-10-31 16:07:26 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-31 16:08:48 +0100 | lg188 | (~lg188@82.18.98.230) (Quit: Bye.) |
2023-10-31 16:09:42 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-31 16:11:37 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2023-10-31 16:11:48 +0100 | htor | (htor@gateway/vpn/airvpn/htor) (Quit: htor) |
2023-10-31 16:15:33 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) |
2023-10-31 16:18:20 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-31 16:22:01 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-10-31 16:31:15 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.0) |
2023-10-31 16:32:25 +0100 | qqq | (~qqq@92.43.167.61) |
2023-10-31 16:34:26 +0100 | wib_jonas | (~wib_jonas@business-37-191-60-209.business.broadband.hu) |
2023-10-31 16:35:51 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 240 seconds) |
2023-10-31 16:36:15 +0100 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2023-10-31 16:41:31 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-10-31 16:41:36 +0100 | dtman34 | (~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 +0100 | lg188 | (~lg188@82.18.98.230) |
2023-10-31 16:48:44 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
2023-10-31 16:53:17 +0100 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
2023-10-31 16:54:14 +0100 | dtman34 | (~dtman34@2601:447:d000:93c9:2ba4:705:87cf:da8f) (Ping timeout: 245 seconds) |
2023-10-31 16:55:23 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-10-31 16:57:20 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
2023-10-31 16:57:55 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2023-10-31 16:58:33 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-10-31 16:58:39 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
2023-10-31 17:05:07 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 264 seconds) |
2023-10-31 17:09:25 +0100 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
2023-10-31 17:19:39 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-31 17:19:57 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-31 17:27:20 +0100 | Jackneill | (~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 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
2023-10-31 17:34:12 +0100 | Square2 | (~Square@user/square) |
2023-10-31 17:37:27 +0100 | kiriakos_ | (~kiriakos@p5b03e4f0.dip0.t-ipconnect.de) |
2023-10-31 17:39:32 +0100 | kiriakos | (~kiriakos@p5b03e4f0.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2023-10-31 17:39:32 +0100 | kiriakos_ | 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 +0100 | danse-nr3 | (~danse@fi-19-197-201.service.infuturo.it) (Ping timeout: 260 seconds) |
2023-10-31 17:52:58 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2023-10-31 17:58:00 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-10-31 18:06:18 +0100 | danse-nr3 | (~danse@ba-19-155-131.service.infuturo.it) |
2023-10-31 18:10:01 +0100 | lorenzo | (~lorenzo@2a01:e0a:541:b8f0:9821:9dbb:bb8c:cf89) (Quit: WeeChat 3.5) |
2023-10-31 18:11:02 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-10-31 18:13:36 +0100 | Nachtgespenst | (~user@user/siracusa) (Quit: Bye!) |
2023-10-31 18:20:49 +0100 | fendor | (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) (Remote host closed the connection) |
2023-10-31 18:21:18 +0100 | vglfr | (~vglfr@88.155.154.204) |
2023-10-31 18:21:53 +0100 | wib_jonas | (~wib_jonas@business-37-191-60-209.business.broadband.hu) (Quit: Client closed) |
2023-10-31 18:23:56 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-31 18:24:04 +0100 | vpan | (~vpan@212.117.1.172) (Quit: Leaving.) |
2023-10-31 18:26:35 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-10-31 18:26:48 +0100 | srk | (~sorki@user/srk) (Quit: ZNC 1.8.1 - https://znc.in) |
2023-10-31 18:28:36 +0100 | ski | (~ski@88.131.7.247) |
2023-10-31 18:29:07 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2023-10-31 18:29:53 +0100 | euleritian | (~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 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-31 18:31:22 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
2023-10-31 18:31:42 +0100 | billchenchina | (~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 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-31 18:32:03 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-31 18:33:13 +0100 | srk | (~sorki@user/srk) |
2023-10-31 18:35:33 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-31 18:38:05 +0100 | AlexZenon | (~alzenon@94.233.241.58) (Ping timeout: 240 seconds) |
2023-10-31 18:38:12 +0100 | AlexNoo | (~AlexNoo@94.233.241.58) (Ping timeout: 240 seconds) |
2023-10-31 18:41:37 +0100 | michalz | (~michalz@185.246.207.222) (Read error: Connection reset by peer) |
2023-10-31 18:42:56 +0100 | AlexNoo | (~AlexNoo@94.233.241.58) |
2023-10-31 18:44:31 +0100 | AlexZenon | (~alzenon@94.233.241.58) |
2023-10-31 18:47:38 +0100 | AlexZenon | (~alzenon@94.233.241.58) (Client Quit) |
2023-10-31 18:48:02 +0100 | AlexZenon | (~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 +0100 | raym_ | 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 +0100 | chele | (~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 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-10-31 18:57:07 +0100 | dhil | (~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 +0100 | rgw | (~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 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds) |
2023-10-31 19:06:17 +0100 | Guest57 | (~Guest37@149.159.193.204) |
2023-10-31 19:06:35 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
2023-10-31 19:08:51 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) (Ping timeout: 258 seconds) |
2023-10-31 19:11:19 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-10-31 19:15:03 +0100 | <yin> | ski: name :: Node -> Text |
2023-10-31 19:15:45 +0100 | acidjnk | (~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de) |
2023-10-31 19:16:08 +0100 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 258 seconds) |
2023-10-31 19:16:17 +0100 | pixelmonk | (~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 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-31 19:23:08 +0100 | hueso | (~root@user/hueso) (Quit: hueso) |
2023-10-31 19:23:08 +0100 | vglfr | (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
2023-10-31 19:23:33 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-10-31 19:26:14 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-10-31 19:26:56 +0100 | vglfr | (~vglfr@88.155.154.204) |
2023-10-31 19:35:13 +0100 | hueso | (~root@user/hueso) |
2023-10-31 19:36:33 +0100 | nate2 | (~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 +0100 | waleee | (~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 +0100 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 260 seconds) |
2023-10-31 19:41:33 +0100 | vglfr | (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
2023-10-31 19:41:43 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-10-31 19:44:12 +0100 | ski | nods |
2023-10-31 19:45:16 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-31 19:45:48 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
2023-10-31 19:47:27 +0100 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) |
2023-10-31 19:48:37 +0100 | euleritian | (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-31 19:48:54 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-31 19:50:43 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 255 seconds) |
2023-10-31 19:51:36 +0100 | hueso | (~root@user/hueso) (Quit: hueso) |
2023-10-31 19:54:28 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-10-31 19:54:51 +0100 | random-jellyfish | (~tiber@213.233.104.154) |
2023-10-31 19:54:51 +0100 | random-jellyfish | (~tiber@213.233.104.154) (Changing host) |
2023-10-31 19:54:51 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-10-31 19:55:27 +0100 | vglfr | (~vglfr@88.155.154.204) |
2023-10-31 20:00:27 +0100 | giri9000 | (~giri9000@94.101.114.196) |
2023-10-31 20:01:52 +0100 | giri9000 | (~giri9000@94.101.114.196) () |
2023-10-31 20:01:55 +0100 | michalz | (~michalz@185.246.207.221) |
2023-10-31 20:03:37 +0100 | hueso | (~root@user/hueso) |
2023-10-31 20:03:49 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-10-31 20:04:12 +0100 | neceve | (~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 +0100 | eggplantade | (~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 +0100 | John_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 +0100 | hueso_ | (~root@user/hueso) |
2023-10-31 20:16:35 +0100 | hueso | (~root@user/hueso) (Read error: Connection reset by peer) |
2023-10-31 20:20:26 +0100 | John_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 +0100 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) |
2023-10-31 20:28:38 +0100 | danse-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 +0100 | kanto | (~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 +0100 | ski | still 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 +0100 | dcoutts | (~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 +0100 | htor | (~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 +0100 | myyo | (~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 +0100 | mosul | (~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 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
2023-10-31 20:43:15 +0100 | mosul | (~mosul@ec2-34-227-227-91.compute-1.amazonaws.com) (Changing host) |
2023-10-31 20:43:15 +0100 | mosul | (~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 +0100 | dmadriano | (~grpadrian@45.231.203.191) |
2023-10-31 20:58:02 +0100 | dmadriano | (~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 +0100 | htor | (~htor@84.208.240.181) (Quit: zzz) |
2023-10-31 21:02:25 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds) |
2023-10-31 21:03:30 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2023-10-31 21:05:05 +0100 | htor | (~htor@84.208.240.181) |
2023-10-31 21:06:15 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 240 seconds) |
2023-10-31 21:07:48 +0100 | Guest57 | (~Guest37@149.159.193.204) (Quit: Client closed) |
2023-10-31 21:09:41 +0100 | vglfr | (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
2023-10-31 21:11:08 +0100 | danse-nr3 | (~danse@ba-19-155-131.service.infuturo.it) |
2023-10-31 21:18:15 +0100 | ystael | (~ystael@user/ystael) (Read error: Connection reset by peer) |
2023-10-31 21:19:58 +0100 | danse-nr3 | (~danse@ba-19-155-131.service.infuturo.it) (Remote host closed the connection) |
2023-10-31 21:20:21 +0100 | danse-nr3 | (~danse@ba-19-155-131.service.infuturo.it) |
2023-10-31 21:20:36 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-10-31 21:21:00 +0100 | ystael | (~ystael@user/ystael) |
2023-10-31 21:23:35 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
2023-10-31 21:25:28 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-10-31 21:30:13 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-10-31 21:31:31 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds) |
2023-10-31 21:32:59 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-10-31 21:42:19 +0100 | danse-nr3 | (~danse@ba-19-155-131.service.infuturo.it) (Ping timeout: 255 seconds) |
2023-10-31 21:42:20 +0100 | santiagopim | (~user@90.167.66.131) (Remote host closed the connection) |
2023-10-31 21:43:40 +0100 | lg188 | (~lg188@82.18.98.230) (Ping timeout: 255 seconds) |
2023-10-31 21:46:32 +0100 | thegeekinside | (~thegeekin@189.180.105.214) (Ping timeout: 272 seconds) |
2023-10-31 21:46:58 +0100 | lg188 | (~lg188@82.18.98.230) |
2023-10-31 21:47:19 +0100 | P1RATEZ | (piratez@user/p1ratez) |
2023-10-31 21:54:13 +0100 | Guest84 | (~Guest37@149.159.193.204) |
2023-10-31 21:55:13 +0100 | ski | (~ski@88.131.7.247) (Ping timeout: 258 seconds) |
2023-10-31 21:56:51 +0100 | Guest84 | (~Guest37@149.159.193.204) (Client Quit) |
2023-10-31 21:59:24 +0100 | danza | (~francesco@151.47.166.232) |
2023-10-31 22:03:37 +0100 | Pickchea | (~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 +0100 | son0p | (~ff@181.136.122.143) |
2023-10-31 22:28:22 +0100 | ph88 | (~ph88@2a02:8109:9e26:c800:87d5:3b0a:6da9:2216) |
2023-10-31 22:37:47 +0100 | johnw | (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
2023-10-31 22:39:06 +0100 | danza | (~francesco@151.47.166.232) (Ping timeout: 272 seconds) |
2023-10-31 22:39:09 +0100 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-10-31 22:51:09 +0100 | Nachtgespenst | (~user@user/siracusa) |
2023-10-31 22:51:51 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-10-31 23:02:48 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-10-31 23:06:52 +0100 | thegman | (~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 +0100 | Jackneill | (~Jackneill@20014C4E1E03D80013DBDBD9C5A5A6D2.dsl.pool.telekom.hu) (Ping timeout: 255 seconds) |
2023-10-31 23:10:44 +0100 | acidjnk | (~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2023-10-31 23:12:39 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-10-31 23:14:14 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 245 seconds) |
2023-10-31 23:14:39 +0100 | dhil | (~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 +0100 | thegman | (~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 +0100 | misterfish | (~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 +0100 | htor | (~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 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-10-31 23:30:58 +0100 | tromp | (~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 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-10-31 23:37:00 +0100 | wroathe | (~wroathe@user/wroathe) (Client Quit) |
2023-10-31 23:37:10 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-10-31 23:38:10 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-31 23:41:27 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
2023-10-31 23:42:47 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-31 23:47:06 +0100 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 260 seconds) |
2023-10-31 23:50:07 +0100 | chomwitt | (~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds) |
2023-10-31 23:51:20 +0100 | son0p | (~ff@181.136.122.143) (Ping timeout: 255 seconds) |
2023-10-31 23:54:19 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2023-10-31 23:59:39 +0100 | <juri_> | haskell floating point. Boo! |