2026/02/20

Newest at the top

2026-02-20 15:09:38 +0100 <tomsmeding> TIL LSP works with websockets?
2026-02-20 15:08:49 +0100 <tomsmeding> (... why does lsp depend on websockets?)
2026-02-20 15:08:17 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2026-02-20 15:08:02 +0100 <tomsmeding> but I find that plan.json is usable enough for the odd time that I need to look at the dependency graph
2026-02-20 15:07:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-20 15:07:13 +0100 <tomsmeding> using https://hackage.haskell.org/package/cabal-plan
2026-02-20 15:07:06 +0100 <Athas> And of course 'lsp' is why I depend on 'websockets'.
2026-02-20 15:07:05 +0100 <tomsmeding> Athas: `cabal-plan tred` is perhaps closest to what you mean
2026-02-20 15:06:58 +0100 <Athas> My suspicion was wrong; apparently the Cabal dependency is due to a Setup.hs from 'entropy'. It's probably been like that for a while and I never noticed.
2026-02-20 15:06:55 +0100housemate(~housemate@pa49-178-146-220.pa.nsw.optusnet.com.au) (Ping timeout: 264 seconds)
2026-02-20 15:06:26 +0100 <tomsmeding> in any case, it's a graph, not a tree
2026-02-20 15:05:53 +0100bionade24(~quassel@server2.oscloud.info) bionade24
2026-02-20 15:05:48 +0100 <tomsmeding> well using search. :)
2026-02-20 15:05:40 +0100 <Athas> Eyeball a 155K JSON file? I see...
2026-02-20 15:05:36 +0100 <tomsmeding> not a neat tree, but the info is there
2026-02-20 15:05:24 +0100 <tomsmeding> Athas: you can eyeball dist-newstyle/cache/plan.json
2026-02-20 15:05:21 +0100 <Athas> Although I have a suspicion as to why.
2026-02-20 15:05:12 +0100 <Athas> I'm quite surprised to see that I depend on Cabal and websockets.
2026-02-20 15:04:59 +0100 <Athas> Is there a way to get cabal to show the dependency tree for my package?
2026-02-20 15:04:27 +0100housemate_(~housemate@202.7.248.67) housemate
2026-02-20 15:03:34 +0100 <lambdabot> (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b)
2026-02-20 15:03:33 +0100 <tomsmeding> :t fmap fmap fmap
2026-02-20 15:03:31 +0100 <tomsmeding> but because fmap = (.) you can write
2026-02-20 15:03:25 +0100 <tomsmeding> fmap under two functors
2026-02-20 15:03:21 +0100 <lambdabot> (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b)
2026-02-20 15:03:20 +0100 <tomsmeding> :t fmap . fmap
2026-02-20 15:03:18 +0100 <tomsmeding> this makes sense:
2026-02-20 15:02:37 +0100 <haskellbridge> <magic_rb> yeah i see it
2026-02-20 15:02:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-20 15:02:10 +0100 <tomsmeding> ok names are different but set `f ~ (u ->)`
2026-02-20 15:01:56 +0100 <lambdabot> (b -> c) -> (a -> b) -> a -> c
2026-02-20 15:01:55 +0100 <tomsmeding> :t (.)
2026-02-20 15:01:52 +0100 <lambdabot> Functor f => (a -> b) -> f a -> f b
2026-02-20 15:01:51 +0100 <tomsmeding> :t fmap
2026-02-20 15:01:49 +0100 <haskellbridge> <magic_rb> thats new
2026-02-20 15:01:46 +0100 <haskellbridge> <magic_rb> really?
2026-02-20 15:01:36 +0100 <tomsmeding> fmap = (.)
2026-02-20 15:01:36 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-02-20 15:01:30 +0100 <haskellbridge> <magic_rb> wait so (.) . (.) is equal to what
2026-02-20 15:01:18 +0100 <tomsmeding> (fmap on (->) is (.))
2026-02-20 15:00:56 +0100 <lambdabot> (b -> c) -> (a1 -> a2 -> a3 -> a4 -> b) -> a1 -> a2 -> a3 -> a4 -> c
2026-02-20 15:00:54 +0100 <tomsmeding> :t (.) . (.) . (.) . (.)
2026-02-20 15:00:40 +0100 <lambdabot> (Functor f1, Functor f2, Functor f3, Functor f4) => (a -> b) -> f1 (f2 (f3 (f4 a))) -> f1 (f2 (f3 (f4 b)))
2026-02-20 15:00:39 +0100 <tomsmeding> :t fmap fmap fmap `fmap` fmap fmap fmap
2026-02-20 15:00:16 +0100 <tomsmeding> magic_rb: your message has a `<magic_rb> ` prefix here
2026-02-20 15:00:00 +0100 <lambdabot> (b -> c) -> (a1 -> a2 -> a3 -> a4 -> b) -> a1 -> a2 -> a3 -> a4 -> c
2026-02-20 14:59:58 +0100 <tomsmeding> :t ((.) . (.)) . ((.) . (.))
2026-02-20 14:59:56 +0100 <haskellbridge> <magic_rb> fuck, do i not have the right
2026-02-20 14:59:48 +0100 <haskellbridge> <magic_rb> :t ((.) . (.)) . ((.) . (.))
2026-02-20 14:59:38 +0100 <tomsmeding> set f1 ~ (u ->) and f2 ~ (v ->) :)