2022/05/31

2022-05-31 00:01:09 +0200nate1(~nate@98.45.169.16)
2022-05-31 00:06:13 +0200nate1(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-05-31 00:11:35 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 00:18:22 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-05-31 00:29:36 +0200acidjnk(~acidjnk@p200300d0c7068b57b4ddf1e14e3049be.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2022-05-31 00:43:23 +0200wonko(~wjc@user/wonko)
2022-05-31 00:44:53 +0200chomwitt(~chomwitt@2a02:587:dc11:7d00:f083:eec9:d0b0:a50f) (Ping timeout: 244 seconds)
2022-05-31 00:50:01 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-05-31 00:52:57 +0200wonko(~wjc@user/wonko) (Ping timeout: 260 seconds)
2022-05-31 00:56:56 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-05-31 01:03:35 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-05-31 01:04:14 +0200srk-(~sorki@user/srk)
2022-05-31 01:05:13 +0200 <Bulby[m]> remembering state would be something like `do state <- get; runState state someSem`
2022-05-31 01:05:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection)
2022-05-31 01:05:40 +0200Guest9361(~landon@pool-98-111-246-199.pitbpa.ftas.verizon.net)
2022-05-31 01:06:06 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-05-31 01:06:11 +0200srk(~sorki@user/srk) (Ping timeout: 255 seconds)
2022-05-31 01:06:56 +0200srk-srk
2022-05-31 01:08:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 01:08:29 +0200Guest9361(~landon@pool-98-111-246-199.pitbpa.ftas.verizon.net) (Client Quit)
2022-05-31 01:09:57 +0200srk-(~sorki@user/srk)
2022-05-31 01:13:41 +0200srk(~sorki@user/srk) (Ping timeout: 258 seconds)
2022-05-31 01:13:42 +0200srk-srk
2022-05-31 01:20:36 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-05-31 01:27:20 +0200nun5(~nun@113.111.33.38)
2022-05-31 01:28:45 +0200nun5(~nun@113.111.33.38) (Client Quit)
2022-05-31 01:29:11 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-05-31 01:30:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 01:33:56 +0200vicfred(~vicfred@user/vicfred)
2022-05-31 01:36:11 +0200stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-05-31 01:36:59 +0200Tuplanolla(~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.)
2022-05-31 01:37:49 +0200baaash[m](~baaashmat@2001:470:69fc:105::2:1e90)
2022-05-31 01:38:45 +0200 <dsal> :t runState
2022-05-31 01:38:47 +0200 <lambdabot> State s a -> s -> (a, s)
2022-05-31 01:39:15 +0200 <dsal> Running state with state inside a state monad confuses me. Is that some kind of `StateT StateT`
2022-05-31 01:39:34 +0200 <Bulby[m]> we have fun here 🙂
2022-05-31 01:39:59 +0200 <geekosaur> seems like roughly the `StateT` equivalent of `local`
2022-05-31 01:40:12 +0200 <dsal> Yeah, that'd make sense if it were transformed.
2022-05-31 01:40:13 +0200 <geekosaur> (see ReaderT)
2022-05-31 01:40:19 +0200 <dsal> My brain reduces that to a noop.
2022-05-31 01:40:30 +0200 <dsal> Except for the state-in-state thing.
2022-05-31 01:40:44 +0200 <geekosaur> it's not a noop if it's followed by `put state`
2022-05-31 01:41:01 +0200 <dsal> Makes sense. I don't use StateT much -- does it have something like local?
2022-05-31 01:41:06 +0200 <geekosaur> no
2022-05-31 01:41:26 +0200 <geekosaur> I seem to have to reinvent it every third Haskell program I write
2022-05-31 01:41:39 +0200 <geekosaur> there's a couple implementations on hackage but none of them worth importing just for that
2022-05-31 01:42:51 +0200 <Bulby[m]> https://hackage.haskell.org/package/polysemy-1.7.1.0/docs/Polysemy-State.html#v:modify is this what local is
2022-05-31 01:44:50 +0200 <geekosaur> no. looks like modify there is the same as in StateT, it applies a modification directly to the state
2022-05-31 01:45:27 +0200 <geekosaur> local runs an operation with a (possibly modified) copy of the state, then restores the original state afterward
2022-05-31 01:45:47 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 255 seconds)
2022-05-31 01:46:22 +0200 <geekosaur> sadly, in the standard libraries local is only for ReaderT, not StateT. as I said, I keep having to reinvent local for StateT in my own programs
2022-05-31 01:46:51 +0200 <geekosaur> and hackage tells me I'm not the only one, so I *think* this isn't simply an indication that I don't "get" some part of StateT yet
2022-05-31 01:47:54 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-05-31 01:51:55 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 01:53:13 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-05-31 01:54:18 +0200jakalx(~jakalx@base.jakalx.net)
2022-05-31 01:55:59 +0200 <DigitalKiwi> geekosaur: well it could be that it's just you and the other 2 that don't ;p
2022-05-31 01:57:56 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c)
2022-05-31 02:02:26 +0200Pickchea(~private@user/pickchea) (Ping timeout: 255 seconds)
2022-05-31 02:03:04 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-05-31 02:05:33 +0200ec(~ec@gateway/tor-sasl/ec)
2022-05-31 02:05:34 +0200 <Bulby[m]> i love polysemy - i get to transform any function that can fail into
2022-05-31 02:05:34 +0200 <Bulby[m]> `Member Fail r => ... -> Sem r Foo`
2022-05-31 02:07:29 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-05-31 02:08:16 +0200melonai(~mel@rnrd.eu) (Read error: Connection reset by peer)
2022-05-31 02:08:27 +0200 <Axman6> o/
2022-05-31 02:08:56 +0200henninb(~henninb@97-116-138-116.mpls.qwest.net) (Quit: leaving)
2022-05-31 02:11:28 +0200melonai(~mel@rnrd.eu)
2022-05-31 02:13:03 +0200 <Bulby[m]> for megaparsec, how do I deal with `=` being matched before `==`
2022-05-31 02:13:20 +0200 <Axman6> try natching == before =
2022-05-31 02:13:23 +0200 <Axman6> matching*
2022-05-31 02:16:47 +0200jgeerds_(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds)
2022-05-31 02:17:03 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 276 seconds)
2022-05-31 02:20:00 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
2022-05-31 02:24:12 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-05-31 02:27:04 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2022-05-31 02:30:13 +0200ec(~ec@gateway/tor-sasl/ec)
2022-05-31 02:33:35 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-05-31 02:33:35 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-05-31 02:33:35 +0200wroathe(~wroathe@user/wroathe)
2022-05-31 02:37:27 +0200nun61(~nun@113.111.33.38)
2022-05-31 02:38:53 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds)
2022-05-31 02:40:34 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-05-31 02:43:30 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-05-31 02:43:54 +0200 <boxscape> is a thread I create with forkIO guaranteed to terminate once I terminate the program itself, assuming it's not blocked in any way?
2022-05-31 02:44:09 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
2022-05-31 02:44:21 +0200 <geekosaur> it will be terminated even if it is blocked
2022-05-31 02:44:29 +0200 <Axman6> is there an implementation somewhere for a list type with at least n elements? data AtLeast n a = AtLeast (TupleOf n a) [a] - wondering if there's a better representation that making a type family for TupleOf (n :: Nat) a
2022-05-31 02:44:29 +0200 <boxscape> okay, thanks
2022-05-31 02:44:38 +0200 <geekosaur> the main thread is always special and killing it kills all other threads (enforced by the OS)
2022-05-31 02:44:43 +0200 <boxscape> I see
2022-05-31 02:44:46 +0200Lord_of_Life_Lord_of_Life
2022-05-31 02:45:31 +0200 <geekosaur> Axman6, the only ones I've heard of use lists with type level lengths
2022-05-31 02:48:00 +0200 <geekosaur> tuples are a poor choice because that type family's even more of a PITA than type level lengths
2022-05-31 02:48:49 +0200 <geekosaur> and then you have to deal with indexing into the tuple to access the first few elements
2022-05-31 02:48:51 +0200 <Axman6> yeah
2022-05-31 02:48:59 +0200 <Axman6> I guess that porobably is a better implementation
2022-05-31 02:49:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2022-05-31 02:54:25 +0200jrm(~jrm@156.34.173.250) (Quit: ciao)
2022-05-31 02:55:41 +0200jrm(~jrm@156.34.173.250)
2022-05-31 02:56:05 +0200 <Axman6> @hoogle IsList
2022-05-31 02:56:06 +0200 <lambdabot> GHC.Exts class IsList l
2022-05-31 02:56:06 +0200 <lambdabot> BasePrelude class IsList l
2022-05-31 02:56:06 +0200 <lambdabot> Data.Generics.Product.HList class IsList (f :: Type) (g :: Type) (as :: [Type]) (bs :: [Type]) | f -> as, g -> bs
2022-05-31 02:58:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 03:01:32 +0200 <Bulby[m]> how do I get functions called by a Sem w/ State to keep that state/be able to modify it
2022-05-31 03:02:47 +0200 <monochrom> Are you sure you can't find this in the docs or tutorials?
2022-05-31 03:02:59 +0200 <Bulby[m]> lol
2022-05-31 03:03:05 +0200 <Bulby[m]> ok
2022-05-31 03:03:37 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c) (Ping timeout: 260 seconds)
2022-05-31 03:05:03 +0200cxd(~cxd@240e:369:ec6:4300:39c1:d334:ba15:f1ad)
2022-05-31 03:08:49 +0200nun61(~nun@113.111.33.38) (Quit: Connection closed)
2022-05-31 03:11:09 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-05-31 03:13:24 +0200 <Bulby[m]> that must be true or else modify wouldn't work
2022-05-31 03:17:16 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-05-31 03:17:44 +0200jrm(~jrm@156.34.173.250) (Quit: ciao)
2022-05-31 03:18:00 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-05-31 03:19:00 +0200jrm(~jrm@156.34.173.250)
2022-05-31 03:22:06 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 258 seconds)
2022-05-31 03:23:47 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-05-31 03:25:52 +0200xff0x(~xff0x@s5.HtokyoFL1.vectant.ne.jp)
2022-05-31 03:26:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2022-05-31 03:30:18 +0200xff0x(~xff0x@s5.HtokyoFL1.vectant.ne.jp) (Ping timeout: 246 seconds)
2022-05-31 03:31:38 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c)
2022-05-31 03:32:07 +0200xff0x(~xff0x@om126255098208.24.openmobile.ne.jp)
2022-05-31 03:32:20 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 03:48:55 +0200sympt3(~sympt@user/sympt)
2022-05-31 03:50:17 +0200sympt(~sympt@user/sympt) (Ping timeout: 260 seconds)
2022-05-31 03:50:17 +0200sympt3sympt
2022-05-31 03:55:07 +0200xff0x(~xff0x@om126255098208.24.openmobile.ne.jp) (Ping timeout: 240 seconds)
2022-05-31 03:55:27 +0200andrey_(~andrey@p200300dbcf1607007715c2deb780d806.dip0.t-ipconnect.de)
2022-05-31 03:57:25 +0200xff0x(~xff0x@s5.HtokyoFL1.vectant.ne.jp)
2022-05-31 03:57:42 +0200frost(~frost@user/frost)
2022-05-31 03:58:32 +0200andrey__(~andrey@p200300dbcf08d40049142574c09c31d2.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-05-31 03:58:37 +0200ezzieygu1wuf(~Unknown@user/ezzieyguywuf)
2022-05-31 03:59:27 +0200ezzieygu1wufezzieyguywuf
2022-05-31 04:02:42 +0200nate1(~nate@98.45.169.16)
2022-05-31 04:05:40 +0200nuh^(~off@128-092-173-218.biz.spectrum.com)
2022-05-31 04:07:32 +0200nate1(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-05-31 04:16:12 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds)
2022-05-31 04:19:52 +0200 <brettgilio> Is uncurrying possible in base haskell?
2022-05-31 04:21:06 +0200 <brettgilio> I guess one could simulate them using tuples
2022-05-31 04:21:13 +0200 <brettgilio> but is that actually uncurrying or just simulating it?
2022-05-31 04:24:18 +0200 <dsal> brettgilio: What do you mean?
2022-05-31 04:24:21 +0200 <dsal> :t uncurry
2022-05-31 04:24:22 +0200 <lambdabot> (a -> b -> c) -> (a, b) -> c
2022-05-31 04:24:34 +0200 <brettgilio> wasnt aware
2022-05-31 04:24:34 +0200 <brettgilio> thanks
2022-05-31 04:24:38 +0200 <jackdk> All functions in haskell take one argument - this is true whether the function is "curried" or "uncurried"
2022-05-31 04:24:45 +0200 <brettgilio> but it looks like what I said is true
2022-05-31 04:24:53 +0200 <dibblego> all of them?
2022-05-31 04:24:54 +0200 <dsal> It's still a tuple. It's not clear what you're looking for.
2022-05-31 04:24:58 +0200 <dsal> :t all
2022-05-31 04:24:59 +0200 <lambdabot> Foldable t => (a -> Bool) -> t a -> Bool
2022-05-31 04:24:59 +0200 <brettgilio> because : uncurry simulates uncurrying by tuple
2022-05-31 04:25:15 +0200 <dsal> `all` takes one argument, and then it returns a function that takes another argument.
2022-05-31 04:25:24 +0200 <dibblego> so every single one?
2022-05-31 04:25:25 +0200 <jackdk> dibblego: perhaps I'm being too firm. Can you elaborate?
2022-05-31 04:25:31 +0200 <brettgilio> dibblego that is my question
2022-05-31 04:25:37 +0200 <dibblego> nah just checking that's all
2022-05-31 04:25:56 +0200 <brettgilio> like, in lambda calculus functions are curried by default
2022-05-31 04:26:04 +0200 <brettgilio> and I know haskell as a thin wrapper on lambda calculus
2022-05-31 04:26:06 +0200 <jackdk> I'm not across all the exotic function arrows, linearity, levity polymorphism stuff
2022-05-31 04:26:10 +0200 <brettgilio> but wasnt sure how firm that rule is in haskell
2022-05-31 04:26:21 +0200 <dsal> It's just a dream, Bender. There's no such thing as two.
2022-05-31 04:26:40 +0200 <jackdk> but I'm pretty sure that every function I interacted with took one argument, and we say things like "this function takes two arguments" as a convenience
2022-05-31 04:27:13 +0200 <dibblego> what about this one? (->)
2022-05-31 04:27:46 +0200 <brettgilio> :i uncurry
2022-05-31 04:28:01 +0200 <brettgilio> Data.Tuple
2022-05-31 04:28:03 +0200 <brettgilio> heh
2022-05-31 04:28:03 +0200 <jackdk> Is that even a function dibblego ? I think of it as a type constructor, and a special primitive one
2022-05-31 04:28:04 +0200 <dsal> :t (->)
2022-05-31 04:28:05 +0200 <lambdabot> error: parse error on input ‘->’
2022-05-31 04:28:09 +0200 <jackdk> :i (->)
2022-05-31 04:28:11 +0200 <dibblego> :k (->)
2022-05-31 04:28:12 +0200 <lambdabot> * -> * -> *
2022-05-31 04:28:17 +0200 <dibblego> looks like a function to me!
2022-05-31 04:28:24 +0200 <brettgilio> -> is a constructor
2022-05-31 04:28:30 +0200 <dsal> `,` also looks like a function and I get in a lot of arguments with people about that.
2022-05-31 04:28:38 +0200 <brettgilio> , is also a constructor
2022-05-31 04:28:40 +0200 <dibblego> it takes argument(s?) and return(s?) values innit?
2022-05-31 04:29:13 +0200 <dsal> In Haskell, we don't say a function "returns" a value. We say it "pures" a value.
2022-05-31 04:29:18 +0200 <jackdk> dibblego: You could think of a type constructor as a sort of function over types. I was mainly thinking at the value level
2022-05-31 04:29:22 +0200 <jackdk> dsal: wut
2022-05-31 04:29:33 +0200 <dibblego> :k (->) Int
2022-05-31 04:29:35 +0200 <lambdabot> * -> *
2022-05-31 04:29:43 +0200 <dibblego> phew ok, so aaallll of them
2022-05-31 04:30:15 +0200 <dibblego> there is one exception though, depending on if you call it a function (I don't)
2022-05-31 04:30:42 +0200 <dibblego> @type if True
2022-05-31 04:30:43 +0200 <lambdabot> error:
2022-05-31 04:30:43 +0200 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2022-05-31 04:30:46 +0200 <dibblego> oh no!
2022-05-31 04:31:01 +0200 <dsal> if isn't a function, it's an abomination.
2022-05-31 04:31:09 +0200 <dibblego> me, you, we are friends now
2022-05-31 04:31:12 +0200 <dsal> :t bool
2022-05-31 04:31:14 +0200 <lambdabot> a -> a -> Bool -> a
2022-05-31 04:31:16 +0200 <brettgilio> is the composition of a function always associative?
2022-05-31 04:31:47 +0200 <dibblego> yeppers
2022-05-31 04:33:17 +0200kicky(~saarsecjb@190.90.86.91) (K-Lined)
2022-05-31 04:35:12 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c) (Ping timeout: 260 seconds)
2022-05-31 04:39:27 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds)
2022-05-31 04:41:24 +0200 <brettgilio> is there a way to get ghci :t to explicitly show associative parenthesis?
2022-05-31 04:44:17 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-05-31 04:45:33 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-05-31 04:49:18 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c)
2022-05-31 04:51:10 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-05-31 04:51:10 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-05-31 04:51:10 +0200finn_elijaFinnElija
2022-05-31 04:52:27 +0200[_][itchyjunk]
2022-05-31 04:53:27 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c) (Ping timeout: 240 seconds)
2022-05-31 05:07:01 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c)
2022-05-31 05:07:31 +0200nuh^(~off@128-092-173-218.biz.spectrum.com) (Ping timeout: 258 seconds)
2022-05-31 05:11:26 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c) (Ping timeout: 255 seconds)
2022-05-31 05:15:43 +0200nuh^(~nuh@128-092-173-218.biz.spectrum.com)
2022-05-31 05:17:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 05:24:06 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c)
2022-05-31 05:24:29 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 05:25:56 +0200nate1(~nate@98.45.169.16)
2022-05-31 05:29:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 05:29:31 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 05:30:54 +0200nate1(~nate@98.45.169.16) (Ping timeout: 258 seconds)
2022-05-31 05:35:21 +0200 <hololeap> brettgilio: what do you mean by "associative parenthesis"? associativity means that it's the same no matter how you write the parenthesis
2022-05-31 05:40:44 +0200 <hololeap> e.g: (f . g) . (h . i) = f . (g . (h . i)) = ((f . g) . h) . i
2022-05-31 05:41:18 +0200 <dibblego> I expect it means
2022-05-31 05:41:23 +0200 <dibblego> :assoc a - b - c
2022-05-31 05:41:27 +0200 <dibblego> (a - b) - c
2022-05-31 05:52:22 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 05:56:41 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 06:01:05 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds)
2022-05-31 06:11:30 +0200Infinite(~Infinite@49.39.123.25)
2022-05-31 06:15:01 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 06:17:15 +0200king_gs(~Thunderbi@2806:103e:29:8f28:b322:3d0e:88ce:8d85)
2022-05-31 06:19:07 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 06:24:55 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 06:25:40 +0200chomwitt(~chomwitt@2a02:587:dc11:7d00:a7f0:c7db:e9b3:6e1d)
2022-05-31 06:26:37 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c) (Ping timeout: 260 seconds)
2022-05-31 06:27:24 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 246 seconds)
2022-05-31 06:29:07 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 06:36:56 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 06:38:26 +0200Infinite(~Infinite@49.39.123.25) (Quit: Client closed)
2022-05-31 06:40:19 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c)
2022-05-31 06:41:17 +0200bajskorfven(~bajskorfv@90-231-13-185-no3430.tbcn.telia.com)
2022-05-31 06:45:10 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-05-31 06:45:43 +0200Typedfern(~Typedfern@27.red-83-37-28.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2022-05-31 06:47:11 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 06:53:47 +0200king_gs(~Thunderbi@2806:103e:29:8f28:b322:3d0e:88ce:8d85) (Ping timeout: 240 seconds)
2022-05-31 06:53:57 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 06:55:48 +0200mbuf(~Shakthi@171.61.198.110)
2022-05-31 06:58:18 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 06:59:27 +0200Typedfern(~Typedfern@202.red-83-37-35.dynamicip.rima-tde.net)
2022-05-31 06:59:27 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-05-31 07:07:39 +0200nuh^(~nuh@128-092-173-218.biz.spectrum.com) (Ping timeout: 246 seconds)
2022-05-31 07:08:00 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 07:10:44 +0200noteness(~noteness@user/noteness) (Remote host closed the connection)
2022-05-31 07:11:29 +0200noteness(~noteness@user/noteness)
2022-05-31 07:16:42 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds)
2022-05-31 07:20:40 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 07:23:10 +0200vglfr(~vglfr@46.96.180.249)
2022-05-31 07:24:47 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds)
2022-05-31 07:25:36 +0200Qudit(~user@user/Qudit)
2022-05-31 07:33:18 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-05-31 07:36:39 +0200michalz(~michalz@185.246.204.125)
2022-05-31 07:37:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 07:41:17 +0200rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-05-31 07:41:17 +0200jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2022-05-31 07:42:09 +0200rembo10(~rembo10@main.remulis.com)
2022-05-31 07:44:22 +0200nate1(~nate@98.45.169.16)
2022-05-31 07:45:04 +0200alp(~alp@user/alp)
2022-05-31 07:49:07 +0200nate1(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-05-31 07:49:51 +0200dextaa(~DV@user/dextaa) (Ping timeout: 276 seconds)
2022-05-31 07:54:26 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Quit: Konversation terminated!)
2022-05-31 07:55:57 +0200vglfr(~vglfr@46.96.180.249) (Ping timeout: 246 seconds)
2022-05-31 08:04:14 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2022-05-31 08:06:22 +0200dextaa(~DV@user/dextaa)
2022-05-31 08:09:59 +0200alp(~alp@user/alp) (Ping timeout: 258 seconds)
2022-05-31 08:11:56 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 08:13:08 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 08:13:31 +0200odnes(~odnes@5-203-243-73.pat.nym.cosmote.net)
2022-05-31 08:14:17 +0200cods(~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 248 seconds)
2022-05-31 08:16:12 +0200cods(~fred@82-65-232-44.subs.proxad.net)
2022-05-31 08:16:30 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 08:16:59 +0200supersven(sid501114@id-501114.ilkley.irccloud.com)
2022-05-31 08:18:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 08:18:47 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-05-31 08:19:35 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-05-31 08:27:14 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:dae4:93ae:95ab:d19f)
2022-05-31 08:29:00 +0200acidjnk(~acidjnk@p200300d0c7068b75806cd13413d03a05.dip0.t-ipconnect.de)
2022-05-31 08:33:13 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 08:34:05 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-05-31 08:34:26 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-05-31 08:36:55 +0200planitia(~planitia@c-76-126-44-243.hsd1.ca.comcast.net)
2022-05-31 08:37:35 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 08:37:43 +0200Qudit(~user@user/Qudit) (Remote host closed the connection)
2022-05-31 08:40:46 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com)
2022-05-31 08:41:43 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-05-31 08:43:33 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 08:43:46 +0200jayalahbr(~tailu@vps-a637c981.vps.ovh.ca)
2022-05-31 08:47:40 +0200jakalx(~jakalx@base.jakalx.net)
2022-05-31 08:49:15 +0200vglfr(~vglfr@46.96.180.249)
2022-05-31 08:49:52 +0200zincy(~zincy@2a00:23c8:970c:4801:2cec:2611:c697:bc3c) (Ping timeout: 272 seconds)
2022-05-31 08:50:05 +0200mncheck(~mncheck@193.224.205.254)
2022-05-31 08:50:54 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 08:55:21 +0200jargon(~jargon@184.101.87.126)
2022-05-31 08:55:29 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 256 seconds)
2022-05-31 08:56:40 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-05-31 09:00:45 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-05-31 09:02:14 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-05-31 09:04:14 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 09:05:57 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com) (Ping timeout: 258 seconds)
2022-05-31 09:06:40 +0200alp(~alp@user/alp)
2022-05-31 09:10:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 09:12:05 +0200Guest|30(~Guest|30@219.159.159.77)
2022-05-31 09:16:47 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 09:18:36 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 09:21:16 +0200razetime(~quassel@117.254.34.58)
2022-05-31 09:28:01 +0200coot(~coot@213.134.190.95)
2022-05-31 09:29:48 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 09:31:40 +0200jayalahbr(~tailu@vps-a637c981.vps.ovh.ca) (Remote host closed the connection)
2022-05-31 09:32:09 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 09:34:14 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 255 seconds)
2022-05-31 09:35:01 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com)
2022-05-31 09:39:41 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-05-31 09:39:47 +0200shinjipf(~shinjipf@vmi826685.contaboserver.net)
2022-05-31 09:39:48 +0200mc47(~mc47@xmonad/TheMC47)
2022-05-31 09:41:18 +0200benin(~benin@183.82.177.185)
2022-05-31 09:41:35 +0200cfricke(~cfricke@user/cfricke)
2022-05-31 09:42:29 +0200odnes(~odnes@5-203-243-73.pat.nym.cosmote.net) (Quit: Leaving)
2022-05-31 09:48:36 +0200machinedgod(~machinedg@24.105.81.50)
2022-05-31 09:51:14 +0200chddr(~Thunderbi@91.226.34.169)
2022-05-31 09:53:42 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-05-31 09:53:42 +0200titibandit(~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47)
2022-05-31 10:00:16 +0200chddr(~Thunderbi@91.226.34.169) (Quit: chddr)
2022-05-31 10:00:27 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com) (Ping timeout: 240 seconds)
2022-05-31 10:04:02 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-05-31 10:07:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 10:08:17 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 10:12:02 +0200zeenk(~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980)
2022-05-31 10:13:10 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds)
2022-05-31 10:13:17 +0200Guest|30(~Guest|30@219.159.159.77) (Quit: Connection closed)
2022-05-31 10:18:56 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-05-31 10:21:19 +0200jayalahbr(~tailu@36.72.129.252)
2022-05-31 10:24:28 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 10:28:18 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-05-31 10:29:02 +0200shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-05-31 10:29:30 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-05-31 10:29:48 +0200 <trisolaran> is there a way to add a bunch package imports in the .ghci file?
2022-05-31 10:29:56 +0200 <trisolaran> so that i dont have to add them everytime?
2022-05-31 10:31:49 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 10:32:12 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:19f4:9aa:ac4b:7369)
2022-05-31 10:34:34 +0200coot(~coot@213.134.190.95)
2022-05-31 10:34:51 +0200razetime(~quassel@117.254.34.58) (Ping timeout: 246 seconds)
2022-05-31 10:36:33 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 10:36:37 +0200 <tomsmeding> trisolaran: `:set -package thing`?
2022-05-31 10:36:57 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection)
2022-05-31 10:37:33 +0200planitia(~planitia@c-76-126-44-243.hsd1.ca.comcast.net) (Ping timeout: 276 seconds)
2022-05-31 10:37:37 +0200 <trisolaran> tomsmeding: import thing
2022-05-31 10:37:50 +0200 <trisolaran> -package thing only says it needs the whole package
2022-05-31 10:37:55 +0200 <tomsmeding> trisolaran: `:m +Thing`?
2022-05-31 10:38:45 +0200spacenautx(~spacenaut@user/spacenautx)
2022-05-31 10:39:01 +0200 <trisolaran> that works:_
2022-05-31 10:39:04 +0200 <trisolaran> :_
2022-05-31 10:39:06 +0200 <trisolaran> :)
2022-05-31 10:39:38 +0200 <tomsmeding> trisolaran: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#ghci-module-cmd
2022-05-31 10:39:48 +0200planitia(~planitia@c-76-126-44-243.hsd1.ca.comcast.net)
2022-05-31 10:40:06 +0200 <trisolaran> thx!
2022-05-31 10:40:47 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 240 seconds)
2022-05-31 10:41:27 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds)
2022-05-31 10:43:45 +0200 <dragestil> It looks to me there were significant changes in the GHC API from 8.10.7 to the next version 9.0.2. Is there documentation about major changes in this update? https://hackage.haskell.org/package/ghc-8.10.7 https://hackage.haskell.org/package/ghc-9.0.2
2022-05-31 10:46:47 +0200planitia(~planitia@c-76-126-44-243.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2022-05-31 10:47:48 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 10:48:11 +0200gehmehgeh(~user@user/gehmehgeh)
2022-05-31 10:48:17 +0200 <dragestil> more specifically, I want to know what happened to PackageConfig. It was in 8.10.7 but not 9.0.2. whether it's been moved to a module outside of ghc https://hackage.haskell.org/package/ghc-8.10.7/docs/PackageConfig.html
2022-05-31 10:48:50 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-05-31 10:49:24 +0200spacenautx(~spacenaut@user/spacenautx) (Quit: WeeChat 3.0)
2022-05-31 10:49:25 +0200Guest|30(~Guest|30@219.159.159.77)
2022-05-31 10:49:46 +0200 <Hecate> dragestil: you will have better answers on #ghc
2022-05-31 10:49:49 +0200spacenautx(~spacenaut@user/spacenautx)
2022-05-31 10:50:22 +0200 <trisolaran> tomsmeding: i didn't find a import qualified option in the doc
2022-05-31 10:50:35 +0200 <Guest|30> https://uploads.kiwiirc.com/files/0d7aceb39b2524dc6f5f1391da4e9e2c/image.png
2022-05-31 10:50:48 +0200 <trisolaran> tomsmeding: do you happen to know? :m +Thing qualified as ...
2022-05-31 10:50:58 +0200 <Guest|30> I cannot install ghcup with powershell, this is windows10 system
2022-05-31 10:51:11 +0200 <dragestil> Hecate: ok thanks
2022-05-31 10:52:02 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-05-31 10:53:02 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Quit: ZNC - https://znc.in)
2022-05-31 10:53:41 +0200 <tomsmeding> trisolaran: hm good point, I think you can't do that with :m. There might be a workaround: create a .hs file with your desired imports, and :l it and :m* it in your .ghci. Not sure how all this interacts with doing 'cabal repl' in a project :p
2022-05-31 10:54:34 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net)
2022-05-31 10:54:35 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2022-05-31 10:54:54 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-05-31 10:55:42 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-05-31 10:56:31 +0200razetime(~quassel@117.254.34.58)
2022-05-31 10:57:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 10:57:35 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Client Quit)
2022-05-31 10:58:32 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net)
2022-05-31 10:58:49 +0200Pickchea(~private@user/pickchea)
2022-05-31 11:00:06 +0200hughjfchen[m](~hughjfche@2001:470:69fc:105::c29d) (Quit: You have been kicked for being idle)
2022-05-31 11:00:10 +0200kadoban(~kadoban@user/kadoban) (Quit: You have been kicked for being idle)
2022-05-31 11:01:15 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2022-05-31 11:01:15 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-05-31 11:01:33 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-05-31 11:01:43 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Max SendQ exceeded)
2022-05-31 11:01:59 +0200gehmehgeh(~user@user/gehmehgeh)
2022-05-31 11:02:40 +0200zaquest(~notzaques@5.130.79.72)
2022-05-31 11:02:50 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net)
2022-05-31 11:04:28 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-05-31 11:05:55 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 11:06:18 +0200cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Read error: Connection reset by peer)
2022-05-31 11:07:12 +0200jargon(~jargon@184.101.87.126) (Remote host closed the connection)
2022-05-31 11:08:34 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it)
2022-05-31 11:11:12 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 11:11:26 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-05-31 11:12:20 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Ping timeout: 255 seconds)
2022-05-31 11:13:25 +0200bliminse(~bliminse@host86-164-169-5.range86-164.btcentralplus.com) (Quit: leaving)
2022-05-31 11:14:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 11:15:54 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Ping timeout: 258 seconds)
2022-05-31 11:16:36 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 11:18:08 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 11:19:10 +0200Hash(~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net)
2022-05-31 11:21:16 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 11:21:29 +0200calleum(~calleum@user/calleum)
2022-05-31 11:23:07 +0200 <trisolaran> tomsmeding: thx
2022-05-31 11:28:32 +0200spacenautx(~spacenaut@user/spacenautx) (Quit: WeeChat 3.0)
2022-05-31 11:28:44 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 11:29:04 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 11:29:58 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
2022-05-31 11:30:34 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-05-31 11:31:03 +0200benin(~benin@183.82.177.185) (Quit: The Lounge - https://thelounge.chat)
2022-05-31 11:32:08 +0200 <Guest|30> Anyone knows how to install ghcup in win10?
2022-05-31 11:33:05 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds)
2022-05-31 11:37:23 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 11:38:33 +0200adium(adium@user/adium) (Ping timeout: 246 seconds)
2022-05-31 11:41:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Ping timeout: 240 seconds)
2022-05-31 11:45:01 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 11:45:53 +0200nate1(~nate@98.45.169.16)
2022-05-31 11:50:41 +0200spacenautx(~spacenaut@user/spacenautx)
2022-05-31 11:50:47 +0200nate1(~nate@98.45.169.16) (Ping timeout: 258 seconds)
2022-05-31 11:54:18 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 11:54:53 +0200 <maerwald[m]> Guest|30: yeah, why
2022-05-31 11:55:14 +0200 <maerwald[m]> https://youtu.be/bB4fmQiUYPw
2022-05-31 11:58:27 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 12:02:40 +0200kn07_(~kn07_@2a02:2f0a:c707:c800:bd85:ae3c:c97b:36f9)
2022-05-31 12:02:41 +0200 <kn07_> https://github.com/antonpuiu/CV/raw/main/resume.pdf
2022-05-31 12:03:03 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 12:03:47 +0200razetime(~quassel@117.254.34.58) (Ping timeout: 244 seconds)
2022-05-31 12:03:49 +0200Neuromancer(~Neuromanc@user/neuromancer)
2022-05-31 12:04:11 +0200razetime(~quassel@117.254.34.118)
2022-05-31 12:04:14 +0200__monty__(~toonn@user/toonn)
2022-05-31 12:05:03 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-05-31 12:05:03 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
2022-05-31 12:05:03 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2022-05-31 12:05:51 +0200 <Guest|30> I found problems when install the ghcup in win10
2022-05-31 12:05:54 +0200gehmehgeh(~user@user/gehmehgeh)
2022-05-31 12:06:25 +0200kaskal(~kaskal@2001:4bb8:2e8:3abf:bc97:9581:8b80:8f4b) (Quit: ZNC - https://znc.in)
2022-05-31 12:06:41 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-05-31 12:06:44 +0200kaskal(~kaskal@089144209011.atnat0018.highway.a1.net)
2022-05-31 12:07:07 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 12:07:26 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-05-31 12:10:59 +0200razetime(~quassel@117.254.34.118) (Ping timeout: 256 seconds)
2022-05-31 12:11:00 +0200razetime_(~quassel@117.254.34.217)
2022-05-31 12:11:00 +0200razetime_(~quassel@117.254.34.217) (Client Quit)
2022-05-31 12:12:15 +0200 <maerwald[m]> Guest|30: but you're not gonna tell us what problems?
2022-05-31 12:12:31 +0200kn07_(~kn07_@2a02:2f0a:c707:c800:bd85:ae3c:c97b:36f9) (Quit: Leaving)
2022-05-31 12:12:44 +0200 <Guest|30> https://uploads.kiwiirc.com/files/0d7aceb39b2524dc6f5f1391da4e9e2c/image.png
2022-05-31 12:13:34 +0200CiaoSen(~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-05-31 12:16:10 +0200 <yushyin> Guest|30: 404 "upload not found"
2022-05-31 12:16:59 +0200 <Guest|30> Uploaded file: https://uploads.kiwiirc.com/files/925dc0524da8db5f470993828e93a466/image.png
2022-05-31 12:17:14 +0200acidjnk(~acidjnk@p200300d0c7068b75806cd13413d03a05.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2022-05-31 12:17:40 +0200 <Guest|30> I try to install it via powershell, but failed.
2022-05-31 12:18:54 +0200kuribas(~user@ptr-17d51en27t9vm7gh39a.18120a2.ip6.access.telenet.be)
2022-05-31 12:19:02 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-05-31 12:19:23 +0200xff0x(~xff0x@s5.HtokyoFL1.vectant.ne.jp) (Ping timeout: 255 seconds)
2022-05-31 12:19:45 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 12:20:05 +0200 <maerwald[m]> Guest|30: what are the contenta of C:\\ghcup\\bin
2022-05-31 12:20:05 +0200 <maerwald[m]> *contents
2022-05-31 12:20:31 +0200`2jt(~jtomas@182.red-88-17-61.dynamicip.rima-tde.net)
2022-05-31 12:20:54 +0200causal(~user@50.35.83.177) (Quit: WeeChat 3.5)
2022-05-31 12:23:10 +0200 <Guest|30> Just a ghcup.exe file
2022-05-31 12:23:35 +0200 <Guest|30> but it's 0 byte.
2022-05-31 12:23:49 +0200`2jt(~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-05-31 12:24:08 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 12:25:08 +0200averell(~averell@user/averell) (Ping timeout: 250 seconds)
2022-05-31 12:25:39 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-05-31 12:25:52 +0200jgeerds_(~jgeerds@55d45f48.access.ecotel.net)
2022-05-31 12:26:02 +0200 <maerwald[m]> Guest|30: do you have antivirus?
2022-05-31 12:26:22 +0200 <Guest|30> Finally I download a single ghcup.exe file and put it into the folder, it works!
2022-05-31 12:26:28 +0200 <Guest|30> Thx a lot!
2022-05-31 12:27:15 +0200averell(~averell@user/averell)
2022-05-31 12:27:44 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-05-31 12:28:35 +0200acidjnk(~acidjnk@p200300d0c7068b751c2d9dbe7b089481.dip0.t-ipconnect.de)
2022-05-31 12:33:37 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 12:34:20 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Ping timeout: 260 seconds)
2022-05-31 12:34:51 +0200nahcetan(~nate@98.45.169.16)
2022-05-31 12:35:36 +0200raym(~raym@user/raym) (Ping timeout: 246 seconds)
2022-05-31 12:36:42 +0200raym(~raym@user/raym)
2022-05-31 12:37:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-05-31 12:37:53 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds)
2022-05-31 12:40:47 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-05-31 12:43:16 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 12:44:25 +0200forell(~forell@user/forell) (Ping timeout: 256 seconds)
2022-05-31 12:47:25 +0200Guest|30(~Guest|30@219.159.159.77) (Quit: Connection closed)
2022-05-31 12:47:45 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-05-31 12:48:06 +0200forell(~forell@user/forell)
2022-05-31 12:50:03 +0200wonko(~wjc@user/wonko)
2022-05-31 12:50:12 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 12:52:07 +0200bajskorfven(~bajskorfv@90-231-13-185-no3430.tbcn.telia.com) (Read error: Connection reset by peer)
2022-05-31 12:52:45 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
2022-05-31 12:53:07 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-05-31 12:53:24 +0200dextaa(~DV@user/dextaa)
2022-05-31 13:01:49 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 13:05:50 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 13:06:50 +0200bliminse(~bliminse@host86-164-169-5.range86-164.btcentralplus.com)
2022-05-31 13:08:26 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-05-31 13:09:21 +0200gehmehgeh(~user@user/gehmehgeh)
2022-05-31 13:10:29 +0200averell(~averell@user/averell) (Ping timeout: 252 seconds)
2022-05-31 13:13:23 +0200vglfr(~vglfr@46.96.180.249) (Ping timeout: 255 seconds)
2022-05-31 13:14:22 +0200vglfr(~vglfr@46.96.180.249)
2022-05-31 13:15:02 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-05-31 13:15:21 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp)
2022-05-31 13:16:01 +0200__monty__(~toonn@user/toonn)
2022-05-31 13:17:42 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 13:19:36 +0200bajskorfven(~bajskorfv@90-231-13-185-no3430.tbcn.telia.com)
2022-05-31 13:23:44 +0200calleum(~calleum@user/calleum) (Ping timeout: 255 seconds)
2022-05-31 13:27:26 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-05-31 13:28:06 +0200jayalahbr(~tailu@36.72.129.252) (Ping timeout: 246 seconds)
2022-05-31 13:28:35 +0200jayalahbr(~tailu@180.251.226.50)
2022-05-31 13:29:26 +0200califax(~califax@user/califx)
2022-05-31 13:30:29 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-05-31 13:33:15 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds)
2022-05-31 13:33:50 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
2022-05-31 13:35:50 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-05-31 13:36:26 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-05-31 13:36:29 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-05-31 13:37:01 +0200califax(~califax@user/califx)
2022-05-31 13:38:35 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-05-31 13:38:47 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds)
2022-05-31 13:39:16 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-05-31 13:39:29 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 13:42:47 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-05-31 13:42:54 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-05-31 13:44:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Ping timeout: 248 seconds)
2022-05-31 13:45:03 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 13:48:47 +0200alp(~alp@user/alp) (Ping timeout: 240 seconds)
2022-05-31 13:48:50 +0200sympt7(~sympt@user/sympt)
2022-05-31 13:50:09 +0200coot(~coot@213.134.190.95)
2022-05-31 13:50:16 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-05-31 13:50:27 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-05-31 13:50:32 +0200sympt(~sympt@user/sympt) (Ping timeout: 260 seconds)
2022-05-31 13:50:32 +0200sympt7sympt
2022-05-31 13:51:55 +0200alp(~alp@user/alp)
2022-05-31 13:52:17 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Ping timeout: 260 seconds)
2022-05-31 13:58:25 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-05-31 14:00:41 +0200califax(~califax@user/califx)
2022-05-31 14:05:32 +0200AlexNoo_(~AlexNoo@178.34.150.59)
2022-05-31 14:08:42 +0200Alex_test(~al_test@178.34.160.101) (Ping timeout: 246 seconds)
2022-05-31 14:08:48 +0200cxd(~cxd@240e:369:ec6:4300:39c1:d334:ba15:f1ad) (Quit: Leaving)
2022-05-31 14:09:10 +0200AlexNoo(~AlexNoo@178.34.160.101) (Ping timeout: 258 seconds)
2022-05-31 14:09:11 +0200AlexZenon(~alzenon@178.34.160.101) (Ping timeout: 255 seconds)
2022-05-31 14:10:03 +0200jayalahbr(~tailu@180.251.226.50) (Remote host closed the connection)
2022-05-31 14:10:24 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-05-31 14:10:28 +0200henninb(~henninb@97-116-138-116.mpls.qwest.net)
2022-05-31 14:13:20 +0200Alex_test(~al_test@178.34.150.59)
2022-05-31 14:13:38 +0200AlexZenon(~alzenon@178.34.150.59)
2022-05-31 14:13:56 +0200AlexNoo_AlexNoo
2022-05-31 14:14:39 +0200 <trisolaran> is there a way to ask ghci to load a package environment such as .ghc.environment.x86_64-linux-9.2.2
2022-05-31 14:15:01 +0200Pickchea(~private@user/pickchea) (Ping timeout: 244 seconds)
2022-05-31 14:15:57 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds)
2022-05-31 14:16:31 +0200 <geekosaur> a package environment behaves like a p0ackage db; you don't load those all at once, it just tells ghc/ghci where to find packages
2022-05-31 14:16:45 +0200 <geekosaur> that said you can do :set -package <pkgname>
2022-05-31 14:18:18 +0200 <Las[m]> Does anyone have *any* idea what could cause `/nix/store/...-binutils-2.35.2/bin/ld.gold: error: /nix/store/...-ghc-9.2.2/lib/ghc-9.2.2/rts/libHSrts.a(Globals.o): multiple definition of 'ghc_unique_counter'` ?
2022-05-31 14:18:20 +0200calleum(~calleum@user/calleum)
2022-05-31 14:18:39 +0200 <Las[m]> This happens while compiling fourmolu (0.6.0.0 and 0.7.0.0) with GHC 9.2.2
2022-05-31 14:19:57 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 14:20:09 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-05-31 14:20:44 +0200califax(~califax@user/califx)
2022-05-31 14:22:59 +0200 <Las[m]> oh there's a GH issue... https://github.com/input-output-hk/haskell.nix/issues/1488
2022-05-31 14:23:17 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 14:23:47 +0200chomwitt(~chomwitt@2a02:587:dc11:7d00:a7f0:c7db:e9b3:6e1d) (Ping timeout: 260 seconds)
2022-05-31 14:25:30 +0200calleum(~calleum@user/calleum) (Ping timeout: 246 seconds)
2022-05-31 14:27:33 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 256 seconds)
2022-05-31 14:29:47 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
2022-05-31 14:30:02 +0200Kaiepi(~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
2022-05-31 14:33:01 +0200odnes(~odnes@5-203-211-146.pat.nym.cosmote.net)
2022-05-31 14:36:18 +0200polezaivsani(~polezaivs@orangeshoelaces.net)
2022-05-31 14:38:36 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 14:38:51 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-05-31 14:39:28 +0200averell(~averell@user/averell)
2022-05-31 14:39:38 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com)
2022-05-31 14:40:26 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com)
2022-05-31 14:43:47 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com) (Ping timeout: 240 seconds)
2022-05-31 14:44:29 +0200 <polezaivsani> skimming through the notes, i've just stumbled upon a transcript of somebody helping me out here, and thought i'd call a huge thank you to everybody here just in case somebody missed it last time :)
2022-05-31 14:46:54 +0200liz(~liz@host86-159-158-175.range86-159.btcentralplus.com)
2022-05-31 14:50:47 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 14:55:43 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 14:59:24 +0200o-90(~o-90@gateway/tor-sasl/o-90)
2022-05-31 15:01:27 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-05-31 15:02:33 +0200califax(~califax@user/califx)
2022-05-31 15:02:45 +0200frost(~frost@user/frost)
2022-05-31 15:03:36 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 15:04:09 +0200Pickchea(~private@user/pickchea)
2022-05-31 15:06:00 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2022-05-31 15:08:53 +0200o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2022-05-31 15:09:16 +0200acidjnk(~acidjnk@p200300d0c7068b751c2d9dbe7b089481.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2022-05-31 15:11:35 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-05-31 15:12:37 +0200califax(~califax@user/califx)
2022-05-31 15:13:19 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 15:14:11 +0200planitia(~planitia@c-76-126-44-243.hsd1.ca.comcast.net)
2022-05-31 15:16:46 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-05-31 15:17:22 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-05-31 15:17:36 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
2022-05-31 15:18:30 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-05-31 15:24:10 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 15:25:21 +0200odnes(~odnes@5-203-211-146.pat.nym.cosmote.net) (Ping timeout: 246 seconds)
2022-05-31 15:30:05 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 15:31:05 +0200Pickchea(~private@user/pickchea) (Ping timeout: 255 seconds)
2022-05-31 15:33:29 +0200moonsheep(~user@user/moonsheep)
2022-05-31 15:36:41 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com)
2022-05-31 15:38:50 +0200planitia(~planitia@c-76-126-44-243.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2022-05-31 15:42:17 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-05-31 15:43:12 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 246 seconds)
2022-05-31 15:43:47 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 240 seconds)
2022-05-31 15:44:33 +0200dextaa(~DV@user/dextaa)
2022-05-31 15:46:12 +0200nehsou^(~nehsou@128-092-173-218.biz.spectrum.com) (Remote host closed the connection)
2022-05-31 15:46:38 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 250 seconds)
2022-05-31 15:47:23 +0200nate1(~nate@98.45.169.16)
2022-05-31 15:49:26 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-05-31 15:49:26 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-05-31 15:49:26 +0200wroathe(~wroathe@user/wroathe)
2022-05-31 15:49:36 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 15:52:03 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp)
2022-05-31 15:52:33 +0200nate1(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-05-31 15:56:42 +0200planitia(~planitia@23.sub-166-167-195.myvzw.com)
2022-05-31 15:57:23 +0200raym(~raym@user/raym) (Quit: kernel update, rebooting...)
2022-05-31 15:58:42 +0200kaskal(~kaskal@089144209011.atnat0018.highway.a1.net) (Quit: ZNC - https://znc.in)
2022-05-31 15:59:00 +0200kaskal(~kaskal@089144209011.atnat0018.highway.a1.net)
2022-05-31 15:59:28 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 15:59:53 +0200moonsheep(~user@user/moonsheep) (Remote host closed the connection)
2022-05-31 16:00:13 +0200raym(~raym@user/raym)
2022-05-31 16:02:19 +0200yosef```(~user@2409:8a55:e214:41a0:58b9:4cff:fea0:d9)
2022-05-31 16:03:29 +0200yosef``(~user@user/yosef/x-3154124) (Ping timeout: 255 seconds)
2022-05-31 16:04:07 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds)
2022-05-31 16:06:03 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-05-31 16:08:21 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-05-31 16:10:34 +0200Sgeo(~Sgeo@user/sgeo)
2022-05-31 16:10:41 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Ping timeout: 258 seconds)
2022-05-31 16:12:50 +0200moonsheep(~user@iespladelestany.xtec.cat)
2022-05-31 16:13:36 +0200moonsheep(~user@iespladelestany.xtec.cat) (Changing host)
2022-05-31 16:13:36 +0200moonsheep(~user@user/moonsheep)
2022-05-31 16:13:56 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:dae4:93ae:95ab:d19f) (Quit: WeeChat 2.8)
2022-05-31 16:17:10 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
2022-05-31 16:17:27 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-05-31 16:18:50 +0200xstill-(xstill@fimu/xstill) (Ping timeout: 240 seconds)
2022-05-31 16:18:50 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (Ping timeout: 240 seconds)
2022-05-31 16:20:17 +0200phma(~phma@2001:5b0:211f:4518:bf0d:fbb9:9134:fb7a) (Read error: Connection reset by peer)
2022-05-31 16:20:20 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 16:21:17 +0200moonsheep(~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-05-31 16:23:42 +0200xstill-(xstill@fimu/xstill)
2022-05-31 16:24:27 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 16:24:32 +0200jollygood2(www-data@2607:5300:60:8be::1)
2022-05-31 16:25:39 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-05-31 16:26:56 +0200aeka(~aeka@2606:6080:1001:16:3492:5f11:f1fb:66ae) (Ping timeout: 250 seconds)
2022-05-31 16:28:01 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2022-05-31 16:31:43 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-05-31 16:32:53 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-05-31 16:33:26 +0200sympt2(~sympt@user/sympt)
2022-05-31 16:34:29 +0200sympt(~sympt@user/sympt) (Ping timeout: 256 seconds)
2022-05-31 16:34:30 +0200sympt2sympt
2022-05-31 16:34:33 +0200planitia(~planitia@23.sub-166-167-195.myvzw.com) (Read error: Connection reset by peer)
2022-05-31 16:34:43 +0200planitia(~planitia@93.sub-166-167-14.myvzw.com)
2022-05-31 16:34:44 +0200mmhat(~mmh@p200300f1c71bc3d0ee086bfffe095315.dip0.t-ipconnect.de)
2022-05-31 16:35:48 +0200planitia(~planitia@93.sub-166-167-14.myvzw.com) (Read error: Connection reset by peer)
2022-05-31 16:35:48 +0200aeka(~aeka@2606:6080:1001:16:3492:5f11:f1fb:66ae)
2022-05-31 16:36:50 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-05-31 16:38:40 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 16:38:56 +0200slack1256(~slack1256@181.43.227.124)
2022-05-31 16:40:52 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-05-31 16:40:52 +0200alp(~alp@user/alp) (Ping timeout: 260 seconds)
2022-05-31 16:40:57 +0200myme(~myme@2a01:799:d5a:cd00:ca17:d4bb:5fc8:9461) (Remote host closed the connection)
2022-05-31 16:41:21 +0200myme(~myme@2a01:799:d5a:cd00:a688:b867:c411:edfd)
2022-05-31 16:42:00 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 16:42:53 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-05-31 16:42:54 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-05-31 16:42:54 +0200wroathe(~wroathe@user/wroathe)
2022-05-31 16:43:18 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-05-31 16:44:48 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds)
2022-05-31 16:46:18 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-05-31 16:46:55 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Ping timeout: 260 seconds)
2022-05-31 16:48:51 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 16:49:03 +0200moonsheep(~user@user/moonsheep)
2022-05-31 16:49:50 +0200moonsheep(~user@user/moonsheep) (Client Quit)
2022-05-31 16:51:16 +0200shriekingnoise(~shrieking@201.231.16.156)
2022-05-31 16:51:55 +0200motherfsck(~motherfsc@user/motherfsck)
2022-05-31 16:53:22 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 250 seconds)
2022-05-31 16:58:27 +0200juri_(~juri@178.63.35.222) (Ping timeout: 276 seconds)
2022-05-31 16:59:56 +0200juri_(~juri@178.63.35.222)
2022-05-31 17:04:57 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 17:06:36 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
2022-05-31 17:07:13 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-05-31 17:09:17 +0200dextaa(~DV@user/dextaa)
2022-05-31 17:09:20 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 17:14:27 +0200averell(~averell@user/averell) (Ping timeout: 240 seconds)
2022-05-31 17:14:49 +0200Hemmo(~IceChat95@85-76-165-183-nat.elisa-mobile.fi)
2022-05-31 17:17:29 +0200 <Hemmo> Hey! Is there a way to remove the "Just" from my instance of show? Right now I have a phone data type which with certain input shows (123456 (Just Other)) and I would like it to be (123456 (Other))
2022-05-31 17:17:50 +0200 <Hemmo> Am using a maybe in the mix, so that's why I'm asking.
2022-05-31 17:18:28 +0200 <Hemmo> Code is here -> https://paste.tomsmeding.com/IkHUeKQx
2022-05-31 17:19:24 +0200 <Hemmo> So my point is that when I use the readPhone function, that it would omit the "Just" from the country code as well as phone type...
2022-05-31 17:19:32 +0200averell(~averell@user/averell)
2022-05-31 17:21:38 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 17:22:57 +0200 <Hemmo> And also as a side note, I need to use the Maybe in the constructor of the Phone, because the country code and phone type are supposed to be optional.
2022-05-31 17:23:18 +0200 <[Leary]> Hemmo: You're using "==" and a grand excess of if-then-else where you should be pattern matching. That would also solve your problem, more or less. Something like `show (Phone (Just pt) (Just cc) pn) = ...; show (Phone Nothing (Just cc) pn) = ...` etc.
2022-05-31 17:24:37 +0200slac22272(~slack1256@191.125.99.204)
2022-05-31 17:25:50 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 240 seconds)
2022-05-31 17:27:03 +0200slack1256(~slack1256@181.43.227.124) (Ping timeout: 276 seconds)
2022-05-31 17:28:24 +0200nate1(~nate@98.45.169.16)
2022-05-31 17:28:47 +0200 <[Leary]> Though, it looks like you can factor the logic a bit better and write it all in one case.
2022-05-31 17:29:07 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 17:30:59 +0200liz(~liz@host86-159-158-175.range86-159.btcentralplus.com) (Quit: Lost terminal)
2022-05-31 17:32:04 +0200nahcetan(~nate@98.45.169.16)
2022-05-31 17:33:22 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-05-31 17:34:22 +0200 <Hemmo> [Leary]: Thanks a ton! Wasn't in the know on how to pattern match with an instance!
2022-05-31 17:34:39 +0200 <Hemmo> [Leary]: You mean using the "case" keyword somehow? Haven't used it thus far at all
2022-05-31 17:35:01 +0200CiaoSen(~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2022-05-31 17:35:30 +0200nate1(~nate@98.45.169.16) (Ping timeout: 276 seconds)
2022-05-31 17:36:56 +0200 <tomsmeding> > case Just 3 of { Nothing -> "it was nothing" ; Just n -> "it was " ++ show n }
2022-05-31 17:36:59 +0200 <lambdabot> "it was 3"
2022-05-31 17:37:06 +0200 <[Leary]> It doesn't have anything to do with *instances* per se; pattern matching is always available in this manner when you define a function. And I didn't mean a case-of expression, though you could use that if you preferred.
2022-05-31 17:37:19 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-05-31 17:37:19 +0200 <tomsmeding> Hemmo: except please use newlines instead of the { ; } :)
2022-05-31 17:37:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 17:37:58 +0200 <[Leary]> > foldMap (show <> " ") (Just 3)
2022-05-31 17:38:00 +0200 <lambdabot> error:
2022-05-31 17:38:00 +0200 <lambdabot> • Couldn't match expected type ‘a0 -> String’
2022-05-31 17:38:00 +0200 <lambdabot> with actual type ‘[Char]’
2022-05-31 17:38:13 +0200 <tomsmeding> [Leary]: karma for trying to make it too complicated :p
2022-05-31 17:38:17 +0200 <[Leary]> Oh, right...
2022-05-31 17:38:29 +0200 <tomsmeding> > foldMap (show <> const " ") (Just 3)
2022-05-31 17:38:30 +0200 <lambdabot> "3 "
2022-05-31 17:38:45 +0200 <[Leary]> True. In my defence, I was going to call it magic. But we could have that IsString instance.
2022-05-31 17:39:49 +0200 <[Leary]> > foldMap (\x -> show x ++ " ") Nothing ++ "something"
2022-05-31 17:39:52 +0200 <lambdabot> "something"
2022-05-31 17:39:59 +0200 <tomsmeding> @let instance IsString a => IsString (b -> a) where fromString = const . fromString
2022-05-31 17:40:00 +0200 <lambdabot> /sandbox/tmp/.L.hs:152:10: error:
2022-05-31 17:40:00 +0200 <lambdabot> Not in scope: type constructor or class ‘IsString’
2022-05-31 17:40:00 +0200 <lambdabot> Perhaps you meant one of these:
2022-05-31 17:40:06 +0200 <tomsmeding> @import Data.String
2022-05-31 17:40:06 +0200 <lambdabot> Unknown command, try @list
2022-05-31 17:40:11 +0200 <tomsmeding> @let import Data.String
2022-05-31 17:40:13 +0200 <lambdabot> Defined.
2022-05-31 17:40:16 +0200 <tomsmeding> @let instance IsString a => IsString (b -> a) where fromString = const . fromString
2022-05-31 17:40:17 +0200 <lambdabot> Defined.
2022-05-31 17:40:25 +0200 <tomsmeding> > foldMap (show <> " ") (Just 3)
2022-05-31 17:40:27 +0200 <lambdabot> error:
2022-05-31 17:40:27 +0200 <lambdabot> • Couldn't match expected type ‘a0 -> String’
2022-05-31 17:40:27 +0200 <lambdabot> with actual type ‘[Char]’
2022-05-31 17:40:36 +0200 <[Leary]> Hemmo: I meant that you could deal with the maybes like that, without having to expliticly match on them.
2022-05-31 17:40:42 +0200 <tomsmeding> meh no OverloadedStrings
2022-05-31 17:41:38 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 17:43:38 +0200Kaiepi(~Kaiepi@156.34.47.253) (Ping timeout: 250 seconds)
2022-05-31 17:44:09 +0200 <Hemmo> Cheers! I have to experiment with that now!
2022-05-31 17:51:07 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 17:55:31 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-05-31 17:55:37 +0200dost^(~dost@128-092-173-218.biz.spectrum.com)
2022-05-31 17:56:18 +0200jgeerds_(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 276 seconds)
2022-05-31 17:56:20 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-05-31 17:56:26 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds)
2022-05-31 17:56:34 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-05-31 17:57:09 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-05-31 17:58:40 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-05-31 18:00:09 +0200Andy[m](~anparrama@2001:470:69fc:105::1:6826) (Quit: You have been kicked for being idle)
2022-05-31 18:01:26 +0200lyle(~lyle@104.246.145.85)
2022-05-31 18:02:26 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-05-31 18:03:01 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-05-31 18:03:58 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 18:09:18 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-05-31 18:10:21 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-05-31 18:10:47 +0200econo(uid147250@user/econo)
2022-05-31 18:12:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection)
2022-05-31 18:12:53 +0200jmd_(~jmdaemon@user/jmdaemon)
2022-05-31 18:13:59 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds)
2022-05-31 18:18:45 +0200Hemmo(~IceChat95@85-76-165-183-nat.elisa-mobile.fi) (Quit: A fine is a tax for doing wrong. A tax is a fine for doing well.)
2022-05-31 18:18:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 18:20:17 +0200titibandit(~thibaut@2a00:8a60:c000:1:8a13:bf74:b2:8d47) (Remote host closed the connection)
2022-05-31 18:25:10 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (Ping timeout: 240 seconds)
2022-05-31 18:25:10 +0200xstill-(xstill@fimu/xstill) (Ping timeout: 240 seconds)
2022-05-31 18:26:31 +0200xstill-(xstill@fimu/xstill)
2022-05-31 18:26:40 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds)
2022-05-31 18:28:44 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2022-05-31 18:28:55 +0200slac22272(~slack1256@191.125.99.204) (Read error: Connection reset by peer)
2022-05-31 18:30:17 +0200slack1256(~slack1256@181.43.227.124)
2022-05-31 18:32:19 +0200bgamari_bgamari
2022-05-31 18:32:49 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-05-31 18:34:38 +0200gnyeki(~gnyeki@user/gnyeki) (Quit: leaving)
2022-05-31 18:34:39 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 276 seconds)
2022-05-31 18:34:48 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection)
2022-05-31 18:37:38 +0200gnyeki(~gnyeki@user/gnyeki)
2022-05-31 18:38:47 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 18:39:34 +0200ec(~ec@gateway/tor-sasl/ec)
2022-05-31 18:39:45 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-05-31 18:40:30 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 18:40:49 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-05-31 18:42:29 +0200cfricke(~cfricke@user/cfricke)
2022-05-31 18:44:00 +0200jakalx(~jakalx@base.jakalx.net)
2022-05-31 18:44:16 +0200alp(~alp@user/alp)
2022-05-31 18:45:07 +0200polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 240 seconds)
2022-05-31 18:46:51 +0200jgeerds_(~jgeerds@55d45f48.access.ecotel.net)
2022-05-31 18:50:48 +0200vglfr(~vglfr@46.96.180.249) (Ping timeout: 250 seconds)
2022-05-31 18:52:27 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 18:54:02 +0200Kaiepi(~Kaiepi@156.34.47.253) (Ping timeout: 255 seconds)
2022-05-31 18:55:42 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 246 seconds)
2022-05-31 18:55:47 +0200mildewed(~mildewed@dsl-hkibng11-50dca3-234.dhcp.inet.fi)
2022-05-31 18:57:14 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-05-31 18:59:20 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-05-31 18:59:58 +0200slac14953(~slack1256@191.126.99.204)
2022-05-31 19:00:17 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Ping timeout: 260 seconds)
2022-05-31 19:01:47 +0200slack1256(~slack1256@181.43.227.124) (Ping timeout: 240 seconds)
2022-05-31 19:04:13 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 19:07:10 +0200mildewed(~mildewed@dsl-hkibng11-50dca3-234.dhcp.inet.fi) (Quit: Ping timeout (120 seconds))
2022-05-31 19:07:14 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-05-31 19:08:37 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 256 seconds)
2022-05-31 19:10:09 +0200mildewed(~mildewed@dsl-hkibng11-50dca3-234.dhcp.inet.fi)
2022-05-31 19:10:37 +0200 <mildewed> hi, a fresh haskell programmer here, I've the following problem. let's say I have a custom data type with a few constructors, each ctor takes one argument (the type of arg is not same for all ctros)
2022-05-31 19:10:47 +0200 <mildewed> is there general way to extract items of specific data constructor from that list?
2022-05-31 19:11:07 +0200 <mildewed> I can create list comprehension for each ctor but that feels a little bit silly
2022-05-31 19:11:19 +0200 <mildewed> I mean something like this: https://pastebin.com/ZAzPZYy0
2022-05-31 19:11:59 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 19:12:34 +0200 <mildewed> or is the approach completely wrong?
2022-05-31 19:15:05 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-05-31 19:15:30 +0200 <[Leary]> :t partitionEithers
2022-05-31 19:15:31 +0200 <lambdabot> [Either a b] -> ([a], [b])
2022-05-31 19:15:35 +0200 <lyxia> it's a bit fishy to not remove the constructor as well but it's not inconceivable.
2022-05-31 19:15:58 +0200 <[Leary]> mildewed: I suggest you write your own version of that for your datatype.
2022-05-31 19:16:51 +0200 <lyxia> that doesn't seem better than these getCs functions to me.
2022-05-31 19:20:20 +0200 <mildewed> agree, sounds that I'll end up writing the same kind of stuff with that approach
2022-05-31 19:20:53 +0200dcoutts__(~duncan@host86-144-78-203.range86-144.btcentralplus.com) (Remote host closed the connection)
2022-05-31 19:21:15 +0200dcoutts__(~duncan@host86-144-78-203.range86-144.btcentralplus.com)
2022-05-31 19:21:35 +0200 <[Leary]> It just prevents pointlessly re-traversing the list when you want more than one of the outputs.
2022-05-31 19:22:31 +0200 <[Leary]> And it's nice to match like (as, bs, _) = ....
2022-05-31 19:26:03 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-05-31 19:27:20 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2022-05-31 19:27:51 +0200Guest|62(~Guest|62@c-71-205-105-44.hsd1.co.comcast.net)
2022-05-31 19:28:38 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds)
2022-05-31 19:29:27 +0200 <mildewed> yep, the actual end result that I'd like to achieve is to extract the specific values if the list contains those types. I know that the certain type can occur only 0 or 1 time in the list
2022-05-31 19:30:57 +0200mbuf(~Shakthi@171.61.198.110) (Quit: Leaving)
2022-05-31 19:34:04 +0200ubert(~Thunderbi@p548c97e3.dip0.t-ipconnect.de) (Quit: ubert)
2022-05-31 19:35:31 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-05-31 19:37:02 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-05-31 19:37:14 +0200tenniscp25(~tenniscp2@2001:fb1:fd:fc2f:a1aa:a872:c102:fe07)
2022-05-31 19:38:10 +0200tenniscp25(~tenniscp2@2001:fb1:fd:fc2f:a1aa:a872:c102:fe07) (Client Quit)
2022-05-31 19:39:15 +0200 <[Leary]> Uhh. In that case, it's something of a questionable representation. If you're the one producing the value, I would consider using something like `data Foo f a b c = Foo (f a) (f b) (f c)` with f = Maybe.
2022-05-31 19:39:57 +0200 <[Leary]> Then the property is in the type, and your implementation is just a pattern match.
2022-05-31 19:40:27 +0200Henkru(henkru@kapsi.fi)
2022-05-31 19:41:06 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 19:43:10 +0200Henkru(henkru@kapsi.fi) (haskell.fi)
2022-05-31 19:43:32 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 19:44:11 +0200Henkru(henkru@kapsi.fi)
2022-05-31 19:46:27 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 19:51:29 +0200 <dminuoso> Why is it that I have to go through withForeignPtr to read/manipulate foreign objects?
2022-05-31 19:51:44 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 19:52:02 +0200 <dminuoso> What the subtlety that it does, that I couldnt do with the ForeignPtr itself? (i.e. why isnt `type ForeignPtr = Ptr`)
2022-05-31 19:52:16 +0200 <dminuoso> Im staring at the implementation and I cant make sense of it
2022-05-31 19:52:48 +0200 <geekosaur> ForeignPtrs have finalizers attached, iirc. and therefore need to be kept alive with some kind of "touch" primitive so they don't get prematurely gced
2022-05-31 19:52:52 +0200mmhat(~mmh@p200300f1c71bc3d0ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5)
2022-05-31 19:54:08 +0200jrm(~jrm@156.34.173.250) (Changing host)
2022-05-31 19:54:08 +0200jrm(~jrm@user/jrm)
2022-05-31 19:54:09 +0200 <geekosaur> so withForeignPtr extracts the Ptr so you can use it, while keeping the ForeignPtr alive so it's not gced behind your back
2022-05-31 19:54:30 +0200 <dminuoso> Well yes, but if `type ForeignPtr = Ptr` it wouldnt be GCed behind my back
2022-05-31 19:54:52 +0200 <geekosaur> but then you have the problem that when it is, nothing tells the foreign side to release it
2022-05-31 19:54:59 +0200 <geekosaur> which is what the finalizer part is for
2022-05-31 19:55:00 +0200 <dolio> Yes, it could.
2022-05-31 19:56:42 +0200 <dminuoso> geekosaur: Alright but I think I get the idea. Thanks.
2022-05-31 19:57:20 +0200 <dminuoso> dolio: Care to elaborate? How could a ptr be GCed behind my back while I still have references to it?
2022-05-31 19:59:02 +0200mildewed(~mildewed@dsl-hkibng11-50dca3-234.dhcp.inet.fi) (Quit: Client closed)
2022-05-31 20:00:13 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-05-31 20:00:17 +0200 <dolio> Because the last occurrence of the pointer in your Haskell code might not be the duration it's required to stay live for.
2022-05-31 20:00:53 +0200 <dolio> withForeignPtr keeps it live for the entire scope.
2022-05-31 20:01:59 +0200Adam_(uid555638@id-555638.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-05-31 20:02:04 +0200 <dminuoso> Ah I think I understand. withForeignPtr might hand a pointer off to a foreign function, and then not reference the ptr anymore. But the foreign code could still reference it
2022-05-31 20:02:22 +0200KoboldChieftain(~jwhittle@170.10.187.19)
2022-05-31 20:02:23 +0200 <dolio> You might have `do foreignStuff ptr ; ... ; moreForeignStuffThatDependsOnPtr ...`
2022-05-31 20:02:25 +0200 <dminuoso> Right
2022-05-31 20:02:45 +0200 <dminuoso> Yeah that sounds very motivating to me.
2022-05-31 20:06:26 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 20:08:15 +0200simendsjo(~user@84.211.91.241)
2022-05-31 20:13:46 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-05-31 20:15:05 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-05-31 20:15:17 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-05-31 20:16:07 +0200wonko(~wjc@user/wonko) (Ping timeout: 260 seconds)
2022-05-31 20:19:08 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 20:21:06 +0200simendsjo(~user@84.211.91.241) (Ping timeout: 246 seconds)
2022-05-31 20:22:54 +0200slac14953(~slack1256@191.126.99.204) (Read error: Connection reset by peer)
2022-05-31 20:23:39 +0200slack1256(~slack1256@181.43.227.124)
2022-05-31 20:25:54 +0200stackdroid18(14094@user/stackdroid)
2022-05-31 20:28:37 +0200hungry_caterpill(~hungry_ca@pool-173-79-64-34.washdc.fios.verizon.net)
2022-05-31 20:28:59 +0200dost^(~dost@128-092-173-218.biz.spectrum.com) (Ping timeout: 255 seconds)
2022-05-31 20:29:26 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 20:29:29 +0200dost^(~dost@128-092-173-218.biz.spectrum.com)
2022-05-31 20:30:04 +0200hungry_caterpill(~hungry_ca@pool-173-79-64-34.washdc.fios.verizon.net) (Client Quit)
2022-05-31 20:31:18 +0200ashln(~ashln@98.38.236.123) (Quit: Lost terminal)
2022-05-31 20:31:22 +0200hungry_caterpill(~hungry_ca@pool-173-79-64-34.washdc.fios.verizon.net)
2022-05-31 20:32:00 +0200nahcetan(~nate@98.45.169.16)
2022-05-31 20:32:33 +0200kuribas(~user@ptr-17d51en27t9vm7gh39a.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2022-05-31 20:33:20 +0200hungry_caterpill(~hungry_ca@pool-173-79-64-34.washdc.fios.verizon.net) (Client Quit)
2022-05-31 20:33:34 +0200hungry_caterpill(~hungry_ca@pool-173-79-64-34.washdc.fios.verizon.net)
2022-05-31 20:34:08 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-05-31 20:34:49 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 20:36:09 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-05-31 20:39:10 +0200coot(~coot@213.134.190.95)
2022-05-31 20:39:24 +0200hungry_caterpill(~hungry_ca@pool-173-79-64-34.washdc.fios.verizon.net) (Quit: hungry_caterpill)
2022-05-31 20:40:47 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-05-31 20:41:19 +0200slac40827(~slack1256@191.125.99.204)
2022-05-31 20:42:05 +0200Axma46431(~Axman6@user/axman6)
2022-05-31 20:43:28 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-05-31 20:43:37 +0200slack1256(~slack1256@181.43.227.124) (Ping timeout: 258 seconds)
2022-05-31 20:43:46 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-05-31 20:43:52 +0200[_](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-05-31 20:44:17 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 265 seconds)
2022-05-31 20:44:34 +0200Tuplanolla(~Tuplanoll@91-159-68-39.elisa-laajakaista.fi)
2022-05-31 20:44:46 +0200alp(~alp@user/alp) (Ping timeout: 258 seconds)
2022-05-31 20:47:54 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds)
2022-05-31 20:50:50 +0200alp(~alp@user/alp)
2022-05-31 20:56:16 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 21:02:15 +0200simeon(~pi@dslb-088-069-178-224.088.069.pools.vodafone-ip.de) (Remote host closed the connection)
2022-05-31 21:03:59 +0200simeon(~pi@dslb-088-069-178-224.088.069.pools.vodafone-ip.de)
2022-05-31 21:05:07 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2022-05-31 21:06:30 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 21:07:50 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Remote host closed the connection)
2022-05-31 21:11:53 +0200wroathe(~wroathe@user/wroathe) (Quit: Lost terminal)
2022-05-31 21:13:47 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2022-05-31 21:14:23 +0200kmein(~weechat@user/kmein)
2022-05-31 21:17:05 +0200king_gs(~Thunderbi@2806:103e:29:1c22:4139:b427:94dc:fff2)
2022-05-31 21:19:52 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 21:22:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection)
2022-05-31 21:30:34 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds)
2022-05-31 21:30:43 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 21:32:23 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-05-31 21:33:21 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 21:38:22 +0200jollygood2(www-data@2607:5300:60:8be::1) (Quit: CGI:IRC (Session timeout))
2022-05-31 21:38:56 +0200polezaivsani(~polezaivs@orangeshoelaces.net)
2022-05-31 21:39:50 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 21:42:11 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-05-31 21:43:19 +0200acidjnk(~acidjnk@p200300d0c7068b751c2d9dbe7b089481.dip0.t-ipconnect.de)
2022-05-31 21:49:01 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 21:50:26 +0200king_gs(~Thunderbi@2806:103e:29:1c22:4139:b427:94dc:fff2) (Quit: king_gs)
2022-05-31 21:51:43 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2022-05-31 21:52:07 +0200 <maerwald> wai is really a pain to use with transformers
2022-05-31 21:52:41 +0200 <Bulby[m]> your local polysemy person suggests you try polysemy 🙂
2022-05-31 21:52:49 +0200 <EvanR> transformer stack hell
2022-05-31 21:52:55 +0200 <maerwald> Bulby[m]: definitely not
2022-05-31 21:53:29 +0200 <maerwald> and https://hackage.haskell.org/package/wai-transformers-0.1.0/docs/Network-Wai-Trans.html#t:Applicati… uses the old MonadBaseControl instead of MonadUnliftIO
2022-05-31 21:54:18 +0200 <maerwald> All started with this: https://hackage.haskell.org/package/servant-rate-limit-0.2.0.0/docs/Servant-RateLimit-Types.html#v…
2022-05-31 21:54:20 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 21:54:36 +0200 <maerwald> which runs in IO instead of something MonadIO (which isn't hard per se in servant)
2022-05-31 21:54:43 +0200 <maerwald> but the whole wai ecosystem forces IO on you
2022-05-31 21:54:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 21:55:31 +0200 <maerwald> Monads don't compose ;)
2022-05-31 21:56:19 +0200 <Bulby[m]> idk monads are composing fairly well for me
2022-05-31 21:56:35 +0200 <maerwald> they somehow realized this problem and guess what the README example does hence: https://github.com/mbg/wai-rate-limit#usage-with-servant
2022-05-31 21:56:42 +0200 <maerwald> unsafePerformIO
2022-05-31 21:56:57 +0200 <EvanR> o_O
2022-05-31 21:57:22 +0200 <maerwald> so I'm using the whole servant type stuff and then plug unsafePerformIO into my instance stack, because wai is broken
2022-05-31 21:57:31 +0200 <maerwald> gg
2022-05-31 21:59:41 +0200 <EvanR> randomly inserting unsafePerformIO to fix something is fine in this case because it's web tech
2022-05-31 21:59:59 +0200 <Bulby[m]> haha
2022-05-31 22:00:08 +0200 <EvanR> no one will realize it's weird by comparison
2022-05-31 22:00:12 +0200 <maerwald> right, let's put the JWK into a global variable... uhm
2022-05-31 22:01:03 +0200 <EvanR> "your haskell webstack has a single random unsafePerformIO? that's amazing" -- ruby stack
2022-05-31 22:01:09 +0200 <maerwald> I'm getting eczema
2022-05-31 22:01:38 +0200oniko
2022-05-31 22:02:09 +0200 <maerwald> not sure if it's from wai or the radiation poisoning
2022-05-31 22:03:16 +0200 <EvanR> is your office located next to a nuclear plant or
2022-05-31 22:03:34 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-05-31 22:03:41 +0200 <maerwald> no, but I got a hit today
2022-05-31 22:04:43 +0200lyle(~lyle@104.246.145.85) (Quit: Lost terminal)
2022-05-31 22:06:32 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection)
2022-05-31 22:06:33 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds)
2022-05-31 22:07:05 +0200ec(~ec@gateway/tor-sasl/ec)
2022-05-31 22:08:13 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 22:10:12 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-05-31 22:11:08 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-05-31 22:11:28 +0200Pickchea(~private@user/pickchea)
2022-05-31 22:12:03 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 246 seconds)
2022-05-31 22:15:24 +0200zebrag(~chris@user/zebrag)
2022-05-31 22:15:30 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 22:16:09 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-05-31 22:20:36 +0200raym(~raym@user/raym) (Ping timeout: 258 seconds)
2022-05-31 22:22:03 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-05-31 22:22:13 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Remote host closed the connection)
2022-05-31 22:24:47 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 22:25:34 +0200nate1(~nate@98.45.169.16)
2022-05-31 22:30:02 +0200nate1(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-05-31 22:31:41 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk) (Quit: Updating...)
2022-05-31 22:34:37 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 22:36:58 +0200zeenk(~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Quit: Konversation terminated!)
2022-05-31 22:43:50 +0200Guest|85(~Guest|85@136.226.18.52)
2022-05-31 22:44:31 +0200Sgeo(~Sgeo@user/sgeo)
2022-05-31 22:44:46 +0200 <Bulby[m]> how do you do left associative operators with megaparsec? I think i accidentally made all of my operators right associative
2022-05-31 22:45:20 +0200KoboldChieftain(~jwhittle@170.10.187.19) (Ping timeout: 255 seconds)
2022-05-31 22:45:20 +0200 <monochrom> chainl
2022-05-31 22:47:03 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 22:47:06 +0200nate1(~nate@98.45.169.16)
2022-05-31 22:47:27 +0200 <Guest|85> hello! having trouble installing GHCup on windows 10. I ran the appropriate command in powershell [https://www.haskell.org/ghcup/] but had errors caused by failed downloads (mingw32.db, mingw64.db, ucrt64.db, clang32.db, clang64.db). did I miss a step?
2022-05-31 22:47:57 +0200gehmehgeh(~user@user/gehmehgeh)
2022-05-31 22:48:11 +0200KoboldChieftain(~jwhittle@170.10.187.19)
2022-05-31 22:48:54 +0200 <Bulby[m]> that doesn't work for megaparsec does it?
2022-05-31 22:50:57 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk)
2022-05-31 22:51:10 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:19f4:9aa:ac4b:7369) (Ping timeout: 244 seconds)
2022-05-31 22:51:36 +0200 <geekosaur> don't you normally use makeExprParser, which offers an InfixR constructor?
2022-05-31 22:51:59 +0200 <Bulby[m]> i just found out that existed
2022-05-31 22:52:01 +0200 <geekosaur> (see parser-combinators_
2022-05-31 22:52:05 +0200 <geekosaur> )
2022-05-31 22:54:20 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds)
2022-05-31 22:54:34 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-05-31 22:55:53 +0200jakalx(~jakalx@base.jakalx.net)
2022-05-31 22:58:29 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-05-31 23:00:22 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-05-31 23:00:37 +0200hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com)
2022-05-31 23:01:21 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-05-31 23:01:45 +0200shalokshalom(~quassel@2a02:8109:b40:42f4:4f45:338b:3ba8:8f20)
2022-05-31 23:01:48 +0200 <shalokshalom> hi
2022-05-31 23:02:59 +0200 <geekosaur> hi
2022-05-31 23:04:06 +0200 <shalokshalom> can anybody tell me how to explain my girlfriend, who is a student of mathematics, why having a time factor in a function makes it impure
2022-05-31 23:04:23 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-05-31 23:04:31 +0200 <shalokshalom> in her world, t being time is completly fine for a "pure function"
2022-05-31 23:04:41 +0200 <shalokshalom> (all functions are pure for her, of course)
2022-05-31 23:04:58 +0200 <monochrom> I can't. I think it's a pure function too.
2022-05-31 23:05:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection)
2022-05-31 23:05:45 +0200 <EvanR> in math they call pure functions simply "functions", such as functions of time
2022-05-31 23:05:58 +0200 <EvanR> i thought you were going to say, how do I explain to her what an impure function is
2022-05-31 23:05:59 +0200 <shalokshalom> but isnt the time factor something that changes and gives a different return, based on when you call it
2022-05-31 23:06:10 +0200 <shalokshalom> yes
2022-05-31 23:06:21 +0200 <monochrom> Is this an XY problem?
2022-05-31 23:06:36 +0200 <shalokshalom> idk
2022-05-31 23:06:50 +0200 <shalokshalom> i am just interested in functional programming and never thought about that difference
2022-05-31 23:06:57 +0200 <shalokshalom> thought here is the right place to ask :)
2022-05-31 23:07:10 +0200 <EvanR> if time is an explicit argument it's a pure function of time
2022-05-31 23:07:26 +0200 <EvanR> but if it's like, an unspoken "this means whatever time is currently on the wall", it's impure
2022-05-31 23:07:33 +0200 <shalokshalom> i always got explained, that time being unstable means its not pure
2022-05-31 23:07:41 +0200 <shalokshalom> since it gives different results when called
2022-05-31 23:08:05 +0200 <shalokshalom> EvanR How to differ these two examples?
2022-05-31 23:08:11 +0200 <EvanR> what the function signature is
2022-05-31 23:08:13 +0200 <shalokshalom> How would the second look like in math terms
2022-05-31 23:08:14 +0200 <EvanR> Time -> A
2022-05-31 23:08:18 +0200 <monochrom> But we don't have a "time variable" in functional programming either, pure or impure.
2022-05-31 23:08:33 +0200 <monochrom> Nor in imperative programming.
2022-05-31 23:08:55 +0200 <EvanR> you do have a time variable often present in a shader program xD
2022-05-31 23:09:13 +0200 <EvanR> but it's more like the pure version
2022-05-31 23:09:20 +0200td_(~td@muedsl-82-207-238-004.citykom.de)
2022-05-31 23:09:33 +0200 <monochrom> OK, we have a lot of impure programs and they are not because of time.
2022-05-31 23:09:36 +0200 <shalokshalom> What means Time -> A?
2022-05-31 23:10:29 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-05-31 23:10:43 +0200 <shalokshalom> Like, how would << an unspoken "this means whatever time is currently on the wall" >> look like as a math formula
2022-05-31 23:10:50 +0200 <shalokshalom> if even applicible.
2022-05-31 23:11:31 +0200 <EvanR> also, "time is unstable" sounds more like quantum gravity than programming or math
2022-05-31 23:12:02 +0200 <monochrom> Sounds like BS to me.
2022-05-31 23:12:10 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 23:12:14 +0200 <EvanR> Time -> A is a function type in haskell syntax
2022-05-31 23:12:31 +0200 <EvanR> if Time is a type, and A is a type, then Time -> A is a (function) type
2022-05-31 23:12:41 +0200Guest|85(~Guest|85@136.226.18.52) (Quit: Connection closed)
2022-05-31 23:16:02 +0200acidjnk(~acidjnk@p200300d0c7068b751c2d9dbe7b089481.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-05-31 23:16:34 +0200nate1(~nate@98.45.169.16) (Read error: Connection reset by peer)
2022-05-31 23:16:58 +0200nate1(~nate@98.45.169.16)
2022-05-31 23:19:41 +0200nate1(~nate@98.45.169.16) (Read error: Connection reset by peer)
2022-05-31 23:19:48 +0200nate2(~nate@98.45.169.16)
2022-05-31 23:19:58 +0200 <tomsmeding> shalokshalom: that unspoken thing would look like "get_current_time_now()"
2022-05-31 23:20:01 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds)
2022-05-31 23:20:04 +0200 <tomsmeding> which makes no sense in math
2022-05-31 23:20:19 +0200 <tomsmeding> but it makes perfect sense in C, Python, JS, Java, C#, Go, name your language
2022-05-31 23:20:50 +0200 <tomsmeding> but not in haskell! Or, well, in the IO monad you can, but then you can model that purely as well
2022-05-31 23:21:33 +0200 <tomsmeding> the real escape hatch in haskell is `unsafePerformIO :: IO a -> a`, but that "function"'s whole _intention_ is to make break the rules in some sense
2022-05-31 23:21:42 +0200 <tomsmeding> s/make break/break/
2022-05-31 23:21:58 +0200 <maerwald> tomsmeding: some people believe it's a design pattern
2022-05-31 23:22:04 +0200 <tomsmeding> what is?
2022-05-31 23:22:41 +0200 <tomsmeding> maerwald: oh I suddenly recall your wai complaint lol
2022-05-31 23:22:43 +0200 <maerwald> unsafePerformIO
2022-05-31 23:22:51 +0200 <maerwald> no, I actually mean something else
2022-05-31 23:22:57 +0200 <maerwald> lemme see if I can find that gem
2022-05-31 23:23:17 +0200acidjnk(~acidjnk@p200300d0c7068b758cef14057e9476fe.dip0.t-ipconnect.de)
2022-05-31 23:23:23 +0200 <tomsmeding> I mean the fact that it breaks the normal rules doesn't mean that it doesn't have its uses in programming
2022-05-31 23:23:23 +0200 <Bulby[m]> ReaderT?
2022-05-31 23:24:00 +0200 <tomsmeding> you just have to leave the world of pure functions, and suddenly have to reason about the much more complicated world of the GHC RTS
2022-05-31 23:24:18 +0200 <[Leary]> The case where you can prove it safe with the types is pretty cool, but I think I've only seen that in ST, and once isn't a pattern.
2022-05-31 23:24:21 +0200 <tomsmeding> doesn't mean that it's impossible, or not sometimes (hopefully not often) the right idea
2022-05-31 23:24:45 +0200 <geekosaur> Debug.Trace? :þ
2022-05-31 23:25:08 +0200slac40827(~slack1256@191.125.99.204) (Read error: Connection reset by peer)
2022-05-31 23:25:08 +0200 <tomsmeding> ST is awesome, I recently saw a paper (haven't read it) that claims to prove that the ST design is safe: the internal side-effects don't leak out of the abstraction
2022-05-31 23:25:22 +0200 <tomsmeding> it's a complicated paper, judging from the figures :p
2022-05-31 23:25:45 +0200 <tomsmeding> geekosaur: Debug.Trace is Unreasonably Effective (tm)
2022-05-31 23:25:51 +0200 <monochrom> maerwald, is that the "var :: IORef Int; var = unsafePerformIO (newIORef 0)" pattern?
2022-05-31 23:26:16 +0200tomsmedinghas used that :p
2022-05-31 23:26:43 +0200 <Bulby[m]> i think i've used that before too
2022-05-31 23:27:58 +0200 <tomsmeding> oh actually not quite, just a global constant with an unsafePerformIO initialiser (reading some environment vars for config0
2022-05-31 23:28:01 +0200 <tomsmeding> s/0/)/
2022-05-31 23:28:03 +0200 <romes[m]> hello everyone, I'm going to be extending a functional programming course for 1st year CS students, but am still in the process of proposing what "lecture modules" I'll add. These modules will come after the already existing course, therefore I want to showcase some fun Haskell things (but which will still be relevant in the following years). I am looking for ideas, I'm thinking FRP might be cool, something game development related too, or
2022-05-31 23:28:03 +0200 <romes[m]> perhaps implementing a simple programming language
2022-05-31 23:29:01 +0200 <tomsmeding> romes[m]: 1st year???
2022-05-31 23:29:13 +0200 <dminuoso> FRP in first year CS.
2022-05-31 23:29:19 +0200 <romes[m]> :P
2022-05-31 23:29:22 +0200 <dminuoso> You seem to have an interesting notion of "fun"
2022-05-31 23:29:27 +0200 <romes[m]> HAHA
2022-05-31 23:29:31 +0200 <tomsmeding> our 2nd years wouldn't be ready for FRP at the end of the 7.5 ECTS course we're giving them
2022-05-31 23:29:36 +0200 <tomsmeding> like, at all
2022-05-31 23:29:56 +0200 <tomsmeding> (well, some might, but those are exceptions)
2022-05-31 23:30:00 +0200 <[exa]> (I'd also say that FRP might not really be ready for students yet)
2022-05-31 23:30:00 +0200 <romes[m]> Really? :) I was thinking it might be acceptable bc of some university having it in their curriculum
2022-05-31 23:30:27 +0200 <tomsmeding> or maybe your students are smarter than ours :p
2022-05-31 23:30:54 +0200 <dminuoso> [exa]: Some might way FRP might not be really ready for production either.
2022-05-31 23:30:55 +0200 <[exa]> romes[m]: what was the "top" contents of the course?
2022-05-31 23:31:00 +0200 <romes[m]> tomsmeding: Nope, I wouldn't know yet, I'll value your opinion on that
2022-05-31 23:31:51 +0200 <dminuoso> selectViewListWithKey_ :: (Adjustable t m, Ord k, PostBuild t m, MonadHold t m, MonadFix m) => Dynamic t k -> Dynamic t (Map k v) -> (k -> Dynamic t v -> Dynamic t Bool -> m (Event t a)) -> m (Event t k)
2022-05-31 23:31:57 +0200 <dminuoso> Is not my idea of a fun night
2022-05-31 23:31:58 +0200 <tomsmeding> O.o
2022-05-31 23:32:11 +0200 <tomsmeding> Dynamic O.O
2022-05-31 23:32:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf)
2022-05-31 23:32:21 +0200 <romes[m]> for reference, here was the FRP module I saw :https://www.seas.upenn.edu/~cis194/fall16/lectures/11-frp.html
2022-05-31 23:32:21 +0200 <tomsmeding> oh wait this is not base:Dynamic
2022-05-31 23:32:24 +0200 <dminuoso> Yes, Dynamic is an associated data type of this fun class:
2022-05-31 23:32:27 +0200 <dminuoso> class (MonadHold t (PushM t), MonadSample t (PullM t), MonadFix (PushM t), Functor (Dynamic t), Applicative (Dynamic t), Monad (Dynamic t)) => Reflex t where
2022-05-31 23:32:29 +0200 <dminuoso> It's all clear now!
2022-05-31 23:32:39 +0200 <dminuoso> No this is from reflex
2022-05-31 23:33:00 +0200michalz(~michalz@185.246.204.125) (Remote host closed the connection)
2022-05-31 23:33:33 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 23:33:51 +0200 <romes[m]> [exa]: think "first steps, data modelling, abstract data types, functional data structures, type-classes, functors, parsing, monads"
2022-05-31 23:34:32 +0200 <[exa]> romes[m]: I'd make very sure that they try out monadic parsers (just for the sake of understanding that parsing is super easy if you don't use a shit language), and lenses (and doing lensish sql atop of aeson, because they will remember it with love the next time they touch javascripts)
2022-05-31 23:35:16 +0200 <dmj`> does warp actually respect timeouts
2022-05-31 23:35:16 +0200 <dminuoso> I second parser combinators.
2022-05-31 23:35:40 +0200 <dminuoso> dmj`: Yes
2022-05-31 23:35:55 +0200 <[exa]> also pretty useful to show some networking, like, "making a telnet chatserver without suffering a stroke from the polling complexity", haskell is super easy that way. And scotty helps too
2022-05-31 23:36:49 +0200 <dminuoso> dmj`: Though can you specify what kind of timeouts you are looking for?
2022-05-31 23:37:47 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 23:38:02 +0200 <romes[m]> [exa] dminuoso I think parser combinators are mentioned but not actually looked at, so that would be cool, but I'd hope to motivate parser combinators with a fun example, do you think writing a parser for idk something lisp-like be too much/would not motivate them for apparent complexity?
2022-05-31 23:38:16 +0200 <[exa]> just parse json
2022-05-31 23:38:25 +0200euandreh(~euandreh@2804:14c:33:966c:2059:6e22:1326:6607) (Ping timeout: 258 seconds)
2022-05-31 23:38:47 +0200 <[exa]> with a few simplifications (doubles) it's literally 1 slide of code, with pretty big letters
2022-05-31 23:38:59 +0200 <dmj`> dminuoso: just the time it takes to return from the handler, server should close the connection
2022-05-31 23:39:23 +0200 <dminuoso> dmj`: Use a timeout manager
2022-05-31 23:39:26 +0200 <dminuoso> https://hackage.haskell.org/package/warp-3.0.9/docs/Network-Wai-Handler-Warp-Timeout.html
2022-05-31 23:39:39 +0200 <romes[m]> [exa]: simple chatserver-like networking sounds super cool! thank you
2022-05-31 23:40:20 +0200dextaa(~DV@user/dextaa) (Ping timeout: 258 seconds)
2022-05-31 23:40:21 +0200 <dminuoso> dmj`: Or I think by default you have 30s timeouts
2022-05-31 23:40:31 +0200 <dmj`> dminuoso: in warp when I do `setTimeout 10` and in the handler `forever $ pure ()` it doesn't end the connection after 30s
2022-05-31 23:40:58 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-05-31 23:41:06 +0200[exa](exa@srv3.blesmrt.net) (Changing host)
2022-05-31 23:41:06 +0200[exa](exa@user/exa/x-3587197)
2022-05-31 23:42:12 +0200 <romes[m]> [exa]: * I think they might say "what the is json", and therefore not see great motivation from "see how simple we can write a json parser", while something like a PL is something more palpable to them which they definitely have no idea how to approach, but might be curious to do so
2022-05-31 23:42:24 +0200 <dminuoso> Well, introduce json then?
2022-05-31 23:42:29 +0200 <romes[m]> but I'm quite new to this so I'll take your expert word
2022-05-31 23:42:48 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 23:42:55 +0200 <[exa]> romes[m]: how they survive in 2022 computing without json?
2022-05-31 23:43:00 +0200 <dminuoso> It seems like a motivating example. "Here's this common machine-exchange data format, lets write a parser for it"
2022-05-31 23:43:50 +0200 <romes[m]> dminuoso: and even more so if we can use json for said chatserver!
2022-05-31 23:44:15 +0200 <romes[m]> [exa]: I thiink first years will be pretty clueless about it
2022-05-31 23:45:06 +0200 <[exa]> I'm kinda astonished by the level of contrast between "they should do frp" and "no json" tbh, but okay :D
2022-05-31 23:45:24 +0200 <romes[m]> [exa]: Ahah! I was wrong about that indeed
2022-05-31 23:45:38 +0200 <[exa]> btw check PM, I sent you some of my stuff
2022-05-31 23:46:50 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds)
2022-05-31 23:46:50 +0200romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-05-31 23:46:55 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-05-31 23:47:06 +0200dextaa(~DV@user/dextaa)
2022-05-31 23:47:07 +0200 <dmj`> dminuoso: lmao
2022-05-31 23:47:36 +0200 <dmj`> dminuoso: I thought, "just introduce json" was directed at me
2022-05-31 23:47:49 +0200 <hpc> make them write a yaml parser instead
2022-05-31 23:47:59 +0200 <hpc> they don't have to worry about all those brackets, so it should be much easier! :P
2022-05-31 23:49:02 +0200nate2(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-05-31 23:49:18 +0200 <dminuoso> YAML is hellish to parse. :(
2022-05-31 23:49:22 +0200 <jackdk> hpc: you are cruel
2022-05-31 23:49:42 +0200 <romesrf> LOL :)
2022-05-31 23:49:49 +0200 <dminuoso> I think parsing XML is easier.
2022-05-31 23:50:10 +0200 <maerwald> dminuoso: except now you also want to parse html
2022-05-31 23:50:17 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-05-31 23:51:02 +0200 <monochrom> "they don't have to worry about close tags, so it should be much easier" >:)
2022-05-31 23:52:05 +0200 <maerwald> and enjoy script tags that may have unescaped garbage
2022-05-31 23:54:04 +0200KoboldChieftain(~jwhittle@170.10.187.19) (Remote host closed the connection)
2022-05-31 23:54:13 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com)
2022-05-31 23:56:30 +0200 <hpc> and cdata
2022-05-31 23:57:01 +0200 <c_wraith> parsing xml is easy until you get into the features like remote entities
2022-05-31 23:57:15 +0200 <[exa]> dminuoso: I almost got triggered by "parsing xml is easier" before I managed to comprehend you're complaining to yaml
2022-05-31 23:57:18 +0200 <[exa]> :D
2022-05-31 23:57:23 +0200 <[exa]> parsing yaml is harder than parsing c++
2022-05-31 23:58:03 +0200 <hpc> i would rather parse perl than yaml
2022-05-31 23:58:11 +0200 <hpc> at least by the end of writing the perl parser i can also run perl code
2022-05-31 23:58:20 +0200ehammarstrom(~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds)
2022-05-31 23:59:01 +0200romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4.1)