2021/07/04

2021-07-04 00:00:02 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-04 00:00:20 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 258 seconds)
2021-07-04 00:02:39 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 00:03:12 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-04 00:03:47 +0200cheater(~Username@user/cheater)
2021-07-04 00:04:42 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 00:06:23 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 00:07:13 +0200favonia(~favonia@user/favonia)
2021-07-04 00:07:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-04 00:08:34 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-04 00:08:47 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 00:12:09 +0200stevenxl(~stevenlei@68.235.43.93)
2021-07-04 00:16:42 +0200akhileshs(~user@c-73-63-166-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-07-04 00:16:56 +0200azeem(~azeem@176.200.221.91) (Ping timeout: 265 seconds)
2021-07-04 00:17:14 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-04 00:17:34 +0200azeem(~azeem@176.200.221.91)
2021-07-04 00:19:06 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 240 seconds)
2021-07-04 00:19:37 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-04 00:20:45 +0200sayola(~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de)
2021-07-04 00:24:58 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Remote host closed the connection)
2021-07-04 00:29:17 +0200nattiestnate(~nate@180.243.15.91)
2021-07-04 00:29:24 +0200pera(~pera@user/pera) (Ping timeout: 268 seconds)
2021-07-04 00:30:54 +0200pera(~pera@user/pera)
2021-07-04 00:34:35 +0200 <xacktm> what pattern should I use if I want to convert between a sum type and a Char? Enum is my first thought, but are those restricted to mapping between Ints only?
2021-07-04 00:35:10 +0200 <xacktm> e.g. TypeA is 'A'; TypeB is 'B', etc
2021-07-04 00:35:34 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-04 00:37:21 +0200 <geekosaur> Enum only works with Int, yes
2021-07-04 00:38:08 +0200nattiestnate(~nate@180.243.15.91) (Quit: WeeChat 3.2)
2021-07-04 00:39:41 +0200 <xacktm> hmm, I guess a naive approach should work: fromMyType and toMyType functions and pattern matching
2021-07-04 00:40:31 +0200 <geekosaur> there's also toConstr and using the resulting Constr value (https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Data.html#t:Constr)
2021-07-04 00:42:09 +0200 <geekosaur> (you can't use the Constr directly but one of its fiellds will lead you to a value which starts counting at 1 for each field of an algebraic datatype)
2021-07-04 00:42:41 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
2021-07-04 00:44:21 +0200 <geekosaur> and use the same mechanism in the opposite direction to reconstruct an algebraic constructor, since this is part of generics
2021-07-04 00:45:46 +0200 <xacktm> nice, I found this blog post: does this explain everything you're referring to? https://chrisdone.com/posts/data-typeable/
2021-07-04 00:46:45 +0200 <xacktm> most of it is going over my head, need to go slow and unpack :P
2021-07-04 00:47:13 +0200 <geekosaur> seems to, perhaps not in as full detail (they show the Show instance for an AlgRep but not the stuff underneath that you'll want to use to map between numbers and eventually Chars)
2021-07-04 00:48:11 +0200 <geekosaur> oh, actually it does seem to get at least close to that detail
2021-07-04 00:48:27 +0200 <geekosaur> so you should be set between that page and the haddock to see further detail based on that page
2021-07-04 00:48:44 +0200 <xacktm> all right, thanks for the pointer!
2021-07-04 00:49:04 +0200cheater1__(~Username@user/cheater)
2021-07-04 00:49:08 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-04 00:49:16 +0200cheater1__cheater
2021-07-04 00:50:18 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 00:50:33 +0200 <ephemient> if your data type itself is enum, a quick hack like this might be sufficient. data MyType = MyTypeA | MyTypeB deriving Enum; myTypeToChar :: MyType -> Char; myTypeToChar = chr . (ord 'A' +) . fromEnum -- and vice-versa
2021-07-04 00:51:23 +0200 <geekosaur> true, but that means (for example) no fields, just constructors
2021-07-04 00:51:43 +0200 <ephemient> yep, for anything else typeable seems like the only generic solution
2021-07-04 00:53:28 +0200acidjnk_new(~acidjnk@p200300d0c72b953339f341015709cf67.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2021-07-04 00:54:46 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-04 00:56:19 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 00:59:08 +0200hrnz(~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb)
2021-07-04 00:59:28 +0200hrnz(~ulli@irc.plumbing)
2021-07-04 01:00:15 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-04 01:00:54 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
2021-07-04 01:04:20 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 01:09:20 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
2021-07-04 01:09:24 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
2021-07-04 01:10:16 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2021-07-04 01:10:33 +0200dsf(~dsf@cpe-66-75-56-205.san.res.rr.com) (Quit: Konversation terminated!)
2021-07-04 01:10:39 +0200dsf_(~dsf@cpe-66-75-56-205.san.res.rr.com)
2021-07-04 01:11:36 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 01:12:03 +0200favonia(~favonia@user/favonia)
2021-07-04 01:12:59 +0200mc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2021-07-04 01:15:28 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 258 seconds)
2021-07-04 01:16:53 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 268 seconds)
2021-07-04 01:17:56 +0200azeem(~azeem@176.200.221.91) (Ping timeout: 272 seconds)
2021-07-04 01:18:36 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-04 01:20:42 +0200laguneucl(~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 240 seconds)
2021-07-04 01:21:01 +0200azeem(~azeem@176.200.221.91)
2021-07-04 01:21:11 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-07-04 01:21:40 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-07-04 01:22:09 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-07-04 01:26:10 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Ping timeout: 272 seconds)
2021-07-04 01:31:26 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 01:31:51 +0200favonia(~favonia@user/favonia)
2021-07-04 01:33:52 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-04 01:34:19 +0200cheater(~Username@user/cheater)
2021-07-04 01:34:27 +0200sciencentistguy(~sciencent@hacksoc/ordinary-member)
2021-07-04 01:35:57 +0200 <sciencentistguy> Is there a way i can have a function parameter that could take either `(+) :: Num a => a -> a -> a` or `(/) :: Fractional a => a -> a -> a` (note the different typeclass constraints)
2021-07-04 01:36:17 +0200 <sciencentistguy> i tried `forall c. forall a. c a => a -> a -> a` but that didn't work
2021-07-04 01:37:00 +0200 <geekosaur> I think there's a way to do that but it requires extensions?
2021-07-04 01:37:07 +0200 <sciencentistguy> i'm fine with using extensions
2021-07-04 01:37:49 +0200 <sciencentistguy> i already need RankNTypes for the `forall` clauses
2021-07-04 01:38:38 +0200 <geekosaur> it will indeed be a rank-2 type. I just don't recall whatyou need to be able to talk about the constraint, aside from ConstraintKinds
2021-07-04 01:38:46 +0200 <hpc> what's wrong with something like f (*) = 1 * 2, or whatever?
2021-07-04 01:39:11 +0200 <hpc> :t let f (*) = 1 * 2 in f
2021-07-04 01:39:12 +0200 <lambdabot> (Num t1, Num t2) => (t1 -> t2 -> t3) -> t3
2021-07-04 01:39:22 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds)
2021-07-04 01:39:26 +0200 <hpc> > let f (*) = 1 * 2 in (f (/), f (+))
2021-07-04 01:39:27 +0200 <lambdabot> (0.5,3)
2021-07-04 01:39:57 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-07-04 01:41:11 +0200 <sciencentistguy> i'm not sure how that helps
2021-07-04 01:41:22 +0200 <sciencentistguy> i'm trying to generalise over binary operators in general
2021-07-04 01:41:46 +0200 <sciencentistguy> so i want a function i can pass `(*)` or `mod` or anthing of type `a->a->a`
2021-07-04 01:42:27 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2021-07-04 01:42:28 +0200 <hpc> without allowing something like const that's a -> b -> a?
2021-07-04 01:42:57 +0200 <sciencentistguy> i don't need to disallow that
2021-07-04 01:45:20 +0200 <sciencentistguy> so i have this signature at the moment:
2021-07-04 01:45:23 +0200 <sciencentistguy> `lvBinaryOp :: (forall a. a -> a -> a) -> LispValue -> LispValue -> Maybe LispValue`
2021-07-04 01:45:46 +0200 <sciencentistguy> and both of these fail to compile: `a = lvBinaryOp (+); b = lvBinaryOp (/)`
2021-07-04 01:46:09 +0200 <keltono> what's the error?
2021-07-04 01:46:12 +0200 <sciencentistguy> but their error messages suggest a fix (add the constraint to the signature of the function) that are mutually exclusive
2021-07-04 01:46:41 +0200 <shachaf> Do you need the argument to be polymorphic? How are you using it?
2021-07-04 01:46:44 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 01:46:45 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 01:46:59 +0200 <sciencentistguy> keltono: "No instance for (Num a) arising from a use of ‘+’" and "No instance for (Fractional a) arising from a use of ‘/’"
2021-07-04 01:47:27 +0200 <sciencentistguy> shachaf: i'm using it as a binary operator to number values (either an Integer, a Ratio, or a Double)
2021-07-04 01:48:10 +0200 <shachaf> Well, it sounds like the problem here isn't with the type checker, it's with what you're trying to do.
2021-07-04 01:48:28 +0200 <shachaf> Forget polymorphism for a moment. Imagine you had (+) :: Int -> Int -> Int and (/) :: Double -> Double -> Double
2021-07-04 01:48:51 +0200 <shachaf> What would you want to do there?
2021-07-04 01:48:59 +0200 <sciencentistguy> here's the context (here i just gave up and made 3 functions for the 3 different constraints i need to solve, but i really don't like the code duplication that causes)
2021-07-04 01:49:01 +0200 <sciencentistguy> https://github.com/Sciencentistguy/haskeme/blob/654caa3bf770324de545bc23517786970d4bd40b/src/Evalu…
2021-07-04 01:49:35 +0200favonia(~favonia@user/favonia)
2021-07-04 01:49:55 +0200 <sciencentistguy> s/3/2, lvIntegralOp is actually dead code
2021-07-04 01:52:08 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-07-04 01:52:26 +0200betelgeuse(~john2gb@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
2021-07-04 01:53:43 +0200 <monochrom> Nothing says you can't invent your own type class that fits LispValue better.
2021-07-04 01:54:34 +0200azeem(~azeem@176.200.221.91) (Ping timeout: 265 seconds)
2021-07-04 01:54:44 +0200 <monochrom> But first of all if you truly understood parametricity then you would not begin with "forall a. a->a->a" which cannot possibly do any arithmetic.
2021-07-04 01:54:57 +0200stevenxl(~stevenlei@68.235.43.93) (Ping timeout: 258 seconds)
2021-07-04 01:55:37 +0200 <monochrom> At best it has to be "forall a. C a => a -> a -> a" where C is a class that represents desired arithmetic.
2021-07-04 01:56:00 +0200 <sciencentistguy> yeah that's what i've done in the actual code
2021-07-04 01:56:04 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-04 01:57:27 +0200 <monochrom> But in all likelihood LispValue does not contain polymorphic content so there is no real reason to want polymorphic arithmetic operations on them.
2021-07-04 01:58:10 +0200wolfshappen(~waff@irc.furworks.de) (Remote host closed the connection)
2021-07-04 01:58:18 +0200 <sciencentistguy> I don't think i understand what you mean
2021-07-04 01:58:28 +0200Philonous_(~Philonous@user/philonous)
2021-07-04 01:58:51 +0200 <monochrom> OK, what is the definition of LispValue, really?
2021-07-04 01:59:03 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 244 seconds)
2021-07-04 01:59:06 +0200Philonous(~Philonous@user/philonous) (Read error: Connection reset by peer)
2021-07-04 01:59:09 +0200 <sciencentistguy> https://github.com/Sciencentistguy/haskeme/blob/654caa3bf770324de545bc23517786970d4bd40b/src/Types…
2021-07-04 01:59:24 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-07-04 01:59:26 +0200wolfshappen(~waff@irc.furworks.de)
2021-07-04 02:00:19 +0200o(~niko@libera/staff/niko) (Ping timeout: 622 seconds)
2021-07-04 02:00:19 +0200 <monochrom> So you just need (SchemeNumber -> SchemeNumber -> SchemeNumber) not (forall whatever)
2021-07-04 02:00:38 +0200 <sciencentistguy> that would work i guess
2021-07-04 02:00:40 +0200azeem(~azeem@176.200.221.91)
2021-07-04 02:00:48 +0200 <sciencentistguy> but that means i can't use `(+)`
2021-07-04 02:00:56 +0200 <sciencentistguy> and that
2021-07-04 02:00:59 +0200 <sciencentistguy> whoops
2021-07-04 02:01:46 +0200 <sciencentistguy> the thing i'm trying to achieve here is "i want a function that takes a binary operator and applies it to the contents of two SchemeNumbers and returns a new SchemeNumber"
2021-07-04 02:02:02 +0200 <monochrom> You cannot use (+) as soon as you try "(1 :: Integer) + (2 :: Rational)" already. Your cause is lost even before you began.
2021-07-04 02:02:32 +0200 <monochrom> You already have to code up 8 cases of plus for SchemeNumber. May as well actually give it a name.
2021-07-04 02:03:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 02:03:37 +0200 <sciencentistguy> i'd quite like to avoid having to duplicate that massive caseof for each operator though
2021-07-04 02:03:41 +0200 <sciencentistguy> but i think that might be unavoidable
2021-07-04 02:04:03 +0200 <monochrom> This is why Haskell doesn't go with Scheme's number hierarchy.
2021-07-04 02:04:25 +0200 <sciencentistguy> yeah from what i've seen scheme's number hierarchy is a *mess*
2021-07-04 02:04:56 +0200 <monochrom> (+) :: Num a => a->a->a because the alternative (Num a, Num b, Num c) => a -> b -> c would be madness, as Scheme has proved.
2021-07-04 02:05:28 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 02:06:33 +0200Pickchea(~private@user/pickchea)
2021-07-04 02:08:38 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-04 02:11:30 +0200 <monochrom> "The best way to win is not to play" applies.
2021-07-04 02:14:06 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-04 02:14:52 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-04 02:15:20 +0200stevenxl(~stevenlei@68.235.43.93)
2021-07-04 02:16:12 +0200azeem(~azeem@176.200.221.91) (Ping timeout: 256 seconds)
2021-07-04 02:16:25 +0200azeem(~azeem@176.200.221.91)
2021-07-04 02:18:15 +0200cheater1__(~Username@user/cheater)
2021-07-04 02:18:34 +0200azeem(~azeem@176.200.221.91) (Read error: Connection reset by peer)
2021-07-04 02:18:42 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 02:18:47 +0200cheater1__cheater
2021-07-04 02:19:44 +0200azeem(~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it)
2021-07-04 02:19:52 +0200stevenxl(~stevenlei@68.235.43.93) (Ping timeout: 258 seconds)
2021-07-04 02:24:26 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 02:24:40 +0200cheater(~Username@user/cheater)
2021-07-04 02:25:06 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-04 02:26:08 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-04 02:31:29 +0200Guest1(~Guest1@2001:e68:543d:32f5:36dd:5585:5f23:735a)
2021-07-04 02:32:08 +0200 <Guest1> can someone explain the zero for the error monad? I don't understand what is represented by "empty error". don't this depends on the kind of error itself?
2021-07-04 02:33:56 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 02:34:09 +0200wrunt(~ajc@vmx14030.hosting24.com.au) (Quit: WeeChat 1.9.1)
2021-07-04 02:34:10 +0200cheater(~Username@user/cheater)
2021-07-04 02:34:51 +0200 <Axman6> Guest1: can you link to what you're referring to?
2021-07-04 02:35:37 +0200 <Guest1> scroll down to the The Error Monad here https://wiki.haskell.org/All_About_Monads
2021-07-04 02:37:03 +0200 <Guest1> also, is zvon.org the man equivalent for haskell? google shows it more often than haskell.wiki, but this isn't always a good thing (e.g. cplusplus is preferred over cppreference when the latter is far superior)
2021-07-04 02:37:33 +0200 <Axman6> I've never heard of zvon.org
2021-07-04 02:37:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-04 02:38:10 +0200 <sciencentistguy> Guest1: off topic, but i've never heard anyone say that cplusplus.com is better than cppreference
2021-07-04 02:38:30 +0200 <Guest1> no, i meant to say google prefers it more, but cppreference is superior
2021-07-04 02:39:45 +0200 <Axman6> I've never used the MonadError class, and I wouldn't be surprised if it's no longer a recommended way to deal with errors. Generally I used ExceptT, that seems to cover all my error needs and is well supported by the ecosystem
2021-07-04 02:40:05 +0200 <geekosaur> ExceptT superseded ErrorT some time back, yes
2021-07-04 02:42:51 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-04 02:42:59 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 02:43:20 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Client Quit)
2021-07-04 02:43:27 +0200thornAvery(~thorn@121.220.33.124)
2021-07-04 02:44:01 +0200sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 258 seconds)
2021-07-04 02:47:06 +0200pera(~pera@user/pera) (Ping timeout: 252 seconds)
2021-07-04 02:48:47 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-04 02:49:20 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Remote host closed the connection)
2021-07-04 02:49:28 +0200wrunt(~ajc@vmx14030.hosting24.com.au)
2021-07-04 02:49:59 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 02:51:30 +0200stefan-_(~cri@42dots.de) (Ping timeout: 252 seconds)
2021-07-04 02:52:27 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-04 02:52:49 +0200cheater(~Username@user/cheater)
2021-07-04 02:53:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 02:54:44 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Ping timeout: 256 seconds)
2021-07-04 02:54:58 +0200favonia(~favonia@user/favonia)
2021-07-04 02:55:19 +0200stefan-_(~cri@42dots.de)
2021-07-04 02:56:10 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 02:56:30 +0200willbush(~user@47.183.200.14)
2021-07-04 02:58:54 +0200stianhj(~stianhj@128.199.58.13)
2021-07-04 03:03:14 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 03:03:33 +0200favonia(~favonia@user/favonia)
2021-07-04 03:04:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 03:04:11 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-04 03:04:39 +0200oxide(~lambda@user/oxide) (Ping timeout: 265 seconds)
2021-07-04 03:05:07 +0200oxide(~lambda@user/oxide)
2021-07-04 03:06:14 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-04 03:06:52 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2021-07-04 03:09:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-04 03:10:00 +0200hiruji(~hiruji@user/hiruji) (Read error: Connection reset by peer)
2021-07-04 03:11:01 +0200hiruji(~hiruji@user/hiruji)
2021-07-04 03:14:10 +0200hiruji(~hiruji@user/hiruji) (Client Quit)
2021-07-04 03:14:28 +0200hiruji(~hiruji@user/hiruji)
2021-07-04 03:14:39 +0200stevenxl(~stevenlei@68.235.43.93)
2021-07-04 03:27:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 03:27:54 +0200favonia(~favonia@user/favonia)
2021-07-04 03:28:06 +0200beka(~beka@104-244-27-23.static.monkeybrains.net) (Ping timeout: 258 seconds)
2021-07-04 03:31:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 03:34:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 03:34:32 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-04 03:35:11 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-04 03:36:46 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 03:37:09 +0200mceldeen(~igloo@71-211-226-211.hlrn.qwest.net)
2021-07-04 03:37:55 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-07-04 03:38:13 +0200beka(~beka@104-244-27-23.static.monkeybrains.net)
2021-07-04 03:38:42 +0200xff0x(~xff0x@2001:1a81:52ae:a300:7e2e:fefc:f290:c960) (Ping timeout: 240 seconds)
2021-07-04 03:39:53 +0200mceldeen(~igloo@71-211-226-211.hlrn.qwest.net) (Remote host closed the connection)
2021-07-04 03:40:58 +0200xff0x(~xff0x@2001:1a81:52ea:d100:38d4:8967:cbb0:e45b)
2021-07-04 03:41:42 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-07-04 03:42:20 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 03:45:44 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 03:46:29 +0200khumba(~khumba@user/khumba) ()
2021-07-04 03:47:43 +0200beka(~beka@104-244-27-23.static.monkeybrains.net) (Read error: Connection reset by peer)
2021-07-04 03:48:44 +0200neurocyte409(~neurocyte@46.243.82.20)
2021-07-04 03:48:45 +0200neurocyte409(~neurocyte@46.243.82.20) (Changing host)
2021-07-04 03:48:45 +0200neurocyte409(~neurocyte@user/neurocyte)
2021-07-04 03:48:54 +0200favonia(~favonia@user/favonia)
2021-07-04 03:49:07 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-04 03:49:21 +0200cheater(~Username@user/cheater)
2021-07-04 03:50:20 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
2021-07-04 03:51:04 +0200neurocyte40(~neurocyte@user/neurocyte) (Ping timeout: 268 seconds)
2021-07-04 03:51:04 +0200neurocyte409neurocyte40
2021-07-04 03:52:28 +0200stevenxl(~stevenlei@68.235.43.93) (Ping timeout: 272 seconds)
2021-07-04 03:54:56 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
2021-07-04 03:55:13 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 03:56:43 +0200berberman_(~berberman@user/berberman)
2021-07-04 03:57:04 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 03:57:30 +0200berberman(~berberman@user/berberman) (Ping timeout: 240 seconds)
2021-07-04 03:59:57 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-04 04:01:32 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-07-04 04:04:30 +0200 <boxscape> ErrorT is deprecated, but not MonadError, of which there exists an instance for ExceptT
2021-07-04 04:04:38 +0200 <boxscape> whether it's recommended, I can't say
2021-07-04 04:05:36 +0200alx741(~alx741@186.178.109.174) (Quit: alx741)
2021-07-04 04:05:38 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-04 04:07:12 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-07-04 04:13:34 +0200stevenxl(~stevenlei@68.235.43.93)
2021-07-04 04:17:53 +0200Guest13(~Guest13@75.172.171.153)
2021-07-04 04:18:29 +0200Guest13(~Guest13@75.172.171.153) (Client Quit)
2021-07-04 04:18:34 +0200alphabeta(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
2021-07-04 04:19:06 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 04:21:36 +0200stevenxl(~stevenlei@68.235.43.93) (Ping timeout: 272 seconds)
2021-07-04 04:21:36 +0200kilolympus(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Ping timeout: 272 seconds)
2021-07-04 04:22:09 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 04:25:09 +0200 <boxscape> ...though even if you use ExceptT in your type signatures I'd imagine you use the MoandError methods to avoid having to use `lift`
2021-07-04 04:26:40 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-07-04 04:26:40 +0200FinnElijaGuest8250
2021-07-04 04:26:40 +0200Guest8250(~finn_elij@user/finn-elija/x-0085643) (Killed (strontium.libera.chat (Nickname regained by services)))
2021-07-04 04:26:40 +0200finn_elijaFinnElija
2021-07-04 04:26:43 +0200_________(~nobody@user//x-7881368) (Changing host)
2021-07-04 04:26:43 +0200_________(~nobody@user/noodly)
2021-07-04 04:26:49 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2021-07-04 04:27:34 +0200td_(~td@muedsl-82-207-238-014.citykom.de) (Ping timeout: 252 seconds)
2021-07-04 04:29:22 +0200td_(~td@muedsl-82-207-238-042.citykom.de)
2021-07-04 04:34:16 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-07-04 04:42:46 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-07-04 04:44:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 04:44:40 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 04:45:27 +0200favonia(~favonia@user/favonia)
2021-07-04 04:46:25 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-04 04:48:34 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-04 04:48:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-04 04:48:56 +0200cheater(~Username@user/cheater)
2021-07-04 04:49:07 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 04:50:08 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-04 04:51:06 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Remote host closed the connection)
2021-07-04 05:02:08 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2021-07-04 05:05:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 05:05:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 05:07:43 +0200favonia(~favonia@user/favonia)
2021-07-04 05:10:15 +0200Nyeogmi(~Nyeogmi@2601:645:8700:bea0:bcb8:b9ef:af27:7b7c)
2021-07-04 05:11:12 +0200Nyeogmi(~Nyeogmi@2601:645:8700:bea0:bcb8:b9ef:af27:7b7c) (Changing host)
2021-07-04 05:11:12 +0200Nyeogmi(~Nyeogmi@user/nyeogmi)
2021-07-04 05:18:35 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 05:19:14 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-07-04 05:19:51 +0200HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving)
2021-07-04 05:31:02 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 05:35:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 05:35:25 +0200favonia(~favonia@user/favonia)
2021-07-04 05:36:25 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-04 05:40:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-04 05:40:53 +0200dunkeln_(~dunkeln@188.70.44.28)
2021-07-04 05:43:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 05:45:43 +0200favonia(~favonia@user/favonia)
2021-07-04 05:48:16 +0200nate1(~nate@108.233.125.227)
2021-07-04 05:48:47 +0200thornAvery(~thorn@121.220.33.124) (Ping timeout: 258 seconds)
2021-07-04 05:49:20 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-07-04 05:52:16 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-04 05:53:22 +0200oxide(~lambda@user/oxide) (Ping timeout: 252 seconds)
2021-07-04 05:53:23 +0200nate1(~nate@108.233.125.227) (Ping timeout: 258 seconds)
2021-07-04 05:54:21 +0200oxide(~lambda@user/oxide)
2021-07-04 05:57:49 +0200wei2912(~wei2912@112.199.250.21)
2021-07-04 06:04:27 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-04 06:04:48 +0200cheater(~Username@user/cheater)
2021-07-04 06:10:14 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 06:10:32 +0200favonia(~favonia@user/favonia)
2021-07-04 06:13:38 +0200dunkeln_(~dunkeln@188.70.44.28) (Ping timeout: 265 seconds)
2021-07-04 06:19:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 06:25:49 +0200favonia(~favonia@user/favonia)
2021-07-04 06:29:25 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-04 06:29:38 +0200cheater(~Username@user/cheater)
2021-07-04 06:31:06 +0200hammock(~Hammock@2600:1700:19a1:3330::625) (Ping timeout: 240 seconds)
2021-07-04 06:41:25 +0200steshaw(~steshaw@122-151-164-35.sta.wbroadband.net.au)
2021-07-04 06:47:00 +0200dunkeln(~dunkeln@188.70.44.28)
2021-07-04 06:48:08 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 06:48:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-04 06:49:10 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 06:49:20 +0200cheater(~Username@user/cheater)
2021-07-04 06:51:14 +0200slack1256(~slack1256@181.203.33.8)
2021-07-04 06:52:47 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
2021-07-04 06:53:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-04 06:54:19 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-04 06:57:24 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-04 06:57:46 +0200cheater(~Username@user/cheater)
2021-07-04 06:58:30 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-07-04 06:59:28 +0200oxide(~lambda@user/oxide) (Read error: Connection reset by peer)
2021-07-04 06:59:59 +0200zaquest(~notzaques@5.128.210.178)
2021-07-04 07:03:34 +0200willbush(~user@47.183.200.14) (Quit: ERC (IRC client for Emacs 28.0.50))
2021-07-04 07:04:07 +0200cjb(~cjb@user/cjb)
2021-07-04 07:05:08 +0200cjb(~cjb@user/cjb) (Client Quit)
2021-07-04 07:06:20 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 07:06:38 +0200favonia(~favonia@user/favonia)
2021-07-04 07:11:47 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-04 07:12:44 +0200MorrowM(~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 258 seconds)
2021-07-04 07:14:38 +0200favonia(~favonia@user/favonia) (Remote host closed the connection)
2021-07-04 07:21:53 +0200 <qrpnxz> so i get that when i type something a -> a the forall a is implicit, how do i make it explicit that i don't mean forall a?
2021-07-04 07:22:59 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-04 07:23:38 +0200 <c_wraith> what do you mean instead?
2021-07-04 07:23:41 +0200chris_(~chris@81.96.113.213)
2021-07-04 07:24:14 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-04 07:25:04 +0200 <qrpnxz> there is a specific a that i don't want to say because i want it to be dependant on the code
2021-07-04 07:25:34 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-04 07:25:40 +0200 <qrpnxz> i could also not write out the type at all, but i rather have some of it written idk
2021-07-04 07:25:40 +0200 <c_wraith> I think you *probably* want ScopedTypeVariables
2021-07-04 07:25:51 +0200 <qrpnxz> will look into that
2021-07-04 07:28:26 +0200chris_(~chris@81.96.113.213) (Ping timeout: 272 seconds)
2021-07-04 07:29:21 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-07-04 07:32:31 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-04 07:32:34 +0200 <qrpnxz> PartialTypeSignatures seems to be the ticket
2021-07-04 07:33:04 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-07-04 07:33:04 +0200 <davean> qrpnxz: uh
2021-07-04 07:33:17 +0200 <c_wraith> Oh, yeah, sometimes that works.
2021-07-04 07:33:27 +0200 <davean> I mean thats a way of not writing the type signature
2021-07-04 07:33:56 +0200 <davean> Not of writing some specific type signature
2021-07-04 07:33:57 +0200 <qrpnxz> of not writing part of it yeah
2021-07-04 07:34:15 +0200 <qrpnxz> exactly what i wanted
2021-07-04 07:34:29 +0200 <c_wraith> Sometimes that's what you need, especially when you have MonoLocalBinds enabled
2021-07-04 07:35:20 +0200 <c_wraith> When working with GADTs, I often will use a local type like forall x. _ x -> _ x
2021-07-04 07:35:26 +0200 <davean> I don't know of any type signature you can get with PartialTypeSignatures you couldn't have writen out directly with ScopedTypeVariables
2021-07-04 07:35:35 +0200 <qrpnxz> thought because it's a hole rather than a variable, i can't put a constraint on the hole
2021-07-04 07:35:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 07:35:38 +0200 <qrpnxz> so not perfect
2021-07-04 07:35:39 +0200 <qrpnxz> but alright
2021-07-04 07:35:49 +0200 <c_wraith> You can add a _ constraint, too
2021-07-04 07:36:01 +0200 <qrpnxz> that let's constraints for anything appear
2021-07-04 07:36:04 +0200 <qrpnxz> which i don't want
2021-07-04 07:36:18 +0200 <qrpnxz> i only wanted a specific constraint, for a specific whole
2021-07-04 07:36:21 +0200 <qrpnxz> *hole
2021-07-04 07:36:21 +0200 <davean> qrpnxz: why are you not giving it a variable and linking it to what you want it linked to directly?
2021-07-04 07:36:31 +0200 <qrpnxz> cause the variable would be a forall
2021-07-04 07:36:34 +0200 <qrpnxz> which would be wrong
2021-07-04 07:36:45 +0200 <davean> Why would it be a forall? I said link it directly
2021-07-04 07:36:54 +0200 <qrpnxz> idk what you mean by that
2021-07-04 07:37:02 +0200 <davean> Ok, so what determines what it should be?
2021-07-04 07:37:03 +0200 <qrpnxz> my original question was how to declare that it wasn't a forall
2021-07-04 07:37:09 +0200 <qrpnxz> the code determines it
2021-07-04 07:37:12 +0200shanemikel(~shanemike@desk.roadwar.net) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-07-04 07:37:16 +0200 <davean> What *part* of the code
2021-07-04 07:37:29 +0200 <davean> I mean types determine types
2021-07-04 07:37:30 +0200dunkeln(~dunkeln@188.70.44.28) (Ping timeout: 240 seconds)
2021-07-04 07:37:33 +0200 <davean> we aren't dependently typed in Haskel
2021-07-04 07:37:38 +0200 <qrpnxz> the entirety, for my particular case the output of the function
2021-07-04 07:37:45 +0200shanemikel(~shanemike@desk.roadwar.net)
2021-07-04 07:38:23 +0200 <davean> It has to output a type - we're not dependently typed so it can't vary
2021-07-04 07:38:26 +0200 <qrpnxz> like i want to say that it returns a foldable of something, but i don't want to say what specific instance of foldable
2021-07-04 07:38:33 +0200 <davean> Sure, right
2021-07-04 07:38:41 +0200 <qrpnxz> with partial types i don't have to put what it is, but i also can't say it has to be foldable
2021-07-04 07:38:57 +0200 <qrpnxz> and if i do a normal variable it turns into a forall and doesn't compile
2021-07-04 07:39:24 +0200 <davean> So *who* decides what foldable?
2021-07-04 07:39:44 +0200 <davean> which code where
2021-07-04 07:39:54 +0200 <qrpnxz> the implementation, if i happen to return a list, then it's list, if i return a vector, then it's vector
2021-07-04 07:40:29 +0200 <davean> are you trying to write a type class?
2021-07-04 07:40:33 +0200 <qrpnxz> no
2021-07-04 07:40:37 +0200 <qrpnxz> this is just a normal function
2021-07-04 07:40:41 +0200 <davean> then theres only one implimentation
2021-07-04 07:40:47 +0200 <qrpnxz> yes
2021-07-04 07:40:48 +0200 <davean> so its fully determined
2021-07-04 07:40:50 +0200 <qrpnxz> yes
2021-07-04 07:41:03 +0200ablutor(~quassel@wasscher.com)
2021-07-04 07:41:31 +0200 <davean> Are you under the illusion PartialTypeSignatures will hide exactly which type it returns from other code?
2021-07-04 07:42:18 +0200 <qrpnxz> no, but let me think about that
2021-07-04 07:42:31 +0200 <qrpnxz> yeah i don't have a problem with that
2021-07-04 07:43:01 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
2021-07-04 07:43:03 +0200 <davean> So if you know the type with PartialTypeSignatures will end up as exatly the infered type, why are you not writing it out directly?
2021-07-04 07:43:51 +0200 <qrpnxz> because then i'd have to change the type i write out if i changed the implementation, and that type would be part of public api, so then i couldn't change it without breaking users
2021-07-04 07:44:10 +0200 <davean> So I tihnk you didn't read what I said above then
2021-07-04 07:44:18 +0200 <davean> PartialTypeSignatures *does* make it part of the public API
2021-07-04 07:44:24 +0200 <davean> it fills in what you would have writen for you
2021-07-04 07:44:29 +0200 <davean> it does *not* hide it
2021-07-04 07:45:00 +0200 <qrpnxz> on the documentation you would just see a hole, once it compiles the code would know which type exactly, but as a user you could only rely on, say, that it was a foldable
2021-07-04 07:45:01 +0200 <davean> This is exactly why I went through this discussion
2021-07-04 07:45:28 +0200 <davean> Uh?
2021-07-04 07:45:30 +0200 <davean> What?
2021-07-04 07:46:03 +0200 <davean> I tihnk we just found even more to sort out here
2021-07-04 07:46:25 +0200 <qrpnxz> like when i accept a foldable, at some point that's going to be a specific foldable too, but I'm telling you I accept any foldable, even thought when it compiles it may use like list specific functions
2021-07-04 07:46:57 +0200 <c_wraith> do you actually want a higher-rank type?
2021-07-04 07:47:01 +0200 <c_wraith> Is that what's going on?
2021-07-04 07:47:01 +0200 <qrpnxz> so likewise i want to be able to say i'm gonna give you a foldable, but i'm not gonna tell you (via documentation, via type signature) what exactly it's gonna be.
2021-07-04 07:47:09 +0200 <davean> qrpnxz: You're very confused
2021-07-04 07:47:16 +0200 <c_wraith> Oh. that's just not how Haskell works
2021-07-04 07:47:17 +0200 <qrpnxz> idk about higher-rank types much idk c_wraith
2021-07-04 07:47:21 +0200 <davean> c_wraith: I assumed he did but knew he was WAY too confused to get there quickly
2021-07-04 07:47:36 +0200 <davean> c_wraith: Hence trying to sort out where his confusion is first
2021-07-04 07:47:39 +0200 <qrpnxz> i'm not confused at all, i just don't know if this is possible. If it isn't then okay
2021-07-04 07:47:48 +0200 <davean> qrpnxz: no, you're clearly confused
2021-07-04 07:48:01 +0200 <qrpnxz> i'm not confused about what i want to do
2021-07-04 07:48:19 +0200 <davean> To some degree you are. And you're massively confused about the tools
2021-07-04 07:48:44 +0200 <qrpnxz> i don't wanna do the tools? what are you saying lol
2021-07-04 07:48:50 +0200 <sm[m]> There is free floating non local confusion here. I can feel it from thousands of miles away....
2021-07-04 07:48:54 +0200 <qrpnxz> what you are saying is confusing haha
2021-07-04 07:48:55 +0200slac32279(~slack1256@191.125.227.213)
2021-07-04 07:48:57 +0200 <davean> Well like what you think the documentation will be
2021-07-04 07:48:58 +0200 <qrpnxz> that's for sure
2021-07-04 07:49:03 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 07:49:22 +0200 <davean> PartialTypeSignatures *only makes the compiler fill it in* it changes nothing else
2021-07-04 07:49:32 +0200 <davean> you'll get the exact same breakage, etc
2021-07-04 07:49:48 +0200 <davean> so for something to be any foldable that means you have data *and* a dictionary
2021-07-04 07:49:49 +0200 <qrpnxz> your code should accept any foldable, so how will it break
2021-07-04 07:50:18 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
2021-07-04 07:50:23 +0200 <davean> qrpnxz: It'll break *exactly* the same as if you'd specified one foldable and changed it to a different foldable *because thats exactly what happens*
2021-07-04 07:50:25 +0200 <c_wraith> Partial type signatures don't appear in docs
2021-07-04 07:50:27 +0200 <davean> there is NO illusion
2021-07-04 07:50:36 +0200 <c_wraith> what they expand to does
2021-07-04 07:50:47 +0200 <davean> They are *exactly* what it says, a partial type signature
2021-07-04 07:50:54 +0200 <qrpnxz> c_wraith, maybe you are talking about a particular tool idk, for me i'm just talking about the actual code as documentation
2021-07-04 07:51:04 +0200slack1256(~slack1256@181.203.33.8) (Ping timeout: 252 seconds)
2021-07-04 07:51:05 +0200 <davean> ok so, if you wanted to return a dictionary and data, you'd need something higher ranked
2021-07-04 07:51:19 +0200 <davean> like data Foldable a = forall f . Foldable (f a)
2021-07-04 07:51:26 +0200 <davean> function :: a -> Foldable a
2021-07-04 07:51:27 +0200 <c_wraith> qrpnxz: you'd better be prepared for your users to use :browse and :type
2021-07-04 07:51:50 +0200 <qrpnxz> a dynamic type? I'm not talking about binary compatibility, you'd need to recompile your code ofc if i changed my foldable
2021-07-04 07:52:00 +0200 <qrpnxz> but the recompile would go without a hitch
2021-07-04 07:52:28 +0200 <qrpnxz> c_wraith, indeed, good point
2021-07-04 07:52:38 +0200 <qrpnxz> if they did that then they would see the true type
2021-07-04 07:52:42 +0200 <davean> I mean even if they don't, the code doesn't say it can change
2021-07-04 07:52:45 +0200 <davean> it just says you didn't type it out
2021-07-04 07:52:49 +0200 <davean> thats not documenting it may change
2021-07-04 07:53:33 +0200 <qrpnxz> if you think that's how haskellers would interpret it then i believe you
2021-07-04 07:53:43 +0200 <qrpnxz> i guess you just have to write a comment then
2021-07-04 07:53:59 +0200 <c_wraith> Or you could use the type system
2021-07-04 07:54:00 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-04 07:54:01 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-04 07:54:11 +0200 <qrpnxz> i don't wanna do a dynamic type that's not gonna fure
2021-07-04 07:54:13 +0200 <qrpnxz> *fuse
2021-07-04 07:54:15 +0200 <c_wraith> there are two completely independent ways to say what you mean in the type
2021-07-04 07:54:25 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-04 07:54:49 +0200 <c_wraith> Well, then, the higher-rank CPS approach works
2021-07-04 07:55:01 +0200 <qrpnxz> gonna have to look that up
2021-07-04 07:55:16 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-04 07:55:34 +0200 <davean> (forall r. Foldable f => f a -> r) -> r
2021-07-04 07:55:40 +0200 <davean> er
2021-07-04 07:55:44 +0200 <davean> (forall f. Foldable f => f a -> r) -> r
2021-07-04 07:55:53 +0200nshepperd. o O (foo = ...; proofFooReturnsSomethingFoldable = (id :: Foldable a => a -> a) foo)
2021-07-04 07:56:13 +0200 <qrpnxz> lol
2021-07-04 07:56:40 +0200 <nshepperd> Foldable f => f a -> f a, you know what i mean
2021-07-04 07:57:19 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df)
2021-07-04 07:57:55 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 07:58:55 +0200 <davean> qrpnxz: do you see how (forall f. Foldable f => f a -> r) -> r forms a proof the caller handles any foldable?
2021-07-04 07:59:26 +0200 <qrpnxz> yeah i can do input any foldable just fine, can't say i could output any foldable though
2021-07-04 07:59:50 +0200 <davean> No, that says it outputs any foldable
2021-07-04 07:59:59 +0200 <c_wraith> it's a CPS-transform
2021-07-04 08:00:06 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 08:00:11 +0200 <qrpnxz> which, the one you just quoted? where is the foldable constraint on r?
2021-07-04 08:00:20 +0200cheater(~Username@user/cheater)
2021-07-04 08:00:25 +0200 <davean> qrpnxz: theres no foldable constraint on r, waht r is is up to the caller
2021-07-04 08:00:40 +0200 <qrpnxz> wot
2021-07-04 08:00:59 +0200 <davean> I didn't pin r at all
2021-07-04 08:01:07 +0200 <davean> r is completely open in that statement
2021-07-04 08:01:10 +0200 <c_wraith> qrpnxz: what's the difference between a value of type String and a value of type forall r. (String -> r) -> r ?
2021-07-04 08:01:13 +0200 <qrpnxz> ok but i want to say that an output is any foldable, so how does this help me do that
2021-07-04 08:01:24 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-04 08:01:30 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df) (Ping timeout: 240 seconds)
2021-07-04 08:01:34 +0200 <davean> qrpnxz: the output is "f a"
2021-07-04 08:01:48 +0200 <qrpnxz> c_wraith, a string is a string, and that thing is a function that takes a function that takes a string and returns and r and then returns an r
2021-07-04 08:02:07 +0200 <qrpnxz> davean, looks like the output is r
2021-07-04 08:02:10 +0200 <c_wraith> qrpnxz: that's just mechanics. What's the difference?
2021-07-04 08:02:26 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2021-07-04 08:02:26 +0200 <c_wraith> qrpnxz: what can you do with one representation that you can't do with the other?
2021-07-04 08:02:46 +0200 <qrpnxz> you can do list stuff with a string and you can call a function
2021-07-04 08:03:05 +0200 <c_wraith> there is no difference
2021-07-04 08:03:11 +0200 <qrpnxz> :|
2021-07-04 08:03:23 +0200 <qrpnxz> they are totally different types i don't get it
2021-07-04 08:03:35 +0200 <nshepperd> qrpnxz: they are inter convertible
2021-07-04 08:03:38 +0200 <davean> They're different types, sure, but they are semanticly equivilent
2021-07-04 08:03:47 +0200 <qrpnxz> i don't see how
2021-07-04 08:03:56 +0200 <nshepperd> you turn the function into the string by applying it to id
2021-07-04 08:04:03 +0200Morrow(~MorrowM_@147.161.9.15)
2021-07-04 08:04:09 +0200 <monochrom> "any" is informationless. The question is always: Does the user choose? Does the implementer choose?
2021-07-04 08:04:14 +0200 <qrpnxz> if i apply it to id i just get the function back
2021-07-04 08:04:31 +0200 <davean> qrpnxz: no, you get String back
2021-07-04 08:04:32 +0200 <nshepperd> no that's if you apply id to the function
2021-07-04 08:04:47 +0200 <davean> f :: (String -> r) -> r
2021-07-04 08:04:55 +0200 <davean> f id :: String
2021-07-04 08:05:19 +0200 <c_wraith> :t secret
2021-07-04 08:05:19 +0200 <nshepperd> you convert the string to the function by making (\f -> f my_string)
2021-07-04 08:05:20 +0200 <qrpnxz> oh apply it to id one sec
2021-07-04 08:05:21 +0200 <lambdabot> ([Char] -> b) -> b
2021-07-04 08:05:31 +0200 <c_wraith> > secret length
2021-07-04 08:05:32 +0200 <lambdabot> error:
2021-07-04 08:05:33 +0200 <lambdabot> Ambiguous occurrence ‘length’
2021-07-04 08:05:33 +0200 <lambdabot> It could refer to
2021-07-04 08:06:05 +0200 <c_wraith> > secret Data.List.length
2021-07-04 08:06:06 +0200 <lambdabot> 19
2021-07-04 08:06:36 +0200 <qrpnxz> alright, cool type i guess, but how does it help me type that i could return any foldable
2021-07-04 08:06:57 +0200chris_(~chris@81.96.113.213)
2021-07-04 08:07:02 +0200 <davean> qrpnxz: Look at it? Its litterly a proof the caller ca handle any foldable
2021-07-04 08:07:05 +0200 <c_wraith> Well, you see how returning a value of type (String -> r) -> r is the same as returning a String?
2021-07-04 08:07:15 +0200 <davean> because it litterly had to provide the fact it can handle any foldable
2021-07-04 08:07:34 +0200slack1256(~slack1256@181.203.33.8)
2021-07-04 08:08:00 +0200 <davean> I tihnk I've been noobed out for the night, c_wraith you take it away
2021-07-04 08:08:07 +0200 <davean> I'll try to just shup up at this point
2021-07-04 08:08:12 +0200 <qrpnxz> ohhhhh, interesting, but won't that be a total pain to use?, well i guess passing id isn't too bad? Does this get optimized?
2021-07-04 08:08:28 +0200 <qrpnxz> that's pretty galaxy brain tbh guys
2021-07-04 08:08:32 +0200 <c_wraith> Well, if the return type is (forall f. f a -> r) -> r, you can't pass in id
2021-07-04 08:08:42 +0200 <c_wraith> the forall constraint on the f prevents it
2021-07-04 08:08:56 +0200 <qrpnxz> will id not take an f a
2021-07-04 08:09:46 +0200slac32279(~slack1256@191.125.227.213) (Ping timeout: 252 seconds)
2021-07-04 08:09:52 +0200 <nshepperd> it has to return some r that doesn't depend on f, but id will return f a
2021-07-04 08:10:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-04 08:10:07 +0200 <c_wraith> it's that id won't unify
2021-07-04 08:10:07 +0200 <c_wraith> f a and r can't be the same types
2021-07-04 08:10:07 +0200 <c_wraith> because f is higher-rank
2021-07-04 08:10:15 +0200 <nshepperd> i think this CPS thing is probably overkill for your case tbh
2021-07-04 08:10:31 +0200 <c_wraith> It's the only solution to the constraints that are claimed
2021-07-04 08:10:49 +0200 <c_wraith> not that I think those constraints are a good choice :)
2021-07-04 08:11:01 +0200dunkeln_(~dunkeln@188.70.44.28)
2021-07-04 08:11:22 +0200 <qrpnxz> i mean, it's not like i'm writing world changing code here, but i believe in backwards compatibility, and how can you have that and not get locked into representation without being able to return a constrained type?
2021-07-04 08:11:37 +0200 <c_wraith> I think it's far better to just return the type you produce and let consumers use that type
2021-07-04 08:11:41 +0200 <qrpnxz> (other than some kind of dynamic type)
2021-07-04 08:11:58 +0200 <c_wraith> if you have an important reason to change the type, it must be important for the callers to know too
2021-07-04 08:13:05 +0200 <qrpnxz> it only has to be important if it's difficult to change, if it didn't break anything you could change it even if it wasn't that important, but did make measurable improvement
2021-07-04 08:13:18 +0200 <monochrom> If you are into not locking into a representation, use a newtype wrapper and a well-designed and complete API. Not pile up a ton of obscuring foralls. Especially when you have proved that you don't understand foralls.
2021-07-04 08:13:51 +0200 <davean> Yah, a newtype seems right here
2021-07-04 08:13:56 +0200 <davean> if you really want that
2021-07-04 08:14:12 +0200 <davean> Though oppinionwise I think its missguided
2021-07-04 08:14:36 +0200 <davean> for example, if you change it for performance reasons, it will neccissarily impact the performance of the calling code.
2021-07-04 08:14:57 +0200 <davean> Good code already is as general as it can be without being wrong
2021-07-04 08:14:57 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-04 08:15:07 +0200 <davean> if they pinned the Foldable its because it mattered
2021-07-04 08:15:55 +0200 <nshepperd> just tell your users if their code stops compiling because you changed the type it's their own problem
2021-07-04 08:16:30 +0200 <qrpnxz> hmmm, yeah a newtype sounds good, but for now i will listen and not do that. nshepperd, yeah i was saying earlier you could just put it in a comment worse case haha
2021-07-04 08:18:47 +0200 <nshepperd> misguided addition of restrictions is probably the second most common reason for me to patch a library locally
2021-07-04 08:18:47 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-04 08:19:23 +0200 <nshepperd> (after 'bugs')
2021-07-04 08:19:24 +0200 <davean> Its the thing that most quickly calls out noob coding
2021-07-04 08:19:45 +0200 <davean> Its not a mistake that ever persists
2021-07-04 08:20:02 +0200 <davean> I guess we can be thankful for that
2021-07-04 08:22:31 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-07-04 08:22:31 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-07-04 08:22:31 +0200turlando(~turlando@user/turlando)
2021-07-04 08:23:38 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 08:28:15 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Ping timeout: 258 seconds)
2021-07-04 08:29:21 +0200turlando(~turlando@user/turlando) (Remote host closed the connection)
2021-07-04 08:29:38 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-07-04 08:29:38 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-07-04 08:29:38 +0200turlando(~turlando@user/turlando)
2021-07-04 08:29:56 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-04 08:30:56 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 258 seconds)
2021-07-04 08:33:45 +0200turlando(~turlando@user/turlando) (Remote host closed the connection)
2021-07-04 08:34:07 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-07-04 08:34:07 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-07-04 08:34:07 +0200turlando(~turlando@user/turlando)
2021-07-04 08:37:52 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-04 08:40:38 +0200turlando(~turlando@user/turlando) (Ping timeout: 272 seconds)
2021-07-04 08:40:52 +0200oxide(~lambda@user/oxide)
2021-07-04 08:43:48 +0200dunkeln_(~dunkeln@188.70.44.28) (Ping timeout: 272 seconds)
2021-07-04 08:45:47 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-04 08:53:18 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 08:57:00 +0200Morrow(~MorrowM_@147.161.9.15) (Ping timeout: 258 seconds)
2021-07-04 08:57:52 +0200Guest1(~Guest1@2001:e68:543d:32f5:36dd:5585:5f23:735a) (Quit: Client closed)
2021-07-04 08:58:22 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-07-04 09:06:20 +0200Pickchea(~private@user/pickchea)
2021-07-04 09:14:47 +0200dunkeln_(~dunkeln@188.70.44.28)
2021-07-04 09:17:16 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-07-04 09:26:12 +0200thornAvery(~thorn@121.220.33.124)
2021-07-04 09:28:00 +0200cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2021-07-04 09:28:27 +0200cheater(~Username@user/cheater)
2021-07-04 09:31:23 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-04 09:32:20 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 09:33:25 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-04 09:33:48 +0200cheater(~Username@user/cheater)
2021-07-04 09:35:56 +0200laguneucl(~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
2021-07-04 09:38:18 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-07-04 09:39:14 +0200o(~niko@libera/staff/niko)
2021-07-04 09:39:32 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-07-04 09:40:15 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
2021-07-04 09:42:10 +0200derelict(~derelict@user/derelict) (Ping timeout: 256 seconds)
2021-07-04 09:42:30 +0200acidjnk_new(~acidjnk@p200300d0c72b953339f341015709cf67.dip0.t-ipconnect.de)
2021-07-04 09:43:24 +0200dunkeln_(~dunkeln@188.70.44.28) (Ping timeout: 265 seconds)
2021-07-04 09:45:18 +0200slack1256(~slack1256@181.203.33.8) (Remote host closed the connection)
2021-07-04 09:48:45 +0200thornAvery(~thorn@121.220.33.124) (Ping timeout: 258 seconds)
2021-07-04 09:49:29 +0200fabfianda(~fabfianda@37.183.255.57) (Remote host closed the connection)
2021-07-04 09:53:31 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-04 09:55:22 +0200xwx(~george@user/george) (Ping timeout: 252 seconds)
2021-07-04 09:55:58 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-07-04 09:56:34 +0200xwx(~george@user/george)
2021-07-04 09:58:00 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-04 09:58:43 +0200rawles(~o@user/rawles) (Quit: leaving)
2021-07-04 09:58:59 +0200rawles(~o@user/rawles)
2021-07-04 10:06:15 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 10:12:59 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-07-04 10:14:20 +0200qbt(~edun@user/edun)
2021-07-04 10:16:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Remote host closed the connection)
2021-07-04 10:17:27 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-04 10:17:52 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-04 10:18:52 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-07-04 10:21:20 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2021-07-04 10:21:20 +0200Lord_of_Life_Lord_of_Life
2021-07-04 10:23:57 +0200dunkeln_(~dunkeln@188.70.44.28)
2021-07-04 10:23:59 +0200jakalx(~jakalx@base.jakalx.net)
2021-07-04 10:24:23 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-04 10:26:41 +0200phma(phma@2001:5b0:212a:faf8:be49:b217:da87:a28c) (Read error: Connection reset by peer)
2021-07-04 10:34:09 +0200dunkeln_(~dunkeln@188.70.44.28) (Ping timeout: 265 seconds)
2021-07-04 10:34:19 +0200cheater1__(~Username@user/cheater)
2021-07-04 10:34:38 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 10:34:42 +0200cheater1__cheater
2021-07-04 10:42:06 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-07-04 10:43:02 +0200phma(phma@2001:5b0:211f:db18:f7ba:96c6:928a:2ba9)
2021-07-04 10:43:09 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-04 10:48:21 +0200anandprabhu(~anandprab@94.202.243.198)
2021-07-04 10:51:28 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-04 10:54:06 +0200NoName__(~Username@8.26.176.4)
2021-07-04 10:58:38 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-04 11:00:01 +0200img(~img@user/img)
2021-07-04 11:00:22 +0200Nyeogmi(~Nyeogmi@user/nyeogmi) (Ping timeout: 256 seconds)
2021-07-04 11:02:42 +0200thornAvery(~thorn@121.220.33.124)
2021-07-04 11:05:21 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-04 11:06:44 +0200img(~img@user/img)
2021-07-04 11:07:43 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 258 seconds)
2021-07-04 11:08:41 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-07-04 11:08:41 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-07-04 11:08:41 +0200turlando(~turlando@user/turlando)
2021-07-04 11:09:54 +0200img(~img@user/img) (Client Quit)
2021-07-04 11:11:16 +0200img(~img@user/img)
2021-07-04 11:11:18 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-04 11:13:54 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2021-07-04 11:14:26 +0200cheater(~Username@user/cheater)
2021-07-04 11:16:15 +0200NoName__(~Username@8.26.176.4) (Quit: https://www.endfgm.eu/what-can-you-do/donate/)
2021-07-04 11:16:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 11:20:19 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-04 11:20:33 +0200thornAvery(~thorn@121.220.33.124) (Ping timeout: 265 seconds)
2021-07-04 11:20:46 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Ping timeout: 256 seconds)
2021-07-04 11:23:13 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-04 11:25:33 +0200steshaw(~steshaw@122-151-164-35.sta.wbroadband.net.au) (Ping timeout: 268 seconds)
2021-07-04 11:28:11 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 11:28:18 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-04 11:32:54 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-07-04 11:33:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-04 11:44:31 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 258 seconds)
2021-07-04 11:45:16 +0200hegstal(~hegstal@2a02:c7f:7604:8a00:5760:9bdb:910c:2812)
2021-07-04 11:48:37 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 11:51:07 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-04 11:56:35 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-04 12:01:27 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-07-04 12:02:01 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 12:05:10 +0200thornAvery(~thorn@121.220.33.124)
2021-07-04 12:06:38 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-04 12:07:29 +0200azeem(~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Ping timeout: 268 seconds)
2021-07-04 12:08:02 +0200azeem(~azeem@176.200.221.91)
2021-07-04 12:08:42 +0200xsperry(~as@user/xsperry) (Remote host closed the connection)
2021-07-04 12:09:16 +0200xsperry(~as@user/xsperry)
2021-07-04 12:12:48 +0200thornAvery(~thorn@121.220.33.124) (Ping timeout: 272 seconds)
2021-07-04 12:15:06 +0200azeem(~azeem@176.200.221.91) (Read error: Connection reset by peer)
2021-07-04 12:17:15 +0200azeem(~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it)
2021-07-04 12:17:49 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 12:21:40 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 272 seconds)
2021-07-04 12:21:54 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Ping timeout: 240 seconds)
2021-07-04 12:22:32 +0200Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2021-07-04 12:23:16 +0200Digit(~user@user/digit)
2021-07-04 12:24:50 +0200 <Digit> omigosh, just seen termonad's a thing. giddy excited. [musta seen this already some late night sleepy last thing, left a video about it ready to launch]. happy days, another piece of my os/interface in Haskell. :)
2021-07-04 12:27:22 +0200azeem(~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-04 12:28:10 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 12:31:26 +0200FragByte(~christian@user/fragbyte) (Quit: Quit)
2021-07-04 12:32:25 +0200qbt(~edun@user/edun) (Quit: WeeChat 3.2)
2021-07-04 12:32:32 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 12:32:44 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-04 12:33:39 +0200sagax(~sagax@213.138.71.146)
2021-07-04 12:36:57 +0200FragByte(~christian@user/fragbyte)
2021-07-04 12:37:05 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2021-07-04 12:40:47 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-04 12:40:51 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-04 12:47:54 +0200acidjnk_new(~acidjnk@p200300d0c72b953339f341015709cf67.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-07-04 12:47:55 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 12:50:42 +0200azeem(~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it)
2021-07-04 12:51:26 +0200xff0x(~xff0x@2001:1a81:52ea:d100:38d4:8967:cbb0:e45b) (Ping timeout: 256 seconds)
2021-07-04 12:53:08 +0200xff0x(~xff0x@185.65.135.181)
2021-07-04 12:58:51 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se)
2021-07-04 13:00:00 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-04 13:01:45 +0200neo1(~neo3@cpe-292712.ip.primehome.com)
2021-07-04 13:05:46 +0200Pickchea(~private@user/pickchea)
2021-07-04 13:06:44 +0200AlexNoo_(~AlexNoo@178.34.162.171)
2021-07-04 13:09:00 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 256 seconds)
2021-07-04 13:09:14 +0200Alex_test(~al_test@94.233.241.144) (Ping timeout: 258 seconds)
2021-07-04 13:09:14 +0200AlexZenon(~alzenon@94.233.241.144) (Ping timeout: 258 seconds)
2021-07-04 13:10:26 +0200AlexNoo(~AlexNoo@94.233.241.144) (Ping timeout: 272 seconds)
2021-07-04 13:10:48 +0200Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2021-07-04 13:11:00 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-04 13:13:21 +0200Putonlalla(~sapekiis@it-cyan.it.jyu.fi) (Quit: Leaving.)
2021-07-04 13:14:18 +0200xff0x(~xff0x@185.65.135.181) (Ping timeout: 240 seconds)
2021-07-04 13:15:00 +0200Alex_test(~al_test@178.34.162.171)
2021-07-04 13:15:30 +0200AlexZenon(~alzenon@178.34.162.171)
2021-07-04 13:16:21 +0200xff0x(~xff0x@2001:1a81:52ea:d100:38d4:8967:cbb0:e45b)
2021-07-04 13:18:08 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-04 13:19:45 +0200alphabeta(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Quit: Quitting IRC :()
2021-07-04 13:20:04 +0200kilolympus(~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
2021-07-04 13:28:27 +0200mpt(~tom@2a02:908:1862:49e0::8)
2021-07-04 13:28:32 +0200magnuscake(~magnuscak@87-121-92-61.dyn.launtel.net.au)
2021-07-04 13:29:15 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 13:36:10 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-04 13:57:38 +0200fendor(~fendor@178.115.131.211.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-04 13:58:56 +0200FragByte(~christian@user/fragbyte) (Quit: Quit)
2021-07-04 13:59:14 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-04 13:59:57 +0200fendor(~fendor@178.115.131.211.wireless.dyn.drei.com)
2021-07-04 14:00:40 +0200FragByte(~christian@user/fragbyte)
2021-07-04 14:01:40 +0200Codaraxis__(~Codaraxis@193.32.126.157) (Remote host closed the connection)
2021-07-04 14:02:09 +0200Codaraxis__(~Codaraxis@193.32.126.157)
2021-07-04 14:03:40 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 258 seconds)
2021-07-04 14:03:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-04 14:06:18 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 240 seconds)
2021-07-04 14:08:28 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net)
2021-07-04 14:09:21 +0200 <edward1> Hey all :) I'm working on my first GHC issue but my build failed (it's a simple error message change so not sure why!). How can I run the test suite?
2021-07-04 14:10:34 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 258 seconds)
2021-07-04 14:10:41 +0200 <edward1> Here is the diff - https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6120/diffs
2021-07-04 14:11:13 +0200 <edward1> (Out of interest, what are the .stderr files in the testsuite? I didn't look at them closely but assumed they should be changed too!)
2021-07-04 14:11:57 +0200favonia(~favonia@user/favonia)
2021-07-04 14:12:42 +0200mpt(~tom@2a02:908:1862:49e0::8) (Ping timeout: 240 seconds)
2021-07-04 14:14:18 +0200__monty__(~toonn@user/toonn)
2021-07-04 14:18:33 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-04 14:18:49 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-04 14:18:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-04 14:19:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 14:19:16 +0200chris_(~chris@81.96.113.213)
2021-07-04 14:19:34 +0200 <adamse> edward1: if you navigate to the failed build (https://gitlab.haskell.org/CSEdd/ghc/-/jobs/724156) there should be a retry button, it doesn't look like it failed for any reasonable reason
2021-07-04 14:21:28 +0200 <adamse> edward1: stderr files capture the expected outputs of the test-case, then the test-suite compares the current output with the expected
2021-07-04 14:23:29 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 14:23:36 +0200chris_(~chris@81.96.113.213) (Ping timeout: 258 seconds)
2021-07-04 14:23:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Ping timeout: 256 seconds)
2021-07-04 14:24:15 +0200derelict(~derelict@user/derelict)
2021-07-04 14:25:06 +0200 <edward1> Thanks adamse - how would I run the test-suite anyway for future issues?
2021-07-04 14:26:17 +0200 <adamse> edward1: if you build with hadrian use the test subcommand, something like ./hadrian/build test
2021-07-04 14:26:33 +0200 <edward1> Thanks :)
2021-07-04 14:27:35 +0200chddr(~Thunderbi@91.226.35.178)
2021-07-04 14:27:49 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
2021-07-04 14:31:33 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-07-04 14:31:35 +0200chris_(~chris@81.96.113.213)
2021-07-04 14:32:04 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net)
2021-07-04 14:32:57 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-04 14:36:36 +0200yauhsien(~yauhsien@61-231-45-160.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-04 14:40:32 +0200astra(sid289983@user/amish) (Killed (NickServ (GHOST command used by doge!~doge@user/astra)))
2021-07-04 14:45:27 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 258 seconds)
2021-07-04 14:45:53 +0200zebrag(~chris@user/zebrag)
2021-07-04 14:47:24 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-04 14:49:31 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 14:55:40 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 14:55:44 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-04 14:56:57 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 258 seconds)
2021-07-04 14:57:24 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net) (Quit: WeeChat 2.3)
2021-07-04 14:59:27 +0200jippiedoe(~david@2a02-a44c-e14e-1-e576-4d18-cd48-2d4d.fixed6.kpn.net)
2021-07-04 15:00:09 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 268 seconds)
2021-07-04 15:00:46 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-07-04 15:01:10 +0200alx741(~alx741@186.178.109.174)
2021-07-04 15:01:20 +0200Pickchea(~private@user/pickchea)
2021-07-04 15:02:39 +0200arjun(~user@user/arjun)
2021-07-04 15:04:12 +0200 <arjun> about to get into some category theory, yay or nay?
2021-07-04 15:04:13 +0200Deide(~Deide@wire.desu.ga)
2021-07-04 15:04:13 +0200Deide(~Deide@wire.desu.ga) (Changing host)
2021-07-04 15:04:13 +0200Deide(~Deide@user/deide)
2021-07-04 15:08:52 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 15:08:53 +0200cheater1__(~Username@user/cheater)
2021-07-04 15:08:55 +0200cheater1__cheater
2021-07-04 15:09:06 +0200Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2021-07-04 15:10:25 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net)
2021-07-04 15:10:29 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-04 15:14:20 +0200magnuscake(~magnuscak@87-121-92-61.dyn.launtel.net.au) (Ping timeout: 268 seconds)
2021-07-04 15:17:44 +0200AlexNoo_AlexNoo
2021-07-04 15:18:21 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-04 15:18:23 +0200cheater1__(~Username@user/cheater)
2021-07-04 15:18:25 +0200cheater1__cheater
2021-07-04 15:23:01 +0200arjun(~user@user/arjun) (Ping timeout: 258 seconds)
2021-07-04 15:23:18 +0200Hafydd(~Hafydd@user/hafydd) (Quit: WeeChat 3.2)
2021-07-04 15:23:27 +0200Hafydd(jc@user/hafydd)
2021-07-04 15:27:33 +0200Hafydd(jc@user/hafydd) (Client Quit)
2021-07-04 15:27:41 +0200Hafydd(jc@user/hafydd)
2021-07-04 15:29:48 +0200Hafydd(jc@user/hafydd) (Client Quit)
2021-07-04 15:29:55 +0200Hafydd(jc@user/hafydd)
2021-07-04 15:30:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-04 15:31:06 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-04 15:34:42 +0200jippiedoe(~david@2a02-a44c-e14e-1-e576-4d18-cd48-2d4d.fixed6.kpn.net) (Ping timeout: 240 seconds)
2021-07-04 15:34:57 +0200arjun(~user@user/arjun)
2021-07-04 15:36:43 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 265 seconds)
2021-07-04 15:36:56 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
2021-07-04 15:37:21 +0200Hafydd(jc@user/hafydd) (Quit: WeeChat 3.2)
2021-07-04 15:37:29 +0200Hafydd(~Hafydd@user/hafydd)
2021-07-04 15:40:01 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-07-04 15:44:48 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-04 15:45:16 +0200cheater(~Username@user/cheater)
2021-07-04 15:46:32 +0200arjun(~user@user/arjun) (Ping timeout: 256 seconds)
2021-07-04 15:47:12 +0200stevenxl(~stevenlei@68.235.43.101)
2021-07-04 15:57:16 +0200tomek-grzesiak(~tomek@109.206.213.203)
2021-07-04 15:59:50 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-04 15:59:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 16:01:50 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2021-07-04 16:03:32 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-04 16:03:57 +0200cheater1__(~Username@user/cheater)
2021-07-04 16:03:58 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 16:04:00 +0200cheater1__cheater
2021-07-04 16:11:34 +0200chddr(~Thunderbi@91.226.35.178) (Ping timeout: 272 seconds)
2021-07-04 16:11:59 +0200fendor_(~fendor@91.141.35.106.wireless.dyn.drei.com)
2021-07-04 16:14:18 +0200stevenxl_(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-07-04 16:15:09 +0200fendor(~fendor@178.115.131.211.wireless.dyn.drei.com) (Ping timeout: 258 seconds)
2021-07-04 16:17:04 +0200stevenxl(~stevenlei@68.235.43.101) (Ping timeout: 252 seconds)
2021-07-04 16:17:30 +0200Pickchea(~private@user/pickchea)
2021-07-04 16:20:04 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 16:20:29 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 16:22:22 +0200stevenxl(~stevenlei@68.235.43.165)
2021-07-04 16:24:01 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-04 16:24:38 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-04 16:24:42 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Ping timeout: 240 seconds)
2021-07-04 16:25:03 +0200stevenxl_(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 265 seconds)
2021-07-04 16:26:25 +0200chddr(~Thunderbi@91.226.35.178)
2021-07-04 16:27:14 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-04 16:29:01 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-04 16:33:44 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 16:33:53 +0200cheater(~Username@user/cheater)
2021-07-04 16:34:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-04 16:35:50 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 244 seconds)
2021-07-04 16:35:55 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-04 16:36:43 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-07-04 16:40:52 +0200pavonia(~user@user/siracusa)
2021-07-04 16:44:39 +0200Morrow(~MorrowM_@147.161.9.15)
2021-07-04 16:52:32 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
2021-07-04 16:55:22 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-04 16:56:07 +0200chris_(~chris@81.96.113.213)
2021-07-04 16:56:23 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-07-04 16:57:41 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-04 16:57:53 +0200chris_(~chris@81.96.113.213)
2021-07-04 16:58:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-04 16:59:03 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-04 17:02:52 +0200Pickchea(~private@user/pickchea) (Ping timeout: 268 seconds)
2021-07-04 17:07:34 +0200cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2021-07-04 17:07:53 +0200cheater(~Username@user/cheater)
2021-07-04 17:10:53 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-04 17:12:50 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
2021-07-04 17:13:38 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 272 seconds)
2021-07-04 17:15:31 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 17:17:58 +0200MorrowM(~MorrowM_@147.161.13.82)
2021-07-04 17:19:49 +0200fendor_(~fendor@91.141.35.106.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-07-04 17:20:09 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-04 17:20:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-04 17:21:36 +0200Morrow(~MorrowM_@147.161.9.15) (Ping timeout: 265 seconds)
2021-07-04 17:21:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 17:24:49 +0200 <tam> i hope im not breaking any rule by asking this here but i was hoping to join the slack fp chat but the invite site has been saying g "application error" for a while and i don't know if this is a temporary bug or if the chat even exists any more
2021-07-04 17:26:04 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 17:26:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Ping timeout: 256 seconds)
2021-07-04 17:28:29 +0200awth13(~user@user/awth13) (Read error: Connection reset by peer)
2021-07-04 17:29:47 +0200hunji(~hunji@ip-86.net-89-3-14.rev.numericable.fr)
2021-07-04 17:29:48 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 17:30:24 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
2021-07-04 17:30:46 +0200fendor(~fendor@91.141.35.106.wireless.dyn.drei.com)
2021-07-04 17:32:28 +0200chddr(~Thunderbi@91.226.35.178) (Ping timeout: 268 seconds)
2021-07-04 17:32:43 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-04 17:33:20 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-04 17:33:42 +0200cheater(~Username@user/cheater)
2021-07-04 17:34:30 +0200MorrowM(~MorrowM_@147.161.13.82) (Ping timeout: 258 seconds)
2021-07-04 17:34:51 +0200tomek-grzesiak(~tomek@109.206.213.203) (Quit: WeeChat 3.0.1)
2021-07-04 17:37:38 +0200notzmv(~zmv@user/notzmv)
2021-07-04 17:42:11 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-04 17:42:22 +0200samhh(~samhh@90.252.112.94)
2021-07-04 17:43:21 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 17:48:11 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-04 17:48:11 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-04 17:48:15 +0200cheater1__(~Username@user/cheater)
2021-07-04 17:48:18 +0200cheater1__cheater
2021-07-04 17:48:57 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-04 17:49:18 +0200anandprabhu(~anandprab@94.202.243.198) (Quit: Leaving)
2021-07-04 17:53:24 +0200MorrowM(~MorrowM_@bzq-110-168-31-106.red.bezeqint.net)
2021-07-04 17:53:27 +0200LukeHoersten_(~LukeHoers@user/lukehoersten)
2021-07-04 17:55:20 +0200stevenxl(~stevenlei@68.235.43.165) (Ping timeout: 252 seconds)
2021-07-04 17:57:22 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds)
2021-07-04 17:57:33 +0200stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-07-04 17:58:43 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-04 17:59:02 +0200MorrowM(~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 258 seconds)
2021-07-04 17:59:08 +0200LukeHoersten_(~LukeHoers@user/lukehoersten) (Ping timeout: 256 seconds)
2021-07-04 17:59:19 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-04 18:00:10 +0200MorrowM(~MorrowM_@bzq-110-168-31-106.red.bezeqint.net)
2021-07-04 18:00:11 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-04 18:00:26 +0200Pickchea(~private@user/pickchea)
2021-07-04 18:01:48 +0200LukeHoersten_(~LukeHoers@user/lukehoersten)
2021-07-04 18:02:42 +0200tomek-grzesiak(~tomek@109.206.213.203)
2021-07-04 18:03:06 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2021-07-04 18:03:10 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-07-04 18:03:51 +0200cheater(~Username@user/cheater)
2021-07-04 18:03:58 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-04 18:05:14 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-04 18:05:33 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
2021-07-04 18:05:51 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 18:09:25 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-07-04 18:10:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-04 18:10:42 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-07-04 18:10:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 18:10:59 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-04 18:12:44 +0200LukeHoersten_(~LukeHoers@user/lukehoersten) (Ping timeout: 256 seconds)
2021-07-04 18:15:24 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
2021-07-04 18:15:44 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-04 18:16:02 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 18:16:20 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-07-04 18:16:41 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df)
2021-07-04 18:23:51 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-04 18:24:30 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-04 18:25:12 +0200chris_(~chris@81.96.113.213)
2021-07-04 18:25:23 +0200awth13(~user@user/awth13)
2021-07-04 18:28:42 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-04 18:30:16 +0200chris_(~chris@81.96.113.213) (Ping timeout: 272 seconds)
2021-07-04 18:30:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 18:30:58 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-04 18:31:03 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-04 18:33:07 +0200MQ-17J(~MQ-17J@2607:fb90:893b:6cdc:ec:9cb6:c388:2ee2)
2021-07-04 18:33:28 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-04 18:33:39 +0200MQ-17J(~MQ-17J@2607:fb90:893b:6cdc:ec:9cb6:c388:2ee2) (Read error: Connection reset by peer)
2021-07-04 18:33:49 +0200cheater(~Username@user/cheater)
2021-07-04 18:33:56 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 18:34:00 +0200stevenxl_(~stevenlei@68.235.43.141)
2021-07-04 18:36:58 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net)
2021-07-04 18:37:00 +0200stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 265 seconds)
2021-07-04 18:37:11 +0200jneira[m](~jneira@160.red-176-83-73.dynamicip.rima-tde.net)
2021-07-04 18:39:42 +0200Nyeogmi(~Nyeogmi@2601:645:8700:bea0:bcb8:b9ef:af27:7b7c)
2021-07-04 18:41:14 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-04 18:41:34 +0200vicfred(~vicfred@user/vicfred)
2021-07-04 18:41:50 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-07-04 18:42:11 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-04 18:43:37 +0200timCF(~timCF@m91-129-104-218.cust.tele2.ee)
2021-07-04 18:44:04 +0200Nyeogmi(~Nyeogmi@2601:645:8700:bea0:bcb8:b9ef:af27:7b7c) (Remote host closed the connection)
2021-07-04 18:44:10 +0200 <turlando> Suppose I want to match a N-way tree for a specific structure starting from the root node. What do you think is an idiomatic way to do so? The tree has an already well defined structure (as sum type) I'm not willing to change
2021-07-04 18:44:26 +0200Nyeogmi(~Nyeogmi@2601:645:8700:bea0:bcb8:b9ef:af27:7b7c)
2021-07-04 18:44:32 +0200 <turlando> (basically I want to do pattern matching without doing pattern matching)
2021-07-04 18:46:25 +0200 <dsal> Can you type up something you wish worked?
2021-07-04 18:46:44 +0200 <turlando> The issue is that basically I want a function I can pass the structure I'm looking for and returns me the elements I'd like to get. Suppose the tree is data T = A T | B T Int | C Text T. I want to pass this function something like "if the root is A, check if its element is a B, if so return the Int"
2021-07-04 18:46:54 +0200 <dsal> TBH, I think lens does what you want pretty easily.
2021-07-04 18:48:01 +0200 <turlando> I was hoping not to import lens since it's very heavy to compile (and learn from my point of view). I hoped I could write something simple I could also learn from
2021-07-04 18:49:39 +0200jneira[m](~jneira@160.red-176-83-73.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-07-04 18:49:59 +0200 <dsal> Well, what lens would do at compile time is create prisms so you could preview down into that int with something like `r ^? _A . _B` (which would be `:: Maybe Int`). Those prism functions do the thing you're trying to avoid manually doing, but you can write them yourself.
2021-07-04 18:50:06 +0200 <dsal> They're only a little overkill because they are bidirectional.
2021-07-04 18:50:47 +0200neo1(~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 258 seconds)
2021-07-04 18:51:04 +0200 <turlando> In lisp I would be do something like have a match function that I would pass something like '(A (B ?subtree ?int)) and then recursively match A and B against the tree and return ?int that I would save in an accumulator in the meanwhile
2021-07-04 18:51:16 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-04 18:51:33 +0200qbt(~edun@user/edun)
2021-07-04 18:51:36 +0200qbt(~edun@user/edun) (Client Quit)
2021-07-04 18:52:09 +0200 <turlando> It's a relatively simple thing to do to disturb prism imho :) But I'm not sure how to get the thing done in an idiomatic way
2021-07-04 18:52:30 +0200 <turlando> (Also how to pass the desired tree structure with the placeholders)
2021-07-04 18:52:42 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Quit: Leaving)
2021-07-04 18:52:43 +0200 <turlando> s/prims/lens/
2021-07-04 18:52:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-04 18:53:47 +0200 <dsal> Well, the whole area of optics came into existence to answer those two questions.
2021-07-04 18:55:10 +0200derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-07-04 18:55:17 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 18:55:43 +0200 <dsal> λ> t ==> A (B (C "x") 3)
2021-07-04 18:55:43 +0200 <dsal> λ> t ^? _A . _B . _2 ==> Just 3
2021-07-04 18:55:46 +0200Nyeogmi(~Nyeogmi@2601:645:8700:bea0:bcb8:b9ef:af27:7b7c) (Changing host)
2021-07-04 18:55:46 +0200Nyeogmi(~Nyeogmi@user/nyeogmi)
2021-07-04 18:56:18 +0200 <sm[m]> microlens is a bit lighter
2021-07-04 18:56:20 +0200Pickchea(~private@user/pickchea) (Ping timeout: 265 seconds)
2021-07-04 18:58:20 +0200 <turlando> Right, I think I will look into lens/microlens, thanks everybody :)
2021-07-04 18:58:36 +0200cheater1__(~Username@user/cheater)
2021-07-04 18:58:48 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-04 18:58:49 +0200cheater1__cheater
2021-07-04 18:58:58 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net)
2021-07-04 19:00:02 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-04 19:00:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 19:00:50 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
2021-07-04 19:03:50 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 19:04:01 +0200cheater(~Username@user/cheater)
2021-07-04 19:04:14 +0200Topsi(~Tobias@dyndsl-095-033-017-135.ewe-ip-backbone.de)
2021-07-04 19:04:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-04 19:07:57 +0200hunji(~hunji@ip-86.net-89-3-14.rev.numericable.fr) (Quit: Client closed)
2021-07-04 19:08:54 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-07-04 19:10:08 +0200MorrowM(~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
2021-07-04 19:14:48 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-04 19:15:51 +0200timCF_(~timCF@m91-129-104-218.cust.tele2.ee)
2021-07-04 19:16:29 +0200timCF(~timCF@m91-129-104-218.cust.tele2.ee) (Quit: Client closed)
2021-07-04 19:16:39 +0200timCF_(~timCF@m91-129-104-218.cust.tele2.ee) (Client Quit)
2021-07-04 19:17:02 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-07-04 19:18:18 +0200alx741(~alx741@186.178.109.174) (Ping timeout: 240 seconds)
2021-07-04 19:19:06 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df) (Ping timeout: 240 seconds)
2021-07-04 19:19:08 +0200timCF(~timCF@m91-129-104-218.cust.tele2.ee)
2021-07-04 19:19:40 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-07-04 19:20:11 +0200timCF(~timCF@m91-129-104-218.cust.tele2.ee) (Client Quit)
2021-07-04 19:21:08 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-04 19:21:56 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-04 19:22:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-04 19:23:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 19:24:44 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net)
2021-07-04 19:24:52 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 19:25:49 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 265 seconds)
2021-07-04 19:27:30 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d) (Ping timeout: 240 seconds)
2021-07-04 19:29:24 +0200 <dsal> I've never really looked into microlens. I guess I should do that.
2021-07-04 19:30:56 +0200 <dsal> Oh, it doesn't seem to provide prisms, which is rather important.
2021-07-04 19:32:49 +0200alx741(~alx741@186.178.108.123)
2021-07-04 19:37:13 +0200 <turlando> Half an hour later, it still feels like a lot of overhead for waling a tree and something that can be done with 10 lines of lisp. There really isn't another way?
2021-07-04 19:37:26 +0200 <turlando> s/waling/walking/
2021-07-04 19:38:32 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-04 19:39:30 +0200 <dsal> Well, you can do this:
2021-07-04 19:39:34 +0200 <dsal> secondB :: T -> Maybe Int
2021-07-04 19:39:34 +0200 <dsal> secondB (A (B _ x)) = Just x
2021-07-04 19:39:34 +0200 <dsal> secondB _ = Nothing
2021-07-04 19:39:36 +0200 <dsal> For that one use case.
2021-07-04 19:40:34 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 19:40:37 +0200 <dsal> But passing in the structure is a bit more difficult since you need a way to describe the condition.
2021-07-04 19:40:37 +0200 <turlando> It works for small paths, but for longer it becomes an unreasonable mess :\
2021-07-04 19:41:13 +0200 <turlando> Yep, and at the end I would just be re-inventing lens, just buggier
2021-07-04 19:41:25 +0200 <dsal> You can do a similar thing like this:
2021-07-04 19:41:27 +0200 <dsal> λ> listToMaybe [ x | (A (B _ x)) <- [t] ]
2021-07-04 19:41:27 +0200 <dsal> Just 3
2021-07-04 19:41:48 +0200 <dsal> But yeah, expressing it as a prism is most natural to me.
2021-07-04 19:41:58 +0200 <hendursaga> tam: I also have that issue - I still haven't gotten a reply :(
2021-07-04 19:42:16 +0200 <energizer> is there a place on the internet that collects type signatures for various important computing things? i'm thinking of "what is the type signature of a linker" etc
2021-07-04 19:44:24 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-04 19:45:02 +0200MorrowM(~MorrowM_@bzq-110-168-31-106.red.bezeqint.net)
2021-07-04 19:45:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-04 19:45:49 +0200ukari(~ukari@user/ukari)
2021-07-04 19:45:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 19:58:33 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-04 19:59:44 +0200ukari(~ukari@user/ukari)
2021-07-04 20:00:01 +0200derelict(~derelict@user/derelict)
2021-07-04 20:01:15 +0200chris_(~chris@81.96.113.213)
2021-07-04 20:02:52 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 20:03:29 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-04 20:06:41 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-04 20:07:10 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-07-04 20:13:40 +0200samhh(~samhh@90.252.112.94) (Ping timeout: 265 seconds)
2021-07-04 20:13:48 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-04 20:14:02 +0200fakehacker[m](~fakehacke@2001:470:69fc:105::b5f0)
2021-07-04 20:14:02 +0200 <fakehacker[m]> Hi! I can't figure this out. https://paste.tomsmeding.com/MeVtwSw6 < I have written dateRangeParser in do-notation and I would like to write the equivalent function without do-notation but I can't figure out how to do it
2021-07-04 20:14:02 +0200 <fakehacker[m]> https://paste.tomsmeding.com/piObTlbu < There's an updated paste with the type included. Forgot that in the first paste
2021-07-04 20:15:20 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-04 20:16:58 +0200haritz(~hrtz@user/haritz)
2021-07-04 20:17:39 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-04 20:18:53 +0200dunj3(~dunj3@2001:16b8:3050:bb00:92ff:fb46:3b31:9dc1)
2021-07-04 20:18:57 +0200cheater1__(~Username@user/cheater)
2021-07-04 20:19:12 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 20:19:20 +0200cheater1__cheater
2021-07-04 20:19:36 +0200 <geekosaur> you're missing some types from that paste
2021-07-04 20:19:55 +0200 <geekosaur> you're also missing the Range constructor in your rewrite, which is probably why it's wrong
2021-07-04 20:20:40 +0200 <geekosaur> I defined Day as a type alias for Int but that leaves ReadM and Parser
2021-07-04 20:21:14 +0200 <fakehacker[m]> Day is from Data.Time.Calendar
2021-07-04 20:21:37 +0200 <fakehacker[m]> ReadM and Parser is from optparse-applicative
2021-07-04 20:21:57 +0200 <fakehacker[m]> And yes, the issue is that I can't figure out how to add the Range constructor
2021-07-04 20:22:58 +0200 <fakehacker[m]> I can get a 'Parser (Day, Day)' no problem
2021-07-04 20:33:31 +0200cheater1__(~Username@user/cheater)
2021-07-04 20:33:44 +0200 <geekosaur> it's not real pretty, which often follows frome these point-free kind of things... https://paste.tomsmeding.com/Jg1nKYth
2021-07-04 20:33:46 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 20:33:49 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-04 20:33:53 +0200cheater1__cheater
2021-07-04 20:34:42 +0200 <fakehacker[m]> Oh, makes sense I didn't figure that one out
2021-07-04 20:35:24 +0200 <fakehacker[m]> I thought it wouldn't be too awkward considering it wasn't particularly complicated in the do-notation
2021-07-04 20:36:09 +0200 <geekosaur> this is part of why ApplicativeDo exists
2021-07-04 20:36:19 +0200TranquilEcho(~grom@user/tranquilecho)
2021-07-04 20:36:19 +0200 <fakehacker[m]> Hehe, alright
2021-07-04 20:37:23 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-04 20:37:47 +0200 <fakehacker[m]> So apparently it's possible to remove one pair of brackets
2021-07-04 20:37:51 +0200 <fakehacker[m]> Makes it marginally less awkward
2021-07-04 20:38:18 +0200 <geekosaur> probably, I didn't bother checking fixities but just treated it as pointfree
2021-07-04 20:38:24 +0200 <monochrom> (\x y -> Range (x,y)) is just fine. I don't believe that the use of <$> must be correlated to the use of pointfree.
2021-07-04 20:39:00 +0200 <geekosaur> there is that, I guess
2021-07-04 20:39:25 +0200 <fakehacker[m]> Yeah
2021-07-04 20:39:33 +0200 <monochrom> Indeed if you did not know that (,) existed, you would be able to think up (\x y -> Range (x,y)) yourself. My students do.
2021-07-04 20:39:44 +0200Schrostfutz(~Schrostfu@p5de88aa6.dip0.t-ipconnect.de)
2021-07-04 20:41:32 +0200 <monochrom> Some of my students don't know that "fmap Just xs" is a thing, they write like "fmap (\x -> Just x) xs".
2021-07-04 20:42:22 +0200 <fakehacker[m]> Right
2021-07-04 20:42:24 +0200 <monochrom> This is liberating. When what you really need is "(\x y -> Range (x+1, y-2))" my students won't be afraid to write exactly that and get shit done.
2021-07-04 20:43:26 +0200 <fakehacker[m]> Well, this was mainly a learning exercise because I just couldn't figure out how to do it without the do-notation and I couldn't just drop it without figuring it out!
2021-07-04 20:43:39 +0200 <monochrom> Whereas a pointfree fan who doesn't actually have the pointfree ability to go with it suffers writer's block.
2021-07-04 20:48:11 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 20:48:50 +0200 <dsal> :t fmap curry
2021-07-04 20:48:51 +0200 <lambdabot> Functor f => f ((a, b) -> c) -> f (a -> b -> c)
2021-07-04 20:48:55 +0200econo(uid147250@user/econo)
2021-07-04 20:52:46 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-07-04 20:52:47 +0200favonia(~favonia@user/favonia)
2021-07-04 20:56:31 +0200Pickchea(~private@user/pickchea)
2021-07-04 20:59:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5061:15ea:118b:e58d)
2021-07-04 21:00:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 21:00:36 +0200favonia(~favonia@user/favonia)
2021-07-04 21:01:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 21:01:21 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-04 21:04:55 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 21:09:44 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-04 21:14:05 +0200safinaskar(~safinaska@109-252-90-89.nat.spd-mgts.ru)
2021-07-04 21:14:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 21:14:43 +0200favonia(~favonia@user/favonia)
2021-07-04 21:15:57 +0200 <hendursaga> energizer: none that I know of but that's an interesting idea..
2021-07-04 21:17:56 +0200safinaskar(~safinaska@109-252-90-89.nat.spd-mgts.ru) ()
2021-07-04 21:18:40 +0200edward1(~edward@cpc69060-oxfd26-2-0-cust374.4-3.cable.virginm.net)
2021-07-04 21:21:50 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 21:26:31 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-04 21:27:37 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-04 21:30:30 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 256 seconds)
2021-07-04 21:32:40 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-07-04 21:33:52 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-04 21:34:10 +0200cheater(~Username@user/cheater)
2021-07-04 21:35:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-04 21:41:36 +0200xwx(~george@user/george) (Ping timeout: 268 seconds)
2021-07-04 21:43:05 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 21:43:26 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-04 21:43:32 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 21:43:38 +0200cheater(~Username@user/cheater)
2021-07-04 21:43:55 +0200myShoggoth(~myShoggot@75.164.51.64)
2021-07-04 21:44:53 +0200cuz(~user@2601:182:cc02:8b0:70f8:b993:ed53:22fb)
2021-07-04 21:45:12 +0200favonia(~favonia@user/favonia)
2021-07-04 21:49:00 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-04 21:49:02 +0200cheater1__(~Username@user/cheater)
2021-07-04 21:49:04 +0200cheater1__cheater
2021-07-04 21:51:55 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
2021-07-04 21:55:26 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2021-07-04 21:57:01 +0200Schrostfutz(~Schrostfu@p5de88aa6.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2021-07-04 21:58:00 +0200betelgeuse(~john2gb@94-225-47-8.access.telenet.be)
2021-07-04 21:58:54 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2021-07-04 21:59:07 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-04 21:59:10 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-04 21:59:11 +0200gentauro(~gentauro@user/gentauro)
2021-07-04 21:59:31 +0200cheater(~Username@user/cheater)
2021-07-04 22:04:31 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-04 22:05:24 +0200juhp(~juhp@128.106.188.66) (Ping timeout: 252 seconds)
2021-07-04 22:06:52 +0200fendor(~fendor@91.141.35.106.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-04 22:07:59 +0200juhp(~juhp@128.106.188.66)
2021-07-04 22:08:30 +0200fendor(~fendor@91.141.35.106.wireless.dyn.drei.com)
2021-07-04 22:08:31 +0200xwx(~george@user/george)
2021-07-04 22:15:50 +0200cuz(~user@2601:182:cc02:8b0:70f8:b993:ed53:22fb) (Ping timeout: 256 seconds)
2021-07-04 22:18:51 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-04 22:19:15 +0200cheater(~Username@user/cheater)
2021-07-04 22:22:32 +0200PPK(~mark@2a00:23c6:d280:3700:572a:c2f0:ddc5:b769) (Quit: WeeChat 3.2)
2021-07-04 22:22:36 +0200shanemikel(~shanemike@desk.roadwar.net) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-07-04 22:24:03 +0200acidjnk_new(~acidjnk@p200300d0c72b9560cc287b29f6323197.dip0.t-ipconnect.de)
2021-07-04 22:25:12 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-04 22:25:36 +0200shanemikel(~shanemike@desk.roadwar.net)
2021-07-04 22:26:21 +0200magthe(~magthe@c83-252-48-230.bredband.tele2.se)
2021-07-04 22:27:30 +0200euandreh(~euandreh@2804:14c:33:9fe5:af42:e045:e98b:4388) (Ping timeout: 240 seconds)
2021-07-04 22:28:43 +0200euandreh(~euandreh@2804:14c:33:9fe5:5705:7057:8694:6ccc)
2021-07-04 22:32:23 +0200magthe(~magthe@c83-252-48-230.bredband.tele2.se) (Quit: WeeChat 3.2)
2021-07-04 22:32:37 +0200jared1(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net)
2021-07-04 22:35:53 +0200fendor(~fendor@91.141.35.106.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-07-04 22:35:59 +0200euandreh(~euandreh@2804:14c:33:9fe5:5705:7057:8694:6ccc) (Quit: WeeChat 3.2)
2021-07-04 22:36:06 +0200jared1(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net) ()
2021-07-04 22:36:24 +0200fendor(~fendor@91.141.35.106.wireless.dyn.drei.com)
2021-07-04 22:37:34 +0200euandreh(~euandreh@2804:14c:33:9fe5:5705:7057:8694:6ccc)
2021-07-04 22:40:47 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-04 22:42:02 +0200myShoggoth(~myShoggot@75.164.51.64) (Ping timeout: 268 seconds)
2021-07-04 22:43:30 +0200jared2(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net)
2021-07-04 22:43:36 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 22:43:54 +0200favonia(~favonia@user/favonia)
2021-07-04 22:45:22 +0200whiteline(~whiteline@c-cda8d954.54725-0-757473696b74.bbcust.telenor.se) (Ping timeout: 252 seconds)
2021-07-04 22:46:12 +0200ablutor(~quassel@wasscher.com) (Quit: going for vitamine d)
2021-07-04 22:46:31 +0200ablutor(~quassel@wasscher.com)
2021-07-04 22:46:35 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 22:47:01 +0200cheater(~Username@user/cheater)
2021-07-04 22:47:50 +0200jared2(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net) (WeeChat 3.2)
2021-07-04 22:49:00 +0200cuz(~user@2601:182:cc02:8b0:b9cd:400f:8605:1044)
2021-07-04 22:49:19 +0200Guest56(~Guest56@188.27.129.10)
2021-07-04 22:49:53 +0200jared2(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net)
2021-07-04 22:52:33 +0200Guest56(~Guest56@188.27.129.10) (Client Quit)
2021-07-04 22:54:32 +0200jared2(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net) (WeeChat 3.2)
2021-07-04 22:54:54 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-04 22:56:44 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-04 22:57:34 +0200jared1(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net)
2021-07-04 22:57:50 +0200whiteline(~whiteline@c-cda8d954.54725-0-757473696b74.bbcust.telenor.se)
2021-07-04 22:59:18 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-04 22:59:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-04 22:59:55 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-04 23:00:19 +0200favonia(~favonia@user/favonia)
2021-07-04 23:04:15 +0200jared1(~jared@node-1w7jr9yeneb62gnlkycjvhdv6.ipv6.telus.net) (WeeChat 3.2)
2021-07-04 23:04:53 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-04 23:08:32 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-04 23:09:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-07-04 23:10:42 +0200favonia(~favonia@user/favonia)
2021-07-04 23:10:47 +0200astra_(sid289983@id-289983.stonehaven.irccloud.com)
2021-07-04 23:14:19 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-07-04 23:16:29 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df)
2021-07-04 23:16:41 +0200bcmiller_(~bm3719@66.42.95.185) (Quit: leaving)
2021-07-04 23:17:14 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-07-04 23:17:20 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-04 23:19:11 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-04 23:19:19 +0200cheater(~Username@user/cheater) (Remote host closed the connection)
2021-07-04 23:20:56 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-04 23:21:00 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df) (Ping timeout: 256 seconds)
2021-07-04 23:23:50 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2021-07-04 23:25:25 +0200lavaman(~lavaman@98.38.249.169)
2021-07-04 23:27:18 +0200o1lo01ol1o(~o1lo01ol1@85.240.89.228)
2021-07-04 23:28:44 +0200sheepduck(~sheepduck@user/sheepduck)
2021-07-04 23:30:04 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-04 23:30:30 +0200cheater(~Username@user/cheater)
2021-07-04 23:31:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-04 23:32:54 +0200cuz(~user@2601:182:cc02:8b0:b9cd:400f:8605:1044) (Ping timeout: 256 seconds)
2021-07-04 23:33:02 +0200sheepduck(~sheepduck@user/sheepduck) (Remote host closed the connection)
2021-07-04 23:33:54 +0200jjhoo(jahakala@dsl-trebng21-58c18f-56.dhcp.inet.fi) (Remote host closed the connection)
2021-07-04 23:35:20 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-04 23:36:49 +0200jjhoo(~jahakala@dsl-trebng21-58c18f-56.dhcp.inet.fi)
2021-07-04 23:41:53 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-04 23:42:53 +0200o1lo01ol1o(~o1lo01ol1@85.240.89.228) (Remote host closed the connection)
2021-07-04 23:43:26 +0200o1lo01ol1o(~o1lo01ol1@bl7-89-228.dsl.telepac.pt)
2021-07-04 23:44:02 +0200jrm(~jrm@156.34.187.65) (Ping timeout: 252 seconds)
2021-07-04 23:47:06 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-04 23:47:42 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-07-04 23:49:28 +0200o1lo01ol1o(~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Ping timeout: 272 seconds)
2021-07-04 23:50:44 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-04 23:50:45 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-04 23:51:03 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-04 23:53:12 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-04 23:54:37 +0200finsternis(~X@23.226.237.192) (Remote host closed the connection)
2021-07-04 23:57:18 +0200 <zzz> is there a canonical way to avoid writing [minBound..maxBound] ?
2021-07-04 23:58:13 +0200 <zzz> (aside from [minBound..])
2021-07-04 23:59:28 +0200fendor(~fendor@91.141.35.106.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-07-04 23:59:29 +0200 <geekosaur> not that I'm aware of… and one might have problems. (With Double, for one.)