2024/06/08

2024-06-08 00:02:22 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-08 00:04:42 +0200CrunchyFlakes(~CrunchyFl@146.52.130.128)
2024-06-08 00:05:45 +0200ph88(~ph88@2a02:8109:9e26:c800:f0e:db60:68cc:2c13) (Quit: Leaving)
2024-06-08 00:06:26 +0200michalz(~michalz@185.246.207.201) (Quit: ZNC 1.9.0 - https://znc.in)
2024-06-08 00:12:10 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-08 00:12:16 +0200euleritian(~euleritia@77.22.252.56)
2024-06-08 00:23:52 +0200Tuplanolla(~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 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-08 00:58:41 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-08 01:06:22 +0200acidjnk(~acidjnk@p200300d6e714dc79edaa57aef410daf5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-06-08 01:17:28 +0200yin(~yin@user/zero) (Ping timeout: 268 seconds)
2024-06-08 01:18:32 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-08 01:33:30 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-06-08 01:36:37 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 255 seconds)
2024-06-08 01:37:39 +0200euleritian(~euleritia@dynamic-176-006-010-205.176.6.pool.telefonica.de)
2024-06-08 01:50:09 +0200ystael(~ystael@user/ystael) (Ping timeout: 268 seconds)
2024-06-08 02:09:08 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-06-08 02:09:10 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2024-06-08 02:10:29 +0200Lord_of_Life_Lord_of_Life
2024-06-08 02:11:58 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 246 seconds)
2024-06-08 02:14:37 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-08 03:17:30 +0200jjhoo_(jahakala@user/jjhoo) (Ping timeout: 256 seconds)
2024-06-08 03:18:25 +0200joeyadams(~joeyadams@38.48.105.67)
2024-06-08 03:25:17 +0200xam_(~dev@2405:201:c062:801d:8728:7618:dd19:eaef) (Ping timeout: 240 seconds)
2024-06-08 03:26:28 +0200dev2(~dev@2405:201:c062:801d:74fb:a90f:fd55:89e8)
2024-06-08 03:34:05 +0200jjhoo(~jahakala@user/jjhoo)
2024-06-08 03:59:08 +0200CrunchyFlakes(~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer)
2024-06-08 04:01:17 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-08 04:07:03 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
2024-06-08 04:28:54 +0200joeyadams(~joeyadams@38.48.105.67) (Quit: Leaving)
2024-06-08 04:37:49 +0200bilegeek(~bilegeek@2600:1008:b012:5182:bbcf:8156:6b3:93d9)
2024-06-08 04:50:17 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-06-08 04:50:49 +0200rvalue(~rvalue@user/rvalue)
2024-06-08 05:00:23 +0200td_(~td@i53870928.versanet.de) (Ping timeout: 268 seconds)
2024-06-08 05:02:07 +0200td_(~td@i53870927.versanet.de)
2024-06-08 05:43:39 +0200xigua(~xigua@user/xigua) (Read error: Connection reset by peer)
2024-06-08 05:43:53 +0200xigua(~xigua@user/xigua)
2024-06-08 05:44:47 +0200dcoutts(~duncan@77.109.149.106) (Ping timeout: 268 seconds)
2024-06-08 05:46:31 +0200euleritian(~euleritia@dynamic-176-006-010-205.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-08 05:46:49 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-08 05:50:46 +0200aforemny(~aforemny@i59F516E7.versanet.de)
2024-06-08 05:51:05 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-08 05:51:29 +0200aforemny_(~aforemny@2001:9e8:6cfe:9000:f190:2088:3129:672b) (Ping timeout: 272 seconds)
2024-06-08 05:55:06 +0200dcoutts(~duncan@77.109.149.106)
2024-06-08 06:13:11 +0200dmj`(uid72307@id-72307.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-06-08 06:26:57 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2024-06-08 06:27:49 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-08 06:30:17 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-08 06:31:21 +0200dcoutts(~duncan@77.109.149.106) (Ping timeout: 268 seconds)
2024-06-08 06:47:45 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-06-08 06:48:25 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-06-08 06:57:54 +0200bilegeek(~bilegeek@2600:1008:b012:5182:bbcf:8156:6b3:93d9) (Quit: Leaving)
2024-06-08 07:02:14 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-06-08 07:04:16 +0200troydm(~troydm@user/troydm)
2024-06-08 07:05:06 +0200troydm(~troydm@user/troydm) (Client Quit)
2024-06-08 07:05:24 +0200troydm(~troydm@user/troydm)
2024-06-08 07:18:34 +0200troydm(~troydm@user/troydm) (Ping timeout: 246 seconds)
2024-06-08 07:32:10 +0200Feuermagier(~Feuermagi@user/feuermagier)
2024-06-08 07:46:26 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-08 07:50:44 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-06-08 07:52:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-08 07:54:32 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-08 07:57:10 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Remote host closed the connection)
2024-06-08 07:57:37 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-08 08:03:32 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-08 08:04:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-08 08:08:43 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
2024-06-08 08:08:47 +0200m1dnight_(~christoph@82.146.125.185) (Quit: WeeChat 4.2.2)
2024-06-08 08:09:29 +0200m1dnight(~christoph@82.146.125.185)
2024-06-08 08:16:42 +0200Lycurgus(~georg@user/Lycurgus)
2024-06-08 08:17:46 +0200causal(~eric@50.35.88.207) (Quit: WeeChat 4.1.1)
2024-06-08 08:29:07 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-06-08 08:30:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-08 08:33:49 +0200Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-06-08 08:35:00 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
2024-06-08 08:48:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-08 08:50:35 +0200cpressey(~weechat@33b62f0c.skybroadband.com)
2024-06-08 08:51:41 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2024-06-08 08:52:18 +0200euleritian(~euleritia@dynamic-176-006-005-097.176.6.pool.telefonica.de)
2024-06-08 08:52:40 +0200euleritian(~euleritia@dynamic-176-006-005-097.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-08 08:53:38 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-08 08:59:44 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-06-08 09:01:04 +0200chiselfuse(~chiselfus@user/chiselfuse)
2024-06-08 09:10:11 +0200cpressey(~weechat@33b62f0c.skybroadband.com) (Ping timeout: 264 seconds)
2024-06-08 09:11:49 +0200ft(~ft@p508db8fc.dip0.t-ipconnect.de) (Quit: leaving)
2024-06-08 09:12:02 +0200ambareesh(~ambareesh@2601:646:8f01:3aac:aef7:fb34:9419:a905)
2024-06-08 09:13:25 +0200ambareesh(~ambareesh@2601:646:8f01:3aac:aef7:fb34:9419:a905) (Client Quit)
2024-06-08 09:16:22 +0200cpressey(~weechat@33b62f0c.skybroadband.com)
2024-06-08 09:17:30 +0200Axman6(~Axman6@user/axman6)
2024-06-08 09:20:50 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving)
2024-06-08 09:27:52 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds)
2024-06-08 09:28:26 +0200acidjnk(~acidjnk@p200300d6e714dc900cd3e2d9c55a017d.dip0.t-ipconnect.de)
2024-06-08 09:29:59 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds)
2024-06-08 09:32:30 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2024-06-08 09:34:48 +0200cpressey(~weechat@33b62f0c.skybroadband.com) (Ping timeout: 268 seconds)
2024-06-08 09:36:28 +0200michalz(~michalz@185.246.207.200)
2024-06-08 09:40:22 +0200cpressey(~weechat@33b62f0c.skybroadband.com)
2024-06-08 09:43:26 +0200gmg(~user@user/gehmehgeh)
2024-06-08 10:02:20 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-06-08 10:06:37 +0200oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
2024-06-08 10:11:48 +0200TonyStone(~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 +0200robobub(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 +0200target_i(~target_i@user/target-i/x-6023099)
2024-06-08 10:50:40 +0200michalz(~michalz@185.246.207.200) (Quit: ZNC 1.9.0 - https://znc.in)
2024-06-08 10:51:46 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-06-08 10:54:38 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-06-08 10:56:05 +0200oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 252 seconds)
2024-06-08 11:20:31 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-06-08 11:21:31 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-08 11:24:42 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-06-08 11:25:11 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-08 11:25:34 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-06-08 11:26:25 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2024-06-08 11:31:30 +0200dcoutts(~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 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-08 11:38:43 +0200dsrt^(~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 +0200dcoutts(~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 +0200phma(phma@2001:5b0:2172:c168:223e:807a:618e:7153) (Read error: Connection reset by peer)
2024-06-08 11:53:17 +0200tomsmedingthought 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 +0200phma(~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 +0200falafel(~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 +0200falafel_(~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 +0200lxsameer(~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 +0200falafel(~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 +0200falafel_(~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 +0200sawilagar(~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 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8)
2024-06-08 12:35:45 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-08 12:36:48 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-08 12:42:31 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8) (Ping timeout: 272 seconds)
2024-06-08 12:43:55 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2024-06-08 12:51:56 +0200ss4(~wootehfoo@user/wootehfoot)
2024-06-08 12:53:45 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds)
2024-06-08 12:57:20 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-06-08 12:57:22 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-08 12:57:36 +0200gorignak(~gorignak@user/gorignak)
2024-06-08 12:58:03 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
2024-06-08 12:58:51 +0200ss4(~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds)
2024-06-08 13:02:15 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds)
2024-06-08 13:17:43 +0200dcoutts(~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f)
2024-06-08 13:20:11 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-06-08 13:21:22 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-08 13:27:22 +0200rvalue-(~rvalue@user/rvalue)
2024-06-08 13:27:25 +0200TactfulCitrus(~al@2a02:8012:87a6:0:fbe0:6116:6e30:e047)
2024-06-08 13:28:31 +0200rvalue(~rvalue@user/rvalue) (Ping timeout: 268 seconds)
2024-06-08 13:31:20 +0200rvalue-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 +0200noumenon(~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 +0200michalz(~michalz@185.246.207.203)
2024-06-08 13:57:12 +0200TactfulCitrus(~al@2a02:8012:87a6:0:fbe0:6116:6e30:e047) (Ping timeout: 268 seconds)
2024-06-08 14:02:05 +0200dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-06-08 14:08:12 +0200michalz(~michalz@185.246.207.203) (Quit: ZNC 1.9.0 - https://znc.in)
2024-06-08 14:20:44 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-08 14:20:47 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-08 14:21:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-08 14:21:27 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-08 14:22:22 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer)
2024-06-08 14:23:21 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2024-06-08 14:23:51 +0200 <lxsameer> b
2024-06-08 14:24:26 +0200titibandit(e33ffbab65@user/titibandit) (Remote host closed the connection)
2024-06-08 14:24:26 +0200eso(a0662dfd5e@2a03:6000:1812:100::1266) (Write error: Connection reset by peer)
2024-06-08 14:24:26 +0200cjb(813b6d8c75@user/cjb) (Remote host closed the connection)
2024-06-08 14:24:26 +0200henrytill(e0180937c3@2a03:6000:1812:100::e8c) (Read error: Connection reset by peer)
2024-06-08 14:24:26 +0200cpli(77fc530071@2a03:6000:1812:100::252) (Remote host closed the connection)
2024-06-08 14:24:26 +0200arcadewise(52968ed80d@2a03:6000:1812:100::3df) (Read error: Connection reset by peer)
2024-06-08 14:24:26 +0200probie(cc0b34050a@user/probie) (Read error: Connection reset by peer)
2024-06-08 14:24:26 +0200akspecs(00cc8321af@sourcehut/user/akspecs) (Read error: Connection reset by peer)
2024-06-08 14:24:26 +0200kuruczgy(55b66dd3ae@2a03:6000:1812:100::127f) (Write error: Connection reset by peer)
2024-06-08 14:24:26 +0200JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3) (Remote host closed the connection)
2024-06-08 14:24:26 +0200samhh(7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection)
2024-06-08 14:24:26 +0200aniketd(32aa4844cd@2a03:6000:1812:100::dcb) (Remote host closed the connection)
2024-06-08 14:24:26 +0200pmk(6afe4476a1@2a03:6000:1812:100::26d) (Read error: Connection reset by peer)
2024-06-08 14:24:26 +0200ursa-major(114efe6c39@2a03:6000:1812:100::11f3) (Write error: Connection reset by peer)
2024-06-08 14:24:26 +0200chaitlatte0(ea29c0bb16@2a03:6000:1812:100::1124) (Remote host closed the connection)
2024-06-08 14:24:26 +0200whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Read error: Connection reset by peer)
2024-06-08 14:24:26 +0200filwisher(2e6936c793@2a03:6000:1812:100::170) (Write error: Broken pipe)
2024-06-08 14:24:26 +0200fgaz_(1ff9197ed6@2a03:6000:1812:100::11ea) (Write error: Broken pipe)
2024-06-08 14:24:26 +0200bsima1(9d7e39c8ad@2a03:6000:1812:100::dd) (Remote host closed the connection)
2024-06-08 14:24:26 +0200jmcantrell(644f1bed9a@user/jmcantrell) (Write error: Connection reset by peer)
2024-06-08 14:24:26 +0200jleightcap(7bc4014b62@user/jleightcap) (Write error: Connection reset by peer)
2024-06-08 14:24:27 +0200shreyasminocha(51fdc93eda@user/shreyasminocha) (Write error: Connection reset by peer)
2024-06-08 14:24:27 +0200fluffyballoon(45ce440a48@2a03:6000:1812:100::e2) (Remote host closed the connection)
2024-06-08 14:24:27 +0200rselim(ce261f06ff@user/milesrout) (Remote host closed the connection)
2024-06-08 14:24:27 +0200lukec(9dfd4d094e@2a03:6000:1812:100::10e) (Write error: Broken pipe)
2024-06-08 14:24:27 +0200sus(1b7af6299f@user/zeromomentum) (Remote host closed the connection)
2024-06-08 14:24:27 +0200raghavgururajan(ea769b8000@user/raghavgururajan) (Read error: Connection reset by peer)
2024-06-08 14:24:27 +0200fn_lumi(3d621153a5@2a03:6000:1812:100::df7) (Remote host closed the connection)
2024-06-08 14:24:27 +0200evanrelf(3addc196af@2a03:6000:1812:100::f0) (Remote host closed the connection)
2024-06-08 14:24:27 +0200samhh_(7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection)
2024-06-08 14:24:27 +0200Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2) (Remote host closed the connection)
2024-06-08 14:24:28 +0200jakzale(6291399afa@user/jakzale) (Remote host closed the connection)
2024-06-08 14:24:28 +0200brettgilio(a35ba67324@2a03:6000:1812:100::260) (Remote host closed the connection)
2024-06-08 14:24:28 +0200ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) (Remote host closed the connection)
2024-06-08 14:24:28 +0200alethkit(23bd17ddc6@sourcehut/user/alethkit) (Read error: Connection reset by peer)
2024-06-08 14:24:28 +0200fvr(ef3e56ca8b@2a03:6000:1812:100::3c4) (Remote host closed the connection)
2024-06-08 14:24:28 +0200ymherklotz(cb2c9cfbdd@2a03:6000:1812:100::29a) (Remote host closed the connection)
2024-06-08 14:24:28 +0200lane(809450f172@2a03:6000:1812:100::1300) (Remote host closed the connection)
2024-06-08 14:24:28 +0200duncan(c6181279e3@user/meow/duncan) (Remote host closed the connection)
2024-06-08 14:24:28 +0200sm2n(ae95cb1267@user/sm2n) (Read error: Connection reset by peer)
2024-06-08 14:24:28 +0200b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (Read error: Connection reset by peer)
2024-06-08 14:24:28 +0200jkoshy(99b9359beb@user/jkoshy) (Remote host closed the connection)
2024-06-08 14:24:35 +0200lane(809450f172@2a03:6000:1812:100::1300)
2024-06-08 14:24:35 +0200bsima1(9d7e39c8ad@2a03:6000:1812:100::dd)
2024-06-08 14:24:36 +0200whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4)
2024-06-08 14:24:36 +0200ggb(a62ffbaf4f@2a03:6000:1812:100::3ac)
2024-06-08 14:24:36 +0200raghavgururajan(ea769b8000@user/raghavgururajan)
2024-06-08 14:24:36 +0200filwisher(2e6936c793@2a03:6000:1812:100::170)
2024-06-08 14:24:37 +0200jakzale(6291399afa@user/jakzale)
2024-06-08 14:24:37 +0200jmcantrell(644f1bed9a@user/jmcantrell)
2024-06-08 14:24:37 +0200fgaz_(1ff9197ed6@2a03:6000:1812:100::11ea)
2024-06-08 14:24:38 +0200pmk(6afe4476a1@2a03:6000:1812:100::26d)
2024-06-08 14:24:38 +0200eso(a0662dfd5e@2a03:6000:1812:100::1266)
2024-06-08 14:24:38 +0200fluffyballoon(45ce440a48@2a03:6000:1812:100::e2)
2024-06-08 14:24:38 +0200aniketd(32aa4844cd@2a03:6000:1812:100::dcb)
2024-06-08 14:24:38 +0200lukec(9dfd4d094e@2a03:6000:1812:100::10e)
2024-06-08 14:24:39 +0200fn_lumi(3d621153a5@2a03:6000:1812:100::df7)
2024-06-08 14:24:39 +0200henrytill(e0180937c3@2a03:6000:1812:100::e8c)
2024-06-08 14:24:39 +0200evanrelf(3addc196af@2a03:6000:1812:100::f0)
2024-06-08 14:24:40 +0200brettgilio(a35ba67324@2a03:6000:1812:100::260)
2024-06-08 14:24:40 +0200jkoshy(99b9359beb@user/jkoshy)
2024-06-08 14:24:41 +0200duncan(c6181279e3@user/meow/duncan)
2024-06-08 14:24:42 +0200JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3)
2024-06-08 14:24:42 +0200jleightcap(7bc4014b62@user/jleightcap)
2024-06-08 14:24:42 +0200fvr(ef3e56ca8b@2a03:6000:1812:100::3c4)
2024-06-08 14:24:42 +0200cpli(77fc530071@2a03:6000:1812:100::252)
2024-06-08 14:24:42 +0200cjb(813b6d8c75@user/cjb)
2024-06-08 14:24:42 +0200titibandit(e33ffbab65@user/titibandit)
2024-06-08 14:24:42 +0200b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf)
2024-06-08 14:24:43 +0200ursa-major(114efe6c39@2a03:6000:1812:100::11f3)
2024-06-08 14:24:43 +0200sm2n(ae95cb1267@user/sm2n)
2024-06-08 14:24:44 +0200probie(cc0b34050a@user/probie)
2024-06-08 14:24:44 +0200kuruczgy(55b66dd3ae@2a03:6000:1812:100::127f)
2024-06-08 14:24:45 +0200akspecs(00cc8321af@sourcehut/user/akspecs)
2024-06-08 14:24:46 +0200alethkit(23bd17ddc6@sourcehut/user/alethkit)
2024-06-08 14:24:46 +0200arcadewise(52968ed80d@2a03:6000:1812:100::3df)
2024-06-08 14:24:46 +0200shreyasminocha(51fdc93eda@user/shreyasminocha)
2024-06-08 14:24:47 +0200d34df00d(~d34df00d@2600:1702:4f1b:7c10::43) (Excess Flood)
2024-06-08 14:24:47 +0200ymherklotz(cb2c9cfbdd@2a03:6000:1812:100::29a)
2024-06-08 14:24:49 +0200sus(1b7af6299f@user/zeromomentum)
2024-06-08 14:24:50 +0200samhh_(7569f027cf@2a03:6000:1812:100::e4)
2024-06-08 14:24:51 +0200Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2)
2024-06-08 14:24:51 +0200chaitlatte0(ea29c0bb16@user/chaitlatte0)
2024-06-08 14:24:51 +0200samhh(7569f027cf@2a03:6000:1812:100::e4)
2024-06-08 14:24:51 +0200rselim(ce261f06ff@user/milesrout)
2024-06-08 14:25:47 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-06-08 14:25:56 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-08 14:28:34 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
2024-06-08 14:31:57 +0200cpressey(~weechat@33b62f0c.skybroadband.com) (Ping timeout: 255 seconds)
2024-06-08 14:38:12 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-06-08 14:38:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-06-08 14:38:50 +0200euleritian(~euleritia@dynamic-176-006-192-047.176.6.pool.telefonica.de)
2024-06-08 14:39:35 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-08 14:39:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-08 14:40:27 +0200zetef(~quassel@5.14.129.50)
2024-06-08 14:41:27 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-08 14:41:43 +0200ft(~ft@i5C743B45.versanet.de)
2024-06-08 14:42:44 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Client Quit)
2024-06-08 14:43:52 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-08 14:44:21 +0200cpressey(~weechat@33b62f0c.skybroadband.com)
2024-06-08 14:52:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-08 14:55:48 +0200cpressey(~weechat@33b62f0c.skybroadband.com) (Ping timeout: 255 seconds)
2024-06-08 15:00:58 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds)
2024-06-08 15:01:19 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2024-06-08 15:02:06 +0200euleritian(~euleritia@dynamic-176-006-192-047.176.6.pool.telefonica.de) (Ping timeout: 255 seconds)
2024-06-08 15:02:58 +0200euleritian(~euleritia@dynamic-176-004-183-058.176.4.pool.telefonica.de)
2024-06-08 15:06:46 +0200dagit4374(~dagit@2001:558:6025:38:71c6:9d58:7252:8976)
2024-06-08 15:08:59 +0200dagit(~dagit@24.21.226.72) (Ping timeout: 264 seconds)
2024-06-08 15:14:58 +0200danza(~francesco@151.57.150.48)
2024-06-08 15:18:57 +0200AlexZenon(~alzenon@178.34.163.65) (Ping timeout: 272 seconds)
2024-06-08 15:25:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-08 15:26:16 +0200AlexZenon(~alzenon@178.34.163.65)
2024-06-08 15:27:28 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2024-06-08 15:28:12 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-06-08 15:31:22 +0200AlexZenon(~alzenon@178.34.163.65) (Ping timeout: 255 seconds)
2024-06-08 15:39:15 +0200AlexZenon(~alzenon@178.34.163.65)
2024-06-08 15:43:02 +0200verde(~user@2a04:4540:7202:1e00:ee9e:56f5:e3d8:f038)
2024-06-08 15:45:44 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-08 15:52:24 +0200verde(~user@2a04:4540:7202:1e00:ee9e:56f5:e3d8:f038) (Changing host)
2024-06-08 15:52:24 +0200verde(~user@user/verde)
2024-06-08 15:54:48 +0200verde(~user@user/verde) (Quit: Leaving)
2024-06-08 15:54:56 +0200verde(~user@user/verde)
2024-06-08 15:59:43 +0200AlexZenon(~alzenon@178.34.163.65) (Ping timeout: 255 seconds)
2024-06-08 16:00:04 +0200danza(~francesco@151.57.150.48) (Read error: Connection reset by peer)
2024-06-08 16:01:31 +0200zmt01(~zmt00@user/zmt00) (Ping timeout: 260 seconds)
2024-06-08 16:02:36 +0200tremon(~tremon@83.80.159.219)
2024-06-08 16:09:20 +0200AlexZenon(~alzenon@178.34.163.65)
2024-06-08 16:13:23 +0200zetef(~quassel@5.14.129.50) (Remote host closed the connection)
2024-06-08 16:16:37 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds)
2024-06-08 16:23:18 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-08 16:42:01 +0200verde(~user@user/verde) (Ping timeout: 255 seconds)
2024-06-08 16:46:39 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-08 16:55:37 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-06-08 16:56:07 +0200rvalue(~rvalue@user/rvalue)
2024-06-08 17:00:00 +0200driib3(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2024-06-08 17:03:52 +0200driib3(~driib@vmi931078.contaboserver.net)
2024-06-08 17:10:25 +0200Square(~Square@user/square)
2024-06-08 17:13:04 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-06-08 17:13:38 +0200Maeda(~Maeda@91-161-10-149.subs.proxad.net)
2024-06-08 17:21:06 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
2024-06-08 17:23:17 +0200oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
2024-06-08 17:28:08 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-06-08 17:31:55 +0200dagit4374(~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (Remote host closed the connection)
2024-06-08 17:33:20 +0200dagit(~dagit@2001:558:6025:38:71c6:9d58:7252:8976)
2024-06-08 17:50:57 +0200Inst_(~Inst@user/Inst)
2024-06-08 17:53:28 +0200Inst(~Inst@user/Inst) (Ping timeout: 246 seconds)
2024-06-08 18:01:50 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-08 18:05:46 +0200Lycurgus(~georg@user/Lycurgus)
2024-06-08 18:37:48 +0200Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-06-08 18:45:28 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-08 18:48:09 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-08 19:10:56 +0200dolio(~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-08 19:11:51 +0200dcoutts(~duncan@2001:620:130:6092:8b6f:ee09:26cb:f12f) (Ping timeout: 255 seconds)
2024-06-08 19:12:38 +0200dolio(~dolio@130.44.134.54)
2024-06-08 19:15:26 +0200Heffalump(~ganesh@urchin.earth.li)
2024-06-08 19:16:07 +0200Heffalump(~ganesh@urchin.earth.li) ()
2024-06-08 19:17:38 +0200dolio(~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-08 19:19:12 +0200talukara(~talukara@user/talukara)
2024-06-08 19:19:19 +0200talukara(~talukara@user/talukara) (Max SendQ exceeded)
2024-06-08 19:19:45 +0200talukara(~talukara@user/talukara)
2024-06-08 19:22:47 +0200dolio(~dolio@130.44.134.54)
2024-06-08 19:23:14 +0200talukara(~talukara@user/talukara) (Client Quit)
2024-06-08 19:25:13 +0200dcoutts(~duncan@77.109.149.106)
2024-06-08 19:28:27 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-06-08 19:29:05 +0200Heffalump(~ganesh@urchin.earth.li)
2024-06-08 19:29:16 +0200xdminsy(~xdminsy@117.147.70.212) (Ping timeout: 268 seconds)
2024-06-08 19:29:32 +0200boukenshaou(~Boukensha@2401:4900:1cd4:b07a:78ff:838f:4850:1823)
2024-06-08 19:30:09 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-06-08 19:30:17 +0200xdminsy(~xdminsy@117.147.70.212)
2024-06-08 19:38:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-08 19:44:47 +0200Sgeo(~Sgeo@user/sgeo)
2024-06-08 19:56:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-08 20:01:20 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Remote host closed the connection)
2024-06-08 20:01:39 +0200hammond(proscan@gateway02.insomnia247.nl) (Read error: Connection reset by peer)
2024-06-08 20:01:56 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
2024-06-08 20:05:53 +0200hammond(proscan@gateway02.insomnia247.nl)
2024-06-08 20:19:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-08 20:22:07 +0200cpressey(~weechat@33b62f0c.skybroadband.com)
2024-06-08 20:23:29 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-08 20:24:27 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-06-08 20:25:10 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-06-08 20:29:57 +0200troydm(~troydm@user/troydm)
2024-06-08 20:30:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-08 20:39:02 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
2024-06-08 20:45:22 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 260 seconds)
2024-06-08 20:47:41 +0200gmg(~user@user/gehmehgeh)
2024-06-08 20:58:27 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-08 21:04:27 +0200euphores(~SASL_euph@user/euphores)