Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,053 events total
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.