| 2026-04-09 00:02:44 +0000 | olivial | (~benjaminl@user/benjaminl) (Read error: Connection reset by peer) |
| 2026-04-09 00:03:00 +0000 | olivial | (~benjaminl@user/benjaminl) benjaminl |
| 2026-04-09 00:04:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-09 00:14:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 00:16:00 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e5545ef09a087c16a42c.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2026-04-09 00:19:51 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-09 00:30:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 00:35:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-09 00:46:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 00:48:19 +0000 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 2026-04-09 00:48:36 +0000 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) gabiruh |
| 2026-04-09 00:49:30 +0000 | xff0x | (~xff0x@ai112096.d.east.v6connect.net) (Ping timeout: 265 seconds) |
| 2026-04-09 00:50:17 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 00:53:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-09 00:57:49 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed) |
| 2026-04-09 00:58:19 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) |
| 2026-04-09 01:00:56 +0000 | puke | (~puke@user/puke) (Ping timeout: 250 seconds) |
| 2026-04-09 01:04:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 01:06:24 +0000 | olivial | (~benjaminl@user/benjaminl) (Ping timeout: 246 seconds) |
| 2026-04-09 01:09:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-09 01:09:43 +0000 | tremon | (~tremon@83.80.159.219) (Remote host closed the connection) |
| 2026-04-09 01:15:20 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 252 seconds) |
| 2026-04-09 01:19:21 +0000 | olivial | (~benjaminl@user/benjaminl) benjaminl |
| 2026-04-09 01:20:36 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-09 01:31:59 +0000 | jmcantrell_ | jmcantrell |
| 2026-04-09 01:35:47 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-09 01:39:08 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-04-09 01:40:19 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 245 seconds) |
| 2026-04-09 01:44:58 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 01:49:29 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 248 seconds) |
| 2026-04-09 01:51:29 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 01:56:35 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-09 02:00:03 +0000 | krei-se- | (~krei-se@p5b1578ec.dip0.t-ipconnect.de) krei-se |
| 2026-04-09 02:00:25 +0000 | krei-se | (~krei-se@p5dea1d59.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2026-04-09 02:07:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 02:12:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-09 02:18:46 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2026-04-09 02:19:08 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 02:19:12 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
| 2026-04-09 02:23:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 02:24:11 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-09 02:29:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-09 02:34:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 02:39:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-09 02:46:23 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-09 02:49:39 +0000 | krei-se- | (~krei-se@p5b1578ec.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2026-04-09 02:50:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 02:53:13 +0000 | krei-se | (~krei-se@p5b1642b0.dip0.t-ipconnect.de) krei-se |
| 2026-04-09 02:53:43 +0000 | qqq | (~qqq@185.54.23.237) (Ping timeout: 264 seconds) |
| 2026-04-09 02:54:37 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2026-04-09 02:54:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-09 02:54:43 +0000 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-09 02:54:53 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) |
| 2026-04-09 02:54:53 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) (Changing host) |
| 2026-04-09 02:54:53 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 02:55:31 +0000 | qqq | (~qqq@194.124.210.29) |
| 2026-04-09 02:59:30 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 248 seconds) |
| 2026-04-09 03:00:52 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 2026-04-09 03:01:08 +0000 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 265 seconds) |
| 2026-04-09 03:01:26 +0000 | ec | (~ec@gateway/tor-sasl/ec) ec |
| 2026-04-09 03:02:19 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed) |
| 2026-04-09 03:02:49 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) |
| 2026-04-09 03:05:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 03:08:02 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Quit: xff0x) |
| 2026-04-09 03:10:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-09 03:11:16 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-09 03:11:21 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) |
| 2026-04-09 03:11:21 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) (Changing host) |
| 2026-04-09 03:11:21 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 03:11:58 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-04-09 03:14:07 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2026-04-09 03:14:30 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-09 03:15:51 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-09 03:27:53 +0000 | divlamir_ | (~divlamir@user/divlamir) divlamir |
| 2026-04-09 03:28:26 +0000 | divlamir | (~divlamir@user/divlamir) (Ping timeout: 252 seconds) |
| 2026-04-09 03:28:44 +0000 | divlamir_ | divlamir |
| 2026-04-09 03:37:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 03:43:02 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 03:43:58 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-04-09 03:47:56 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 256 seconds) |
| 2026-04-09 03:52:49 +0000 | stureplan | (22e45d5caf@user/stureplan) (Ping timeout: 245 seconds) |
| 2026-04-09 03:55:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 03:56:26 +0000 | dtman34 | (~dtman34@2601:447:d183:2302:b0c5:8965:1c3f:d560) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2026-04-09 03:56:47 +0000 | dtman34 | (~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) dtman34 |
| 2026-04-09 03:59:37 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-09 04:10:23 +0000 | stureplan | (22e45d5caf@user/stureplan) stureplan |
| 2026-04-09 04:11:49 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) |
| 2026-04-09 04:11:49 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) (Changing host) |
| 2026-04-09 04:11:49 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 04:16:49 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-09 04:17:01 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 265 seconds) |
| 2026-04-09 04:28:06 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 2026-04-09 04:28:40 +0000 | ec | (~ec@gateway/tor-sasl/ec) ec |
| 2026-04-09 04:30:33 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) |
| 2026-04-09 04:30:33 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) (Changing host) |
| 2026-04-09 04:30:33 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 04:34:58 +0000 | mulk | (~mulk@pd95147f8.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2026-04-09 04:35:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 04:35:51 +0000 | michalz | (~michalz@185.246.207.215) |
| 2026-04-09 04:36:06 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 2026-04-09 04:40:15 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-09 04:44:16 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-09 04:47:46 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 276 seconds) |
| 2026-04-09 04:51:20 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 04:56:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-09 05:04:19 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) |
| 2026-04-09 05:04:19 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) (Changing host) |
| 2026-04-09 05:04:19 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 05:06:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 05:09:06 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 248 seconds) |
| 2026-04-09 05:11:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-09 05:13:02 +0000 | craunts795335385 | (~craunts@152.32.99.2) |
| 2026-04-09 05:13:43 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 05:15:53 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed) |
| 2026-04-09 05:16:24 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) |
| 2026-04-09 05:18:24 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 246 seconds) |
| 2026-04-09 05:21:52 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Ping timeout: 245 seconds) |
| 2026-04-09 05:22:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 05:23:43 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e5547dbd3ba66fa0822f.dip0.t-ipconnect.de) acidjnk |
| 2026-04-09 05:27:36 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-09 05:30:51 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 05:35:52 +0000 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 244 seconds) |
| 2026-04-09 05:36:22 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 05:37:56 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-09 05:41:16 +0000 | jreicher | (~joelr@user/jreicher) (Quit: In transit) |
| 2026-04-09 05:43:35 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-09 05:48:08 +0000 | haritzondo | (~hrtz@140.228.70.141) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2026-04-09 05:54:26 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 05:54:28 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds) |
| 2026-04-09 05:55:02 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-04-09 05:59:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-09 06:01:03 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 2026-04-09 06:09:50 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 06:10:13 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 06:15:16 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-04-09 06:26:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 06:30:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-09 06:33:19 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen |
| 2026-04-09 06:37:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 06:42:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-09 06:44:05 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2026-04-09 06:44:21 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-04-09 06:44:21 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2026-04-09 06:44:21 +0000 | tusko | (~uwu@user/tusko) (Remote host closed the connection) |
| 2026-04-09 06:44:27 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2026-04-09 06:44:47 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
| 2026-04-09 06:45:11 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-09 06:46:39 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-04-09 06:47:20 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-09 06:48:37 +0000 | danza | (~danza@user/danza) danza |
| 2026-04-09 06:49:33 +0000 | tusko | (~uwu@user/tusko) tusko |
| 2026-04-09 06:50:09 +0000 | igemnace | (~igemnace@user/igemnace) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in) |
| 2026-04-09 06:51:09 +0000 | igemnace | (~igemnace@user/igemnace) igemnace |
| 2026-04-09 06:53:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 06:58:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2026-04-09 07:11:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 07:12:19 +0000 | Guest81 | (~Guest11@89-75-67-71.infra.play.pl) |
| 2026-04-09 07:13:26 +0000 | Guest81 | (~Guest11@89-75-67-71.infra.play.pl) (Client Quit) |
| 2026-04-09 07:14:35 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 2026-04-09 07:15:04 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2026-04-09 07:18:35 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-09 07:23:24 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-09 07:25:24 +0000 | tusko | (~uwu@user/tusko) (Remote host closed the connection) |
| 2026-04-09 07:25:49 +0000 | tusko | (~uwu@user/tusko) tusko |
| 2026-04-09 07:26:37 +0000 | Enrico63 | (~Enrico63@host-212-171-80-94.retail.telecomitalia.it) Enrico63 |
| 2026-04-09 07:35:07 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 07:35:41 +0000 | emmanuelux | (~em@user/emmanuelux) (Read error: Connection reset by peer) |
| 2026-04-09 07:35:53 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-04-09 07:38:58 +0000 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-04-09 07:40:06 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 2026-04-09 07:51:25 +0000 | qqq_ | (~qqq@185.54.23.237) |
| 2026-04-09 07:52:38 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) |
| 2026-04-09 07:52:38 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) (Changing host) |
| 2026-04-09 07:52:38 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 07:53:01 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 276 seconds) |
| 2026-04-09 07:54:07 +0000 | qqq | (~qqq@194.124.210.29) (Read error: Connection reset by peer) |
| 2026-04-09 07:57:16 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 256 seconds) |
| 2026-04-09 07:57:55 +0000 | qqq_ | (~qqq@185.54.23.237) (Ping timeout: 264 seconds) |
| 2026-04-09 07:58:25 +0000 | qqq | (~qqq@194.124.210.29) |
| 2026-04-09 08:01:45 +0000 | merijn | (~merijn@77.242.116.146) merijn |
| 2026-04-09 08:07:29 +0000 | emmanuelux | (~em@user/emmanuelux) (Quit: bye) |
| 2026-04-09 08:07:36 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2026-04-09 08:08:42 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 08:09:22 +0000 | poscat0x04 | (~poscat@user/poscat) (Ping timeout: 248 seconds) |
| 2026-04-09 08:11:17 +0000 | ft | (~ft@p508db341.dip0.t-ipconnect.de) (Quit: leaving) |
| 2026-04-09 08:12:56 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-09 08:33:36 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) |
| 2026-04-09 08:33:36 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99db:133:cbd4:5b6d) (Changing host) |
| 2026-04-09 08:33:36 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 08:37:44 +0000 | qqq | (~qqq@194.124.210.29) (Ping timeout: 244 seconds) |
| 2026-04-09 08:39:49 +0000 | qqq | (~qqq@185.54.23.237) |
| 2026-04-09 08:57:40 +0000 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 245 seconds) |
| 2026-04-09 08:59:57 +0000 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
| 2026-04-09 09:06:17 +0000 | danz98710 | (~danza@user/danza) danza |
| 2026-04-09 09:06:51 +0000 | danza | (~danza@user/danza) (Read error: Connection reset by peer) |
| 2026-04-09 09:06:55 +0000 | werneta | (~werneta@71.83.160.242) (Ping timeout: 264 seconds) |
| 2026-04-09 09:17:15 +0000 | pfc | (~pfc@user/pfc) pfc |
| 2026-04-09 09:22:59 +0000 | Freakie | (~Freakie@185.45.22.133) |
| 2026-04-09 09:24:08 +0000 | qqq | (~qqq@185.54.23.237) (Quit: Lost terminal) |
| 2026-04-09 09:24:17 +0000 | Pozyomka | (~pyon@user/pyon) (Ping timeout: 252 seconds) |
| 2026-04-09 09:24:44 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-04-09 09:28:37 +0000 | carbolymer | (carbolymer@delirium.systems) () |
| 2026-04-09 09:28:51 +0000 | carbolymer | (carbolymer@delirium.systems) carbolymer |
| 2026-04-09 09:34:39 +0000 | srazkvt | (~sarah@user/srazkvt) srazkvt |
| 2026-04-09 09:35:46 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 248 seconds) |
| 2026-04-09 09:38:19 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 276 seconds) |
| 2026-04-09 09:42:36 +0000 | jreicher | (~joelr@user/jreicher) jreicher |
| 2026-04-09 09:43:22 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 09:53:34 +0000 | carbolymer | (carbolymer@delirium.systems) () |
| 2026-04-09 09:54:11 +0000 | carbolymer | (carbolymer@delirium.systems) carbolymer |
| 2026-04-09 09:54:23 +0000 | Vajb | (~Vajb@n7m5g0hrctljxjtgjiv-1.v6.elisa-mobile.fi) (Ping timeout: 272 seconds) |
| 2026-04-09 09:58:06 +0000 | <kaol> | Where's the mute button for GHC's head warning about partial functions? I don't care about them in my test suite. |
| 2026-04-09 09:58:36 +0000 | Vajb | (~Vajb@n854ip96os9fc74v6iq-1.v6.elisa-mobile.fi) |
| 2026-04-09 09:58:40 +0000 | werneta | (~werneta@71.83.160.242) werneta |
| 2026-04-09 10:00:25 +0000 | <kaol> | Found it: {-# OPTIONS_GHC -Wno-warnings-deprecations #-} |
| 2026-04-09 10:01:15 +0000 | <kaol> | No wait, my module just didn't compile. I must have been hitting :r already. |
| 2026-04-09 10:06:44 +0000 | acidjnk_new | (~acidjnk@p200300d6e700e536bdd7e91e7ee797c5.dip0.t-ipconnect.de) acidjnk |
| 2026-04-09 10:08:25 +0000 | <tomsmeding> | kaol: -Wno-x-partial |
| 2026-04-09 10:09:05 +0000 | <tomsmeding> | and if you want to also compile with GHC <9.8, also -Wno-recognised-warnings-flags |
| 2026-04-09 10:09:41 +0000 | bggd | (~bgg@2a01:e0a:fd5:f510:eca7:61cc:3f32:5425) bggd |
| 2026-04-09 10:09:41 +0000 | bggd | (~bgg@2a01:e0a:fd5:f510:eca7:61cc:3f32:5425) (Changing host) |
| 2026-04-09 10:09:41 +0000 | bggd | (~bgg@user/bggd) bggd |
| 2026-04-09 10:10:13 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e5547dbd3ba66fa0822f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2026-04-09 10:12:50 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-09 10:13:50 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2026-04-09 10:20:32 +0000 | craunts795335385 | (~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-09 10:30:28 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 265 seconds) |
| 2026-04-09 10:30:52 +0000 | arandombit | (~arandombi@user/arandombit) (Remote host closed the connection) |
| 2026-04-09 10:36:20 +0000 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
| 2026-04-09 10:38:30 +0000 | kmein | (~weechat@user/kmein) kmein |
| 2026-04-09 10:42:11 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 10:44:52 +0000 | danz98710 | (~danza@user/danza) (Remote host closed the connection) |
| 2026-04-09 10:46:46 +0000 | Enrico63 | (~Enrico63@host-212-171-80-94.retail.telecomitalia.it) (Quit: Client closed) |
| 2026-04-09 10:49:16 +0000 | Square2 | (~Square4@user/square) Square |
| 2026-04-09 10:50:47 +0000 | qqq | (~qqq@185.54.23.237) |
| 2026-04-09 11:08:39 +0000 | Googulator | (~Googulato@94-21-172-213.pool.digikabel.hu) |
| 2026-04-09 11:09:03 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen |
| 2026-04-09 11:19:44 +0000 | Milan_Vanca | (~milan@user/Milan-Vanca:32634) Milan_Vanca |
| 2026-04-09 11:23:48 +0000 | <Milan_Vanca> | Hello guyz, is there a rule that says when will something be reused or computed anew? |
| 2026-04-09 11:24:57 +0000 | <mauke> | depends on what you mean by "something", I guess |
| 2026-04-09 11:25:53 +0000 | <mauke> | my rule of thumb is that if it's bound to a name and has no class constraints in the type, it's reused |
| 2026-04-09 11:26:51 +0000 | xff0x | (~xff0x@2405:6580:b080:900:af0a:3044:7ec:45a0) |
| 2026-04-09 11:28:43 +0000 | <Milan_Vanca> | Not sure if I understand what "bound to name" means. |
| 2026-04-09 11:28:50 +0000 | <Freakie> | let x = 2 * 4 |
| 2026-04-09 11:29:07 +0000 | <Milan_Vanca> | what about pi = 3.14 |
| 2026-04-09 11:29:09 +0000 | <Freakie> | the expression 2 * 4 is bound to the name x |
| 2026-04-09 11:29:16 +0000 | <Milan_Vanca> | is 3.14 bound to name pi? |
| 2026-04-09 11:29:27 +0000 | <Freakie> | are you familiar with lambda calculus? |
| 2026-04-09 11:29:27 +0000 | <Milan_Vanca> | I mean function definition in module |
| 2026-04-09 11:29:35 +0000 | <mauke> | yes, but there's nothing to calculuate there |
| 2026-04-09 11:29:46 +0000 | <mauke> | s/ua/a/ |
| 2026-04-09 11:29:56 +0000 | <Freakie> | let expressions are just syntactic sugar for lambda functions |
| 2026-04-09 11:30:17 +0000 | <mauke> | Freakie: not really |
| 2026-04-09 11:30:30 +0000 | <mauke> | due to recursion and polymorphism |
| 2026-04-09 11:30:43 +0000 | <Freakie> | well I'm not sure if they are in haskell specifically but it was more to illustrate what is meant by name binding |
| 2026-04-09 11:31:58 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 2026-04-09 11:32:14 +0000 | <Milan_Vanca> | Imaigne function heavy :: Map Int Int and Imagine another function that uses heavy in its body multiple times... I think haskell implementation is free to even recompute heavy or reuse it |
| 2026-04-09 11:32:16 +0000 | <Freakie> | Milan_Vanca but I think in general if you bind an expression to a variable it should only be computed once, whereas if you call the same function with the same arguments it should recompute it |
| 2026-04-09 11:32:29 +0000 | <Freakie> | not sure if there are some program analyses that can optimize it out |
| 2026-04-09 11:32:49 +0000 | <mauke> | Milan_Vanca: that's not a function |
| 2026-04-09 11:32:50 +0000 | <Freakie> | i mean heavy wouldn't be a function, it would just be an expression |
| 2026-04-09 11:33:59 +0000 | <Freakie> | if you're unsure you can always write some code that calls it and add some debug traces |
| 2026-04-09 11:35:49 +0000 | <Freakie> | also I've asked before but I'm hoping someone knows more than I do; does anyone know of an effective way to link dependencies installed through cabal when doing FFI from Haskell to C++? |
| 2026-04-09 11:36:16 +0000 | <Milan_Vanca> | mauke: Is the distiction necessary? |
| 2026-04-09 11:36:36 +0000 | <Freakie> | the only way I've found to do it seems to be to manually give the install locations as arguments during the linking phase but that is extremely cumbersome and error-prone |
| 2026-04-09 11:36:57 +0000 | <mauke> | Milan_Vanca: depends. necessary for what? |
| 2026-04-09 11:38:05 +0000 | myme | (~myme@2a01:799:d5e:5f00:fdf3:5ded:cda8:566f) (Ping timeout: 245 seconds) |
| 2026-04-09 11:38:58 +0000 | <Milan_Vanca> | heavy_pi :: Double main = print heavy_pi; print heavy_pi... |
| 2026-04-09 11:39:09 +0000 | myme | (~myme@2a01:799:d5e:5f00:374a:96c4:fb0d:7007) myme |
| 2026-04-09 11:39:51 +0000 | <Milan_Vanca> | maybe i am missing "do" |
| 2026-04-09 11:41:00 +0000 | <Freakie> | you need do notation when in the IO monad |
| 2026-04-09 11:41:01 +0000 | troydm | (~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 2026-04-09 11:41:28 +0000 | <Freakie> | to answer your question though, pure expressions will only be evaluated once (heavy_pi :: Double etc) |
| 2026-04-09 11:41:30 +0000 | <mauke> | you never "need" do notation |
| 2026-04-09 11:42:02 +0000 | <tomsmeding> | Milan_Vanca: using a variable name multiple times does not result in its definition being computed multiple times, except when that variable is secretly a function |
| 2026-04-09 11:42:48 +0000 | <mauke> | (where "secretly a function" is that class constraints thing I was talking about) |
| 2026-04-09 11:42:56 +0000 | <tomsmeding> | variables can be secretly functions if they are actually polymorphic with a typeclass argument, such as `x = 4` |
| 2026-04-09 11:43:18 +0000 | <tomsmeding> | there we have `x :: Num a => a`, and x's value is different for each type you can fill in for `a` |
| 2026-04-09 11:43:26 +0000 | <Milan_Vanca> | so x in your example is function and wont be reused? |
| 2026-04-09 11:43:42 +0000 | <tomsmeding> | thus it's really a function: from the "Num a" evidence to the resulting value; the `=>` arrow should be read as a function arrow here |
| 2026-04-09 11:43:53 +0000 | <tomsmeding> | Milan_Vanca: indeed, because it _cannot_ be reused: its value is different at different types 'a'! |
| 2026-04-09 11:44:20 +0000 | <mauke> | well... |
| 2026-04-09 11:44:22 +0000 | <tomsmeding> | what GHC _could_ do is reuse x when used twice at the same type; whether that actually happens depends on what GHC's optimiser decides to do, no guarantees |
| 2026-04-09 11:44:30 +0000 | <Freakie> | I mean if called with the same type argument it should reuse the expression? |
| 2026-04-09 11:44:31 +0000 | <Milan_Vanca> | yeah but in example of main = do print x; print x it is always same right? should not be reevaluated? |
| 2026-04-09 11:44:35 +0000 | <mauke> | functions are also reused |
| 2026-04-09 11:44:50 +0000 | <mauke> | but it sounds like you're talking about the result of a function |
| 2026-04-09 11:45:14 +0000 | <Freakie> | if x is a value from a non-deterministic monad it should be recomputed |
| 2026-04-09 11:45:25 +0000 | <tomsmeding> | assuming you mean `print (x :: Int)`, that compiles to something like `main = print (x dNumInt) >> print (x dNumInt)`, where dNumInt is the "Num Int" type class dictionary (evidence) |
| 2026-04-09 11:45:26 +0000 | <mauke> | Freakie: ? |
| 2026-04-09 11:45:59 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2026-04-09 11:45:59 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2026-04-09 11:45:59 +0000 | haritz | (~hrtz@user/haritz) haritz |
| 2026-04-09 11:46:00 +0000 | <tomsmeding> | then GHC can decide to do common subexpression elimination, and rewrite that to `main = let x' = x dNumInt in print x' >> print x'`, but GHC may or may not decide to do this |
| 2026-04-09 11:46:21 +0000 | <tomsmeding> | at which point, `x' :: Int` and is a normal variable, so that `print x' >> print x'` will definitely compute x only once |
| 2026-04-09 11:47:10 +0000 | <tomsmeding> | Freakie: the only way I can make sense of that is `unsafePerformIO (uniform <$> newStdGen)` or whatever the precise API is of System.Random |
| 2026-04-09 11:47:23 +0000 | <Freakie> | would it have to use unsafePerformIO? |
| 2026-04-09 11:47:24 +0000 | <tomsmeding> | in which case, well, you're using unsafePerformIO, you better know what you're doing |
| 2026-04-09 11:47:29 +0000 | <Milan_Vanca> | what about main = do print x; print x; ... lot of other code; print x will last x be kept or recomputed? |
| 2026-04-09 11:47:37 +0000 | <tomsmeding> | Freakie: yes, because without IO, everything is pure and hence deterministic |
| 2026-04-09 11:47:40 +0000 | <mauke> | Milan_Vanca: depends on the type of x |
| 2026-04-09 11:48:03 +0000 | <tomsmeding> | if x has a monomorphic type, reused; if x has a polymorphic type with type class constraints, recomputed (likely) |
| 2026-04-09 11:48:04 +0000 | <Milan_Vanca> | the same as first one |
| 2026-04-09 11:48:12 +0000 | <mauke> | first what? |
| 2026-04-09 11:48:29 +0000 | <Freakie> | tomsmeding we're not strictly talking purity here though |
| 2026-04-09 11:48:51 +0000 | <Milan_Vanca> | tomsmeding showed that x will be computed only once.. so first 2 will be reused then forgoten then recomputed? |
| 2026-04-09 11:49:03 +0000 | <mauke> | what |
| 2026-04-09 11:49:11 +0000 | <tomsmeding> | Milan_Vanca: no, you cannot say anything about your example unless you know what the type of x is |
| 2026-04-09 11:49:24 +0000 | <tomsmeding> | if x :: Int, then x will be computed only once |
| 2026-04-09 11:49:33 +0000 | Enrico63 | (~Enrico63@host-212-171-80-94.pool212171.interbusiness.it) Enrico63 |
| 2026-04-09 11:49:43 +0000 | <Freakie> | it's also tricky because if you assume *any* number of instructions you can't say anything register allocation |
| 2026-04-09 11:49:44 +0000 | <tomsmeding> | if x :: Num a => a, or Show a => [a], or something like that, then it will (likely!) be recomputed |
| 2026-04-09 11:49:53 +0000 | <Freakie> | if it can't fit in the registers it will have to be recomputed |
| 2026-04-09 11:49:55 +0000 | <Freakie> | (I think) |
| 2026-04-09 11:49:59 +0000 | <mauke> | Freakie: ??? |
| 2026-04-09 11:50:06 +0000 | <Milan_Vanca> | ? |
| 2026-04-09 11:50:18 +0000 | <tomsmeding> | Freakie: we're talking about the semantic level here, where reading the value from memory doesn't count as recomputation |
| 2026-04-09 11:50:38 +0000 | <Freakie> | i guess memoization invalidates what I just said yeah |
| 2026-04-09 11:50:39 +0000 | <tomsmeding> | if you want to know whether a memory read will occur, well, good luck reading the assembly, no guarantees |
| 2026-04-09 11:51:00 +0000 | <tomsmeding> | (that's like 4 abstraction levels down suddenly from what we were talking about_) |
| 2026-04-09 11:51:08 +0000 | <Milan_Vanca> | what about this? |
| 2026-04-09 11:51:10 +0000 | <Milan_Vanca> | https://paste.tomsmeding.com/resvyMiU |
| 2026-04-09 11:51:22 +0000 | <tomsmeding> | Milan_Vanca: precisely that code, without any type annotations? |
| 2026-04-09 11:51:30 +0000 | <mauke> | depends on the type of x |
| 2026-04-09 11:51:37 +0000 | <mauke> | which depends on whether the monomorphism restriction is on |
| 2026-04-09 11:51:38 +0000 | <Milan_Vanca> | Lets say yes |
| 2026-04-09 11:52:01 +0000 | <tomsmeding> | if precisely that code, then `x = 4` desugars to `x = fromInteger (4::Integer)`, and you get `x :: Num a => a` |
| 2026-04-09 11:52:04 +0000 | <Milan_Vanca> | mauke: Can I decide if it is on or not? |
| 2026-04-09 11:52:17 +0000 | <tomsmeding> | that call `fromInteger (4::Integer)` will likely be recomputed, but whether that actually happens depends on the GHC optimiser |
| 2026-04-09 11:52:55 +0000 | <mauke> | Milan_Vanca: yes, https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/monomorphism.html#extension-MonomorphismRe… |
| 2026-04-09 11:53:01 +0000 | <mauke> | turning it off is a language extension |
| 2026-04-09 11:53:26 +0000 | <tomsmeding> | oh, mauke is right |
| 2026-04-09 11:53:32 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2026-04-09 11:53:53 +0000 | <tomsmeding> | x will get a monomorphic type here (probably defaulting to Integer) because MonomorphismRestriction is on by default |
| 2026-04-09 11:54:16 +0000 | <mauke> | with MR on, it kinda desugars to 'x = fromInteger (4::Integer) :: Integer' :-) |
| 2026-04-09 11:54:42 +0000 | <tomsmeding> | at which point the fromInteger is likely optimised away, but that's irrelevant to the point of whether things are computed once or more than once |
| 2026-04-09 11:54:44 +0000 | <mauke> | except '4::Integer' is not actually expressible in Haskell; it's a native Integer literal |
| 2026-04-09 11:54:48 +0000 | <tomsmeding> | yeah |
| 2026-04-09 11:54:54 +0000 | <Milan_Vanca> | I haven't disabled it so I guess it is enabled and thus x will be recomputed... got it.. Had I done something like this |
| 2026-04-09 11:54:59 +0000 | <Milan_Vanca> | https://paste.tomsmeding.com/U94PhW5b |
| 2026-04-09 11:55:11 +0000 | <tomsmeding> | Milan_Vanca: no, MR is enabled so x will NOT be recomputed |
| 2026-04-09 11:55:13 +0000 | <tomsmeding> | please read |
| 2026-04-09 11:55:14 +0000 | <mauke> | Milan_Vanca: no, MR prevents recomputation of x |
| 2026-04-09 11:55:40 +0000 | <tomsmeding> | yep, in that example x will be computed once, and it's clearer from the source that that is os |
| 2026-04-09 11:55:42 +0000 | <tomsmeding> | *so |
| 2026-04-09 11:56:28 +0000 | <tomsmeding> | in general, whether a value is recomputed or not in haskell depends on the type of things and whether things are in the same scope, not how much code is in between the references |
| 2026-04-09 11:56:34 +0000 | <tomsmeding> | there's no "limited-time caching" going on |
| 2026-04-09 11:57:11 +0000 | <tomsmeding> | there could be, if you interpret the semantics loosely, but that would result in extremely unpredictable performance and memory use and hence GHC does not do that |
| 2026-04-09 11:57:29 +0000 | <tomsmeding> | (there's enough unpredictability as it is) |
| 2026-04-09 11:59:13 +0000 | <Milan_Vanca> | So basically If instead of X I allocated gigantic bytestring.. it would be ketp in memory for whole time program is running? |
| 2026-04-09 11:59:34 +0000 | <tomsmeding> | until you don't have any references to it any more |
| 2026-04-09 11:59:44 +0000 | <mauke> | yes |
| 2026-04-09 11:59:46 +0000 | <tomsmeding> | because once a value has no references to it any more, the garbage collector (GC) cleans it up |
| 2026-04-09 12:00:44 +0000 | <Milan_Vanca> | I thought so.. what about this example https://paste.tomsmeding.com/C5RBYVCY |
| 2026-04-09 12:01:00 +0000 | <Milan_Vanca> | There is recursion.. and there is only one reference to x |
| 2026-04-09 12:01:09 +0000 | <Milan_Vanca> | This must be recomputed multiple times right? |
| 2026-04-09 12:01:18 +0000 | <merijn> | No |
| 2026-04-09 12:01:33 +0000 | <mauke> | you can test it, btw |
| 2026-04-09 12:01:44 +0000 | <merijn> | `x` is not polymorphic and not "function-like" so the MMR doesn't apply |
| 2026-04-09 12:02:08 +0000 | <mauke> | import Debug.Trace (trace); x :: Int; x = trace "computing x" (4 + 1) |
| 2026-04-09 12:02:21 +0000 | <tomsmeding> | apparently GHC does decide to keep `x` in your print x >> print x example; click Core here: https://play.haskell.org/saved/4XJoAJ1A |
| 2026-04-09 12:02:41 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 12:03:22 +0000 | <tomsmeding> | Milan_Vanca: the recursive function 'main' has a reference to x, and main stays alive (because it loops), so its reference to x also stays alive, so the GC does not remove x |
| 2026-04-09 12:03:37 +0000 | <mauke> | also, x is a global variable |
| 2026-04-09 12:03:43 +0000 | <mauke> | are those ever released? |
| 2026-04-09 12:03:50 +0000 | <tomsmeding> | they can be, yes |
| 2026-04-09 12:04:13 +0000 | <merijn> | mauke: Yes |
| 2026-04-09 12:04:37 +0000 | <merijn> | mauke: It's a CAF, those can be GCed just fine if nothing references them anymore |
| 2026-04-09 12:04:39 +0000 | <tomsmeding> | on a higher level: x is a monomorphic variable, so its value will live (once computed) until it goes out of scope -- or potentially for even longer if GHC decides so |
| 2026-04-09 12:05:08 +0000 | <tomsmeding> | here x is a global variable, so it never goes out of scope, so it lives forever (until the GC decides that it's pointless keeping it around because nothing references it any more) |
| 2026-04-09 12:07:42 +0000 | <Milan_Vanca> | Will https://paste.tomsmeding.com/XLBvdfd1 will x be in memory while one_hour_long computation runs? |
| 2026-04-09 12:07:44 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 268 seconds) |
| 2026-04-09 12:08:02 +0000 | <Milan_Vanca> | Sorry to bother you with these stupid questions but I have found no tutorial on this matter. |
| 2026-04-09 12:09:04 +0000 | <Milan_Vanca> | I gues compiler sees that x is not used after one_hour_long and so releases it as soon as it finish printing of x? |
| 2026-04-09 12:09:12 +0000 | <merijn> | correct |
| 2026-04-09 12:09:38 +0000 | <merijn> | Milan_Vanca: But that's pretty much how it works in any garbage collected languages, that's not really specific to Haskell :) |
| 2026-04-09 12:09:58 +0000 | <mauke> | s/releases/makes available for release/ |
| 2026-04-09 12:10:09 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod |
| 2026-04-09 12:10:10 +0000 | <mauke> | haskell doesn't do timely destruction |
| 2026-04-09 12:10:24 +0000 | <merijn> | mauke: Well, if you wanna be pedantic it's "no longer makes unavailable for release" ;) |
| 2026-04-09 12:10:29 +0000 | <mauke> | :-) |
| 2026-04-09 12:10:58 +0000 | <Milan_Vanca> | I am aware of GC and their purpose.. and all these questions stem from this fact :) |
| 2026-04-09 12:11:36 +0000 | <merijn> | Milan_Vanca: Basically, GHC uses a "copy & compact" GC strategy. Which means it only cares (and scales in) live data |
| 2026-04-09 12:12:13 +0000 | <Milan_Vanca> | Guyz.. what about this example https://paste.tomsmeding.com/TvkbD7xi |
| 2026-04-09 12:12:16 +0000 | <merijn> | Milan_Vanca: Once the heap is full and GC is triggered it copies all live data (that is, data that is still reachable from the currently evaluating code) and copies that to a new heap. Then the old heap is reset |
| 2026-04-09 12:12:47 +0000 | <merijn> | Milan_Vanca: 'x' becomes unreachable (an thus GC-able) after the first 30 minutes elapse |
| 2026-04-09 12:14:28 +0000 | <Milan_Vanca> | So x is computed once and kept for first 30 mins..hmmmm.. interesting. |
| 2026-04-09 12:14:56 +0000 | <Milan_Vanca> | It knows it can reuse the same x even when it is in different function |
| 2026-04-09 12:16:05 +0000 | synchromesh | (~john@2406:5a00:2412:2c00:8174:9ae9:efe0:c152) (Read error: Connection reset by peer) |
| 2026-04-09 12:16:35 +0000 | synchromesh | (~john@2406:5a00:2412:2c00:e029:fa8c:cb38:398f) synchromesh |
| 2026-04-09 12:19:49 +0000 | <merijn> | Milan_Vanca: It helps to think of a haskell program as a data structure that is mutated |
| 2026-04-09 12:19:50 +0000 | <Milan_Vanca> | Does it matter if X is defined in another module? |
| 2026-04-09 12:19:55 +0000 | <merijn> | Milan_Vanca: No |
| 2026-04-09 12:21:16 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 12:21:57 +0000 | <merijn> | Milan_Vanca: basically we start out with a graph of expressions with main as root, which references x and 'one_hour_long', where 'one_hour_long' in turn also references x (which is a subgraph of '4' '+' and '1'), as code gets evaluated these graphs expand and collapse as we force new computation. Starting to evaluate 'x' first materialises this subgraph of 4+1, once that evaluation is complete 'x' just |
| 2026-04-09 12:22:03 +0000 | <merijn> | refers to the result (regardless of how you reach x) |
| 2026-04-09 12:22:33 +0000 | <merijn> | Milan_Vanca: Eventually as evaluation procedes parts of the original graph become unreachable (and thus eligible for GC) |
| 2026-04-09 12:24:05 +0000 | <merijn> | a thunk is just "some computation that unfolds into a (sub)graph" and evaluation is "collapsing a graph into a result" |
| 2026-04-09 12:25:22 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2026-04-09 12:25:24 +0000 | Googulator | (~Googulato@94-21-172-213.pool.digikabel.hu) (Quit: Client closed) |
| 2026-04-09 12:25:26 +0000 | qqq | (~qqq@185.54.23.237) (Remote host closed the connection) |
| 2026-04-09 12:25:32 +0000 | Googulator | (~Googulato@94-21-172-213.pool.digikabel.hu) |
| 2026-04-09 12:27:29 +0000 | <ski> | @where lazy |
| 2026-04-09 12:27:30 +0000 | <lambdabot> | "Lazy Evaluation of Haskell" by monochrom at <http://www.vex.net/~trebla/haskell/lazy.xhtml>; "The Incomplete Guide to Lazy Evaluation (in Haskell)" by apfelmus in 2015-03-07 at <https://apfelmus. |
| 2026-04-09 12:27:30 +0000 | <lambdabot> | nfshost.com/articles/lazy-eval.html>; "Laziness, strictness, guarded recursion" by bitemyapp at <https://github.com/bitemyapp/learnhaskell/blob/master/specific_topics.md#user-content-laziness- |
| 2026-04-09 12:27:30 +0000 | <lambdabot> | strictness-guarded-recursion> |
| 2026-04-09 12:27:33 +0000 | <ski> | Milan_Vanca ^ |
| 2026-04-09 12:28:07 +0000 | <Milan_Vanca> | Ty all :) I am gonna also read that link |
| 2026-04-09 12:31:20 +0000 | tremon | (~tremon@83.80.159.219) tremon |
| 2026-04-09 12:34:21 +0000 | <merijn> | Milan_Vanca: What's your background? |
| 2026-04-09 12:34:38 +0000 | <merijn> | i.e. what languages are you experienced with, etc.? |
| 2026-04-09 12:35:53 +0000 | <Milan_Vanca> | merijn: Mostly procedural ones. Haskell is my first attempt at FP |
| 2026-04-09 12:36:32 +0000 | <merijn> | Milan_Vanca: If you're comfortable with C and some assembly I've always found that STG paper rather enlightening |
| 2026-04-09 12:37:39 +0000 | <merijn> | Milan_Vanca: The essence of that paper is "how do you compile Haskell's lazy semantics to x86 hardware", which covers a lot low level details related to how GHC compiled Haskell actually runs |
| 2026-04-09 12:37:43 +0000 | <merijn> | @where stg |
| 2026-04-09 12:37:44 +0000 | <lambdabot> | https://dl.acm.org/doi/pdf/10.1145/99370.99385 |
| 2026-04-09 12:38:51 +0000 | <Milan_Vanca> | I think reading code yields the most insights but one can pick implementation details that are more GHC than haskell |
| 2026-04-09 12:39:40 +0000 | <Milan_Vanca> | Btw haskell spec probably doesn't say anything about keeping values and reevaluating them right? If my implementation would always reevaluate everything then would it be valid haskell implementation? |
| 2026-04-09 12:46:03 +0000 | haritzondo | (~hrtz@140.228.70.141) |
| 2026-04-09 12:46:08 +0000 | haritz | (~hrtz@user/haritz) (Ping timeout: 252 seconds) |
| 2026-04-09 12:49:37 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-04-09 12:51:52 +0000 | castan | (~castan@188.26.38.50) |
| 2026-04-09 12:55:06 +0000 | castan | (~castan@188.26.38.50) (Client Quit) |
| 2026-04-09 12:55:44 +0000 | Enrico63 | (~Enrico63@host-212-171-80-94.pool212171.interbusiness.it) (Quit: Client closed) |
| 2026-04-09 12:55:45 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2026-04-09 12:56:09 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2026-04-09 12:56:36 +0000 | <janus> | yay, gershom merged my patch for hackage, now only authorized users can update distro information |
| 2026-04-09 12:57:41 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 252 seconds) |
| 2026-04-09 13:11:39 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 13:16:31 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 264 seconds) |
| 2026-04-09 13:17:31 +0000 | lbseale | (~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2026-04-09 13:17:59 +0000 | lbseale | (~quassel@user/ep1ctetus) ep1ctetus |
| 2026-04-09 13:29:47 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 13:30:39 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-04-09 13:33:29 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-09 13:34:30 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 255 seconds) |
| 2026-04-09 13:46:27 +0000 | fp1 | (~Thunderbi@staff236.kora-dyn.aalto.fi) fp |
| 2026-04-09 13:46:39 +0000 | <merijn> | Milan_Vanca: Yes, it would be |
| 2026-04-09 13:50:14 +0000 | danza | (~danza@user/danza) danza |
| 2026-04-09 13:59:26 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 14:05:44 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 245 seconds) |
| 2026-04-09 14:12:09 +0000 | synchrom1 | (~john@2406:5a00:2412:2c00:e029:fa8c:cb38:398f) synchromesh |
| 2026-04-09 14:15:13 +0000 | synchromesh | (~john@2406:5a00:2412:2c00:e029:fa8c:cb38:398f) (Ping timeout: 276 seconds) |
| 2026-04-09 14:17:57 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 14:22:31 +0000 | sam113102 | (~sam@modemcable200.189-202-24.mc.videotron.ca) sam113101 |
| 2026-04-09 14:22:57 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 265 seconds) |
| 2026-04-09 14:24:42 +0000 | <Freakie> | does anyone know of a way to redirect output to stdout? QuickCheck seems to only want to report results directly to the terminal but I'd like to save the results to a file instead |
| 2026-04-09 14:26:47 +0000 | absence_ | (torgeihe@hildring.pvv.ntnu.no) |
| 2026-04-09 14:26:58 +0000 | lantti_ | (~lantti@xcalibur.cc.tut.fi) |
| 2026-04-09 14:27:45 +0000 | <danza> | > and 2> in bash? |
| 2026-04-09 14:27:46 +0000 | <lambdabot> | <hint>:1:8: error: parse error on input `in' |
| 2026-04-09 14:27:58 +0000 | nurupo_ | (~nurupo.ga@user/nurupo) nurupo |
| 2026-04-09 14:28:07 +0000 | thaumavorio | (~thaumavor@thaumavor.io) thaumavorio |
| 2026-04-09 14:29:35 +0000 | <Freakie> | danza if it works it's going to include a lot of noise from e.g. compiler output as well |
| 2026-04-09 14:30:54 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2026-04-09 14:31:00 +0000 | karenw | (~karenw@user/karenw) (Ping timeout: 245 seconds) |
| 2026-04-09 14:31:18 +0000 | <danza> | yep. Maybe the answer depends on the test framework you run quickcheck into |
| 2026-04-09 14:31:39 +0000 | fp1 | (~Thunderbi@staff236.kora-dyn.aalto.fi) (Ping timeout: 255 seconds) |
| 2026-04-09 14:32:23 +0000 | <danza> | my test suite based on Hspec saves a log when successful |
| 2026-04-09 14:32:54 +0000 | qqq | (~qqq@185.54.23.237) |
| 2026-04-09 14:33:05 +0000 | <Freakie> | ah seems hDuplicate/hDuplicateTo might work |
| 2026-04-09 14:33:17 +0000 | <Freakie> | so at least it seems like I can hack it |
| 2026-04-09 14:34:01 +0000 | aniketd | (32aa4844cd@2a03:6000:1812:100::dcb) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | raghavgururajan | (ea769b8000@user/raghavgururajan) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | evanrelf | (3addc196af@2a03:6000:1812:100::f0) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | duncan | (c6181279e3@user/meow/duncan) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | akspecs | (00cc8321af@sourcehut/user/akspecs) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | smiesner | (b0cf5acf8c@user/smiesner) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | caz | (866183745f@2a03:6000:1812:100::15d4) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | slondr | (cf9f9e8f44@2a03:6000:1812:100::10b6) (*.net *.split) |
| 2026-04-09 14:34:01 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | oxapentane | (~oxapentan@user/oxapentane) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | thaumavorio_ | (~thaumavor@thaumavor.io) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | cjay- | (~cjay@nerdbox.nerd2nerd.org) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | crazazy | (crazazy@tilde.town) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | sam113101 | (~sam@modemcable200.189-202-24.mc.videotron.ca) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | Philonous | (~Philonous@user/philonous) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | nurupo | (~nurupo.ga@user/nurupo) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | caasih | (sid13241@id-13241.ilkley.irccloud.com) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | priime | (~priime@2a01:4ff:f0:7ccc::1) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | idnar | (sid12240@debian/mithrandi) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | lexi-lambda | (sid92601@id-92601.hampstead.irccloud.com) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | welterde | (welterde@thinkbase.srv.welterde.de) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | nicole | (ilbelkyr@libera/staff/ilbelkyr) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | absence | (torgeihe@hildring.pvv.ntnu.no) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split) |
| 2026-04-09 14:34:02 +0000 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | coldmountain | (sid484352@id-484352.helmsley.irccloud.com) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | bb010g | (~bb010g@wank.party) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | totbwf | (sid402332@user/totbwf) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | geekosaur | (sid609282@xmonad/geekosaur) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | dy | (sid3438@user/dy) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | hamishmack | (sid389057@id-389057.hampstead.irccloud.com) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | farn__ | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | _\_ | (~o@user/offon) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | h2t | (~h2t@user/h2t) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | astroanax | (~astroanax@2001:19f0:7402:f82:5400:1ff:fec4:f7d7) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | jmct | (sid160793@id-160793.tinside.irccloud.com) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | lantti | (~lantti@xcalibur.cc.tut.fi) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split) |
| 2026-04-09 14:34:03 +0000 | sam113102 | sam113101 |
| 2026-04-09 14:34:21 +0000 | nurupo_ | nurupo |
| 2026-04-09 14:36:43 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 14:37:29 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 272 seconds) |
| 2026-04-09 14:38:10 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 248 seconds) |
| 2026-04-09 14:38:32 +0000 | Freakie | (~Freakie@185.45.22.133) (Ping timeout: 245 seconds) |
| 2026-04-09 14:40:06 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-09 14:40:14 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 14:42:56 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 14:44:13 +0000 | michalz | (~michalz@185.246.207.215) (Remote host closed the connection) |
| 2026-04-09 14:48:27 +0000 | oppili | (~oppili@user/nerdypepper) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2026-04-09 14:48:39 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 245 seconds) |
| 2026-04-09 14:48:54 +0000 | oppili | (~oppili@lewi-27-b2-v4wan-165682-cust505.vm4.cable.virginm.net) |
| 2026-04-09 14:48:54 +0000 | oppili | (~oppili@lewi-27-b2-v4wan-165682-cust505.vm4.cable.virginm.net) (Changing host) |
| 2026-04-09 14:48:54 +0000 | oppili | (~oppili@user/nerdypepper) nerdy |
| 2026-04-09 14:50:58 +0000 | bggd | (~bgg@user/bggd) (Remote host closed the connection) |
| 2026-04-09 14:51:21 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 246 seconds) |
| 2026-04-09 14:55:34 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 14:55:52 +0000 | qqq_ | (~qqq@185.54.23.237) |
| 2026-04-09 14:56:05 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 2026-04-09 14:58:44 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 14:59:25 +0000 | qqq | (~qqq@185.54.23.237) (Ping timeout: 276 seconds) |
| 2026-04-09 15:00:34 +0000 | qqq_ | (~qqq@185.54.23.237) (Ping timeout: 256 seconds) |
| 2026-04-09 15:00:43 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 276 seconds) |
| 2026-04-09 15:01:38 +0000 | qqq | (~qqq@194.124.210.29) |
| 2026-04-09 15:03:24 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 256 seconds) |
| 2026-04-09 15:04:59 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 15:05:08 +0000 | mikess | (~sam@user/mikess) mikess |
| 2026-04-09 15:07:12 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 15:07:13 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-04-09 15:09:26 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-09 15:09:38 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 248 seconds) |
| 2026-04-09 15:11:54 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:5d3a:927c:20e1:5d86) |
| 2026-04-09 15:11:54 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:5d3a:927c:20e1:5d86) (Changing host) |
| 2026-04-09 15:11:54 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-09 15:12:19 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 272 seconds) |
| 2026-04-09 15:13:39 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 15:15:20 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 15:15:42 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-04-09 15:16:24 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-09 15:18:40 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 268 seconds) |
| 2026-04-09 15:19:17 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 272 seconds) |
| 2026-04-09 15:20:33 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 272 seconds) |
| 2026-04-09 15:20:44 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 15:21:34 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 15:25:30 +0000 | aniketd | (32aa4844cd@2a03:6000:1812:100::dcb) aniketd |
| 2026-04-09 15:25:30 +0000 | raghavgururajan | (ea769b8000@user/raghavgururajan) raghavgururajan |
| 2026-04-09 15:25:30 +0000 | evanrelf | (3addc196af@2a03:6000:1812:100::f0) evanrelf |
| 2026-04-09 15:25:30 +0000 | duncan | (c6181279e3@user/meow/duncan) duncan |
| 2026-04-09 15:25:30 +0000 | akspecs | (00cc8321af@sourcehut/user/akspecs) akspecs |
| 2026-04-09 15:25:30 +0000 | smiesner | (b0cf5acf8c@user/smiesner) smiesner |
| 2026-04-09 15:25:30 +0000 | caz | (866183745f@2a03:6000:1812:100::15d4) caz |
| 2026-04-09 15:25:30 +0000 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) chaitlatte0 |
| 2026-04-09 15:25:30 +0000 | slondr | (cf9f9e8f44@2a03:6000:1812:100::10b6) slondr |
| 2026-04-09 15:25:30 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) k_hachig |
| 2026-04-09 15:25:30 +0000 | oxapentane | (~oxapentan@user/oxapentane) oxapentane |
| 2026-04-09 15:25:30 +0000 | cjay- | (~cjay@nerdbox.nerd2nerd.org) cjay |
| 2026-04-09 15:25:30 +0000 | crazazy | (crazazy@tilde.town) crazazy |
| 2026-04-09 15:25:30 +0000 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) yahb2 |
| 2026-04-09 15:25:30 +0000 | Philonous | (~Philonous@user/philonous) Philonous |
| 2026-04-09 15:25:30 +0000 | caasih | (sid13241@id-13241.ilkley.irccloud.com) caasih |
| 2026-04-09 15:25:30 +0000 | priime | (~priime@2a01:4ff:f0:7ccc::1) priime |
| 2026-04-09 15:25:30 +0000 | idnar | (sid12240@debian/mithrandi) idnar |
| 2026-04-09 15:25:30 +0000 | lexi-lambda | (sid92601@id-92601.hampstead.irccloud.com) lexi-lambda |
| 2026-04-09 15:25:30 +0000 | welterde | (welterde@thinkbase.srv.welterde.de) welterde |
| 2026-04-09 15:25:30 +0000 | nicole | (ilbelkyr@libera/staff/ilbelkyr) ilbelkyr |
| 2026-04-09 15:25:30 +0000 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) bwe |
| 2026-04-09 15:25:30 +0000 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) mrmonday |
| 2026-04-09 15:25:30 +0000 | coldmountain | (sid484352@id-484352.helmsley.irccloud.com) coldmountain |
| 2026-04-09 15:25:30 +0000 | bb010g | (~bb010g@wank.party) bb010g |
| 2026-04-09 15:25:30 +0000 | totbwf | (sid402332@user/totbwf) totbwf |
| 2026-04-09 15:25:30 +0000 | geekosaur | (sid609282@xmonad/geekosaur) geekosaur |
| 2026-04-09 15:25:30 +0000 | dy | (sid3438@user/dy) \\\\\ |
| 2026-04-09 15:25:30 +0000 | hamishmack | (sid389057@id-389057.hampstead.irccloud.com) hamishmack |
| 2026-04-09 15:25:30 +0000 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) S11001001 |
| 2026-04-09 15:25:30 +0000 | farn__ | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) farn |
| 2026-04-09 15:25:30 +0000 | _\_ | (~o@user/offon) offon |
| 2026-04-09 15:25:30 +0000 | h2t | (~h2t@user/h2t) h2t |
| 2026-04-09 15:25:30 +0000 | astroanax | (~astroanax@2001:19f0:7402:f82:5400:1ff:fec4:f7d7) astroanax |
| 2026-04-09 15:25:30 +0000 | jmct | (sid160793@id-160793.tinside.irccloud.com) jmct |
| 2026-04-09 15:25:30 +0000 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) |
| 2026-04-09 15:25:30 +0000 | mercury.libera.chat | +v yahb2 |
| 2026-04-09 15:26:10 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 248 seconds) |
| 2026-04-09 15:27:55 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 268 seconds) |
| 2026-04-09 15:30:08 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 15:30:55 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 15:34:45 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 245 seconds) |
| 2026-04-09 15:35:10 +0000 | Milan_Vanca | (~milan@user/Milan-Vanca:32634) (Quit: WeeChat 4.7.2) |
| 2026-04-09 15:35:10 +0000 | aniketd | (32aa4844cd@2a03:6000:1812:100::dcb) (*.net *.split) |
| 2026-04-09 15:35:10 +0000 | raghavgururajan | (ea769b8000@user/raghavgururajan) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | evanrelf | (3addc196af@2a03:6000:1812:100::f0) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | duncan | (c6181279e3@user/meow/duncan) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | akspecs | (00cc8321af@sourcehut/user/akspecs) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | smiesner | (b0cf5acf8c@user/smiesner) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | caz | (866183745f@2a03:6000:1812:100::15d4) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | slondr | (cf9f9e8f44@2a03:6000:1812:100::10b6) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | oxapentane | (~oxapentan@user/oxapentane) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | cjay- | (~cjay@nerdbox.nerd2nerd.org) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | crazazy | (crazazy@tilde.town) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | Philonous | (~Philonous@user/philonous) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | caasih | (sid13241@id-13241.ilkley.irccloud.com) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | priime | (~priime@2a01:4ff:f0:7ccc::1) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | idnar | (sid12240@debian/mithrandi) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | lexi-lambda | (sid92601@id-92601.hampstead.irccloud.com) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | welterde | (welterde@thinkbase.srv.welterde.de) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | nicole | (ilbelkyr@libera/staff/ilbelkyr) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | coldmountain | (sid484352@id-484352.helmsley.irccloud.com) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | bb010g | (~bb010g@wank.party) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | totbwf | (sid402332@user/totbwf) (*.net *.split) |
| 2026-04-09 15:35:11 +0000 | geekosaur | (sid609282@xmonad/geekosaur) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | dy | (sid3438@user/dy) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | hamishmack | (sid389057@id-389057.hampstead.irccloud.com) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | farn__ | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | _\_ | (~o@user/offon) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | h2t | (~h2t@user/h2t) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | astroanax | (~astroanax@2001:19f0:7402:f82:5400:1ff:fec4:f7d7) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | jmct | (sid160793@id-160793.tinside.irccloud.com) (*.net *.split) |
| 2026-04-09 15:35:12 +0000 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split) |
| 2026-04-09 15:35:14 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 248 seconds) |
| 2026-04-09 15:35:15 +0000 | nicole | (ilbelkyr@libera/staff/ilbelkyr) ilbelkyr |
| 2026-04-09 15:35:19 +0000 | smiesner | (b0cf5acf8c@user/smiesner) smiesner |
| 2026-04-09 15:35:19 +0000 | caz | (866183745f@2a03:6000:1812:100::15d4) caz |
| 2026-04-09 15:35:19 +0000 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) |
| 2026-04-09 15:35:20 +0000 | evanrelf | (3addc196af@2a03:6000:1812:100::f0) evanrelf |
| 2026-04-09 15:35:20 +0000 | slondr | (cf9f9e8f44@2a03:6000:1812:100::10b6) slondr |
| 2026-04-09 15:35:20 +0000 | bb010g | (~bb010g@wank.party) bb010g |
| 2026-04-09 15:35:20 +0000 | aniketd | (32aa4844cd@2a03:6000:1812:100::dcb) aniketd |
| 2026-04-09 15:35:21 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) k_hachig |
| 2026-04-09 15:35:21 +0000 | cjay | (~cjay@148.251.171.29) cjay |
| 2026-04-09 15:35:21 +0000 | duncan | (c6181279e3@user/meow/duncan) duncan |
| 2026-04-09 15:35:22 +0000 | _\_ | (~o@user/offon) offon |
| 2026-04-09 15:35:22 +0000 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) chaitlatte0 |
| 2026-04-09 15:35:22 +0000 | akspecs | (00cc8321af@sourcehut/user/akspecs) akspecs |
| 2026-04-09 15:35:22 +0000 | raghavgururajan | (ea769b8000@user/raghavgururajan) raghavgururajan |
| 2026-04-09 15:35:23 +0000 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) mrmonday |
| 2026-04-09 15:35:25 +0000 | caasih | (sid13241@id-13241.ilkley.irccloud.com) caasih |
| 2026-04-09 15:35:25 +0000 | oxapentane | (~oxapentan@user/oxapentane) oxapentane |
| 2026-04-09 15:35:26 +0000 | dy | (sid3438@user/dy) \\\\\ |
| 2026-04-09 15:35:27 +0000 | h2t | (~h2t@user/h2t) h2t |
| 2026-04-09 15:35:29 +0000 | coldmountain | (sid484352@id-484352.helmsley.irccloud.com) coldmountain |
| 2026-04-09 15:35:30 +0000 | farn__ | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) farn |
| 2026-04-09 15:35:31 +0000 | Philonous | (~Philonous@user/philonous) Philonous |
| 2026-04-09 15:35:33 +0000 | priime | (~priime@2a01:4ff:f0:7ccc::1) priime |
| 2026-04-09 15:35:34 +0000 | astroanax | (~astroanax@2001:19f0:7402:f82:5400:1ff:fec4:f7d7) |
| 2026-04-09 15:35:38 +0000 | lexi-lambda | (sid92601@2a03:5180:f:4::1:69b9) lexi-lambda |
| 2026-04-09 15:35:39 +0000 | totbwf | (sid402332@id-402332.uxbridge.irccloud.com) |
| 2026-04-09 15:35:42 +0000 | jmct | (sid160793@2a03:5180:f::2:7419) |
| 2026-04-09 15:35:47 +0000 | idnar | (sid12240@debian/mithrandi) idnar |
| 2026-04-09 15:35:47 +0000 | geekosaur | (sid609282@xmonad/geekosaur) geekosaur |
| 2026-04-09 15:35:48 +0000 | crazazy | (crazazy@tilde.town) crazazy |
| 2026-04-09 15:35:49 +0000 | welterde | (welterde@thinkbase.srv.welterde.de) welterde |
| 2026-04-09 15:35:52 +0000 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) yahb2 |
| 2026-04-09 15:35:52 +0000 | ChanServ | +v yahb2 |
| 2026-04-09 15:35:53 +0000 | hamishmack | (sid389057@2a03:5180:f:4::5:efc1) hamishmack |
| 2026-04-09 15:35:54 +0000 | S11001001 | (sid42510@2a03:5180:f:3::a60e) S11001001 |
| 2026-04-09 15:35:59 +0000 | totbwf | (sid402332@id-402332.uxbridge.irccloud.com) (Changing host) |
| 2026-04-09 15:35:59 +0000 | totbwf | (sid402332@user/totbwf) totbwf |
| 2026-04-09 15:37:51 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 15:39:09 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 15:42:58 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 276 seconds) |
| 2026-04-09 15:44:16 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 276 seconds) |
| 2026-04-09 15:44:38 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 15:46:31 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 264 seconds) |
| 2026-04-09 15:47:23 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 15:47:34 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 15:47:57 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 15:49:28 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 276 seconds) |
| 2026-04-09 15:52:12 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 268 seconds) |
| 2026-04-09 15:52:41 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 15:52:41 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 248 seconds) |
| 2026-04-09 15:53:37 +0000 | Guest62 | (~Guest62@p200300ca8f313400f8e75d167df70e33.dip0.t-ipconnect.de) |
| 2026-04-09 15:53:45 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 248 seconds) |
| 2026-04-09 15:56:59 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 245 seconds) |
| 2026-04-09 15:57:08 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 16:01:50 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 16:02:04 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 268 seconds) |
| 2026-04-09 16:04:57 +0000 | Hafydd | (~Hafydd@user/hafydd) (Ping timeout: 248 seconds) |
| 2026-04-09 16:06:18 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 256 seconds) |
| 2026-04-09 16:06:20 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 16:08:53 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 16:11:19 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 268 seconds) |
| 2026-04-09 16:11:23 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 16:12:24 +0000 | merijn | (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
| 2026-04-09 16:13:29 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 248 seconds) |
| 2026-04-09 16:16:05 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 16:18:11 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 272 seconds) |
| 2026-04-09 16:18:47 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 16:20:43 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 272 seconds) |
| 2026-04-09 16:23:15 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 244 seconds) |
| 2026-04-09 16:23:25 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 16:24:04 +0000 | Hafydd | (~Hafydd@user/hafydd) Hafydd |
| 2026-04-09 16:27:04 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 16:28:35 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 268 seconds) |
| 2026-04-09 16:32:22 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 276 seconds) |
| 2026-04-09 16:32:52 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 16:34:43 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 16:35:23 +0000 | sp1ff | (~user@2601:1c2:4080:14c0::ace8) (Remote host closed the connection) |
| 2026-04-09 16:36:05 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-04-09 16:36:48 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-09 16:37:24 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 245 seconds) |
| 2026-04-09 16:37:41 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 16:40:44 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 245 seconds) |
| 2026-04-09 16:41:59 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 245 seconds) |
| 2026-04-09 16:42:56 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 16:43:32 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 16:47:38 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 244 seconds) |
| 2026-04-09 16:48:35 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 272 seconds) |
| 2026-04-09 16:51:03 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 16:53:22 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 16:55:14 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2026-04-09 16:56:06 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 268 seconds) |
| 2026-04-09 16:57:58 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 244 seconds) |
| 2026-04-09 16:58:47 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-09 16:59:37 +0000 | jmcantrell_ | jmcantrell |
| 2026-04-09 17:01:01 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 17:01:25 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 17:03:06 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
| 2026-04-09 17:05:55 +0000 | danz90119 | (~danza@user/danza) danza |
| 2026-04-09 17:06:12 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 268 seconds) |
| 2026-04-09 17:07:13 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 17:07:39 +0000 | danza | (~danza@user/danza) (Read error: Connection reset by peer) |
| 2026-04-09 17:08:04 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 256 seconds) |
| 2026-04-09 17:11:05 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 17:12:02 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 256 seconds) |
| 2026-04-09 17:15:49 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 272 seconds) |
| 2026-04-09 17:16:58 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 17:17:26 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 17:19:02 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 17:20:46 +0000 | tromp | (~textual@2001:1c00:340e:2700:8dcf:a6d6:339b:7a0) |
| 2026-04-09 17:21:18 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 255 seconds) |
| 2026-04-09 17:22:25 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 276 seconds) |
| 2026-04-09 17:24:03 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 272 seconds) |
| 2026-04-09 17:26:26 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 17:28:08 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 17:30:13 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 17:30:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-09 17:32:43 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 268 seconds) |
| 2026-04-09 17:33:20 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 17:35:07 +0000 | tromp | (~textual@2001:1c00:340e:2700:8dcf:a6d6:339b:7a0) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-09 17:36:56 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 17:37:39 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 268 seconds) |
| 2026-04-09 17:38:16 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 268 seconds) |
| 2026-04-09 17:41:27 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 246 seconds) |
| 2026-04-09 17:41:35 +0000 | <monochrom> | (Belated) Strictly (pun!) speaking, Haskell spec doesn't even require lazy evaluation, only non-strictness (see? >:) ). |
| 2026-04-09 17:41:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 17:42:36 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 17:43:23 +0000 | <monochrom> | My favourite non-strict evaluation order is crazy evaluation. Other people know it as speculative evaluation. To evaluate `f x`, fork two threads, one evaluates f and the other evalutates x, and you are ready to throw away the latter if you find out that you don't need it. |
| 2026-04-09 17:44:17 +0000 | <danz90119> | am i wrong or non-strict evaluation could be called simply call by name? |
| 2026-04-09 17:44:43 +0000 | <monochrom> | Yes. Mine is not call by name. |
| 2026-04-09 17:45:08 +0000 | <danz90119> | then the two terms are not equivalent... |
| 2026-04-09 17:45:25 +0000 | <monochrom> | Not even at the same level of abstraction! |
| 2026-04-09 17:45:52 +0000 | <danz90119> | meh |
| 2026-04-09 17:46:33 +0000 | <monochrom> | Non-strict just says: const 5 undefined = 5, I don't care how you pull it off. Evaluation order says how to pull it off. |
| 2026-04-09 17:46:41 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 17:47:02 +0000 | <monochrom> | i.e., non-strict is denotational, evaluation order is operational. |
| 2026-04-09 17:47:03 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 244 seconds) |
| 2026-04-09 17:47:07 +0000 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 264 seconds) |
| 2026-04-09 17:47:12 +0000 | qqq | (~qqq@194.124.210.29) (Quit: leaving) |
| 2026-04-09 17:47:27 +0000 | <monochrom> | Corollary: "strict vs lazy" is comparing apples with cells. |
| 2026-04-09 17:47:54 +0000 | ft | (~ft@p508db287.dip0.t-ipconnect.de) ft |
| 2026-04-09 17:48:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-09 17:51:05 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 244 seconds) |
| 2026-04-09 17:52:04 +0000 | tromp | (~textual@2001:1c00:340e:2700:8dcf:a6d6:339b:7a0) |
| 2026-04-09 17:53:58 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 17:54:44 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 17:56:27 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 17:58:39 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 255 seconds) |
| 2026-04-09 17:58:56 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 244 seconds) |
| 2026-04-09 17:59:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 18:00:20 +0000 | Enrico63 | (~Enrico63@host-212-171-80-94.retail.telecomitalia.it) Enrico63 |
| 2026-04-09 18:01:25 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 272 seconds) |
| 2026-04-09 18:04:33 +0000 | mikess | (~sam@user/mikess) (Quit: leaving) |
| 2026-04-09 18:04:35 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-09 18:04:54 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 18:05:19 +0000 | danz90119 | (~danza@user/danza) (Remote host closed the connection) |
| 2026-04-09 18:08:10 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 18:08:24 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 18:08:50 +0000 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.7.2) |
| 2026-04-09 18:09:16 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 244 seconds) |
| 2026-04-09 18:12:12 +0000 | Googulator | (~Googulato@94-21-172-213.pool.digikabel.hu) (Quit: Client closed) |
| 2026-04-09 18:12:36 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 246 seconds) |
| 2026-04-09 18:12:43 +0000 | Googulator | (~Googulato@94-21-172-213.pool.digikabel.hu) |
| 2026-04-09 18:13:53 +0000 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
| 2026-04-09 18:15:21 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 272 seconds) |
| 2026-04-09 18:16:23 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 18:19:03 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 18:20:38 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 244 seconds) |
| 2026-04-09 18:23:14 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 245 seconds) |
| 2026-04-09 18:25:28 +0000 | Googulator | (~Googulato@94-21-172-213.pool.digikabel.hu) (Quit: Client closed) |
| 2026-04-09 18:25:31 +0000 | Googulator85 | (~Googulato@94-21-172-213.pool.digikabel.hu) |
| 2026-04-09 18:25:59 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 18:26:45 +0000 | tromp | (~textual@2001:1c00:340e:2700:8dcf:a6d6:339b:7a0) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-09 18:28:24 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 18:29:26 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 18:30:21 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 244 seconds) |
| 2026-04-09 18:32:54 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 246 seconds) |
| 2026-04-09 18:33:45 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 255 seconds) |
| 2026-04-09 18:34:40 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 18:35:24 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) |
| 2026-04-09 18:37:10 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2026-04-09 18:38:03 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 18:38:24 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) DetourNetworkUK |
| 2026-04-09 18:38:51 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 246 seconds) |
| 2026-04-09 18:42:14 +0000 | Ging | (46fea76d80@2001:bc8:1210:2cd8::470) (Ping timeout: 244 seconds) |
| 2026-04-09 18:42:21 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Ping timeout: 246 seconds) |
| 2026-04-09 18:43:13 +0000 | <EvanR> | call by whatever was always annoying to me for how they don't cleanly distinguish themselves with respect to each other. They were invented at different points in history without an overarching framework. But now they have some kind of old timey feel. Quaint, pastoral xD |
| 2026-04-09 18:44:11 +0000 | <monochrom> | They have the common framework of "call by ____" >:) |
| 2026-04-09 18:44:57 +0000 | <monochrom> | Did you hear of the Niklaus Wirth joke? :) |
| 2026-04-09 18:46:28 +0000 | <gentauro> | whats the name of this operatos -> `>:)`? I think I have seen it in C# :o |
| 2026-04-09 18:46:53 +0000 | <monochrom> | It may not be a true story but here it goes. "Europe prefers call by name, so they call me <Swiss pronounciation>. America prefers call by value, so they call me Nickle's Worth." |
| 2026-04-09 18:47:28 +0000 | <monochrom> | err s/Nickle/Nickel/ |
| 2026-04-09 18:48:50 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 18:49:14 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 18:49:47 +0000 | Enrico63 | (~Enrico63@host-212-171-80-94.retail.telecomitalia.it) (Ping timeout: 245 seconds) |
| 2026-04-09 18:49:50 +0000 | <EvanR> | lol |
| 2026-04-09 18:51:47 +0000 | srazkvt | (~sarah@user/srazkvt) (Quit: Konversation terminated!) |
| 2026-04-09 18:52:53 +0000 | <tomsmeding> | lol |
| 2026-04-09 18:53:30 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 268 seconds) |
| 2026-04-09 18:53:33 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 255 seconds) |
| 2026-04-09 18:53:40 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 2026-04-09 18:53:53 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) |
| 2026-04-09 18:56:28 +0000 | Typosit | (b41a81e702@2001:bc8:1210:2cd8::494) (Remote host closed the connection) |
| 2026-04-09 18:58:13 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 19:02:23 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 19:02:29 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Ping timeout: 244 seconds) |
| 2026-04-09 19:05:48 +0000 | <monochrom> | Source: https://youtu.be/SVYBJlCmRxE?si=xnWBiK-4i8tNUkbC (Computerphile channel) |
| 2026-04-09 19:06:01 +0000 | target_i | (~target_i@user/target-i/x-6023099) target_i |
| 2026-04-09 19:06:40 +0000 | Guest62 | (~Guest62@p200300ca8f313400f8e75d167df70e33.dip0.t-ipconnect.de) (Quit: Client closed) |
| 2026-04-09 19:06:55 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 264 seconds) |
| 2026-04-09 19:07:12 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2026-04-09 19:07:31 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2026-04-09 19:08:17 +0000 | <EvanR> | call by value, call by reference, call by name, call by need, call by push-value (??) |
| 2026-04-09 19:08:24 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) DetourNetworkUK |
| 2026-04-09 19:09:00 +0000 | <monochrom> | Yeah the newest one is push-value. I still have to read about it. |
| 2026-04-09 19:13:17 +0000 | <tomsmeding> | isn't CBPV not really an evaluation strategy but more of an IR design |
| 2026-04-09 19:13:29 +0000 | <tomsmeding> | (I also still have to properly read about CBPV) |
| 2026-04-09 19:13:42 +0000 | acarrico | (~acarrico@2606:1440:605:2500:48b4:afd0:aa39:9b2f) |
| 2026-04-09 19:13:46 +0000 | PaulMartensen | (15a119e437@2001:bc8:1210:2cd8::3bc) (Remote host closed the connection) |
| 2026-04-09 19:14:33 +0000 | <EvanR> | are any of these evaluation strategies other than call by need |
| 2026-04-09 19:14:53 +0000 | <monochrom> | call by value and call by name are. |
| 2026-04-09 19:14:53 +0000 | <tomsmeding> | call by value is |
| 2026-04-09 19:15:25 +0000 | <EvanR> | you claim call by value is synonymous with eager evaluation |
| 2026-04-09 19:16:13 +0000 | <EvanR> | that might explain a lot of confusing expositions I've seen |
| 2026-04-09 19:16:41 +0000 | <tomsmeding> | those things mean the same to me, in any case |
| 2026-04-09 19:16:42 +0000 | <monochrom> | Sometimes I say "pass by reference, pass by value" when it's only about cloning the argument vs passing an address. |
| 2026-04-09 19:16:43 +0000 | <EvanR> | C and Java both being presented as call by value only, and not just call by value sometimes |
| 2026-04-09 19:17:05 +0000 | <tomsmeding> | C is definitely call by value |
| 2026-04-09 19:17:19 +0000 | <tomsmeding> | C++ has references which get you pass-by-reference |
| 2026-04-09 19:17:26 +0000 | <tomsmeding> | but still eager evaluation |
| 2026-04-09 19:17:50 +0000 | <tomsmeding> | so I'd say still call by value, just with some syntax for passing a non-null pointer |
| 2026-04-09 19:19:10 +0000 | mulk | (~mulk@pd95147f8.dip0.t-ipconnect.de) mulk |
| 2026-04-09 19:20:40 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-09 19:20:46 +0000 | <EvanR> | call by name on the other hand seems to step outside the subject of evaluation |
| 2026-04-09 19:22:33 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 19:22:39 +0000 | <EvanR> | going by this gem https://en.wikipedia.org/wiki/Jensen%27s_device |
| 2026-04-09 19:22:39 +0000 | haskellbridge | (~hackager@96.28.224.214) (Read error: Connection reset by peer) |
| 2026-04-09 19:23:03 +0000 | <EvanR> | https://en.wikipedia.org/wiki/Jensen's_device |
| 2026-04-09 19:25:24 +0000 | <tomsmeding> | I think "call by name" means "lazy evaluation" |
| 2026-04-09 19:26:17 +0000 | <tomsmeding> | the typical operational presentation I've seen of "call by name" is "`(\x -> e1) e2` reduces to `e1[e2/x]`", i.e. function application is just inlining of the argument _term_ into the function body |
| 2026-04-09 19:26:30 +0000 | <tomsmeding> | which is incredibly pointless as an actual operational implementation |
| 2026-04-09 19:26:51 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 255 seconds) |
| 2026-04-09 19:26:59 +0000 | <tomsmeding> | but "call by name" is intended to be the semantics encompassing all operational behaviours that are semantically equivalent to that one, including call-by-need as GHC does |
| 2026-04-09 19:27:31 +0000 | <EvanR> | sometimes I think that 3 different names might be 3 different things, especially since algol predates GHC by a minute |
| 2026-04-09 19:28:41 +0000 | <EvanR> | but yeah I could see how jensen's device exploits basically lazy evaluation with side effects? |
| 2026-04-09 19:29:13 +0000 | haskellbridge | (~hackager@96.28.224.214) hackager |
| 2026-04-09 19:29:13 +0000 | ChanServ | +v haskellbridge |
| 2026-04-09 19:30:16 +0000 | <monochrom> | lazy evaluation is call by need. call by name differs from that by cloning instead of reuse. call by need: (\x -> x + x) (2*2) --> let x=2*2 in x + x. call by name: (2*2) + (2*2) |
| 2026-04-09 19:31:20 +0000 | <tomsmeding> | yes and who on earth cares about call by name as an operational behaviour |
| 2026-04-09 19:31:31 +0000 | redshuffle | (~quassel@45.43.70.75) (Remote host closed the connection) |
| 2026-04-09 19:31:38 +0000 | redshuffle | (~quassel@45.43.70.75) |
| 2026-04-09 19:31:52 +0000 | <EvanR> | I figured this was all operational semantics |
| 2026-04-09 19:32:44 +0000 | <monochrom> | People who simulate (with infelicity, you'll see!) lazy evaluation in SML or Scheme by converting my example to (\f -> f () + f()) (\_ -> 2*2) |
| 2026-04-09 19:33:22 +0000 | <EvanR> | yep that's inefficient |
| 2026-04-09 19:33:48 +0000 | <monochrom> | For example Lawrence Paulson in "ML for the Working Programmer"! |
| 2026-04-09 19:34:54 +0000 | <monochrom> | Fortunately he added a sentence "this kind of thing is nicer in Haskell" :) |
| 2026-04-09 19:42:37 +0000 | <acarrico> | tomsmeding: Anyone who uses NixOS/Nixpkgs cares about call by name as an operational behavior, see Eelco Dolstra's paper "Maximal Laziness". |
| 2026-04-09 19:43:11 +0000 | <tomsmeding> | they want it to be impossible to share any work? |
| 2026-04-09 19:43:39 +0000 | <acarrico> | You do share work due to maixmal laziness. |
| 2026-04-09 19:43:49 +0000 | <tomsmeding> | call by name does not share work |
| 2026-04-09 19:43:52 +0000 | <acarrico> | Every thing is "interned" or "hash consed" |
| 2026-04-09 19:44:09 +0000 | <tomsmeding> | call by need is the thing that's lazy and computes stuff at most once |
| 2026-04-09 19:44:18 +0000 | <monochrom> | reuse-vs-cloning is the same debate as recompute-vs-caching i.e. waste time vs waste space :) |
| 2026-04-09 19:44:18 +0000 | <acarrico> | A call by name strategy with interning and a memoized evaluator. |
| 2026-04-09 19:44:28 +0000 | <tomsmeding> | call by name + memoisation is call by need |
| 2026-04-09 19:44:54 +0000 | <tomsmeding> | but, depending on how it's implemented, possibly slower than a direct, mutating call-by-need implementation |
| 2026-04-09 19:45:09 +0000 | <acarrico> | tomsmeding: I would tend to call by need the "thunk" strategy, which is a bit different. |
| 2026-04-09 19:45:09 +0000 | <tomsmeding> | call by need is obviously useful, haskell has it |
| 2026-04-09 19:45:27 +0000 | <tomsmeding> | it's the "duplicate all the work yolo" of plain call-by-name that I claim to be useless |
| 2026-04-09 19:45:41 +0000 | <acarrico> | tomsmeding: In some sense it is just a very easy implementation strategy that happens to work very well for that DSL. |
| 2026-04-09 19:45:47 +0000 | <tomsmeding> | right |
| 2026-04-09 19:46:09 +0000 | <acarrico> | Anyway, it is an interesting paper. |
| 2026-04-09 19:46:52 +0000 | <monochrom> | Oleg once complained about memoizing a really long list taking too much memory. I think he believed that the list can be easily recomputed, not worth memoizing. |
| 2026-04-09 19:47:46 +0000 | <tomsmeding> | right, selective recomputation is a thing that optimising compilers of functional languages have to deal with, and it's tricky to do properly (i.e. without accidentally pessimising) |
| 2026-04-09 19:48:10 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2026-04-09 19:48:20 +0000 | <acarrico> | The strategy is very useful when you want to intern your values anyway for some reason, usually to support fast equality checking and sets and so forth. |
| 2026-04-09 19:49:28 +0000 | <acarrico> | Guh, that seems like too much magic. |
| 2026-04-09 19:50:17 +0000 | <tomsmeding> | this conversation exemplifies the original reason why this topic was brought up though: the terms "call by name" / "call by need" / "call by value" etc. mean multiple different things at different levels of abstraction, and different people use different ones |
| 2026-04-09 19:50:55 +0000 | <tomsmeding> | the way I was originally explained call by name is how I just explained it here, which only useful as a semantics, not as an implementation |
| 2026-04-09 19:51:14 +0000 | <tomsmeding> | but clearly you have a different meaning in mind, which is related but not quite the same :p |
| 2026-04-09 19:52:44 +0000 | <acarrico> | I entered the channel in the middle of the conversation. Just thought I'd point out Dolstra's paper since it seemed relevant. But its a great topic for people to think about, in part because it does open up those ideas. Ultimately you realize that you don't want a default strategy, but you kind of need one to avoid going insane with verbosity. |
| 2026-04-09 19:55:16 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-04-09 19:55:27 +0000 | <acarrico> | tomsmending: yes, and I thought hey, actually I know of a system where the semantics is the implementation. The rewrite rule really does just take a closed term e2 and do (/x . e)[e2/x] which is just sounds insane as an implementation, but it works. |
| 2026-04-09 19:55:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 19:56:07 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
| 2026-04-09 19:56:11 +0000 | <tomsmeding> | because you do memoisation on top of that |
| 2026-04-09 19:56:15 +0000 | <tomsmeding> | presumably :p |
| 2026-04-09 19:56:16 +0000 | <acarrico> | I've been toying with using it in a macro system the same way. |
| 2026-04-09 19:56:24 +0000 | <acarrico> | correct. |
| 2026-04-09 19:56:34 +0000 | <tomsmeding> | right, this is an approach I hadn't thought of yet |
| 2026-04-09 19:56:35 +0000 | <acarrico> | memoisation + interning |
| 2026-04-09 19:56:35 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2026-04-09 19:56:37 +0000 | <tomsmeding> | it's cute |
| 2026-04-09 19:57:05 +0000 | <mauke> | hey, aren't make variables just call-by-name (without the 'call' part)? |
| 2026-04-09 19:57:41 +0000 | <tomsmeding> | if you call that call-by-name, then shell variables are too, as is string interpolation in any language |
| 2026-04-09 19:58:00 +0000 | pyook | (~puke@user/puke) puke |
| 2026-04-09 19:58:00 +0000 | puke | Guest3956 |
| 2026-04-09 19:58:00 +0000 | pyook | puke |
| 2026-04-09 19:58:02 +0000 | <tomsmeding> | which is I guess technically true, but string concatenation is not really a programming language in my mind :p |
| 2026-04-09 19:58:03 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-09 19:58:07 +0000 | <mauke> | no, shell variables are eager |
| 2026-04-09 19:58:10 +0000 | <acarrico> | yes because it is simple, but also it is super lazy, since thunks only replace values in certain known locations, but memozition replaces them everywhere, so (4 + 4) + (4 + 4) is more lazy than by need. |
| 2026-04-09 19:58:17 +0000 | <tomsmeding> | mauke: fair |
| 2026-04-09 19:59:07 +0000 | <acarrico> | mauke: In Makefiles maybe there are two ways to expand shell variables. |
| 2026-04-09 19:59:13 +0000 | <tomsmeding> | acarrico: as in, if you'd literally write `(4 + 4) + (4 + 4)`, only two additions would get executed? |
| 2026-04-09 19:59:28 +0000 | <acarrico> | Correct, think about it with interning and memoization! |
| 2026-04-09 19:59:32 +0000 | <tomsmeding> | fun |
| 2026-04-09 19:59:45 +0000 | <monochrom> | I think GNU Make has "v = ..." vs "v := ..." for by-name vs by-value, I forgot which is which. |
| 2026-04-09 20:00:04 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
| 2026-04-09 20:00:11 +0000 | <tomsmeding> | oh right, Make has mutation in there too, I forgot |
| 2026-04-09 20:00:26 +0000 | <tomsmeding> | := is CBV, = is CBN I guess yes |
| 2026-04-09 20:00:36 +0000 | Guest3956 | (~puke@user/puke) (Ping timeout: 250 seconds) |
| 2026-04-09 20:00:39 +0000 | <tomsmeding> | where N = name |
| 2026-04-09 20:00:46 +0000 | <monochrom> | Whereas POSIX Make, I know nothing. :) |
| 2026-04-09 20:00:57 +0000 | <mauke> | call me by your name |
| 2026-04-09 20:01:07 +0000 | <monochrom> | <--- spoiled by GNU Make |
| 2026-04-09 20:01:27 +0000 | <acarrico> | Nobody has been spoiled by make, only burned. |
| 2026-04-09 20:01:47 +0000 | <monochrom> | "call me by your name" should inspire a joke language for the next April 1. :) |
| 2026-04-09 20:01:59 +0000 | <EvanR> | make is life |
| 2026-04-09 20:02:37 +0000 | <monochrom> | The only burning from Make I have got so far is just that it doesn't do well with filenames that contain spaces. |
| 2026-04-09 20:02:58 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-09 20:03:44 +0000 | <monochrom> | Once upon a time when that Ant thing for Java just came out, I took a look with high hope. Nope, it's more redundant than makefiles. I went back to makefiles. |
| 2026-04-09 20:05:13 +0000 | <acarrico> | monochrom: make is the way to go, but you gotta keep it simple. Zig added a build system and then suddenly I couldn't program in Zig anymore. |
| 2026-04-09 20:05:23 +0000 | <monochrom> | Yeah I keep it simple. |
| 2026-04-09 20:05:25 +0000 | <acarrico> | I guess we are off topic. |
| 2026-04-09 20:06:27 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 255 seconds) |
| 2026-04-09 20:11:10 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2026-04-09 20:13:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 20:18:26 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-09 20:25:11 +0000 | comonad | (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2026-04-09 20:26:23 +0000 | comonad | (~comonad@2003:d0:2701:9d00:9435:23f:d7f3:6a1f) |
| 2026-04-09 20:29:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-09 20:34:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |