Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,369 events total
2025-11-23 17:57:32 annamalai joins (~annamalai@117.249.230.146)
2025-11-23 17:59:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 18:04:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-23 18:04:53 × ljdarj quits (~Thunderbi@user/ljdarj) (Read error: Connection reset by peer)
2025-11-23 18:08:53 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
2025-11-23 18:10:40 Googulator85 joins (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu)
2025-11-23 18:10:43 × Googulator97 quits (~Googulato@2a01-036d-0106-01f1-f56c-45b8-e3c8-fdbd.pool6.digikabel.hu) (Quit: Client closed)
2025-11-23 18:13:46 Lycurgus joins (~juan@user/Lycurgus)
2025-11-23 18:14:04 DetourNe- joins (DetourNetw@user/DetourNetworkUK)
2025-11-23 18:14:22 × DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2025-11-23 18:14:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 18:16:25 DetourNe- is now known as DetourNetworkUK
2025-11-23 18:16:34 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-11-23 18:18:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-23 18:24:04 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-11-23 18:25:37 × tromp quits (~textual@2001:1c00:3487:1b00:b4d9:61f2:c274:e6c7) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-23 18:27:40 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-23 18:29:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 18:34:46 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 246 seconds)
2025-11-23 18:36:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-23 18:36:50 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-11-23 18:47:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 18:51:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-23 18:51:37 trickard_ is now known as trickard
2025-11-23 18:54:03 tromp joins (~textual@2001:1c00:3487:1b00:b4d9:61f2:c274:e6c7)
2025-11-23 18:55:36 × trickard quits (~trickard@cpe-87-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-23 18:58:13 trickard_ joins (~trickard@cpe-87-98-47-163.wireline.com.au)
2025-11-23 18:58:49 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2025-11-23 19:02:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 19:04:25 × trickard_ quits (~trickard@cpe-87-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-23 19:06:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-23 19:08:21 trickard_ joins (~trickard@cpe-87-98-47-163.wireline.com.au)
2025-11-23 19:13:04 × trickard_ quits (~trickard@cpe-87-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2025-11-23 19:13:59 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-23 19:16:51 target_i joins (~target_i@user/target-i/x-6023099)
2025-11-23 19:17:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 19:18:48 falafel joins (~falafel@2603:8000:ca00:83fb:d01e:2fee:516:54fa)
2025-11-23 19:21:14 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-11-23 19:22:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-23 19:26:14 trickard_ joins (~trickard@cpe-87-98-47-163.wireline.com.au)
2025-11-23 19:30:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 19:35:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-23 19:45:10 Lycurgus joins (~juan@user/Lycurgus)
2025-11-23 19:45:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 19:48:08 peterbecich joins (~Thunderbi@172.222.148.214)
2025-11-23 19:49:02 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-23 19:49:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-23 19:59:03 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
2025-11-23 20:00:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 20:04:32 × DetourNetworkUK quits (DetourNetw@user/DetourNetworkUK) (Ping timeout: 240 seconds)
2025-11-23 20:06:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-23 20:06:06 ljdarj joins (~Thunderbi@user/ljdarj)
2025-11-23 20:10:50 DetourNetworkUK joins (~DetourNet@user/DetourNetworkUK)
2025-11-23 20:14:35 × trickard_ quits (~trickard@cpe-87-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-23 20:14:49 trickard_ joins (~trickard@cpe-87-98-47-163.wireline.com.au)
2025-11-23 20:16:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 20:18:14 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-23 20:19:10 × trickard_ quits (~trickard@cpe-87-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-23 20:21:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-23 20:25:40 trickard_ joins (~trickard@cpe-87-98-47-163.wireline.com.au)
2025-11-23 20:31:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-23 20:31:29 <[exa]> so if I have a function (actual (->) type) and I take it as a strict or try to save it to a strict field in a datatype, what does actually happen with that at the runtime?
2025-11-23 20:32:42 × DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Ping timeout: 252 seconds)
2025-11-23 20:32:55 <[exa]> (with plain old STG I'd assume it's gonna make sure that the function on the heap is an actual closure instead of a thunk, does that hold nowadays with ghc?)
2025-11-23 20:33:03 Sgeo joins (~Sgeo@user/sgeo)
2025-11-23 20:33:06 <geekosaur> "strict" in HASKELL means "evaluated to WHNF", and a function is already in WHNF
2025-11-23 20:33:18 <geekosaur> (why did that get all caps?)
2025-11-23 20:33:25 <geekosaur> aiui at least
2025-11-23 20:33:48 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-23 20:34:02 <Lycurgus> what client are you using? or did u lose control of u?
2025-11-23 20:34:26 <geekosaur> I may have overheld the shift key; not doing very well today…
2025-11-23 20:34:36 <Lycurgus> maybe STG bumped it up
2025-11-23 20:35:06 <haskellbridge> <Zemyla> There's a difference between a function and a thunk that evaluates to a function, though.
2025-11-23 20:35:14 <[exa]> now looking at the original STG paper they actually call everything a "closure" so even less clear :D
2025-11-23 20:35:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-23 20:35:37 <geekosaur> the thunk should be evaluated
2025-11-23 20:36:08 <EvanR> a closure contains what's needed to evaluate something
2025-11-23 20:37:01 <int-e> > let a = undefined `seq` id in (23, a `seq` 42)
2025-11-23 20:37:04 <lambdabot> (23,*Exception: Prelude.undefined
2025-11-23 20:37:11 <EvanR> pointer to code, and zero or more other things
2025-11-23 20:37:30 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-11-23 20:37:48 <[exa]> EvanR: there was a distinction between thunks that have all args they need and thunks that still need more (I referred to these as closures but I likely messed up the naming even more)
2025-11-23 20:38:20 <monochrom> [exa]: An example is that an unevaluated function can be an "unresolved" case like "if 1>0 then (\x -> x+1) else (\x -> x-1)" and then you force it to resolve to "(\x -> x+1)"
2025-11-23 20:38:36 greatfulgrapefru joins (~greatfulg@2600:387:15:6131::3)
2025-11-23 20:38:41 DetourNetworkUK joins (DetourNetw@user/DetourNetworkUK)
2025-11-23 20:38:43 <[exa]> monochrom: yeah I thought like that
2025-11-23 20:38:50 greatfulgrapefru is now known as hi
2025-11-23 20:38:55 <[exa]> well I guess, let's Debug.Trace and verify this
2025-11-23 20:39:05 hi is now known as gratefulgrapefru
2025-11-23 20:39:16 <geekosaur> I think in the case where it's a partial application you might get a PAP node
2025-11-23 20:39:40 <monochrom> That too.
2025-11-23 20:41:28 <geekosaur> also note that in that case, the partially applied values will not count as part of determining WHNF
2025-11-23 20:41:53 × gratefulgrapefru quits (~greatfulg@2600:387:15:6131::3) (Changing host)
2025-11-23 20:41:53 gratefulgrapefru joins (~greatfulg@user/gratefulgrapefru)
2025-11-23 20:42:25 <[exa]> oh yes, PAP node what what I had in mind, thanks
2025-11-23 20:42:26 <geekosaur> the function (or PAP node) itself will be in WHNF, but just as strictness doesn't descend past the first constructor, it won't descend into function parameters
2025-11-23 20:42:36 <[exa]> so PAP exists in ghc runtime? if so that's great
2025-11-23 20:42:46 <geekosaur> yes, it's part of STG
2025-11-23 20:43:01 <geekosaur> doesn't exist above it, it's part of the STG evaluation machinery
2025-11-23 20:43:19 <[exa]> anyway the verification with trace seems OK

All times are in UTC.