Newest at the top
2025-01-08 22:22:10 +0100 | <haskellbridge> | <sm> we have a lot more communication channels now |
2025-01-08 22:21:22 +0100 | <JuanDaugherty> | *10 y |
2025-01-08 22:21:11 +0100 | <JuanDaugherty> | yeah 10 or so ago there would have been 3X as many in this channel |
2025-01-08 22:19:02 +0100 | <JuanDaugherty> | sm noted |
2025-01-08 22:17:05 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2025-01-08 22:16:39 +0100 | <hc> | Ah lol, the answer to my question seems to be hidden in the System.Random.hs source code and is more involved (generics) than I had anticipated =) |
2025-01-08 22:15:48 +0100 | <haskellbridge> | <sm> and hololeap is right |
2025-01-08 22:15:29 +0100 | <haskellbridge> | <sm> scattered, some might say |
2025-01-08 22:15:17 +0100 | <haskellbridge> | <sm> JuanDaugherty: I wouldn't say that, haskell community is a bit more spread out these days |
2025-01-08 22:15:11 +0100 | <hololeap> | I'm just saying chat has its shortcomings compared to something like https://discourse.haskell.org/ where people can go back and read old threads |
2025-01-08 22:13:31 +0100 | <JuanDaugherty> | my understanding is the #haskelll name space here is still the main hs community thing |
2025-01-08 22:11:25 +0100 | <hc> | Hello, I would like to use the uniform function (System.Random) with a custom enum, how? |
2025-01-08 22:10:02 +0100 | <JuanDaugherty> | although actually haven seen bridged stuff lately and heard theres some maint goin on |
2025-01-08 22:09:52 +0100 | <hololeap> | there's a matrix bridge |
2025-01-08 22:08:44 +0100 | <JuanDaugherty> | stuff is only bridged one way from there here? |
2025-01-08 22:08:16 +0100 | <hololeap> | asking on the haskell discourse or the subreddit _might_ get you more responses simply because of better retention |
2025-01-08 22:07:26 +0100 | <JuanDaugherty> | it is niche but ofc there's a huge draw for the end function and actual commercial products targetting the task in various ways |
2025-01-08 22:06:42 +0100 | <JuanDaugherty> | well it woulda been before the current public log i think, nyefs |
2025-01-08 22:06:05 +0100 | <hololeap> | I think it's just very niche and if someone who does know doesn't catch it, it will just get lost in the IRC backlog |
2025-01-08 22:05:14 +0100 | <JuanDaugherty> | and i apologize for being a bore on this because i know i've asked b4 and wont again |
2025-01-08 22:03:18 +0100 | <JuanDaugherty> | pretty sure i looked for hs things that woulda done integration based on relational algebra with null result |
2025-01-08 22:01:40 +0100 | <JuanDaugherty> | but ty anyway |
2025-01-08 21:58:13 +0100 | <JuanDaugherty> | to be clear, i did not go to the damn enwiki relational algebra article |
2025-01-08 21:56:38 +0100 | <JuanDaugherty> | hololeap, ofc, i;m juan@acm.org |
2025-01-08 21:56:14 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 245 seconds) |
2025-01-08 21:56:03 +0100 | Digit | (~user@user/digit) Digit |
2025-01-08 21:55:57 +0100 | <c_wraith> | The only thing it doesn't do is any kind of unrolling |
2025-01-08 21:55:25 +0100 | <c_wraith> | inlining the wrapper copies in the worker definition so that things can be inlined into it. |
2025-01-08 21:55:14 +0100 | Digit | (~user@user/digit) (Read error: Connection reset by peer) |
2025-01-08 21:54:47 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-01-08 21:54:46 +0100 | avdb13 | (~avdb13@2001-14ba-a0a9-f200--18c.rev.dnainternet.fi) (Remote host closed the connection) |
2025-01-08 21:53:56 +0100 | <Leary> | Well, worker/wrapper only lets you inline the wrapper. This would let you inline the entire body, so your other module can optimise it differently. |
2025-01-08 21:53:23 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-01-08 21:51:37 +0100 | <c_wraith> | Leary: if you're rewriting it to make it inline properly, you might as well worker/wrapper it yourself |
2025-01-08 21:51:19 +0100 | <hololeap> | JuanDaugherty: are you aware of https://en.wikipedia.org/wiki/Relational_algebra |
2025-01-08 21:37:43 +0100 | <Leary> | Perhaps artificially introduce a loop breaker: `bar = ... bar ...` --> `foo = bar; {-# INLINE bar #-}; bar = ... foo ...` |
2025-01-08 21:36:28 +0100 | <c_wraith> | But that means you need to cooperate at the call site. eww. |
2025-01-08 21:36:14 +0100 | <c_wraith> | Further reading of the docs suggests you might be able to do it with INLINEABLE *and* the magic inline function. https://hackage.haskell.org/package/base-4.21.0.0/docs/GHC-Base.html#v:inline |
2025-01-08 21:35:00 +0100 | <c_wraith> | within a single module, GHC will do a worker-wrapper transform to inline directly recursive definitions at -O2. But making that optimization fire across modules seems hard. |
2025-01-08 21:32:56 +0100 | Digit | (~user@user/digit) Digit |
2025-01-08 21:32:09 +0100 | Digit | (~user@user/digit) (Read error: Connection reset by peer) |
2025-01-08 21:32:08 +0100 | l_k | (~student@213.24.133.217) (Ping timeout: 244 seconds) |
2025-01-08 21:29:32 +0100 | l__k | (~student@217.107.126.148) |
2025-01-08 21:27:12 +0100 | <c_wraith> | it is. |
2025-01-08 21:26:25 +0100 | <EvanR> | wait a minute, isn't that what loop unrolling is |
2025-01-08 21:26:03 +0100 | <EvanR> | I guess that makes sense on multiple levels |
2025-01-08 21:25:58 +0100 | <EvanR> | a self recursive function can't be inlined |
2025-01-08 21:21:58 +0100 | <c_wraith> | So yeah... When *that* is the issue I'm trying to demonstrate, INLINE is useless. |
2025-01-08 21:21:40 +0100 | <c_wraith> | Oh, right. "GHC tries not to select a function with an INLINE pragma as a loop breaker, but when there is no choice even an INLINE function can be selected, in which case the INLINE pragma is ignored. For example, for a self-recursive function, the loop breaker can only be the function itself, so an INLINE pragma is always ignored." |
2025-01-08 21:18:43 +0100 | weary-traveler | (~user@user/user363627) user363627 |