Newest at the top
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 +0200 | Inst | giggles |
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 +0200 | merijn | (~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 +0200 | morb | (~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 +0200 | Sgeo | (~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 +0200 | morb | (~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 +0200 | tromp | (~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 |
2024-10-06 20:16:47 +0200 | <tomsmeding> | :t fmap |
2024-10-06 20:16:42 +0200 | <Inst> | Container c => (a -> b) -> c a -> c b |
2024-10-06 20:16:36 +0200 | <tomsmeding> | note that Functor (with fmap) is a superclass of Traversable |