2024/10/24

Newest at the top

2024-10-24 23:21:38 +0200 <mauke> mine currently says: [23:21] [mauke(+Ziw)] [3:LiberaChat/#haskell(+Cnt)]
2024-10-24 23:21:16 +0200 <mauke> probably double-clicked in the status bar before
2024-10-24 23:21:13 +0200 <geekosaur> and yes, for historical reasons middle click is paste in X11 and possibly carried over into Wayland
2024-10-24 23:21:03 +0200Everything(~Everythin@178-133-200-119.mobile.vf-ua.net) Everything
2024-10-24 23:20:52 +0200 <geekosaur> interesting it included your umodes(?)
2024-10-24 23:20:51 +0200hgolden_(~hgolden@146.70.173.229) hgolden
2024-10-24 23:20:30 +0200 <justsomeguy> (Middle click is paste on Linux, apparently.)
2024-10-24 23:19:49 +0200 <justsomeguy> Sorry: Middle clicked by mistake. I have to disable that shortcut.
2024-10-24 23:19:37 +0200 <geekosaur> uh
2024-10-24 23:19:30 +0200 <justsomeguy> [justsomeguy(Ziw)]
2024-10-24 23:19:28 +0200 <justsomeguy> [justsomeguy(Ziw)]
2024-10-24 23:19:26 +0200 <justsomeguy> [justsomeguy(Ziw)]
2024-10-24 23:19:24 +0200 <justsomeguy> [justsomeguy(Ziw)]
2024-10-24 23:18:53 +0200Guest72(~Guest72@176.111.182.254.kyiv.nat.volia.net) (Client Quit)
2024-10-24 23:18:38 +0200 <geekosaur> (they're trying to pick up the pieces of GRIN and along the way asked about using STG for strict languages; I strongly advised against, and things like simulating laziness with `() -> x` came up along with their limitations)
2024-10-24 23:17:27 +0200 <dolio> Even though nothing about coinduction implies that.
2024-10-24 23:17:27 +0200 <geekosaur> (funny, I was talking with someone in #ghc last night about that consequence)
2024-10-24 23:16:54 +0200 <geekosaur> ah
2024-10-24 23:16:42 +0200 <dolio> Eager evaluation except for 'coinductive' things, which I assume means there's no sharing.
2024-10-24 23:16:25 +0200 <dolio> geekosaur: The 'answer' is to not be anything like Haskell.
2024-10-24 23:15:54 +0200Guest72(~Guest72@176.111.182.254.kyiv.nat.volia.net)
2024-10-24 23:15:35 +0200Guest72(~Guest72@176.111.182.254.kyiv.nat.volia.net) (Client Quit)
2024-10-24 23:15:10 +0200Guest72(~Guest72@176.111.182.254.kyiv.nat.volia.net)
2024-10-24 23:14:20 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-24 23:11:54 +0200 <mauke> i.e. a type constructor of one argument
2024-10-24 23:11:37 +0200 <mauke> Functor requires an argument of kind * -> *
2024-10-24 23:11:27 +0200 <mauke> yes, pretty much
2024-10-24 23:11:08 +0200 <justsomeguy> (I'm coming back to my code after a long break and nothing makes sense, lol)
2024-10-24 23:09:26 +0200 <justsomeguy> Am I trying to match up the kind signature with the number of args?
2024-10-24 23:09:24 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-24 23:09:03 +0200 <justsomeguy> When can I leave out type arguments from an instance declaration like `instance Functor List where { ... }` vs `data Three a b c = Three a b c; instance Functor (Three a b) where { ... }`?
2024-10-24 23:07:16 +0200 <mauke> a container type is traversable if you can apply an effectful function to each element and then invert the nesting, giving an effect that produces a container, not a container full of effects
2024-10-24 23:06:59 +0200 <geekosaur> and that was what made it of interest
2024-10-24 23:06:50 +0200 <geekosaur> mm, I thought Perceus had an answer to cycles
2024-10-24 23:06:18 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2024-10-24 23:04:53 +0200 <mauke> it's mapM
2024-10-24 23:04:48 +0200 <lambdabot> (Traversable t, Applicative f) => t (f a) -> f (t a)
2024-10-24 23:04:47 +0200 <justsomeguy> :t sequenceA
2024-10-24 23:04:44 +0200 <lambdabot> (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
2024-10-24 23:04:43 +0200 <mauke> :t mapM
2024-10-24 23:04:21 +0200 <mauke> hah
2024-10-24 23:04:11 +0200 <lambdabot> (Traversable t, Monad m) => t (m a) -> m (t a)
2024-10-24 23:04:10 +0200 <mauke> :t sequence
2024-10-24 23:04:02 +0200 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2024-10-24 23:04:01 +0200 <mauke> :t traverse
2024-10-24 23:03:52 +0200 <Rembane> justsomeguy: It's map but also perform an action on each element
2024-10-24 23:02:10 +0200 <justsomeguy> Can someone help me understand what Traversable is about? Is `traverse` like an applicative fmap?
2024-10-24 23:00:20 +0200justsomeguy(~justsomeg@user/justsomeguy) justsomeguy
2024-10-24 22:58:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-24 22:58:09 +0200 <dmj`> "cycle free" makes perceus a non-starter for ghc no?