Logs: liberachat/#haskell
| 2025-09-14 18:22:25 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-09-14 18:24:29 | × | divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2025-09-14 18:24:42 | → | divlamir joins (~divlamir@user/divlamir) |
| 2025-09-14 18:33:46 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 2025-09-14 18:34:23 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 18:36:37 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 272 seconds) |
| 2025-09-14 18:38:05 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 2025-09-14 18:39:23 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-09-14 18:41:01 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 18:44:11 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: sdbcjks) |
| 2025-09-14 18:46:14 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-09-14 18:50:11 | → | weary-traveler joins (~user@user/user363627) |
| 2025-09-14 18:56:41 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 18:57:48 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 2025-09-14 19:00:03 | × | caconym747 quits (~caconym@user/caconym) (Quit: bye) |
| 2025-09-14 19:00:43 | → | caconym747 joins (~caconym@user/caconym) |
| 2025-09-14 19:12:10 | → | ystael joins (~ystael@user/ystael) |
| 2025-09-14 19:15:35 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-09-14 19:15:45 | → | tromp joins (~textual@2001:1c00:3487:1b00:f91c:d27d:e5a1:1629) |
| 2025-09-14 19:18:55 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-09-14 19:19:18 | × | AndreiDuma quits (~AndreiDum@user/AndreiDuma) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2025-09-14 19:20:01 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2025-09-14 19:24:52 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 2025-09-14 19:33:07 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 260 seconds) |
| 2025-09-14 19:34:23 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-09-14 19:41:10 | × | Raito_Bezarius quits (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Quit: free()) |
| 2025-09-14 19:45:03 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-09-14 19:45:20 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-09-14 19:48:00 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2025-09-14 20:00:29 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-09-14 20:04:32 | × | erizawa quits (~kazuki@user/erizawa) (Quit: Leaving) |
| 2025-09-14 20:07:23 | → | Raito_Bezarius joins (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) |
| 2025-09-14 20:12:08 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 20:13:09 | × | fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 260 seconds) |
| 2025-09-14 20:17:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-09-14 20:19:14 | × | yin quits (~zero@user/zero) (Remote host closed the connection) |
| 2025-09-14 20:21:57 | → | yin joins (~zero@user/zero) |
| 2025-09-14 20:25:13 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-09-14 20:26:28 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 2025-09-14 20:27:29 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2025-09-14 20:28:10 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 20:28:46 | → | img joins (~img@user/img) |
| 2025-09-14 20:30:08 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 256 seconds) |
| 2025-09-14 20:31:14 | × | Square2 quits (~Square@user/square) (Ping timeout: 260 seconds) |
| 2025-09-14 20:32:19 | <c_wraith> | Yeah. I did say "may". You can prevent it, but you need to know to do so |
| 2025-09-14 20:32:38 | → | fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi) |
| 2025-09-14 20:33:08 | <c_wraith> | It's sort of the inverse of the "I can make this a Functor but it will break my invariants" problem. You need to know to do something extra, instead of knowing to avoid the issue. |
| 2025-09-14 20:34:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-09-14 20:38:50 | × | Pozyomka quits (~pyon@user/pyon) (Quit: brb) |
| 2025-09-14 20:39:01 | → | Pozyomka joins (~pyon@user/pyon) |
| 2025-09-14 20:46:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 20:50:04 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-09-14 20:50:18 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer) |
| 2025-09-14 20:50:30 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-09-14 20:50:37 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-09-14 20:54:41 | × | fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 248 seconds) |
| 2025-09-14 20:58:15 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds) |
| 2025-09-14 21:03:24 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 2025-09-14 21:07:00 | × | swistak quits (~swistak@185.21.216.141) (Ping timeout: 245 seconds) |
| 2025-09-14 21:14:46 | × | jreicher quits (~user@user/jreicher) (Quit: In transit) |
| 2025-09-14 21:15:15 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 2025-09-14 21:15:40 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 2025-09-14 21:29:48 | <haskellbridge> | <magic_rb> int-e: you seem to familiar with this, so uh, https://paste.tomsmeding.com/eKx5j0WP is my STG representation |
| 2025-09-14 21:30:11 | <haskellbridge> | <magic_rb> you were wondering whats an expression and whats a heap object, i didnt even know there was a distinction |
| 2025-09-14 21:30:15 | <haskellbridge> | <magic_rb> i must have missed something serios |
| 2025-09-14 21:33:50 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Read error: Connection reset by peer) |
| 2025-09-14 21:34:17 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 2025-09-14 21:34:35 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2025-09-14 21:38:18 | <int-e> | Look at Figure 1? `THUNK e` uses `e` which refers to an expression. `PAP(f a1 ... an)` refers to `f` and `a`, `f` being a variable (a heap reference) that, as the comment says, has to be a FUN, and `a` being an atom, either a variable or an unboxed value. |
| 2025-09-14 21:42:31 | <int-e> | I'm not that familiar actually. Expressions are quite restricted; the function calls are restricted such that the arguments are atoms. So if you want to translate f (g x), you first have to flatten it to let y = THUNK (g x) in f y |
| 2025-09-14 21:42:44 | → | swistak joins (~swistak@185.21.216.141) |
| 2025-09-14 21:44:34 | <int-e> | The `map` example in Section 3.2 does this, among other things. |
| 2025-09-14 21:48:34 | <int-e> | (the actual implementation in GHC will not store expressions in thunks; instead, thunks have pointers to compiled expressions, i.e., code that performs the corresponding evaluations steps) |
| 2025-09-14 21:49:55 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-09-14 21:54:32 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-09-14 21:59:05 | × | swistak quits (~swistak@185.21.216.141) (Ping timeout: 256 seconds) |
| 2025-09-14 22:02:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 22:03:21 | × | takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection) |
| 2025-09-14 22:08:32 | → | Ezic joins (~Ezic@2a02:a31c:2d8:4400:7591:97d9:8a76:62ce) |
| 2025-09-14 22:09:18 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-14 22:15:58 | yin | is now known as zzz |
| 2025-09-14 22:16:27 | <haskellbridge> | <magic_rb> Youre the first person to give me any kind of feedback. So its greatly appreciated. I see that my whole IR is wrong :( |
| 2025-09-14 22:17:21 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 2025-09-14 22:18:21 | <haskellbridge> | <magic_rb> Though i still dont understand how moving the arguments into let bindings would help me. Since im having issues with the function bodies, not let bindings |
| 2025-09-14 22:18:24 | <haskellbridge> | <magic_rb> I mean |
| 2025-09-14 22:19:53 | <haskellbridge> | <magic_rb> Say i have "let f = (\y \x -> x) 5; in f 4" this should return 4 if im doing brain eval right. This would end up being something like |
| 2025-09-14 22:20:25 | zzz | is now known as tilde |
| 2025-09-14 22:20:25 | × | sprotte24 quits (~sprotte24@p200300d16f0fa90034a8f8dc2eadcbb1.dip0.t-ipconnect.de) (Quit: Leaving) |
| 2025-09-14 22:21:14 | × | Ezic quits (~Ezic@2a02:a31c:2d8:4400:7591:97d9:8a76:62ce) (Quit: Client closed) |
| 2025-09-14 22:21:35 | <haskellbridge> | <magic_rb> (apply f [ 4 ]) where f is itself a thunk pointing to (apply (FUN (y) (FUN (x) x)) [ 5 ]) |
| 2025-09-14 22:22:14 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-14 22:22:28 | <haskellbridge> | <magic_rb> But again, i get into the situation that there is not rule for applying onto an application, so i have to have a thunk there. But then the thunk gets immediately erased and a second call to f will fail |
| 2025-09-14 22:23:40 | <haskellbridge> | <magic_rb> I think the actual bit that im doing wrong is in the UPDATE rule. They say "if H[y] is a value" do they mean atom AND function? Or what do they mean? |
| 2025-09-14 22:26:00 | <int-e> | With the notation of the paper I think you'd have let f = THUNK (let g = FUN (y -> FUN (x -> x)) in g 5) in f 4 |
| 2025-09-14 22:26:02 | <haskellbridge> | <magic_rb> Ah wait, ig if they meant value or function, it would actually work |
| 2025-09-14 22:26:28 | <haskellbridge> | <magic_rb> Yep okay that notation makes sense, i do that, except for the let |
| 2025-09-14 22:26:43 | <haskellbridge> | <magic_rb> I dont think the let is important for semantics, just performance probably. |
| 2025-09-14 22:28:25 | → | swistak joins (~swistak@185.21.216.141) |
| 2025-09-14 22:28:35 | <int-e> | You can't have (g 5) 4 in that syntax, so the (g 5) must be constructed with a `let`. |
| 2025-09-14 22:30:51 | × | tromp quits (~textual@2001:1c00:3487:1b00:f91c:d27d:e5a1:1629) (Quit: My iMac has gone to sleep. ZZZzzz…) |
All times are in UTC.