Home liberachat/#haskell: Logs Calendar

Logs on 2021-08-25 (liberachat/#haskell)

00:00:07 × Guest4855 quits (~chris@81.96.113.213) (Ping timeout: 240 seconds)
00:00:47 <hseg> 5 stages of ghc errors: denial, frustration, realization, perseverance, giving up
00:02:46 <hseg> case in question: thought my type family was injective, not considering eg that (/\x. f x -> f x) a ~ (/\x. f a -> x) (f a)
00:03:31 <aegon> is there any difference performance wise between let and where blocks?
00:05:37 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
00:06:17 delYsid parts (~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
00:07:15 chris joins (~chris@81.96.113.213)
00:07:19 chris is now known as Guest1826
00:07:29 sjb0 joins (~stephen@2001:8004:5160:3989:12e9:dcb3:94a7:de9e)
00:13:47 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
00:15:03 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
00:18:36 azeem joins (~azeem@176.201.15.223)
00:20:08 <aegon> is there a way to write this 'cleaner' (remove the dangling return line) https://paste.tomsmeding.com/zlHD7XMQ
00:20:44 <aegon> these two line do blocks come up now an again and I can't help feeling like i'm missing an opportunity for applicative but i also cant find the right syntax to make it work
00:21:07 <aegon> i could see how if there were a lens for it
00:21:39 motherfsck joins (~motherfsc@user/motherfsck)
00:24:40 <glguy> aegon: looks good
00:29:27 × alx741 quits (~alx741@186.178.108.43) (Ping timeout: 250 seconds)
00:30:40 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
00:31:20 davincee joins (~da1dude@112.201.99.74)
00:34:41 × d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds)
00:34:47 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
00:36:26 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
00:36:27 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
00:37:40 Lord_of_Life_ is now known as Lord_of_Life
00:37:50 lavaman joins (~lavaman@98.38.249.169)
00:41:27 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
00:42:43 alx741 joins (~alx741@186.178.109.43)
00:42:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:48:10 <hseg> dminuoso: so otoh, managed to build my vararg type coercer. http://ix.io/3wSp otoh: a) it is unwieldy to use b) since you can't apply type synonyms, the main use case is inexpressible c) just realized it targets the wrong field anyway
00:48:29 <hseg> d) it's ugly as sin
00:54:06 fawful joins (~guy@c-76-104-217-93.hsd1.wa.comcast.net)
00:55:08 d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
00:57:04 <hseg> guess if I was interested in shaving this yak, might want to look into TH'ing this code, but am burnt out on this refactor
00:57:17 <hseg> especially considering I have other stuff to do
00:57:25 <hseg> thanks for the help, anyway!
00:57:28 × hseg quits (~gesh@IGLD-84-228-238-79.inter.net.il) (Quit: WeeChat 3.2)
01:08:12 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
01:11:13 × charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 252 seconds)
01:12:40 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
01:14:37 charukiewicz joins (~quassel@irouteince04.i.subnet.rcn.com)
01:16:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
01:18:47 × pbrisbin quits (~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 240 seconds)
01:21:08 azeem joins (~azeem@176.201.15.223)
01:31:44 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
01:39:11 azeem joins (~azeem@176.201.15.223)
01:39:51 lavaman joins (~lavaman@98.38.249.169)
01:41:23 × xff0x quits (~xff0x@2001:1a81:5333:b100:677b:385:c244:5fff) (Ping timeout: 250 seconds)
01:43:29 xff0x joins (~xff0x@2001:1a81:536c:3300:eddd:cb7:2ef2:f526)
01:44:25 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
01:46:27 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 240 seconds)
01:49:11 × d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 250 seconds)
01:50:41 × sjb0 quits (~stephen@2001:8004:5160:3989:12e9:dcb3:94a7:de9e) (Quit: Leaving.)
01:57:07 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
02:03:40 keutoi joins (~keutoi@157.47.90.161)
02:03:48 × venue quits (~venue@user/venue) (Ping timeout: 250 seconds)
02:05:10 lavaman joins (~lavaman@98.38.249.169)
02:05:50 × obs\ quits (~obscur1ty@user/obs/x-5924898) (Read error: Connection reset by peer)
02:06:07 azeem joins (~azeem@176.201.15.223)
02:09:31 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
02:14:45 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
02:19:07 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
02:21:19 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:23:17 azeem joins (~azeem@176.201.15.223)
02:24:11 <thornAvery> im writing my command line arguments at the moment, and i have a bunch of functions of type `foo :: IO (Either (IO ()) Bar)`, in that i have actions that will end the program (either successfully or unsuccessfully), and if it gets to the end of all the steps without ending execution, i get a validetd `Bar` at the end. im finding ive got a lot of ugly nested cases for this, and i feel like theres a much
02:24:11 <thornAvery> better way of writing it, is this somethnig i can nest the Either monad inside of to get it looking nicer?
02:25:26 <thornAvery> use case is im taking in my options (which may fail if the options dont parse or if theres an unknown one), then if it didnt fail i want to check if the help flag is set, and if so print help and stop execution, then only if the help flag wasnt set do i want to do a second round of validation, failing with an error or returning the validated options for the rest of my program to use
02:29:55 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
02:30:09 famubu joins (~famubu@user/famubu)
02:30:21 azeem joins (~azeem@176.201.15.223)
02:31:14 <thornAvery> I think I wanna use a monad transformer here?
02:32:01 dajoer joins (~david@user/gvx)
02:32:05 <famubu> Hi. When we do `a = 1:a`, how does haskell figure out the initial value of `a`? I guess it's got something to do with lazy evaluation but when it does get evaluated, how is value for `1:a` found out when `a` has no initial value? (I'm new to Haskell).
02:32:26 <famubu> Resultant `a` would be an infinte list of `1`s.
02:33:40 <Axman6> that's just a cyclic definition, the tail of the list points to the cons that is the definiton of a
02:34:50 <Axman6> a = (:) 1 a is the same but uusing prefix syntax, which shows that a is a cons constructor which points to 1 and a. so this will be infinite but take up very little memory
02:36:27 × td_ quits (~td@94.134.91.225) (Ping timeout: 240 seconds)
02:38:35 td_ joins (~td@muedsl-82-207-238-244.citykom.de)
02:41:46 <famubu> Axman6: Okay, so the 'initial value' of `a` is not really needed because it's the `cons` that's being appended to. Is it something like that?
02:42:28 <famubu> Is there some place where we can read more about this? I guess this is a beginner doubt and possibly a well-asked one.
02:42:45 <dsal> famubu: It's easier if you don't have a programming background. :)
02:42:53 <dsal> The list a is 1 followed by the list a.
02:43:04 venue joins (~venue@user/venue)
02:43:46 <famubu> dsal: Yeah when we look it as something like 'equations' it make sense.
02:45:05 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
02:45:06 <dsal> thornAvery: I don't exactly understand what you're specifying there. If you have a list of those functions, then I'd imagine something like `traverse` will get you close, but I'd need to see more context.
02:55:27 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
02:57:27 × famubu quits (~famubu@user/famubu) (Ping timeout: 240 seconds)
02:58:59 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:58:59 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
02:58:59 wroathe joins (~wroathe@user/wroathe)
02:59:01 hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd)
02:59:22 slack1256 joins (~slack1256@191.126.161.169)
03:01:00 × Skyfire quits (~pyon@user/pyon) (Ping timeout: 250 seconds)
03:04:05 azeem joins (~azeem@176.201.15.223)
03:10:54 × alx741 quits (~alx741@186.178.109.43) (Quit: alx741)
03:12:47 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
03:12:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:13:02 azeem joins (~azeem@176.201.15.223)
03:14:06 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:16:56 otto_s_ joins (~user@p4ff272f9.dip0.t-ipconnect.de)
03:17:45 <aegon> if you forkIO do you have to rebuild your monad stack or is there a way to fork but keep things like ST around with liftIO
03:17:54 × spruit11 quits (~quassel@2a02:a467:ccd6:1:1d51:90f2:b4a7:ece8) (Ping timeout: 250 seconds)
03:18:41 <c_wraith> believe it or not, the type of liftIO answers that question
03:19:11 <c_wraith> also, ST isn't even available as a transformer...
03:19:26 <aegon> its a ReaderT
03:19:33 <c_wraith> err, the type of forkIO
03:20:01 × otto_s quits (~user@p5de2f618.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
03:20:49 <c_wraith> anyway. forkIO takes something with a type that unifies with IO a
03:21:15 <c_wraith> that clearly means it must be IO. Not something wrapping IO
03:21:29 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
03:21:55 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
03:21:59 <c_wraith> now, as far as ReaderT, you can easily reconstruct it inside the forked thread
03:22:22 <c_wraith> thought if it has any mutable cells in the environment, you will have to respect that you're nondeterministic now
03:23:22 <aegon> the environment is used to pass along a pool of postgres connections
03:23:50 <aegon> to reconstruct it I need to pull the env out of the wrapped monad before using liftIO right? maybe i ought to play around and see if i can make the type system happy
03:25:05 <c_wraith> you can always do something like env <- ask ; forkIO (runReaderT action env)
03:25:56 <c_wraith> where action is the thing you want to run in the other thread
03:26:41 <c_wraith> Reader is trvial in a way that makes it easy to reconstruct inside forkIO
03:26:46 <c_wraith> Err, ReaderT
03:29:02 <Axman6> fendor: you can think of it as a recursive function (which, really is basically what it is). Definitions can quite happily refer to themselves recursively, and if yuu have a name for a value, then definitions using that value will all point to the same object in memory
03:29:06 <aegon> well i made things a bit more tricky for me, I wrapped all this in an AppT transformer but given what you said I should be able to peel the onion back and then drop it in. I'm assumping resource-pool is thread safe though also, I need to dig into that, as well as wrap my head around catching exceptions in a forked thread / what to do with them. Hoping to delay thinking about exception handling till my
03:29:12 <aegon> brain is fresh in the mornin
03:29:24 <Axman6> uh, ok, I guess they left. sorry fendor
03:30:02 spruit11 joins (~quassel@2a02:a467:ccd6:1:8c29:d071:7a1c:6a79)
03:31:13 × slack1256 quits (~slack1256@191.126.161.169) (Remote host closed the connection)
03:32:47 <c_wraith> yeah, I'd expect the pool to be threadsafe. Not much use having one that isn't.
03:33:01 <aegon> oy, this means i need to despecialize the rest of my funcs away from IO and go into MonadIO land :?
03:34:05 <c_wraith> If you want to be polymorphic, yes. Alternatively, you can specialize them to your type
03:34:41 <dsal> aegon: There's also UnliftIO if you want to into that direction.
03:36:10 <aegon> dsal: i was looking at unliftIO it seems like the trade-off is somewhere around exception handling, which seems relevant since i have to deal with some around http calls
03:37:10 <dsal> It's more about solving your stated problem -- you can't carry the stack with you, but you'll want to recreate it on the other side.
03:40:05 <thornAvery> hello again, i tried to play around with it but im still missing something sorry. my problem is i have a record that i want to pass throguh a number of functions, each of which will either pass it to the next, or exit with either success or failure, possibly after printing some messages to STDIO/STDERR. i think i need to use an Either transformer? at the moment im having to nest cases like this https:/
03:40:05 <thornAvery> /pastebin.com/raw/TuFjv2Sc which seems bad
03:42:58 <thornAvery> although, i can probably actually just have an Either monad that returns an IO action now that i look at it, ill give that a try ahh sorry for spamming the channel
03:47:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
03:47:29 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
03:47:31 × Guest1826 quits (~chris@81.96.113.213) (Remote host closed the connection)
03:48:06 famubu joins (~famubu@14.139.174.50)
03:48:08 chris joins (~chris@81.96.113.213)
03:48:12 chris is now known as Guest7659
03:52:15 × Guest7659 quits (~chris@81.96.113.213) (Ping timeout: 250 seconds)
03:52:33 chris joins (~chris@81.96.113.213)
03:52:36 chris is now known as Guest3591
03:53:37 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
03:53:39 azeem joins (~azeem@176.201.15.223)
03:56:03 <aegon> dsal hey, UnliftIO is pretty cool i'll try to figure out how to swap it
03:56:30 <dsal> thornAvery: You might consider not mixing in effects.
03:57:29 <dsal> There's ExceptT and ContT that might help you create a better structure.
03:59:13 <dsal> But in general, that's doing too many different things to understand what it's supposed to be.
04:03:06 × talismanick quits (~user@2601:644:8500:8350::cc04) (Remote host closed the connection)
04:03:19 talismanick joins (~user@2601:644:8500:8350::cc04)
04:04:10 falafel joins (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9)
04:04:14 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
04:04:49 ChaiTRex joins (~ChaiTRex@user/chaitrex)
04:08:52 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds)
04:09:59 geekosaur joins (~geekosaur@xmonad/geekosaur)
04:10:04 × res0nat0r8 quits (~Fletch@dia.whatbox.ca) (Quit: Ping timeout (120 seconds))
04:10:38 res0nat0r8 joins (~Fletch@dia.whatbox.ca)
04:10:53 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
04:11:18 azeem joins (~azeem@176.201.15.223)
04:15:33 × fawful quits (~guy@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: WeeChat 3.2)
04:18:32 × markpythonicbtc quits (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:19:27 markpythonicbtc joins (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0)
04:19:35 × famubu quits (~famubu@14.139.174.50) (Changing host)
04:19:35 famubu joins (~famubu@user/famubu)
04:23:17 <aegon> hmm ok i have UnliftIO for my top level monad but i need to use a function defined by a librario called withContex :: \/a . (Context -> IOa) -> IO a
04:23:25 <aegon> but within that inner func i need access to my stack
04:23:35 <aegon> this seems like what unliftIO is for
04:23:46 <aegon> or do i need to recreate my stack inside the lambda
04:23:50 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
04:28:39 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
04:29:52 <dsal> unliftio should do most of the work for you.
04:32:29 <aegon> yeah i'm playing with it now, trying to use withRunInIO but then i get complaints when i try to access side effects in my stack from within that lambda
04:33:01 <aegon> so i'm trying to get a better grip on it reading fp complete stuff on unliftio
04:35:40 azeem joins (~azeem@176.201.15.223)
04:36:28 <aegon> oh i see i need to prefix run on my actions that use my monad within that lambda
04:37:53 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
04:41:13 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
04:48:38 mei joins (~mei@user/mei)
04:49:07 <aegon> that works but thats a lot of withRunInIO, and resulting run calls, should I be worried about perf? seems like in a situation where you have to run quite a lot of code in a world that was built for a handler in IO () actions against your own effect stack you end up unwrapping a lot with the withRunInIO helper
04:50:14 <dsal> It shouldn't be a *lot*. But maybe there's a design problem at a different level.
04:51:08 <dsal> You said you're using forkIO, right? Are you using the unlifted version?
04:51:51 × res0nat0r8 quits (~Fletch@dia.whatbox.ca) (Quit: Ping timeout (120 seconds))
04:51:53 <dsal> I'd probably even take a step back and say "wait, are you sure you want to use forkIO at all?" but at the very least, you don't need to reinvent things.
04:52:05 res0nat0r8 joins (~Fletch@dia.whatbox.ca)
04:53:20 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
04:53:57 hololeap joins (~hololeap@user/hololeap)
04:54:35 <aegon> the library i'm working with is formed around running all your computation within a lambda provided to withContext, that lambda needs to be in IO so I'm using withRunInIO then the standard forkIO and inside using run
04:55:09 <aegon> unfortunatly this x -> IO a pattern is all around this library so pretty much every thread has to do the same thing and then use run inside
04:56:20 <aegon> actually i can clean up a lot of these. This is my mess. I formed a bunch of helper functions against IO that i could instead form against MonadIO
04:56:34 <dsal> There are probably a few other ways to do this. I don't have enough context, but I don't understand what `forkIO` has to do with anything.
04:57:13 <aegon> I'm running a zeromq server and Main fork's different threads for different sockets
04:57:46 <aegon> is it a mistake / needless mess to mix MonadUnliftIO and MonadIO
04:58:03 <dsal> MonadUnliftIO is MonadIO
04:58:12 <dsal> It just has more requirements.
04:58:44 <aegon> welll, that fixes that
04:59:11 <dsal> I had a similar thing I was working on and at that API barrier, I did a single unliftio thing. I don't know why you'd need more than one. The primary thing it's doing is passing your context in and out.
04:59:35 <aegon> so i shoudl prefer to constrain to MonadIO where possible and only use MonadUnliftIO constriants where I need to run monad computations within an IO action
05:00:19 <aegon> let me put together a paste I'm probably missing someting
05:00:44 <aegon> but I think i can do withRunInIO once but then i have to call run often
05:00:49 <dsal> If you're making a library, MonadIO is OK. MonadIO is snoymanesque religious territory. It works OK in my own stuff, but I don't know that I'd force it on others.
05:00:54 <aegon> this is going to be a somewhat contrived paste
05:01:09 <dsal> Occasionally people do things that aren't somewhat contrived here. heh
05:03:07 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
05:04:08 × CannabisIndica quits (~herb@user/mesaboogie) (Ping timeout: 268 seconds)
05:10:15 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
05:10:48 azeem joins (~azeem@176.201.15.223)
05:14:38 × venue quits (~venue@user/venue) (Quit: adios)
05:14:40 <aegon> dsal: :P, ok here it is https://paste.tomsmeding.com/WkjoePQS
05:15:02 <aegon> thats not so bad as theres only one run but that run gets called every "tick"
05:15:25 <aegon> so if it's expensive thats adding a lot of overhead if were talking about a tick every 10 ms
05:15:42 <aegon> darn, i left an extra do in there :X
05:15:48 <dsal> A few :)
05:16:04 <aegon> and i used a reserved word as a variable, i definitely wrote that in the paste form <_< , >_>
05:16:25 cheater joins (~Username@user/cheater)
05:16:46 <aegon> but thats the jist of it, i need to run this inner loop logic in IO but it needs my monad stack
05:16:53 <aegon> so i end up calling run really frequently
05:17:27 <aegon> so I'm just wondering what the perf implications of that are, is it a lazy pattern match each time on the stack, or should i not be worried and just "run" with it
05:19:39 × Nosrep quits (~archbox@user/nosrep) (Ping timeout: 258 seconds)
05:21:17 Nosrep joins (~archbox@user/nosrep)
05:23:16 <dsal> I don't know. perf implications are things profiling tells you.
05:23:51 <aegon> well, i guess also if theres no way around it its just how it is
05:23:59 <dsal> I had a bad performance regression in one of my programs recently. I tried guessing what it was, but just did a profiling build and ran it and found a really dumb bug I wrote in an area I wouldn't've guessed.
05:24:32 <dsal> There are always ways, but worrying about performance before you measure it may not be the best idea.
05:25:20 <aegon> I'm maybe too worried about monad stack performance. I got scared by this page https://wiki.haskell.org/Performance/Monads
05:26:52 <dsal> Just measure. If this isn't a cost center, then don't worry about it.
05:27:40 <aegon> your right. I'm worried about optimizing maybe a non-issue
05:28:33 CnnibisIndica joins (~herb@user/mesaboogie)
05:32:19 × falafel quits (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) (Remote host closed the connection)
05:32:43 falafel joins (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9)
05:35:43 sab- joins (~shawna@76.14.56.206)
05:36:07 × sab- quits (~shawna@76.14.56.206) (Remote host closed the connection)
05:38:18 sab- joins (~shawna@76.14.56.206)
05:38:24 × sab- quits (~shawna@76.14.56.206) (Remote host closed the connection)
05:38:29 qbt joins (~edun@user/edun)
05:38:53 sab- joins (~shawna@76.14.56.206)
05:39:03 × sab- quits (~shawna@76.14.56.206) (Remote host closed the connection)
05:39:51 sabra joins (~shawna@76.14.56.206)
05:40:53 × sabra quits (~shawna@76.14.56.206) (Remote host closed the connection)
05:41:14 sabhrd33 joins (~shawna@76.14.56.206)
05:43:46 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:44:53 kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz)
05:45:47 × falafel quits (~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) (Ping timeout: 250 seconds)
05:47:10 acidjnk_new3 joins (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de)
05:55:45 × acidjnk_new3 quits (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
06:00:31 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
06:01:24 azeem joins (~azeem@176.201.15.223)
06:04:29 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
06:14:47 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
06:15:37 azeem joins (~azeem@176.201.15.223)
06:18:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
06:18:40 zaquest joins (~notzaques@5.128.210.178)
06:20:01 × xff0x quits (~xff0x@2001:1a81:536c:3300:eddd:cb7:2ef2:f526) (Ping timeout: 250 seconds)
06:21:08 xff0x joins (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d)
06:26:20 lortabac joins (~lortabac@151.53.202.164)
06:26:47 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
06:27:45 azeem joins (~azeem@176.201.15.223)
06:29:17 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:30:17 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:34:53 × echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
06:35:23 echoreply joins (~echoreply@45.32.163.16)
06:36:09 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
06:36:27 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
06:36:37 Vajb joins (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
06:36:41 azeem joins (~azeem@176.201.15.223)
06:40:10 sjb0 joins (~stephen@1.145.57.172)
06:46:24 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
06:48:33 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
06:51:25 reumeth joins (~reumeth@user/reumeth)
06:51:28 vysn joins (~vysn@user/vysn)
06:57:07 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
06:57:44 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
06:57:45 acidjnk_new3 joins (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de)
06:58:05 azeem joins (~azeem@176.201.15.223)
06:58:46 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Client Quit)
07:00:46 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:03:09 d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
07:06:22 gauss parts (~gauss@139.180.175.160) (Leaving)
07:06:54 × aegon quits (~mike@174.127.249.180) (Remote host closed the connection)
07:08:03 <siers> what's the I# in "data Int = I# Int#"?
07:08:35 <tomsmeding> just a data constructor
07:08:53 <tomsmeding> the # doesn't actually mean anything, it's part of the name just like ' can be
07:09:10 <tomsmeding> except you need to explicitly tell the compiler that you want to use it in names using LANGUAGE MagicHash
07:09:57 <[exa]> siers: the # types sometimes have a slightly magical meaning for the compiler, e.g. it will may that it's really _the_ machine integer wrapper thingy
07:10:19 <tomsmeding> yeah, that holds for Int# in this case
07:10:41 buggymcbugfix joins (~buggymcbu@p4fcaa0a6.dip0.t-ipconnect.de)
07:10:47 hannessteffenhag joins (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
07:10:48 <[exa]> I guess in this case the I# is there for adding the box around the Int inside
07:11:17 <[exa]> and possibly disambiguating it from other types that just contain Int#
07:11:48 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:21:07 jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
07:21:12 <fendor> with pattern synonyms, can I have a pattern such as: `pattern RealSrcSpan x Nothing <- SrcLoc.RealSrcSpan x`. E.g. I wanna be backwards compatible add a constructor with a basically unused field
07:21:41 <fendor> Currently, I get: "parse error on input 'Nothing'"
07:21:57 <tomsmeding> fendor: if someone writes 'RealSrcSpan x y' in their code, what would y be bound to?
07:22:08 <fendor> Nothing?
07:22:50 <tomsmeding> what about `pattern RealSrcSpan x y <- ((,Nothing) -> (SrcLoc.RealSrcSpan x, y))`
07:22:57 <tomsmeding> using ViewPatterns and TupleSections
07:23:33 <fendor> looks really not sexy, but works, thanks! Ok, so every variable needs to bound on the rhs?
07:23:43 × acidjnk_new3 quits (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
07:23:45 <tomsmeding> the "it's always traverse" of applicative things becomes "it's always ViewPatterns" with patternsynonyms :p
07:23:46 <tomsmeding> yeah
07:23:57 <tomsmeding> it should translate a pattern to a pattern
07:24:15 <tomsmeding> and ViewPatterns allows you to put arbitrary stuff in that pattern
07:24:40 <fendor> I don't understand quite why it should be invalid to inject constants
07:24:59 <tomsmeding> yeah what you wrote could easily be a shorthand for my version I guess
07:25:24 <tomsmeding> though it's also ambiguous, because your code could also mean a specialisation of the RealSrcSpan pattern when its second argument is the pattern `Nothing`
07:25:54 <tomsmeding> which... I'm not even sure is well defined to say; can you do case analysis on patterns themselves?
07:25:59 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
07:26:19 <tomsmeding> but anyway I can see why the extension doesn't allow the syntax
07:28:34 <fendor> no, I dont think you can...
07:30:37 jdcain joins (~jdcain@2600:8804:1b96:4900::935)
07:31:15 <fendor> thank you for the explanation, hopefully this was the last time I struggled with pattern synonyms
07:31:21 <tomsmeding> :D
07:35:58 × Cajun quits (~Cajun@user/cajun) (Ping timeout: 246 seconds)
07:36:58 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
07:37:22 ubert joins (~Thunderbi@77.119.197.143.wireless.dyn.drei.com)
07:37:52 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds)
07:38:28 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
07:38:40 × ubert quits (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Client Quit)
07:39:22 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
07:40:13 azeem joins (~azeem@176.201.15.223)
07:43:48 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:46:16 × sabhrd33 quits (~shawna@76.14.56.206) (Remote host closed the connection)
07:47:33 lavaman joins (~lavaman@98.38.249.169)
07:48:39 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Remote host closed the connection)
07:50:07 Gurkenglas joins (~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de)
07:50:46 ubert joins (~Thunderbi@77.119.197.143.wireless.dyn.drei.com)
07:51:47 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
07:53:37 × favonia quits (~favonia@user/favonia) (Ping timeout: 250 seconds)
07:59:17 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
08:01:19 cfricke joins (~cfricke@user/cfricke)
08:08:40 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds)
08:08:49 jakalx joins (~jakalx@base.jakalx.net)
08:09:03 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
08:09:19 mc47 joins (~mc47@xmonad/TheMC47)
08:10:28 ub joins (~Thunderbi@77.119.197.143.wireless.dyn.drei.com)
08:10:30 azeem joins (~azeem@176.201.15.223)
08:11:49 × Guest3591 quits (~chris@81.96.113.213) (Ping timeout: 250 seconds)
08:12:33 × ub quits (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Client Quit)
08:14:03 hendursa1 joins (~weechat@user/hendursaga)
08:14:10 × famubu quits (~famubu@user/famubu) (Ping timeout: 252 seconds)
08:17:06 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:17:39 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:17:39 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:42 allbery_b is now known as geekosaur
08:19:07 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds)
08:19:21 chris joins (~chris@81.96.113.213)
08:19:25 chris is now known as Guest6130
08:19:43 kuribas joins (~user@ptr-25vy0i7291ltmu3yh3q.18120a2.ip6.access.telenet.be)
08:20:31 <kuribas> How do you deal with dead projects? The hexpat parser my library depends on has a last upload in 2017-06-21T23:58:54Z
08:21:09 jgeerds joins (~jgeerds@55d4b311.access.ecotel.net)
08:21:58 elf_fortres joins (~elf_fortr@adsl-72-50-4-46.prtc.net)
08:22:00 azeem joins (~azeem@176.201.15.223)
08:22:15 <tdammers> Not all code needs to be constantly changed in order to be useful
08:22:31 <tdammers> So just because there haven't been any commits in a couple years doesn't mean you shouldn't use it
08:22:49 aku joins (~aku@eagleflow.fi)
08:23:21 <tdammers> if it's already broken (as in, doesn't compile cleanly on newer GHC versions), then I'll either find a replacement, or consider forking it and maintaining it myself
08:23:33 <kuribas> it compiles, but I need a new feature (expanding namespaces).
08:24:37 <tdammers> sometimes it's possible to implement additional features separately. It's not super elegant, but better than taking on maintainership of some legacy lib
08:24:42 <kuribas> also: https://github.com/the-real-blackh/hexpat/issues/11
08:25:10 <kuribas> tdammers: easiest would be to use the feature from the underlying C library, which requires patching.
08:25:15 <tdammers> hmm, that one is a bit more disconcerting
08:26:04 <kuribas> Otherwise I'd need to parse the xmlns in my library. But that's the wrong level of doing things IMO...
08:26:52 <tdammers> in this case, I would consider either forking it and making the required changes (upgrade C dependency etc), or switching to a different XML parsing solution entirely
08:26:55 <kuribas> tdammers: Or I'd fork the library...
08:27:13 <kuribas> tdammers: hexpat is quite nice.
08:27:29 <kuribas> erm expat...
08:28:03 <kuribas> because it's fast *and* standard compliant.
08:28:50 <kuribas> all these libraries that acquire speed by not properly parsing xml are rubbish IMO
08:29:45 jippiedoe joins (~david@77-171-152-62.fixed.kpn.net)
08:30:56 <kuribas> I can call it witchpat :-)
08:31:11 <kuribas> (hex is witch in dutch)
08:31:14 <c_wraith> "properly" parsing xml is a security risk
08:31:20 <kuribas> c_wraith: ?
08:31:54 <c_wraith> doing full custom entity processing allows carefully-crafted documents to scan your internal network and report the results to third parties
08:32:13 <kuribas> xml allows arbitrary code execution?
08:32:22 <c_wraith> it allows arbitrary URL fetching
08:32:54 × jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
08:33:11 <c_wraith> security standards these days are to not process custom entities.
08:33:18 <tdammers> the beloved external entity hack
08:33:42 <tdammers> custom entities are fine, but you need to disallow external entities
08:33:57 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:33:59 <kuribas> I think the SAX parser simply returns the processing instructions...
08:34:05 <tdammers> you also want to disable validating against arbitrary schemas
08:34:09 jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
08:35:39 × jippiedoe quits (~david@77-171-152-62.fixed.kpn.net) (Ping timeout: 250 seconds)
08:35:46 dunj3 joins (~dunj3@p200300f617104f71b48bd778569fa2df.dip0.t-ipconnect.de)
08:36:22 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
08:37:34 × elf_fortres quits (~elf_fortr@adsl-72-50-4-46.prtc.net) (Ping timeout: 246 seconds)
08:38:41 × jespada quits (~jespada@90.254.245.194) (Ping timeout: 250 seconds)
08:39:01 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
08:39:35 jippiedoe joins (~david@2a02-a44c-e14e-1-9da9-d54e-bfee-aa3a.fixed6.kpn.net)
08:39:40 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
08:40:28 jespada joins (~jespada@90.254.245.194)
08:40:52 × jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
08:41:57 jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
08:44:07 × jippiedoe quits (~david@2a02-a44c-e14e-1-9da9-d54e-bfee-aa3a.fixed6.kpn.net) (Ping timeout: 240 seconds)
08:46:21 × turlando quits (~turlando@user/turlando) (Quit: turlando)
08:46:38 turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it)
08:46:38 × turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
08:46:38 turlando joins (~turlando@user/turlando)
08:49:25 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:6136:f245:971c:30da)
08:50:16 famubu joins (~famubu@14.139.174.50)
08:51:05 jumper149 joins (~jumper149@80.240.31.34)
08:51:10 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 240 seconds)
08:51:13 burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk)
08:51:14 × cross quits (~cross@spitfire.i.gajendra.net) (Quit: Lost terminal)
08:52:18 <kuribas> tdammers: or I just copy the part of the library I use into my own library...
08:53:03 <kuribas> I only use the SAX part anyway...
08:53:18 <tdammers> that's also a fork, just a more ad-hoc one
08:53:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:6136:f245:971c:30da) (Ping timeout: 240 seconds)
08:54:27 <kuribas> tdammers: I just don't feel like maintaining a big library...
08:54:42 <kuribas> I mean, *another* big library :)
08:54:53 <tdammers> haha yeah, well, I never said this was an easy choice
08:55:14 <Taneb> Are you tied to hexpat?
08:55:21 <tdammers> but sure, you could just factor out the SAX part and "maintain" that as your own personal-use library which you then vendor into your project instead of formally depending on it
08:56:19 <kuribas> Taneb: not really, except it's in the package name :)
08:57:39 × jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
08:57:45 × xff0x quits (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) (Ping timeout: 250 seconds)
08:58:24 <kuribas> Taneb: if you know another fast complient SAX parser, let me know :)
08:58:55 azeem joins (~azeem@176.201.15.223)
08:59:15 <tdammers> oh, third option: start from scratch and make your own expat bindings
09:03:06 <kuribas> The hexpat-bindings look ok. Definitely not trivial to setup...
09:07:07 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
09:07:42 hyiltiz joins (~quassel@31.220.5.250)
09:13:40 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
09:14:55 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
09:14:55 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
09:15:19 jpds joins (~jpds@gateway/tor-sasl/jpds)
09:15:27 ChaiTRex joins (~ChaiTRex@user/chaitrex)
09:16:21 Kabouik joins (~Kabouik@user/kabouik)
09:17:17 <Kabouik> Hello. I am trying to build something with cabal (which worked on Debian Sid on another machine), but I am getting the following errors on another machine and I don't quite know how to trouble shoot, my web searches were not very successful: https://p.teknik.io/Simple/Q4TMp
09:17:19 <Kabouik> Any ideas?
09:17:45 <Kabouik> I'm not sure why those packages fail to build.
09:18:33 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
09:19:45 <Drew[m]> It doesn't look like a Haskell compilation error. Looks like it could be a linking issue
09:20:31 <int-e> No alex found
09:20:32 <Drew[m]> Brick has C deps
09:20:36 <int-e> sorry
09:21:10 <int-e> It thinks there's an installed network-3.1.1.1-4pp4vfRvcxm9PeTHatjCEm package but fails to actually use it... it may be registered but missing files
09:21:38 <int-e> <command line>: cannot satisfy -package-id network-3.1.1.1-4pp4vfRvcxm9PeTHatjCEm
09:21:49 <int-e> that's the first actual error, I think
09:22:53 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
09:23:57 <Kabouik> Thank you. I ran `cabal new-clean` and `cabal new-update` but that doesn't fix it
09:24:45 <int-e> what about ghc-pkg list and ghc-pkg check?
09:25:05 <Kabouik> Note that at some point cabal was reporting a truncated tar archive because of an Internet connection issue during `cabal new-update`, which made it fail. The only way I could find to run cabal commands gain was to remove ~/.cabal/packages (and did another update afterwards). I suppose this could ber elated?
09:25:12 <int-e> new-clean will only clean local build artefacts, not globally or user installed packages
09:25:49 <int-e> (I think. I'm still not really using the new-* commands.)
09:26:28 <Drew[m]> Are you using an old cabal version?
09:26:31 <Kabouik> `ghc-pkg check` confirms says it cannot satisfy -package-id bifunctors-5.5.7-blahblah
09:27:40 <int-e> Drew[m]: old enough: 3.2
09:28:03 <Kabouik> Even worse apparently: cabal-install version 2.4.0.0
09:29:17 <int-e> Drew[m]: What happened was that I got used to sandboxes, and the v2- commands don't support that model in a convenient way.
09:30:12 <int-e> (It's not impossible; one can set up local package stores per project. But it's not the same.)
09:30:29 <Drew[m]> Oh, so you use `cabal v1-clean` instead of `cabal clean`?
09:32:21 <int-e> Drew[m]: I nuke and reinitialize the sandbox when dependencies become inconsistent.
09:32:27 int-e shrugs.
09:33:17 × jgeerds quits (~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 250 seconds)
09:33:27 <Kabouik> I really have no clue how cabal works to be honest, no idea why it's throwing errors on a fresh git repository that compiled well on another machine
09:33:35 <Kabouik> I don't think I'm missing dependencies
09:34:09 <int-e> I'll make the switch eventually. Soon in fact, because v1-command support is mostly gone in 3.6.
09:35:09 <int-e> Kabouik: My best guess is that you have broken packages. Note that `network` is *not* in the list of packages being built, so it's picked up from elsewhere... either as a global package or as a user package.
09:35:49 <kuribas> tdammers: hmm, then I can get rid of the ridiculous GenericXMLString nonsense, and just use Text :)
09:35:55 <Kabouik> How would I restart from scratch to rebuild broken packages? Not sure what I need to delete in the first place. I'll check mydistro repo for network.
09:36:01 <int-e> That's why I suggested `ghc-pkg check`: it should detect that.
09:36:42 <Kabouik> I have a haskell-network globally installed.
09:37:12 <int-e> Kabouik: is it split into that and a -dev package?
09:37:41 <Kabouik> ghc-pkg check gives that: https://p.teknik.io/Simple/ujgiZ (lots of warnings)
09:38:27 <Kabouik> There's a devel package too (no -dev on Solus), indeed. That guy is 60MB big, ouch!
09:39:01 <Kabouik> That's because it's going to install ghc-devel too apparently. I didn't know I needed that if using cabal actually (but again, I'm a newbie).
09:39:04 <int-e> /usr/lib64/ghc-8.6.5/network-3.1.1.1/include doesn't exist or isn't a directory
09:39:09 <int-e> that one may be a problem
09:39:17 <int-e> the haddock stuff is mostly harmless
09:40:03 <Kabouik> /usr/lib64/ghc-8.6.5/network-3.1.1.1/ exists though, just not /usr/lib64/ghc-8.6.5/network-3.1.1.1/include
09:40:23 xff0x joins (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d)
09:40:46 <maerwald> how did you install ghc?
09:40:59 fvr joins (uid503686@id-503686.highgate.irccloud.com)
09:41:16 <int-e> distributtion packages, evidently... though I'm not sure which distribution :P
09:41:33 <Kabouik> I think I just installed it from my distribution repository. Now I installed ghc-devel too, and haskell-network-devel. At least the cabal new-build doesn't seem to fail as early as it did before, so there's hope (still building).
09:41:38 <Kabouik> Solus
09:41:54 <int-e> ah, you said so, didn't register.
09:42:05 <Kabouik> I thought I mentioned it above when I said it worked on Debian, but sorry if I haven't
09:42:32 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan)
09:42:59 <Kabouik> My hopes are high. I think it's going to work now.
09:43:22 <maerwald> are there docker images for solus?
09:43:43 <fvr> is there a way to tell cabal to track an external file that I use with file-embed
09:43:52 <Kabouik> So in the end it was probably just missing dependencies (ghc-devel and haskel-network-devel) that I failed to grasp from the cabal error output
09:44:18 <Kabouik> I'm not sure maerwald, but you could try it real quick with distrotest.net if you want to investigate the system
09:44:24 <int-e> fvr: there's extra-source-files
09:45:12 <maerwald> I'm gonna check if ghcup works on solus
09:45:26 <maerwald> https://hub.docker.com/r/silkeh/solus looks like an unofficial build
09:46:30 <fvr> int-e: cool it's working, I assumed it was only for sdist
09:48:00 <Kabouik> While I'm here, once I've compiled something with cabal and use the binary, what is the best way to free some space with the build files? `cabal new-clean` or is there something else I can delete?
09:49:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
09:49:27 Topsi joins (~Tobias@dyndsl-095-033-024-207.ewe-ip-backbone.de)
09:49:35 <maerwald> Kabouik: ~/.cabal/store
09:49:42 jgeerds joins (~jgeerds@55d4b311.access.ecotel.net)
09:49:46 <maerwald> but
09:50:16 <Kabouik> ~/.cabal/packages should stay, correct?
09:50:38 <maerwald> I wouldn't mess with it at all, unless you're in a docker container or whatever
09:50:43 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:50:44 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:7d34:8159:5b95:6b5e)
09:50:55 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
09:51:06 <maerwald> you're on your own... manually deleting files there isn't supported
09:51:29 <Kabouik> No, unfortunately it's all messy and I'm compiling everything directly on my main machines, with no compartimentation. Hence the clutter sometimes, and the urge to clean it a bit.
09:51:33 gehmehgeh joins (~user@user/gehmehgeh)
09:51:50 <int-e> nuking ~/.cabal/packages is harmless if you don't care about bandwidth (it's reconstructed by `update`)
09:52:20 <Kabouik> Good, thanks! That'll do it then. ~/.cabal/packages is by far the biggest folder there.
09:53:34 <Kabouik> Doh, so my hopes were high, and I was pretty confident when I was at step 112 on 112, but it eventually failed: https://p.teknik.io/Simple/mbaGf
09:54:08 <maerwald> Kabouik: I'd recommend installing ghc differently, I'm currently testing it on solus
09:54:24 <Kabouik> Alright
09:54:57 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:7d34:8159:5b95:6b5e) (Ping timeout: 250 seconds)
09:55:06 <maerwald> Kabouik: https://www.haskell.org/ghcup/
09:55:30 <Kabouik> I already saw this actually, now I wonder if that's not what I did
09:55:34 <Kabouik> Doesn't hurt to try though
09:55:45 × jgeerds quits (~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 248 seconds)
09:55:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
09:56:04 <maerwald> the docker container doesn't work well
09:56:15 <maerwald> eopkg wants to access systemd or something
09:56:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:56:41 <int-e> Kabouik: those are more packages you've installed system-wide, aren't they... and missing a -devel package, presumably
09:57:46 <Kabouik> I don't think I would have installed all those packages manually system-wide (or I hope I didn't), but I suspect only the first could be the issue and the others are cascading effects
09:58:43 <maerwald> Kabouik: https://gitlab.com/silkeh/docker-solus/-/issues/2
09:58:46 <int-e> Well... let me pick the one of them, gitrev... it came up in your ghc-pkg output indeed.
09:58:50 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
09:58:53 <maerwald> no idea what this pkg manager is doing
09:59:08 × burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
09:59:18 jakalx joins (~jakalx@base.jakalx.net)
09:59:40 burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk)
09:59:57 <int-e> Kabouik: Maybe you installed some haskell-based software that uses those libraries. (Not sure what it could be... pandoc maybe?)
10:00:00 <Kabouik> I don't think eopkg is too invasive, I never saw people complaining about it so I assume it's not doing too much unexpected stuff. I admit that's not a very scientific investigation though.
10:00:06 <Kabouik> ghcup failed too maerwald: https://p.teknik.io/Simple/HmoeF
10:00:17 <Kabouik> That could be, totally
10:00:29 <maerwald> Kabouik: libtinfo.so.6
10:00:33 <maerwald> can you install that?
10:01:28 <Kabouik> It's in ncurses, I have it installed already
10:01:48 <int-e> Kabouik: Anyway those seem to be your options: 1) manage your own ghc installation that doesn't suffer from a split into runtime and development packages (ghcup is one way to do that) or 2) install all the missing development packages
10:01:59 <Kabouik> I have a haskell-extensible-devel package available in the repo, could try that too (it's the first error in the matterhorn build)
10:02:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
10:02:19 <Kabouik> I have to go to lunch with colleagues, will resume later. Thanks a lot for your help folks, greatly appreciated.
10:02:25 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:03:24 <maerwald> Kabouik: ghcup install ghc -u https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-deb9-linux.tar.xz 8.10.6
10:03:31 <maerwald> I believe this should work
10:03:35 <maerwald> deb9 has ncurses5
10:03:45 × burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
10:07:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:07:48 Erutuon joins (~Erutuon@user/erutuon)
10:08:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:08:04 <maerwald> well, this isn't a well working distro :p
10:08:29 <maerwald> the way it blows up in docker containers is suspicious
10:09:42 jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
10:11:40 × famubu quits (~famubu@14.139.174.50) (Ping timeout: 240 seconds)
10:13:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
10:14:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:19:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
10:19:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:20:07 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
10:20:17 teo joins (~teo@137.220.120.222)
10:22:14 × earthy quits (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (Ping timeout: 272 seconds)
10:22:36 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
10:22:38 × tnks quits (sid412124@id-412124.brockwell.irccloud.com) ()
10:22:53 tnks joins (sid412124@id-412124.helmsley.irccloud.com)
10:24:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:25:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:30:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:30:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:31:51 × conjunctive quits (sid433686@brockwell.irccloud.com) ()
10:32:06 conjunctive joins (sid433686@id-433686.helmsley.irccloud.com)
10:36:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:36:36 <frobnicator> can I write this shorter?: let x = 42 :: Integer in [|\i -> i + $(pure $ LitE $ IntegerL x)|]
10:36:52 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:37:26 <frobnicator> from the documentation it seems that I should be able to write: let x = 42 :: Integer in runQ [|\i -> i + $x|]
10:37:52 <frobnicator> I'm having a hard time with the quasiquotes from templatehaskell
10:39:46 burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk)
10:40:21 × grfn quits (sid449115@id-449115.brockwell.irccloud.com) ()
10:40:35 grfn joins (sid449115@id-449115.helmsley.irccloud.com)
10:42:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
10:42:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:44:31 × truckasaurus quits (sid457088@id-457088.brockwell.irccloud.com) ()
10:44:46 truckasaurus joins (sid457088@id-457088.helmsley.irccloud.com)
10:45:03 <int-e> frobnicator: pure . LitE can be replaced by litE. Other than that, this `lift` comes to mind: https://hackage.haskell.org/package/th-lift-0.8.2/docs/Language-Haskell-TH-Lift.html#v:lift
10:45:13 × burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
10:48:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:48:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:48:52 × alinab quits (sid468903@id-468903.brockwell.irccloud.com) ()
10:49:05 alinab joins (sid468903@id-468903.helmsley.irccloud.com)
10:49:46 × Guest6130 quits (~chris@81.96.113.213) (Remote host closed the connection)
10:50:28 chris joins (~chris@81.96.113.213)
10:50:31 chris is now known as Guest7445
10:53:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
10:54:10 × lortabac quits (~lortabac@151.53.202.164) (Quit: WeeChat 2.8)
10:54:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:54:46 × Guest7445 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds)
10:55:56 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 250 seconds)
10:57:18 azeem joins (~azeem@176.201.15.223)
10:57:36 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
11:01:03 alx741 joins (~alx741@186.178.109.43)
11:04:07 × hannessteffenhag quits (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
11:05:10 × truckasaurus quits (sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds)
11:06:53 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 250 seconds)
11:07:19 truckasaurus joins (sid457088@id-457088.helmsley.irccloud.com)
11:09:04 × buggymcbugfix quits (~buggymcbu@p4fcaa0a6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
11:11:32 jakalx joins (~jakalx@base.jakalx.net)
11:17:20 × kaizen quits (sid501599@brockwell.irccloud.com) ()
11:17:52 kaizen joins (sid501599@id-501599.helmsley.irccloud.com)
11:19:53 × kaizen quits (sid501599@id-501599.helmsley.irccloud.com) (Max SendQ exceeded)
11:19:59 lavaman joins (~lavaman@98.38.249.169)
11:20:11 <Kabouik> That's surprising maerwald, Solus is known for being very stable (especially for a rolling distro)
11:21:18 <maerwald> Kabouik: they told me docker is not supported
11:21:24 <maerwald> so it's known to be broken
11:21:44 <Kabouik> Yeah, I saw on the description it's unofficial, but seeing it was last updated 3 days ago was encouraging
11:21:52 kaizen joins (sid501599@helmsley.irccloud.com)
11:22:10 Kaiepi joins (~Kaiepi@156.34.44.192)
11:22:41 × gawen quits (~gawen@user/gawen) (Quit: cya)
11:24:28 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
11:26:25 gawen joins (~gawen@user/gawen)
11:26:50 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 272 seconds)
11:28:18 <Kabouik> Well it seems my ghcup installation issue is due to full storage
11:28:40 sa joins (sid1055@id-1055.tinside.irccloud.com)
11:33:19 dude joins (~da1dude@112.201.99.74)
11:34:24 <Kabouik> Uh, I have a 7.5GB ~/.stack, wonder if I can delete that and reinstall stack or if there are programs that depends on it (or binaries in it, evenm)
11:36:21 × davincee quits (~da1dude@112.201.99.74) (Ping timeout: 250 seconds)
11:37:18 dadude joins (~da1dude@112.201.99.74)
11:39:14 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:39:50 <maerwald> stack doesn't care much about your disk space :p
11:40:08 <maerwald> it just keeps dumping stuff without giving you any means to uninstall anything other than rm -rf
11:40:15 × dude quits (~da1dude@112.201.99.74) (Ping timeout: 250 seconds)
11:40:22 <Kabouik> I can see that! But I'm confused between cabal, stack, ghc, system or not system, as to what I can delete or not without breaking things
11:40:33 <maerwald> welcome to haskell tooling
11:40:43 <Rembane_> Kabouik: You can delete it all, the next command you run will take some more time
11:40:48 biberu\ joins (~biberu@user/biberu)
11:40:56 <Rembane_> Kabouik: ...but that's about how horrible it will become
11:41:35 <Kabouik> Well you haven't seen the size of my .npm, .ccache, etc.: https://0x0.st/-tun.png
11:42:13 <Kabouik> I wish they would all just end up in a directory that says "it-is-safe-to-delete-me" when true.
11:42:51 × Arsen quits (~arsen@managarm/dev/Arsen) (Quit: Quit.)
11:43:10 Arsen joins (~arsen@managarm/dev/Arsen)
11:43:52 <Kabouik> And of course my biggest folder in /usr is /usr/lib64/ghc-8.6.5, which makes me wonder if it can be deleted too :p
11:44:28 × biberu quits (~biberu@user/biberu) (Ping timeout: 250 seconds)
11:44:29 biberu\ is now known as biberu
11:51:09 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
11:52:05 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
11:52:14 <mastarija> If I want to pass a type as an argument to a function using type application, without passing a value of that type or using a Proxy, I have to enable AllowAmbiguousTypes, right?
11:52:44 <maerwald> Kabouik: https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/153
11:52:51 <maerwald> seems to work with the bindist I pointed you at
11:53:13 <Kabouik> Thank you, will try
11:53:21 <Kabouik> Still trying to free some space on my / at the moment :<
11:54:32 <Kabouik> Oh it's 1-hour old, I suppose you did it. Thanks!
11:56:31 hannessteffenhag joins (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
11:56:36 <maerwald> Kabouik: and you need those packages https://paste.tomsmeding.com/Rpz4EHW8
11:56:36 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 250 seconds)
11:56:55 × Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds)
11:59:31 <Kabouik> Is it safe to remove distro repository ghc if I later use ghcup?
12:00:09 <maerwald> Kabouik: yeah
12:00:26 <Kabouik> It's going to remove all my haskell packages too, of course, which apparently is a lot: https://p.teknik.io/Raw/mCBvp
12:00:51 dyeplexer joins (~dyeplexer@user/dyeplexer)
12:01:22 <Kabouik> pandoc is in that list :/
12:01:30 burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk)
12:02:00 × _ak_ quits (~akspecs@136.24.181.20) (Changing host)
12:02:00 _ak_ joins (~akspecs@user/akspecs)
12:02:00 × azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer)
12:02:09 mikoto-c1 joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
12:03:05 azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
12:03:38 <Kabouik> That's the list of non haskell-* packages that apparently depend on system ghc: pandoc-citeproc, python-nbconvert, ghc-devel, shellcheck, pandoc, cpphs, data-default-instances-old-locale, data-default-instances-containers, data-default-instances-dlist, ghc
12:04:36 <maerwald> yeah, pandoc should be a static binary
12:04:37 <jumper149> mastarija: I think you should only need -XTypeApplications. I'm not an expert on that topic though.
12:04:41 <maerwald> not depend on haskell packages
12:05:43 Skyfire joins (~pyon@user/pyon)
12:05:44 <mastarija> jumper149, I have tried that first, but it's resulting in an error because my type is not visible on the right side of =>
12:07:02 <jumper149> I don't think that should matter. Are you using -XScopedTypeVariables?
12:07:27 <jumper149> Without an example it's hard to say though.
12:08:51 <mastarija> applicativeHomomorphism
12:08:51 <mastarija> :: forall f v b. ( Applicative f , Eq ( f b ) )
12:08:51 <mastarija> => Gen ( v -> b )
12:08:51 <mastarija> -> Gen v
12:08:51 <mastarija> -> Gen Bool
12:09:06 <mastarija> jumper149, yes I'm using ScopedTypeVariables
12:09:28 lortabac joins (~lortabac@151.53.202.164)
12:09:31 <mastarija> however this thing above doesn't type check unless I use AmbiguousTypes
12:10:07 <jumper149> mastarija: Next time use a paste bin like ix.io
12:10:41 <mastarija> jumper149, I intended it to be one line, but newlines were preserved.
12:11:08 <jumper149> Yeah, I don't care too much but some people on IRC are religious about it ;)
12:11:14 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
12:11:57 <mastarija> Looking at the docs, it seems like AllowAmbiguousTypes is introduced exactly for this problem
12:12:11 <mastarija> Making type application useful in my particular case
12:12:13 <mastarija> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/ambiguous_types.html?highlight=ambiguoustypes#extension-AllowAmbiguousTypes
12:16:47 <jumper149> mastarija: Gen is from Test.QuickCheck?
12:16:55 <mastarija> Yes
12:19:32 <jumper149> What are you trying to test here? To me it looks like you want to test something like fmap? What is going on on the value level?
12:19:59 <jumper149> I can see why you need TypeApplications though
12:20:11 <mastarija> jumper149, I'm testing the applicative homomorphism law
12:20:27 <mastarija> And I'm passing in a generator for 1 argument function and a value
12:21:05 <mastarija> then I want to wrap those values in `pure` of the `Applicative` and I want to pass in the type constructor of the applicative
12:21:17 <mastarija> So I can use pure @MyType etc
12:21:36 <mastarija> This basically : pure $ ( pure @f f <*> pure v ) == ( pure $ f v )
12:23:08 pbrisbin joins (~patrick@174-081-116-011.res.spectrum.com)
12:23:21 <mastarija> I mean, it's done, I was just wondering if there's some other way other than enabling the ambiguous types
12:23:52 <jumper149> It really doesn't look like you need AmbiguousTypes here, to me atleast.
12:23:53 <mastarija> I always feel a bit of remorse when enabling a language extension
12:24:27 hseg joins (~gesh@IGLD-84-228-238-79.inter.net.il)
12:24:32 <jumper149> What type variable is ambiguous without enabling it?
12:24:42 <jumper149> What does GHC throw
12:26:01 oxide joins (~lambda@user/oxide)
12:31:49 <mastarija> jumper149, "Could not deduce (Applicative f0) from the context: (Applicative f, Eq (f b))"
12:32:03 <mastarija> But leave it, I think ambiguous types are necessary here
12:32:23 <mastarija> GHC docs pretty much say that.
12:32:36 <jumper149> mastarija: Yeah, after re-reading the GHC docs, it seems to be the case here.
12:32:46 <mastarija> Unless I've interpreted something incorrectly :D
12:33:48 × markpythonicbtc quits (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:35:00 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
12:36:10 <hseg> mastarija: an alternative to AAT is to have some parameter force the tyvar to unify with the desired type
12:36:41 <mastarija> hseg, Yes, something like Proxy you mean :D
12:37:13 <hseg> or something like #. from Data.Functor.Utils
12:37:30 <hseg> https://hackage.haskell.org/package/base-4.14.1.0/docs/src/Data.Functor.Utils.html#%23.
12:39:04 famubu joins (~famubu@14.139.174.50)
12:40:33 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
12:41:22 <maerwald> who knew about this: https://hackage.haskell.org/package/bustle
12:41:50 <hseg> ooh cool
12:42:45 <Hecate> wow I most certainly did not
12:45:04 <Clint> i did
12:46:36 aman joins (~aman@user/aman)
12:46:40 × oxide quits (~lambda@user/oxide) (Ping timeout: 240 seconds)
12:46:44 shriekingnoise joins (~shrieking@186.137.144.80)
12:47:34 oxide joins (~lambda@user/oxide)
12:47:51 × ubert quits (~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
12:49:13 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:50:25 favonia joins (~favonia@user/favonia)
12:53:58 × burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
12:54:42 × mikoto-c1 quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-c1)
12:57:39 jakalx joins (~jakalx@base.jakalx.net)
13:01:09 mikoto-c1 joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
13:01:58 <hseg> til type families look through type synonyms. in particular, eg given type Throwing a e = Either e a, evaluating a type family with an equation such as Map n (f a) = f (n a) at (f a) ~ Throwing a e will result in the type Throwing (n a) e, not Throwing a (n e)
13:03:00 markpythonicbtc joins (~textual@50.228.44.6)
13:03:29 × mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 248 seconds)
13:04:15 <Hecate> type synonyms were a mistake of God
13:04:16 <hseg> which means my elaborate system of type synonyms doesn't work well once it reaches type-level manipulations
13:07:32 <hseg> hrmph. ok, that last bit of hope I had for my experimental refactor has died
13:07:59 <hseg> seems constructing the type of the function I want is too heavy
13:08:02 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
13:08:07 <Boomerang> It would be nice if GHC could report all type synonyms encountered along the way in error messages
13:08:15 <Boomerang> > map (+1) "Hello"
13:08:17 <lambdabot> error:
13:08:17 <lambdabot> • No instance for (Num Char) arising from a use of ‘+’
13:08:17 <lambdabot> • In the first argument of ‘map’, namely ‘(+ 1)’
13:08:43 hendursaga joins (~weechat@user/hendursaga)
13:08:45 <Boomerang> Here, it would be great if it could mention `String` somewhere in the error
13:09:05 <Boomerang> Maybe not the best example
13:11:45 <Boomerang> > "hello" + 1
13:11:47 <lambdabot> error:
13:11:47 <lambdabot> • No instance for (Num [Char]) arising from a use of ‘+’
13:11:47 <lambdabot> • In the expression: "hello" + 1
13:12:26 <jumper149> When using servant it would be really cool, if GHC told me why exactly it can't unify `ServerT API m` and my the type of my handler. But instead it just uses the type synonym `ServerT ...`.
13:16:19 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
13:16:58 <lortabac> hseg: you have to use newtypes to invert parameters properly
13:17:00 <dminuoso> maerwald: Haha!
13:17:11 <dminuoso> Didn't we just talk about "dynamically linking ssl to allow for prompt updates"?
13:17:13 <dminuoso> https://www.openssl.org/news/secadv/20210824.txt
13:17:30 <dminuoso> Or did you read that yesterday already?
13:17:46 <hseg> lortabac: yeah, except newtypes have the ergonomics issue of needing wrapping/unwrapping
13:18:32 <hseg> dminuoso: don't see the relevance to dynamic linking?
13:20:08 <dminuoso> hseg: maerwald's argument was that, if someone statically links openssl into each binary that you use, then you have to wait for *every* maintainer to provide a patched version.
13:20:22 <dminuoso> Assuming there even is a maintainer..
13:20:29 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
13:20:54 <dminuoso> And `openssl` is one of those things that, if a security vulnerability is found, you likely want it patched as soon as possible.
13:21:15 <maerwald> patched via your package manager with working gpg signatures
13:21:21 <maerwald> because your network is compromised now
13:22:04 hendursa1 joins (~weechat@user/hendursaga)
13:22:05 <dminuoso> So yeah. We have a buffer overflow with high criticality in openssl again. The advisory is from yesterday.
13:22:22 <maerwald> well, but haskell-tls isn't affected, right? :D
13:22:26 <dminuoso> hahaha
13:22:48 <hseg> ah, so it was the coincidence of openssl being cited as an example, and then having this kind of advisory right after?
13:22:56 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
13:22:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
13:22:56 wroathe joins (~wroathe@user/wroathe)
13:22:58 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
13:23:26 <dminuoso> maerwald: A long while ago, I was doing some research on "API security gateway appliances" that you put in front of your API, and they essentially just do MITM, run a bunch of regex, and then break your application in funny ways.
13:23:49 × Jonno_FTW quits (~come@api.carswap.me) (Ping timeout: 252 seconds)
13:24:04 <dminuoso> And one of the vendors even *advertized* their "inhouse developed TLS library that is not vulnerable to OpenSSL vulerabilities. Our device was never vulnerable to Heartbleed"
13:24:07 × dunj3 quits (~dunj3@p200300f617104f71b48bd778569fa2df.dip0.t-ipconnect.de) (Quit: Leaving)
13:24:18 <dminuoso> Realy bragged about it.
13:24:39 <dminuoso> hseg: yes
13:25:15 Jonno_FTW joins (~come@api.carswap.me)
13:26:33 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
13:30:03 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:32:08 burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk)
13:36:46 × aman quits (~aman@user/aman) (Quit: aman)
13:37:34 × burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
13:38:07 × keutoi quits (~keutoi@157.47.90.161) (Ping timeout: 252 seconds)
13:39:46 keutoi joins (~keutoi@106.208.52.180)
13:41:06 neo joins (~neo3@cpe-292712.ip.primehome.com)
13:42:05 Sgeo joins (~Sgeo@user/sgeo)
13:42:06 euandreh joins (~euandreh@2804:14c:33:9fe5:bfa8:e90:b3e4:2e82)
13:42:57 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
13:46:25 × jespada quits (~jespada@90.254.245.194) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:47:14 jespada joins (~jespada@90.254.245.194)
13:50:41 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 250 seconds)
13:54:07 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 240 seconds)
13:56:33 fendor_ joins (~fendor@91.141.62.191.wireless.dyn.drei.com)
13:58:29 × famubu quits (~famubu@14.139.174.50) (Ping timeout: 250 seconds)
13:58:55 × fendor quits (~fendor@91.141.62.188.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
14:02:31 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
14:04:15 elf_fortrez joins (~elf_fortr@adsl-72-50-7-253.prtc.net)
14:05:28 zebrag joins (~chris@user/zebrag)
14:06:27 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
14:06:46 jakalx joins (~jakalx@base.jakalx.net)
14:07:10 aman joins (~aman@user/aman)
14:07:20 MQ-17J joins (~MQ-17J@8.6.144.209)
14:07:35 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
14:07:46 hendursaga joins (~weechat@user/hendursaga)
14:07:57 slack1256 joins (~slack1256@191.126.161.169)
14:09:37 ubert joins (~Thunderbi@178.165.195.172.wireless.dyn.drei.com)
14:11:03 famubu joins (~famubu@61.0.251.1)
14:16:07 × famubu quits (~famubu@61.0.251.1) (Ping timeout: 240 seconds)
14:18:16 famubu joins (~famubu@14.139.174.50)
14:20:00 × vysn quits (~vysn@user/vysn) (Remote host closed the connection)
14:23:11 × azeem quits (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 250 seconds)
14:24:18 azeem joins (~azeem@176.201.15.223)
14:24:27 × keutoi quits (~keutoi@106.208.52.180) (Ping timeout: 240 seconds)
14:24:57 × azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer)
14:25:36 azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
14:25:47 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 240 seconds)
14:25:52 rond_ joins (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438)
14:27:17 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:27:36 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:30:36 jippiedoe joins (~david@2a02-a44c-e14e-1-93cc-7845-ef1f-7078.fixed6.kpn.net)
14:31:25 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 250 seconds)
14:31:31 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
14:31:46 keutoi joins (~keutoi@106.208.52.180)
14:32:36 × hseg quits (~gesh@IGLD-84-228-238-79.inter.net.il) (Ping timeout: 250 seconds)
14:34:38 hseg joins (~gesh@IGLD-84-228-238-79.inter.net.il)
14:34:41 × hseg quits (~gesh@IGLD-84-228-238-79.inter.net.il) (Client Quit)
14:35:52 × famubu quits (~famubu@14.139.174.50) (Ping timeout: 252 seconds)
14:45:10 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
14:45:10 allbery_b joins (~geekosaur@xmonad/geekosaur)
14:45:14 allbery_b is now known as geekosaur
14:45:41 jumper149 joins (~jumper149@80.240.31.34)
14:48:19 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 250 seconds)
14:48:19 × jumper149 quits (~jumper149@80.240.31.34) (Client Quit)
14:50:40 × hueso quits (~root@user/hueso) (Ping timeout: 240 seconds)
14:51:31 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
14:52:10 × cheater quits (~Username@user/cheater) (Quit: BitchX: the Cadillac of all clients)
14:53:07 × elf_fortrez quits (~elf_fortr@adsl-72-50-7-253.prtc.net) (Ping timeout: 246 seconds)
14:54:41 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
14:57:22 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
14:57:37 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
14:58:44 cheater joins (~Username@user/cheater)
14:59:10 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 240 seconds)
14:59:28 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
14:59:55 hueso joins (~root@user/hueso)
15:03:21 × jippiedoe quits (~david@2a02-a44c-e14e-1-93cc-7845-ef1f-7078.fixed6.kpn.net) (Quit: Leaving)
15:09:40 × hueso quits (~root@user/hueso) (Quit: hueso)
15:14:35 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
15:19:54 × aman quits (~aman@user/aman) (Quit: aman)
15:21:38 lavaman joins (~lavaman@98.38.249.169)
15:25:47 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
15:26:21 chris joins (~chris@81.96.113.213)
15:26:24 chris is now known as Guest8405
15:27:04 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
15:27:07 × kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 240 seconds)
15:28:14 PinealGlandOptic joins (~PinealGla@37.115.210.35)
15:29:52 reumeth joins (~reumeth@user/reumeth)
15:38:28 × lortabac quits (~lortabac@151.53.202.164) (Quit: WeeChat 2.8)
15:40:21 monadfritz[m] joins (~ahdytmatr@2001:470:69fc:105::e1f1)
15:41:07 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
15:43:10 aman joins (~aman@user/aman)
15:43:24 <monadfritz[m]> hi ther
15:43:34 <monadfritz[m]> is gi-gtk-declarative deprecated ?
15:44:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
15:44:07 <monadfritz[m]> as haskell gi base now at 0.25 and the gi-gtk-declarative still requires it to be <0.25?
15:45:30 <monadfritz[m]> and if I downgrade haskell gi base to <0.25 all other libs like gi-pango gi-harfbuzz yell at me that it must 0.25
15:48:01 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
15:48:30 <Drew[m]> I wouldn't call a library deprecated for not using the latest dependency versions.
15:48:59 <monadfritz[m]> so how do one manage to solve this?
15:49:22 <monadfritz[m]> what do u usually do Mr Drew?
15:49:39 <Drew[m]> The last change to the main branch was april this year, so there may be a good chance that the maintainer is still around to maintain it
15:50:03 <Drew[m]> What I'd do is try to build it with the latest dependency versions with `--allow-newer`
15:50:15 <monadfritz[m]> so it'll be good to call it a day and look for other lib?
15:50:18 <Drew[m]> If it works I'd open an issue on the package's repo saying it works
15:50:23 <monadfritz[m]> ah how to do that with stack?
15:50:34 <monadfritz[m]> just pass that --allow-newer as flags?
15:51:02 <monadfritz[m]> * just pass that --allow-newer as flags? nope, not this one.
15:51:43 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
15:52:47 <Drew[m]> With stack `--allow-newer` just disables all dependency bounds but
15:52:47 <Drew[m]> it's up to you to supply the exact off-snapshot library versions you want to use by specifying the exact version in `extra-deps` field in `stack.yaml`
15:54:21 <Drew[m]> monadfritz[m]: what happens when you try that?
15:54:25 <Drew[m]> I haven't used Stack in a while
15:54:32 <monadfritz[m]> there's no such thing as --allow-newer
15:54:40 <monadfritz[m]> I do stack build --allow-newer
15:54:43 <Drew[m]> huh, I'm sure there was
15:54:48 <monadfritz[m]> where's to put this --allow-newer
15:55:09 <monadfritz[m]> I'm using stack version 2.7.3
15:55:11 <monadfritz[m]> from ghcup
15:55:48 <Drew[m]> Maybe it's only a config file field for stack
15:55:56 <Drew[m]> https://docs.haskellstack.org/en/stable/yaml_configuration/
15:56:14 <Drew[m]> it's in there
15:56:25 <maerwald> do you need to use stack?
15:58:04 <monadfritz[m]> I think if I'm not using stack, deps error will get worse, as the other gui training repo I made only use cabal but I can't cabal build now, same error, deps.
15:58:07 jgeerds joins (~jgeerds@55d4b311.access.ecotel.net)
15:58:33 × jgeerds quits (~jgeerds@55d4b311.access.ecotel.net) (Remote host closed the connection)
15:59:49 lbseale joins (~lbseale@user/ep1ctetus)
15:59:54 <Drew[m]> In my experience the experience of trying to use out-of-bounds dependency versions is easier on cabal than stack, since cabal has the resolver.
16:00:27 <maerwald> yeah, if stack doesn't work ootb, the experience degrades exponentially
16:00:30 econo joins (uid147250@user/econo)
16:02:33 <Drew[m]> If cabal is giving you dependency errors then that actually means there's still options: new things to try `--allow-newer` on.
16:02:33 <Drew[m]> It's when you get compilation errors that you basically know you can't proceed until the maintainer fixes something.
16:02:44 elf_fortrez joins (~elf_fortr@adsl-72-50-7-198.prtc.net)
16:03:56 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
16:05:03 <monadfritz[m]> I force to ignore boundary and yeah it gives me compilation error
16:05:11 <monadfritz[m]> seems like the behavior changes?
16:06:15 <monadfritz[m]> the gi-cairo and gi-glib
16:07:34 <monadfritz[m]> if I may ask, what do you use haskell currently for? Mr Maerwald and Mr Drew
16:08:15 <monadfritz[m]> * seems like the types & function changes?
16:08:58 <Drew[m]> I use it for the odd open source library contribution and for personal projects.
16:09:03 × dajoer quits (~david@user/gvx) (Quit: leaving)
16:09:55 × Guest8405 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds)
16:10:16 × dfg quits (dfg@user/dfg) (Remote host closed the connection)
16:10:51 dfg joins (~dfg@li490-89.members.linode.com)
16:10:51 × dfg quits (~dfg@li490-89.members.linode.com) (Changing host)
16:10:51 dfg joins (~dfg@user/dfg)
16:11:49 <Drew[m]> For solving your gi-gtk-declarative issue, the "good citizen" solution is to basically do as much as you can to make it easy for the maintainer to fix the issue, and open an issue/pull request so the maintainer can fix it...
16:11:49 <Drew[m]> But that doesn't help you in the short term, and it's involved, and I've got to go soon so I can't show you how it's done. The quick solution might be to try changing your Stack resolver version
16:12:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:12:23 <Drew[m]> A previous LTS snapshot might be more compatible with some version of gi-gtk-declarative
16:17:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
16:18:35 fendor_ is now known as fendor
16:18:53 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
16:22:25 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds)
16:25:52 × rond_ quits (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed)
16:27:54 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
16:28:23 slowButPresent joins (~slowButPr@user/slowbutpresent)
16:32:07 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
16:32:22 hyiltiz joins (~quassel@31.220.5.250)
16:33:45 hueso joins (~root@user/hueso)
16:34:23 adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan)
16:35:10 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
16:36:09 ec_ joins (~ec@gateway/tor-sasl/ec)
16:38:58 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:38:58 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:38:58 wroathe joins (~wroathe@user/wroathe)
16:44:01 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
16:44:27 × hannessteffenhag quits (~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
16:44:59 × fendor quits (~fendor@91.141.62.191.wireless.dyn.drei.com) (Remote host closed the connection)
16:45:07 × mikoto-c1 quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
16:45:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:47:03 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
16:48:19 fendor joins (~fendor@91.141.62.191.wireless.dyn.drei.com)
16:49:50 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan)
16:50:10 × jdcain quits (~jdcain@2600:8804:1b96:4900::935) (Quit: WeeChat 3.2)
16:54:25 × aman quits (~aman@user/aman) (Quit: aman)
16:55:23 chris joins (~chris@81.96.113.213)
16:55:27 chris is now known as Guest6187
16:56:10 × elf_fortrez quits (~elf_fortr@adsl-72-50-7-198.prtc.net) (Quit: Client closed)
16:56:44 burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk)
16:57:46 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:57:46 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:57:46 wroathe joins (~wroathe@user/wroathe)
16:59:29 pavonia joins (~user@user/siracusa)
17:00:42 × fvr quits (uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
17:00:47 × Guest6187 quits (~chris@81.96.113.213) (Read error: Connection reset by peer)
17:01:31 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
17:01:47 × burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
17:02:40 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
17:03:04 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
17:04:27 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
17:04:48 Erutuon joins (~Erutuon@user/erutuon)
17:06:27 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
17:09:02 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 250 seconds)
17:13:24 chris joins (~chris@81.96.113.213)
17:13:25 __monty__ joins (~toonn@user/toonn)
17:13:28 chris is now known as Guest7836
17:14:26 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
17:19:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
17:22:47 × euandreh quits (~euandreh@2804:14c:33:9fe5:bfa8:e90:b3e4:2e82) (Quit: WeeChat 3.2)
17:24:28 ec_ joins (~ec@gateway/tor-sasl/ec)
17:30:24 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
17:31:23 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Read error: Connection reset by peer)
17:31:40 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
17:34:54 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
17:34:57 × keutoi quits (~keutoi@106.208.52.180) (Ping timeout: 248 seconds)
17:35:43 × azeem quits (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 252 seconds)
17:36:46 azeem joins (~azeem@176.201.15.223)
17:36:58 keutoi joins (~keutoi@157.47.99.152)
17:39:27 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
17:41:02 benin0369329 joins (~benin@183.82.178.142)
17:42:10 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
17:43:23 × benin036932 quits (~benin@183.82.178.142) (Ping timeout: 250 seconds)
17:43:23 benin0369329 is now known as benin036932
17:46:59 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
17:47:36 × azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer)
17:48:42 vysn joins (~vysn@user/vysn)
17:48:43 azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
17:49:27 mc47 joins (~mc47@xmonad/TheMC47)
17:52:14 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
17:52:41 ec_ joins (~ec@gateway/tor-sasl/ec)
17:57:06 × acid quits (~acid@user/acid) (Remote host closed the connection)
17:58:00 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:58:00 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
17:58:00 wroathe joins (~wroathe@user/wroathe)
17:59:29 aegon joins (~mike@174.127.249.180)
18:01:35 × zer0bitz quits (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 250 seconds)
18:03:46 × keutoi quits (~keutoi@157.47.99.152) (Ping timeout: 252 seconds)
18:05:12 × phma quits (phma@2001:5b0:211f:c4a8:b4c0:8312:139:73b8) (Read error: Connection reset by peer)
18:05:55 phma joins (phma@2001:5b0:215d:bf48:a0b0:d9f3:6271:d4bf)
18:07:46 <haskl> I'm trying to build my program. Not sure what the issue is here/not sure what libHSparsec is or what I need to install to get it working with ghc. I'm using ghcup and trying to install with cabal. https://paste.mozilla.org/jvFcCYCb
18:08:42 <maerwald> haskl: distro?
18:09:00 × Guest7836 quits (~chris@81.96.113.213) (Remote host closed the connection)
18:09:03 <haskl> maerwald, Debian 11.
18:09:21 <maerwald> haskl: which GHC is used?
18:09:26 <maerwald> the path
18:10:17 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
18:12:46 <haskl> test
18:13:16 <haskl> oh sorry! i was using ghcup it's using /home/tilde/.ghcup/bin/ghc
18:14:19 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
18:14:29 <maerwald> not sure if the store is busted
18:14:35 <haskl> i can build in 8.10.5 though, but I get this issue when i try to run `cabal run cabal test`: https://paste.mozilla.org/fh6t5kEC
18:15:20 <haskl> i remember being able to run doctests a while back but now that i' mtrying to run them i'm gettin gtrouble. i remember there was a weird problem with doctests in a specific version of ghc so that's why i was version hopping
18:15:35 <maerwald> haskl: use cabal-docspec for doctests
18:16:04 <maerwald> https://github.com/phadej/cabal-extras/tree/master/cabal-docspec
18:16:17 <maerwald> here are static binaries https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal-docspec/
18:18:31 <haskl> hm i'll have to read about how to make use of this thanks
18:19:23 <maerwald> https://github.com/phadej/cabal-extras/blob/master/cabal-docspec/MANUAL.md
18:19:26 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Quit: ZNC 1.8.2 - https://znc.in)
18:19:45 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
18:19:46 <maerwald> 1. you build your project, 2. you run `cabal-docspec`
18:19:53 <maerwald> you don't need a Main for it
18:20:00 <maerwald> no test suite in .cabal
18:20:23 <Kabouik> Thank you for all your help today maerwald. Sorry that the maintainer was a little bit hostile to your remarks (I remember him being very nice and patient so that's probably just a tone thing today)
18:20:37 <haskl> thanks maerwald
18:20:41 <maerwald> Kabouik: I don't think he was hostile :p
18:20:46 <maerwald> just grumpy
18:21:03 <maerwald> because he maintains 200 haskell packages alone
18:21:04 <Kabouik> Yeah, better wording. A bit hostile to the changes you suggested though
18:21:15 <Kabouik> But he *is* nice
18:21:15 <maerwald> I don't understand why distros keep doing it
18:21:20 pavonia is now known as `\pavonia^{}
18:21:21 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
18:21:29 × liskin quits (~liskin@xmonad/liskin) (Ping timeout: 252 seconds)
18:21:34 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
18:21:44 <maerwald> Yeah, I'm not sure if solus support is gonna move forward if they don't fix libtinfo
18:22:06 <maerwald> it's really just a compat symlink
18:22:08 <Kabouik> I have no understanding of what is being done to comment, I just grasped that he takes security seriously and don't want to give any attack exposure that could be avoided with some dedication from the maintainer
18:22:21 <maerwald> that was all offtopic :p
18:23:03 <Kabouik> Yeah I could see you two couldn't find a common ground, basically not agreeing on the issues or mechanisms themselves, so not easy to talk
18:23:11 <maerwald> https://gitlab.haskell.org/ghc/ghc/-/issues/17878 would solve most of our problems
18:23:16 `\pavonia^{} is now known as pavonia
18:24:01 <Kabouik> So I was reading you two exchanging, and every tine someone was saying something, I was like "Oh that's true, one point for him"
18:24:07 <Kabouik> And then same with the other. :>
18:24:16 <Kabouik> Just too candid and believing everyone is right.
18:24:34 <maerwald> I've spent too much time on distro packaging, so yeah
18:24:46 <Rembane_> I love the "the rest should be piece of cake?"-part
18:24:48 <maerwald> and seeing how they self-inflict pain doesn't make it better
18:24:52 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 250 seconds)
18:25:00 <Kabouik> Just when he said it's not his experience that users have trouble compiling stuff with cabal due to the Solus choices, I almost just waved timidly in the discussion because I did have trouble.
18:26:25 <maerwald> man, do static binary for pandoc and remove all the haskell-dev packages
18:26:32 <maerwald> it's too much work for no real gain
18:26:53 <maerwald> dynamic haskell libs... tzz
18:27:13 <maerwald> our dynamic libraries aren't great
18:27:37 <Kabouik> From what I understood, they consider there's a gain and it's worth it. I'm not able or skilled to judge though, and I know you disagree
18:27:42 <maerwald> no one packages go libs either, so what's the point
18:28:24 <maerwald> otherwise it will end up like arch linux, which just causes pain for their haskell users
18:31:56 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
18:32:27 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
18:33:55 ec_ joins (~ec@gateway/tor-sasl/ec)
18:34:49 hendursaga joins (~weechat@user/hendursaga)
18:34:54 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:43:06 × phma quits (phma@2001:5b0:215d:bf48:a0b0:d9f3:6271:d4bf) (Read error: Connection reset by peer)
18:45:38 × kuribas quits (~user@ptr-25vy0i7291ltmu3yh3q.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
18:46:06 × azeem quits (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 250 seconds)
18:46:28 azeem joins (~azeem@176.201.15.223)
18:48:42 phma joins (~phma@host-67-44-208-160.hnremote.net)
18:50:33 × MQ-17J quits (~MQ-17J@8.6.144.209) (Ping timeout: 250 seconds)
18:55:28 × azeem quits (~azeem@176.201.15.223) (Ping timeout: 252 seconds)
18:55:56 kimjetwav joins (~user@2607:fea8:235f:9730:98d1:a22e:1d0c:6a1f)
18:56:12 azeem joins (~azeem@176.201.15.223)
18:56:37 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 250 seconds)
19:00:05 × mei quits (~mei@user/mei) (Ping timeout: 250 seconds)
19:00:58 Pickchea joins (~private@user/pickchea)
19:03:22 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
19:06:09 × remedan quits (~remedan@balak.me) (Quit: Bye!)
19:07:02 remedan joins (~remedan@balak.me)
19:07:19 × markpythonicbtc quits (~textual@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:10:32 × remedan quits (~remedan@balak.me) (Client Quit)
19:13:33 × jess quits (~jess@libera/staff/jess) ()
19:16:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:16:22 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
19:19:27 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
19:19:55 remedan joins (~remedan@balak.me)
19:19:58 cheater joins (~Username@user/cheater)
19:21:33 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
19:23:22 lavaman joins (~lavaman@98.38.249.169)
19:23:31 chris joins (~chris@81.96.113.213)
19:23:34 chris is now known as Guest6628
19:27:42 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
19:27:46 × azeem quits (~azeem@176.201.15.223) (Read error: Connection reset by peer)
19:27:51 ec_ joins (~ec@gateway/tor-sasl/ec)
19:28:38 azeem joins (~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
19:37:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
19:41:17 jakalx parts (~jakalx@base.jakalx.net) ()
19:41:31 liskin joins (~liskin@xmonad/liskin)
19:42:35 × liskin quits (~liskin@xmonad/liskin) (Remote host closed the connection)
19:43:45 liskin joins (~liskin@xmonad/liskin)
19:47:16 × liskin quits (~liskin@xmonad/liskin) (Read error: Connection reset by peer)
19:48:17 jtomas_ joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
19:48:30 × jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 250 seconds)
19:49:39 × teo quits (~teo@137.220.120.222) ()
19:50:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
19:52:01 liskin joins (~liskin@xmonad/liskin)
19:56:50 fendor_ joins (~fendor@91.141.62.191.wireless.dyn.drei.com)
19:59:40 × fendor quits (~fendor@91.141.62.191.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
20:00:48 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
20:04:47 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 240 seconds)
20:05:15 neurocyte830 joins (~neurocyte@user/neurocyte)
20:05:50 × dispater quits (~dispater@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in)
20:06:41 elf_fortrez joins (~elf_fortr@adsl-72-50-4-45.prtc.net)
20:06:57 × mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 248 seconds)
20:07:10 dispater joins (~dispater@user/brprice)
20:07:11 × dispater quits (~dispater@user/brprice) (Remote host closed the connection)
20:08:02 juhp joins (~juhp@128.106.188.220)
20:08:31 dispater joins (~dispater@user/brprice)
20:09:02 orcus joins (~orcus@mail.brprice.uk)
20:09:54 × Guest6628 quits (~chris@81.96.113.213) (Remote host closed the connection)
20:10:31 chris joins (~chris@81.96.113.213)
20:10:35 chris is now known as Guest9305
20:10:46 × orcus quits (~orcus@mail.brprice.uk) (Client Quit)
20:11:16 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
20:11:38 ec_ joins (~ec@gateway/tor-sasl/ec)
20:12:45 jakalx joins (~jakalx@base.jakalx.net)
20:12:56 acidjnk joins (~acidjnk@p200300d0c72b9541f8d5911f73b02544.dip0.t-ipconnect.de)
20:12:57 orcus joins (~orcus@user/brprice)
20:13:27 × xff0x quits (~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) (Ping timeout: 240 seconds)
20:14:33 xff0x joins (~xff0x@2001:1a81:536c:3300:1de6:1836:7ec4:e477)
20:14:56 × Guest9305 quits (~chris@81.96.113.213) (Ping timeout: 250 seconds)
20:17:03 × orcus quits (~orcus@user/brprice) (Client Quit)
20:17:03 × dispater quits (~dispater@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in)
20:19:03 dispater joins (~dispater@user/brprice)
20:19:35 orcus joins (~orcus@user/brprice)
20:20:39 × oxide quits (~lambda@user/oxide) (Quit: oxide)
20:23:20 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
20:25:07 × jtomas_ quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
20:29:08 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:33:51 oxide joins (~lambda@user/oxide)
20:33:58 × oxide quits (~lambda@user/oxide) (Client Quit)
20:35:56 × elf_fortrez quits (~elf_fortr@adsl-72-50-4-45.prtc.net) (Quit: Client closed)
20:40:03 mcglk_ joins (~mcglk@131.191.49.120)
20:41:28 × mcglk quits (~mcglk@131.191.49.120) (Ping timeout: 268 seconds)
20:43:06 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
20:44:12 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
20:44:31 Alicebudda joins (~Alicebudd@cold.passenger.volia.net)
20:45:05 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:45:05 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
20:45:05 wroathe joins (~wroathe@user/wroathe)
20:50:36 <siers> how does one use Data.Type.Equality practically? what is it for? https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Type-Equality.html
20:51:03 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
20:52:07 × Topsi quits (~Tobias@dyndsl-095-033-024-207.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
20:55:16 ec_ joins (~ec@gateway/tor-sasl/ec)
20:55:25 markpythonicbtc joins (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18)
20:56:12 <monochrom> IIRC Data.Typeable has a use case.
20:56:16 Alicebudda74 joins (~Alicebudd@cold.passenger.volia.net)
20:56:39 <Ollie[m]> siers: that's a hard one to answer, but generally when you have some `T a`, and you want to learn what `a` actually is, you need equality proofs
20:57:05 <Ollie[m]> For example, `T` might be a GADT, and you might to prove that if someone gives you a `T a`, they've actually given you a `T Bool`
20:58:10 × Alicebudda quits (~Alicebudd@cold.passenger.volia.net) (Ping timeout: 246 seconds)
20:58:34 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
21:00:28 × fendor_ quits (~fendor@91.141.62.191.wireless.dyn.drei.com) (Read error: Connection reset by peer)
21:01:14 <siers> so you'd have `a :~: Bool` passed to make use of that `ta :: T a`? what do you do with it then? does this mean you can convert that `ta` to, say, `Maybe Bool`?
21:02:21 <siers> is it easier to learn what it does/how it works by simply learning agda instead? :)
21:07:03 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 250 seconds)
21:07:45 × d0ku quits (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds)
21:08:10 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
21:11:02 <maerwald> so who managed to do partial static linking on windows?
21:11:15 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:11:27 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 240 seconds)
21:11:46 <maerwald> so that mingw c libs are statically linked
21:12:49 × ubert quits (~Thunderbi@178.165.195.172.wireless.dyn.drei.com) (Remote host closed the connection)
21:13:07 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
21:13:30 <Ollie[m]> siers: it's certainly easier to learn about when you are working with/familiar with dependant types
21:13:45 <Ollie[m]> How about checking out Richard Eisenberg's functional pearl?
21:14:12 <Ollie[m]> It's about building a compiler - I think it's all called Stich
21:14:20 <Ollie[m]> https://richarde.dev/papers/2018/stitch/stitch.pdf
21:16:30 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
21:16:52 jtomas_ joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
21:16:57 <siers> I'll take a look
21:17:07 schuelermine joins (~anselmsch@user/schuelermine)
21:17:31 × schuelermine quits (~anselmsch@user/schuelermine) (Client Quit)
21:17:43 schuelermine joins (~anselmsch@user/schuelermine)
21:18:20 × schuelermine quits (~anselmsch@user/schuelermine) (Client Quit)
21:18:32 × jtomas_ quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
21:20:01 mikoto-chan joins (~mikoto-ch@83.137.2.246)
21:20:21 <siers> monochrom, that's works too
21:27:10 × pbrisbin quits (~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 240 seconds)
21:27:18 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
21:29:09 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
21:29:19 geekosaur joins (~geekosaur@xmonad/geekosaur)
21:40:05 ec_ joins (~ec@gateway/tor-sasl/ec)
21:41:08 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Read error: Connection reset by peer)
21:41:25 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
21:44:08 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 244 seconds)
21:47:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:47:21 × mikoto-chan quits (~mikoto-ch@83.137.2.246) (Ping timeout: 250 seconds)
21:51:06 × gawen quits (~gawen@user/gawen) (Quit: cya)
21:51:15 V joins (~v@anomalous.eu)
21:54:55 gawen joins (~gawen@user/gawen)
21:57:13 stiell joins (~stiell@gateway/tor-sasl/stiell)
22:04:47 × td_ quits (~td@muedsl-82-207-238-244.citykom.de) (Ping timeout: 240 seconds)
22:06:10 × acidjnk quits (~acidjnk@p200300d0c72b9541f8d5911f73b02544.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
22:07:05 × gawen quits (~gawen@user/gawen) (Quit: cya)
22:09:08 × shriekingnoise quits (~shrieking@186.137.144.80) (Read error: Connection reset by peer)
22:10:20 shriekingnoise joins (~shrieking@186.137.144.80)
22:10:56 gawen joins (~gawen@user/gawen)
22:12:48 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:13:31 × markpythonicbtc quits (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:13:35 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
22:15:16 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
22:21:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
22:23:52 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
22:24:44 lavaman joins (~lavaman@98.38.249.169)
22:24:47 × shriekingnoise quits (~shrieking@186.137.144.80) (Ping timeout: 240 seconds)
22:24:50 ec_ joins (~ec@gateway/tor-sasl/ec)
22:25:32 chisui joins (~chisui@200116b868b3e0003cb5f086a5e41c70.dip.versatel-1u1.de)
22:28:47 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
22:29:05 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
22:29:19 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Remote host closed the connection)
22:29:23 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
22:29:40 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
22:30:54 × Alicebudda74 quits (~Alicebudd@cold.passenger.volia.net) (Quit: Client closed)
22:33:47 × mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Quit: Leaving)
22:34:45 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
22:34:56 chexum joins (~quassel@gateway/tor-sasl/chexum)
22:35:20 × Gurkenglas quits (~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
22:38:02 markpythonicbtc joins (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18)
22:40:47 × Ananta-shesha quits (~pjetcetal@2.95.210.196) (Ping timeout: 240 seconds)
22:41:11 Ananta-shesha joins (~pjetcetal@2.95.210.196)
22:41:40 × jrm quits (~jrm@156.34.187.65) (Read error: Connection reset by peer)
22:42:02 jrm joins (~jrm@156.34.187.65)
22:44:37 × PinealGlandOptic quits (~PinealGla@37.115.210.35) (Quit: leaving)
22:49:19 × markpythonicbtc quits (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18) (Ping timeout: 250 seconds)
22:52:44 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
22:55:00 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
22:57:30 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
22:58:42 × fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 276 seconds)
22:58:44 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Ping timeout: 250 seconds)
22:59:48 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
23:00:10 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
23:01:23 skykanin joins (~skykanin@115.81-166-221.customer.lyse.net)
23:02:33 lavaman joins (~lavaman@98.38.249.169)
23:03:40 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
23:05:52 × skykanin quits (~skykanin@115.81-166-221.customer.lyse.net) (Client Quit)
23:06:59 neo1 joins (~neo3@cpe-292712.ip.primehome.com)
23:08:19 ec_ joins (~ec@gateway/tor-sasl/ec)
23:10:00 × neo quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 250 seconds)
23:10:13 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
23:18:29 × NinjaTrappeur quits (~ninja@user/ninjatrappeur) (Ping timeout: 252 seconds)
23:22:50 NinjaTrappeur joins (~ninja@user/ninjatrappeur)
23:23:25 × chisui quits (~chisui@200116b868b3e0003cb5f086a5e41c70.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
23:28:52 dajoer joins (~david@user/gvx)
23:29:15 markpythonicbtc joins (~textual@2601:647:5a00:35:780a:5d22:10f6:8b18)
23:30:34 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
23:33:15 × immae quits (~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 2.9)
23:37:30 immae joins (~immae@2a01:4f8:141:53e7::)
23:40:08 d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
23:41:39 ec_ joins (~ec@gateway/tor-sasl/ec)
23:45:11 × Ananta-shesha quits (~pjetcetal@2.95.210.196) (Quit: EXIT)
23:47:27 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
23:55:28 jess joins (~jess@libera/staff/jess)
23:55:46 Ananta-shesha joins (~pjetcetal@2.95.210.196)
23:55:49 × ec_ quits (~ec@gateway/tor-sasl/ec) (Quit: ec_)
23:59:42 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)

All times are in UTC on 2021-08-25.