Home liberachat/#haskell: Logs Calendar

Logs on 2021-09-06 (liberachat/#haskell)

00:00:45 Erutuon joins (~Erutuon@user/erutuon)
00:00:58 <hololeap> gloss has to run on the main thread and you have to call exitSuccess from within that function you supply to animateIO
00:01:06 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
00:01:30 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
00:19:35 pavonia joins (~user@user/siracusa)
00:20:28 lavaman joins (~lavaman@98.38.249.169)
00:20:28 × Katarushisu quits (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Read error: Connection reset by peer)
00:22:22 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
00:24:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
00:25:31 × jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
00:26:08 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
00:26:25 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
00:31:35 × nicbk quits (~nicbk@user/nicbk) (Remote host closed the connection)
00:31:57 nicbk joins (~nicbk@user/nicbk)
00:35:00 × frtdisdrv^ quits (~frtdisdrv@68.101.54.227) (Remote host closed the connection)
00:39:08 × nicbk quits (~nicbk@user/nicbk) (Remote host closed the connection)
00:39:35 nicbk joins (~nicbk@user/nicbk)
00:42:27 nehsou^ joins (~nehsou@68.101.54.227)
00:45:29 slack1256 joins (~slack1256@newharrisonhotel04.n.subnet.rcn.com)
00:51:50 × nehsou^ quits (~nehsou@68.101.54.227) (Remote host closed the connection)
00:55:29 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
00:55:54 geekosaur joins (~geekosaur@xmonad/geekosaur)
00:58:02 × alx741 quits (~alx741@181.196.69.46) (Ping timeout: 245 seconds)
01:05:53 <iqubic> I just wrote this, and I'm currently wondering if it will actually do a monadic fold of a tree. https://dpaste.com/E7FMGFT3A
01:06:08 <iqubic> It typechecks, but I'm not sure if it will actually do the right thing.
01:08:40 × cross quits (~cross@spitfire.i.gajendra.net) (Quit: leaving)
01:09:15 cross joins (~cross@spitfire.i.gajendra.net)
01:11:19 alx741 joins (~alx741@186.178.109.96)
01:12:00 <dsal> Tests are good for that sort of thing when you're unsure.
01:12:33 <iqubic> I'm not actually sure how to test this. That's the issue.
01:13:21 <iqubic> Is there an easy way to convert the examples here to something that works in a monadic context?
01:13:22 neurocyte4 joins (~neurocyte@45.93.111.173)
01:13:22 × neurocyte4 quits (~neurocyte@45.93.111.173) (Changing host)
01:13:22 neurocyte4 joins (~neurocyte@user/neurocyte)
01:15:34 × neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
01:15:34 neurocyte4 is now known as neurocyte
01:15:48 <dsal> Well, you can just pick a monad and try it. e.g. does it work in the Maybe monad? But that feels a little backwards from how I normally do things. Typically, I need a thing and write the thing I need, and then perhaps generalize it, so the test would be the existing case.
01:17:07 <dsal> @src foldM
01:17:07 <lambdabot> foldM _ a [] = return a
01:17:07 <lambdabot> foldM f a (x:xs) = f a x >>= \fax -> foldM f fax xs
01:17:15 nehsou^ joins (~nehsou@68.101.54.227)
01:17:29 <dsal> That's a case where @src isn't very useful.
01:18:13 <dsal> The actual implementation is `foldM = foldlM`, thus clarifying things.
01:19:18 <dsal> `foldlM f z0 xs = foldr c return xs z0 where c x k z = f z x >>= k`
01:19:37 <dsal> Anyway, you just need to compare yours against that. QC can do that for you once you select your types.
01:20:37 × xsperry quits (~as@user/xsperry) (Remote host closed the connection)
01:22:14 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
01:22:57 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
01:23:14 lavaman joins (~lavaman@98.38.249.169)
01:24:50 MQ-17J joins (~MQ-17J@8.21.10.6)
01:27:38 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
01:27:53 <iqubic> dsal: There is a concrete usecase here. https://adventofcode.com/2017/day/7
01:28:00 <iqubic> Basically the data is presented as a tree.
01:28:13 × xff0x quits (~xff0x@2001:1a81:53d2:1d00:6afe:f077:c625:e6c4) (Ping timeout: 252 seconds)
01:28:28 <iqubic> Each disk has a weight and certain other disk resting on top of them.
01:28:45 <dsal> But you don't need to write foldM yourself, do you?
01:28:54 <iqubic> Why not?
01:29:11 <iqubic> is foldM a thing that exists?
01:29:17 <dsal> :t foldM
01:29:18 <lambdabot> (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
01:29:43 <dsal> It looks just like yours.
01:29:49 <dsal> (except the implementation)
01:29:55 xff0x joins (~xff0x@2001:1a81:5209:3600:cabf:37b:4141:3c8)
01:30:03 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
01:30:03 <iqubic> Wait... if fold and foldM exist in foldable, then why does Data.Tree export foldTree?
01:30:29 <geekosaur> historical?
01:30:39 <byorgey> no, those are different. foldM is not really a fold (in the sense of a catamorphism). It basically flattens the tree into a list and then folds that.
01:30:46 <geekosaur> Foldable is relatively recent,m especiallyt compared to Data.Tree
01:31:16 <byorgey> but the version of foldM that iqubic wrote is not doing that, it is actually using the structure of the tree.
01:31:33 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
01:31:55 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
01:32:16 <iqubic> Yeah, I'm working on adventofcode 2017 day 7. And I need to process the data from the leaves and work upward.
01:32:41 thelounge9230681 joins (~thelounge@cpe-75-85-161-60.san.res.rr.com)
01:33:12 <iqubic> byorgey: How does Data.Foldable's foldM differ from my foldTreeM?
01:33:30 <dsal> If direction matters, it might be good to encode that in the name somewhere. Otherwise just foldM.
01:34:23 <byorgey> iqubic: your foldTreeM can actually see and make use of the structure of the tree. For example, you could use your foldTreeM to compute the height of the tree (though you wouldn't need the M for that, of course).
01:34:35 <iqubic> dsal: I'm not sure what you mean by "if direction matters".
01:34:45 <byorgey> iqubic: but the foldM in Data.Foldable cannot do that, because it is equivalent to flattening the tree into a list and then folding over the list.
01:35:08 <dsal> The implementations are different, but if the answers are also different, then that's a bit misleading. foldM is a left fold and yours kind of looks a little different in signature.
01:35:23 <iqubic> How can one use foldTree to compute the height of the tree?
01:35:27 <dsal> iqubic: You said you "need to process the data from the leaves and work upward" -- that's not something I'd expect from a general catamorphism.
01:35:30 <byorgey> dsal: iqubic's foldTreeM does not have a direction.
01:35:49 <dsal> byorgey: Yeah, but it sounds like it's expected to?
01:35:51 <byorgey> that is exactly what a general catamorphism can do.
01:36:15 <iqubic> dsal: No, actually, the signature I have is exactly what I need.
01:36:17 <byorgey> dsal: I didn't get that impression. Why do you think that?
01:37:01 <byorgey> iqubic: e.g. foldTreeM (\_ xs -> return (1 + maximum xs))
01:37:13 <iqubic> Ah. I see. That's cool.
01:37:14 <byorgey> except with a case to handle the empty list xs and return 0 in that case or something like that
01:37:43 <dsal> We might be getting a little confused here. Why did I expect which part? I'd expect `foldM` to do the right thing. iqubic says "I need to process the data from the leaves and work upward" which sounds less general.
01:37:56 × MQ-17J quits (~MQ-17J@8.21.10.6) (Read error: Connection reset by peer)
01:38:07 <byorgey> dsal: you have it backwards. iqubic's foldTreeM is much more general than foldM.
01:38:09 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving)
01:38:23 <byorgey> foldM cannot work from the leaves upward. It can only work left to right, i.e. using an inorder traversal of the tree.
01:38:25 MQ-17J joins (~MQ-17J@8.21.10.6)
01:38:33 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:39:12 <iqubic> I assume I can use my foldTreeM, let M ~ Writer, and then just use tell to output information in the middle of the fold. Is that right?
01:39:53 <dsal> It's less general in that it only works with Tree. It's more general in that it leaks more stuff.
01:40:21 <byorgey> when I say foldTreeM is more general than foldM, I mean that you can implement foldM using foldTreeM, but you cannot do the reverse.
01:40:32 <iqubic> dsal: In this case, only working with Tree is fine.
01:40:47 <dsal> byorgey: Ah, right. That makes sense.
01:40:54 <byorgey> true, I was only thinking about trees. you're right that foldM is more general in the sense of working over any Foldable.
01:41:49 <byorgey> There's also some potential confusion here over the fact that the *effects* in m happen from left-right in both foldM and foldTreeM.
01:41:49 × MQ-17J quits (~MQ-17J@8.21.10.6) (Read error: Connection reset by peer)
01:41:59 MQ-17J joins (~MQ-17J@8.21.10.6)
01:42:10 <iqubic> byorgey: That's fine here!
01:42:31 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
01:43:20 <byorgey> wait, actually, that's not true! The effects in foldTreeM happen in the order of a postorder traversal.
01:43:46 <byorgey> It really does makes sense to think of foldTreeM as working from the leaves up, i.e. it can only compute the result for a node once it has computed the results for all its children.
01:43:52 <dsal> It seems a bit weird to me that the result isn't a Monoid. What does an empty tree do here?
01:44:22 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
01:44:28 <iqubic> I'm not too sure actually what happens with an empty tree.
01:44:33 <byorgey> Data.Tree trees are non-empty.
01:44:44 <byorgey> data Tree a = Node a [Tree a]
01:45:19 <dsal> I don't think I've actually used that structure.
01:45:56 <dsal> Hmm... It looks like I did use it for something once.
01:46:18 <byorgey> They're perfect when you need to model something hierarchical.
01:46:22 × thelounge9230681 quits (~thelounge@cpe-75-85-161-60.san.res.rr.com) (Ping timeout: 252 seconds)
01:46:45 thelounge9230681 joins (~thelounge@cpe-75-85-161-60.san.res.rr.com)
01:46:48 <byorgey> Such as the input for Advent of Code 2017 #7 =)
01:47:03 <iqubic> Yeah, that's specifically why I'm using Tree.
01:48:05 <dsal> I haven't done 2017 (though apparently I started and lost whatever work I did). I should do that with idle cycles.
01:48:18 <byorgey> iqubic: you asked about using Writer in your treeFoldM, and yes, you can do that
01:48:38 <byorgey> looks like I did it only through #15.
01:49:29 <iqubic> Actually, containers uses a record for the Tree data structure, so you can use the "rootLabel :: Tree a -> a" and "subForest :: Tree a -> [Tree a]" functions for extracting the data. But that's isomorophic to the definition byorgey gave.
01:49:38 × alx741 quits (~alx741@186.178.109.96) (Quit: alx741)
01:50:44 <byorgey> Indeed.
01:51:17 <byorgey> super annoying when you just want to call 'show' on a Tree quickly =P
01:52:35 <iqubic> byorgey: Since the advent of code problem states there's only ever going to be one node with the wrong value, I'm fine with whichever order the monadic effects of the "Writer [Int]" happen. I'm going to be using "tell" to log what the new node values should be.
01:53:28 <iqubic> Also, for showing a tree, just use "\t -> drawTree (show <$> t)"
01:55:09 <iqubic> Anyways, now that I have a foldTreeM, it's time to think about what algorithm I should use to solve part 2 of Day 7.
01:55:32 × MQ-17J quits (~MQ-17J@8.21.10.6) (Read error: Connection reset by peer)
01:56:42 MQ-17J joins (~MQ-17J@8.21.10.6)
02:00:00 <iqubic> Why is there no standard algorithm for this.
02:00:03 <iqubic> ???
02:02:54 <yushyin> maybe there is one and you just don't know about it yet? o.o
02:03:13 <iqubic> I've looked around on the internet for one, and I can't really seem to find one.
02:03:21 × awpr quits (uid446117@id-446117.lymington.irccloud.com) (Quit: Connection closed for inactivity)
02:03:39 machinedgod joins (~machinedg@24.105.81.50)
02:04:07 <yushyin> the aoc 2017 day7 reddit megathread will surely have some :P
02:08:55 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
02:09:05 <stevenxl> So if I have a monadic value: `one :: (MonadReader Int m, MonadWriter [String] m, MonadError () m`, and I want to define it in terms of another monadic action that uses a subset of those capabilities, such as `two :: MonadError () m => Int -> Int -> m Int`, that's no problem.
02:09:41 <stevenxl> But if I try to define `one` in terms of `three :: Int -> Int -> Maybe Int`, it is harder.
02:10:58 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:10:59 × x_kuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
02:11:19 <stevenxl> I can't express why `one` in terms of `three` is harder than `one` in terms of `two`.
02:12:10 <stevenxl> Conceptually, I think it is because if my program (`one`) depends an another program (`three`), I have to be able to run that other program.
02:17:32 dajoer joins (~david@user/gvx)
02:17:35 <hololeap> stevenxl: not sure what you're asking/saying here. three doesn't fit into the `MonadWriter [String] m` constraint
02:19:10 × td_ quits (~td@muedsl-82-207-238-013.citykom.de) (Ping timeout: 240 seconds)
02:19:17 <hololeap> when you have the monad floating around as a type variable, m, the compiler doesn't complain, since you haven't made it something concrete
02:19:35 × MQ-17J quits (~MQ-17J@8.21.10.6) (Read error: Connection reset by peer)
02:19:55 <hololeap> Maybe, on the other hand, is concrete and has a specific set of typeclass instances
02:20:08 × brettgilio quits (~brettgili@137.184.3.255) (Quit: The Lounge - https://thelounge.chat)
02:21:04 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
02:21:07 td_ joins (~td@muedsl-82-207-238-207.citykom.de)
02:21:15 brettgilio joins (~brettgili@137.184.3.255)
02:22:39 <Cale> stevenxl: Well it shouldn't be too hard, but it won't be immediate because m might not be exactly Maybe (and given the constraints, can't be)
02:23:12 <Cale> You can however, use a case expression to pattern match on the Maybe result and decide which m-action you want to run in each case though.
02:24:55 MQ-17J joins (~MQ-17J@8.21.10.6)
02:25:20 <hololeap> iqubic: you might be interested in the Comonad instance of Tree (not sure if it's defined in any library), since it conceptually allows each node to get a "summary" of everything above it
02:25:37 <iqubic> How the hell would that work?
02:27:20 <hololeap> oh, actually the comonad package has the instance built-in
02:28:35 <iqubic> How does it work?
02:29:11 <iqubic> Also, I'm not see that Comonad instance for a Tree
02:29:23 <hololeap> % import Control.Comonad
02:29:24 <yahb> hololeap:
02:29:34 <hololeap> % :t extend @Tree
02:29:34 <yahb> hololeap: ; <interactive>:1:9: error: Not in scope: type constructor or class `Tree'
02:29:41 <hololeap> % import Data.Tree
02:29:41 <yahb> hololeap:
02:29:43 <hololeap> % :t extend @Tree
02:29:43 <yahb> hololeap: (Tree a -> b) -> Tree a -> Tree b
02:29:59 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c1b9:a2b:77a8:fec7) (Remote host closed the connection)
02:30:16 <iqubic> Yes, but what does that function do?
02:31:28 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
02:31:32 <hololeap> hang on, I'm a bit rusty on this :p I saw a talk that explained it a while back, but I don't remember it well enough to explain it
02:32:23 <iqubic> If you can link to the talk, that would be good enough for me.
02:32:23 × MQ-17J quits (~MQ-17J@8.21.10.6) (Read error: Connection reset by peer)
02:32:35 MQ-17J joins (~MQ-17J@8.21.10.6)
02:33:52 <hololeap> O
02:33:58 <hololeap> I'm not finding it currently
02:34:02 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c1b9:a2b:77a8:fec7)
02:35:17 × MQ-17J quits (~MQ-17J@8.21.10.6) (Read error: Connection reset by peer)
02:35:35 MQ-17J joins (~MQ-17J@8.21.10.6)
02:37:12 × xff0x quits (~xff0x@2001:1a81:5209:3600:cabf:37b:4141:3c8) (Ping timeout: 245 seconds)
02:37:58 <hololeap> here's a real simple example
02:38:07 xff0x joins (~xff0x@2001:1a81:5209:3600:c79f:260f:2c03:1c0b)
02:38:09 <hololeap> % foo = Node 4 [Node 5 [], Node 6 [Node 7 []]] :: Tree Int
02:38:09 <yahb> hololeap:
02:38:28 orcalikastecona joins (~orca@047-134-143-165.res.spectrum.com)
02:38:30 <hololeap> % thing = foldr (+) 0 :: Tree Int -> Int
02:38:30 <yahb> hololeap:
02:38:42 <hololeap> % extend thing foo
02:38:42 <yahb> hololeap: Node {rootLabel = 22, subForest = [Node {rootLabel = 5, subForest = []},Node {rootLabel = 13, subForest = [Node {rootLabel = 7, subForest = []}]}]}
02:39:04 <iqubic> Huh? What is that doing?
02:39:18 <hololeap> so here the tree is converted so that each node holds the total of itself and all of its decendents
02:39:23 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:39:30 <iqubic> How is that working?
02:40:47 <iqubic> That's really really cool.
02:42:12 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 245 seconds)
02:44:45 <hololeap> % foo' = Node 4 [Node 5 [], Node 6 []]
02:44:46 <yahb> hololeap:
02:44:55 <hololeap> % duplicate foo'
02:44:56 <yahb> hololeap: Node {rootLabel = Node {rootLabel = 4, subForest = [Node {rootLabel = 5, subForest = []},Node {rootLabel = 6, subForest = []}]}, subForest = [Node {rootLabel = Node {rootLabel = 5, subForest = []}, subForest = []},Node {rootLabel = Node {rootLabel = 6, subForest = []}, subForest = []}]}
02:45:06 <iqubic> What does duplicate do there?
02:45:13 <hololeap> % :t duplicate
02:45:13 <yahb> hololeap: Comonad w => w a -> w (w a)
02:45:37 <hololeap> it basically double wraps the structure in the "most obvious way"
02:45:47 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
02:45:52 <hololeap> % :t duplicate foo'
02:45:52 <yahb> hololeap: Num a => Tree (Tree a)
02:45:57 <iqubic> Yeah, but what is the "most obvious way" for a Tree?
02:46:12 <hololeap> so here each node of the tree contains the entire original tree itself
02:46:38 <hololeap> well, the entire original tree from the perspective of each node
02:46:42 <iqubic> Wait... Each node of the tree has the entire original tree?
02:47:16 <hololeap> the bottom level node does, the other two have the trees that are visible to them
02:48:01 <iqubic> I'm not sure I understand.
02:48:48 <hololeap> % import Data.List.NonEmpty (NonEmpty(..))
02:48:48 <yahb> hololeap:
02:49:04 × MQ-17J quits (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds)
02:49:27 <hololeap> % (ne = 4 :| [5 6]) :: NonEmpty Int
02:49:27 <yahb> hololeap: ; <interactive>:31:5: error: parse error on input `='
02:50:35 <hololeap> % ne = 4 :| [5,6,7] :: NonEmpty Int
02:50:35 <yahb> hololeap:
02:50:43 <hololeap> % duplicate ne
02:50:43 <yahb> hololeap: (4 :| [5,6,7]) :| [5 :| [6,7],6 :| [7],7 :| []]
02:50:49 <iqubic> I see how that works.
02:51:52 <hololeap> so if you have a function: `NonEmpty Int -> a` and fmap over the duplicated structure, you end up with `NonEmpty a` where each calculation is specific to the context of each "cell"
02:52:01 <iqubic> I get how that works.
02:52:10 × xff0x quits (~xff0x@2001:1a81:5209:3600:c79f:260f:2c03:1c0b) (Ping timeout: 240 seconds)
02:52:17 <iqubic> Seeing that helps me understand how the Tree comonad works.
02:52:20 <hololeap> % fmap thing (duplicate foo)
02:52:20 <yahb> hololeap: Node {rootLabel = 22, subForest = [Node {rootLabel = 5, subForest = []},Node {rootLabel = 13, subForest = [Node {rootLabel = 7, subForest = []}]}]}
02:53:18 xff0x joins (~xff0x@2001:1a81:5209:3600:2bda:f166:a64d:307f)
02:53:19 <iqubic> Yeah that makes sense.
02:53:30 <iqubic> % fmap sum (duplicate foo)
02:53:31 <yahb> iqubic: Node {rootLabel = 22, subForest = [Node {rootLabel = 5, subForest = []},Node {rootLabel = 13, subForest = [Node {rootLabel = 7, subForest = []}]}]}
02:53:31 <hololeap> anyway, it might help :)
02:53:42 <iqubic> thing is just sum.
02:53:46 <iqubic> :t sum
02:53:46 <lambdabot> (Foldable t, Num a) => t a -> a
02:53:53 <hololeap> yeah it's just sum
02:54:53 wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
02:54:57 <hololeap> although in my experience the Comonad interface can be really slow, but feel free to experiment with that
02:55:34 × wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
02:57:00 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
02:57:13 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
02:58:48 <iqubic> hololeap: I think I'm just gonna stick with using my foldTreeM.
03:03:48 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:04:28 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
03:04:37 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
03:08:49 oxide joins (~lambda@user/oxide)
03:21:40 lavaman joins (~lavaman@98.38.249.169)
03:21:59 aarvar joins (~aaron@2601:602:a080:fa0:7670:bc4e:f96f:f88a)
03:26:10 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
03:29:10 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
03:29:17 × favonia quits (~favonia@user/favonia) (Quit: Leaving)
03:29:27 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
03:33:37 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
03:33:54 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
03:48:39 otto_s joins (~user@p5b0445ba.dip0.t-ipconnect.de)
03:50:15 benin0369323 joins (~benin@183.82.207.253)
03:51:40 × otto_s_ quits (~user@p5b04481b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
03:52:20 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
03:52:38 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
03:56:25 <lechner> Hi, what do people dislike about Template Haskell when they talk poorly about it, please?
03:57:44 <janus> lechner: https://stackoverflow.com/a/10857227/309483
03:59:04 <c_wraith> that's pretty old
03:59:12 <c_wraith> There is type-safe TH now
03:59:28 <c_wraith> and visibility of module-private stuff has been restricted better
03:59:45 <c_wraith> But arbitrary IO is still an issue
04:00:15 <c_wraith> But my real problem with TH isn't even mentioned there. It makes compiling *slooooow*
04:01:02 <lechner> Thanks!
04:02:43 <lechner> I love FP, and would like to move a Node-based web site toward Haskell. Should I look at Yesod, which uses TH extensively?
04:02:47 × xlei quits (znc@pool-68-129-84-118.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
04:03:27 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
04:03:56 Skyfire joins (~pyon@user/pyon)
04:03:59 <c_wraith> I wouldn't worry about that, in particular, for making that decision. I'd worry more about how much you like using it. It's very opinionated. It may be just what you want, it may not. That's up to you.
04:05:03 <lechner> What's at the other end of the spectrum?
04:05:53 <c_wraith> Things like spock/scotty (they're variants of the same idea). They do about as little as possible.
04:11:55 <hololeap> is this still the only way to avoid the boilerplate of writing a Show1 instance? https://hackage.haskell.org/package/deriving-compat-0.6/docs/Text-Show-Deriving.html#v:deriveShow1
04:12:37 xlei joins (znc@pool-68-129-84-118.nycmny.fios.verizon.net)
04:12:40 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
04:12:55 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
04:14:10 retroid_ joins (~retro@176.255.22.194)
04:14:57 × APic quits (apic@apic.name) (Read error: Connection reset by peer)
04:15:16 APic joins (apic@apic.name)
04:18:37 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
04:19:47 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:19:47 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
04:19:47 wroathe joins (~wroathe@user/wroathe)
04:22:23 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving)
04:24:46 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
04:27:57 Gurkenglas joins (~Gurkengla@dslb-090-186-104-237.090.186.pools.vodafone-ip.de)
04:30:10 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
04:33:05 × nehsou^ quits (~nehsou@68.101.54.227) (Ping timeout: 252 seconds)
04:35:32 nehsou^ joins (~nehsou@68.101.54.227)
04:36:21 <dhruvasagar> AaAaAaAa
04:37:21 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
04:38:27 Zianic joins (~12602@user/zianic)
04:43:55 hyiltiz joins (~quassel@31.220.5.250)
04:47:58 pi1 joins (~pi@177.223.162.41)
04:50:04 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:50:04 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
04:50:04 wroathe joins (~wroathe@user/wroathe)
04:50:06 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan)
04:54:57 × APic quits (apic@apic.name) (Read error: Connection reset by peer)
04:56:53 × slack1256 quits (~slack1256@newharrisonhotel04.n.subnet.rcn.com) (Remote host closed the connection)
04:57:22 <lechner> Hi, i think like scotty. Is lucid a good way to generate Html?
05:00:09 APic joins (apic@apic.name)
05:00:28 × nicbk quits (~nicbk@user/nicbk) (Quit: nicbk)
05:00:40 × orcalikastecona quits (~orca@047-134-143-165.res.spectrum.com) (Ping timeout: 240 seconds)
05:05:18 fef joins (~thedawn@user/thedawn)
05:05:49 <arahael> Out of curiosity, what's most similar to Rx but in Haskell? (I'm talking ReactiveExtensions). Would that be Conduit?
05:06:53 × cjb quits (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
05:07:47 <Cale> arahael: I'd use reflex
05:08:41 <arahael> Cale: I still seriously have to get familiar with that. :(
05:08:45 × Skyfire quits (~pyon@user/pyon) (Quit: brb)
05:10:32 <Cale> What kind of application are you thinking of?
05:11:17 <arahael> Oh, I'm just academically wondering, but one significant point here is that I was looking at "Just a library", whereas reflex always seems to provide the whole framework, toolchain, and build system.
05:11:48 <arahael> Howeer, reflex does seem pretty good from waht I've seen, just haven't yet spent the time to look at it. I really should.
05:12:37 <Cale> Well, reflex itself is just a library
05:13:37 <Cale> But if you want to use reflex-dom, you're probably building a web application frontend, in which case, you'll need ghcjs, and that's kind of annoying to set up, or else perhaps you're building a mobile application, and the toolchains for those are even more annoying.
05:14:38 <Cale> So we have a bunch of nix handy in the form of reflex-platform to help solve those toolchain issues, and a framework called Obelisk which lets you set up projects with a frontend and backend and shared code and stuff.
05:15:25 <arahael> Well, I'm strictly wondering academically, because what I'm actually working on is an iOS app that uses Swift. Integrating haskell, even ghcjs, is out of the question. :(
05:15:28 nicbk joins (~nicbk@user/nicbk)
05:16:02 <arahael> But I'm looking at maybe utilising kotlin-native, which other peole in the team like, and I'm just wondering: "What would this be like in haskell". :)
05:16:09 <arahael> brb - later...
05:16:22 <Cale> At some point we might build reflex-y Haskell bindings to native mobile GUI libraries
05:16:46 <Cale> We haven't yet had a customer that cared enough to pay us the extra to do that.
05:17:28 <Cale> But it'd be doable even in a fairly piecemeal way
05:23:01 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
05:23:20 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
05:23:25 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:29:36 × xff0x quits (~xff0x@2001:1a81:5209:3600:2bda:f166:a64d:307f) (Ping timeout: 256 seconds)
05:30:29 xff0x joins (~xff0x@2001:1a81:5209:3600:b54c:cd6:7fe8:e9eb)
05:37:05 <arahael> That would be very very cool. Do you have reflex-y haskell bindings for desktop or androi GUI libraries, though? Even avoiding using a browser web control to host it would be an improvement - even if it's juts politics.
05:39:13 <iqubic> Where in the MTL library is the definition of MonadPlus for the WriterMonad? It should be something of the form "(Monoid w, MonadPlus m) => MonadPlus (WriterT w m) where..." but I can't seem to find the source code for that.
05:42:10 <lechner> https://hackage.haskell.org/package/mtl-2.2.1/docs/Control-Monad-Writer-Lazy.html
05:42:40 <lechner> or ::Strict
05:45:11 <iqubic> Yeah, but that's not in the source code.
05:45:46 <iqubic> I can't find the source code that tells me what mzero and mplus do for Writer.
05:48:06 <iqubic> Actually, really, what I want to know is what the Alternative functions of "empty" and "<|>" do for a Writer.
05:48:34 × sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 240 seconds)
05:49:35 <lechner> this one? https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Applicative.html#v:empty
05:50:18 <iqubic> Yes. I want to know what that does for the Writer monad.
05:50:36 <iqubic> Or rather, what that does for a WriterT.
05:52:52 <janus> iqubic: this one? https://hackage.haskell.org/package/transformers-0.6.0.2/docs/src/Control.Monad.Trans.Writer.Lazy.html#local-6989586621679078134
05:53:36 <iqubic> Yes, actually. That's what I was looking for. Thanks so much.
05:55:44 <janus> yes, it is tricky to find because the docs pages you will find are for mtl, but the implementation is actually in transformers. so what i do is just look at the source for the mtl page, look where it imports from, and adjust the package name in the url to say 'transformers'. you can delete the version number and it will redirect to the latest version
05:56:37 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
05:58:17 <iqubic> Yeah. That makes little sense, but I can work with that.
05:59:57 × APic quits (apic@apic.name) (Read error: Connection reset by peer)
06:00:07 APic joins (apic@apic.name)
06:04:56 × xlei quits (znc@pool-68-129-84-118.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
06:04:57 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
06:06:05 michalz joins (~michalz@185.246.204.97)
06:09:11 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
06:09:29 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
06:09:50 <iqubic> Does anyone know what the Accum monad is, and how it differs from the Writer monad?
06:09:57 × APic quits (apic@apic.name) (Read error: Connection reset by peer)
06:10:08 APic joins (apic@apic.name)
06:14:56 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
06:16:53 max22- joins (~maxime@2a01cb088335980007947e7c941ddf55.ipv6.abo.wanadoo.fr)
06:17:56 jakalx parts (~jakalx@base.jakalx.net) ()
06:21:33 × nicbk quits (~nicbk@user/nicbk) (Ping timeout: 276 seconds)
06:23:16 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Ping timeout (120 seconds))
06:23:30 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
06:23:40 × son0p quits (~ff@181.136.122.143) (Ping timeout: 240 seconds)
06:27:45 Akronymus joins (~Akronymus@85.118.189.59)
06:29:42 × xff0x quits (~xff0x@2001:1a81:5209:3600:b54c:cd6:7fe8:e9eb) (Ping timeout: 245 seconds)
06:30:41 xff0x joins (~xff0x@2001:1a81:5209:3600:6986:c057:5fff:c53b)
06:30:47 <dibblego> with the extra ability to read all previous output
06:31:05 <iqubic> Huh? How so?
06:31:30 <iqubic> Oh. I see.
06:31:45 <iqubic> So, how does Accum differ from State?
06:31:55 <dibblego> a restricted append-only version of a state monad transformer
06:32:11 <iqubic> Yeah, but how do Accum and State differ?
06:32:17 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:32:17 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
06:32:17 wroathe joins (~wroathe@user/wroathe)
06:32:52 <dibblego> a restricted append-only version of a
06:33:31 <iqubic> I'm not sure I understand.
06:34:00 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
06:34:27 stiell joins (~stiell@gateway/tor-sasl/stiell)
06:36:50 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
06:38:16 xsperry joins (~as@user/xsperry)
06:42:04 kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz)
06:42:32 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:42:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
06:42:32 wroathe joins (~wroathe@user/wroathe)
06:43:18 <Cale> iqubic: You can't set the state to any value you want, only add to it, apparently
06:43:24 jakalx joins (~jakalx@base.jakalx.net)
06:47:48 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
06:48:24 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
06:48:37 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
06:50:12 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
06:52:56 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
06:53:24 Skyfire joins (~pyon@user/pyon)
06:55:33 gehmehgeh joins (~user@user/gehmehgeh)
06:57:51 <janus> the recording of spj's 'the state of ghc' is out: https://www.youtube.com/watch?v=OZgoid0pex8&list=PLyrlk8Xaylp6_QTmXGuRe3lShaRGaMtgc&index=9&t=80s
06:59:43 <tomsmeding> iqubic: where did you find that Accum?
07:00:23 <tomsmeding> usually, I believe, accumulation-only data structures are useful if you want to parallelise something, if you can take advantage of the combine operation being commutative
07:03:00 lortabac joins (~lortabac@2a01:e0a:541:b8f0:7d83:b820:1845:d06c)
07:03:44 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
07:04:00 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
07:04:41 cfricke joins (~cfricke@user/cfricke)
07:05:57 × fef quits (~thedawn@user/thedawn) (Quit: Leaving)
07:07:38 × cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 256 seconds)
07:09:03 slavaqq joins (~slavaqq@sdmail.sdserver.cz)
07:18:14 cods joins (~fred@82-65-232-44.subs.proxad.net)
07:19:11 <Hecate> thanks janus
07:19:56 jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
07:23:33 lavaman joins (~lavaman@98.38.249.169)
07:24:05 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
07:24:19 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
07:27:37 × cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 245 seconds)
07:27:46 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
07:38:15 LeyLa21F joins (~rizon@95.70.207.149)
07:40:13 × c_wraith quits (~c_wraith@adjoint.us) (Quit: Bye)
07:41:06 c_wraith joins (~c_wraith@adjoint.us)
07:41:11 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
07:42:04 cherryblossom joins (~cherryblo@119-17-130-223.771182.mel.nbn.aussiebb.net)
07:44:38 × cherryblossom quits (~cherryblo@119-17-130-223.771182.mel.nbn.aussiebb.net) (Changing host)
07:44:38 cherryblossom joins (~cherryblo@user/cherryblossom)
07:45:08 cherryblossom parts (~cherryblo@user/cherryblossom) ()
07:46:17 acidjnk_new joins (~acidjnk@p200300d0c720307835a2456c1104dd43.dip0.t-ipconnect.de)
07:48:01 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
07:48:10 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
07:48:22 kuribas joins (~user@ptr-25vy0i6xfv8pdfgun1l.18120a2.ip6.access.telenet.be)
07:48:34 hyiltiz joins (~quassel@31.220.5.250)
07:52:49 × LeyLa21F quits (~rizon@95.70.207.149) ()
07:57:12 × xsarnik quits (xsarnik@lounge.fi.muni.cz) (Quit: The Lounge - https://thelounge.chat)
07:59:01 xsarnik joins (xsarnik@lounge.fi.muni.cz)
07:59:25 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
07:59:38 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
08:05:52 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
08:06:37 hendursa1 joins (~weechat@user/hendursaga)
08:08:14 pmk joins (~user@2a02:587:941a:35d9:8f9c:6cb6:67dc:f5e3)
08:08:46 cods joins (~fred@82-65-232-44.subs.proxad.net)
08:08:57 __monty__ joins (~toonn@user/toonn)
08:09:27 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
08:16:45 burnsidesLlama joins (~burnsides@client-8-65.eduroam.oxuni.org.uk)
08:17:29 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
08:17:54 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:20:27 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
08:22:04 × burnsidesLlama quits (~burnsides@client-8-65.eduroam.oxuni.org.uk) (Remote host closed the connection)
08:22:42 burnsidesLlama joins (~burnsides@client-8-65.eduroam.oxuni.org.uk)
08:22:53 mc47 joins (~mc47@xmonad/TheMC47)
08:26:50 × burnsidesLlama quits (~burnsides@client-8-65.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
08:28:10 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
08:29:45 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
08:29:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:30:01 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
08:31:29 acidjnk_new3 joins (~acidjnk@p200300d0c720307819886bba50a4bc38.dip0.t-ipconnect.de)
08:34:34 × acidjnk_new quits (~acidjnk@p200300d0c720307835a2456c1104dd43.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
08:35:08 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
08:35:22 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
08:39:13 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:39:42 × nehsou^ quits (~nehsou@68.101.54.227) (Remote host closed the connection)
08:43:47 zer0bitz_ joins (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi)
08:44:40 × sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 240 seconds)
08:45:37 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:46:33 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
08:46:50 × zer0bitz quits (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 250 seconds)
08:47:13 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:58:07 sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca)
08:58:43 × max22- quits (~maxime@2a01cb088335980007947e7c941ddf55.ipv6.abo.wanadoo.fr) (Quit: Leaving)
08:59:55 chomwitt joins (~chomwitt@2a02:587:dc16:c800:12c3:7bff:fe6d:d374)
09:01:41 dsrt^ joins (~dsrt@68.101.54.227)
09:09:07 × oxide quits (~lambda@user/oxide) (Read error: Connection reset by peer)
09:11:10 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
09:11:31 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
09:12:48 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
09:24:22 vysn joins (~vysn@user/vysn)
09:25:59 × slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Quit: Client closed)
09:26:52 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
09:28:08 × pi1 quits (~pi@177.223.162.41) (Quit: WeeChat 2.8)
09:30:34 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
09:30:51 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
09:35:55 oxide joins (~lambda@user/oxide)
09:38:56 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
09:39:13 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
09:41:48 × jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Remote host closed the connection)
09:45:21 acidjnk_new joins (~acidjnk@p5487d0ba.dip0.t-ipconnect.de)
09:46:09 × talismanick quits (~user@2601:644:8500:8350::3ed5) (Remote host closed the connection)
09:48:22 × acidjnk_new3 quits (~acidjnk@p200300d0c720307819886bba50a4bc38.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
09:48:39 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
09:49:37 × ArctVaulMarsHMPJ quits (~pjetcetal@128-71-152-79.broadband.corbina.ru) (Read error: Connection reset by peer)
09:49:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
09:49:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:53:22 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
09:54:05 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c1b9:a2b:77a8:fec7) (Remote host closed the connection)
09:55:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
09:55:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:59:16 hyiltiz joins (~quassel@31.220.5.250)
10:00:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
10:01:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:06:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:07:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:07:29 × oxide quits (~lambda@user/oxide) (Quit: oxide)
10:10:03 fendor joins (~fendor@77.119.200.43.wireless.dyn.drei.com)
10:10:17 lua joins (~ed@101.53.218.157)
10:12:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:13:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:17:14 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection)
10:17:28 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
10:19:12 × kawpuh quits (~kawpuh@097-082-066-236.res.spectrum.com) (Quit: Client closed)
10:23:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:24:31 wonko joins (~wjc@62.115.229.50)
10:24:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:25:40 slavaqq joins (~slavaqq@sdmail.sdserver.cz)
10:29:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
10:31:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:32:41 × yourname_ quits (~barrucadu@carcosa.barrucadu.co.uk) (Quit: leaving)
10:33:12 barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk)
10:35:24 xlei joins (znc@pool-68-129-84-118.nycmny.fios.verizon.net)
10:36:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
10:37:08 Torla joins (~Torla@host-95-249-212-207.retail.telecomitalia.it)
10:37:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:42:18 Torla parts (~Torla@host-95-249-212-207.retail.telecomitalia.it) ()
10:42:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
10:43:20 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:45:01 × APic quits (apic@apic.name) (Read error: Connection reset by peer)
10:45:13 APic joins (apic@apic.name)
10:48:52 seeg joins (~thelounge@static.89.161.217.95.clients.your-server.de)
10:49:55 ArctVaulMarsHMPJ joins (~pjetcetal@128-71-152-79.broadband.corbina.ru)
10:50:46 × _bin quits (~bin@user/bin/x-1583188) (Ping timeout: 250 seconds)
10:52:20 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:52:36 × Akronymus quits (~Akronymus@85.118.189.59) (Quit: Client closed)
10:53:44 × ArctVaulMarsHMPJ quits (~pjetcetal@128-71-152-79.broadband.corbina.ru) (Remote host closed the connection)
10:54:30 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c1b9:a2b:77a8:fec7)
10:55:32 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
10:59:07 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c1b9:a2b:77a8:fec7) (Ping timeout: 252 seconds)
11:00:07 × lua quits (~ed@101.53.218.157) (Quit: WeeChat 2.8)
11:00:59 alx741 joins (~alx741@181.196.69.81)
11:05:29 ArctVaulMarsHMPJ joins (~pjetcetal@128-71-152-79.broadband.corbina.ru)
11:06:48 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
11:07:31 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
11:08:12 Akronymus joins (~Akronymus@85.118.189.59)
11:11:14 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
11:12:19 × kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 252 seconds)
11:15:28 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
11:15:40 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
11:15:41 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
11:18:17 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
11:19:19 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
11:25:11 lavaman joins (~lavaman@98.38.249.169)
11:25:45 fendor_ joins (~fendor@91.141.66.73.wireless.dyn.drei.com)
11:26:51 dyeplexer joins (~dyeplexer@user/dyeplexer)
11:28:18 × fendor quits (~fendor@77.119.200.43.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
11:29:55 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
11:29:58 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
11:30:48 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
11:31:02 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
11:34:10 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
11:39:11 retro_ joins (~retro@176.255.22.194)
11:42:01 × retroid_ quits (~retro@176.255.22.194) (Ping timeout: 252 seconds)
11:47:37 <Gurkenglas> Could we have type signatures that live not in Hask but in a slice over some type? For example, (Just :: Int -> Maybe Int) -> (readMaybe :: String -> Maybe Int) would be the type of functions f :: Int -> String such that readMaybe . f == Just
11:54:00 oxide joins (~lambda@user/oxide)
11:56:48 <tomsmeding> good luck writing a typechecker for that :p
12:01:41 <hpc> you may want to check out dependent types
12:02:09 <hpc> you don't get to express things in quite the way you describe, but they're pretty neat anyway
12:03:01 × alx741 quits (~alx741@181.196.69.81) (Quit: alx741)
12:06:44 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
12:10:21 kenran joins (~kenran@200116b82b69d400aaf124cc120a0e32.dip.versatel-1u1.de)
12:11:10 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
12:12:01 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
12:14:37 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
12:14:46 × xsperry quits (~as@user/xsperry) (Ping timeout: 256 seconds)
12:16:22 flukiluke_ joins (~m-7humut@plum.alephc.xyz)
12:16:25 Guest53 joins (~Guest53@109.206.213.203)
12:18:40 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
12:24:12 × Guest53 quits (~Guest53@109.206.213.203) (Quit: Client closed)
12:24:45 lep- is now known as lep
12:27:56 jippiedoe joins (~david@2a02-a44c-e14e-1-d412-81e6-62cd-72c2.fixed6.kpn.net)
12:35:52 × shailangsa quits (~shailangs@host86-186-127-196.range86-186.btcentralplus.com) (Ping timeout: 252 seconds)
12:41:09 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
12:41:27 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
12:42:35 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Ping timeout: 252 seconds)
12:44:57 dyeplexer joins (~dyeplexer@user/dyeplexer)
12:46:32 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
12:46:47 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
12:46:49 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
12:47:28 × benin0369323 quits (~benin@183.82.207.253) (Ping timeout: 252 seconds)
12:47:45 benin0369323 joins (~benin@183.82.207.253)
12:50:02 yiyuan joins (~yiyuan@n11212042003.netvigator.com)
12:50:14 × yiyuan quits (~yiyuan@n11212042003.netvigator.com) (Remote host closed the connection)
12:50:31 yiyuan joins (~yiyuan@n11212042003.netvigator.com)
12:50:33 <yiyuan> hey
12:50:43 <kuribas> Gurkenglas: perhaps you can express that in liquid haskell
12:50:54 × yiyuan quits (~yiyuan@n11212042003.netvigator.com) (Remote host closed the connection)
12:50:58 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
12:51:12 yiyuan joins (~yiyuan@n11212042003.netvigator.com)
12:51:13 yiyuan parts (~yiyuan@n11212042003.netvigator.com) ()
12:52:00 Guest69 joins (~Guest69@n11212042003.netvigator.com)
12:52:41 × Guest69 quits (~Guest69@n11212042003.netvigator.com) (Client Quit)
12:53:08 aman joins (~aman@user/aman)
12:55:10 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
12:56:04 machinedgod joins (~machinedg@24.105.81.50)
12:56:26 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c1b9:a2b:77a8:fec7)
12:58:41 × jippiedoe quits (~david@2a02-a44c-e14e-1-d412-81e6-62cd-72c2.fixed6.kpn.net) (Quit: Leaving)
12:59:04 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
12:59:23 geekosaur joins (~geekosaur@xmonad/geekosaur)
12:59:50 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
13:00:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c1b9:a2b:77a8:fec7) (Ping timeout: 240 seconds)
13:01:12 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
13:02:56 × aarvar quits (~aaron@2601:602:a080:fa0:7670:bc4e:f96f:f88a) (Ping timeout: 256 seconds)
13:04:10 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
13:04:23 <yin[m]> i've started using neovim. what's the current recommended setup for haskell?
13:05:04 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
13:05:31 <arahael> I think HLS, but frankly, I just use a split window and run ghcid in the other pane.
13:05:33 <arahael> Hard to beat.
13:06:13 burnsidesLlama joins (~burnsides@client-8-65.eduroam.oxuni.org.uk)
13:10:57 yin[m] uploaded an audio file: (4KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/ZBOMQEGOzGNPIWRTlhcSZmuw/Voice%20message.ogg >
13:13:31 <kuribas> yin[m]: emacs
13:16:10 <kuribas> to be fair, I haven't actually found any satisfying setup. emacs with flycheck works reasonably well. LSP always seems to crash or have bugs for me. Never tried vim though...
13:17:22 <lortabac> I use neovim + HLS, it works well when it works
13:17:24 <raehik> yin[m]: I use neovim with a stack ghci session in another terminal. Emacs with HLS is better but it needs tons of memory and, well, Emacs knowledge
13:17:48 <lortabac> it crashes regularly on medium/big projects
13:17:54 <kuribas> lortabac: for me too, except it rarely works...
13:18:19 <lortabac> for me it only works reliably on tiny projects
13:19:26 <kuribas> intellij with stack also seems to work well...
13:19:45 <tomsmeding> raehik: neovim has native support for language servers nowadays since 0.5.0; doesn't solve the memory usage issue but does solve having to learn emacs :)
13:20:13 lep is now known as lep-
13:20:16 × slep quits (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Ping timeout: 250 seconds)
13:20:43 shailangsa joins (~shailangs@host86-186-132-44.range86-186.btcentralplus.com)
13:21:15 <raehik> tomsmeding: hrmmmm! I should have a look at that, thank you. So it "just works"?
13:21:20 × burnsidesLlama quits (~burnsides@client-8-65.eduroam.oxuni.org.uk) (Remote host closed the connection)
13:21:20 <tomsmeding> kind of?
13:21:30 <tomsmeding> if you put the right lua incantations in your vimrc it just works :)
13:22:03 <tomsmeding> raehik: this is what I use https://paste.tomsmeding.com/ra9omdg9
13:22:32 <tomsmeding> minorly modified from the standard example code from nvim-lspconfig so that HLS also works on bare files outside of a cabal project
13:22:49 <tomsmeding> note that you need github.com/neovim/nvim-lspconfig
13:23:25 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
13:23:59 xstill parts (~xstill@fimu/xstill) ()
13:24:49 andinus parts (andinus@tilde.institute) (ERC (IRC client for Emacs 27.1))
13:29:10 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
13:29:25 hyiltiz joins (~quassel@31.220.5.250)
13:31:32 × renzhi quits (~xp@2607:fa49:6500:3d00::d986) (Ping timeout: 252 seconds)
13:31:49 × vysn quits (~vysn@user/vysn) (Remote host closed the connection)
13:31:53 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
13:32:06 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
13:34:01 jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
13:34:27 <raehik> tomsmeding: thanks! saving that
13:35:52 <zzz> nice
13:41:49 × qbt quits (~edun@user/edun) (Remote host closed the connection)
13:43:28 renzhi joins (~xp@2607:fa49:6500:3d00::5f4a)
13:47:13 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
13:47:26 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
13:49:04 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
13:51:40 son0p joins (~ff@181.136.122.143)
13:53:34 qbt joins (~edun@user/edun)
13:53:40 shriekingnoise joins (~shrieking@186.137.144.80)
13:54:29 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
13:58:52 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
14:00:04 × Everything quits (~Everythin@37.115.210.35) (Ping timeout: 252 seconds)
14:02:02 Everything joins (~Everythin@37.115.210.35)
14:08:49 sleblanc joins (~sleblanc@user/sleblanc)
14:15:18 jpsa joins (~user@c-va-c3ef24d846-78-1.tingfiber.com)
14:16:10 _bin joins (~bin@user/bin/x-1583188)
14:16:18 orcalikastecona joins (~orca@047-134-143-165.res.spectrum.com)
14:18:59 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
14:20:30 × oxide quits (~lambda@user/oxide) (Ping timeout: 250 seconds)
14:22:38 oxide joins (~lambda@user/oxide)
14:23:14 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
14:25:34 lbseale joins (~lbseale@user/ep1ctetus)
14:27:57 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
14:28:29 nvmd joins (~nvmd@user/nvmd)
14:32:37 × orcalikastecona quits (~orca@047-134-143-165.res.spectrum.com) (Quit: WeeChat 2.8)
14:33:11 lep- is now known as lep
14:33:35 × machinedgod quits (~machinedg@24.105.81.50) (Read error: Connection reset by peer)
14:34:16 hexeme is now known as ldlework
14:36:21 hyiltiz joins (~quassel@31.220.5.250)
14:36:31 thyriaen joins (~thyriaen@x4dbf2170.dyn.telefonica.de)
14:36:58 machinedgod joins (~machinedg@24.105.81.50)
14:37:07 jpsa parts (~user@c-va-c3ef24d846-78-1.tingfiber.com) (ERC (IRC client for Emacs 28.0.50))
14:43:37 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
14:44:46 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2.1)
14:47:57 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
14:50:23 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
14:57:33 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
14:57:52 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
14:58:23 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14)
15:01:50 × Akronymus quits (~Akronymus@85.118.189.59) (Quit: Akronymus)
15:02:58 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14) (Ping timeout: 250 seconds)
15:03:04 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
15:04:52 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:04:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
15:04:52 wroathe joins (~wroathe@user/wroathe)
15:13:43 zebrag joins (~chris@user/zebrag)
15:17:33 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
15:18:16 hendursaga joins (~weechat@user/hendursaga)
15:19:16 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
15:19:20 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
15:19:43 stiell joins (~stiell@gateway/tor-sasl/stiell)
15:22:33 jakalx parts (~jakalx@base.jakalx.net) ()
15:25:23 burnsidesLlama joins (~burnsides@client-8-65.eduroam.oxuni.org.uk)
15:26:07 john2312 joins (~user@114.250.137.142)
15:26:57 lavaman joins (~lavaman@98.38.249.169)
15:29:16 <john2312> earlyExit :: [Int] -> Cont [Int] Int; earlyExit alist = do { r <- cont $ k -> k <$> alist; return [r] } why <$> can't work here?
15:29:42 × burnsidesLlama quits (~burnsides@client-8-65.eduroam.oxuni.org.uk) (Ping timeout: 245 seconds)
15:30:23 justsomeguy joins (~justsomeg@user/justsomeguy)
15:31:24 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
15:34:34 lep is now known as lep-
15:35:12 <john2312> this is the code https://paste.tomsmeding.com/JP4DbWYC
15:35:24 jakalx joins (~jakalx@base.jakalx.net)
15:36:40 × anderson quits (~ande@134.209.221.71) (Quit: bye)
15:38:40 anderson joins (~ande@134.209.221.71)
15:39:14 × eldritch_ quits (~eldritch@user/eldritch/x-9272577) (Quit: bye)
15:39:39 eldritch_ joins (~eldritch@user/eldritch/x-9272577)
15:40:52 lep- is now known as lep
15:41:13 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
15:43:27 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
15:45:10 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
15:47:15 jtomas_ joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
15:47:31 hyiltiz joins (~quassel@31.220.5.250)
15:48:28 justsomeguy joins (~justsomeg@user/justsomeguy)
15:49:35 × jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
15:51:48 × cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds)
15:52:17 cheater joins (~Username@user/cheater)
15:52:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
15:54:40 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:7d83:b820:1845:d06c) (Quit: WeeChat 2.8)
15:58:52 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
16:00:21 vysn joins (~vysn@user/vysn)
16:01:45 <maerwald> john2312: `k` is supposed to be a function from `Int -> [Int]`
16:02:16 <john2312> maerwald yes, how I should change it?
16:02:25 × haykam1 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
16:02:28 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
16:02:28 <maerwald> I don't really know what you're trying to do
16:02:56 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
16:03:02 × vysn quits (~vysn@user/vysn) (Client Quit)
16:03:19 vysn joins (~vysn@user/vysn)
16:03:23 <john2312> maerwald there's a list [1..10], and a function (+1), fmap (+1) [1..10] if the result contain 3 then early exit
16:04:04 <john2312> I know there's traverse can do that, but I'd like to know how Cont do that
16:05:21 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection)
16:05:25 <kuribas> You can always write a left fold as a CPS right fold.
16:05:27 × kenran quits (~kenran@200116b82b69d400aaf124cc120a0e32.dip.versatel-1u1.de) (Quit: WeeChat info:version)
16:05:36 <kuribas> Which allows early exit.
16:05:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:05:39 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
16:06:07 <Clint> so you want f (+1) [1..10] = [2,3] ?
16:10:30 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
16:10:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
16:11:07 <john2312> yes
16:14:07 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
16:19:05 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
16:20:57 justsomeguy joins (~justsomeg@user/justsomeguy)
16:21:50 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
16:22:08 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:24:24 × dajoer quits (~david@user/gvx) (Quit: leaving)
16:24:40 <ldlework> I have an infinite loop here somewhere but I don't see it, https://gist.github.com/dustinlacewell/2fe2bd282a794a97677cf723b4499989
16:24:49 <ldlework> Can anyone help me spot it?
16:25:20 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
16:26:28 <ldlework> Oh I probably don't want to be mapping my draw function over the balloons
16:27:01 <ldlework> I probably need to like... "reduce" it
16:27:49 <ldlework> hmm
16:28:29 <ldlework> I guess I have no clue how to actually draw multiple things with Gloss
16:29:34 <ldlework> oh the `pictures` function takes a list of pictures
16:29:39 <ldlework> so this should be doing the right thing
16:30:58 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
16:31:16 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:31:47 × berberman_ quits (~berberman@user/berberman) (Ping timeout: 240 seconds)
16:31:54 polyphem joins (~polyphem@2a02:810d:640:776c:1bc:e34d:641e:231a)
16:32:08 berberman joins (~berberman@user/berberman)
16:34:35 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
16:35:18 Vajb joins (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi)
16:36:10 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
16:36:47 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
16:37:06 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:38:09 × oxide quits (~lambda@user/oxide) (Quit: oxide)
16:39:36 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
16:40:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:43:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
16:44:29 poljar1 joins (~poljar@78-3-12-111.adsl.net.t-com.hr)
16:44:46 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
16:45:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
16:45:21 × poljar quits (~poljar@93-139-4-196.adsl.net.t-com.hr) (Ping timeout: 248 seconds)
16:45:36 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
16:47:24 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:47:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:47:25 wroathe joins (~wroathe@user/wroathe)
16:47:35 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:48:02 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
16:48:11 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
16:48:15 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
16:49:02 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
16:53:13 × Skyfire quits (~pyon@user/pyon) (Quit: WeeChat 3.2)
16:53:14 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
16:53:19 × dhruvasagar quits (~dhruvasag@49.207.59.235) (Ping timeout: 252 seconds)
16:53:34 × john2312 quits (~user@114.250.137.142) (Ping timeout: 256 seconds)
16:53:48 Skyfire joins (~pyon@user/pyon)
16:53:56 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
16:55:22 <ldlework> In this example, why are all the dots cyan? And why is the random distribution so strange?
16:55:24 <ldlework> https://i.imgur.com/Ex54t3f.png
16:56:07 <monochrom> Because you use the same rng for every sequence.
16:56:27 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
16:57:24 <ldlework> monochrom: shouldn't it just keep producing random numbers though?
16:57:42 <ldlework> I'm probably deeply confused about rng.
16:58:18 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:58:18 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
16:58:38 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
16:58:45 <hpc> you're not using a true random number generator, you're using a sequence that's random-like and has some initial conditions
16:58:54 <hpc> if you use the same initial conditions, you get the same sequence every time
16:59:04 <monochrom> First ask yourself is rng a mutable variable or is it an immutable piece of data.
16:59:07 <hpc> but if you take lots of samples from a single sequence, it looks random
16:59:15 <ldlework> I'm OK with the deterministic random numbers, just curious about the distribution.
16:59:48 <ldlework> monochrom: I am really new to Haskell, but I assumed it was doing some IO magic I don't understand yet.
17:00:02 <hpc> with immutable values, when you take from an rng you get a value and a new rng
17:00:08 <monochrom> What is the type?
17:00:09 <ldlework> huh
17:00:29 <monochrom> In Haskell, IO magic you don't understand carries the "IO" type.
17:00:42 <monochrom> If you don't see it, no IO magic is done.
17:00:46 <monochrom> So, do you see it?
17:00:47 <hpc> it doesn't seek through the sequence like a file handle or something like that
17:01:10 <ldlework> hpc: that's what I imagined, I've got a python/js/C# background
17:01:15 <hpc> @let example = [1..10]
17:01:17 <lambdabot> Defined.
17:01:29 <hpc> > take 1 example -- basically you did this
17:01:30 <lambdabot> [1]
17:01:33 <hpc> > take 1 example -- and then this
17:01:34 <lambdabot> [1]
17:02:00 <ldlework> hpc: so in generating a list of numbers do you have to sort of use some kind of reduction where you are passing the new rng to the next production etc?
17:02:08 <monochrom> Compared to python/js/C#, there is surprisingly little IO magic in Haskell.
17:02:28 <hpc> yeah, or something like that
17:02:32 <monochrom> If you have C# "int foo(int)", it may or may not do IO magic behind your back.
17:02:39 <ldlework> monochrom: I wasn't accusing haskell of using being magic, only describing my ignorance
17:02:44 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
17:02:51 <monochrom> But if you have Haskell, "foo :: Int -> Int", then it doesn't. End of story.
17:03:09 <hpc> or you could use IO and have a mutable rng
17:03:14 <monochrom> If rng :: StdGen, since it is not "rng :: IO StdGen", there is no IO magic.
17:03:39 <monochrom> And I asked a simple question too. Is rng mutable or immutable?
17:03:45 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
17:03:48 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
17:03:49 <monochrom> You still haven't answered that.
17:03:53 <ldlework> monochrom: I've taken your point long ago :P thank you
17:04:00 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:04:00 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
17:04:00 wroathe joins (~wroathe@user/wroathe)
17:04:35 <hpc> another idea might be an instance of https://hackage.haskell.org/package/random-1.2.0/docs/System-Random.html#t:Random for your points that does some of the legwork for you
17:04:36 × Vajb quits (~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
17:05:02 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
17:05:16 <hpc> the instance scans the rng forward 4 times to make a point
17:05:25 <hpc> and then in the code that uses it, you just say "i want a bunch of points"
17:05:25 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
17:05:58 <hpc> (and making sure to return the right rng in your instance)
17:06:04 <ldlework> hpc: thanks. I admit I have a small bit of challenge curiosity to see if there is a little succinct pattern to do that rng passing to generate a list of N random numbers
17:06:10 <monochrom> The standard thing to do in this case is if you need 4 independent sequences, you take your rng and use "split" 3 or 4 times to get 4 or 5 gens.
17:06:41 hyiltiz joins (~quassel@31.220.5.250)
17:06:59 <ldlework> I'm still pretty bad at thinking functionally
17:07:56 <hpc> monochrom: i thought of suggesting that, but i don't remember if all the issues with split got ironed out
17:08:25 <ldlework> hpc: ah you are pointing me to the *s versions of the functions?
17:08:34 <ldlework> like randomRs and randoms
17:08:49 <monochrom> random-1.2 uses splitmix which has a very good split.
17:09:00 <hpc> ah, cool
17:09:07 <monochrom> See the paper. It's a very clever idea.
17:09:28 <monochrom> Hell, it's called "splitmix" for a reason!
17:09:49 <hpc> iqubic: at the top level, yeah
17:10:02 <monochrom> random-tf uses a very similar idea. splitmix adds a speedup optimization.
17:10:05 <hpc> ldlework: rather
17:10:52 <ldlework> Hmm, I'm using `x <- take n (randomRs (-200, 200) (mkStdGen 0))` shouldn't that produce an infinite list, then take n?
17:10:59 <hpc> is there a free link for the paper?
17:11:11 <monochrom> Getting multiple sequences under randomRIO is really annoying.
17:11:32 <monochrom> also very slow (because IORef is slow)
17:11:39 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
17:12:48 <ldlework> seems like it should work no?
17:13:43 <ldlework> Also curious, I'm only generating 5 "Balloons" but there are many more dots than that: http://logos.ldlework.com/caps/2021-09-06-17-13-12.png
17:14:11 <ldlework> And I'm also unsure why only the last color, cyan, is ever used in the list comprehension source for `c`.
17:16:25 × kuribas quits (~user@ptr-25vy0i6xfv8pdfgun1l.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
17:16:54 ldlework scratches his head.
17:17:53 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
17:18:07 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
17:20:30 <ldlework> hpc: I've got no shared rng now, i'm using the *s versions of the functions, and the behavior is much the same.
17:20:48 <monochrom> hpc: I smuggled it out: http://www.cs.utoronto.ca/~trebla/tmp/splitmix.pdf
17:21:13 <hpc> monochrom: it'll be our little secret :D
17:21:20 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
17:21:56 <hpc> although now i am remembering that i hate reading papers
17:22:14 <hpc> the two-column pdf that's just barely too long to fit on a screen is beyond frustrating
17:22:28 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
17:22:38 econo joins (uid147250@user/econo)
17:22:39 <monochrom> IIRC TL;DR: every random number is the end of a history that goes like <make, next, next, left, next next, right, left, right, next, next>. If you use a really good hash function to hash that history, that's your random numbers.
17:22:45 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
17:22:48 <monochrom> s/numbers./number/
17:23:41 × neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
17:24:28 × slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Quit: Client closed)
17:24:33 <hpc> huh
17:24:49 <hpc> when you put it like that it's obviously how it should have always been
17:24:59 <monochrom> :)
17:25:51 <hpc> yeah, basically the whole idea is captured in figure 2
17:25:57 <hpc> and the rest of it might as well be appendices
17:26:30 <monochrom> Nah, but it's fair to say the rest is engineering to make it faster and leaner.
17:27:06 neurocyte joins (~neurocyte@45.93.111.173)
17:27:06 × neurocyte quits (~neurocyte@45.93.111.173) (Changing host)
17:27:06 neurocyte joins (~neurocyte@user/neurocyte)
17:29:34 <ldlework> https://i.imgur.com/5ARmVUN.png
17:29:49 <ldlework> I've taken out all of the randomness, and just hardcoded the arrays for x, y, r, and c
17:29:57 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
17:30:02 <ldlework> I guess I don't understand list-comprehensions at all
17:31:00 <ldlework> Why is it generating a 5x5 matrix of circles, but with all the same radius and color?
17:31:25 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
17:31:26 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
17:32:11 <tomsmeding> ldlework: that list comprehension should be read as follows: for each x in that list, for each y in that list, for each r in that list, for each c in that list, yield the element before the |
17:32:21 <tomsmeding> so you're getting 5 * 5 * 5 * 6 elements in that list
17:32:38 <ldlework> Oh it produces the "product" of all sources.
17:32:42 <tomsmeding> (0,0,5,red), (0,0,5,green), etc
17:32:44 <ldlework> But why only 1 radius and color?
17:32:55 Core1865 joins (~w-spc-gir@2600:380:8428:102f:bd54:8b5c:2bc5:49d)
17:32:57 <tomsmeding> presumably the other ones are also drawn but just underneath? just a guess
17:33:10 <tomsmeding> like, you're probably only seeing the largest radius with the last colour
17:33:14 × Core1865 quits (~w-spc-gir@2600:380:8428:102f:bd54:8b5c:2bc5:49d) (Read error: Connection reset by peer)
17:33:19 <ldlework> interesting
17:34:03 <ldlework> So I suppose my fundamental problem is trying to use a list comprehension here in the first place.
17:34:13 <tomsmeding> what result do you want? :p
17:34:13 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
17:34:23 MQ-17J joins (~MQ-17J@8.21.10.6)
17:34:25 <ldlework> tomsmeding: just trying to generate 5 "Balloons" each with random position, radius and color
17:34:36 <ldlework> I'm on day like 8 of haskell
17:35:40 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Ping timeout: 252 seconds)
17:36:54 justsomeguy joins (~justsomeg@user/justsomeguy)
17:36:55 <monochrom> This is why at some point you should print out the sequences as text.
17:37:32 <ldlework> aww there is a zipWith3 but not zipWith4 haha
17:37:43 <tomsmeding> :t Data.List.zipWith4
17:37:44 <lambdabot> (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
17:37:44 <ldlework> circles = zipWith4 Balloon xs ys rs cs
17:37:50 <ldlework> oh
17:37:57 × maerwald quits (~maerwald@mail.hasufell.de) (Changing host)
17:37:57 maerwald joins (~maerwald@user/maerwald)
17:38:17 <ldlework> :O that worked
17:38:18 <monochrom> I have always felt bad that I only teach students textual I/O and never showed them graphics I/O.
17:38:32 <monochrom> But this case restores my faith in text.
17:38:37 <ldlework> http://logos.ldlework.com/caps/2021-09-06-17-38-26.png
17:38:58 × MQ-17J quits (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds)
17:42:28 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
17:42:47 <ldlework> tomsmeding: now the random stuff is working too, thanks a lot
17:43:03 <tomsmeding> nice :)
17:43:12 <ldlework> monochrom, hpc thanks for pointing out the purity issue
17:43:30 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
17:43:38 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14)
17:44:24 <ldlework> tomsmeding: what if you needed to zip across more than 7 things
17:44:43 <ldlework> i guess you just build what you need
17:44:47 <tomsmeding> yeah :p
17:45:42 <tomsmeding> though if you need to zip more than 7 things, I'd first question whether you can perhaps do things differently too
17:46:17 <tomsmeding> for example, you're generating x and y coordinates; what you could also do is make a datatype `data Pos = Pos Int Int`, and then make `Pos` an instance of the `Random` type class defined in System.Random
17:46:40 <tomsmeding> then you can use `random` and `randomR` etc to generate values of type `Pos` directly
17:46:54 <ldlework> yeah that makes sense
17:47:14 <tomsmeding> usually there will be more structure to the problem than "I have 9 different lists that I want to zip together" :p
17:47:24 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
17:47:36 nicbk joins (~nicbk@user/nicbk)
17:48:13 <tomsmeding> ldlework: in case you haven't done so yet: I invite you to look at the source code for simple functions like these https://hackage.haskell.org/package/base-4.14.0.0/docs/src/Data.OldList.html#zipWith7
17:48:48 <tomsmeding> the definitions of those "basic" functions is often (not always, but often) refreshingly simple in my experience
17:49:15 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
17:49:30 hololeap_ joins (~hololeap@user/hololeap)
17:50:33 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds)
17:51:16 <ldlework> I should probably stop screwing around with graphics and get back to finishing the haskell book I'm working through :P
17:51:36 tomsmeding started programming with MSWLogo at some point
17:52:46 Sgeo joins (~Sgeo@user/sgeo)
17:53:20 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
17:55:03 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
17:56:07 lavaman joins (~lavaman@98.38.249.169)
17:56:35 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
18:00:29 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
18:02:08 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
18:02:32 hyiltiz joins (~quassel@31.220.5.250)
18:03:45 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
18:03:52 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
18:05:00 <zzz> ghc instalatin with ghcup is failing with "ghcup: user error (JSON decoding failed with: YAML exception:
18:05:19 <zzz> Yaml file not found:"
18:05:35 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
18:05:41 <[exa]> well, sounds messed up. what's your envirnoment?
18:05:49 <zzz> anyone had this problem?
18:05:57 <maerwald> zzz: can you wget/curl https://www.haskell.org/ghcup/data/ghcup-0.0.6.yaml
18:07:19 machinedgod joins (~machinedg@24.105.81.50)
18:07:52 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
18:07:55 <zzz> yes
18:08:25 <zzz> should i mv it to ~/.ghcup/cache and try again?
18:08:31 <maerwald> no
18:08:35 <maerwald> what ghcup version?
18:08:59 <zzz> 0.1.16.2
18:09:12 <maerwald> what's inside ~/.ghcup/cache?
18:09:30 <zzz> cabal-install-3.2.0.0-i386-unknown-linux.tar.xz ghc-8.8.4-i386-deb9-linux.tar.xz ghcup-0.0.2.yaml ghcup-0.0.3.yaml ghcup-0.0.4.yaml
18:09:46 × sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 252 seconds)
18:10:03 <maerwald> oh, i386?
18:10:08 <zzz> yup :)
18:10:43 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Client Quit)
18:11:02 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
18:11:10 <zzz> [exa]: sorry i missed that. here's your answer
18:11:19 <maerwald> can't reproduce
18:11:29 <maerwald> did you test the download with wget or curl?
18:11:31 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:11:34 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
18:11:35 <zzz> wget
18:11:45 <maerwald> try: ghcup --downloader=wget tui
18:11:49 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:12:41 Erutuon joins (~Erutuon@user/erutuon)
18:13:03 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
18:15:28 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
18:17:06 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:17:12 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
18:17:19 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:17:37 xsperry joins (~as@user/xsperry)
18:18:58 × Everything quits (~Everythin@37.115.210.35) (Quit: leaving)
18:20:07 tomsmeding finds the error message interesting in itself: "JSON decoding failed with: YAML exception:" -- so was it decoding json or yaml? :p
18:20:53 <maerwald> tomsmeding: ghcup falls back to reading the yaml from the cache folder if download fails with a warning
18:21:19 <maerwald> so yeah, the error needs to be better
18:21:31 <tomsmeding> yeah but, there's no json involved here, right?
18:21:45 <maerwald> yaml decoding is done via aeson
18:21:50 <tomsmeding> ah
18:22:27 sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca)
18:22:56 × thyriaen quits (~thyriaen@x4dbf2170.dyn.telefonica.de) (Remote host closed the connection)
18:23:31 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
18:23:34 thmprover joins (~user@047-042-215-236.res.spectrum.com)
18:23:48 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
18:25:00 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
18:26:14 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
18:28:29 <zzz> i find comments like these appearing during instalation funny: "[ ghc-make ] # For some reason, this means the DLLs end up non-executable, which means
18:28:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:29:11 <maerwald> just close your eyes during installation
18:29:18 <zzz> :)
18:30:06 <zzz> [ ghc-make ] # Reticulating splines
18:30:15 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
18:30:15 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
18:30:19 <hpc> [ ghc-make ] # Turning it off and on again
18:30:27 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
18:31:17 slowButPresent joins (~slowButPr@user/slowbutpresent)
18:33:22 × polyphem quits (~polyphem@2a02:810d:640:776c:1bc:e34d:641e:231a) (Remote host closed the connection)
18:33:30 polyphem joins (~polyphem@2a02:810d:640:776c:1bc:e34d:641e:231a)
18:34:34 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
18:35:31 kawpuh joins (~kawpuh@097-082-066-236.res.spectrum.com)
18:36:52 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
18:36:56 <monochrom> Ah but what is DLL doing on 32-bit linux? >:)
18:37:52 <monochrom> Yeah these error messages are getting more and more mysterious by mentioning entities that shouldn't even exist.
18:38:14 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
18:38:20 <zzz> it's just random bashing on windows during installation
18:38:28 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
18:38:35 <monochrom> "Linux error: Cannot find Windows registry." "Windows error: MacOS not found."
18:39:06 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
18:39:13 <maerwald> makefile verbosity probably prints all sorts of stuff
18:39:18 <monochrom> "MacOS error: NeXT installation failed"
18:39:36 <maerwald> the output is supposed to be an entertainment
18:39:43 <monochrom> haha OK!
18:41:48 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 250 seconds)
18:41:55 <zzz> i have a feeling that's my new go-to phrase
18:43:34 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
18:43:47 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
18:44:14 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
18:44:28 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
18:45:03 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
18:45:17 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
18:46:58 <fendor_> is there some way to find all usages of a typeclass function for a specific type? Context is, a type has changed s.t. its typeclass implementation of equality is insufficient for our use-case
18:47:13 × kawpuh quits (~kawpuh@097-082-066-236.res.spectrum.com) (Quit: Client closed)
18:48:16 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
18:48:38 × aman quits (~aman@user/aman) (Quit: aman)
18:48:44 fendor_ is now known as fendor
18:49:11 <fendor> now I need to know where a typeclass function is used and review its usage
18:55:39 <dminuoso> fendor: HLS should provide that information.
18:56:02 <dminuoso> For example, if you're using emacs with lsp you can use `M-x lsp-find-references`
18:56:02 <fendor> I don't think that is type specific yet
18:57:30 <fendor> e.g. can't find the usage of '==' for a specific type
18:57:35 <dminuoso> Ahh
18:58:07 <zzz> maerwald: it worked, thanks
18:58:09 <dminuoso> fendor: Perhaps WARNING/DEPRECATED pragmas can be attached to a method?
18:58:16 <maerwald> zzz: that means your curl is busted I think
18:58:49 <dminuoso> fendor: Also, you could just remove that instance and find all errors.
18:59:12 <fendor> the offending instance is in ghc, probably too many errors and won't see the one I care about
18:59:14 <dminuoso> Though that can cause errors on type signatures, so perhaps not too helpful
18:59:28 <fendor> but deprecation sounds nice
18:59:33 <fendor> maybe that works
18:59:54 <dminuoso> fendor: My feeling says it wont work.
18:59:57 <dminuoso> The reason is:
19:00:06 <dminuoso> Typeclasses generally get compiled into dictionaries.
19:00:42 <fendor> yeah... Maybe I can't avoid newtyping it
19:01:07 <dminuoso> Though in principle it could be technically viable if the deprecation/warning was made available in interface files
19:01:48 <fendor> but adding a deprecation to a function of an instance... sounds similar to the orphan instance issue
19:02:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
19:02:42 <dminuoso> The more I think about it, HLS seems like it would be your best bet
19:03:27 <dminuoso> It's the only piece that has a coherent picture of types and definitions across modules and libraries.
19:03:38 <dminuoso> (Or something similar to HLS)
19:04:02 <fendor> yeah, it should be possible with hiedb
19:04:11 <fendor> but I just wanted to add a simple fix :D
19:09:39 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:09:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
19:09:39 wroathe joins (~wroathe@user/wroathe)
19:13:15 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
19:14:53 kenran joins (~kenran@200116b82b69d400311395ece9782858.dip.versatel-1u1.de)
19:16:59 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14) (Remote host closed the connection)
19:19:30 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
19:20:50 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Remote host closed the connection)
19:21:01 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
19:21:28 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:22:10 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
19:22:24 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14)
19:24:20 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
19:26:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14) (Ping timeout: 240 seconds)
19:26:50 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
19:27:24 max22- joins (~maxime@2a01cb0883359800f259119bb9ba011d.ipv6.abo.wanadoo.fr)
19:29:23 × fendor quits (~fendor@91.141.66.73.wireless.dyn.drei.com) (Remote host closed the connection)
19:32:04 × son0p quits (~ff@181.136.122.143) (Ping timeout: 250 seconds)
19:32:59 × nckx quits (~nckx@tobias.gr) (Quit: Updating my Guix System <https://guix.gnu.org>)
19:34:15 Guest|55 joins (~Guest|55@syr-140-120.syr.edu)
19:34:44 <Guest|55> hello I'm having trouble downloading Haskell to my mac
19:35:10 nckx joins (~nckx@tobias.gr)
19:35:35 × Guest|55 quits (~Guest|55@syr-140-120.syr.edu) (Client Quit)
19:35:58 fendor joins (~fendor@91.141.66.73.wireless.dyn.drei.com)
19:38:48 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
19:39:06 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
19:42:37 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
19:42:51 × polyphem quits (~polyphem@2a02:810d:640:776c:1bc:e34d:641e:231a) (Remote host closed the connection)
19:46:12 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
19:47:51 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
19:48:07 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
19:48:47 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14)
19:50:46 × adium quits (adium@user/adium) (Quit: Stable ZNC by #bnc4you)
19:54:27 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
19:54:38 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
19:54:51 Core7090 joins (~w-spc-gir@2600:380:8428:102f:5c57:d44:67c2:70e8)
19:57:01 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Ping timeout: 252 seconds)
19:58:07 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds)
19:58:55 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
19:59:15 kuribas joins (~user@ptr-25vy0i8j7arm4sqpwno.18120a2.ip6.access.telenet.be)
20:00:04 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
20:00:24 geekosaur joins (~geekosaur@xmonad/geekosaur)
20:00:58 × Core7090 quits (~w-spc-gir@2600:380:8428:102f:5c57:d44:67c2:70e8) (Read error: Connection reset by peer)
20:01:58 adium joins (adium@user/adium)
20:04:45 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
20:05:02 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
20:05:10 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 240 seconds)
20:05:13 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
20:06:28 w-spc-gir joins (~w-spc-gir@2600:380:8428:102f:5c57:d44:67c2:70e8)
20:07:32 × w-spc-gir quits (~w-spc-gir@2600:380:8428:102f:5c57:d44:67c2:70e8) (Read error: Connection reset by peer)
20:07:44 machinedgod joins (~machinedg@24.105.81.50)
20:08:01 juhp joins (~juhp@128.106.188.220)
20:08:26 sky_lounge[m] joins (~skylounge@2001:470:69fc:105::efa6)
20:10:08 w-spc-gir joins (~w-spc-gir@2600:380:8428:102f:5c57:d44:67c2:70e8)
20:11:54 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds)
20:12:21 × w-spc-gir quits (~w-spc-gir@2600:380:8428:102f:5c57:d44:67c2:70e8) (Read error: Connection reset by peer)
20:15:42 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection)
20:16:08 w-spc-gir joins (~w-spc-gir@c-73-170-32-12.hsd1.ca.comcast.net)
20:20:53 <maerwald> zzz: do you think that'll be more helpful? https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/228
20:21:19 × kuribas quits (~user@ptr-25vy0i8j7arm4sqpwno.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
20:22:06 <maerwald> zzz: specifically `ghcup config set downloader Wget`
20:27:32 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 250 seconds)
20:28:02 <ldlework> tomsmeding: If you have a data type that is highly nested (you're trying to keep your types small and narrow), what is the way of going about extracting and updating the attributes deep inside an object
20:28:11 <ldlework> such that you avoid highly-nested pattern matching structures
20:29:38 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
20:30:08 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
20:30:21 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
20:30:28 × w-spc-gir quits (~w-spc-gir@c-73-170-32-12.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
20:38:28 hyiltiz joins (~quassel@31.220.5.250)
20:40:11 <tomsmeding> ldlework: the standard way to make code with such data structures shorter/nicer is to use lenses or optics
20:40:30 <tomsmeding> but if you're on day 8 of haskell, best not go there yet probably :p
20:42:05 favonia joins (~favonia@user/favonia)
20:42:09 <tomsmeding> ldlework: but if you're feeling really adventurous, I think I recommend this library: https://hackage.haskell.org/package/optics-0.4/docs/Optics.html
20:42:46 <tomsmeding> there is also 'lens' with a longer tradition; both libraries have relative advantages and disadvantages but 'optics' generally has better error messages (for one thing)
20:45:04 <tomsmeding> (and https://www.youtube.com/watch?v=AGjTAurqQoY, but again, please let this wait until you're _much_ more comfortable with the language!)
20:45:51 justsomeguy joins (~justsomeg@user/justsomeguy)
20:46:10 × kenran quits (~kenran@200116b82b69d400311395ece9782858.dip.versatel-1u1.de) (Ping timeout: 250 seconds)
20:47:11 kenran joins (~kenran@200116b82b69d400934af33d768b2e7f.dip.versatel-1u1.de)
20:47:25 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
20:47:25 allbery_b joins (~geekosaur@xmonad/geekosaur)
20:47:28 allbery_b is now known as geekosaur
20:47:45 × fendor quits (~fendor@91.141.66.73.wireless.dyn.drei.com) (Read error: Connection reset by peer)
20:47:51 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
20:48:04 <dsal> I'm tempted to recommend a book on this, but yeah, it won't make a lot of sense if you're starting fresh. It's quite possible you're just not modeling things well enough. Or if you are, you're starting out learning about profunctors while most people are still learning amateur functors.
20:48:25 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
20:51:13 lavaman joins (~lavaman@98.38.249.169)
20:51:31 × kenran quits (~kenran@200116b82b69d400934af33d768b2e7f.dip.versatel-1u1.de) (Client Quit)
20:53:07 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
20:53:08 tomsmeding . o O ( functors for pros )
20:54:16 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
20:55:08 <dsal> I used to get profunctors and bifunctors confused, but now I just remember that a profunctor goes both ways.
20:55:44 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
20:55:52 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
20:56:51 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
20:57:55 Guest|40 joins (~Guest|40@134.173.92.8)
20:58:21 Lord_of_Life_ is now known as Lord_of_Life
20:58:48 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:59:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:00:38 desantra joins (~skykanin@user/skykanin)
21:06:18 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
21:09:21 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
21:14:20 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 250 seconds)
21:15:33 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
21:16:47 × qbt quits (~edun@user/edun) (Ping timeout: 245 seconds)
21:17:17 aarvar joins (~aaron@2601:602:a080:fa0:c490:e73a:21d7:a4e7)
21:18:39 mikoto-chan joins (~mikoto-ch@83.137.2.251)
21:20:39 hannessteffenhag joins (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de)
21:20:41 × ArctVaulMarsHMPJ quits (~pjetcetal@128-71-152-79.broadband.corbina.ru) (Ping timeout: 252 seconds)
21:25:10 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
21:25:38 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
21:26:08 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
21:26:25 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
21:27:13 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
21:28:00 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
21:28:15 hyiltiz joins (~quassel@31.220.5.250)
21:28:35 × ulvarrefr quits (~user@185.24.53.152) (Read error: Connection reset by peer)
21:29:03 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
21:29:36 wroathe joins (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
21:29:36 × wroathe quits (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host)
21:29:36 wroathe joins (~wroathe@user/wroathe)
21:29:41 × Guest|40 quits (~Guest|40@134.173.92.8) (Quit: Connection closed)
21:32:38 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
21:33:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
21:33:30 poljar joins (~poljar@78-3-12-111.adsl.net.t-com.hr)
21:33:31 × jtomas_ quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Quit: Leaving)
21:33:48 jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
21:34:59 × APic quits (apic@apic.name) (Read error: Connection reset by peer)
21:35:08 × poljar1 quits (~poljar@78-3-12-111.adsl.net.t-com.hr) (Ping timeout: 250 seconds)
21:35:34 APic joins (apic@apic.name)
21:36:40 oldleather joins (~oldleathe@172.58.168.27)
21:37:18 oldleather parts (~oldleathe@172.58.168.27) ()
21:41:18 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
21:42:07 <zzz> maerwald: the thing is curl seems to be working fine for me
21:44:02 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
21:44:29 <maerwald> zzz: what curl version
21:44:30 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
21:45:40 <zzz> maerwald: curl 7.58.0 (i686-pc-linux-gnu)
21:45:45 w-spc-gir joins (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443)
21:46:15 × desantra quits (~skykanin@user/skykanin) (Quit: WeeChat 3.2)
21:46:29 <maerwald> zzz: https://paste.tomsmeding.com/JUdzeBxK does this work
21:48:24 <zzz> yes
21:48:57 × mikoto-chan quits (~mikoto-ch@83.137.2.251) (Quit: mikoto-chan)
21:49:14 mikoto-chan joins (~mikoto-ch@83.137.2.251)
21:49:49 <zzz> dsal: oh no
21:49:58 × w-spc-gir quits (~w-spc-gir@2601:646:9c00:594c:3481:94b7:65bc:2443) (Read error: Connection reset by peer)
21:50:28 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
21:50:41 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
21:51:02 Pickchea joins (~private@user/pickchea)
21:54:34 × dsrt^ quits (~dsrt@68.101.54.227) (Ping timeout: 240 seconds)
21:55:34 <maerwald> zzz: well, then I don't know what's not working there
21:59:50 <zzz> thanks for the help anyways, it's solved
22:05:05 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
22:07:57 × max22- quits (~maxime@2a01cb0883359800f259119bb9ba011d.ipv6.abo.wanadoo.fr) (Quit: Leaving)
22:08:51 × michalz quits (~michalz@185.246.204.97) (Remote host closed the connection)
22:13:15 × chomwitt quits (~chomwitt@2a02:587:dc16:c800:12c3:7bff:fe6d:d374) (Remote host closed the connection)
22:14:33 lavaman joins (~lavaman@98.38.249.169)
22:15:04 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
22:16:41 Erutuon joins (~Erutuon@user/erutuon)
22:18:52 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
22:19:50 Topsi joins (~Tobias@dyndsl-095-033-095-030.ewe-ip-backbone.de)
22:21:00 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
22:24:53 × APic quits (apic@apic.name) (Read error: Connection reset by peer)
22:29:40 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
22:30:34 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
22:31:06 × benin0369323 quits (~benin@183.82.207.253) (Quit: Ping timeout (120 seconds))
22:33:04 benin0369323 joins (~benin@183.82.207.253)
22:36:04 geekosaur joins (~geekosaur@xmonad/geekosaur)
22:37:14 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:38:22 cjb joins (~cjb@user/cjb)
22:38:43 × benin0369323 quits (~benin@183.82.207.253) (Ping timeout: 252 seconds)
22:39:54 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:41:52 × urdh quits (~urdh@user/urdh) (Ping timeout: 250 seconds)
22:42:06 APic joins (apic@apic.name)
22:44:21 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
22:45:20 hyiltiz joins (~quassel@31.220.5.250)
22:45:28 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
22:48:54 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
22:49:24 × wroathe quits (~wroathe@user/wroathe) (Read error: Connection reset by peer)
22:50:49 × jonatan quits (~nate@h85-8-60-194.cust.a3fiber.se) (Ping timeout: 252 seconds)
22:51:08 jonatan joins (~nate@h85-8-60-194.cust.a3fiber.se)
22:54:52 × jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 250 seconds)
22:55:32 wroathe joins (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
22:55:32 × wroathe quits (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host)
22:55:32 wroathe joins (~wroathe@user/wroathe)
22:55:48 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
22:56:11 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
22:56:14 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
22:56:40 urdh joins (~urdh@user/urdh)
22:59:12 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 250 seconds)
23:05:12 lavaman joins (~lavaman@98.38.249.169)
23:06:26 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
23:13:55 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
23:14:37 × nicbk quits (~nicbk@user/nicbk) (Remote host closed the connection)
23:17:12 ArctVaulMarsHMPJ joins (~pjetcetal@2.95.102.85)
23:19:07 machinedgod joins (~machinedg@24.105.81.50)
23:19:10 zaquest joins (~notzaques@5.128.210.178)
23:21:08 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:21:08 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
23:21:08 wroathe joins (~wroathe@user/wroathe)
23:21:22 × pmk quits (~user@2a02:587:941a:35d9:8f9c:6cb6:67dc:f5e3) (Ping timeout: 245 seconds)
23:22:01 × notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer)
23:23:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
23:23:57 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
23:29:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:30:03 notzmv joins (~zmv@user/notzmv)
23:31:15 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
23:31:28 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
23:32:37 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
23:32:51 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
23:32:55 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
23:37:33 vicfred joins (~vicfred@user/vicfred)
23:38:44 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
23:39:02 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
23:43:37 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
23:48:27 × Gurkenglas quits (~Gurkengla@dslb-090-186-104-237.090.186.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
23:50:54 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:51c9:9325:5764:1e14) (Remote host closed the connection)
23:54:09 × sayola quits (~vekto@dslb-088-064-186-138.088.064.pools.vodafone-ip.de) (Ping timeout: 248 seconds)
23:55:51 sayola joins (~vekto@dslb-088-064-186-138.088.064.pools.vodafone-ip.de)
23:59:54 alx741 joins (~alx741@181.196.69.81)

All times are in UTC on 2021-09-06.