2025/10/14

Newest at the top

2025-10-14 18:43:47 +0200 <ski> in the `sortBy' example i gave above, there's no need for such nonsense, because the result is not a `Bool', but an `Ordering', and doing (short-circuiting) lexigographic composition of these seem to be the obvious choice of what `<>' should do, there
2025-10-14 18:43:41 +0200peterbecich(~Thunderbi@syn-172-222-148-214.res.spectrum.com) peterbecich
2025-10-14 18:43:33 +0200 <EvanR> so it all boils down to ways of stitching a bunch of things together with &&
2025-10-14 18:42:17 +0200 <ski> groupBy ((getAll .) . ((All .) . isIssuerOverlapping <> (All .) . isAssetOverlapping <> (All .) . isConditionOverlapping <> (All .) . isDateRangeOverlapping <> (All .) . isTargetColumnOverlapping)) -- the `(blah .) .' is annoying !
2025-10-14 18:41:53 +0200 <EvanR> monads requires a different shaped type, one with a parameter
2025-10-14 18:41:50 +0200 <Tri> sure, I will think about it
2025-10-14 18:41:23 +0200 <EvanR> i.e. folding Bools using &&
2025-10-14 18:41:13 +0200 <EvanR> short circuiting to False if there is a False is what `and' does
2025-10-14 18:41:00 +0200Zemy(~Zemy@syn-067-078-059-246.biz.spectrum.com) (Ping timeout: 244 seconds)
2025-10-14 18:40:59 +0200 <EvanR> I'm not sure that monads are appropriate for this
2025-10-14 18:40:43 +0200 <Tri> yes EvanR, in other words, short circuting to False, if there is a False. That resembles how bind works. I believe people have suggested to use <> and list comprehension, but I didn't have the mental capacity to read them yet, I'm working my day job at the moment
2025-10-14 18:39:59 +0200 <ski> the two obvious choices are `&&' and `||'. you can do the former, with `All' and the latter with `Any', if you use `<>'. but inserting the `All's and `Any's turn out to be annoying ..
2025-10-14 18:39:17 +0200 <EvanR> in this case anding them all I guess
2025-10-14 18:39:11 +0200 <ski> indeed
2025-10-14 18:39:00 +0200 <EvanR> chaining A -> A -> Bool functions to get an A -> A -> Bool, it requires answering what to do with all the Bools along the way
2025-10-14 18:38:50 +0200 <ski> you could define `(f &&&& g) x y = f x y && g x y', i guess, and then use `groupBy (isIssuerOverlapping &&&& isAssetOverlapping &&&& isConditionOverlapping &&&& isDateRangeOverlapping &&&& isTargetColumnOverlapping)'
2025-10-14 18:38:38 +0200Core7083(~Zemy@2600:100c:b0a0:3fd9:b093:6aff:fe5f:f77f)
2025-10-14 18:38:33 +0200Zemy_(~Zemy@2600:100c:b0a0:3fd9:5cfe:ffff:fe64:fccc) (Ping timeout: 252 seconds)
2025-10-14 18:38:27 +0200 <geekosaur> yeh, I didn't start to learn any of the stuff they've been talking about until I came here shortly after starting to learn Haskell
2025-10-14 18:38:16 +0200 <Tri> thank you ski
2025-10-14 18:37:22 +0200 <ski> Tri : it's fine to ask people to address the practical or concrete concernss you have, or to ask about particular parts you're wondering about. and addressing questions of people looking for help takes precedence over other chatter
2025-10-14 18:36:26 +0200trickard_(~trickard@cpe-54-98-47-163.wireline.com.au)
2025-10-14 18:36:07 +0200 <Tri> EvanR, I knew (>>>) was the opposite of function composition (.), coming from F# that's the way I'm comfortable with. It just I used (>>>) in that context to represent the thing i was asking :)
2025-10-14 18:36:06 +0200 <EvanR> an advanced degree is not required to learn haskell it's just a side effect
2025-10-14 18:34:51 +0200Zemy(~Zemy@syn-067-078-059-246.biz.spectrum.com)
2025-10-14 18:34:45 +0200 <ski> it's definitely one of the reasons that made me stick around, when i started chatting here, some twentyfour years ago
2025-10-14 18:34:41 +0200 <EvanR> it does infact string functions together
2025-10-14 18:34:40 +0200 <Tri> I was trying to ask if there was any such function that can string many Override -> Override -> Bool together to return a final Bool
2025-10-14 18:34:31 +0200trickard_(~trickard@cpe-54-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
2025-10-14 18:34:25 +0200 <EvanR> you accidentally went categorical!
2025-10-14 18:34:21 +0200Zemy_(~Zemy@2600:100c:b0a0:3fd9:5cfe:ffff:fe64:fccc)
2025-10-14 18:34:16 +0200Zemy(~Zemy@syn-067-078-059-246.biz.spectrum.com) (Read error: Connection reset by peer)
2025-10-14 18:34:13 +0200 <lambdabot> forall k (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k). Category cat => cat a b -> cat b c -> cat a c
2025-10-14 18:34:12 +0200 <EvanR> :t (>>>)
2025-10-14 18:34:03 +0200 <Tri> EvanR, yes EvanR, I use >>> just as a placeholder for some operation that can string these functions together
2025-10-14 18:34:01 +0200 <ski> (and i've seen many other people expressing similar things, over the years)
2025-10-14 18:34:01 +0200 <geekosaur> iyeh, but they confuse the hell out of beginners
2025-10-14 18:33:34 +0200 <ski> i always enjoyed the mix of abstract and concrete, theoretical and practical, conversations on this channel
2025-10-14 18:33:34 +0200 <Tri> geekosaur, that's my impression too. I have been here multiple time, and every time, it didn't take more than 3-4 sentences before things took off into some concept way over my head, I just didn't know how to address it properly before
2025-10-14 18:33:20 +0200 <EvanR> I guess Tri was making that up
2025-10-14 18:33:08 +0200 <EvanR> I saw >>> and <>
2025-10-14 18:32:47 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-10-14 18:32:26 +0200 <geekosaur> so yeh, I'm now trying to divert the side chatter
2025-10-14 18:32:08 +0200 <geekosaur> that happens in here a lot, and our rep has taken a bit of a hit because of it
2025-10-14 18:32:06 +0200 <ski> yeah, the CT comments weren't intended as being things you were suggested to understand, but were asides to EvanR
2025-10-14 18:30:40 +0200 <Tri> geekosaur, I appreciate that... I was thinking the same thing. It just escalated from very quickly. Ski, not that I meant you are bad, it's just I'm not there yet, I really appreciate your help
2025-10-14 18:30:39 +0200Googulator26(~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed)
2025-10-14 18:30:37 +0200Googulator3(~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu)
2025-10-14 18:27:57 +0200 <ski> sure
2025-10-14 18:27:31 +0200 <ski> (that's called a "power object", btw, in CT. it's an `R'-fold indexed categorical product, with all factors being `A'. a "copower object" (or "multiple/scaled object" ?) is the dual case, for categorical coproducts (sums))