Home freenode/#haskell: Logs Calendar

Logs on 2020-12-29 (freenode/#haskell)

00:00:00 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
00:00:53 <glguy> ij, the +1 causes your scale-1 case to wrap around to 0
00:01:00 <glguy> and your 0 case to go to 1
00:01:18 <glguy> 0 and 1 are the two results that are less than 2
00:01:55 <ij> ah, right it doesn't accumulate and screw with next cycles
00:02:06 <glguy> ij, is that for advent of code day 20?
00:02:30 <ij> no, :) pipe maze
00:03:02 <ij> 2d ascii pipe characters, all of which have to be connected
00:03:19 <madjestic> ski: yeah, there must be a way to translate that to massiv sytax :->
00:03:26 <ski> (presumably `scale' is nonnegative ..)
00:03:57 <glguy> ski, a negative-width checkerboard sounds cool
00:04:02 <ski> > 5 `mod''` 0
00:04:05 <lambdabot> 5
00:04:16 christo joins (~chris@81.96.113.213)
00:04:29 <ph88_> is it possible to pattern match head and tail on Vector ?
00:05:00 <hpc> do view patterns count? :P
00:05:02 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
00:05:06 <glguy> ph88_, You could write such a pattern synonym, but I don't think one is in the library
00:05:44 christo joins (~chris@81.96.113.213)
00:06:07 <ph88_> what could be the reason it's not in the library ?
00:06:37 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
00:06:49 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
00:08:25 × sgibber2018 quits (~arch-gibb@2600:6c55:6d80:3243:c2cb:38ff:fe8d:b46f) (Quit: WeeChat 3.0)
00:09:14 × ransom quits (~c4264035@8.47.12.52) (Read error: Connection reset by peer)
00:09:23 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Client Quit)
00:09:44 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
00:10:04 × christo quits (~chris@81.96.113.213) (Ping timeout: 260 seconds)
00:11:44 christo joins (~chris@81.96.113.213)
00:12:45 <ij> ski, naturally :)
00:12:49 <ph88_> lol
00:14:26 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
00:16:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:16:55 × madjestic quits (~madjestic@86-88-72-244.fixed.kpn.net) (Remote host closed the connection)
00:17:15 <fuzzypixelz> dsal: I did it! https://bpa.st/BC4Q
00:17:50 <fuzzypixelz> dsal: there was this function `iterateMaybeM` in monad-extras which did exactly what I needed
00:18:42 <fuzzypixelz> dsal: it stops when the monad evaluates to a Nothing, but there is aslo `iterateM` which can be given a `a -> Bool`
00:18:59 <fuzzypixelz> https://hackage.haskell.org/package/monad-extras-0.6.0/docs/Control-Monad-Extra.html#v:iterateMaybeM
00:19:01 <ski> % unConsV :: V.Vector a -> Maybe (a,V.Vector a); unConsV v | V.null v = Nothing | otherwise = Just (V.head v,V.tail v); {-# COMPLETE NilV,ConsV #-}; pattern NilV :: V.Vector a; pattern NilV <- (unConsV -> Nothing); pattern ConsV :: a -> V.Vector a -> V.Vector a; pattern ConsV x xs <- (unConsV -> Just (x,xs))
00:19:01 <yahb> ski:
00:19:41 jle` joins (~mstksg@cpe-23-240-75-236.socal.res.rr.com)
00:19:41 × jle` quits (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
00:19:41 jle` joins (~mstksg@unaffiliated/mstksg)
00:19:45 <fuzzypixelz> dsal: Although the code works (it's Haskell of course it works) It lacks style
00:20:00 <fuzzypixelz> I mixed all sorts of syntax
00:20:33 <ski> % case V.generate 4 (^2) of NilV -> V.empty; ConsV x xs -> fmap (x,) xs
00:20:33 <yahb> ski: [(0,1),(0,4),(0,9)]
00:21:08 <ski> ph88_ : something like that ^, perhaps ?
00:21:09 <fuzzypixelz> But the State monad is very cool
00:22:18 christo joins (~chris@81.96.113.213)
00:23:30 <Kronic> sounds like you solved a problem that was annoying you for a while, nice fuzzypixelz
00:24:12 <ski> (i guess, for completeness, one should also add `where NilV = V.empty' and `where ConsV = V.cons')
00:25:14 davr0s joins (~davrs@host81-147-72-1.range81-147.btcentralplus.com)
00:25:45 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
00:25:55 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
00:27:19 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
00:27:48 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
00:28:06 matryoshka joins (~matryoshk@184.75.223.227)
00:29:22 <fuzzypixelz> question: is it a "good" idea to simulate stateful code with monads rather than trying to do it the "pure functional way"?
00:30:13 × davr0s quits (~davrs@host81-147-72-1.range81-147.btcentralplus.com) (Ping timeout: 264 seconds)
00:30:31 × jmchael quits (~jmchael@81.174.205.210) (Ping timeout: 265 seconds)
00:31:20 <Kronic> That question is probably too broad to answer with anything other than "it depends on the specific case"
00:31:38 × Entertainment quits (~entertain@104.246.132.210) (Ping timeout: 260 seconds)
00:31:58 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
00:34:40 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
00:36:05 ArsenArsen joins (~Arsen@fsf/member/ArsenArsen)
00:38:39 × alx741 quits (~alx741@181.196.68.114) (Ping timeout: 260 seconds)
00:40:10 <ph88_> looks good ski ! would it be possible to overload : to be able to write (x:xs) ??
00:40:28 <ski> fuzzypixelz : brackets in `(Exec ns n) <- get' are redundant. you can replace the latter two of the three following `let's (in that `do') by three spaces, each. i would probably replace `instruc = instrucs !! n; op = getOp instruc; arg = getArg instruc' (semis option, if you use layout) with `Instruc op arg = instrucs !! n'. you could put that `case' with definitions of `m' in a `(m,nextGlobal) = case op of
00:40:34 <ski> ...' and define `nextExec' separately
00:40:37 <ski> ph88_ : no
00:40:51 <ph88_> ski, why is that not possible ?
00:40:52 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:f14e:f414:9b65:b890:9d87)
00:40:57 <ski> you could invent some infix operator, though
00:41:45 × dnlkrgr quits (~dnlkrgr@HSI-KBW-46-223-1-192.hsi.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9)
00:41:50 <ph88_> is (x:xs) build into ghc ?
00:42:27 × fuzzypixelz quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 260 seconds)
00:43:17 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
00:43:22 <ski> % unConsV :: V.Vector a -> Maybe (a,V.Vector a); unConsV v | V.null v = Nothing | otherwise = Just (V.head v,V.tail v); {-# COMPLETE NilV,(:@) #-}; pattern NilV :: V.Vector a; pattern NilV <- (unConsV -> Nothing) where {NilV = V.empty}; infixr 5 :@; pattern (:@) :: a -> V.Vector a -> V.Vector a; pattern x :@ xs <- (unConsV -> Just (x,xs)) where {(:@) = V.cons}
00:43:23 <yahb> ski:
00:43:50 <ski> @let data Foo = Int : Bool
00:43:50 <lambdabot> Parse failed: Parse error: :
00:43:52 <ski> % data Foo = Int : Bool
00:43:52 <yahb> ski: ; <interactive>:68:12: error: Illegal binding of built-in syntax: :
00:44:09 <ski> ph88_ : yes, it's a special case in the syntax
00:44:28 <ski> % case V.generate 4 (^2) of NilV -> V.empty; x :@ xs -> fmap (x,) xs
00:44:28 <yahb> ski: [(0,1),(0,4),(0,9)]
00:44:58 <ski> > 2 :@ 3 :@ 5 :@ 7 :@ NilV
00:45:00 <lambdabot> error:
00:45:00 <lambdabot> • Data constructor not in scope: (:@) :: t4 -> t5 -> t2
00:45:00 <lambdabot> • Perhaps you meant one of these:
00:45:04 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 260 seconds)
00:45:09 <ski> oh, right, that was yahb
00:45:12 <ski> % 2 :@ 3 :@ 5 :@ 7 :@ NilV
00:45:13 <yahb> ski: [2,3,5,7]
00:46:07 <ph88_> cool =)
00:46:17 sfvm joins (~sfvm@37.228.215.77)
00:46:18 ski thinks `instance Show a => Show (Vector a)' is broken, ought to respond with `Data.Vector.fromList [2,3,5,7]' or somesuch, there ..
00:46:25 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds)
00:47:01 × Anthaas quits (~Anthaas@unaffiliated/anthaas) (Ping timeout: 264 seconds)
00:47:02 <Feuermagier> how do i append duplicate free to a list?
00:47:05 <ski> > listArray (-3,3) [i ^ 2 | i <- range (-3,3)]
00:47:09 <lambdabot> array (-3,3) [(-3,9),(-2,4),(-1,1),(0,0),(1,1),(2,4),(3,9)]
00:47:12 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
00:48:09 <ski> Feuermagier : are you sure you want to use a list ?
00:48:29 <Feuermagier> hmm, a hashset would probably be wiser
00:48:39 <Feuermagier> valid point. thx
00:48:45 Anthaas joins (~Anthaas@unaffiliated/anthaas)
00:48:53 <ski> what should the result of appending `3' to `[2,3,5,2]' be ?
00:49:00 hackage pcre2 1.1.3 - Regular expressions via the PCRE2 C library (included) https://hackage.haskell.org/package/pcre2-1.1.3 (SShuck)
00:49:05 <Feuermagier> [2,3,5,2]
00:49:08 <Feuermagier> order doesnt matter
00:49:14 <Feuermagier> so it really is a set
00:49:24 <ski> yea
00:49:25 <Feuermagier> but i haven't worked with sets yet
00:49:32 <Feuermagier> (at least not in haskell)
00:49:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
00:51:06 alx741 joins (~alx741@181.196.68.142)
00:51:48 <Feuermagier> do i need to add a build dependancy for those?
00:52:38 <monochrom> Yes.
00:53:35 <Feuermagier> ah, int set and containers. thx!
00:53:43 <Feuermagier> what are qualified imports?
00:53:45 <monochrom> containers comes with GHC, and has Data.Set, binary search tree. Although it comes with GHC, it is still not base, in cabal you have to explicitly say "depends: containers"
00:54:10 <monochrom> For hashing-based things, unordered-containers.
00:56:06 sparsity joins (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145)
00:56:40 × Darwin226 quits (5fa87473@95.168.116.115) (Remote host closed the connection)
00:57:30 hackage cherry-core-alpha 0.3.0.0 - The core library for Cherry Haskell. https://hackage.haskell.org/package/cherry-core-alpha-0.3.0.0 (terezasokol)
00:57:50 × amerigo quits (uid331857@gateway/web/irccloud.com/x-qydxjmmxyizatjlm) (Quit: Connection closed for inactivity)
00:58:52 cheater joins (~user@unaffiliated/cheater)
00:58:56 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
00:59:20 <Feuermagier> how do I define a Set as argument?
00:59:30 <Feuermagier> et (Int, Int) -> Something
00:59:34 <Feuermagier> S*
01:00:24 <Feuermagier> oh, i guess Í shouldnt have imported as qualified
01:01:08 <Feuermagier> oh god now every filter, map and size is broken
01:01:11 <Feuermagier> ._.
01:01:32 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)
01:01:44 <Feuermagier> shouldn't the compiler be able to deduce those?
01:01:50 <monochrom> You probably haven't known the trick of having two import lines for the "same" module.
01:02:17 <monochrom> import Data.Set (Set); import qualified Data.Set as S
01:03:03 <monochrom> So you can just say "Set" for the type, no need to say "S.Set", but you don't have a name clash with filter etc.
01:03:27 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 260 seconds)
01:04:21 <Feuermagier> so. what should I import if I want to use Set, but don't want conflicts with List ?
01:04:50 <monochrom> <monochrom> import Data.Set (Set); import qualified Data.Set as S
01:05:05 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
01:05:06 <Feuermagier> so, what if i want to use sizeOfSet ?
01:05:16 <monochrom> S.size
01:05:22 <Feuermagier> ah, ok. thx!
01:05:23 <monochrom> There is no "sizeOfSet".
01:05:27 <ski> @let ximap :: (Ix i,Ix j,Monoid e) => (j,j) -> (i -> j) -> (Array i e -> Array j e); ximap ix f arr = accumArray (<>) mempty ix (map (first f) (assocs arr))
01:05:28 <lambdabot> Defined.
01:05:30 <ski> @undefine
01:05:30 <ski> @let ximap :: (Ix i,Ix j,Monoid e) => (j,j) -> (i -> j) -> (Array i e -> Array j e); ximap ix f arr = accumArray (<>) mempty ix (map (first f) (assocs arr))
01:05:30 <lambdabot> Undefined.
01:05:31 <lambdabot> Defined.
01:05:38 <ski> > map getSum (elems (ximap (0,3) (listArray (0,4) [0,3,1,0,1] !) (listArray (0,4) (map Sum [3,4,5,6,7]))))
01:05:41 <lambdabot> [9,12,0,4]
01:07:01 <Feuermagier> can I take stuff out of a set in (x : xs) style?
01:07:07 <ski> no
01:07:13 <Feuermagier> ._.
01:07:24 <Feuermagier> how do i iterate through elegantly then?
01:07:31 <ski> @hoogle Set a -> Maybe (a,Set a)
01:07:32 <lambdabot> Data.Set maxView :: Set a -> Maybe (a, Set a)
01:07:32 <lambdabot> Data.Set minView :: Set a -> Maybe (a, Set a)
01:07:32 <lambdabot> Data.Set.Internal maxView :: Set a -> Maybe (a, Set a)
01:07:35 <ski> is one way
01:07:52 <dsal> Feuermagier: what are you trying to do?
01:08:00 <ski> @hoogle Set a -> [a]
01:08:01 <lambdabot> Data.Set elems :: Set a -> [a]
01:08:02 <lambdabot> Data.Set toList :: Set a -> [a]
01:08:02 <lambdabot> Data.Set toAscList :: Set a -> [a]
01:08:07 <dsal> Sets are foldable.
01:08:16 <monochrom> Use minView or maxView. Or even better, use Foldable or Traversable methods.
01:08:51 <monochrom> Err oops, not Foldable or Traversable methods.
01:09:18 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 256 seconds)
01:09:23 <monochrom> But it has S.map, S.foldr, S.foldl, etc.
01:09:26 <Feuermagier> dsal, oh, that's a bit complicated :D - essentially something like a for loop that maps elements from one list into another list duplicate free. (The elements aren't copied tho. they are used in a function that generates new elements)
01:09:30 <monochrom> See the doc for the full list.
01:09:41 <dsal> Feuermagier: Set.map ?
01:10:40 <ski> @type S.map
01:10:41 <lambdabot> Ord b => (a -> b) -> S.Set a -> S.Set b
01:11:11 <Feuermagier> interesting
01:11:15 <Feuermagier> that might work
01:11:36 <dsal> If you're always working in Sets, "duplicates" isn't a thing. If you're thinking "iterate" or "for loop" or whatever, it might be helpful to think in terms of higher level folds or maps or whatever.
01:11:45 <ski> > S.map (\case 0 -> 0; 1 -> 3; 2 -> 1; 3 -> 0; 4 -> 1) (S.fromList [0,1,2,3,4])
01:11:47 <lambdabot> fromList [0,1,3]
01:13:31 <Feuermagier> I'll try it.
01:13:41 <Feuermagier> See you in a bit for more questions :D
01:14:05 × hiroaki_ quits (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
01:15:21 <ski> % :set -XOverloadedLists
01:15:21 <yahb> ski:
01:15:28 <ski> % case [0,1,2] :: V.Vector Int of [x,y,z] -> (x,y,z)
01:15:28 <yahb> ski: (0,1,2)
01:15:39 <ski> % case [0,1,2] :: V.Vector Int of x:xs -> (x,xs)
01:15:39 <yahb> ski: ; <interactive>:78:33: error:; * Couldn't match expected type `V.Vector Int' with actual type `[a]'; * In the pattern: x : xs; In a case alternative: x : xs -> (x, xs); In the expression: case [0, 1, 2] :: V.Vector Int of { x : xs -> (x, xs) }; * Relevant bindings include it :: (a, [a]) (bound at <interactive>:78:1)
01:15:44 <Feuermagier> how do I pattern match for an empty set?
01:16:22 <ski> > S.null (S.fromList [2,3,5,7])
01:16:25 <lambdabot> False
01:16:43 <Feuermagier> oh, just S. null, not S.Set.null
01:17:30 <ski> > case S.fromList [2,3,5,7] of (S.maxView -> Just (x,xs)) -> (x,xs)
01:17:31 <Feuermagier> hmm, " Qualified name in binding position: S.null"
01:17:32 <lambdabot> (7,fromList [2,3,5])
01:17:52 <ski> you don't match on `null', it's a predicate/function
01:18:48 <ski> > case S.fromList [2,3,5,7] of s@(S.null -> False) -> S.findMax s
01:18:50 <lambdabot> 7
01:20:05 <Feuermagier> how would I match on an empty Set then?
01:20:29 <koz_> Feuermagier: Either case-match on size, or use 'if S.null mySet then blah else foo'
01:22:18 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
01:23:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:23:38 <dsal> > null S.empty
01:23:40 <lambdabot> True
01:24:44 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
01:24:48 <dsal> > let f s | null s = "iz null"; f _ = "iz not null" in f <$> [S.empty, S.singleton 1]
01:24:50 <lambdabot> ["iz null","iz not null"]
01:25:39 <Feuermagier> if i have a match case and guards, and the guards are non-exhaustive, will it fall through to other matches?
01:25:51 <dsal> ^ lambdabot
01:25:55 <xsperry> Feuermagier, there's also S.toList
01:26:02 <dsal> :t toList
01:26:04 <lambdabot> error:
01:26:04 <lambdabot> Ambiguous occurrence ‘toList’
01:26:04 <lambdabot> It could refer to
01:26:31 <xsperry> :t S.toList
01:26:32 <lambdabot> S.Set a -> [a]
01:26:33 <dsal> Set is foldable. You can do all the folds. But the questions suggest there's an easier way to do stuff. e.g., S.map, various folds, etc...
01:27:10 <dsal> I just mean you don't need S.toList. Set is foldable.
01:27:25 <Feuermagier> I think I'll need a foldright, as I also need to change the state of a gameboard along the way
01:27:31 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Remote host closed the connection)
01:27:54 <xsperry> might be an option if he's manually recursing over the elements, in some minority cases manual recursion makes for a cleaner code
01:28:18 hiroaki_ joins (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
01:29:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
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:25 <ski> % pattern EmptyS :: S.Set a; pattern EmptyS <- (S.null -> True) where {EmptyS = S.empty}
01:29:25 <yahb> ski:
01:29:30 <ski> % {-# COMPLETE EmptyS,AddMin #-}; pattern AddMin :: Ord a => a -> S.Set a -> S.Set a; pattern AddMin min set <- (S.minView -> Just (min,set)) where AddMin min set | min `S.notMember` set = S.insert min set
01:29:30 <yahb> ski:
01:29:37 <ski> % {-# COMPLETE EmptyS,AddMax #-}; pattern AddMax :: Ord a => a -> S.Set a -> S.Set a; pattern AddMax max set <- (S.maxView -> Just (max,set)) where AddMax max set | max `S.notMember` set = S.insert max set
01:29:37 <yahb> ski:
01:29:44 <ski> % case S.fromList [2,3,5,7] of AddMax x xs -> (x,xs)
01:29:45 <yahb> ski: (7,fromList [2,3,5])
01:30:09 <ski> % AddMax 7 [2,3,5]
01:30:09 <yahb> ski: fromList [2,3,5,7]
01:30:14 <ski> % AddMax 7 [2,3,5,7]
01:30:15 <yahb> ski: fromList *** Exception: Ghci44:1:1: Non-exhaustive patterns in function $bAddMax
01:30:16 <ski> % AddMax 7 [2,3,5,11]
01:30:17 <yahb> ski: fromList [2,3,5,7,11]
01:30:20 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
01:30:31 <ski> oh, oops :)
01:31:52 Fischmiep joins (~Fischmiep@46.59.219.2)
01:32:15 <ski> % {-# COMPLETE EmptyS,AddMin #-}; pattern AddMin :: Ord a => a -> S.Set a -> S.Set a; pattern AddMin min set <- (S.minView -> Just (min,set)) where AddMin min set | min < S.findMin set = S.insert min set
01:32:15 <yahb> ski:
01:32:19 <ski> % {-# COMPLETE EmptyS,AddMax #-}; pattern AddMax :: Ord a => a -> S.Set a -> S.Set a; pattern AddMax max set <- (S.maxView -> Just (max,set)) where AddMax max set | max > S.findMax set = S.insert max set
01:32:19 <yahb> ski:
01:32:25 <ski> % AddMax 7 [2,3,5]
01:32:25 <yahb> ski: fromList [2,3,5,7]
01:32:29 <ski> % AddMax 7 [2,3,5,7]
01:32:29 <yahb> ski: fromList *** Exception: Ghci53:1:1: Non-exhaustive patterns in function $bAddMax
01:32:30 hackage pcre2 1.1.3.1 - Regular expressions via the PCRE2 C library (included) https://hackage.haskell.org/package/pcre2-1.1.3.1 (SShuck)
01:32:32 <ski> % AddMax 7 [2,3,5,11]
01:32:33 <yahb> ski: fromList *** Exception: Ghci53:1:1: Non-exhaustive patterns in function $bAddMax
01:33:48 <ski> Feuermagier : if you really want to match on empty set, and perhaps alternatively also on min/max & remainder of set, you could use pattern synonyms like ^
01:34:02 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
01:34:11 <Feuermagier> ski, i simply used a guard
01:34:19 loller_ joins (uid358106@gateway/web/irccloud.com/x-aepjfnaneozrdleq)
01:34:35 <Feuermagier> I'm about to write one absolutely massive foldr
01:34:45 <ski> (Feuermagier : "if i have a match case and guards, and the guards are non-exhaustive, will it fall through to other matches?" -- yes, as dsal showed)
01:34:58 × Fischmie1 quits (~Fischmiep@84.46.41.145) (Ping timeout: 256 seconds)
01:35:29 <ski> Feuermagier : what's your fold computing ?
01:36:38 notzmv` joins (~user@191.205.12.9)
01:39:23 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
01:39:24 <Feuermagier> ski, I perform moves in a game. A stone is placed. As a result of that up to 5 fields change (in that step). All fields changed could be in an unstable state and initiate further changes using the same function as the initial stone-place. My input is a Set of Fields in (potentially) unstable state. I go through the set, update the board along the way. If the update results in more changed fields i'll have to repeat (call recursively with new board)
01:40:16 × columbarius quits (~columbari@87.123.198.157) (Ping timeout: 246 seconds)
01:40:43 × sphalerite quits (~sphalerit@NixOS/user/lheckemann) (Ping timeout: 258 seconds)
01:40:51 <Feuermagier> So the input is one (potentially unstable) coordinate for a field (where I just placed a stone) + a board. And the output is a new board.
01:41:51 <ski> hmm .. should there be a `divideSet :: Ord a => Int -> Set a -> [Set a]' where `divideSet k set' divides `set' into a partition of `k' parts, all elements of an earlier set in the list less than all elements of a later set, and if the set has `n' elements, then the first `mod n k' sets have `div n k + 1' elements, and the remaining `n - mod n k' sets have `div n k' elements ?
01:42:20 <Feuermagier> probably...not
01:42:26 <ski> (well, i guess it's not quite a partition, since the parts would be allowed to be empty ..)
01:42:32 × notzmv` quits (~user@191.205.12.9) (Ping timeout: 260 seconds)
01:42:42 columbarius joins (~columbari@i5E86B356.versanet.de)
01:43:06 <Feuermagier> think of it in this way: I have to update the entire board "breadth first" - because every move in "one level" can generate more unstable ones
01:43:22 notzmv``` joins (~user@191.205.12.9)
01:43:55 <Feuermagier> ski, actually, if you are intereted, just take a look here: https://virusga.me/
01:44:10 <Feuermagier> watch a replay of one of the longer games
01:46:52 teardown joins (~user@gateway/tor-sasl/mrush)
01:47:03 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:1e7:f4eb:ff4e:8154) (Read error: Connection reset by peer)
01:47:35 <Feuermagier> When does it make sense to use a mutable datastructure in haskell (and how hard to use are they) - because I think I might have a case here
01:50:20 <ski> hm, i'm still not sure what you're using the set for
01:50:38 <Feuermagier> ski, the set is the accumulation of volatile fields
01:50:41 <ski> (i'm not sure what you mean by "field" .. is that a square on the board ?)
01:50:46 <Feuermagier> yes, squares
01:51:02 ski was first thinking of record fields
01:51:10 × notzmv``` quits (~user@191.205.12.9) (Ping timeout: 256 seconds)
01:52:17 notzmv joins (~user@unaffiliated/zmv)
01:52:18 <Feuermagier> ski, atm my gameboard is a [[Int]], so I should probably use an indexable array, or even a mutable one, right?
01:54:04 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
01:54:49 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 264 seconds)
01:55:57 × mrchampion quits (~mrchampio@38.18.109.23) (Read error: Connection reset by peer)
01:56:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:56:44 <ski> i'm wondering if you could define the new game state "in one go" from the old one, in some nifty way
01:57:41 <Feuermagier> ski, there definitly need to be steps. currently i'm thinking of one step as one recursive call.
01:59:25 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds)
01:59:27 <Feuermagier> essentially a while (there are unstable squares) loop
01:59:56 mrchampion joins (~mrchampio@38.18.109.23)
02:06:10 × GuerrillaMonkey quits (~Jeanne-Ka@static-198-54-134-46.cust.tzulo.com) (Ping timeout: 246 seconds)
02:08:10 isovector joins (~isovector@172.103.216.166)
02:08:48 <isovector> is there any good way of debugging vector "index of out bounds?"
02:09:02 <isovector> i'm in pure code and have a super tight loop that is doing vector lookups
02:11:02 × sm2n quits (~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca) (Remote host closed the connection)
02:11:43 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds)
02:11:44 <Axman6> Debug.Trace can be very helpful for that, I've written plenty of code that looks like foo a b n | trace ("some note",a,b,n) False = undefined | otherwise = ...
02:11:46 <Axman6> :t trace
02:11:48 <lambdabot> error: Variable not in scope: trace
02:11:54 <Axman6> %:t trace
02:11:55 <Uniaika> isovector: I would just print the index and vector size at each iteration? You're doing safe-yet-throwy Vector lookups, right?
02:11:56 × plutoniix quits (~q@node-ufv.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
02:12:00 hackage hledger-lib 1.20.2 - A reusable library providing the core functionality of hledger https://hackage.haskell.org/package/hledger-lib-1.20.2 (SimonMichael)
02:12:37 <Axman6> @hoogle trace
02:12:37 <lambdabot> Debug.Trace trace :: String -> a -> a
02:12:37 <lambdabot> Linear.Matrix trace :: (Trace m, Num a) => m (m a) -> a
02:12:37 <lambdabot> Linear.Matrix trace :: (Trace m, Foldable m, Num a) => m (m a) -> a
02:13:01 <isovector> Uniaika: it's a really really tight loop. we're talking a few million indices
02:13:24 <isovector> in parallel
02:13:36 <isovector> trace is just asking for a bad time
02:13:38 <Uniaika> :O
02:13:40 <Uniaika> okay
02:14:25 <Axman6> you cpuld conditionally trace the appropriate values by computing the indices and only printing when they are out of bounds
02:14:33 <isovector> i tried `fromJust . V.!?` and sticking HasCallStacks everywhere. sorta helps
02:14:37 <isovector> oh that's a good idea
02:14:57 <Axman6> but often it's too late at that point to see how you got to the wrong place
02:14:59 <isovector> it's amazing how shitty haskell is at this sort of stuff
02:15:19 fuzzypixelz joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
02:15:56 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
02:16:36 toorevitimirp joins (~tooreviti@117.182.181.108)
02:17:18 <isovector> can i attach things to the callstack?
02:17:31 <isovector> without writing a bunch of dumb wrappers
02:19:22 × fuzzypixelz quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Client Quit)
02:20:36 × toorevitimirp quits (~tooreviti@117.182.181.108) (Remote host closed the connection)
02:21:43 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
02:29:25 × notzmv quits (~user@unaffiliated/zmv) (Ping timeout: 240 seconds)
02:29:34 <ski> Feuermagier : "I have to update the entire board \"breadth first\"" -- mm, so given the board, and a change-set on some squares, you figure out the new values of those squares (after checking whether any would be unstable, and in that case computing the resulting stable square, plus adjacent changes), collecting the change-set of adjacent squares. then you repeat until the change-set is empty
02:30:39 notzmv joins (~user@unaffiliated/zmv)
02:30:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
02:31:24 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
02:31:53 <Feuermagier> ski, exactly
02:32:19 <Feuermagier> i think it'll be much shorter and more elegant than expected (almost done)
02:32:34 <Feuermagier> foldr is magic
02:32:39 <ski> possibly you could use `Map (Int,Int) T' or `IntMap (IntMap T)' to represent your board. i think probably `Array (Int,Int) T' is not that suitable here (unless you could figure out some way to compute the full set of changes in one go, without having to generate a new array inbetween)
02:33:28 <Feuermagier> i'll worry about performance once it works
02:34:19 <ski> i guess one could also handle it one single (unstable to stable square, possibly triggering changes of adjecent squares) change/trickle at a time, rather than the above (change-)set-at-a-time .. but that (latter/above) approach seems nicer to me, for some reason ..
02:34:48 <Feuermagier> ski, i'll show you what i'm doing soon
02:35:47 <ski> (you could also consider using some mutable array (in `ST s', or `IO'), either with one-at-a-time or set-at-a-time .. but i'm not sure that's that called for)
02:37:49 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa) (Remote host closed the connection)
02:38:06 Vulfe joins (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa)
02:38:07 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
02:38:50 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa) (Remote host closed the connection)
02:40:20 <Feuermagier> ski, https://pastebin.com/jXmeVriB
02:40:54 <Feuermagier> ski, overflow will update the board and return new unsafe squares
02:43:16 isovector parts (~isovector@172.103.216.166) ("WeeChat 2.9")
02:45:49 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 264 seconds)
02:48:41 <ski> Feuermagier : instead of `\pos newBoard -> ..(fst newBoard)..(snd newBoard)..', use `\pos (unstableSoFar,boardSoFar) -> ..unstableSoFar..boardSoFar..'. also use `let (adjacentUnstable,updatedBoard) = overflow ... in ..adjacentUnstable..updatedBoard..'
02:49:00 <ski> (rename local variables as you prefer)
02:49:15 <Feuermagier> ah, nice suggestion
02:49:50 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:8c3f:4fda:4ef5:759f) (Ping timeout: 264 seconds)
02:49:52 <ski> the first suggestion is more cosmetic (making it more readable). the second also avoids recomputing that `overflow' call
02:52:10 <Feuermagier> where do I place the let?
02:52:22 mnrmnaugh is now known as ringzero
02:52:32 × xff0x_ quits (~fox@2001:1a81:52f4:bf00:5dee:641f:6949:4e53) (Ping timeout: 260 seconds)
02:53:15 <ski> (also, what i was sketching above was not to update the board for each possibly unstable position that you inspect in the change-set, but rather to accumulate/compute a set of updates (in addition to computing the new unstable change-set), and then to apply that set of updates all at once, before looping around (checking if new unstable change-set is empty, otherwise going throught it again, &c. ..))
02:53:29 <ski> Feuermagier : right after the `->'
02:54:08 xff0x_ joins (~fox@2001:1a81:532a:2200:39fa:9b50:744f:71fe)
02:54:56 <ski> Feuermagier : or, instead of using a lambda, define `inspectChanged pos (unstableSoFar,boardSoFar) = ...' in a `where'. then you can have a further `where' nested inside that, with `(adjacentUnstable,updatedBoard) = overflow ...'
02:55:11 <ski> (passing `inspectChanged' to `foldr')
02:55:13 × matryoshka quits (~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
02:55:27 matryoshka joins (~matryoshk@184.75.223.227)
02:55:31 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
02:55:36 <Feuermagier> figured the 'let' out, thx!
02:55:57 <ski> the `where's might look more readable. you could try both out, and see which you prefer
02:58:59 jedws joins (~jedws@121.209.189.201)
02:59:01 ringzero is now known as mnrmnaugh
02:59:17 Vulfe joins (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa)
03:00:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:01:33 × electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
03:03:59 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa) (Ping timeout: 272 seconds)
03:05:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
03:06:27 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-qgjtzfvygbpsyzjy)
03:06:43 × theDon quits (~td@94.134.91.184) (Ping timeout: 246 seconds)
03:07:16 × puffnfresh quits (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 272 seconds)
03:08:33 × acidjnk_new quits (~acidjnk@p200300d0c704e7909c09b71b3d2bb082.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
03:08:39 theDon joins (~td@muedsl-82-207-238-118.citykom.de)
03:09:05 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
03:09:51 christo joins (~chris@81.96.113.213)
03:13:20 xirhtogal joins (~lagothrix@unaffiliated/lagothrix)
03:13:20 × lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
03:13:20 xirhtogal is now known as lagothrix
03:13:22 × jedws quits (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:14:22 × christo quits (~chris@81.96.113.213) (Ping timeout: 265 seconds)
03:15:01 CMCDragonkai2 joins (~Thunderbi@124.19.3.250)
03:15:14 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
03:16:44 drbean joins (~drbean@TC210-63-209-95.static.apol.com.tw)
03:17:01 machinedgod joins (~machinedg@24.105.81.50)
03:18:42 knam joins (~knam@d172-218-172-104.bchsia.telus.net)
03:20:50 Vulfe joins (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa)
03:24:12 × sparsity quits (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed)
03:24:47 <ezzieyguywuf> I dunno who phadej is, but I see that name on all sorts of haskell projects
03:25:28 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa) (Ping timeout: 260 seconds)
03:31:00 <jle`> one of the great Olegs of Haskell
03:31:20 drbean_ joins (~drbean@TC210-63-209-52.static.apol.com.tw)
03:32:07 <ski> @quote oleg
03:32:07 <lambdabot> oleg says: I submit that a type-checker that accepts ill-typed terms, loops and causes segmentation faults is not correct.
03:32:16 × drbean quits (~drbean@TC210-63-209-95.static.apol.com.tw) (Ping timeout: 256 seconds)
03:34:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:37:05 christo joins (~chris@81.96.113.213)
03:37:46 wei2912 joins (~wei2912@unaffiliated/wei2912)
03:40:55 ezzieyguywuf nods
03:41:32 × m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 260 seconds)
03:41:49 <ezzieyguywuf> i only just pulled my screen closer to look at his github avator. from afar, my brain interpreted as a candy skull á la Día de los Muertos
03:42:17 ski . o O ( Simon,Oleg,Edward,.. )
03:44:17 <MarcelineVQ> thor*
03:44:27 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 260 seconds)
03:46:19 × zebrag quits (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
03:46:35 <ezzieyguywuf> do y'all use darcs?
03:46:40 <ezzieyguywuf> I've never tried it nor heard of it
03:46:48 <dsal> I used to years ago
03:47:01 <dsal> It's very friendly
03:47:06 <ezzieyguywuf> dsal: why'd you stop?
03:47:47 <dsal> hg and then github, I guess. I've used it recently as well
03:48:15 plutoniix joins (~q@184.82.194.56)
03:48:33 Vulfe joins (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa)
03:50:00 <ezzieyguywuf> dsal: github, or git?
03:50:15 <ezzieyguywuf> as unfamiliar as I am with darcs, I dunno if it is more comparable to the former or the latter
03:50:28 <dsal> Probably more github
03:51:09 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
03:51:19 <ezzieyguywuf> how can I browse the darcs source online?
03:51:28 zebrag joins (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
03:51:32 <ezzieyguywuf> the hackage page points me to darcs.net
03:52:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
03:52:54 <dsal> git is probably the fourth dvcs I've spent time in. It captured the section of my brain that models revision control. darcs is quite different
03:53:12 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa) (Ping timeout: 260 seconds)
03:54:35 <ephemient> as the instructions on the hackage page say, `darcs get http://darcs.net/` gets the source code
03:54:58 <ezzieyguywuf> ephemient: sure, but I was specifically wanting to browse online, I don't presently have darcs installed
03:55:16 <dsal> , darcs # :)
03:55:40 <ezzieyguywuf> ?
03:55:59 <ephemient> there's darcsweb set up on hub.darcs.net
03:56:09 <dsal> github.com/shopify/comma
03:56:41 <ephemient> but browsing locally would be faster I think
03:56:51 <ezzieyguywuf> dsal: hah nice.
03:58:20 <ezzieyguywuf> hah, even this isn't too helpful https://hub.darcs.net/darcs , as I don't know what the most recent commit or source is
03:58:41 <dsal> ezzieyguywuf: the model is a bit different from what you're used to.
03:58:50 <ezzieyguywuf> indeed
03:59:07 <ezzieyguywuf> I'm mostly just wanting to find out if they've bumped their quickcheck upperbound yet or not
03:59:44 <dsal> Patch chronology is less important than other systems.
04:00:43 <dsal> It does mean that merging "unrelated" repositories is natural in a way that's really confusing if you're coming from git.
04:00:58 × Wuzzy quits (~Wuzzy@p5790e186.dip0.t-ipconnect.de) (Quit: Wuzzy)
04:01:20 <dolio> I think you can merge two completely unrelated git repos.
04:01:47 <dsal> You *can*. I've done an 18-way octopus merge before. But it's a lot more natural in darcs.
04:02:46 <ephemient> I think Git nowadays warns if you're merging different roots together (but it'll still do it)
04:02:54 × sakirious quits (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Quit: The Lounge - https://thelounge.chat)
04:03:49 <dsal> In the pre-github days, darcs was really neat for contributing in a non-centralized way. You could git clone from a random URL, make local changes, and then 'darcs send' your changes back. It'd email them. I had a thing that would receive those and apply them if they were signed properly
04:04:06 sakirious joins (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
04:04:18 Rudd0 joins (~Rudd0@185.189.115.103)
04:04:46 <ezzieyguywuf> it's a post-github world
04:04:58 <ephemient> I remember doing that with SVK, but definitely cleaner in Darcs
04:06:16 × edwtjo quits (~edwtjo@fsf/member/edwtjo) (Ping timeout: 240 seconds)
04:06:53 drbean joins (~drbean@TC210-63-209-41.static.apol.com.tw)
04:07:37 × drbean_ quits (~drbean@TC210-63-209-52.static.apol.com.tw) (Ping timeout: 246 seconds)
04:08:09 <dsal> ezzieyguywuf: It's post-github, but the alternatives are basically just "github-but-not-github." git used to have some email infrastructure that was kind of neat, but by almost every metric, git was worse than darcs when I started using git from darcs.
04:08:57 × xff0x_ quits (~fox@2001:1a81:532a:2200:39fa:9b50:744f:71fe) (Ping timeout: 260 seconds)
04:09:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
04:09:24 xff0x_ joins (~fox@2001:1a81:532a:2200:95e9:9dd9:cd9c:c473)
04:09:50 <ezzieyguywuf> in here, the >= 2.11 is redundant right? "QuickCheck >= 2.11 && ^>= 2.14"
04:11:29 <dolio> No, I don't think so.
04:11:31 knupfer joins (~Thunderbi@87.123.206.165)
04:11:44 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
04:12:05 × CMCDragonkai2 quits (~Thunderbi@124.19.3.250) (Ping timeout: 240 seconds)
04:12:37 <ezzieyguywuf> if it has to be >= 2.14, then it can't really be 2.11 can it?
04:12:52 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:14:03 <dolio> Isn't ^>= like <, but can be relaxed?
04:14:54 <ezzieyguywuf> dolio: I think per the documentanio, ^>= 2.14 is like '>=2.14 && <2.15'
04:15:26 <ezzieyguywuf> or I completely misunderstood the documentation..
04:16:21 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
04:17:32 <dolio> Yeah, that does seem to be the case.
04:17:56 × rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
04:20:18 × kderme quits (2eb0d7c7@ppp046176215199.access.hol.gr) (Remote host closed the connection)
04:20:30 <ezzieyguywuf> dolio: it seems to be the case that I misunderstood?
04:20:39 <dolio> Oh, sorry, no. :)
04:20:57 <ezzieyguywuf> lol!
04:21:09 <dolio> You read correctly, and the >= 2.11 seems redundant.
04:21:11 <ezzieyguywuf> no worries, just trying to make sure I understand
04:21:48 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
04:22:30 christo joins (~chris@81.96.113.213)
04:27:04 × christo quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
04:29:22 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
04:30:25 Vulfe joins (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa)
04:31:56 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
04:34:27 sgibber2018 joins (~arch-gibb@2600:6c55:6d80:3243:c2cb:38ff:fe8d:b46f)
04:34:55 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa) (Remote host closed the connection)
04:35:01 Vulfe joins (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa)
04:35:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:36:24 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:eccf:ce03:c08a:b7aa) (Remote host closed the connection)
04:36:44 × thunderrd quits (~thunderrd@183.182.111.131) (Remote host closed the connection)
04:39:07 × matryoshka quits (~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
04:40:07 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
04:40:57 × kupi quits (uid212005@gateway/web/irccloud.com/x-nyttljrtonzbgexf) (Quit: Connection closed for inactivity)
04:41:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
04:42:21 × concept2 quits (~concept2@unaffiliated/tubo) (Quit: Ping timeout (120 seconds))
04:42:32 TooDifficult joins (~TooDiffic@139.59.59.230)
04:42:42 concept2 joins (~concept2@unaffiliated/tubo)
04:43:22 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (Ping timeout: 260 seconds)
04:43:32 thunderrd joins (~thunderrd@183.182.111.131)
04:44:34 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
04:47:25 ByronJohnson joins (~bairyn@unaffiliated/bob0)
04:51:25 Stanley00 joins (~stanley00@unaffiliated/stanley00)
04:56:12 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 260 seconds)
04:56:16 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (Ping timeout: 240 seconds)
04:56:16 × Tene quits (~tene@poipu/supporter/slacker/tene) (Ping timeout: 240 seconds)
04:56:58 Vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
04:57:59 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
04:58:18 DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
04:58:34 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-qwjibsljgvydusqt) ()
05:01:10 Tene joins (~tene@mail.digitalkingdom.org)
05:01:10 × Tene quits (~tene@mail.digitalkingdom.org) (Changing host)
05:01:10 Tene joins (~tene@poipu/supporter/slacker/tene)
05:01:38 × Vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
05:02:32 ADG1089__ joins (~aditya@223.235.213.117)
05:07:21 ByronJohnson joins (~bairyn@unaffiliated/bob0)
05:13:28 nbloomf joins (~nbloomf@2600:1700:ad14:3020:c48f:1a20:b814:adb4)
05:15:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:15:56 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (Ping timeout: 240 seconds)
05:16:45 × Tene quits (~tene@poipu/supporter/slacker/tene) (Ping timeout: 240 seconds)
05:17:27 × coppro quits (~coppro@185.204.1.185) (Remote host closed the connection)
05:19:34 × thunderrd quits (~thunderrd@183.182.111.131) (Remote host closed the connection)
05:19:53 Vulfe joins (~vulfe@2600:1702:31b0:34e0:8ef:49b9:dcb7:f65d)
05:24:47 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:8ef:49b9:dcb7:f65d) (Ping timeout: 260 seconds)
05:27:21 × zebrag quits (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
05:27:49 × knam quits (~knam@d172-218-172-104.bchsia.telus.net) (Quit: Konversation terminated!)
05:29:27 Tene joins (~tene@mail.digitalkingdom.org)
05:29:27 × Tene quits (~tene@mail.digitalkingdom.org) (Changing host)
05:29:27 Tene joins (~tene@poipu/supporter/slacker/tene)
05:29:28 ByronJohnson joins (~bairyn@unaffiliated/bob0)
05:30:55 × shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:ac1c:ca8f:6bba:6ac5) (Ping timeout: 272 seconds)
05:34:11 jedws joins (~jedws@121.209.189.201)
05:34:17 × jedws quits (~jedws@121.209.189.201) (Client Quit)
05:36:11 jedws joins (~jedws@121.209.189.201)
05:36:29 thunderrd joins (~thunderrd@183.182.111.131)
05:38:17 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:a87e:8f8c:63a3:698b)
05:43:04 × thunderrd quits (~thunderrd@183.182.111.131) (Remote host closed the connection)
05:44:55 thunderrd joins (~thunderrd@183.182.111.131)
05:48:59 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
05:50:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
05:51:47 × thunderrd quits (~thunderrd@183.182.111.131) (Remote host closed the connection)
05:53:25 × ADG1089__ quits (~aditya@223.235.213.117) (Quit: Konversation terminated!)
05:53:25 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
05:53:41 ADG1089__ joins (~aditya@223.235.213.117)
05:54:18 Tario joins (~Tario@201.192.165.173)
05:57:19 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
05:57:40 × jedws quits (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:57:41 gxt joins (~gxt@gateway/tor-sasl/gxt)
06:05:56 × ADG1089__ quits (~aditya@223.235.213.117) (Ping timeout: 240 seconds)
06:06:55 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 265 seconds)
06:12:38 × ddellacosta quits (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
06:15:32 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 260 seconds)
06:17:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:18:33 × eacameron quits (uid256985@gateway/web/irccloud.com/x-oyeaqbkzntopnzns) (Quit: Connection closed for inactivity)
06:19:36 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
06:22:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
06:25:27 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
06:26:16 × Anthaas quits (~Anthaas@unaffiliated/anthaas) (Ping timeout: 240 seconds)
06:27:00 Anthaas joins (~Anthaas@unaffiliated/anthaas)
06:31:12 cheater joins (~user@unaffiliated/cheater)
06:32:46 aljce joins (617326cd@97-115-38-205.ptld.qwest.net)
06:34:09 <aljce> Does anyone know how to coerce newtypes in accelerate? I have newtype Foo = Foo Word16 and I want to write the function fromWord16 :: Exp Word16 -> Exp Foo
06:35:46 ADG1089__ joins (~aditya@223.235.213.117)
06:40:35 vicfred joins (~vicfred@unaffiliated/vicfred)
06:49:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:51:46 × knupfer quits (~Thunderbi@87.123.206.165) (Ping timeout: 246 seconds)
06:59:35 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:03:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
07:13:07 <dminuoso> aljce: Maybe this? bitcast :: (Elt a, Elt b, IsScalar (EltR a), IsScalar (EltR b), BitSizeEq (EltR a) (EltR b)) => Exp a -> Exp b
07:16:05 × ADG1089__ quits (~aditya@223.235.213.117) (Remote host closed the connection)
07:16:13 <dminuoso> Since the data constructor of Exp is not exposed, you can't pierce that with a coerce.
07:16:34 ADG1089__ joins (~aditya@223.235.213.117)
07:17:17 <dminuoso> So just provide an `instance Elt Foo` and it should suffice
07:17:42 <dminuoso> (If you use generalized newtype deriving, then it should be a no brainer)
07:23:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
07:25:23 Vulfe joins (~vulfe@2600:1702:31b0:34e0:d44b:5996:fadb:8476)
07:25:52 Franciman joins (~francesco@host-95-250-152-231.retail.telecomitalia.it)
07:27:08 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
07:27:18 × ADG1089__ quits (~aditya@223.235.213.117) (Remote host closed the connection)
07:29:51 ADG1089__ joins (~aditya@223.235.213.117)
07:30:12 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:d44b:5996:fadb:8476) (Ping timeout: 260 seconds)
07:30:53 × sfvm quits (~sfvm@37.228.215.77) (Remote host closed the connection)
07:31:36 ransom joins (~c4264035@2a09:bac0:72::82f:c34)
07:32:22 Vulfe joins (~vulfe@2600:1702:31b0:34e0:c8e8:1946:fcf7:4676)
07:32:27 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
07:32:51 × ADG1089__ quits (~aditya@223.235.213.117) (Remote host closed the connection)
07:36:44 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
07:37:12 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:c8e8:1946:fcf7:4676) (Ping timeout: 260 seconds)
07:37:39 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:38:57 gxt joins (~gxt@gateway/tor-sasl/gxt)
07:39:12 × ransom quits (~c4264035@2a09:bac0:72::82f:c34) (Ping timeout: 260 seconds)
07:49:13 ADG1089__ joins (~aditya@171.76.164.4)
07:50:25 × ADG1089__ quits (~aditya@171.76.164.4) (Remote host closed the connection)
07:52:43 × philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Quit: Lost terminal)
07:52:57 × darjeeling_ quits (~darjeelin@122.245.217.190) (Ping timeout: 260 seconds)
07:56:54 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
07:57:05 ericsagnes joins (~ericsagne@2405:6580:0:5100:7c82:3285:3449:9fb4)
07:57:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:04:53 × loller_ quits (uid358106@gateway/web/irccloud.com/x-aepjfnaneozrdleq) (Quit: Connection closed for inactivity)
08:05:00 ransom joins (~c4264035@8.47.12.52)
08:05:35 bitmagie joins (~Thunderbi@200116b8064af400cdd108708eb3d2c6.dip.versatel-1u1.de)
08:06:54 thunderrd joins (~thunderrd@183.182.111.131)
08:07:12 × bitmagie quits (~Thunderbi@200116b8064af400cdd108708eb3d2c6.dip.versatel-1u1.de) (Client Quit)
08:07:40 darjeeling_ joins (~darjeelin@122.245.217.190)
08:09:22 × ransom quits (~c4264035@8.47.12.52) (Ping timeout: 256 seconds)
08:13:48 niko joins (~niko@freenode/staff/ubuntu.member.niko)
08:14:35 takuan joins (~takuan@178-116-218-225.access.telenet.be)
08:14:58 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:c48f:1a20:b814:adb4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:16:12 jedws joins (~jedws@121.209.189.201)
08:17:58 × sgibber2018 quits (~arch-gibb@2600:6c55:6d80:3243:c2cb:38ff:fe8d:b46f) (Quit: WeeChat 3.0)
08:23:10 jamm joins (~jamm@unaffiliated/jamm)
08:24:29 Vulfe joins (~vulfe@2600:1702:31b0:34e0:8076:48dd:339c:ba44)
08:26:50 guestghc joins (3dded63f@61-222-214-63.HINET-IP.hinet.net)
08:26:59 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Remote host closed the connection)
08:29:26 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:8076:48dd:339c:ba44) (Ping timeout: 264 seconds)
08:32:21 kritzefitz joins (~kritzefit@fw-front.credativ.com)
08:37:33 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
08:39:14 cheater joins (~user@unaffiliated/cheater)
08:41:53 ransom joins (~c4264035@8.47.12.52)
08:42:18 × sunfreakz- quits (~sunfreakz@51.194.80.91) (Ping timeout: 272 seconds)
08:43:51 toast52 joins (97c0a219@151.192.162.25)
08:44:13 × jedws quits (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:45:17 jedws joins (~jedws@121.209.189.201)
08:45:56 knupfer joins (~Thunderbi@200116b82c7e8f00d8220a72dd894f13.dip.versatel-1u1.de)
08:46:25 × ransom quits (~c4264035@8.47.12.52) (Ping timeout: 240 seconds)
08:47:53 <dminuoso> Question, I have a higher kinded datatype D parametrized over a tyfam that appears in the fields. Ideally, I want haddock documentation for one particular choice of a tyfam.
08:48:47 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
08:49:31 <dminuoso> So say, I have `data D f = D { a1 :: f ...; a2 :: f ...; }`, and I want to have haddock documentation for `D F` (since F is a canonical choice), such that users know clearly what types each field resolve to
08:49:36 × jedws quits (~jedws@121.209.189.201) (Ping timeout: 240 seconds)
08:51:00 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
08:53:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
08:57:32 sunfreakz joins (~sunfreakz@51.194.80.91)
08:57:49 × drbean quits (~drbean@TC210-63-209-41.static.apol.com.tw) (Ping timeout: 264 seconds)
09:00:07 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
09:01:36 Vulfe joins (~vulfe@2600:1702:31b0:34e0:110c:c1b9:2826:d6c3)
09:03:32 ADG1089__ joins (~aditya@223.235.213.117)
09:04:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
09:06:22 × jle` quits (~mstksg@unaffiliated/mstksg) (Ping timeout: 272 seconds)
09:06:27 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:110c:c1b9:2826:d6c3) (Ping timeout: 260 seconds)
09:08:20 wonko7 joins (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net)
09:09:26 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-qgjtzfvygbpsyzjy) (Quit: Connection closed for inactivity)
09:10:40 pera joins (~pera@unaffiliated/pera)
09:13:31 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-pwweyillfwqhggwn) (Quit: Connection closed for inactivity)
09:13:40 michalz joins (~user@185.246.204.81)
09:14:38 <Kronic> What is a decent logging framework? Seems like there are a lot of options out there...
09:18:02 <dminuoso> Kronic: Depends a bit on what you need exactly. There's roughly two different dimensions.
09:18:41 <dminuoso> There's two very similar frameworks that let you parametrize your monad stack over an arbitrary logger with general utilities. monad-logger and katip belong into this.
09:19:28 <dminuoso> And then there's frameworks that rather implement a particular way of writing logs, like fast-logger.
09:19:53 jle` joins (~mstksg@unaffiliated/mstksg)
09:19:58 pavonia joins (~user@unaffiliated/siracusa)
09:20:07 <dminuoso> They complement each other, for instance monad-logger comes out of the box with some very simplistic fast-logger adapters
09:20:09 × Mikagami quits (~MOSCOS@122.54.107.175) (Remote host closed the connection)
09:20:13 ransom joins (~c4264035@2a09:bac0:72::82f:c34)
09:20:45 Mikagami joins (~MOSCOS@122.54.107.175)
09:20:49 <Kronic> What would your recommendation be for a newbie working on their first project?
09:23:23 × erisco quits (~erisco@104-195-141-253.cpe.teksavvy.com) (Read error: Connection reset by peer)
09:23:31 bitmagie joins (~Thunderbi@200116b8064af400cdd108708eb3d2c6.dip.versatel-1u1.de)
09:24:07 <dminuoso> Personally Im fond of monad-logger since it's really simplistic, and with the various run* utilities it fits most simplistic use-cases well eonugh
09:24:20 <dminuoso> And it separates the "where/what do I want logged" from "how is the logging carried out" well
09:25:59 × StoneToad quits (~StoneToad@104-192-232-50.ppp.storm.ca) (Ping timeout: 260 seconds)
09:26:27 <Kronic> That sounds good to me, I was trying out something called co-log and I was getting wrapped up over myself trying to figure it out
09:27:07 × ransom quits (~c4264035@2a09:bac0:72::82f:c34) (Ping timeout: 268 seconds)
09:27:07 StoneToad joins (~StoneToad@104-192-232-50.ppp.storm.ca)
09:27:21 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
09:27:45 <dminuoso> There's also hslogger which is a very simplistic low-dependency logging solution.
09:28:10 <kritzefitz> dminuoso, The specialization of haddock documentation for specific tyfam instances sounds really useful. If you find something, please let me know.
09:28:37 <dminuoso> If you're not comfortable with either mtl-style/transformers, Id say hslogger is much easier to use.
09:31:50 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Ping timeout: 264 seconds)
09:33:19 christo joins (~chris@81.96.113.213)
09:35:57 × guestghc quits (3dded63f@61-222-214-63.HINET-IP.hinet.net) (Remote host closed the connection)
09:37:05 argento joins (~argent0@168.227.96.51)
09:37:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:38:08 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 265 seconds)
09:41:02 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
09:42:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
09:46:38 Vulfe joins (~vulfe@2600:1702:31b0:34e0:110c:c1b9:2826:d6c3)
09:47:50 __monty__ joins (~toonn@unaffiliated/toonn)
09:51:38 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:110c:c1b9:2826:d6c3) (Ping timeout: 264 seconds)
09:53:01 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
09:54:12 <Kronic> So, a question arising from my use of the monad-logger lib - I have a monad stack that is predefined by a library I'm using, how exactly do I "add" a monad to the stack so that I can log something out ?
09:55:27 <dminuoso> Kronic: Mmm, that might not be possible then. Which library are you using?
09:56:04 <Kronic> So, I'm using discord-haskell, the particular monad-stack that I have on hand is ReaderT DiscordHandle IO () -- I was looking at monad-logger and seen there is an instance for ReaderT
09:56:21 <Kronic> It's just a little hard to discern what I am meant to do to get this right is all
09:56:35 pera joins (~pera@unaffiliated/pera)
09:57:09 <dminuoso> Can you point me out in the haddock for discord-haskell where that monad is used?
09:57:12 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds)
09:57:26 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
09:57:56 <dminuoso> Oh, nevermind I found it.
09:58:16 × Guest26328 quits (sid30093@gateway/web/irccloud.com/x-kgjzhrkziqnooytj) (Changing host)
09:58:16 Guest26328 joins (sid30093@musicbrainz/user/ocharles)
09:58:26 Guest26328 is now known as ocharles
09:58:39 <dminuoso> Yeah, that doesnt seem to work out of the box. With this little you could just provide your own wrappers. But I guess it requires a bit of competency here.
09:58:59 <dminuoso> Perhaps hslogger is a better fit for you then, that certainly will work (you just need to use `liftIO` every time you want to log)
09:59:06 <dminuoso> With no extra effort
09:59:58 <Kronic> Well, this project I'm writing is purely for my own education on my own accord, so... not sure, what would you recommend, is it worth learning why this won't work right now or is there something more basal I can look at to understand what is going on and how you came to this conclusion?
10:03:44 <dminuoso> Kronic: So if you wanted to use any of the primitives here, like `sendCommand :: GatewaySendable -> DiscordHandler () ` they are pinned directly to `ReaderT DiscordHandle IO`. If the library written like `sendCommand :: (MonadReader DiscordHandler m, MonadIO m) => GatewaySendable -> m ()` you could have picked your own monad stack
10:03:58 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
10:04:39 christo joins (~chris@81.96.113.213)
10:05:19 <dminuoso> Furthermore, if you look at the definition of `runDiscord` you'll see there is a lot more going on than just unwrapping this ReaderT, so you can't just provide very naive wrappers around all these functions like sendCommand - you'd have to reimplement `runDiscord` for your custom monad stack, but the implementation needs access to stuff that seems not exporter./
10:06:09 <dminuoso> Kronic: Question, do you need to log in the middle of discord interaction, or is it fine to log around it?
10:06:24 <Kronic> Logging around it would be acceptable in my mind, I guess
10:06:55 <dminuoso> Then you have the option of just running this locally everywhere
10:08:19 <kritzefitz> dminuoso, shouldn't it be possible to run the LoggingT on top of the existing transformer stack?
10:08:55 <kritzefitz> (and do a lot of `lift`ing` for all non-logging operations)
10:08:56 × christo quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
10:08:58 <dminuoso> kritzefitz: Ah, I guess there is *one* way, that works nicely with monad-logger
10:09:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:09:13 <dminuoso> Let me roughly show you how
10:09:25 <dminuoso> (It only works if your monad stack has MonadUnliftIO)
10:10:17 christo joins (~chris@81.96.113.213)
10:10:26 <dminuoso> kritzefitz: and just lifting is not enough, you need to be able to unlift too
10:10:35 <dminuoso> and closures
10:11:08 × bitmagie quits (~Thunderbi@200116b8064af400cdd108708eb3d2c6.dip.versatel-1u1.de) (Quit: bitmagie)
10:11:17 <dminuoso> Kronic: You know what, for this, just use hslogger. :p
10:12:27 <Kronic> I'll take a loook
10:13:51 MOSCOS joins (~MOSCOS@152.32.70.55)
10:16:38 × toast52 quits (97c0a219@151.192.162.25) (Remote host closed the connection)
10:16:45 × Mikagami quits (~MOSCOS@122.54.107.175) (Ping timeout: 240 seconds)
10:17:07 Mikagami joins (~MOSCOS@122.54.107.175)
10:18:04 ransom joins (~c4264035@8.47.12.52)
10:18:45 × MOSCOS quits (~MOSCOS@152.32.70.55) (Ping timeout: 240 seconds)
10:19:50 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
10:21:11 acidjnk_new joins (~acidjnk@p200300d0c704e72638e4a99bdd618e88.dip0.t-ipconnect.de)
10:23:16 <Squarism> If your class has a data-declaration, can you somehow impose constraint on it?
10:23:38 × ransom quits (~c4264035@8.47.12.52) (Ping timeout: 272 seconds)
10:23:38 bitmagie joins (~Thunderbi@200116b8064af400cdd108708eb3d2c6.dip.versatel-1u1.de)
10:23:54 <Squarism> as in what instances it requires ?
10:24:28 × bitmagie quits (~Thunderbi@200116b8064af400cdd108708eb3d2c6.dip.versatel-1u1.de) (Client Quit)
10:24:39 <kritzefitz> Squarism, I think you mean `instance (Baz (Bar a)) => Foo a where data Bar a` where Foo is your class, Bar is your data and Baz is your required constraint-
10:24:41 <__monty__> Squarism: Are you sure that gets you what you want? Constraints on data types rarely are.
10:26:17 <Squarism> kritzefitz, i tried that but it seems GHC doesnt seem to dig it. Or maybe i need to read what it actually says.
10:26:19 <Kronic> hslogger was fairly easy to get going with, thank you for your time dminuoso
10:26:30 DavidEichmann joins (~david@62.110.198.146.dyn.plus.net)
10:26:51 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 256 seconds)
10:27:37 <kritzefitz> Squarism, At leats I have seen it used in Reflex.Class where `Reflex t` requires `Functor (Dynamic t)` using this method.
10:28:49 son0p joins (~son0p@181.58.39.182)
10:28:55 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
10:31:57 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
10:32:01 <Squarism> So i have : class Eq (Baz a) => Foo a where ; data Baz a
10:33:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Ping timeout: 260 seconds)
10:33:28 <Squarism> Then trying to create a record that contains "Baz a" and derives Eq, ghc says no instance Eq (Baz a)
10:33:38 × p-core quits (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Remote host closed the connection)
10:35:56 <kritzefitz> Squarism, I think that's because mentioning `Baz a` doesn't imply `Foo a`, so `Eq (Baz a)` isn't given as well. Maybe you can try a standalone `deriving instance Foo a => Eq (YourRecord a)`?
10:36:49 <Squarism> ill experiment for a bit
10:39:23 <kritzefitz> Squarism, https://gitlab.com/-/snippets/2055078
10:39:28 ransom joins (~c4264035@2a09:bac0:72::82f:c34)
10:39:58 <Squarism> kritzefitz, thanks!
10:40:37 sphalerite joins (~sphalerit@NixOS/user/lheckemann)
10:43:20 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
10:43:54 × ransom quits (~c4264035@2a09:bac0:72::82f:c34) (Ping timeout: 258 seconds)
10:46:33 dhil joins (~dhil@78.156.97.38)
10:47:14 × dminuoso quits (~dminuoso@unaffiliated/dminuoso) (Ping timeout: 256 seconds)
10:48:49 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
10:50:57 jollygood2 joins (~bc815220@217.29.117.252)
10:51:21 <kritzefitz> Squarism, I think this is because you could defined `fakeBar :: Bar (IO a); fakeBar = undefined`, where the mere existence of a value with type `Bar b` doesn't imply `Eq (Bar b)`.
10:53:00 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
10:53:49 puffnfresh joins (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net)
10:55:32 × Kronic quits (~Kronic___@84.203.96.46) (Quit: Leaving)
10:58:31 × jamm quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
10:58:52 dminuoso joins (~dminuoso@unaffiliated/dminuoso)
11:00:05 × mozzarella quits (~sam@unaffiliated/sam113101) (Ping timeout: 240 seconds)
11:01:06 fendor joins (~fendor@77.119.131.12.wireless.dyn.drei.com)
11:03:25 × haritz quits (~hrtz@unaffiliated/haritz) (Ping timeout: 246 seconds)
11:05:11 haritz joins (~hrtz@62.3.70.206)
11:05:11 × haritz quits (~hrtz@62.3.70.206) (Changing host)
11:05:11 haritz joins (~hrtz@unaffiliated/haritz)
11:05:13 delYsid joins (~user@84-115-55-45.cable.dynamic.surfer.at)
11:05:45 × aidecoe quits (~aidecoe@unaffiliated/aidecoe) (Remote host closed the connection)
11:06:16 <delYsid> Isn't the order of definitions supposed to be irrelevant in Haskell? I needed to move a type synonym up a few lines recently, is this a bug or am I remembering things badly?
11:09:23 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
11:09:27 <lortabac> delYsid: it is relevant if you use TemplateHaskell
11:12:09 hekkaidekapus} joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
11:13:01 jamm joins (~jamm@unaffiliated/jamm)
11:13:18 × ADG1089__ quits (~aditya@223.235.213.117) (Remote host closed the connection)
11:13:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:14:26 danza joins (~francesco@151.53.79.89)
11:14:40 × Stanley00 quits (~stanley00@unaffiliated/stanley00) ()
11:17:00 ClaudiusMaximus joins (~claude@196.67.6.51.dyn.plus.net)
11:17:00 × ClaudiusMaximus quits (~claude@196.67.6.51.dyn.plus.net) (Changing host)
11:17:00 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
11:19:17 <delYsid> lortabac: Ah, I see. Thanks!
11:19:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:22:04 archena joins (~user@2a02:c7f:a6aa:1800:7fbf:c53e:4f8e:494d)
11:22:21 plam4u joins (~plam4u@131.red-83-38-238.dynamicip.rima-tde.net)
11:22:58 berberman_ joins (~berberman@unaffiliated/berberman)
11:24:17 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds)
11:24:18 × berberman_ quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
11:24:47 berberman joins (~berberman@unaffiliated/berberman)
11:26:52 <dminuoso> delYsid: Mind my asking, which editor do you use?
11:27:37 pera joins (~pera@unaffiliated/pera)
11:29:21 × fendor quits (~fendor@77.119.131.12.wireless.dyn.drei.com) (Remote host closed the connection)
11:29:21 ransom joins (~c4264035@8.47.12.52)
11:30:19 × argento quits (~argent0@168.227.96.51) (Ping timeout: 256 seconds)
11:33:00 × boothead quits (25192c87@37.25.44.135) (Remote host closed the connection)
11:34:30 × ransom quits (~c4264035@8.47.12.52) (Ping timeout: 256 seconds)
11:34:31 × cp- quits (~cp-@b157153.ppp.asahi-net.or.jp) (Quit: Disappeared in a puff of smoke)
11:34:55 ADG1089__ joins (~aditya@223.235.213.117)
11:42:23 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
11:43:26 × son0p quits (~son0p@181.58.39.182) (Quit: leaving)
11:45:44 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:48:17 ransom joins (~c4264035@8.47.12.52)
11:52:36 × ransom quits (~c4264035@8.47.12.52) (Ping timeout: 240 seconds)
11:55:40 b5er joins (~b5er_@91.193.4.202)
11:57:14 jb55 joins (~jb55@gateway/tor-sasl/jb55)
12:00:25 × ADG1089__ quits (~aditya@223.235.213.117) (Quit: Konversation terminated!)
12:01:41 × tzlil quits (~tzlil@unaffiliated/tzlil) (Ping timeout: 272 seconds)
12:02:34 <delYsid> dminuoso: Emacs, mostly.
12:03:35 Vulfe joins (~vulfe@2600:1702:31b0:34e0:5d8:4076:d5fd:ffd0)
12:04:02 gzj joins (~gzj@unaffiliated/gzj)
12:04:09 GZJ0X_ joins (~gzj@unaffiliated/gzj)
12:06:14 argento joins (~argent0@168.227.96.51)
12:07:17 × GZJ0X_ quits (~gzj@unaffiliated/gzj) (Client Quit)
12:07:37 Vulfe_ joins (~vulfe@2600:1702:31b0:34e0:312b:ad1d:8657:d010)
12:08:27 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:5d8:4076:d5fd:ffd0) (Ping timeout: 260 seconds)
12:11:00 berberman_ joins (~berberman@unaffiliated/berberman)
12:11:22 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
12:11:36 bitmagie joins (~Thunderbi@200116b8064af4000d02ad855163b034.dip.versatel-1u1.de)
12:12:05 <delYsid> I wish (&) (and (~>)) were in base, they're too neat to not have.
12:12:32 × Vulfe_ quits (~vulfe@2600:1702:31b0:34e0:312b:ad1d:8657:d010) (Ping timeout: 260 seconds)
12:13:06 Vulfe joins (~vulfe@2600:1702:31b0:34e0:cc9a:47f4:f68e:a6dd)
12:13:58 <tomsmeding> ( (&) is in base, just not in Prelude ;) )
12:15:59 Entertainment joins (~entertain@104.246.132.210)
12:17:05 drbean joins (~drbean@TC210-63-209-162.static.apol.com.tw)
12:18:02 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:cc9a:47f4:f68e:a6dd) (Ping timeout: 264 seconds)
12:19:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
12:20:35 madjestic joins (~madjestic@86-88-72-244.fixed.kpn.net)
12:21:57 ransom joins (~c4264035@8.47.12.52)
12:22:18 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:41c2:9b01:cf42:baca)
12:22:35 × archena quits (~user@2a02:c7f:a6aa:1800:7fbf:c53e:4f8e:494d) (Ping timeout: 272 seconds)
12:24:55 fendor joins (~fendor@77.119.131.12.wireless.dyn.drei.com)
12:25:58 ggole joins (~ggole@2001:8003:8119:7200:fc49:98ab:ef5a:2f0f)
12:26:13 × ph88_ quits (~ph88@2a02:8109:9e00:7e5c:f45d:3271:263a:193e) (Ping timeout: 260 seconds)
12:27:56 × ransom quits (~c4264035@8.47.12.52) (Ping timeout: 240 seconds)
12:30:07 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
12:31:26 nfd9001 joins (~nfd9001@c-67-183-38-33.hsd1.wa.comcast.net)
12:34:44 × nfd quits (~nfd9001@c-67-183-38-33.hsd1.wa.comcast.net) (Ping timeout: 272 seconds)
12:35:17 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Ping timeout: 260 seconds)
12:36:15 × Alleria_ quits (~AllahuAkb@69.202.254.168) (Quit: Textual IRC Client: www.textualapp.com)
12:40:25 Kalernor joins (2df18079@45.241.128.121)
12:41:39 × Kalernor quits (2df18079@45.241.128.121) (Remote host closed the connection)
12:43:00 geekosaur joins (ac3a3b06@172.58.59.6)
12:43:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
12:43:26 gzj joins (~gzj@unaffiliated/gzj)
12:45:13 × wonko7 quits (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Quit: See You Space Cowboy..)
12:45:26 wonko7 joins (~wonko7@2a01:e35:2ffb:7040:aa95:463a:bcd8:60e4)
12:47:08 <delYsid> tomsmeding: oh
12:49:50 × wonko7 quits (~wonko7@2a01:e35:2ffb:7040:aa95:463a:bcd8:60e4) (Client Quit)
12:50:02 wonko7 joins (~wonko7@2a01:e35:2ffb:7040:aa95:463a:bcd8:60e4)
12:50:37 Alex84 joins (923c59d2@dslb-146-060-089-210.146.060.pools.vodafone-ip.de)
12:50:44 <xsperry> :t (~>)
12:50:46 <lambdabot> error:
12:50:46 <lambdabot> • Variable not in scope: ~>
12:50:46 <lambdabot> • Perhaps you meant one of these:
12:50:54 <xsperry> @hoogle ~>
12:50:54 <lambdabot> Pipes (~>) :: Functor m => (a -> Proxy x' x b' b m a') -> (b -> Proxy x' x c' c m b') -> a -> Proxy x' x c' c m a'
12:50:55 <lambdabot> Data.Singletons type a ~> b = TyFun a b -> Type
12:50:55 <lambdabot> Development.Shake (~>) :: Located => String -> Action () -> Rules ()
12:51:52 jneira joins (5127adb4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.180)
12:54:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:57:13 Alleria_ joins (~AllahuAkb@2603-7000-3040-0000-a876-e3dc-1017-f48b.res6.spectrum.com)
13:00:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
13:00:22 × madjestic quits (~madjestic@86-88-72-244.fixed.kpn.net) (Remote host closed the connection)
13:00:22 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
13:04:04 × plutoniix quits (~q@184.82.194.56) (Quit: Leaving)
13:13:42 nyd joins (~nyd@unaffiliated/elysian)
13:17:44 × nek0 quits (~nek0@mail.nek0.eu) (Remote host closed the connection)
13:17:49 carthia joins (~carthia@gateway/tor-sasl/carthia)
13:18:01 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:18:20 gzj joins (~gzj@unaffiliated/gzj)
13:22:20 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:f14e:f414:9b65:b890:9d87) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:24:19 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
13:25:08 solonarv joins (~solonarv@astrasbourg-653-1-157-135.w90-6.abo.wanadoo.fr)
13:27:23 carthia_mr joins (~carthia@gateway/tor-sasl/carthia)
13:27:47 × haritz quits (~hrtz@unaffiliated/haritz) (Read error: Connection timed out)
13:27:54 haritz joins (~hrtz@62.3.70.206)
13:27:54 × haritz quits (~hrtz@62.3.70.206) (Changing host)
13:27:54 haritz joins (~hrtz@unaffiliated/haritz)
13:30:03 × carthia quits (~carthia@gateway/tor-sasl/carthia) (Ping timeout: 240 seconds)
13:30:58 × unlink2 quits (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:32:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:33:39 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
13:35:33 Gorbel joins (~Gorbel@p5790e186.dip0.t-ipconnect.de)
13:35:48 × bitmagie quits (~Thunderbi@200116b8064af4000d02ad855163b034.dip.versatel-1u1.de) (Remote host closed the connection)
13:36:36 Sheilong joins (uid293653@gateway/web/irccloud.com/x-unmksdzihnsijttq)
13:36:42 <delYsid> xsperry: type a ~> b = forall x. a x -> b x
13:38:00 Melanie joins (~Melanie@192-0-134-138.cpe.teksavvy.com)
13:38:40 × delYsid quits (~user@84-115-55-45.cable.dynamic.surfer.at) (Quit: ERC (IRC client for Emacs 27.1.50))
13:39:08 × knupfer quits (~Thunderbi@200116b82c7e8f00d8220a72dd894f13.dip.versatel-1u1.de) (Quit: knupfer)
13:39:58 unlink2 joins (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de)
13:40:00 knupfer joins (~Thunderbi@200116b82c7e8f00f9b60c4a663b1e20.dip.versatel-1u1.de)
13:40:03 × knupfer quits (~Thunderbi@200116b82c7e8f00f9b60c4a663b1e20.dip.versatel-1u1.de) (Client Quit)
13:40:36 knupfer joins (~Thunderbi@200116b82c7e8f00bcf25ba387c5fed6.dip.versatel-1u1.de)
13:40:54 × jamm quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
13:42:55 polman joins (~tema@217.118.92.215)
13:44:25 jamm joins (~jamm@unaffiliated/jamm)
13:44:56 × knupfer quits (~Thunderbi@200116b82c7e8f00bcf25ba387c5fed6.dip.versatel-1u1.de) (Client Quit)
13:45:13 knupfer joins (~Thunderbi@200116b82c7e8f00b1e89f88fb97f1fb.dip.versatel-1u1.de)
13:45:16 × qwerty quits (~tema@217.118.92.215) (Ping timeout: 240 seconds)
13:47:27 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:f14e:f414:9b65:b890:9d87)
13:49:14 × jamm quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
13:50:01 × drbean quits (~drbean@TC210-63-209-162.static.apol.com.tw) (Ping timeout: 264 seconds)
13:50:43 qwerty joins (~tema@217.118.92.215)
13:53:36 × polman quits (~tema@217.118.92.215) (Ping timeout: 240 seconds)
13:57:51 Vulfe joins (~vulfe@2600:1702:31b0:34e0:a54e:b06e:1927:13af)
13:58:10 son0p joins (~son0p@181.136.122.143)
13:58:14 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:f14e:f414:9b65:b890:9d87) (Ping timeout: 264 seconds)
14:00:17 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: Lost terminal)
14:00:35 ADG1089__ joins (~aditya@223.235.213.117)
14:00:48 mozzarella joins (~sam@unaffiliated/sam113101)
14:01:57 stef204 joins (~stef204@unaffiliated/stef-204/x-384198)
14:02:12 × Melanie quits (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 260 seconds)
14:02:26 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:a54e:b06e:1927:13af) (Ping timeout: 264 seconds)
14:02:28 sic_mundus7 joins (~dark@2401:4900:36bb:7915:7cba:c855:29cc:a26b)
14:04:41 × unlink2 quits (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Remote host closed the connection)
14:06:02 unlink2 joins (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de)
14:07:21 sic_mundus7 parts (~dark@2401:4900:36bb:7915:7cba:c855:29cc:a26b) ()
14:09:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
14:09:28 gzj joins (~gzj@unaffiliated/gzj)
14:13:13 urodna joins (~urodna@unaffiliated/urodna)
14:14:09 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
14:14:30 gzj joins (~gzj@unaffiliated/gzj)
14:15:13 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
14:15:14 jmchael joins (~jmchael@81.174.205.210)
14:15:35 gzj joins (~gzj@unaffiliated/gzj)
14:18:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
14:18:28 gzj joins (~gzj@unaffiliated/gzj)
14:18:48 Vulfe joins (~vulfe@2600:1702:31b0:34e0:ac06:2bf9:3ff5:c290)
14:19:10 × gzj quits (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
14:19:32 gzj joins (~gzj@unaffiliated/gzj)
14:19:48 Vulfe_ joins (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe)
14:21:46 zebrag joins (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
14:22:45 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
14:23:12 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:ac06:2bf9:3ff5:c290) (Ping timeout: 260 seconds)
14:24:22 × Vulfe_ quits (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe) (Ping timeout: 260 seconds)
14:26:32 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:f14e:750f:83e8:c56e:b09f)
14:27:45 × son0p quits (~son0p@181.136.122.143) (Ping timeout: 240 seconds)
14:29:24 son0p joins (~son0p@181.136.122.143)
14:29:31 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
14:30:09 <johnnyboy[m]> is it possible to match tabs with regex-tdfa?
14:30:33 <johnnyboy[m]> `\t` and `[:space:]` don't seem to work
14:30:58 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 246 seconds)
14:31:23 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
14:32:46 × orcus quits (~orcus@unaffiliated/orcus) (Quit: ZNC 1.7.5 - https://znc.in)
14:33:37 <johnnyboy[m]> of course, I can preprosess my data by replacing tabs with spaces
14:33:56 Tario joins (~Tario@201.192.165.173)
14:34:17 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:f14e:750f:83e8:c56e:b09f) (Ping timeout: 260 seconds)
14:34:17 orcus joins (~orcus@unaffiliated/orcus)
14:34:53 jamm joins (~jamm@unaffiliated/jamm)
14:35:37 ransom joins (~c4264035@2a09:bac0:72::82f:c34)
14:36:34 × son0p quits (~son0p@181.136.122.143) (Ping timeout: 246 seconds)
14:36:36 × TooDifficult quits (~TooDiffic@139.59.59.230) (Ping timeout: 240 seconds)
14:36:37 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Ping timeout: 260 seconds)
14:37:53 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
14:38:15 <pjb> johnnyboy[m]: that's the best thing to do. Remember, programmers who use spaces are paid more than those who use tabs.
14:38:30 son0p joins (~son0p@181.136.122.143)
14:39:59 <geekosaur> I'm a little surprised \t doesn't work. Possibly it needs to be \\t but it still seems somewhat weird that a literal tab wouldn't match
14:40:34 Varis joins (~Tadas@unaffiliated/varis)
14:40:42 × ransom quits (~c4264035@2a09:bac0:72::82f:c34) (Ping timeout: 260 seconds)
14:41:00 × orcus quits (~orcus@unaffiliated/orcus) (Quit: ZNC 1.8.1 - https://znc.in)
14:41:42 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
14:42:46 orcus joins (~orcus@unaffiliated/orcus)
14:44:41 <johnnyboy[m]> `\\t` does't seem to work either
14:44:42 × unlink2 quits (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
14:44:53 <johnnyboy[m]> or maybe I have something wrong elsewhere again
14:44:57 <johnnyboy[m]> woudln't be the first time
14:46:10 unlink2 joins (~unlink2@p5dc0acf8.dip0.t-ipconnect.de)
14:47:21 × carthia_mr quits (~carthia@gateway/tor-sasl/carthia) (Quit: carthia_mr)
14:48:18 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 256 seconds)
14:48:36 × geekosaur quits (ac3a3b06@172.58.59.6) (Remote host closed the connection)
14:49:24 Matt_P joins (~Matt_P@217.146.82.202)
14:49:32 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
14:49:47 <johnnyboy[m]> actually, `\\t` does seem to work
14:50:37 <__monty__> Weird that you need the extra escape.
14:51:15 <merijn> __monty__: Not really
14:51:46 <merijn> __monty__: If the string is fed to a regex library that wants \t, as opposed to an actual tab
14:52:11 <merijn> You need to escape the \ to actually get the \\t the regex library expects, as opposed to giving it an actual tab character
14:53:55 brisbin joins (~patrick@174-081-116-011.res.spectrum.com)
14:54:07 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
14:54:16 Vulfe joins (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe)
14:55:03 ransom joins (~c4264035@8.47.12.52)
14:55:48 × knupfer quits (~Thunderbi@200116b82c7e8f00b1e89f88fb97f1fb.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
15:02:46 <ij> would haskell optimize any/all on hardcoded lists not to traverse it as a list?
15:03:06 <merijn> Yes, no, maybe, it depends
15:03:12 × Alex84 quits (923c59d2@dslb-146-060-089-210.146.060.pools.vodafone-ip.de) (Remote host closed the connection)
15:04:11 <ij> is it required to specify that I'm using ghc?
15:04:30 <merijn> Your question has no definite answer
15:04:55 <ij> I wasn't looking for one either
15:05:30 <[exa]> ij: the inliner may inline it, under some (complicated) conditions
15:05:47 <[exa]> I wouldn't bet on that tough
15:05:53 <merijn> In general neither Haskell nor GHC provide any guarantees about the runtime representation of any datatype
15:05:53 <[exa]> *though
15:06:00 djellemah joins (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
15:06:03 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:f14e:750f:83e8:c56e:b09f)
15:06:36 <[exa]> ij: there's a paper about "the architecture of haskell inliner" somewhere, it's a good read about the basic challenges of such optimizations
15:06:44 <merijn> Will it do something fancy? Probably not, but nothing is specified or promised
15:08:30 <[exa]> in short, please do not depend on that
15:09:27 <ij> just curious :)
15:10:08 <__monty__> merijn: You can give it any other character so why not tab?
15:10:46 <merijn> __monty__: Sure, but does that have the same meaning in the regex syntax?
15:10:53 <lortabac> __monty__: I suppose because you can format and indent regexes
15:11:02 × ADG1089__ quits (~aditya@223.235.213.117) (Remote host closed the connection)
15:11:11 <merijn> __monty__: Which in turn depends on the exact regex flavour in use
15:13:43 × stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.0)
15:13:45 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
15:14:16 × brisbin quits (~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 240 seconds)
15:14:36 Tario joins (~Tario@201.192.165.173)
15:15:20 <siraben> what libraries are good for interacting with IRC?
15:15:56 stef204 joins (~stef204@unaffiliated/stef-204/x-384198)
15:16:17 Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com)
15:18:24 <__monty__> "Formatting" regexes sounds like the stuff of nightmares. Why are you even writing regexes monstrous enough to require formatting and does this mean even spaces need to be escaped?
15:18:44 × stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Client Quit)
15:19:25 × argento quits (~argent0@168.227.96.51) (Ping timeout: 240 seconds)
15:20:03 chang joins (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
15:21:30 × notzmv quits (~user@unaffiliated/zmv) (Read error: No route to host)
15:22:01 stef204 joins (~stef204@unaffiliated/stef-204/x-384198)
15:22:07 × thunderrd quits (~thunderrd@183.182.111.131) (Remote host closed the connection)
15:23:04 fendor_ joins (~fendor@178.165.130.45.wireless.dyn.drei.com)
15:23:39 notzmv joins (~user@unaffiliated/zmv)
15:24:59 <lortabac> __monty__: years ago I worked at a company where the regexes were so big that they needed to be formatted (IIRC they were just split over multiple lines)
15:25:20 <rowbee> perl
15:25:25 toorevitimirp joins (~tooreviti@117.182.181.108)
15:25:31 × djellemah quits (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Quit: #ruby)
15:25:42 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
15:25:45 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
15:25:54 × fendor quits (~fendor@77.119.131.12.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
15:26:05 <lortabac> as for why, I have no idea
15:27:47 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
15:31:52 ddellacosta joins (dd@gateway/vpn/mullvad/ddellacosta)
15:32:06 × danza quits (~francesco@151.53.79.89) (Quit: Leaving)
15:32:46 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
15:33:09 bitmagie joins (~Thunderbi@200116b8064af40045a56632dbc644bc.dip.versatel-1u1.de)
15:35:56 × toorevitimirp quits (~tooreviti@117.182.181.108) (Ping timeout: 240 seconds)
15:37:52 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Ping timeout: 260 seconds)
15:40:49 thunderrd joins (~thunderrd@183.182.111.131)
15:44:01 × b5er quits (~b5er_@91.193.4.202) (Ping timeout: 264 seconds)
15:44:29 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:f14e:750f:83e8:c56e:b09f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:46:10 <idnar> :t \f xs -> mconcat (f <$> xs)
15:46:12 <lambdabot> Monoid a1 => (a2 -> a1) -> [a2] -> a1
15:46:58 <idnar> @hoogle Monoid a1 => (a2 -> a1) -> [a2] -> a1
15:46:59 <lambdabot> Data.List.Extra mconcatMap :: Monoid b => (a -> b) -> [a] -> b
15:46:59 <lambdabot> Extra mconcatMap :: Monoid b => (a -> b) -> [a] -> b
15:46:59 <lambdabot> Prelude foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
15:47:23 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
15:47:30 Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se)
15:47:32 <idnar> ah, foldMap
15:48:50 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:f14e:750f:83e8:c56e:b09f)
15:49:38 gxt joins (~gxt@gateway/tor-sasl/gxt)
15:49:47 argento joins (~argent0@168.227.96.26)
15:51:53 knupfer joins (~Thunderbi@200116b82c7e8f00a8f2c6fffebe0d91.dip.versatel-1u1.de)
15:52:59 × knupfer quits (~Thunderbi@200116b82c7e8f00a8f2c6fffebe0d91.dip.versatel-1u1.de) (Remote host closed the connection)
15:53:13 knupfer joins (~Thunderbi@200116b82c7e8f00b4797c962f7b5000.dip.versatel-1u1.de)
15:53:45 <idnar> @pl \f g (x, y) -> f (g x) <> f (g y)
15:53:46 <lambdabot> flip flip snd . (ap .) . flip flip fst . ((.) .) . ap (ap . ((flip . (((.) . (<>)) .)) .) . (.)) (.)
15:54:23 Tops2 joins (~Tobias@dyndsl-095-033-094-200.ewe-ip-backbone.de)
15:54:25 machinedgod joins (~machinedg@24.105.81.50)
15:54:26 <idnar> not quite
15:54:40 <idnar> @pl \(x, y) -> f (g x) <> f (g y)
15:54:40 <lambdabot> uncurry ((. (f . g)) . (<>) . f . g)
15:55:37 <idnar> :t bimap
15:55:39 <lambdabot> Bifunctor p => (a -> b) -> (c -> d) -> p a c -> p b d
15:55:59 TheMule joins (~TheMule@2a02:908:3a3:8660:8a32:79ab:f6b:7a6a)
15:56:05 × TheMule quits (~TheMule@2a02:908:3a3:8660:8a32:79ab:f6b:7a6a) (Client Quit)
15:57:04 <idnar> @hoogle Bifunctor p => (a -> b) -> p a a -> p b b
15:57:05 <lambdabot> Relude.Extra.Bifunctor bimapBoth :: Bifunctor f => (a -> b) -> f a a -> f b b
15:57:08 eacameron joins (uid256985@gateway/web/irccloud.com/x-wupypehaymlqhtxd)
15:58:01 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
16:00:44 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:04:22 × ransom quits (~c4264035@8.47.12.52) (Ping timeout: 272 seconds)
16:04:25 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
16:05:36 × qwerty quits (~tema@217.118.92.215) (Ping timeout: 240 seconds)
16:06:03 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
16:10:41 christo joins (~chris@81.96.113.213)
16:13:02 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
16:13:11 <ddellacosta> Is there any reason to use ContT here other than simplifying resource cleanup? There are non-with* versions of all these functions in the alsa-seq library https://hackage.haskell.org/package/alsa-seq-0.6.0.7/src/examples/beat.hs
16:14:02 <[exa]> hackage could have a nice "this is used by" button
16:14:22 Tario joins (~Tario@201.192.165.173)
16:19:33 × jollygood2 quits (~bc815220@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
16:19:42 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:f14e:750f:83e8:c56e:b09f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:19:44 <merijn> [exa]: So... https://packdeps.haskellers.com/reverse ? :p
16:19:49 nbloomf joins (~nbloomf@2600:1700:ad14:3020:c48f:1a20:b814:adb4)
16:20:26 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
16:21:17 <[exa]> this is for packages, I want it for actual definitions... Everyone's gonna use mtl/transformers, not many packages actually touch ContT directly
16:23:45 mlugg joins (522733ea@cpc95124-newt39-2-0-cust489.19-3.cable.virginm.net)
16:24:18 <merijn> ah
16:24:29 <merijn> github code search? :p
16:26:10 <mlugg> I have a typeclass `Foo a`, with an `instance Foo Text` and an `instance Foo (IO ())` (using `FlexibleInstances` for the latter instance). I also have a value `x :: (Foo a) => a`. If I evaluate `x` at the GHCi prompt, I expect the IO instance to be detected and used for the evaluation. Instead, I get an error about an ambiguous type variable for
16:26:11 <mlugg> `print`, showing that GHCi is trying to find a `show`-able instance instead. However, if I enable GADTs so I can use equality constraints and replace the second instance with `instance (a ~ ()) => Foo (IO a)`, it works as expected. Why does this happen, and is there any way I can get this behaviour without GADTs/TypeFamilies?
16:27:11 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
16:27:23 × philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
16:29:32 × acidjnk_new quits (~acidjnk@p200300d0c704e72638e4a99bdd618e88.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
16:30:05 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
16:30:52 × argento quits (~argent0@168.227.96.26) (Ping timeout: 256 seconds)
16:34:08 × son0p quits (~son0p@181.136.122.143) (Quit: leaving)
16:38:01 × tessier quits (~treed@kernel-panic/copilotco) (Ping timeout: 246 seconds)
16:39:22 juuandyy joins (~juuandyy@90.166.144.65)
16:40:30 DarkRanger joins (b6bc8329@182.188.131.41)
16:40:55 × bitmagie quits (~Thunderbi@200116b8064af40045a56632dbc644bc.dip.versatel-1u1.de) (Quit: bitmagie)
16:41:25 × DarkRanger quits (b6bc8329@182.188.131.41) (Remote host closed the connection)
16:42:17 kuribas joins (~user@ptr-25vy0i9jslvkgmof4mc.18120a2.ip6.access.telenet.be)
16:43:13 obihann joins (~jhann@142.177.168.17)
16:43:18 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
16:43:42 DarkRanger joins (b6bc8329@182.188.131.41)
16:44:28 × Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 256 seconds)
16:44:55 hekkaidekapus[ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
16:46:00 × DarkRanger quits (b6bc8329@182.188.131.41) (Remote host closed the connection)
16:46:43 × hekkaidekapus} quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
16:47:38 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
16:51:14 geekosaur joins (42d52137@66.213.33.55)
16:53:52 <statusfailed> what's the stack equivalent of cabal.project's "constraints: ..." line ?
16:53:54 × knupfer quits (~Thunderbi@200116b82c7e8f00b4797c962f7b5000.dip.versatel-1u1.de) (Quit: knupfer)
16:55:01 ransom joins (~c4264035@2a09:bac0:72::82f:c34)
16:57:54 × plam4u quits (~plam4u@131.red-83-38-238.dynamicip.rima-tde.net) (Remote host closed the connection)
17:00:23 × ransom quits (~c4264035@2a09:bac0:72::82f:c34) (Ping timeout: 260 seconds)
17:01:45 <tomsmeding> mlugg: what you're relying on here is ghci's special defaulting rules for IO things; the wording in this piece of documentation seems to suggest that it specifically looks for a way to unify with 'IO a', which will not work for the IO () instance: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#i-o-actions-at-the-prompt
17:01:45 <sm[m]> statusfailed: I think there isn't one, as stack declares a specific version for each package
17:02:35 <tomsmeding> I think that this "instability", for as much as it is an instability, is basically why FlexibleInstances is an extension -- but I'm not sure
17:03:20 <tomsmeding> also, I'm now reading that piece of documentation way too precisely, so the implementation may not match my reading :p
17:04:54 <geekosaur> % putStrLn "hi" -- IO () works
17:04:54 <yahb> geekosaur: hi
17:05:22 <tomsmeding> that's because the type 'IO ()' can be unified with 'IO a'
17:05:38 <tomsmeding> the type 'Foo a => a' cannot be unified with 'IO a' without further knowledge
17:05:57 tomsmeding thinks
17:07:52 × Franciman quits (~francesco@host-95-250-152-231.retail.telecomitalia.it) (Quit: Leaving)
17:10:24 × chang quits (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:12:26 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
17:12:34 <merijn> statusfailed: Eh, there's no such thing
17:12:47 <merijn> statusfailed: The LTS snapshots effectively *are* just sets of constraints
17:13:29 <tomsmeding> mlugg: can't find the place where the IO stuff is handled in the ghci source, but that's probably my unfamiliarity
17:14:13 ransom joins (~c4264035@8.47.12.52)
17:15:05 nek0 joins (~nek0@mail.nek0.eu)
17:15:14 <mlugg> tomsmeding: Ah, that makes sense, thanks. Whereas the constraint variant allows unifying with IO a, it just also pushes an equality constraint forcing a to be ()
17:15:29 <tomsmeding> that's what I'm thinking, yes
17:15:41 <dminuoso> What I find surprising, is how GHCi hasn't managed to surprise me so far (apart from MMR). It's almost as if Haskell has a sane definable way to be run interactively. :)
17:15:52 <tomsmeding> in particular, what if you had instances for both Foo (IO ()) and Foo (IO Int)
17:16:00 <tomsmeding> there'd be no reasonable way to choose
17:16:12 <sm[m]> GHCI is great
17:16:17 <tomsmeding> and you can't make those two separate instances without FlexibleInstances :)
17:16:20 <tomsmeding> ghci is amazing
17:17:02 <tomsmeding> (except for bringing stuff into scope that I don't want in scope upon reload :p )
17:17:09 <mlugg> Ohhh that makes a lot of sense actually
17:17:16 <mlugg> So TL;DR I have to do it with the equality constraint
17:20:22 × juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 272 seconds)
17:24:49 mirrorbird joins (~psutcliff@2a00:801:42b:8314:3772:eb7f:91f1:698c)
17:25:08 <statusfailed> sm[m], merijn ah weird, you can put other stuff in cabal.project's constraints field, I guess like package flags?
17:25:22 <statusfailed> I know stack has the flags section for that though
17:27:11 gzj joins (~gzj@unaffiliated/gzj)
17:27:28 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-164.cust.tzulo.com)
17:28:58 plam4u joins (~plam4u@131.red-83-38-238.dynamicip.rima-tde.net)
17:31:35 argento joins (~argent0@168.227.96.26)
17:32:26 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 268 seconds)
17:35:13 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:c48f:1a20:b814:adb4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:35:21 × thunderrd quits (~thunderrd@183.182.111.131) (Remote host closed the connection)
17:38:37 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
17:40:32 thallada joins (~thallada@fsf/member/thallada)
17:42:00 × mirrorbird quits (~psutcliff@2a00:801:42b:8314:3772:eb7f:91f1:698c) (Quit: Leaving)
17:42:13 knupfer joins (~Thunderbi@200116b82c7e8f0029e8d9a0b516f068.dip.versatel-1u1.de)
17:42:29 justsomeguy joins (~justsomeg@2603-9000-960a-fc00-c4d2-5b73-c7b7-3a2b.inf6.spectrum.com)
17:42:29 × justsomeguy quits (~justsomeg@2603-9000-960a-fc00-c4d2-5b73-c7b7-3a2b.inf6.spectrum.com) (Changing host)
17:42:29 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
17:43:23 nbloomf joins (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3)
17:44:26 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Remote host closed the connection)
17:44:38 × knupfer quits (~Thunderbi@200116b82c7e8f0029e8d9a0b516f068.dip.versatel-1u1.de) (Remote host closed the connection)
17:44:47 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
17:44:56 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
17:46:04 × ransom quits (~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:46:55 juuandyy joins (~juuandyy@90.166.144.65)
17:47:10 × geekosaur quits (42d52137@66.213.33.55) (Ping timeout: 245 seconds)
17:52:27 × jamm quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
17:56:17 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:57:28 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
17:59:21 nbloomf joins (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3)
18:02:52 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
18:04:03 chang joins (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
18:04:36 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
18:04:42 × plam4u quits (~plam4u@131.red-83-38-238.dynamicip.rima-tde.net) ()
18:05:02 jb55 joins (~jb55@gateway/tor-sasl/jb55)
18:05:37 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
18:07:12 brisbin joins (~patrick@174-081-116-011.res.spectrum.com)
18:07:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
18:12:58 carthia joins (~carthia@gateway/tor-sasl/carthia)
18:13:50 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:14:23 geekosaur joins (42d52137@66.213.33.55)
18:14:24 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
18:15:14 Forlorn joins (~Forlorn@unaffiliated/forlorn)
18:15:31 nbloomf joins (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3)
18:15:43 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
18:16:19 Tario joins (~Tario@201.192.165.173)
18:17:31 × brisbin quits (~patrick@174-081-116-011.res.spectrum.com) (Quit: WeeChat 2.9)
18:17:33 Melanie joins (~Melanie@192-0-134-138.cpe.teksavvy.com)
18:17:34 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
18:18:05 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds)
18:21:06 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 265 seconds)
18:21:10 × Mikagami quits (~MOSCOS@122.54.107.175) (Remote host closed the connection)
18:21:33 Mikagami joins (~MOSCOS@122.54.107.175)
18:22:09 Tario joins (~Tario@200.119.186.210)
18:22:31 <statusfailed> Does ghci do linking differently to ghc somehow? I have a program which I can compile but ghci gives me a linker error
18:22:55 <geekosaur> ghci has its own linker which is known to not handle all cases
18:23:09 <statusfailed> ah
18:23:21 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
18:23:47 <geekosaur> that said, most of the time it's something like being in the wrong directory or something similar, not hitting one of the edge cases
18:23:54 <statusfailed> Is there a way I can debug the link step of ghci? I have the command "cabal repl" is using, but I don't see how to affect linking
18:24:06 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
18:24:14 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-134-164.cust.tzulo.com) (Ping timeout: 268 seconds)
18:24:15 <statusfailed> geekosaur: wouldn't being in the wrong directory also affect ghc ?
18:25:10 <geekosaur> if you were certain they were doing the same thing, yes. if you're using "cabal repl", you may have something misconfigured
18:26:20 <statusfailed> geekosaur: I took the "ghc --interactive ..." command that "cabal repl" used and just removed the --interactive flag
18:26:27 <statusfailed> with --interactive I get link errors, without that flag things work
18:28:08 <statusfailed> ("things work" = I get an executable that I can run without errors)
18:29:09 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 256 seconds)
18:29:17 × zebrag quits (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
18:31:25 zebrag joins (~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
18:36:37 × philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection)
18:36:49 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:36:53 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
18:37:30 × carthia quits (~carthia@gateway/tor-sasl/carthia) (Remote host closed the connection)
18:37:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
18:37:59 carthia joins (~carthia@gateway/tor-sasl/carthia)
18:38:12 bps joins (~bps@103.118.146.114)
18:38:51 nbloomf joins (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3)
18:41:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:42:28 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
18:42:51 × dhil quits (~dhil@78.156.97.38) (Quit: Leaving)
18:44:45 iekfkk joins (~username@117.200.9.42)
18:47:03 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Remote host closed the connection)
18:47:22 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
18:47:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
18:47:31 × bisickcor quits (~username@117.200.14.227) (Ping timeout: 246 seconds)
18:48:56 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
18:48:56 Lord_of_Life_ is now known as Lord_of_Life
18:49:13 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
18:49:37 × Melanie quits (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 265 seconds)
18:49:53 christo joins (~chris@81.96.113.213)
18:50:39 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 260 seconds)
18:52:12 × argento quits (~argent0@168.227.96.26) (Ping timeout: 272 seconds)
18:52:40 rmk236 joins (~lcampos@2a02:908:3616:b100:849c:a12b:ff95:e193)
18:53:45 <statusfailed> Hrm, seems like GHCi doesn't like linking with libstdc++
18:53:54 argento joins (~argent0@168.227.96.26)
18:53:59 Melanie joins (~Melanie@192-0-134-138.cpe.teksavvy.com)
18:54:44 × christo quits (~chris@81.96.113.213) (Ping timeout: 272 seconds)
18:55:09 samsepiol joins (~jh@94.31.85.251)
18:55:26 <geekosaur> that fails to surprise me, given linkers need to handle template specialization and ghci's built-in linker probably doesn't
18:56:19 o1lo01ol1o joins (~o1lo01ol1@31.22.145.144)
18:57:57 × samsepiol quits (~jh@94.31.85.251) (Client Quit)
18:58:13 samsepiol joins (~jh@94.31.85.251)
19:00:13 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
19:01:09 × o1lo01ol1o quits (~o1lo01ol1@31.22.145.144) (Ping timeout: 260 seconds)
19:02:50 × samsepiol quits (~jh@94.31.85.251) (Client Quit)
19:02:57 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
19:03:27 berberman joins (~berberman@unaffiliated/berberman)
19:04:21 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
19:04:32 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds)
19:04:56 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:05:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:05:37 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Remote host closed the connection)
19:06:47 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Quit: birdd)
19:06:51 christo joins (~chris@81.96.113.213)
19:07:31 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
19:08:03 <tomsmeding> the linker needs to handle template specialisation? I knew less about c++ than I thought
19:08:36 <geekosaur> what happens when two different .cc files do the same specialization for the same template?
19:08:54 <geekosaur> the linker needs to either pick one, or do the specialization itself
19:09:29 <geekosaur> this is actually one of the lesser problems; c++ is a mess
19:09:49 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
19:09:50 <tomsmeding> is that even allowed in the first place?
19:10:03 × chang quits (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:10:05 <geekosaur> sure, and STL relies on it
19:10:37 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
19:13:20 <dsal> I'm trying to figure out how to do something with optparse-applicative that doesn't seem like it should be that hard. I want to use `many (argument ..)` and do something different for a length of 0, 1, or 2. I can do `sub <$> many (argument str (metavar "args..."))` and have a different parser for each, but I can't make a length of 3 fail gracefully.
19:13:26 chang joins (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
19:13:48 <dsal> I also tried <|> between parsers for 2, 1, and 0, but the 1 case never works because it doesn't backtrack that far.
19:14:50 <dsal> I have a subcommand "config" that lists the config with 0 args, gets a particular value with 1, and sets a value with 2. It works fine if I just pass the args down and make the decision later, but I'm trying to see if I can model this earlier.
19:15:35 <Melanie> case split on the result of the parse is my first guess
19:16:04 <tomsmeding> geekosaur: my compiler doesn't allow it :p https://paste.tomsmeding.com/bjtSuLwg
19:16:12 <tomsmeding> or I'm misunderstanding you
19:16:26 <tomsmeding> oh crap that shell session is wrong
19:16:53 × xff0x_ quits (~fox@2001:1a81:532a:2200:95e9:9dd9:cd9c:c473) (Ping timeout: 260 seconds)
19:16:53 <tomsmeding> geekosaur: https://paste.tomsmeding.com/pDkgNCqc that's the correct one
19:17:01 <geekosaur> I'm probably using the wrong terminology
19:17:06 <dsal> Melanie: Yeah, I tried that, but the parser isn't monadic, so it's not clear to me how to join.
19:17:19 <geekosaur> instantiation instead of specialization, maybe
19:17:23 xff0x_ joins (~fox@2001:1a81:532a:2200:ffb2:f24f:b99c:824f)
19:17:45 <geekosaur> the point here is duplicated code if you handle it naïvely
19:17:52 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-43.cust.tzulo.com)
19:18:15 <statusfailed> geekosaur: isn't the second link showing that you actually get duplicated code in C++?
19:18:20 <statusfailed> and therefore the linker isn't doing any template stuff?
19:18:22 <tomsmeding> right, that would be _implicit_ template specialisations, where the compiler specialises a template function (defined in some header file) for the type with which it is used -- in multiple files separately
19:18:34 Guest99 joins (59217720@gateway/web/cgi-irc/kiwiirc.com/ip.89.33.119.32)
19:19:09 <Guest99> @pl lift2 f k1 k2 = (f <$> k1) <*> k2
19:19:09 <lambdabot> lift2 = ((<*>) .) . (<$>)
19:19:34 <tomsmeding> :t liftA2
19:19:35 <lambdabot> Applicative f => (a -> b -> c) -> f a -> f b -> f c
19:20:47 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
19:21:25 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
19:21:51 madjestic joins (~Android@86-88-72-244.fixed.kpn.net)
19:22:42 <tomsmeding> geekosaur: I thought that was just deduplication though, not actual instantiation in the linker (which would be outrageous complexity inside a linker)
19:23:09 Guest99 parts (59217720@gateway/web/cgi-irc/kiwiirc.com/ip.89.33.119.32) ()
19:23:19 <geekosaur> deduplication is harder than it looks, iirc
19:23:40 GuerrillaMonkey joins (~Jeanne-Ka@static-198-54-134-62.cust.tzulo.com)
19:24:16 Guest99 joins (59217720@gateway/web/cgi-irc/kiwiirc.com/ip.89.33.119.32)
19:25:04 <tomsmeding> seems so, indeed; TIL
19:26:32 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-134-43.cust.tzulo.com) (Ping timeout: 260 seconds)
19:26:48 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 260 seconds)
19:27:13 × icebreaker quits (michalc@unaffiliated/icebreaker) (Ping timeout: 264 seconds)
19:27:30 icebreaker joins (michalc@unaffiliated/icebreaker)
19:27:45 × robotmay quits (~beepboop@2001:8b0:7af0:2580:9553:dae8:6cf1:18d0) (Ping timeout: 268 seconds)
19:28:02 robotmay joins (~beepboop@2001:8b0:7af0:2580:80b7:418d:2e2d:4473)
19:29:00 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-rpdhzkafohuoilye) (Quit: Connection closed for inactivity)
19:30:59 × kuribas quits (~user@ptr-25vy0i9jslvkgmof4mc.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
19:31:19 Guest99 parts (59217720@gateway/web/cgi-irc/kiwiirc.com/ip.89.33.119.32) ()
19:32:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456) (Remote host closed the connection)
19:32:36 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
19:33:39 <ProofTechnique> dsal: https://stackoverflow.com/questions/49751139/how-to-combine-parsers-up-to-n-times-in-haskell Something like that might help? Not sure if that's _too_ restrictive for your case
19:36:02 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
19:36:24 <dsal> ProofTechnique: thanks. I'll play around a bit more. It's easy to do this with monadic parsers, but I'm doing it wrong down here.
19:37:27 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe) (Remote host closed the connection)
19:38:06 <ProofTechnique> dsal: Also, a shockingly relevant answer from the author: https://stackoverflow.com/questions/25956558/optparse-applicative-backtracking
19:39:02 vicfred joins (~vicfred@unaffiliated/vicfred)
19:39:07 Kaiepi joins (~Kaiepi@47.54.252.148)
19:39:11 <dsal> ProofTechnique: ha. Yes, that's it.
19:39:58 justsomeguy joins (~justsomeg@216.186.218.241)
19:39:58 × justsomeguy quits (~justsomeg@216.186.218.241) (Changing host)
19:39:58 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
19:40:17 <dsal> I'll just leave the error for later in the runtime. It's not a bad user experience and nobody will likely ever see this anyway. Just started doing more work this lib and had a few neat things come out of it.
19:42:43 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
19:42:45 boxscape joins (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89)
19:42:48 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Quit: ZNC 1.7.5 - https://znc.in)
19:43:05 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
19:44:04 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds)
19:44:23 × carthia quits (~carthia@gateway/tor-sasl/carthia) (Ping timeout: 240 seconds)
19:44:23 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
19:44:24 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
19:44:24 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
19:44:43 × ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
19:45:03 × philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
19:45:04 × hekkaidekapus[ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
19:45:04 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
19:45:22 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
19:45:44 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds)
19:46:03 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds)
19:46:07 carthia joins (~carthia@gateway/tor-sasl/carthia)
19:46:27 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
19:46:30 aveltras joins (uid364989@gateway/web/irccloud.com/x-kccvjjqcpxkkewrw)
19:47:13 christo joins (~chris@81.96.113.213)
19:47:14 gxt joins (~gxt@gateway/tor-sasl/gxt)
19:47:19 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
19:49:37 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
19:49:43 × srk quits (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
19:49:43 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds)
19:50:43 teardown joins (~user@gateway/tor-sasl/mrush)
19:51:14 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:53:29 nbloomf joins (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3)
19:54:18 vicfred_ joins (~vicfred@unaffiliated/vicfred)
19:54:44 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
19:55:02 mp___ joins (~mp@hell.cx)
19:56:13 bitmapper joins (uid464869@gateway/web/irccloud.com/x-eafppdbbqgpahaet)
19:56:55 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 256 seconds)
19:56:57 christo joins (~chris@81.96.113.213)
19:57:03 × GuerrillaMonkey quits (~Jeanne-Ka@static-198-54-134-62.cust.tzulo.com) (Quit: Leaving)
19:57:08 × vicfred quits (~vicfred@unaffiliated/vicfred) (Ping timeout: 256 seconds)
19:57:46 vicfred__ joins (~vicfred@unaffiliated/vicfred)
19:57:52 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
19:57:55 hexo joins (~hexo@gateway/tor-sasl/hexo)
19:57:55 srk joins (~sorki@gateway/tor-sasl/sorki)
19:57:58 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
19:57:58 gioyik joins (~gioyik@179.32.228.107)
19:57:59 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
19:58:38 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
19:59:33 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
19:59:40 jb55 joins (~jb55@gateway/tor-sasl/jb55)
19:59:46 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
20:00:05 × geekosaur quits (42d52137@66.213.33.55) (Ping timeout: 245 seconds)
20:00:19 × vicfred_ quits (~vicfred@unaffiliated/vicfred) (Ping timeout: 246 seconds)
20:00:28 × vicfred__ quits (~vicfred@unaffiliated/vicfred) (Client Quit)
20:01:22 ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
20:01:31 hekkaidekapus[ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
20:01:42 jpds joins (~jpds@gateway/tor-sasl/jpds)
20:06:28 × wonko7 quits (~wonko7@2a01:e35:2ffb:7040:aa95:463a:bcd8:60e4) (Ping timeout: 260 seconds)
20:09:19 Vulfe joins (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe)
20:11:50 × bps quits (~bps@103.118.146.114) (Quit: Leaving)
20:13:08 al3x27 joins (~plovs@85.254.74.40)
20:13:47 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe) (Ping timeout: 260 seconds)
20:15:58 geekosaur joins (42d52137@66.213.33.55)
20:16:09 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:19:25 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds)
20:20:07 × nyd quits (~nyd@unaffiliated/elysian) (Quit: nyd)
20:20:41 dfeuer joins (~dfeuer@pool-108-18-223-60.washdc.fios.verizon.net)
20:20:50 acidjnk_new joins (~acidjnk@p200300d0c704e726458729e8ce1a3b25.dip0.t-ipconnect.de)
20:20:53 bor0 joins (~boro@unaffiliated/boro/x-000000001)
20:20:54 heatsink joins (~heatsink@2600:1700:bef1:5e10:8058:a74d:29ea:8456)
20:21:36 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
20:22:01 × thallada quits (~thallada@fsf/member/thallada) (Ping timeout: 268 seconds)
20:23:14 wonko7 joins (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net)
20:25:49 Vulfe joins (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe)
20:26:42 Deide joins (~Deide@217.155.19.23)
20:30:41 × argento quits (~argent0@168.227.96.26) (Quit: leaving)
20:32:10 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
20:35:31 × juuandyy quits (~juuandyy@90.166.144.65) (Quit: Konversation terminated!)
20:35:52 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
20:36:03 vicfred joins (~vicfred@unaffiliated/vicfred)
20:37:23 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-rbphamfimqkpbxje)
20:37:57 neiluj joins (~jco@30.106.204.77.rev.sfr.net)
20:37:57 × neiluj quits (~jco@30.106.204.77.rev.sfr.net) (Changing host)
20:37:57 neiluj joins (~jco@unaffiliated/neiluj)
20:38:09 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
20:38:52 × hiroaki_ quits (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
20:39:41 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
20:40:01 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
20:43:36 × chang quits (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:44:00 × neiluj quits (~jco@unaffiliated/neiluj) (Remote host closed the connection)
20:44:24 neiluj joins (~jco@30.106.204.77.rev.sfr.net)
20:45:01 × neiluj quits (~jco@30.106.204.77.rev.sfr.net) (Changing host)
20:45:01 neiluj joins (~jco@unaffiliated/neiluj)
20:46:31 × ggole quits (~ggole@2001:8003:8119:7200:fc49:98ab:ef5a:2f0f) (Quit: Leaving)
20:47:23 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
20:49:43 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
20:49:49 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
20:50:49 × bor0 quits (~boro@unaffiliated/boro/x-000000001) (Quit: Leaving)
20:51:05 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
20:51:18 jpds joins (~jpds@gateway/tor-sasl/jpds)
20:51:25 hiroaki_ joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
20:51:44 mnrmnaugh parts (~mnrmnaugh@unaffiliated/mnrmnaugh) ("Leaving")
20:54:46 × neiluj quits (~jco@unaffiliated/neiluj) (Ping timeout: 256 seconds)
20:55:29 neiluj joins (~jco@30.106.204.77.rev.sfr.net)
20:56:22 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
20:56:29 × neiluj quits (~jco@30.106.204.77.rev.sfr.net) (Changing host)
20:56:29 neiluj joins (~jco@unaffiliated/neiluj)
20:58:46 × mp___ quits (~mp@hell.cx) (Ping timeout: 246 seconds)
21:06:12 bisickcor joins (~username@117.200.6.145)
21:06:14 eruiucuiviucuiv joins (dd73e7a2@gateway/web/cgi-irc/kiwiirc.com/ip.221.115.231.162)
21:07:32 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:07:47 ke4pcx joins (~ke4pcx@024-158-093-129.res.spectrum.com)
21:08:08 × eruiucuiviucuiv quits (dd73e7a2@gateway/web/cgi-irc/kiwiirc.com/ip.221.115.231.162) (Client Quit)
21:08:57 eruiucuiviucuiv joins (dd73e7a2@gateway/web/cgi-irc/kiwiirc.com/ip.221.115.231.162)
21:10:22 × iekfkk quits (~username@117.200.9.42) (Ping timeout: 260 seconds)
21:11:10 son0p joins (~son0p@181.136.122.143)
21:14:57 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
21:15:16 × michalz quits (~user@185.246.204.81) (Remote host closed the connection)
21:20:02 pera joins (~pera@unaffiliated/pera)
21:20:03 knupfer joins (~Thunderbi@200116b82c7e8f006d2991337593e4d1.dip.versatel-1u1.de)
21:20:37 dan64- joins (~dan64@dannyadam.com)
21:21:09 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 260 seconds)
21:22:16 × dan64 quits (~dan64@dannyadam.com) (Ping timeout: 240 seconds)
21:25:25 × neiluj quits (~jco@unaffiliated/neiluj) (Ping timeout: 264 seconds)
21:25:44 neiluj joins (~jco@30.106.204.77.rev.sfr.net)
21:27:23 × neiluj quits (~jco@30.106.204.77.rev.sfr.net) (Changing host)
21:27:23 neiluj joins (~jco@unaffiliated/neiluj)
21:28:06 × acertain quits (sid470584@gateway/web/irccloud.com/x-qeytvjvyzprldktf) (Ping timeout: 246 seconds)
21:28:18 × gluegadget quits (sid22336@gateway/web/irccloud.com/x-dtblqsqvfgxmasgf) (Ping timeout: 264 seconds)
21:28:31 × dmj` quits (sid72307@gateway/web/irccloud.com/x-vmhiwakulamkftfj) (Ping timeout: 272 seconds)
21:28:31 × hamishmack quits (sid389057@gateway/web/irccloud.com/x-waeuuwgsuejagktr) (Ping timeout: 246 seconds)
21:28:40 × Firedancer quits (sid336191@gateway/web/irccloud.com/x-xkgtkehsqkpbtolh) (Ping timeout: 258 seconds)
21:28:41 × rann quits (sid175221@gateway/web/irccloud.com/x-mnfqxkvscoribbyj) (Read error: Connection reset by peer)
21:28:43 × heyj quits (sid171370@gateway/web/irccloud.com/x-ofkusdzepocmjaiw) (Ping timeout: 260 seconds)
21:28:47 × dsturnbull quits (sid347899@gateway/web/irccloud.com/x-vorxxyotrrrkmyad) (Read error: Connection reset by peer)
21:29:05 dsturnbull joins (sid347899@gateway/web/irccloud.com/x-lpnbxtxtmytjyfdn)
21:29:05 gluegadget joins (sid22336@gateway/web/irccloud.com/x-mzkaypjsiixomsyk)
21:29:09 × SanchayanMaity quits (sid478177@gateway/web/irccloud.com/x-gmsaydqqxiwaogmm) (Ping timeout: 272 seconds)
21:29:13 rann joins (sid175221@gateway/web/irccloud.com/x-ovijerzeskjjnqsz)
21:29:22 acertain joins (sid470584@gateway/web/irccloud.com/x-btwolubrdhxdebcc)
21:29:23 hamishmack joins (sid389057@gateway/web/irccloud.com/x-ytehzspaibvviimj)
21:29:59 Firedancer joins (sid336191@gateway/web/irccloud.com/x-wwtwmrdjuxzlppmn)
21:30:30 × eruiucuiviucuiv quits (dd73e7a2@gateway/web/cgi-irc/kiwiirc.com/ip.221.115.231.162) (Quit: Connection closed)
21:30:49 dmj` joins (sid72307@gateway/web/irccloud.com/x-usztejhjqqsoahly)
21:31:21 SanchayanMaity joins (sid478177@gateway/web/irccloud.com/x-edlobfvvakeaqpnf)
21:31:29 heyj joins (sid171370@gateway/web/irccloud.com/x-mtsoiqubeqpujjfv)
21:34:59 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:35:13 × roconnor quits (~roconnor@host-45-78-199-13.dyn.295.ca) (Read error: Connection reset by peer)
21:36:43 × neiluj quits (~jco@unaffiliated/neiluj) (Ping timeout: 256 seconds)
21:37:21 neiluj joins (~jco@30.106.204.77.rev.sfr.net)
21:37:36 <merijn> dsal: What was your question?
21:39:33 <merijn> dsal: Oh, I see. Wouldn't it be much simpler to make the 1 and 2 argument cases subcommands of the 0 argument case?
21:42:04 × motherfsck quits (~motherfsc@unaffiliated/motherfsck) (Remote host closed the connection)
21:45:07 × geekosaur quits (42d52137@66.213.33.55) (Remote host closed the connection)
21:45:36 Lowl3v3l joins (~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de)
21:45:49 × neiluj quits (~jco@30.106.204.77.rev.sfr.net) (Ping timeout: 264 seconds)
21:46:58 <dsal> merijn: That's how I did it initially, but they're effectively different commands. The command is 'config' where no args lists all things, one argument gets the current value, and two arguments sets a value. If I made them config-list, config-get, and config-set then this would be obvious, but I was hoping to do something a bit fancier.
21:47:35 <merijn> dsal:
21:47:36 <dsal> I did end up going a little better since all config parameters are known at compile time, so I can at least validate that if given and differentiate 0 from non-zero params.
21:47:50 <merijn> dsal: No, I meant "make those subcommands of config"
21:48:02 <merijn> So you get "config" "config set" "config get" or whatever
21:48:10 <merijn> Subcommands can have subcommands
21:48:17 <merijn> Nested arbitrarily deeply
21:48:19 <dsal> Hmm... That's an idea.
21:48:26 <dsal> Yeah, I might try that later. Thanks.
21:48:29 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:48:34 <merijn> I think I have like 5 layers in my code, doing pretty much that :p
21:48:36 <dsal> (I'm literally the only user here, but I'm enjoying the learning experience)
21:48:53 <merijn> Although inverted
21:49:08 leafiest0 joins (~leafiest@165.227.53.12)
21:49:17 × leafiest0 quits (~leafiest@165.227.53.12) (Client Quit)
21:49:19 <merijn> So I have like "set foo bar 5" to update bar to 5 for foo
21:51:47 neiluj joins (~jco@30.106.204.77.rev.sfr.net)
21:51:47 <dsal> I have three config parameters. heh. A lot of this code is unnecessary, just in case someone wants to use this program and not interact with sqlite directly.
21:54:50 <dsal> I could also generate subcommands from my config parameters. That'd be interesting.
21:55:04 mp___ joins (~mp@hell.cx)
21:55:47 hexfive joins (~hexfive@50-47-142-195.evrt.wa.frontiernet.net)
21:56:16 × hexfive quits (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Client Quit)
21:58:08 <gentauro> merijn: «If a program generates a lot of garbage, turning on multithreading (-threaded) and parallel garbage collection (-qg0 -N) may make it run faster.» https://notes.abhinavsarkar.net/2020/aoc-learnings
21:58:12 <gentauro> :)
21:58:35 nbloomf joins (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3)
22:00:31 Rudd0 joins (~Rudd0@185.189.115.103)
22:00:42 leafiest0 joins (~leafiest@165.227.53.12)
22:01:19 × leafiest quits (~leafiest@c-73-118-152-9.hsd1.wa.comcast.net) (Quit: The Lounge - https://thelounge.chat)
22:01:27 aidecoe joins (~aidecoe@unaffiliated/aidecoe)
22:01:44 o1lo01ol1o joins (~o1lo01ol1@31.22.145.144)
22:01:47 <merijn> That is...almost certainly incorrect
22:01:48 <pie_> bitonic: how can i get cabal to show the gcc commands or what? i passed -v3 but no gcc commands afaict
22:01:50 leafiest0 is now known as leafiest
22:02:19 <dcoutts> pie_: you'd need to get ghc to show the gcc invocations.
22:02:26 <dcoutts> use --ghc-options=-v iirc
22:02:47 takuan joins (~takuan@178-116-218-225.access.telenet.be)
22:02:50 <dcoutts> cabal does not invoke gcc directly (much), ghc does it
22:03:24 <merijn> gentauro: parallel GC may help if you have lots of *non*-garbage
22:03:38 <pie_> mm ok
22:03:56 <merijn> gentauro: And even then you don't want it to be parallel equal to number of capabilities like the default, you probably want a handful of threads at most
22:04:23 <gentauro> merijn: the current API I'm working up against, only allow for 52 concurrent connections
22:04:26 <merijn> gentauro: Also note that, iirc -qg and -qg0 don't do the same thing (not sure)
22:04:34 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3cf1:586e:d728:faa3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:05:32 <gentauro> so using `mapConcurrently` (`async`) without previous `chunkOf` gave a lot of "maximum connection reached"
22:05:33 Widget joins (~widget@2a04:ee41:6:7207:c11:a26b:c8ca:962a)
22:05:42 <gentauro> 23:04 < merijn> gentauro: Also note that, iirc -qg and -qg0 don't do the same thing (not sure)
22:05:56 <gentauro> merijn: it is, the `docs` says that the default value is zero so …
22:06:22 <merijn> gentauro: Right and the default is bad :)
22:06:22 <gentauro> https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/runtime_control.html#rts-flag--qg%20%E2%9F%A8gen%E2%9F%A9
22:06:36 × neiluj quits (~jco@30.106.204.77.rev.sfr.net) (Quit: leaving)
22:07:33 <gentauro> merijn: so you would rather `hardcode` the zero in case it changes?
22:07:43 <merijn> gentauro: No
22:07:51 <merijn> You want "-qg" without the 0 at all
22:07:58 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-148.cust.tzulo.com)
22:07:59 <merijn> -qg0 still enables parallel GC
22:08:08 <merijn> -qg (without any number) disables parallel GC
22:08:09 <gentauro> roger that. It's what I'm using :)
22:08:29 × o1lo01ol1o quits (~o1lo01ol1@31.22.145.144) (Remote host closed the connection)
22:08:32 <merijn> You almost certainly *don't* want parallel GC, as in most applications its considerably worse
22:09:07 <merijn> Especially not in combination with -N
22:09:40 <gentauro> merijn: I understand
22:11:19 MOSCOS joins (~MOSCOS@152.32.70.55)
22:12:23 <aljce> Does anyone know how to coerce newtypes in accelerate? I have newtype Foo = Foo Word16 and I want to write the function fromWord16 :: Exp Word16 -> Exp Foo
22:13:01 × Widget quits (~widget@2a04:ee41:6:7207:c11:a26b:c8ca:962a) (Ping timeout: 268 seconds)
22:13:25 × hiroaki_ quits (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
22:14:12 ransom joins (~c4264035@2a09:bac0:72::82f:c34)
22:14:52 × Mikagami quits (~MOSCOS@122.54.107.175) (Ping timeout: 272 seconds)
22:15:33 Mikagami joins (~MOSCOS@122.54.107.175)
22:16:05 × MOSCOS quits (~MOSCOS@152.32.70.55) (Ping timeout: 240 seconds)
22:17:06 × rmk236 quits (~lcampos@2a02:908:3616:b100:849c:a12b:ff95:e193) (Quit: Leaving.)
22:21:56 × dfeuer quits (~dfeuer@pool-108-18-223-60.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
22:23:52 SeMas joins (uid32977@gateway/web/irccloud.com/x-ewxsbmmdfjckxyvi)
22:24:40 PM_me_your_fzf is now known as dysfigured
22:26:16 hiroaki_ joins (~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
22:26:21 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
22:26:57 christo joins (~chris@81.96.113.213)
22:30:09 × teardown quits (~user@gateway/tor-sasl/mrush) (Remote host closed the connection)
22:30:18 × knupfer quits (~Thunderbi@200116b82c7e8f006d2991337593e4d1.dip.versatel-1u1.de) (Quit: knupfer)
22:30:29 knupfer joins (~Thunderbi@200116b82c7e8f00c80444b93720a5cc.dip.versatel-1u1.de)
22:30:31 × knupfer quits (~Thunderbi@200116b82c7e8f00c80444b93720a5cc.dip.versatel-1u1.de) (Client Quit)
22:31:31 knupfer joins (~Thunderbi@200116b82c7e8f0071cb7f91529dc1c7.dip.versatel-1u1.de)
22:31:32 × christo quits (~chris@81.96.113.213) (Ping timeout: 258 seconds)
22:32:09 × knupfer quits (~Thunderbi@200116b82c7e8f0071cb7f91529dc1c7.dip.versatel-1u1.de) (Client Quit)
22:32:18 knupfer joins (~Thunderbi@200116b82c7e8f000014a7704583bd48.dip.versatel-1u1.de)
22:32:42 × knupfer quits (~Thunderbi@200116b82c7e8f000014a7704583bd48.dip.versatel-1u1.de) (Client Quit)
22:33:11 knupfer joins (~Thunderbi@200116b82c7e8f0061e62b7ff26d62cd.dip.versatel-1u1.de)
22:33:23 × knupfer quits (~Thunderbi@200116b82c7e8f0061e62b7ff26d62cd.dip.versatel-1u1.de) (Client Quit)
22:33:49 knupfer joins (~Thunderbi@200116b82c7e8f007188ba0de3569746.dip.versatel-1u1.de)
22:33:50 × knupfer quits (~Thunderbi@200116b82c7e8f007188ba0de3569746.dip.versatel-1u1.de) (Read error: Connection reset by peer)
22:34:51 knupfer joins (~Thunderbi@200116b82c7e8f002d6363f423dba2c0.dip.versatel-1u1.de)
22:35:23 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
22:35:25 teardown joins (~user@gateway/tor-sasl/mrush)
22:35:41 × knupfer quits (~Thunderbi@200116b82c7e8f002d6363f423dba2c0.dip.versatel-1u1.de) (Client Quit)
22:35:52 knupfer joins (~Thunderbi@200116b82c7e8f0039b8789eeb6acf88.dip.versatel-1u1.de)
22:37:37 × knupfer quits (~Thunderbi@200116b82c7e8f0039b8789eeb6acf88.dip.versatel-1u1.de) (Client Quit)
22:37:44 christo joins (~chris@81.96.113.213)
22:37:45 knupfer joins (~Thunderbi@200116b82c7e8f00bd6d1b305dfa49c4.dip.versatel-1u1.de)
22:41:19 Widget joins (~widget@2a04:ee41:6:7207:c11:a26b:c8ca:962a)
22:41:37 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 265 seconds)
22:44:49 anhedonite joins (~anhedonit@c-73-78-103-7.hsd1.co.comcast.net)
22:44:55 anhedonite parts (~anhedonit@c-73-78-103-7.hsd1.co.comcast.net) ()
22:45:54 × fendor_ quits (~fendor@178.165.130.45.wireless.dyn.drei.com) (Remote host closed the connection)
22:46:03 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
22:46:32 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
22:47:27 teardown joins (~user@gateway/tor-sasl/mrush)
22:49:32 smitop joins (uid328768@gateway/web/irccloud.com/x-tanlhsstfzbvbzcf)
22:50:45 leat joins (~leat@128-71-108-164.broadband.corbina.ru)
22:51:02 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds)
22:51:26 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 256 seconds)
23:00:32 <sshine> aljce, I don't know accellerate, but it sounds like you want 'fmap Foo'?
23:00:44 teardown_ joins (~user@gateway/tor-sasl/mrush)
23:01:16 × mp___ quits (~mp@hell.cx) (Ping timeout: 246 seconds)
23:01:47 <sshine> if 'Foo :: Word16 -> Foo', and Exp is a Functor, then 'fmap Foo :: Exp Word16 -> Exp Foo'
23:01:55 × Tario quits (~Tario@200.119.186.210) (Ping timeout: 265 seconds)
23:02:02 Tario joins (~Tario@201.192.165.173)
23:02:06 × boxscape quits (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Quit: Connection closed)
23:02:08 <sshine> sorry, accelerate.
23:02:33 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
23:02:35 <Melanie> aljce: it looks like you want 'lift1 Foo' since I don't see a Functor instance for Exp
23:02:45 <Melanie> granted I don't know accelerate either
23:03:21 <sshine> I'm trying to compile the 'show-prettyprint' package against the latest Stackage. I'm getting a bunch of dependency problems related to trifecta-2.1. I can see on https://github.com/commercialhaskell/stackage/commit/f562e28566a8116a56310b24f415ece80249746e that some people have mitigated this by restricting themselves to trifecta < 2.1. but then I run into a bunch of upper bound constraints because the
23:03:27 <sshine> older versions are, well, old.
23:03:43 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
23:04:10 takuan joins (~takuan@178-116-218-225.access.telenet.be)
23:08:42 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 272 seconds)
23:08:51 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
23:10:47 × pjb quits (~t@2a01cb04063ec5009cc234517582f902.ipv6.abo.wanadoo.fr) (Read error: Connection reset by peer)
23:10:56 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 256 seconds)
23:14:50 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
23:16:41 × ransom quits (~c4264035@2a09:bac0:72::82f:c34) (Read error: Connection reset by peer)
23:17:31 ransom joins (~c4264035@8.47.12.52)
23:18:54 × knupfer quits (~Thunderbi@200116b82c7e8f00bd6d1b305dfa49c4.dip.versatel-1u1.de) (Quit: knupfer)
23:19:09 knupfer joins (~Thunderbi@200116b82c7e8f00084d19594ac0a1d9.dip.versatel-1u1.de)
23:21:44 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
23:22:14 × yumh quits (~yumh@mail.xglobe.in) (Quit: ZNC - https://znc.in)
23:25:07 yumh joins (~yumh@mail.xglobe.in)
23:25:42 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
23:26:01 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe) (Remote host closed the connection)
23:26:07 dfeuer joins (~dfeuer@pool-108-18-223-60.washdc.fios.verizon.net)
23:26:12 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
23:26:38 sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
23:26:47 Vulfe joins (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe)
23:28:42 × yumh quits (~yumh@mail.xglobe.in) (Remote host closed the connection)
23:29:24 <sshine> if I don't 'allow-never: true', what is the shortest path forward for me? -- oh, this is funny. in my procrastination, I started looking at https://github.com/NorfairKing/sydtest/ and saw that it touted use of 'ppShow' which comes from 'pretty-show'. easy. :)
23:29:53 lawid joins (~quassel@dslb-178-005-075-009.178.005.pools.vodafone-ip.de)
23:31:32 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe) (Ping timeout: 260 seconds)
23:32:01 × sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 264 seconds)
23:33:23 yumh joins (~yumh@mail.xglobe.in)
23:33:58 × Rudd0 quits (~Rudd0@185.189.115.103) (Remote host closed the connection)
23:35:36 <sm[m]> sshine: pretty-simple is also good
23:37:17 <sshine> sm[m], ah. it has better overlap with my existing dependencies. thanks.
23:38:31 Tesseraction joins (~Tesseract@unaffiliated/tesseraction)
23:46:17 Vulfe joins (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe)
23:47:49 × verement quits (~anonymous@cpe-76-167-229-223.san.res.rr.com) (Quit: verement)
23:49:47 × yumh quits (~yumh@mail.xglobe.in) (Quit: ZNC - https://znc.in)
23:49:47 × Gorbel quits (~Gorbel@p5790e186.dip0.t-ipconnect.de) (Quit: Gorbel)
23:50:31 yumh joins (~yumh@mail.xglobe.in)
23:52:47 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:3dea:7cc:1ee9:85fe) (Ping timeout: 260 seconds)
23:52:56 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
23:54:09 × knupfer quits (~Thunderbi@200116b82c7e8f00084d19594ac0a1d9.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
23:54:32 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
23:55:03 mp___ joins (~mp@hell.cx)
23:56:27 × yumh quits (~yumh@mail.xglobe.in) (Quit: ZNC - https://znc.in)

All times are in UTC on 2020-12-29.