2024-06-08 00:02:22 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 00:04:42 +0200 | CrunchyFlakes | (~CrunchyFl@146.52.130.128) |
2024-06-08 00:05:45 +0200 | ph88 | (~ph88@2a02:8109:9e26:c800:f0e:db60:68cc:2c13) (Quit: Leaving) |
2024-06-08 00:06:26 +0200 | michalz | (~michalz@185.246.207.201) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-06-08 00:12:10 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 00:12:16 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-06-08 00:23:52 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-06-08 00:24:59 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-06-08 00:25:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 00:58:41 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 01:06:22 +0200 | acidjnk | (~acidjnk@p200300d6e714dc79edaa57aef410daf5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2024-06-08 01:17:28 +0200 | yin | (~yin@user/zero) (Ping timeout: 268 seconds) |
2024-06-08 01:18:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 01:33:30 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-06-08 01:36:37 +0200 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 255 seconds) |
2024-06-08 01:37:39 +0200 | euleritian | (~euleritia@dynamic-176-006-010-205.176.6.pool.telefonica.de) |
2024-06-08 01:50:09 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 268 seconds) |
2024-06-08 02:09:08 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-06-08 02:09:10 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2024-06-08 02:10:29 +0200 | Lord_of_Life_ | Lord_of_Life |
2024-06-08 02:11:58 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 246 seconds) |
2024-06-08 02:14:37 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-06-08 03:17:30 +0200 | jjhoo_ | (jahakala@user/jjhoo) (Ping timeout: 256 seconds) |
2024-06-08 03:18:25 +0200 | joeyadams | (~joeyadams@38.48.105.67) |
2024-06-08 03:25:17 +0200 | xam_ | (~dev@2405:201:c062:801d:8728:7618:dd19:eaef) (Ping timeout: 240 seconds) |
2024-06-08 03:26:28 +0200 | dev2 | (~dev@2405:201:c062:801d:74fb:a90f:fd55:89e8) |
2024-06-08 03:34:05 +0200 | jjhoo | (~jahakala@user/jjhoo) |
2024-06-08 03:59:08 +0200 | CrunchyFlakes | (~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer) |
2024-06-08 04:01:17 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-06-08 04:07:03 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds) |
2024-06-08 04:28:54 +0200 | joeyadams | (~joeyadams@38.48.105.67) (Quit: Leaving) |
2024-06-08 04:37:49 +0200 | bilegeek | (~bilegeek@2600:1008:b012:5182:bbcf:8156:6b3:93d9) |
2024-06-08 04:50:17 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-06-08 04:50:49 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-06-08 05:00:23 +0200 | td_ | (~td@i53870928.versanet.de) (Ping timeout: 268 seconds) |
2024-06-08 05:02:07 +0200 | td_ | (~td@i53870927.versanet.de) |
2024-06-08 05:43:39 +0200 | xigua | (~xigua@user/xigua) (Read error: Connection reset by peer) |
2024-06-08 05:43:53 +0200 | xigua | (~xigua@user/xigua) |
2024-06-08 05:44:47 +0200 | dcoutts | (~duncan@77.109.149.106) (Ping timeout: 268 seconds) |
2024-06-08 05:46:31 +0200 | euleritian | (~euleritia@dynamic-176-006-010-205.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-08 05:46:49 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 05:50:46 +0200 | aforemny | (~aforemny@i59F516E7.versanet.de) |
2024-06-08 05:51:05 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-08 05:51:29 +0200 | aforemny_ | (~aforemny@2001:9e8:6cfe:9000:f190:2088:3129:672b) (Ping timeout: 272 seconds) |
2024-06-08 05:55:06 +0200 | dcoutts | (~duncan@77.109.149.106) |
2024-06-08 06:13:11 +0200 | dmj` | (uid72307@id-72307.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2024-06-08 06:26:57 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
2024-06-08 06:27:49 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 06:30:17 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-06-08 06:31:21 +0200 | dcoutts | (~duncan@77.109.149.106) (Ping timeout: 268 seconds) |
2024-06-08 06:47:45 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-06-08 06:48:25 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-06-08 06:57:54 +0200 | bilegeek | (~bilegeek@2600:1008:b012:5182:bbcf:8156:6b3:93d9) (Quit: Leaving) |
2024-06-08 07:02:14 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-06-08 07:04:16 +0200 | troydm | (~troydm@user/troydm) |
2024-06-08 07:05:06 +0200 | troydm | (~troydm@user/troydm) (Client Quit) |
2024-06-08 07:05:24 +0200 | troydm | (~troydm@user/troydm) |
2024-06-08 07:18:34 +0200 | troydm | (~troydm@user/troydm) (Ping timeout: 246 seconds) |
2024-06-08 07:32:10 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2024-06-08 07:46:26 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-08 07:50:44 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-06-08 07:52:20 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 07:54:32 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-08 07:57:10 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Remote host closed the connection) |
2024-06-08 07:57:37 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-08 08:03:32 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-06-08 08:04:52 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 08:08:43 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-06-08 08:08:47 +0200 | m1dnight_ | (~christoph@82.146.125.185) (Quit: WeeChat 4.2.2) |
2024-06-08 08:09:29 +0200 | m1dnight | (~christoph@82.146.125.185) |
2024-06-08 08:16:42 +0200 | Lycurgus | (~georg@user/Lycurgus) |
2024-06-08 08:17:46 +0200 | causal | (~eric@50.35.88.207) (Quit: WeeChat 4.1.1) |
2024-06-08 08:29:07 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2024-06-08 08:30:34 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-06-08 08:33:49 +0200 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-06-08 08:35:00 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) |
2024-06-08 08:48:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 08:50:35 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) |
2024-06-08 08:51:41 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
2024-06-08 08:52:18 +0200 | euleritian | (~euleritia@dynamic-176-006-005-097.176.6.pool.telefonica.de) |
2024-06-08 08:52:40 +0200 | euleritian | (~euleritia@dynamic-176-006-005-097.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-08 08:53:38 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 08:59:44 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-06-08 09:01:04 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-06-08 09:10:11 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) (Ping timeout: 264 seconds) |
2024-06-08 09:11:49 +0200 | ft | (~ft@p508db8fc.dip0.t-ipconnect.de) (Quit: leaving) |
2024-06-08 09:12:02 +0200 | ambareesh | (~ambareesh@2601:646:8f01:3aac:aef7:fb34:9419:a905) |
2024-06-08 09:13:25 +0200 | ambareesh | (~ambareesh@2601:646:8f01:3aac:aef7:fb34:9419:a905) (Client Quit) |
2024-06-08 09:16:22 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) |
2024-06-08 09:17:30 +0200 | Axman6 | (~Axman6@user/axman6) |
2024-06-08 09:20:50 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving) |
2024-06-08 09:27:52 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds) |
2024-06-08 09:28:26 +0200 | acidjnk | (~acidjnk@p200300d6e714dc900cd3e2d9c55a017d.dip0.t-ipconnect.de) |
2024-06-08 09:29:59 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds) |
2024-06-08 09:32:30 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2024-06-08 09:34:48 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) (Ping timeout: 268 seconds) |
2024-06-08 09:36:28 +0200 | michalz | (~michalz@185.246.207.200) |
2024-06-08 09:40:22 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) |
2024-06-08 09:43:26 +0200 | gmg | (~user@user/gehmehgeh) |
2024-06-08 10:02:20 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-06-08 10:06:37 +0200 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) |
2024-06-08 10:11:48 +0200 | TonyStone | (~TonyStone@user/TonyStone) (Ping timeout: 268 seconds) |
2024-06-08 10:13:27 +0200 | <haskellbridge> | <linj> Hi, I am new to Haskell. What is the newest GHC feature to solve a record-related problem once and for all mentioned here? https://youtu.be/rf-lie7U04Q?list=PLOJjn67NeYg9cWA4hyIWcxfaeX64pwo1c&t=2139 |
2024-06-08 10:13:39 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2024-06-08 10:16:27 +0200 | <tomsmeding> | presumably he's referring to https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/overloaded_record_dot.html#extensio… , but I'm not sure if that "solves a big problem" |
2024-06-08 10:16:40 +0200 | <tomsmeding> | it's an alternative syntax that makes some code a bit nicer to read |
2024-06-08 10:17:51 +0200 | <haskellbridge> | <linj> thanks |
2024-06-08 10:48:12 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-06-08 10:50:40 +0200 | michalz | (~michalz@185.246.207.200) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-06-08 10:51:46 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-06-08 10:54:38 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-06-08 10:56:05 +0200 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 252 seconds) |
2024-06-08 11:20:31 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-06-08 11:21:31 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-08 11:24:42 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-06-08 11:25:11 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-08 11:25:34 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2024-06-08 11:26:25 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2024-06-08 11:31:30 +0200 | dcoutts | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) |
2024-06-08 11:33:48 +0200 | <Franciman> | hi, I am encountering a very strange behaviour. This is my code: https://bpa.st/FUZQ |
2024-06-08 11:34:06 +0200 | <Franciman> | i used runhaskell to execute it and it takes 7 seconds, so i had to resort to compilation, and it takes 0.6s to execute |
2024-06-08 11:34:30 +0200 | <Franciman> | on my fully lazy interpreter, it takes 0.14s to execute the same term |
2024-06-08 11:34:37 +0200 | <Franciman> | why is haskell's optimization so lame? |
2024-06-08 11:35:42 +0200 | <Franciman> | outperforming ghc by 500x? |
2024-06-08 11:35:44 +0200 | <Franciman> | what's wrong |
2024-06-08 11:36:51 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-08 11:38:43 +0200 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-06-08 11:39:12 +0200 | <int-e> | GHC doesn't do CSE |
2024-06-08 11:39:25 +0200 | <int-e> | (not entirely true, but true enough to explain this case) |
2024-06-08 11:39:31 +0200 | dcoutts | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) (Ping timeout: 256 seconds) |
2024-06-08 11:39:40 +0200 | <tomsmeding> | link 404s for me? |
2024-06-08 11:40:08 +0200 | <int-e> | yeah it does 404 now for me too... guess I caught it just in time |
2024-06-08 11:40:23 +0200 | <Franciman> | my interpreter neither |
2024-06-08 11:40:25 +0200 | <int-e> | "This paste expires on 2024-06-15 09:33:40.961704." |
2024-06-08 11:40:29 +0200 | <Franciman> | oh sorry it expired |
2024-06-08 11:40:31 +0200 | <Franciman> | wait |
2024-06-08 11:40:52 +0200 | <Franciman> | https://bpa.st/VTCQ |
2024-06-08 11:41:19 +0200 | <int-e> | gamma x y = let z = x id in (z `seq` z) y |
2024-06-08 11:41:32 +0200 | <Franciman> | lewl |
2024-06-08 11:41:39 +0200 | <Franciman> | why doesn't haskell implement full laziness? |
2024-06-08 11:41:42 +0200 | <int-e> | if you do that instead it'll be fast. |
2024-06-08 11:42:03 +0200 | <int-e> | because it interferes with controlling memory usage |
2024-06-08 11:42:15 +0200 | <int-e> | z `seq` z is just z of course; GHC will actually realize that |
2024-06-08 11:43:11 +0200 | <Franciman> | int-e: doesn't laziness also interfer with controlling memory usage? |
2024-06-08 11:43:24 +0200 | <int-e> | yes? |
2024-06-08 11:44:04 +0200 | <int-e> | you can always introduce your own sharing if you need it for performance |
2024-06-08 11:44:19 +0200 | <int-e> | it's hard to get the compiler to avoid sharing and it would be harder if it did this kind of CSE |
2024-06-08 11:44:49 +0200 | <tomsmeding> | classic example is something like `length [1..100000] + length [1..100000]` |
2024-06-08 11:45:00 +0200 | <int-e> | pragmatically... full laziness makes too many programs slower |
2024-06-08 11:45:02 +0200 | <tomsmeding> | that's pretty fast and low-memory, but if you CSE the two lists it gets horrendous |
2024-06-08 11:45:33 +0200 | <int-e> | (or run out of memory) |
2024-06-08 11:45:49 +0200 | <tomsmeding> | (perhaps you need to add 3 more zeros for it to get really bad) |
2024-06-08 11:46:34 +0200 | <Franciman> | int-e: isn't that the same with lazienss compared to call by value? |
2024-06-08 11:47:20 +0200 | <int-e> | Franciman: also your math is off, 7/0.14 is 50 |
2024-06-08 11:48:03 +0200 | <int-e> | Franciman: "We already have this problem, so let's make it as bad as we possibly can" isn't pragmatic. |
2024-06-08 11:50:08 +0200 | <int-e> | Laziness and sharing aren't exactly the same thing either. We have `seq` to reduce laziness when it's harmful. We have `let` to introduce sharing when it's helpful. There's "opportunistic CSE" in GHC that also introduces sharing which exists because it's helpful most of the time. It's not always a win and people actually struggle to avoid sharing when that happens. |
2024-06-08 11:51:22 +0200 | <Franciman> | indeed... |
2024-06-08 11:51:24 +0200 | <Franciman> | oh yes 50x |
2024-06-08 11:51:27 +0200 | <Franciman> | sorry |
2024-06-08 11:51:55 +0200 | <Franciman> | having controlled laziness is better |
2024-06-08 11:52:02 +0200 | <Franciman> | call by value wins |
2024-06-08 11:52:04 +0200 | <tomsmeding> | what do you mean with "full laziness"? Do you mean something like the "optimal" graph reduction algorithms? |
2024-06-08 11:52:09 +0200 | <int-e> | And I guess, ultimately, GHC is not primarily optimized for doing fast beta reductions. It's actually more important to have fast pattern matching on data. |
2024-06-08 11:52:46 +0200 | <Franciman> | tomsmeding: it's extracting subexpressions of a lambda that don't depend on the argument |
2024-06-08 11:52:57 +0200 | <Franciman> | so that if you evalaute that lambda too many times, the shared parts are evaluated only once |
2024-06-08 11:53:12 +0200 | <Franciman> | err, if you apply that lambda many times* |
2024-06-08 11:53:14 +0200 | phma | (phma@2001:5b0:2172:c168:223e:807a:618e:7153) (Read error: Connection reset by peer) |
2024-06-08 11:53:17 +0200 | tomsmeding | thought that was what ghc did with -ffull-laziness, which is default, right? |
2024-06-08 11:53:26 +0200 | <Franciman> | it does not do it at its fullest |
2024-06-08 11:53:32 +0200 | <tomsmeding> | I see |
2024-06-08 11:53:38 +0200 | <Franciman> | it's partial full laziness |
2024-06-08 11:53:42 +0200 | phma | (~phma@host-67-44-208-65.hnremote.net) |
2024-06-08 11:53:47 +0200 | <tomsmeding> | maybe it only does it if the subexpression in question is already let-bound or something |
2024-06-08 11:53:58 +0200 | <int-e> | "Default: off but enabled by -O" |
2024-06-08 11:54:12 +0200 | <Franciman> | i applied it, but still no improvement |
2024-06-08 11:54:20 +0200 | <int-e> | yeah it only does it for let bindings |
2024-06-08 11:54:20 +0200 | <tomsmeding> | (and -O is default when compiling with cabal :p) |
2024-06-08 11:54:23 +0200 | <tomsmeding> | ah |
2024-06-08 11:54:40 +0200 | <int-e> | https://downloads.haskell.org/ghc/latest/docs/users_guide/using-optimisation.html#ghc-flag--ffull-… has a note. |
2024-06-08 11:54:49 +0200 | <tomsmeding> | makes sense -- "let" tells ghc that you want to share this thing, and then if you want to do it anyway, let's share it completely |
2024-06-08 11:55:03 +0200 | falafel | (~falafel@185-147-214-70.mad.as54203.net) |
2024-06-08 11:56:12 +0200 | <Franciman> | now if i run ghc -O to compile it, finally i get something close to my 0.14s lol |
2024-06-08 11:56:15 +0200 | <Franciman> | IN SHAMBLES |
2024-06-08 11:56:25 +0200 | <tomsmeding> | "now", is that with the let? |
2024-06-08 11:56:26 +0200 | <Leary> | Well, it's probably not that simple. GHC's simplifier /creates/ a lot more `let`s than you write. Just, most of them are heuristically just to be better off inlined than shared. |
2024-06-08 11:56:36 +0200 | <Franciman> | this program is so unlikely to happen in practice btw |
2024-06-08 11:56:42 +0200 | <Leary> | judged* |
2024-06-08 11:56:53 +0200 | <Franciman> | a fun thing is that it also behaves badly with call by value |
2024-06-08 11:57:00 +0200 | falafel_ | (~falafel@2a0c:5a87:3103:ec01::62b8) |
2024-06-08 11:57:20 +0200 | <Franciman> | tomsmeding: i think ghc is smart enough to figure that let out |
2024-06-08 11:57:26 +0200 | <Franciman> | because it's a CSE case |
2024-06-08 11:58:04 +0200 | <Franciman> | if i changed the arguments then maybe it would struggle more |
2024-06-08 11:58:39 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) |
2024-06-08 11:59:12 +0200 | <tomsmeding> | this is a question of "how smart is your optimiser", though; it's not very much related to CBV vs non-strictness |
2024-06-08 11:59:24 +0200 | <Franciman> | that's why full laziness is nice |
2024-06-08 11:59:29 +0200 | <Franciman> | it's not about smartness |
2024-06-08 11:59:35 +0200 | <Franciman> | of the optimiser |
2024-06-08 11:59:50 +0200 | <tomsmeding> | hm? |
2024-06-08 11:59:59 +0200 | falafel | (~falafel@185-147-214-70.mad.as54203.net) (Ping timeout: 264 seconds) |
2024-06-08 11:59:59 +0200 | <Franciman> | a dumb ~100 lines interpreter beating >20 years of optimisations |
2024-06-08 12:00:05 +0200 | <tomsmeding> | do you mean the floating-out of expressions that don't depend on arguments? |
2024-06-08 12:00:09 +0200 | <tomsmeding> | that is an optimisation |
2024-06-08 12:00:20 +0200 | <Franciman> | so is laziness wrt call by name |
2024-06-08 12:00:26 +0200 | <tomsmeding> | or a fancy graph-reducing evaluation model |
2024-06-08 12:00:37 +0200 | <tomsmeding> | laziness is evaluation semantics |
2024-06-08 12:00:48 +0200 | <Franciman> | where is the line sorry? |
2024-06-08 12:00:51 +0200 | <tomsmeding> | if you use a graph reducer as your evaluation, then you can also get something like your full laziness |
2024-06-08 12:01:07 +0200 | <tomsmeding> | but if you don't, then you need some explicit transformation to lift out the independent expression |
2024-06-08 12:01:46 +0200 | <Franciman> | laziness also requires some sort of that |
2024-06-08 12:01:51 +0200 | <tomsmeding> | does it? |
2024-06-08 12:01:52 +0200 | <Franciman> | you don't really act on lambda terms per se |
2024-06-08 12:02:01 +0200 | <Franciman> | yes, otherwise how do you define the evaluation semantics? |
2024-06-08 12:02:14 +0200 | <Franciman> | you can express laziness with explicit substitutions or using graphs |
2024-06-08 12:02:18 +0200 | <Franciman> | or using lambda lifting |
2024-06-08 12:02:23 +0200 | <tomsmeding> | or using a heap and beta reduction |
2024-06-08 12:02:30 +0200 | <tomsmeding> | which is the "standard" formulation |
2024-06-08 12:02:38 +0200 | <tomsmeding> | er |
2024-06-08 12:02:43 +0200 | <tomsmeding> | a heap and WHNF evaluation |
2024-06-08 12:03:00 +0200 | <tomsmeding> | nothing in that does CSE for you |
2024-06-08 12:03:26 +0200 | <Franciman> | you can use a heap and whnf evaluation + extraction of maximally free subexpressions from a term |
2024-06-08 12:03:30 +0200 | <Franciman> | what's the difference? |
2024-06-08 12:03:32 +0200 | falafel_ | (~falafel@2a0c:5a87:3103:ec01::62b8) (Remote host closed the connection) |
2024-06-08 12:03:51 +0200 | <tomsmeding> | it's true that the distinction between "evaluation semantics" and "optimisation" is a bit vague; you could apply some optimisations on-the-fly while evaluating, and then you'd blur the boundaries |
2024-06-08 12:03:56 +0200 | __monty__ | (~toonn@user/toonn) |
2024-06-08 12:04:20 +0200 | <Franciman> | tomsmeding: just to make it clear, i wanted to understand your point, not trying to argue you are wrong |
2024-06-08 12:04:31 +0200 | <tomsmeding> | yeah no you're right |
2024-06-08 12:04:38 +0200 | <tomsmeding> | I was making a distinction that does not _really_ exist |
2024-06-08 12:04:40 +0200 | <tomsmeding> | only conventionally |
2024-06-08 12:05:22 +0200 | <tomsmeding> | though I _can_ say that you don't need extraction of independent subexpressions from within binding scopes to achieve laziness |
2024-06-08 12:05:34 +0200 | <tomsmeding> | unless you make that part of the definition of "laziness", which is unconventional |
2024-06-08 12:05:45 +0200 | <Franciman> | true |
2024-06-08 12:05:52 +0200 | <tomsmeding> | ghc achieves laziness in the traditional sense, not in this extended sense |
2024-06-08 12:05:59 +0200 | <Franciman> | because you actually extract common variables |
2024-06-08 12:06:16 +0200 | <Franciman> | i mean you do sharing on variables inside a lambda |
2024-06-08 12:06:25 +0200 | <Franciman> | the the variable occurrences bound by a lambda, to be more precise |
2024-06-08 12:06:37 +0200 | <tomsmeding> | yes, but that's sharing directly implied by the syntax |
2024-06-08 12:06:42 +0200 | <Franciman> | true |
2024-06-08 12:06:48 +0200 | <tomsmeding> | a single name has a single shared value on the heap |
2024-06-08 12:06:57 +0200 | <tomsmeding> | and that's all sharing that the evaluator introduces |
2024-06-08 12:07:32 +0200 | <tomsmeding> | this yields a straightforward evaluator that's quite efficient |
2024-06-08 12:07:51 +0200 | <tomsmeding> | if you want to do more, you typically have to sacrifice efficiency of individual reductions to achieve better asymptotics for some programs |
2024-06-08 12:07:54 +0200 | <Franciman> | and there is a fun theory to prove that it is complete and sound w.r.t call by name |
2024-06-08 12:08:08 +0200 | <Franciman> | using non-idempotent set types |
2024-06-08 12:08:12 +0200 | <tomsmeding> | graph reduction evaluators buy in on this idea quite deeply, and can still be fast but that takes significant cleverness |
2024-06-08 12:08:18 +0200 | <tomsmeding> | ghc is more traditional |
2024-06-08 12:08:53 +0200 | <tomsmeding> | also, ghc's model allows you to do stuff like use unsafePerformIO and not break the world in doing so |
2024-06-08 12:09:06 +0200 | <tomsmeding> | good luck with doing that sensibly in an evaluator with full laziness everywhere |
2024-06-08 12:09:17 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-06-08 12:09:32 +0200 | <Franciman> | that would be a great problem |
2024-06-08 12:09:34 +0200 | <Franciman> | lol |
2024-06-08 12:10:07 +0200 | <tomsmeding> | and having unsafePerformIO allows your haskell code to be fast on bytestrings, which people have apparently found more important than better asymptotics for certain functional patterns that you can also just fix by being a bit more explicit with the sharing that you want |
2024-06-08 12:10:58 +0200 | <tomsmeding> | there's a place for full laziness evaluators, but ghc optimises less for those usecases |
2024-06-08 12:11:32 +0200 | <tomsmeding> | heck, people have said that the GHC has a suspiciously good concurrent, asynchronous IO manager in its RTS for a pure functional language |
2024-06-08 12:13:15 +0200 | <tomsmeding> | Maia Victor has done a bunch of work on graph reduction engines in Formality (apparently now Kind + HVM or something) |
2024-06-08 12:13:41 +0200 | <tomsmeding> | they've written some blog posts etc on it if you're interested in that space |
2024-06-08 12:13:45 +0200 | <Franciman> | thanks |
2024-06-08 12:29:35 +0200 | falafel | (~falafel@2a0c:5a87:3103:ec01::62b8) |
2024-06-08 12:35:45 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 12:36:48 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 12:42:31 +0200 | falafel | (~falafel@2a0c:5a87:3103:ec01::62b8) (Ping timeout: 272 seconds) |
2024-06-08 12:43:55 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
2024-06-08 12:51:56 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2024-06-08 12:53:45 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds) |
2024-06-08 12:57:20 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-06-08 12:57:22 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-08 12:57:36 +0200 | gorignak | (~gorignak@user/gorignak) |
2024-06-08 12:58:03 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2) |
2024-06-08 12:58:51 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds) |
2024-06-08 13:02:15 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds) |
2024-06-08 13:17:43 +0200 | dcoutts | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) |
2024-06-08 13:20:11 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-06-08 13:21:22 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 13:27:22 +0200 | rvalue- | (~rvalue@user/rvalue) |
2024-06-08 13:27:25 +0200 | TactfulCitrus | (~al@2a02:8012:87a6:0:fbe0:6116:6e30:e047) |
2024-06-08 13:28:31 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 268 seconds) |
2024-06-08 13:31:20 +0200 | rvalue- | rvalue |
2024-06-08 13:32:01 +0200 | <lxsameer> | hey folks let's say we have a record with a field like `X :: IO (Y a)`, how can i hide that a entirely since it doesn't matter for the rest of my code ? |
2024-06-08 13:32:39 +0200 | <lxsameer> | would i make sense to have a record of functions that use X exposed to user rather than exposing X? |
2024-06-08 13:32:41 +0200 | <Franciman> | you mean make it unaccessible? |
2024-06-08 13:33:13 +0200 | <Franciman> | maybe you can use the existential quantifier on X? |
2024-06-08 13:33:20 +0200 | <lxsameer> | Franciman: no, I mean hide the implementation, let me give you a more concrete example |
2024-06-08 13:33:21 +0200 | <Franciman> | so you give it a type that you can't readily use from outside the record |
2024-06-08 13:33:43 +0200 | <Franciman> | i mean something like: data Recordo = forall a. { X :: a, ... } |
2024-06-08 13:34:00 +0200 | <lxsameer> | X :: IO (Pool a) a can be a connection type of different databases (sqlit, postgres....) |
2024-06-08 13:34:29 +0200 | <Franciman> | sorry |
2024-06-08 13:34:37 +0200 | <Franciman> | data Recordo = forall a. Recordo { X :: a, ... } |
2024-06-08 13:34:41 +0200 | <Franciman> | https://wiki.haskell.org/Existential_type |
2024-06-08 13:35:10 +0200 | <lxsameer> | thanks let me read it |
2024-06-08 13:35:39 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-06-08 13:38:27 +0200 | <lxsameer> | Franciman: thanks, I was looking for this |
2024-06-08 13:40:02 +0200 | <Franciman> | maybe GADTs can be helpful too |
2024-06-08 13:40:13 +0200 | <lxsameer> | cheers, I'll have a look |
2024-06-08 13:54:41 +0200 | michalz | (~michalz@185.246.207.203) |
2024-06-08 13:57:12 +0200 | TactfulCitrus | (~al@2a02:8012:87a6:0:fbe0:6116:6e30:e047) (Ping timeout: 268 seconds) |
2024-06-08 14:02:05 +0200 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection) |
2024-06-08 14:08:12 +0200 | michalz | (~michalz@185.246.207.203) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-06-08 14:20:44 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-08 14:20:47 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 14:21:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 14:21:27 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 14:22:22 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer) |
2024-06-08 14:23:21 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-06-08 14:23:51 +0200 | <lxsameer> | b |
2024-06-08 14:24:26 +0200 | titibandit | (e33ffbab65@user/titibandit) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | eso | (a0662dfd5e@2a03:6000:1812:100::1266) (Write error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | cjb | (813b6d8c75@user/cjb) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | henrytill | (e0180937c3@2a03:6000:1812:100::e8c) (Read error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | cpli | (77fc530071@2a03:6000:1812:100::252) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) (Read error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | probie | (cc0b34050a@user/probie) (Read error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | akspecs | (00cc8321af@sourcehut/user/akspecs) (Read error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | kuruczgy | (55b66dd3ae@2a03:6000:1812:100::127f) (Write error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | JoelMcCracken | (5ea8252fbb@2a03:6000:1812:100::10e3) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | samhh | (7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | aniketd | (32aa4844cd@2a03:6000:1812:100::dcb) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | pmk | (6afe4476a1@2a03:6000:1812:100::26d) (Read error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | ursa-major | (114efe6c39@2a03:6000:1812:100::11f3) (Write error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | chaitlatte0 | (ea29c0bb16@2a03:6000:1812:100::1124) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | whereiseveryone | (206ba86c98@2a03:6000:1812:100::2e4) (Read error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | filwisher | (2e6936c793@2a03:6000:1812:100::170) (Write error: Broken pipe) |
2024-06-08 14:24:26 +0200 | fgaz_ | (1ff9197ed6@2a03:6000:1812:100::11ea) (Write error: Broken pipe) |
2024-06-08 14:24:26 +0200 | bsima1 | (9d7e39c8ad@2a03:6000:1812:100::dd) (Remote host closed the connection) |
2024-06-08 14:24:26 +0200 | jmcantrell | (644f1bed9a@user/jmcantrell) (Write error: Connection reset by peer) |
2024-06-08 14:24:26 +0200 | jleightcap | (7bc4014b62@user/jleightcap) (Write error: Connection reset by peer) |
2024-06-08 14:24:27 +0200 | shreyasminocha | (51fdc93eda@user/shreyasminocha) (Write error: Connection reset by peer) |
2024-06-08 14:24:27 +0200 | fluffyballoon | (45ce440a48@2a03:6000:1812:100::e2) (Remote host closed the connection) |
2024-06-08 14:24:27 +0200 | rselim | (ce261f06ff@user/milesrout) (Remote host closed the connection) |
2024-06-08 14:24:27 +0200 | lukec | (9dfd4d094e@2a03:6000:1812:100::10e) (Write error: Broken pipe) |
2024-06-08 14:24:27 +0200 | sus | (1b7af6299f@user/zeromomentum) (Remote host closed the connection) |
2024-06-08 14:24:27 +0200 | raghavgururajan | (ea769b8000@user/raghavgururajan) (Read error: Connection reset by peer) |
2024-06-08 14:24:27 +0200 | fn_lumi | (3d621153a5@2a03:6000:1812:100::df7) (Remote host closed the connection) |
2024-06-08 14:24:27 +0200 | evanrelf | (3addc196af@2a03:6000:1812:100::f0) (Remote host closed the connection) |
2024-06-08 14:24:27 +0200 | samhh_ | (7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection) |
2024-06-08 14:24:27 +0200 | Ankhers | (e99e97ef8e@2a03:6000:1812:100::2a2) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | jakzale | (6291399afa@user/jakzale) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | brettgilio | (a35ba67324@2a03:6000:1812:100::260) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | alethkit | (23bd17ddc6@sourcehut/user/alethkit) (Read error: Connection reset by peer) |
2024-06-08 14:24:28 +0200 | fvr | (ef3e56ca8b@2a03:6000:1812:100::3c4) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | ymherklotz | (cb2c9cfbdd@2a03:6000:1812:100::29a) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | lane | (809450f172@2a03:6000:1812:100::1300) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | duncan | (c6181279e3@user/meow/duncan) (Remote host closed the connection) |
2024-06-08 14:24:28 +0200 | sm2n | (ae95cb1267@user/sm2n) (Read error: Connection reset by peer) |
2024-06-08 14:24:28 +0200 | b0o | (0e4a0bf4c9@2a03:6000:1812:100::1bf) (Read error: Connection reset by peer) |
2024-06-08 14:24:28 +0200 | jkoshy | (99b9359beb@user/jkoshy) (Remote host closed the connection) |
2024-06-08 14:24:35 +0200 | lane | (809450f172@2a03:6000:1812:100::1300) |
2024-06-08 14:24:35 +0200 | bsima1 | (9d7e39c8ad@2a03:6000:1812:100::dd) |
2024-06-08 14:24:36 +0200 | whereiseveryone | (206ba86c98@2a03:6000:1812:100::2e4) |
2024-06-08 14:24:36 +0200 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) |
2024-06-08 14:24:36 +0200 | raghavgururajan | (ea769b8000@user/raghavgururajan) |
2024-06-08 14:24:36 +0200 | filwisher | (2e6936c793@2a03:6000:1812:100::170) |
2024-06-08 14:24:37 +0200 | jakzale | (6291399afa@user/jakzale) |
2024-06-08 14:24:37 +0200 | jmcantrell | (644f1bed9a@user/jmcantrell) |
2024-06-08 14:24:37 +0200 | fgaz_ | (1ff9197ed6@2a03:6000:1812:100::11ea) |
2024-06-08 14:24:38 +0200 | pmk | (6afe4476a1@2a03:6000:1812:100::26d) |
2024-06-08 14:24:38 +0200 | eso | (a0662dfd5e@2a03:6000:1812:100::1266) |
2024-06-08 14:24:38 +0200 | fluffyballoon | (45ce440a48@2a03:6000:1812:100::e2) |
2024-06-08 14:24:38 +0200 | aniketd | (32aa4844cd@2a03:6000:1812:100::dcb) |
2024-06-08 14:24:38 +0200 | lukec | (9dfd4d094e@2a03:6000:1812:100::10e) |
2024-06-08 14:24:39 +0200 | fn_lumi | (3d621153a5@2a03:6000:1812:100::df7) |
2024-06-08 14:24:39 +0200 | henrytill | (e0180937c3@2a03:6000:1812:100::e8c) |
2024-06-08 14:24:39 +0200 | evanrelf | (3addc196af@2a03:6000:1812:100::f0) |
2024-06-08 14:24:40 +0200 | brettgilio | (a35ba67324@2a03:6000:1812:100::260) |
2024-06-08 14:24:40 +0200 | jkoshy | (99b9359beb@user/jkoshy) |
2024-06-08 14:24:41 +0200 | duncan | (c6181279e3@user/meow/duncan) |
2024-06-08 14:24:42 +0200 | JoelMcCracken | (5ea8252fbb@2a03:6000:1812:100::10e3) |
2024-06-08 14:24:42 +0200 | jleightcap | (7bc4014b62@user/jleightcap) |
2024-06-08 14:24:42 +0200 | fvr | (ef3e56ca8b@2a03:6000:1812:100::3c4) |
2024-06-08 14:24:42 +0200 | cpli | (77fc530071@2a03:6000:1812:100::252) |
2024-06-08 14:24:42 +0200 | cjb | (813b6d8c75@user/cjb) |
2024-06-08 14:24:42 +0200 | titibandit | (e33ffbab65@user/titibandit) |
2024-06-08 14:24:42 +0200 | b0o | (0e4a0bf4c9@2a03:6000:1812:100::1bf) |
2024-06-08 14:24:43 +0200 | ursa-major | (114efe6c39@2a03:6000:1812:100::11f3) |
2024-06-08 14:24:43 +0200 | sm2n | (ae95cb1267@user/sm2n) |
2024-06-08 14:24:44 +0200 | probie | (cc0b34050a@user/probie) |
2024-06-08 14:24:44 +0200 | kuruczgy | (55b66dd3ae@2a03:6000:1812:100::127f) |
2024-06-08 14:24:45 +0200 | akspecs | (00cc8321af@sourcehut/user/akspecs) |
2024-06-08 14:24:46 +0200 | alethkit | (23bd17ddc6@sourcehut/user/alethkit) |
2024-06-08 14:24:46 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) |
2024-06-08 14:24:46 +0200 | shreyasminocha | (51fdc93eda@user/shreyasminocha) |
2024-06-08 14:24:47 +0200 | d34df00d | (~d34df00d@2600:1702:4f1b:7c10::43) (Excess Flood) |
2024-06-08 14:24:47 +0200 | ymherklotz | (cb2c9cfbdd@2a03:6000:1812:100::29a) |
2024-06-08 14:24:49 +0200 | sus | (1b7af6299f@user/zeromomentum) |
2024-06-08 14:24:50 +0200 | samhh_ | (7569f027cf@2a03:6000:1812:100::e4) |
2024-06-08 14:24:51 +0200 | Ankhers | (e99e97ef8e@2a03:6000:1812:100::2a2) |
2024-06-08 14:24:51 +0200 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) |
2024-06-08 14:24:51 +0200 | samhh | (7569f027cf@2a03:6000:1812:100::e4) |
2024-06-08 14:24:51 +0200 | rselim | (ce261f06ff@user/milesrout) |
2024-06-08 14:25:47 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-06-08 14:25:56 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 14:28:34 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2) |
2024-06-08 14:31:57 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) (Ping timeout: 255 seconds) |
2024-06-08 14:38:12 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
2024-06-08 14:38:34 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
2024-06-08 14:38:50 +0200 | euleritian | (~euleritia@dynamic-176-006-192-047.176.6.pool.telefonica.de) |
2024-06-08 14:39:35 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-08 14:39:37 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 14:40:27 +0200 | zetef | (~quassel@5.14.129.50) |
2024-06-08 14:41:27 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-06-08 14:41:43 +0200 | ft | (~ft@i5C743B45.versanet.de) |
2024-06-08 14:42:44 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Client Quit) |
2024-06-08 14:43:52 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-08 14:44:21 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) |
2024-06-08 14:52:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 14:55:48 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) (Ping timeout: 255 seconds) |
2024-06-08 15:00:58 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
2024-06-08 15:01:19 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-06-08 15:02:06 +0200 | euleritian | (~euleritia@dynamic-176-006-192-047.176.6.pool.telefonica.de) (Ping timeout: 255 seconds) |
2024-06-08 15:02:58 +0200 | euleritian | (~euleritia@dynamic-176-004-183-058.176.4.pool.telefonica.de) |
2024-06-08 15:06:46 +0200 | dagit4374 | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) |
2024-06-08 15:08:59 +0200 | dagit | (~dagit@24.21.226.72) (Ping timeout: 264 seconds) |
2024-06-08 15:14:58 +0200 | danza | (~francesco@151.57.150.48) |
2024-06-08 15:18:57 +0200 | AlexZenon | (~alzenon@178.34.163.65) (Ping timeout: 272 seconds) |
2024-06-08 15:25:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 15:26:16 +0200 | AlexZenon | (~alzenon@178.34.163.65) |
2024-06-08 15:27:28 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
2024-06-08 15:28:12 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
2024-06-08 15:31:22 +0200 | AlexZenon | (~alzenon@178.34.163.65) (Ping timeout: 255 seconds) |
2024-06-08 15:39:15 +0200 | AlexZenon | (~alzenon@178.34.163.65) |
2024-06-08 15:43:02 +0200 | verde | (~user@2a04:4540:7202:1e00:ee9e:56f5:e3d8:f038) |
2024-06-08 15:45:44 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-08 15:52:24 +0200 | verde | (~user@2a04:4540:7202:1e00:ee9e:56f5:e3d8:f038) (Changing host) |
2024-06-08 15:52:24 +0200 | verde | (~user@user/verde) |
2024-06-08 15:54:48 +0200 | verde | (~user@user/verde) (Quit: Leaving) |
2024-06-08 15:54:56 +0200 | verde | (~user@user/verde) |
2024-06-08 15:59:43 +0200 | AlexZenon | (~alzenon@178.34.163.65) (Ping timeout: 255 seconds) |
2024-06-08 16:00:04 +0200 | danza | (~francesco@151.57.150.48) (Read error: Connection reset by peer) |
2024-06-08 16:01:31 +0200 | zmt01 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2024-06-08 16:02:36 +0200 | tremon | (~tremon@83.80.159.219) |
2024-06-08 16:09:20 +0200 | AlexZenon | (~alzenon@178.34.163.65) |
2024-06-08 16:13:23 +0200 | zetef | (~quassel@5.14.129.50) (Remote host closed the connection) |
2024-06-08 16:16:37 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds) |
2024-06-08 16:23:18 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-08 16:42:01 +0200 | verde | (~user@user/verde) (Ping timeout: 255 seconds) |
2024-06-08 16:46:39 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-08 16:55:37 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-06-08 16:56:07 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-06-08 17:00:00 +0200 | driib3 | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2024-06-08 17:03:52 +0200 | driib3 | (~driib@vmi931078.contaboserver.net) |
2024-06-08 17:10:25 +0200 | Square | (~Square@user/square) |
2024-06-08 17:13:04 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
2024-06-08 17:13:38 +0200 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
2024-06-08 17:21:06 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) |
2024-06-08 17:23:17 +0200 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) |
2024-06-08 17:28:08 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-06-08 17:31:55 +0200 | dagit4374 | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (Remote host closed the connection) |
2024-06-08 17:33:20 +0200 | dagit | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) |
2024-06-08 17:50:57 +0200 | Inst_ | (~Inst@user/Inst) |
2024-06-08 17:53:28 +0200 | Inst | (~Inst@user/Inst) (Ping timeout: 246 seconds) |
2024-06-08 18:01:50 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-06-08 18:05:46 +0200 | Lycurgus | (~georg@user/Lycurgus) |
2024-06-08 18:37:48 +0200 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-06-08 18:45:28 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 18:48:09 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-06-08 19:10:56 +0200 | dolio | (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-06-08 19:11:51 +0200 | dcoutts | (~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) (Ping timeout: 255 seconds) |
2024-06-08 19:12:38 +0200 | dolio | (~dolio@130.44.134.54) |
2024-06-08 19:15:26 +0200 | Heffalump | (~ganesh@urchin.earth.li) |
2024-06-08 19:16:07 +0200 | Heffalump | (~ganesh@urchin.earth.li) () |
2024-06-08 19:17:38 +0200 | dolio | (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-06-08 19:19:12 +0200 | talukara | (~talukara@user/talukara) |
2024-06-08 19:19:19 +0200 | talukara | (~talukara@user/talukara) (Max SendQ exceeded) |
2024-06-08 19:19:45 +0200 | talukara | (~talukara@user/talukara) |
2024-06-08 19:22:47 +0200 | dolio | (~dolio@130.44.134.54) |
2024-06-08 19:23:14 +0200 | talukara | (~talukara@user/talukara) (Client Quit) |
2024-06-08 19:25:13 +0200 | dcoutts | (~duncan@77.109.149.106) |
2024-06-08 19:28:27 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-06-08 19:29:05 +0200 | Heffalump | (~ganesh@urchin.earth.li) |
2024-06-08 19:29:16 +0200 | xdminsy | (~xdminsy@117.147.70.212) (Ping timeout: 268 seconds) |
2024-06-08 19:29:32 +0200 | boukenshaou | (~Boukensha@2401:4900:1cd4:b07a:78ff:838f:4850:1823) |
2024-06-08 19:30:09 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-06-08 19:30:17 +0200 | xdminsy | (~xdminsy@117.147.70.212) |
2024-06-08 19:38:30 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 19:44:47 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-06-08 19:56:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 20:01:20 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Remote host closed the connection) |
2024-06-08 20:01:39 +0200 | hammond | (proscan@gateway02.insomnia247.nl) (Read error: Connection reset by peer) |
2024-06-08 20:01:56 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) |
2024-06-08 20:05:53 +0200 | hammond | (proscan@gateway02.insomnia247.nl) |
2024-06-08 20:19:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 20:22:07 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) |
2024-06-08 20:23:29 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-06-08 20:24:27 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-06-08 20:25:10 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-06-08 20:29:57 +0200 | troydm | (~troydm@user/troydm) |
2024-06-08 20:30:53 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 20:39:02 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-06-08 20:45:22 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-06-08 20:47:41 +0200 | gmg | (~user@user/gehmehgeh) |
2024-06-08 20:58:27 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-06-08 21:04:27 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-06-08 21:14:44 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) (Ping timeout: 256 seconds) |
2024-06-08 21:21:30 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds) |
2024-06-08 21:23:24 +0200 | Square | (~Square@user/square) (Read error: Connection reset by peer) |
2024-06-08 21:25:06 +0200 | Square | (~Square@user/square) |
2024-06-08 21:35:46 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) |
2024-06-08 21:48:05 +0200 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Ping timeout: 240 seconds) |
2024-06-08 21:51:12 +0200 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
2024-06-08 21:56:49 +0200 | michalz | (~michalz@185.246.207.203) |
2024-06-08 22:01:32 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2024-06-08 22:02:04 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-06-08 22:02:39 +0200 | JimL | (~quassel@89.162.16.26) (Quit: No Ping reply in 180 seconds.) |
2024-06-08 22:03:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 22:03:57 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-08 22:04:02 +0200 | JimL | (~quassel@89.162.16.26) |
2024-06-08 22:19:28 +0200 | Square | (~Square@user/square) (Ping timeout: 246 seconds) |
2024-06-08 22:19:33 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-06-08 22:21:28 +0200 | euleritian | (~euleritia@dynamic-176-004-183-058.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-06-08 22:21:45 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 22:25:30 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
2024-06-08 22:25:31 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 22:28:05 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-06-08 22:28:08 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 22:31:31 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-08 22:32:31 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-08 22:33:54 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-06-08 22:39:41 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 240 seconds) |
2024-06-08 22:41:08 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-06-08 22:44:29 +0200 | inedia | (~irc@2600:3c00:e000:287::1) (Quit: WeeChat 4.2.2) |
2024-06-08 22:47:39 +0200 | inedia | (~irc@2600:3c00:e000:287::1) |
2024-06-08 22:50:27 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-06-08 22:54:07 +0200 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving) |
2024-06-08 22:58:22 +0200 | pavonia | (~user@user/siracusa) |
2024-06-08 23:07:33 +0200 | boukenshaou | (~Boukensha@2401:4900:1cd4:b07a:78ff:838f:4850:1823) (Remote host closed the connection) |
2024-06-08 23:09:13 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 23:17:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 23:41:25 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) (Ping timeout: 255 seconds) |
2024-06-08 23:46:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-08 23:48:49 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) |
2024-06-08 23:49:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-08 23:50:40 +0200 | michalz | (~michalz@185.246.207.203) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-06-08 23:53:52 +0200 | Feuermagier | Guest9152 |
2024-06-08 23:53:52 +0200 | Feuermagier_ | (~Feuermagi@user/feuermagier) |
2024-06-08 23:53:52 +0200 | Guest9152 | (~Feuermagi@user/feuermagier) (Killed (lead.libera.chat (Nickname regained by services))) |
2024-06-08 23:53:52 +0200 | Feuermagier_ | Feuermagier |
2024-06-08 23:58:16 +0200 | cpressey | (~weechat@33b62f0c.skybroadband.com) (Quit: WeeChat 4.3.0) |