Newest at the top
| 2025-12-03 18:09:15 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.7.2) |
| 2025-12-03 18:07:31 +0100 | comerijn | (~merijn@77.242.116.146) (Ping timeout: 250 seconds) |
| 2025-12-03 18:07:23 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2025-12-03 18:05:51 +0100 | Googulator56 | (~Googulato@2a01-036d-0106-479c-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-03 18:05:43 +0100 | Googulator55 | (~Googulato@2a01-036d-0106-479c-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-03 18:03:40 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
| 2025-12-03 18:02:46 +0100 | trickard_ | trickard |
| 2025-12-03 18:02:45 +0100 | comerijn | (~merijn@77.242.116.146) merijn |
| 2025-12-03 17:56:04 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-03 17:50:45 +0100 | aljazmc | (~aljazmc@user/aljazmc) (Quit: Leaving) |
| 2025-12-03 17:49:38 +0100 | sindu | (~sindu@2.148.32.207.tmi.telenormobil.no) |
| 2025-12-03 17:47:17 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 2025-12-03 17:43:41 +0100 | <fgarcia> | /buffer 2 |
| 2025-12-03 17:41:25 +0100 | <tomsmeding> | thanks for thinking along |
| 2025-12-03 17:41:20 +0100 | <tomsmeding> | anyway, I'll just live with the 10% :) |
| 2025-12-03 17:40:45 +0100 | <tomsmeding> | I recall that it worked before, in this very function -- something broke it |
| 2025-12-03 17:40:45 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Remote host closed the connection) |
| 2025-12-03 17:40:28 +0100 | <Leary> | Weird. I've used it in a `where` block. |
| 2025-12-03 17:39:58 +0100 | <tomsmeding> | doesn't work |
| 2025-12-03 17:39:21 +0100 | <Leary> | `let { {-# NOINLINE suffixes #-}; suffixes = ... } in \i -> ...` |
| 2025-12-03 17:38:46 +0100 | <tomsmeding> | putting the (\i -> body) in a separate binding and NOINLINE-marking that binding seems to ensure that 'suffixes' is properly shared over multiple adjacent calls |
| 2025-12-03 17:38:11 +0100 | <tomsmeding> | the function looks like: \sh -> let suffixes = ... in \i -> ...body... |
| 2025-12-03 17:37:50 +0100 | <tomsmeding> | how do you suggest I put it on the shared value? |
| 2025-12-03 17:37:32 +0100 | <Leary> | Oh, you're putting that on the inner /function/? Why not on the shared value? |
| 2025-12-03 17:37:06 +0100 | <tomsmeding> | (it's a 2x improvement when called many times, at the cost of a 10% slowdown when called once) |
| 2025-12-03 17:36:45 +0100 | <tomsmeding> | but I'll just have to live with that I suppose :) |
| 2025-12-03 17:36:33 +0100 | <tomsmeding> | the downside is that that makes performance slightly worse if the function is only called once |
| 2025-12-03 17:35:53 +0100 | <Leary> | `NOINLINE` it is, then. |
| 2025-12-03 17:35:50 +0100 | haritz | (~hrtz@user/haritz) haritz |
| 2025-12-03 17:35:50 +0100 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2025-12-03 17:35:50 +0100 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2025-12-03 17:35:27 +0100 | <tomsmeding> | Leary: doesn't seem to; they were already in a separate lambda (within a 'let' that defines the shared binding), but adding a ! doesn't seem to help |
| 2025-12-03 17:34:58 +0100 | <Lycurgus> | *could |
| 2025-12-03 17:34:56 +0100 | aljazmc | (~aljazmc@user/aljazmc) aljazmc |
| 2025-12-03 17:34:35 +0100 | <Lycurgus> | *query |
| 2025-12-03 17:34:29 +0100 | aljazmc | (~aljazmc@user/aljazmc) (Remote host closed the connection) |
| 2025-12-03 17:34:05 +0100 | <Leary> | tomsmeding: Does it work if you push the latter args into lambdas and bang the shared binding? |
| 2025-12-03 17:33:37 +0100 | <Lycurgus> | i couild expand as a very rude name of this category of quety has occured to me but being a real person i know better |
| 2025-12-03 17:33:28 +0100 | gawen | (~gawen@user/gawen) gawen |
| 2025-12-03 17:32:55 +0100 | <tomsmeding> | well, presumably something is relevant here, yes |
| 2025-12-03 17:32:45 +0100 | <Lycurgus> | nor "nuthin"? |
| 2025-12-03 17:32:33 +0100 | <tomsmeding> | (I don't see how TH is relevant here) |
| 2025-12-03 17:31:22 +0100 | <tomsmeding> | I can force GHC to do what I want by making the "inner function" NOINLINE (at which point the (inlined) "outer function" does the proper sharing), but that feels like a hack |
| 2025-12-03 17:31:20 +0100 | <Lycurgus> | wo TH or nuthin i presume |
| 2025-12-03 17:30:50 +0100 | <tomsmeding> | I have some data that I can already compute based on only the first argument that I would like to share over multiple calls that have the same first argument, and GHC isn't doing it |
| 2025-12-03 17:30:19 +0100 | <tomsmeding> | can I override GHC's arity analysis to force a particular function to have lower arity than GHC would otherwise infer? |
| 2025-12-03 17:28:55 +0100 | gawen | (~gawen@user/gawen) (Quit: cya) |
| 2025-12-03 17:25:15 +0100 | acidjnk | (~acidjnk@p200300d6e71719231986af8ebf40e0fc.dip0.t-ipconnect.de) acidjnk |
| 2025-12-03 17:17:58 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2025-12-03 17:16:21 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |