Logs: liberachat/#haskell
| 2026-04-06 16:48:41 | × | hellwolf quits (~user@52de-36c6-d139-9d27-0f00-4d40-07d0-2001.sta.estpak.ee) (Ping timeout: 248 seconds) |
| 2026-04-06 16:50:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 16:54:34 | → | hellwolf joins (~user@7530-0dab-5d73-cf2b-0f00-4d40-07d0-2001.sta.estpak.ee) |
| 2026-04-06 16:57:49 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-06 17:03:02 | → | zalo-rocky joins (~flyingzal@user/zalo-rocky) |
| 2026-04-06 17:03:13 | <ski> | it explains sequencing data dependency, but not much more |
| 2026-04-06 17:03:51 | <ski> | (e.g. doesn't explain I/O exceptions, doesn't explain concurrency (including communication), &c.) |
| 2026-04-06 17:07:58 | → | Googulator10 joins (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) |
| 2026-04-06 17:07:59 | → | sm__ joins (~sm@66.8.200.171) |
| 2026-04-06 17:08:13 | × | Googulator quits (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed) |
| 2026-04-06 17:08:23 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 17:09:54 | × | Tuplanolla quits (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Ping timeout: 246 seconds) |
| 2026-04-06 17:13:44 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-06 17:14:37 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 2026-04-06 17:14:53 | → | gmg joins (~user@user/gehmehgeh) |
| 2026-04-06 17:25:12 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 17:30:18 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-06 17:34:52 | × | karenw quits (~karenw@user/karenw) (Ping timeout: 276 seconds) |
| 2026-04-06 17:35:11 | <mauke> | it doesn't explain I/O |
| 2026-04-06 17:37:11 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 2026-04-06 17:40:44 | → | st_aldini joins (~Betterbir@2605:a601:a07c:7426:a9c5:df0c:3e0f:b451) |
| 2026-04-06 17:40:44 | → | arandombit joins (~arandombi@user/arandombit) |
| 2026-04-06 17:41:18 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 17:42:37 | × | arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection) |
| 2026-04-06 17:45:15 | × | st_aldini quits (~Betterbir@2605:a601:a07c:7426:a9c5:df0c:3e0f:b451) (Ping timeout: 246 seconds) |
| 2026-04-06 17:45:42 | × | Pozyomka quits (~pyon@user/pyon) (Quit: bbl) |
| 2026-04-06 17:46:17 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-06 17:48:28 | → | arandombit joins (~arandombi@user/arandombit) |
| 2026-04-06 17:50:51 | × | zalo-rocky quits (~flyingzal@user/zalo-rocky) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-06 17:51:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 17:56:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-06 18:02:07 | × | m_a_r_k quits (~m_a_r_k@archlinux/support/mark) (Read error: Connection reset by peer) |
| 2026-04-06 18:03:47 | × | fp` quits (~user@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Ping timeout: 252 seconds) |
| 2026-04-06 18:04:30 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds) |
| 2026-04-06 18:04:57 | × | mehbark quits (~mehbark@user/mehbark) (Ping timeout: 248 seconds) |
| 2026-04-06 18:07:08 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 18:07:55 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 2026-04-06 18:14:45 | op_4 | is now known as mission_speciali |
| 2026-04-06 18:14:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-06 18:15:26 | mission_speciali | is now known as op_4 |
| 2026-04-06 18:18:33 | op_4 | is now known as missionspecialis |
| 2026-04-06 18:19:02 | missionspecialis | is now known as op_4 |
| 2026-04-06 18:19:21 | × | confusedalex quits (~confuseda@user/confusedalex) (Ping timeout: 255 seconds) |
| 2026-04-06 18:19:50 | × | puke quits (~puke@user/puke) (Quit: puke) |
| 2026-04-06 18:22:42 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds) |
| 2026-04-06 18:24:20 | → | qqq joins (~qqq@185.54.23.237) |
| 2026-04-06 18:26:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 18:29:00 | → | confusedalex joins (~confuseda@user/confusedalex) |
| 2026-04-06 18:33:22 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-04-06 18:34:10 | <monochrom> | I'm an extremist, I want to begin by scaremongering about what Ken Thompson said about the source code meaning sh*t if you don't know how much the compiler is special-casing what it sees. |
| 2026-04-06 18:34:12 | → | puke joins (~puke@user/puke) |
| 2026-04-06 18:35:18 | <monochrom> | In our particular case, we already know that GHC is special-casing RealWorld, so you must not trust any library source code that pretends to take it seriously. |
| 2026-04-06 18:35:22 | → | karenw joins (~karenw@user/karenw) |
| 2026-04-06 18:36:11 | <monochrom> | But ideally no one should need to remind anyone else about that. You can just check the assembly code, and it will be plain as day that RealWorld doesn't exist there. |
| 2026-04-06 18:37:44 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-06 18:41:44 | × | qqq quits (~qqq@185.54.23.237) (Ping timeout: 252 seconds) |
| 2026-04-06 18:42:03 | × | marinelli quits (~weechat@brrr.fr) (Quit: marinelli) |
| 2026-04-06 18:44:45 | → | merijn joins (~merijn@62.45.136.136) |
| 2026-04-06 18:48:57 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 246 seconds) |
| 2026-04-06 18:52:20 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 18:52:27 | → | Pozyomka joins (~pyon@user/pyon) |
| 2026-04-06 18:55:52 | × | Pozyomka quits (~pyon@user/pyon) (Client Quit) |
| 2026-04-06 18:56:59 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-06 18:58:03 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 2026-04-06 18:58:38 | → | Pozyomka joins (~pyon@user/pyon) |
| 2026-04-06 19:00:50 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2026-04-06 19:03:56 | <tomsmeding> | monochrom: surely RealWorld not existing in the asm is the least of the special-casing? |
| 2026-04-06 19:04:44 | <tomsmeding> | a value (# #) also doesn't exist in the asm |
| 2026-04-06 19:04:55 | <monochrom> | It is the beginning of believing that special-casing happened. |
| 2026-04-06 19:05:29 | <tomsmeding> | not representing a value with no information in the compiled program is not particularly special :p |
| 2026-04-06 19:05:50 | <tomsmeding> | what's special is that GHC sees that RealWorld has no information, but then still does the full dance of passing it around in Core |
| 2026-04-06 19:05:55 | <tomsmeding> | to maintain the sequencing |
| 2026-04-06 19:05:56 | <monochrom> | At present, most people still believe that RealWorld has a non-trivial representation in the final code. |
| 2026-04-06 19:06:06 | → | AlexNoo joins (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:06:17 | <tomsmeding> | does that matter for understanding how IO works? |
| 2026-04-06 19:06:51 | → | AlexNoo_ joins (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:07:19 | <monochrom> | 0th-order approximation no, 2nd-order approximation yes. |
| 2026-04-06 19:07:27 | <tomsmeding> | or are you saying, the fact itself that RealWorld has no information in it, must mean that there's something special going on, because otherwise there's nothing to "mutate" with our IO? |
| 2026-04-06 19:07:34 | → | AlexNoo__ joins (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:07:59 | <c_wraith> | people believe RealWorld exists in the final code? huh. I had no idea. |
| 2026-04-06 19:08:07 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-04-06 19:08:12 | <int-e> | well *something* is still going on because the RTS knows how to apply a function to a void (zero-size) argument |
| 2026-04-06 19:08:12 | <tomsmeding> | it would be rather stupid! |
| 2026-04-06 19:08:41 | <tomsmeding> | int-e: if the argument is zero-size, does it exist? |
| 2026-04-06 19:08:44 | Googulator10 | is now known as Googulator |
| 2026-04-06 19:08:50 | <c_wraith> | int-e: yes. What's going on is that at level procedures exist. :) |
| 2026-04-06 19:08:56 | <int-e> | tomsmeding: no, but the function is different from its result value |
| 2026-04-06 19:09:02 | <tomsmeding> | sure |
| 2026-04-06 19:10:10 | × | AlexNoo quits (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:10:17 | <int-e> | tomsmeding: well. I guess I shouldn't say "no |
| 2026-04-06 19:10:18 | <int-e> | " |
| 2026-04-06 19:10:28 | <monochrom> | Right, I am saying that looking at the assembly code is the beginning of realizing that something special, not shown in source code, is going on. |
| 2026-04-06 19:10:33 | → | AlexNoo joins (~AlexNoo@85.174.183.185) |
| 2026-04-06 19:10:43 | <tomsmeding> | OK I can get behind that |
| 2026-04-06 19:10:48 | <int-e> | because in a way it does exist, it just has no material manifestation whatsoever |
| 2026-04-06 19:10:54 | <tomsmeding> | I guess |
| 2026-04-06 19:11:14 | × | AlexNoo_ quits (~AlexNoo@85.174.183.185) (Ping timeout: 248 seconds) |
| 2026-04-06 19:11:15 | <raincomplex> | isn't it true that most of the type system doesn't exist in the final code? |
| 2026-04-06 19:11:28 | <int-e> | raincomplex: but values exist |
| 2026-04-06 19:11:31 | <int-e> | most of them |
All times are in UTC.