2024/10/06

Newest at the top

2024-10-06 20:27:41 +0200 <tomsmeding> geekosaur: https://hackage.haskell.org/package/indexed-0.1.3/docs/Control-Monad-Indexed.html#t:IxMonad
2024-10-06 20:27:30 +0200 <Inst> i guess the reason i'm moaning about containesr tbh is that it feels like something interesting, intellectual, and within my ability to make a contribution, as you've said, a solution in search of a (social) problem, as opposed to an individual one
2024-10-06 20:27:26 +0200 <tomsmeding> which is also a useful generalisation of the FAM typeclasses, but an orthogonal one
2024-10-06 20:26:50 +0200 <tomsmeding> this kind of indexing seems to be for monads where the bind operation changes the monad type
2024-10-06 20:26:24 +0200 <tomsmeding> 'f j k' being preserved by the imap method
2024-10-06 20:26:12 +0200 <tomsmeding> geekosaur: looking at that IxFunctor, I really don't see how adding more type variables to f makes Set any more likely to be an instance of this class :p
2024-10-06 20:26:01 +0200 <monochrom> There are a lot more I don't remember. Basically jokes on how to write impossible recommendations.
2024-10-06 20:25:32 +0200 <Inst> not the second
2024-10-06 20:25:28 +0200 <Inst> to the first claim
2024-10-06 20:25:18 +0200Instgiggles
2024-10-06 20:25:16 +0200 <monochrom> In another circumstance, if it's a coworker who has had affairs with most people in the office, you can write "they know everyone here well" ("know" in the Bible sense haha)
2024-10-06 20:24:49 +0200 <geekosaur> iirc indexed typeclasses solve a more general problem, which makes them a little cumbersome compared to just letting you have a Functor-like class over Set
2024-10-06 20:24:22 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-10-06 20:24:08 +0200 <monochrom> If an ex-convict asks you for a recommendation letter, and you must not refuse because like they're gangsters, you can write "this is person with a strong conviction"
2024-10-06 20:23:48 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-06 20:23:20 +0200 <monochrom> Oh let me also tell you about a book I read about writing recommendation letters when you don't want to.
2024-10-06 20:22:38 +0200 <tomsmeding> "solution in want of a problem" is multiple times more explicit and clear than those other phrases :p
2024-10-06 20:22:33 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2024-10-06 20:22:31 +0200 <int-e> monochrom: "smells like blockchain"
2024-10-06 20:22:22 +0200 <Inst> monochrom: how often do people parse those phrases incorrectly?
2024-10-06 20:22:09 +0200 <monochrom> or "solution in want of a problem"
2024-10-06 20:21:46 +0200 <monochrom> Likewise for polite negative thesis/paper review. "solves a much needed problem".
2024-10-06 20:21:26 +0200 <tomsmeding> * :p
2024-10-06 20:21:24 +0200 <tomsmeding> or any of the zillion variations on this idea, without a clearly most-general option that is workable p
2024-10-06 20:21:19 +0200 <monochrom> If you want to politely write a negative book review, you can write "this book fills a much needed gap". I think someone actually did that.
2024-10-06 20:21:18 +0200 <Inst> monochrom: survivorship bias?
2024-10-06 20:21:04 +0200 <tomsmeding> I was thinking of class Functor' f where { type FConstr f ; fmap' :: (FConstr a, FConstr b) => (a -> b) -> f a -> f b }
2024-10-06 20:20:42 +0200 <monochrom> Oh let me just tell you jokes about reviews that roast, in closing.
2024-10-06 20:20:27 +0200 <geekosaur> iirc it is
2024-10-06 20:20:26 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
2024-10-06 20:19:50 +0200 <tomsmeding> geekosaur: if you mean this https://hackage.haskell.org/package/indexed-0.1.3/docs/Data-Functor-Indexed.html , that's not quite the same, is it?
2024-10-06 20:19:44 +0200 <monochrom> And that actually tells you a lot about the economics of how many people actually care.
2024-10-06 20:19:22 +0200 <monochrom> probably also unmaintained.
2024-10-06 20:19:12 +0200 <geekosaur> (look for "indexed functors"/"indexed monads"/etc.)
2024-10-06 20:18:53 +0200 <geekosaur> it's on Hackage but unlikely to make base
2024-10-06 20:18:33 +0200 <tomsmeding> but it's generally considered not worth it for the sheer carnage of backwards incompatibility it would incur
2024-10-06 20:18:26 +0200 <monochrom> For that, you can go back to: <geekosaur> have you ever looked at EdisonCore?
2024-10-06 20:18:18 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-06 20:18:15 +0200 <tomsmeding> there have been proposals for a modified Functor class that admits additional constraints on fmap
2024-10-06 20:17:57 +0200 <Inst> Set isn't a functor, can't be made into a functor
2024-10-06 20:17:48 +0200 <tomsmeding> well, then I guess that, yes
2024-10-06 20:17:45 +0200 <tomsmeding> oh I see
2024-10-06 20:17:37 +0200 <Inst> tomsmeding: Set a
2024-10-06 20:17:35 +0200 <tomsmeding> unless what you want out is indeed a list :p
2024-10-06 20:17:28 +0200 <tomsmeding> the toList is pointless in that expression
2024-10-06 20:17:23 +0200 <geekosaur> honestly, all I am seeing here is "it's not done the way I prefer from other languages, this!must!be!fixed!!"
2024-10-06 20:17:14 +0200 <Inst> ehhh, honestly, probably just traverse f . toList solves all the problems I'm whining about
2024-10-06 20:17:14 +0200 <yahb2> type Traversable :: (* -> *) -> Constraint ; class (Functor t, Foldable t) => Traversable t where ; traverse :: Applicative f => (a -> f b) -> t a -> f (t b) ; sequenceA :: Applicative f => t (...
2024-10-06 20:17:14 +0200 <tomsmeding> % :i Traversable
2024-10-06 20:16:48 +0200 <lambdabot> Functor f => (a -> b) -> f a -> f b