2021/08/25

2021-08-25 00:04:33 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2)
2021-08-25 00:05:35 +0200chris(~chris@81.96.113.213)
2021-08-25 00:05:38 +0200chrisGuest1966
2021-08-25 00:05:39 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 00:06:28 +0200ubert(~Thunderbi@178.165.204.112.wireless.dyn.drei.com)
2021-08-25 00:06:53 +0200acidjnk_new3(~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-25 00:07:59 +0200ubert(~Thunderbi@178.165.204.112.wireless.dyn.drei.com) (Client Quit)
2021-08-25 00:08:17 +0200ubert(~Thunderbi@178.165.204.112.wireless.dyn.drei.com)
2021-08-25 00:09:19 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
2021-08-25 00:11:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-25 00:12:31 +0200ubert(~Thunderbi@178.165.204.112.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-08-25 00:13:49 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Ping timeout: 250 seconds)
2021-08-25 00:14:27 +0200ubert(~Thunderbi@178.165.204.112.wireless.dyn.drei.com)
2021-08-25 00:15:10 +0200ubert(~Thunderbi@178.165.204.112.wireless.dyn.drei.com) (Client Quit)
2021-08-25 00:15:51 +0200 <hseg> why is ghc complaining it cannot prove c (Sum a) in the call to f here? http://ix.io/3wRV
2021-08-25 00:15:55 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
2021-08-25 00:16:13 +0200mouseghost(~draco@user/mouseghost) (Quit: mew wew)
2021-08-25 00:19:18 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-25 00:19:25 +0200 <glguy> f @Sum :: c a => c (Sum a) => [Sum a] -> [Sum a]
2021-08-25 00:19:37 +0200 <glguy> but you only asserted that: c a => on the outside
2021-08-25 00:19:43 +0200 <glguy> so c (Sum a) is leftover
2021-08-25 00:20:18 +0200 <hseg> not sure I follow
2021-08-25 00:20:32 +0200 <glguy> to use f @Sum, you need two instances: c a, and c (Sum a)
2021-08-25 00:20:42 +0200 <glguy> you only had one of those available so you got an error about the other
2021-08-25 00:20:42 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-25 00:20:56 +0200 <hseg> ah. meant a quantified constraint instead
2021-08-25 00:21:03 +0200 <hseg> not a curried constraint arrow
2021-08-25 00:21:07 +0200 <glguy> ah
2021-08-25 00:21:37 +0200 <hseg> wanted "you can call this function whose type depends on f provided you show c a implies c (f a)"
2021-08-25 00:22:42 +0200 <glguy> What you wrote means you can only use f *if* it's true that c a implies c (Sum a), right?
2021-08-25 00:22:56 +0200 <hseg> yup
2021-08-25 00:23:00 +0200 <glguy> but we don't know that
2021-08-25 00:23:45 +0200 <glguy> did you want that implication as a top-level constraint perhaps instead of attached to 'f'?
2021-08-25 00:23:48 +0200 <hseg> .. meant the first parameter to test can only be called at such f s.t. c a implies c (f a)
2021-08-25 00:24:10 +0200 <glguy> since we don't know that c a implies c (Sum a) we can't use f
2021-08-25 00:25:07 +0200 <hseg> ah, right
2021-08-25 00:25:11 +0200 <hseg> hrmph
2021-08-25 00:25:56 +0200 <hseg> original usecase was that I want a combinator that will tag/untag variables that have useless Monoid constraints
2021-08-25 00:26:00 +0200 <hseg> which worked fine
2021-08-25 00:26:47 +0200 <hseg> (so my passed function was eg :: (forall f. Monoid (f l) => t (f l) -> t (f l) -> t (f l))
2021-08-25 00:27:14 +0200 <hseg> except now I want to pass a function that makes an additional assumption on this f l
2021-08-25 00:27:35 +0200 <hseg> hrm
2021-08-25 00:28:31 +0200 <hseg> ig the way to spell this would be to have test constrained with (c a => c (Sum a)), and have its parameter just assume c (f a)
2021-08-25 00:29:36 +0200 <hseg> ... and indeed, am forced to write what can equivalently and more simply can be written test :: c (Sum a) => ...
2021-08-25 00:31:07 +0200 <hseg> iow, qc wouldn't help me here unless I could magically synthesise a type constructor f s.t. c a => c (f a)
2021-08-25 00:33:44 +0200 <hseg> thanks!
2021-08-25 00:41:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 00:42:10 +0200Gurkenglas(~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2021-08-25 00:42:13 +0200shailangsa(~shailangs@host86-185-102-120.range86-185.btcentralplus.com)
2021-08-25 00:45:33 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-08-25 00:45:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-25 00:46:01 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-25 00:46:13 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 00:50:39 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-08-25 00:52:15 +0200sjb0(~stephen@1.145.81.71)
2021-08-25 00:55:00 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Remote host closed the connection)
2021-08-25 00:56:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
2021-08-25 00:58:08 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-08-25 00:59:03 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Read error: Connection reset by peer)
2021-08-25 00:59:22 +0200chisui(~chisui@200116b868760900d980a481ca884939.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
2021-08-25 00:59:48 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-25 01:03:49 +0200Ananta-shesha(~pjetcetal@2.95.210.196) (Remote host closed the connection)
2021-08-25 01:05:19 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-25 01:05:33 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-25 01:11:09 +0200Natch(~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
2021-08-25 01:11:32 +0200Ananta-shesha(~pjetcetal@2.95.210.196)
2021-08-25 01:12:10 +0200dextaa(~DV@user/dextaa) (Ping timeout: 240 seconds)
2021-08-25 01:13:39 +0200dextaa(~DV@user/dextaa)
2021-08-25 01:15:17 +0200 <hseg> hrmmph. any ideas on how to reduce this boilerplate? http://ix.io/3wS6
2021-08-25 01:16:27 +0200jgeerds(~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 240 seconds)
2021-08-25 01:17:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-25 01:17:27 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 240 seconds)
2021-08-25 01:18:58 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-25 01:21:23 +0200oldsk00l(~znc@ec2-3-120-38-228.eu-central-1.compute.amazonaws.com) (Remote host closed the connection)
2021-08-25 01:22:14 +0200benin036932(~benin@183.82.178.142)
2021-08-25 01:25:49 +0200 <hseg> so it seems I'm falling into the same trap I did a couple minutes ago here? http://ix.io/3wS8
2021-08-25 01:26:34 +0200 <hseg> viz. I'm expecting a constrained parameter to bring the required dicts with it
2021-08-25 01:27:13 +0200 <hseg> where instead a parameter (c => t) means I can only call that parameter in contexts where c is true
2021-08-25 01:27:46 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-25 01:28:14 +0200 <hseg> it seems what I want is an existential quantifier
2021-08-25 01:28:42 +0200 <hseg> which requires me to pack that parameter up in a GADT
2021-08-25 01:29:13 +0200vysn(~vysn@user/vysn) (Ping timeout: 250 seconds)
2021-08-25 01:29:14 +0200 <hseg> in which case I can scrap most of this approach, and try just doing GADT+evaluator
2021-08-25 01:33:18 +0200aegon(~mike@174.127.249.180)
2021-08-25 01:33:52 +0200Guest1966(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-08-25 01:34:22 +0200 <aegon> I need to compose effects in a new project and am realizing mtl is not the best choice according to what I am reading. Whats the actual difference of transformers? Is there something that summarizes the differences / reasoning behind transformers vs mtl?
2021-08-25 01:35:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Remote host closed the connection)
2021-08-25 01:35:09 +0200 <hpc> iirc one is the types and the other is the type classes
2021-08-25 01:35:42 +0200 <hpc> i usually just think of them as the same thing
2021-08-25 01:36:37 +0200 <aegon> so i should depend on both?
2021-08-25 01:36:40 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-25 01:37:10 +0200 <hpc> depend on mtl, and it depends on transformers
2021-08-25 01:38:10 +0200 <aegon> kk, thanks. Wierd, saw some stack overflow about one being a replacement for the other with monads-fd / monads-tf
2021-08-25 01:38:38 +0200 <geekosaur> mtl is more or less monads-fd
2021-08-25 01:39:08 +0200 <geekosaur> monads-tf was an old experimental alternative implementation
2021-08-25 01:39:32 +0200 <geekosaur> both were based on transformers iirc
2021-08-25 01:39:42 +0200 <hpc> yeah, monads-tf depends on transformers too
2021-08-25 01:40:21 +0200 <hpc> fd = functional dependencies, tf = type families
2021-08-25 01:41:04 +0200chris(~chris@81.96.113.213)
2021-08-25 01:41:07 +0200chrisGuest4855
2021-08-25 01:44:19 +0200 <aegon> hpc: geekosaur: thanks for demystifying things
2021-08-25 01:47:27 +0200dextaa(~DV@user/dextaa) (Ping timeout: 240 seconds)
2021-08-25 01:48:16 +0200 <monochrom> There was a historical point of reorganization, before which mtl and transformers were repeating the same labour, after which they divided the labour.
2021-08-25 01:48:27 +0200dextaa(~DV@user/dextaa)
2021-08-25 01:49:58 +0200sjb0(~stephen@1.145.81.71) (Read error: Connection reset by peer)
2021-08-25 01:54:58 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2021-08-25 01:55:19 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 252 seconds)
2021-08-25 01:55:44 +0200azeem(~azeem@176.201.15.223)
2021-08-25 02:00:07 +0200Guest4855(~chris@81.96.113.213) (Ping timeout: 240 seconds)
2021-08-25 02:00:47 +0200 <hseg> 5 stages of ghc errors: denial, frustration, realization, perseverance, giving up
2021-08-25 02:02:46 +0200 <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)
2021-08-25 02:03:31 +0200 <aegon> is there any difference performance wise between let and where blocks?
2021-08-25 02:05:37 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
2021-08-25 02:06:17 +0200delYsid(~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
2021-08-25 02:07:15 +0200chris(~chris@81.96.113.213)
2021-08-25 02:07:19 +0200chrisGuest1826
2021-08-25 02:07:29 +0200sjb0(~stephen@2001:8004:5160:3989:12e9:dcb3:94a7:de9e)
2021-08-25 02:13:47 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 02:15:03 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 02:18:36 +0200azeem(~azeem@176.201.15.223)
2021-08-25 02:20:08 +0200 <aegon> is there a way to write this 'cleaner' (remove the dangling return line) https://paste.tomsmeding.com/zlHD7XMQ
2021-08-25 02:20:44 +0200 <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
2021-08-25 02:21:07 +0200 <aegon> i could see how if there were a lens for it
2021-08-25 02:21:39 +0200motherfsck(~motherfsc@user/motherfsck)
2021-08-25 02:24:40 +0200 <glguy> aegon: looks good
2021-08-25 02:29:27 +0200alx741(~alx741@186.178.108.43) (Ping timeout: 250 seconds)
2021-08-25 02:30:40 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-25 02:31:20 +0200davincee(~da1dude@112.201.99.74)
2021-08-25 02:34:41 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds)
2021-08-25 02:34:47 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-08-25 02:36:26 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-08-25 02:36:27 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2021-08-25 02:37:40 +0200Lord_of_Life_Lord_of_Life
2021-08-25 02:37:50 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 02:41:27 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-25 02:42:43 +0200alx741(~alx741@186.178.109.43)
2021-08-25 02:42:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 02:48:10 +0200 <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
2021-08-25 02:48:29 +0200 <hseg> d) it's ugly as sin
2021-08-25 02:54:06 +0200fawful(~guy@c-76-104-217-93.hsd1.wa.comcast.net)
2021-08-25 02:55:08 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-25 02:57:04 +0200 <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
2021-08-25 02:57:17 +0200 <hseg> especially considering I have other stuff to do
2021-08-25 02:57:25 +0200 <hseg> thanks for the help, anyway!
2021-08-25 02:57:28 +0200hseg(~gesh@IGLD-84-228-238-79.inter.net.il) (Quit: WeeChat 3.2)
2021-08-25 03:08:12 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-25 03:11:13 +0200charukiewicz(~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 252 seconds)
2021-08-25 03:12:40 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 03:14:37 +0200charukiewicz(~quassel@irouteince04.i.subnet.rcn.com)
2021-08-25 03:16:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-25 03:18:47 +0200pbrisbin(~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 240 seconds)
2021-08-25 03:21:08 +0200azeem(~azeem@176.201.15.223)
2021-08-25 03:31:44 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 03:39:11 +0200azeem(~azeem@176.201.15.223)
2021-08-25 03:39:51 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 03:41:23 +0200xff0x(~xff0x@2001:1a81:5333:b100:677b:385:c244:5fff) (Ping timeout: 250 seconds)
2021-08-25 03:43:29 +0200xff0x(~xff0x@2001:1a81:536c:3300:eddd:cb7:2ef2:f526)
2021-08-25 03:44:25 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-08-25 03:46:27 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-08-25 03:49:11 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 250 seconds)
2021-08-25 03:50:41 +0200sjb0(~stephen@2001:8004:5160:3989:12e9:dcb3:94a7:de9e) (Quit: Leaving.)
2021-08-25 03:57:07 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 04:03:40 +0200keutoi(~keutoi@157.47.90.161)
2021-08-25 04:03:48 +0200venue(~venue@user/venue) (Ping timeout: 250 seconds)
2021-08-25 04:05:10 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 04:05:50 +0200obs\(~obscur1ty@user/obs/x-5924898) (Read error: Connection reset by peer)
2021-08-25 04:06:07 +0200azeem(~azeem@176.201.15.223)
2021-08-25 04:09:31 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-08-25 04:14:45 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 04:19:07 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
2021-08-25 04:21:19 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-08-25 04:23:17 +0200azeem(~azeem@176.201.15.223)
2021-08-25 04:24:11 +0200 <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
2021-08-25 04:24:11 +0200 <thornAvery> better way of writing it, is this somethnig i can nest the Either monad inside of to get it looking nicer?
2021-08-25 04:25:26 +0200 <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
2021-08-25 04:29:55 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 04:30:09 +0200famubu(~famubu@user/famubu)
2021-08-25 04:30:21 +0200azeem(~azeem@176.201.15.223)
2021-08-25 04:31:14 +0200 <thornAvery> I think I wanna use a monad transformer here?
2021-08-25 04:32:01 +0200dajoer(~david@user/gvx)
2021-08-25 04:32:05 +0200 <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).
2021-08-25 04:32:26 +0200 <famubu> Resultant `a` would be an infinte list of `1`s.
2021-08-25 04:33:40 +0200 <Axman6> that's just a cyclic definition, the tail of the list points to the cons that is the definiton of a
2021-08-25 04:34:50 +0200 <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
2021-08-25 04:36:27 +0200td_(~td@94.134.91.225) (Ping timeout: 240 seconds)
2021-08-25 04:38:35 +0200td_(~td@muedsl-82-207-238-244.citykom.de)
2021-08-25 04:41:46 +0200 <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?
2021-08-25 04:42:28 +0200 <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.
2021-08-25 04:42:45 +0200 <dsal> famubu: It's easier if you don't have a programming background. :)
2021-08-25 04:42:53 +0200 <dsal> The list a is 1 followed by the list a.
2021-08-25 04:43:04 +0200venue(~venue@user/venue)
2021-08-25 04:43:46 +0200 <famubu> dsal: Yeah when we look it as something like 'equations' it make sense.
2021-08-25 04:45:05 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2021-08-25 04:45:06 +0200 <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.
2021-08-25 04:55:27 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 04:57:27 +0200famubu(~famubu@user/famubu) (Ping timeout: 240 seconds)
2021-08-25 04:58:59 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-25 04:58:59 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-25 04:58:59 +0200wroathe(~wroathe@user/wroathe)
2021-08-25 04:59:01 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd)
2021-08-25 04:59:22 +0200slack1256(~slack1256@191.126.161.169)
2021-08-25 05:01:00 +0200Skyfire(~pyon@user/pyon) (Ping timeout: 250 seconds)
2021-08-25 05:04:05 +0200azeem(~azeem@176.201.15.223)
2021-08-25 05:10:54 +0200alx741(~alx741@186.178.109.43) (Quit: alx741)
2021-08-25 05:12:47 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 05:12:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 05:13:02 +0200azeem(~azeem@176.201.15.223)
2021-08-25 05:14:06 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-08-25 05:16:56 +0200otto_s_(~user@p4ff272f9.dip0.t-ipconnect.de)
2021-08-25 05:17:45 +0200 <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
2021-08-25 05:17:54 +0200spruit11(~quassel@2a02:a467:ccd6:1:1d51:90f2:b4a7:ece8) (Ping timeout: 250 seconds)
2021-08-25 05:18:41 +0200 <c_wraith> believe it or not, the type of liftIO answers that question
2021-08-25 05:19:11 +0200 <c_wraith> also, ST isn't even available as a transformer...
2021-08-25 05:19:26 +0200 <aegon> its a ReaderT
2021-08-25 05:19:33 +0200 <c_wraith> err, the type of forkIO
2021-08-25 05:20:01 +0200otto_s(~user@p5de2f618.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2021-08-25 05:20:49 +0200 <c_wraith> anyway. forkIO takes something with a type that unifies with IO a
2021-08-25 05:21:15 +0200 <c_wraith> that clearly means it must be IO. Not something wrapping IO
2021-08-25 05:21:29 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
2021-08-25 05:21:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2021-08-25 05:21:59 +0200 <c_wraith> now, as far as ReaderT, you can easily reconstruct it inside the forked thread
2021-08-25 05:22:22 +0200 <c_wraith> thought if it has any mutable cells in the environment, you will have to respect that you're nondeterministic now
2021-08-25 05:23:22 +0200 <aegon> the environment is used to pass along a pool of postgres connections
2021-08-25 05:23:50 +0200 <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
2021-08-25 05:25:05 +0200 <c_wraith> you can always do something like env <- ask ; forkIO (runReaderT action env)
2021-08-25 05:25:56 +0200 <c_wraith> where action is the thing you want to run in the other thread
2021-08-25 05:26:41 +0200 <c_wraith> Reader is trvial in a way that makes it easy to reconstruct inside forkIO
2021-08-25 05:26:46 +0200 <c_wraith> Err, ReaderT
2021-08-25 05:29:02 +0200 <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
2021-08-25 05:29:06 +0200 <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
2021-08-25 05:29:12 +0200 <aegon> brain is fresh in the mornin
2021-08-25 05:29:24 +0200 <Axman6> uh, ok, I guess they left. sorry fendor
2021-08-25 05:30:02 +0200spruit11(~quassel@2a02:a467:ccd6:1:8c29:d071:7a1c:6a79)
2021-08-25 05:31:13 +0200slack1256(~slack1256@191.126.161.169) (Remote host closed the connection)
2021-08-25 05:32:47 +0200 <c_wraith> yeah, I'd expect the pool to be threadsafe. Not much use having one that isn't.
2021-08-25 05:33:01 +0200 <aegon> oy, this means i need to despecialize the rest of my funcs away from IO and go into MonadIO land :?
2021-08-25 05:34:05 +0200 <c_wraith> If you want to be polymorphic, yes. Alternatively, you can specialize them to your type
2021-08-25 05:34:41 +0200 <dsal> aegon: There's also UnliftIO if you want to into that direction.
2021-08-25 05:36:10 +0200 <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
2021-08-25 05:37:10 +0200 <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.
2021-08-25 05:40:05 +0200 <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:/
2021-08-25 05:40:05 +0200 <thornAvery> /pastebin.com/raw/TuFjv2Sc which seems bad
2021-08-25 05:42:58 +0200 <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
2021-08-25 05:47:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-25 05:47:29 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 05:47:31 +0200Guest1826(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-25 05:48:06 +0200famubu(~famubu@14.139.174.50)
2021-08-25 05:48:08 +0200chris(~chris@81.96.113.213)
2021-08-25 05:48:12 +0200chrisGuest7659
2021-08-25 05:52:15 +0200Guest7659(~chris@81.96.113.213) (Ping timeout: 250 seconds)
2021-08-25 05:52:33 +0200chris(~chris@81.96.113.213)
2021-08-25 05:52:36 +0200chrisGuest3591
2021-08-25 05:53:37 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-08-25 05:53:39 +0200azeem(~azeem@176.201.15.223)
2021-08-25 05:56:03 +0200 <aegon> dsal hey, UnliftIO is pretty cool i'll try to figure out how to swap it
2021-08-25 05:56:30 +0200 <dsal> thornAvery: You might consider not mixing in effects.
2021-08-25 05:57:29 +0200 <dsal> There's ExceptT and ContT that might help you create a better structure.
2021-08-25 05:59:13 +0200 <dsal> But in general, that's doing too many different things to understand what it's supposed to be.
2021-08-25 06:03:06 +0200talismanick(~user@2601:644:8500:8350::cc04) (Remote host closed the connection)
2021-08-25 06:03:19 +0200talismanick(~user@2601:644:8500:8350::cc04)
2021-08-25 06:04:10 +0200falafel(~falafel@2601:280:4e00:9970:889a:3513:448f:30e9)
2021-08-25 06:04:14 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-08-25 06:04:49 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-08-25 06:08:52 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds)
2021-08-25 06:09:59 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-25 06:10:04 +0200res0nat0r8(~Fletch@dia.whatbox.ca) (Quit: Ping timeout (120 seconds))
2021-08-25 06:10:38 +0200res0nat0r8(~Fletch@dia.whatbox.ca)
2021-08-25 06:10:53 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 06:11:18 +0200azeem(~azeem@176.201.15.223)
2021-08-25 06:15:33 +0200fawful(~guy@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: WeeChat 3.2)
2021-08-25 06:18:32 +0200markpythonicbtc(~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-25 06:19:27 +0200markpythonicbtc(~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0)
2021-08-25 06:19:35 +0200famubu(~famubu@14.139.174.50) (Changing host)
2021-08-25 06:19:35 +0200famubu(~famubu@user/famubu)
2021-08-25 06:23:17 +0200 <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
2021-08-25 06:23:25 +0200 <aegon> but within that inner func i need access to my stack
2021-08-25 06:23:35 +0200 <aegon> this seems like what unliftIO is for
2021-08-25 06:23:46 +0200 <aegon> or do i need to recreate my stack inside the lambda
2021-08-25 06:23:50 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-08-25 06:28:39 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 06:29:52 +0200 <dsal> unliftio should do most of the work for you.
2021-08-25 06:32:29 +0200 <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
2021-08-25 06:33:01 +0200 <aegon> so i'm trying to get a better grip on it reading fp complete stuff on unliftio
2021-08-25 06:35:40 +0200azeem(~azeem@176.201.15.223)
2021-08-25 06:36:28 +0200 <aegon> oh i see i need to prefix run on my actions that use my monad within that lambda
2021-08-25 06:37:53 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
2021-08-25 06:41:13 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2021-08-25 06:48:38 +0200mei(~mei@user/mei)
2021-08-25 06:49:07 +0200 <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
2021-08-25 06:50:14 +0200 <dsal> It shouldn't be a *lot*. But maybe there's a design problem at a different level.
2021-08-25 06:51:08 +0200 <dsal> You said you're using forkIO, right? Are you using the unlifted version?
2021-08-25 06:51:51 +0200res0nat0r8(~Fletch@dia.whatbox.ca) (Quit: Ping timeout (120 seconds))
2021-08-25 06:51:53 +0200 <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.
2021-08-25 06:52:05 +0200res0nat0r8(~Fletch@dia.whatbox.ca)
2021-08-25 06:53:20 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-08-25 06:53:57 +0200hololeap(~hololeap@user/hololeap)
2021-08-25 06:54:35 +0200 <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
2021-08-25 06:55:09 +0200 <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
2021-08-25 06:56:20 +0200 <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
2021-08-25 06:56:34 +0200 <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.
2021-08-25 06:57:13 +0200 <aegon> I'm running a zeromq server and Main fork's different threads for different sockets
2021-08-25 06:57:46 +0200 <aegon> is it a mistake / needless mess to mix MonadUnliftIO and MonadIO
2021-08-25 06:58:03 +0200 <dsal> MonadUnliftIO is MonadIO
2021-08-25 06:58:12 +0200 <dsal> It just has more requirements.
2021-08-25 06:58:44 +0200 <aegon> welll, that fixes that
2021-08-25 06:59:11 +0200 <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.
2021-08-25 06:59:35 +0200 <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
2021-08-25 07:00:19 +0200 <aegon> let me put together a paste I'm probably missing someting
2021-08-25 07:00:44 +0200 <aegon> but I think i can do withRunInIO once but then i have to call run often
2021-08-25 07:00:49 +0200 <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.
2021-08-25 07:00:54 +0200 <aegon> this is going to be a somewhat contrived paste
2021-08-25 07:01:09 +0200 <dsal> Occasionally people do things that aren't somewhat contrived here. heh
2021-08-25 07:03:07 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2021-08-25 07:04:08 +0200CannabisIndica(~herb@user/mesaboogie) (Ping timeout: 268 seconds)
2021-08-25 07:10:15 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 07:10:48 +0200azeem(~azeem@176.201.15.223)
2021-08-25 07:14:38 +0200venue(~venue@user/venue) (Quit: adios)
2021-08-25 07:14:40 +0200 <aegon> dsal: :P, ok here it is https://paste.tomsmeding.com/WkjoePQS
2021-08-25 07:15:02 +0200 <aegon> thats not so bad as theres only one run but that run gets called every "tick"
2021-08-25 07:15:25 +0200 <aegon> so if it's expensive thats adding a lot of overhead if were talking about a tick every 10 ms
2021-08-25 07:15:42 +0200 <aegon> darn, i left an extra do in there :X
2021-08-25 07:15:48 +0200 <dsal> A few :)
2021-08-25 07:16:04 +0200 <aegon> and i used a reserved word as a variable, i definitely wrote that in the paste form <_< , >_>
2021-08-25 07:16:25 +0200cheater(~Username@user/cheater)
2021-08-25 07:16:46 +0200 <aegon> but thats the jist of it, i need to run this inner loop logic in IO but it needs my monad stack
2021-08-25 07:16:53 +0200 <aegon> so i end up calling run really frequently
2021-08-25 07:17:27 +0200 <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
2021-08-25 07:19:39 +0200Nosrep(~archbox@user/nosrep) (Ping timeout: 258 seconds)
2021-08-25 07:21:17 +0200Nosrep(~archbox@user/nosrep)
2021-08-25 07:23:16 +0200 <dsal> I don't know. perf implications are things profiling tells you.
2021-08-25 07:23:51 +0200 <aegon> well, i guess also if theres no way around it its just how it is
2021-08-25 07:23:59 +0200 <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.
2021-08-25 07:24:32 +0200 <dsal> There are always ways, but worrying about performance before you measure it may not be the best idea.
2021-08-25 07:25:20 +0200 <aegon> I'm maybe too worried about monad stack performance. I got scared by this page https://wiki.haskell.org/Performance/Monads
2021-08-25 07:26:52 +0200 <dsal> Just measure. If this isn't a cost center, then don't worry about it.
2021-08-25 07:27:40 +0200 <aegon> your right. I'm worried about optimizing maybe a non-issue
2021-08-25 07:28:33 +0200CnnibisIndica(~herb@user/mesaboogie)
2021-08-25 07:32:19 +0200falafel(~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) (Remote host closed the connection)
2021-08-25 07:32:43 +0200falafel(~falafel@2601:280:4e00:9970:889a:3513:448f:30e9)
2021-08-25 07:35:43 +0200sab-(~shawna@76.14.56.206)
2021-08-25 07:36:07 +0200sab-(~shawna@76.14.56.206) (Remote host closed the connection)
2021-08-25 07:38:18 +0200sab-(~shawna@76.14.56.206)
2021-08-25 07:38:24 +0200sab-(~shawna@76.14.56.206) (Remote host closed the connection)
2021-08-25 07:38:29 +0200qbt(~edun@user/edun)
2021-08-25 07:38:53 +0200sab-(~shawna@76.14.56.206)
2021-08-25 07:39:03 +0200sab-(~shawna@76.14.56.206) (Remote host closed the connection)
2021-08-25 07:39:51 +0200sabra(~shawna@76.14.56.206)
2021-08-25 07:40:53 +0200sabra(~shawna@76.14.56.206) (Remote host closed the connection)
2021-08-25 07:41:14 +0200sabhrd33(~shawna@76.14.56.206)
2021-08-25 07:43:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 07:44:53 +0200kenran(~kenran@b2b-37-24-119-190.unitymedia.biz)
2021-08-25 07:45:47 +0200falafel(~falafel@2601:280:4e00:9970:889a:3513:448f:30e9) (Ping timeout: 250 seconds)
2021-08-25 07:47:10 +0200acidjnk_new3(~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de)
2021-08-25 07:55:45 +0200acidjnk_new3(~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-25 08:00:31 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 08:01:24 +0200azeem(~azeem@176.201.15.223)
2021-08-25 08:04:29 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-08-25 08:14:47 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 08:15:37 +0200azeem(~azeem@176.201.15.223)
2021-08-25 08:18:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-25 08:18:40 +0200zaquest(~notzaques@5.128.210.178)
2021-08-25 08:20:01 +0200xff0x(~xff0x@2001:1a81:536c:3300:eddd:cb7:2ef2:f526) (Ping timeout: 250 seconds)
2021-08-25 08:21:08 +0200xff0x(~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d)
2021-08-25 08:26:20 +0200lortabac(~lortabac@151.53.202.164)
2021-08-25 08:26:47 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 08:27:45 +0200azeem(~azeem@176.201.15.223)
2021-08-25 08:29:17 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-08-25 08:30:17 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-25 08:34:53 +0200echoreply(~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
2021-08-25 08:35:23 +0200echoreply(~echoreply@45.32.163.16)
2021-08-25 08:36:09 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-25 08:36:27 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 08:36:37 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-25 08:36:41 +0200azeem(~azeem@176.201.15.223)
2021-08-25 08:40:10 +0200sjb0(~stephen@1.145.57.172)
2021-08-25 08:46:24 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-25 08:48:33 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2021-08-25 08:51:25 +0200reumeth(~reumeth@user/reumeth)
2021-08-25 08:51:28 +0200vysn(~vysn@user/vysn)
2021-08-25 08:57:07 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 08:57:44 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-08-25 08:57:45 +0200acidjnk_new3(~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de)
2021-08-25 08:58:05 +0200azeem(~azeem@176.201.15.223)
2021-08-25 08:58:46 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Client Quit)
2021-08-25 09:00:46 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-08-25 09:03:09 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-25 09:06:22 +0200gauss(~gauss@139.180.175.160) (Leaving)
2021-08-25 09:06:54 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-08-25 09:08:03 +0200 <siers> what's the I# in "data Int = I# Int#"?
2021-08-25 09:08:35 +0200 <tomsmeding> just a data constructor
2021-08-25 09:08:53 +0200 <tomsmeding> the # doesn't actually mean anything, it's part of the name just like ' can be
2021-08-25 09:09:10 +0200 <tomsmeding> except you need to explicitly tell the compiler that you want to use it in names using LANGUAGE MagicHash
2021-08-25 09:09:57 +0200 <[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
2021-08-25 09:10:19 +0200 <tomsmeding> yeah, that holds for Int# in this case
2021-08-25 09:10:41 +0200buggymcbugfix(~buggymcbu@p4fcaa0a6.dip0.t-ipconnect.de)
2021-08-25 09:10:47 +0200hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-25 09:10:48 +0200 <[exa]> I guess in this case the I# is there for adding the box around the Int inside
2021-08-25 09:11:17 +0200 <[exa]> and possibly disambiguating it from other types that just contain Int#
2021-08-25 09:11:48 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-25 09:21:07 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-25 09:21:12 +0200 <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
2021-08-25 09:21:41 +0200 <fendor> Currently, I get: "parse error on input 'Nothing'"
2021-08-25 09:21:57 +0200 <tomsmeding> fendor: if someone writes 'RealSrcSpan x y' in their code, what would y be bound to?
2021-08-25 09:22:08 +0200 <fendor> Nothing?
2021-08-25 09:22:50 +0200 <tomsmeding> what about `pattern RealSrcSpan x y <- ((,Nothing) -> (SrcLoc.RealSrcSpan x, y))`
2021-08-25 09:22:57 +0200 <tomsmeding> using ViewPatterns and TupleSections
2021-08-25 09:23:33 +0200 <fendor> looks really not sexy, but works, thanks! Ok, so every variable needs to bound on the rhs?
2021-08-25 09:23:43 +0200acidjnk_new3(~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-25 09:23:45 +0200 <tomsmeding> the "it's always traverse" of applicative things becomes "it's always ViewPatterns" with patternsynonyms :p
2021-08-25 09:23:46 +0200 <tomsmeding> yeah
2021-08-25 09:23:57 +0200 <tomsmeding> it should translate a pattern to a pattern
2021-08-25 09:24:15 +0200 <tomsmeding> and ViewPatterns allows you to put arbitrary stuff in that pattern
2021-08-25 09:24:40 +0200 <fendor> I don't understand quite why it should be invalid to inject constants
2021-08-25 09:24:59 +0200 <tomsmeding> yeah what you wrote could easily be a shorthand for my version I guess
2021-08-25 09:25:24 +0200 <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`
2021-08-25 09:25:54 +0200 <tomsmeding> which... I'm not even sure is well defined to say; can you do case analysis on patterns themselves?
2021-08-25 09:25:59 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-25 09:26:19 +0200 <tomsmeding> but anyway I can see why the extension doesn't allow the syntax
2021-08-25 09:28:34 +0200 <fendor> no, I dont think you can...
2021-08-25 09:30:37 +0200jdcain(~jdcain@2600:8804:1b96:4900::935)
2021-08-25 09:31:15 +0200 <fendor> thank you for the explanation, hopefully this was the last time I struggled with pattern synonyms
2021-08-25 09:31:21 +0200 <tomsmeding> :D
2021-08-25 09:35:58 +0200Cajun(~Cajun@user/cajun) (Ping timeout: 246 seconds)
2021-08-25 09:36:58 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-25 09:37:22 +0200ubert(~Thunderbi@77.119.197.143.wireless.dyn.drei.com)
2021-08-25 09:37:52 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 252 seconds)
2021-08-25 09:38:28 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
2021-08-25 09:38:40 +0200ubert(~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Client Quit)
2021-08-25 09:39:22 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-08-25 09:40:13 +0200azeem(~azeem@176.201.15.223)
2021-08-25 09:43:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 09:46:16 +0200sabhrd33(~shawna@76.14.56.206) (Remote host closed the connection)
2021-08-25 09:47:33 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 09:48:39 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Remote host closed the connection)
2021-08-25 09:50:07 +0200Gurkenglas(~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de)
2021-08-25 09:50:46 +0200ubert(~Thunderbi@77.119.197.143.wireless.dyn.drei.com)
2021-08-25 09:51:47 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-25 09:53:37 +0200favonia(~favonia@user/favonia) (Ping timeout: 250 seconds)
2021-08-25 09:59:17 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-25 10:01:19 +0200cfricke(~cfricke@user/cfricke)
2021-08-25 10:08:40 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 252 seconds)
2021-08-25 10:08:49 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-25 10:09:03 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-25 10:09:19 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-25 10:10:28 +0200ub(~Thunderbi@77.119.197.143.wireless.dyn.drei.com)
2021-08-25 10:10:30 +0200azeem(~azeem@176.201.15.223)
2021-08-25 10:11:49 +0200Guest3591(~chris@81.96.113.213) (Ping timeout: 250 seconds)
2021-08-25 10:12:33 +0200ub(~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Client Quit)
2021-08-25 10:14:03 +0200hendursa1(~weechat@user/hendursaga)
2021-08-25 10:14:10 +0200famubu(~famubu@user/famubu) (Ping timeout: 252 seconds)
2021-08-25 10:17:06 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-25 10:17:39 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-25 10:17:39 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-25 10:17:42 +0200allbery_bgeekosaur
2021-08-25 10:19:07 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 252 seconds)
2021-08-25 10:19:21 +0200chris(~chris@81.96.113.213)
2021-08-25 10:19:25 +0200chrisGuest6130
2021-08-25 10:19:43 +0200kuribas(~user@ptr-25vy0i7291ltmu3yh3q.18120a2.ip6.access.telenet.be)
2021-08-25 10:20:31 +0200 <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
2021-08-25 10:21:09 +0200jgeerds(~jgeerds@55d4b311.access.ecotel.net)
2021-08-25 10:21:58 +0200elf_fortres(~elf_fortr@adsl-72-50-4-46.prtc.net)
2021-08-25 10:22:00 +0200azeem(~azeem@176.201.15.223)
2021-08-25 10:22:15 +0200 <tdammers> Not all code needs to be constantly changed in order to be useful
2021-08-25 10:22:31 +0200 <tdammers> So just because there haven't been any commits in a couple years doesn't mean you shouldn't use it
2021-08-25 10:22:49 +0200aku(~aku@eagleflow.fi)
2021-08-25 10:23:21 +0200 <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
2021-08-25 10:23:33 +0200 <kuribas> it compiles, but I need a new feature (expanding namespaces).
2021-08-25 10:24:37 +0200 <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
2021-08-25 10:24:42 +0200 <kuribas> also: https://github.com/the-real-blackh/hexpat/issues/11
2021-08-25 10:25:10 +0200 <kuribas> tdammers: easiest would be to use the feature from the underlying C library, which requires patching.
2021-08-25 10:25:15 +0200 <tdammers> hmm, that one is a bit more disconcerting
2021-08-25 10:26:04 +0200 <kuribas> Otherwise I'd need to parse the xmlns in my library. But that's the wrong level of doing things IMO...
2021-08-25 10:26:52 +0200 <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
2021-08-25 10:26:55 +0200 <kuribas> tdammers: Or I'd fork the library...
2021-08-25 10:27:13 +0200 <kuribas> tdammers: hexpat is quite nice.
2021-08-25 10:27:29 +0200 <kuribas> erm expat...
2021-08-25 10:28:03 +0200 <kuribas> because it's fast *and* standard compliant.
2021-08-25 10:28:50 +0200 <kuribas> all these libraries that acquire speed by not properly parsing xml are rubbish IMO
2021-08-25 10:29:45 +0200jippiedoe(~david@77-171-152-62.fixed.kpn.net)
2021-08-25 10:30:56 +0200 <kuribas> I can call it witchpat :-)
2021-08-25 10:31:11 +0200 <kuribas> (hex is witch in dutch)
2021-08-25 10:31:14 +0200 <c_wraith> "properly" parsing xml is a security risk
2021-08-25 10:31:20 +0200 <kuribas> c_wraith: ?
2021-08-25 10:31:54 +0200 <c_wraith> doing full custom entity processing allows carefully-crafted documents to scan your internal network and report the results to third parties
2021-08-25 10:32:13 +0200 <kuribas> xml allows arbitrary code execution?
2021-08-25 10:32:22 +0200 <c_wraith> it allows arbitrary URL fetching
2021-08-25 10:32:54 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-25 10:33:11 +0200 <c_wraith> security standards these days are to not process custom entities.
2021-08-25 10:33:18 +0200 <tdammers> the beloved external entity hack
2021-08-25 10:33:42 +0200 <tdammers> custom entities are fine, but you need to disallow external entities
2021-08-25 10:33:57 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-25 10:33:59 +0200 <kuribas> I think the SAX parser simply returns the processing instructions...
2021-08-25 10:34:05 +0200 <tdammers> you also want to disable validating against arbitrary schemas
2021-08-25 10:34:09 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-25 10:35:39 +0200jippiedoe(~david@77-171-152-62.fixed.kpn.net) (Ping timeout: 250 seconds)
2021-08-25 10:35:46 +0200dunj3(~dunj3@p200300f617104f71b48bd778569fa2df.dip0.t-ipconnect.de)
2021-08-25 10:36:22 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2021-08-25 10:37:34 +0200elf_fortres(~elf_fortr@adsl-72-50-4-46.prtc.net) (Ping timeout: 246 seconds)
2021-08-25 10:38:41 +0200jespada(~jespada@90.254.245.194) (Ping timeout: 250 seconds)
2021-08-25 10:39:01 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-25 10:39:35 +0200jippiedoe(~david@2a02-a44c-e14e-1-9da9-d54e-bfee-aa3a.fixed6.kpn.net)
2021-08-25 10:39:40 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-08-25 10:40:28 +0200jespada(~jespada@90.254.245.194)
2021-08-25 10:40:52 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-25 10:41:57 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-25 10:44:07 +0200jippiedoe(~david@2a02-a44c-e14e-1-9da9-d54e-bfee-aa3a.fixed6.kpn.net) (Ping timeout: 240 seconds)
2021-08-25 10:46:21 +0200turlando(~turlando@user/turlando) (Quit: turlando)
2021-08-25 10:46:38 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-08-25 10:46:38 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-08-25 10:46:38 +0200turlando(~turlando@user/turlando)
2021-08-25 10:49:25 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:6136:f245:971c:30da)
2021-08-25 10:50:16 +0200famubu(~famubu@14.139.174.50)
2021-08-25 10:51:05 +0200jumper149(~jumper149@80.240.31.34)
2021-08-25 10:51:10 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 240 seconds)
2021-08-25 10:51:13 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-08-25 10:51:14 +0200cross(~cross@spitfire.i.gajendra.net) (Quit: Lost terminal)
2021-08-25 10:52:18 +0200 <kuribas> tdammers: or I just copy the part of the library I use into my own library...
2021-08-25 10:53:03 +0200 <kuribas> I only use the SAX part anyway...
2021-08-25 10:53:18 +0200 <tdammers> that's also a fork, just a more ad-hoc one
2021-08-25 10:53:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:6136:f245:971c:30da) (Ping timeout: 240 seconds)
2021-08-25 10:54:27 +0200 <kuribas> tdammers: I just don't feel like maintaining a big library...
2021-08-25 10:54:42 +0200 <kuribas> I mean, *another* big library :)
2021-08-25 10:54:53 +0200 <tdammers> haha yeah, well, I never said this was an easy choice
2021-08-25 10:55:14 +0200 <Taneb> Are you tied to hexpat?
2021-08-25 10:55:21 +0200 <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
2021-08-25 10:56:19 +0200 <kuribas> Taneb: not really, except it's in the package name :)
2021-08-25 10:57:39 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-25 10:57:45 +0200xff0x(~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) (Ping timeout: 250 seconds)
2021-08-25 10:58:24 +0200 <kuribas> Taneb: if you know another fast complient SAX parser, let me know :)
2021-08-25 10:58:55 +0200azeem(~azeem@176.201.15.223)
2021-08-25 10:59:15 +0200 <tdammers> oh, third option: start from scratch and make your own expat bindings
2021-08-25 11:03:06 +0200 <kuribas> The hexpat-bindings look ok. Definitely not trivial to setup...
2021-08-25 11:07:07 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 240 seconds)
2021-08-25 11:07:42 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-25 11:13:40 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-25 11:14:55 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-08-25 11:14:55 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-08-25 11:15:19 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-08-25 11:15:27 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-08-25 11:16:21 +0200Kabouik(~Kabouik@user/kabouik)
2021-08-25 11:17:17 +0200 <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
2021-08-25 11:17:19 +0200 <Kabouik> Any ideas?
2021-08-25 11:17:45 +0200 <Kabouik> I'm not sure why those packages fail to build.
2021-08-25 11:18:33 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-25 11:19:45 +0200 <Drew[m]> It doesn't look like a Haskell compilation error. Looks like it could be a linking issue
2021-08-25 11:20:31 +0200 <int-e> No alex found
2021-08-25 11:20:32 +0200 <Drew[m]> Brick has C deps
2021-08-25 11:20:36 +0200 <int-e> sorry
2021-08-25 11:21:10 +0200 <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
2021-08-25 11:21:38 +0200 <int-e> <command line>: cannot satisfy -package-id network-3.1.1.1-4pp4vfRvcxm9PeTHatjCEm
2021-08-25 11:21:49 +0200 <int-e> that's the first actual error, I think
2021-08-25 11:22:53 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com)
2021-08-25 11:23:57 +0200 <Kabouik> Thank you. I ran `cabal new-clean` and `cabal new-update` but that doesn't fix it
2021-08-25 11:24:45 +0200 <int-e> what about ghc-pkg list and ghc-pkg check?
2021-08-25 11:25:05 +0200 <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?
2021-08-25 11:25:12 +0200 <int-e> new-clean will only clean local build artefacts, not globally or user installed packages
2021-08-25 11:25:49 +0200 <int-e> (I think. I'm still not really using the new-* commands.)
2021-08-25 11:26:28 +0200 <Drew[m]> Are you using an old cabal version?
2021-08-25 11:26:31 +0200 <Kabouik> `ghc-pkg check` confirms says it cannot satisfy -package-id bifunctors-5.5.7-blahblah
2021-08-25 11:27:40 +0200 <int-e> Drew[m]: old enough: 3.2
2021-08-25 11:28:03 +0200 <Kabouik> Even worse apparently: cabal-install version 2.4.0.0
2021-08-25 11:29:17 +0200 <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.
2021-08-25 11:30:12 +0200 <int-e> (It's not impossible; one can set up local package stores per project. But it's not the same.)
2021-08-25 11:30:29 +0200 <Drew[m]> Oh, so you use `cabal v1-clean` instead of `cabal clean`?
2021-08-25 11:32:21 +0200 <int-e> Drew[m]: I nuke and reinitialize the sandbox when dependencies become inconsistent.
2021-08-25 11:32:27 +0200int-eshrugs.
2021-08-25 11:33:17 +0200jgeerds(~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 250 seconds)
2021-08-25 11:33:27 +0200 <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
2021-08-25 11:33:35 +0200 <Kabouik> I don't think I'm missing dependencies
2021-08-25 11:34:09 +0200 <int-e> I'll make the switch eventually. Soon in fact, because v1-command support is mostly gone in 3.6.
2021-08-25 11:35:09 +0200 <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.
2021-08-25 11:35:49 +0200 <kuribas> tdammers: hmm, then I can get rid of the ridiculous GenericXMLString nonsense, and just use Text :)
2021-08-25 11:35:55 +0200 <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.
2021-08-25 11:36:01 +0200 <int-e> That's why I suggested `ghc-pkg check`: it should detect that.
2021-08-25 11:36:42 +0200 <Kabouik> I have a haskell-network globally installed.
2021-08-25 11:37:12 +0200 <int-e> Kabouik: is it split into that and a -dev package?
2021-08-25 11:37:41 +0200 <Kabouik> ghc-pkg check gives that: https://p.teknik.io/Simple/ujgiZ (lots of warnings)
2021-08-25 11:38:27 +0200 <Kabouik> There's a devel package too (no -dev on Solus), indeed. That guy is 60MB big, ouch!
2021-08-25 11:39:01 +0200 <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).
2021-08-25 11:39:04 +0200 <int-e> /usr/lib64/ghc-8.6.5/network-3.1.1.1/include doesn't exist or isn't a directory
2021-08-25 11:39:09 +0200 <int-e> that one may be a problem
2021-08-25 11:39:17 +0200 <int-e> the haddock stuff is mostly harmless
2021-08-25 11:40:03 +0200 <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
2021-08-25 11:40:23 +0200xff0x(~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d)
2021-08-25 11:40:46 +0200 <maerwald> how did you install ghc?
2021-08-25 11:40:59 +0200fvr(uid503686@id-503686.highgate.irccloud.com)
2021-08-25 11:41:16 +0200 <int-e> distributtion packages, evidently... though I'm not sure which distribution :P
2021-08-25 11:41:33 +0200 <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).
2021-08-25 11:41:38 +0200 <Kabouik> Solus
2021-08-25 11:41:54 +0200 <int-e> ah, you said so, didn't register.
2021-08-25 11:42:05 +0200 <Kabouik> I thought I mentioned it above when I said it worked on Debian, but sorry if I haven't
2021-08-25 11:42:32 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan)
2021-08-25 11:42:59 +0200 <Kabouik> My hopes are high. I think it's going to work now.
2021-08-25 11:43:22 +0200 <maerwald> are there docker images for solus?
2021-08-25 11:43:43 +0200 <fvr> is there a way to tell cabal to track an external file that I use with file-embed
2021-08-25 11:43:52 +0200 <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
2021-08-25 11:44:18 +0200 <Kabouik> I'm not sure maerwald, but you could try it real quick with distrotest.net if you want to investigate the system
2021-08-25 11:44:24 +0200 <int-e> fvr: there's extra-source-files
2021-08-25 11:45:12 +0200 <maerwald> I'm gonna check if ghcup works on solus
2021-08-25 11:45:26 +0200 <maerwald> https://hub.docker.com/r/silkeh/solus looks like an unofficial build
2021-08-25 11:46:30 +0200 <fvr> int-e: cool it's working, I assumed it was only for sdist
2021-08-25 11:48:00 +0200 <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?
2021-08-25 11:49:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-25 11:49:27 +0200Topsi(~Tobias@dyndsl-095-033-024-207.ewe-ip-backbone.de)
2021-08-25 11:49:35 +0200 <maerwald> Kabouik: ~/.cabal/store
2021-08-25 11:49:42 +0200jgeerds(~jgeerds@55d4b311.access.ecotel.net)
2021-08-25 11:49:46 +0200 <maerwald> but
2021-08-25 11:50:16 +0200 <Kabouik> ~/.cabal/packages should stay, correct?
2021-08-25 11:50:38 +0200 <maerwald> I wouldn't mess with it at all, unless you're in a docker container or whatever
2021-08-25 11:50:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 11:50:44 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7d34:8159:5b95:6b5e)
2021-08-25 11:50:55 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-25 11:51:06 +0200 <maerwald> you're on your own... manually deleting files there isn't supported
2021-08-25 11:51:29 +0200 <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.
2021-08-25 11:51:33 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-25 11:51:50 +0200 <int-e> nuking ~/.cabal/packages is harmless if you don't care about bandwidth (it's reconstructed by `update`)
2021-08-25 11:52:20 +0200 <Kabouik> Good, thanks! That'll do it then. ~/.cabal/packages is by far the biggest folder there.
2021-08-25 11:53:34 +0200 <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
2021-08-25 11:54:08 +0200 <maerwald> Kabouik: I'd recommend installing ghc differently, I'm currently testing it on solus
2021-08-25 11:54:24 +0200 <Kabouik> Alright
2021-08-25 11:54:57 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7d34:8159:5b95:6b5e) (Ping timeout: 250 seconds)
2021-08-25 11:55:06 +0200 <maerwald> Kabouik: https://www.haskell.org/ghcup/
2021-08-25 11:55:30 +0200 <Kabouik> I already saw this actually, now I wonder if that's not what I did
2021-08-25 11:55:34 +0200 <Kabouik> Doesn't hurt to try though
2021-08-25 11:55:45 +0200jgeerds(~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 248 seconds)
2021-08-25 11:55:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-25 11:56:04 +0200 <maerwald> the docker container doesn't work well
2021-08-25 11:56:15 +0200 <maerwald> eopkg wants to access systemd or something
2021-08-25 11:56:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 11:56:41 +0200 <int-e> Kabouik: those are more packages you've installed system-wide, aren't they... and missing a -devel package, presumably
2021-08-25 11:57:46 +0200 <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
2021-08-25 11:58:43 +0200 <maerwald> Kabouik: https://gitlab.com/silkeh/docker-solus/-/issues/2
2021-08-25 11:58:46 +0200 <int-e> Well... let me pick the one of them, gitrev... it came up in your ghc-pkg output indeed.
2021-08-25 11:58:50 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-25 11:58:53 +0200 <maerwald> no idea what this pkg manager is doing
2021-08-25 11:59:08 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-25 11:59:18 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-25 11:59:40 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-08-25 11:59:57 +0200 <int-e> Kabouik: Maybe you installed some haskell-based software that uses those libraries. (Not sure what it could be... pandoc maybe?)
2021-08-25 12:00:00 +0200 <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.
2021-08-25 12:00:06 +0200 <Kabouik> ghcup failed too maerwald: https://p.teknik.io/Simple/HmoeF
2021-08-25 12:00:17 +0200 <Kabouik> That could be, totally
2021-08-25 12:00:29 +0200 <maerwald> Kabouik: libtinfo.so.6
2021-08-25 12:00:33 +0200 <maerwald> can you install that?
2021-08-25 12:01:28 +0200 <Kabouik> It's in ncurses, I have it installed already
2021-08-25 12:01:48 +0200 <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
2021-08-25 12:01:59 +0200 <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)
2021-08-25 12:02:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-25 12:02:19 +0200 <Kabouik> I have to go to lunch with colleagues, will resume later. Thanks a lot for your help folks, greatly appreciated.
2021-08-25 12:02:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:03:24 +0200 <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
2021-08-25 12:03:31 +0200 <maerwald> I believe this should work
2021-08-25 12:03:35 +0200 <maerwald> deb9 has ncurses5
2021-08-25 12:03:45 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-25 12:07:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-25 12:07:48 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-25 12:08:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:08:04 +0200 <maerwald> well, this isn't a well working distro :p
2021-08-25 12:08:29 +0200 <maerwald> the way it blows up in docker containers is suspicious
2021-08-25 12:09:42 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-25 12:11:40 +0200famubu(~famubu@14.139.174.50) (Ping timeout: 240 seconds)
2021-08-25 12:13:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-25 12:14:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:19:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-25 12:19:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:20:07 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2021-08-25 12:20:17 +0200teo(~teo@137.220.120.222)
2021-08-25 12:22:14 +0200earthy(~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (Ping timeout: 272 seconds)
2021-08-25 12:22:36 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-25 12:22:38 +0200tnks(sid412124@id-412124.brockwell.irccloud.com) ()
2021-08-25 12:22:53 +0200tnks(sid412124@id-412124.helmsley.irccloud.com)
2021-08-25 12:24:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-25 12:25:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:30:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-25 12:30:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:31:51 +0200conjunctive(sid433686@brockwell.irccloud.com) ()
2021-08-25 12:32:06 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com)
2021-08-25 12:36:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-25 12:36:36 +0200 <frobnicator> can I write this shorter?: let x = 42 :: Integer in [|\i -> i + $(pure $ LitE $ IntegerL x)|]
2021-08-25 12:36:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:37:26 +0200 <frobnicator> from the documentation it seems that I should be able to write: let x = 42 :: Integer in runQ [|\i -> i + $x|]
2021-08-25 12:37:52 +0200 <frobnicator> I'm having a hard time with the quasiquotes from templatehaskell
2021-08-25 12:39:46 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-08-25 12:40:21 +0200grfn(sid449115@id-449115.brockwell.irccloud.com) ()
2021-08-25 12:40:35 +0200grfn(sid449115@id-449115.helmsley.irccloud.com)
2021-08-25 12:42:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-25 12:42:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:44:31 +0200truckasaurus(sid457088@id-457088.brockwell.irccloud.com) ()
2021-08-25 12:44:46 +0200truckasaurus(sid457088@id-457088.helmsley.irccloud.com)
2021-08-25 12:45:03 +0200 <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
2021-08-25 12:45:13 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2021-08-25 12:48:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-25 12:48:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:48:52 +0200alinab(sid468903@id-468903.brockwell.irccloud.com) ()
2021-08-25 12:49:05 +0200alinab(sid468903@id-468903.helmsley.irccloud.com)
2021-08-25 12:49:46 +0200Guest6130(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-25 12:50:28 +0200chris(~chris@81.96.113.213)
2021-08-25 12:50:31 +0200chrisGuest7445
2021-08-25 12:53:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-25 12:54:10 +0200lortabac(~lortabac@151.53.202.164) (Quit: WeeChat 2.8)
2021-08-25 12:54:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 12:54:46 +0200Guest7445(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-08-25 12:55:56 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 250 seconds)
2021-08-25 12:57:18 +0200azeem(~azeem@176.201.15.223)
2021-08-25 12:57:36 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-25 13:01:03 +0200alx741(~alx741@186.178.109.43)
2021-08-25 13:04:07 +0200hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2021-08-25 13:05:10 +0200truckasaurus(sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-08-25 13:06:53 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 250 seconds)
2021-08-25 13:07:19 +0200truckasaurus(sid457088@id-457088.helmsley.irccloud.com)
2021-08-25 13:09:04 +0200buggymcbugfix(~buggymcbu@p4fcaa0a6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-08-25 13:11:32 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-25 13:17:20 +0200kaizen(sid501599@brockwell.irccloud.com) ()
2021-08-25 13:17:52 +0200kaizen(sid501599@id-501599.helmsley.irccloud.com)
2021-08-25 13:19:53 +0200kaizen(sid501599@id-501599.helmsley.irccloud.com) (Max SendQ exceeded)
2021-08-25 13:19:59 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 13:20:11 +0200 <Kabouik> That's surprising maerwald, Solus is known for being very stable (especially for a rolling distro)
2021-08-25 13:21:18 +0200 <maerwald> Kabouik: they told me docker is not supported
2021-08-25 13:21:24 +0200 <maerwald> so it's known to be broken
2021-08-25 13:21:44 +0200 <Kabouik> Yeah, I saw on the description it's unofficial, but seeing it was last updated 3 days ago was encouraging
2021-08-25 13:21:52 +0200kaizen(sid501599@helmsley.irccloud.com)
2021-08-25 13:22:10 +0200Kaiepi(~Kaiepi@156.34.44.192)
2021-08-25 13:22:41 +0200gawen(~gawen@user/gawen) (Quit: cya)
2021-08-25 13:24:28 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-25 13:26:25 +0200gawen(~gawen@user/gawen)
2021-08-25 13:26:50 +0200sa(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 272 seconds)
2021-08-25 13:28:18 +0200 <Kabouik> Well it seems my ghcup installation issue is due to full storage
2021-08-25 13:28:40 +0200sa(sid1055@id-1055.tinside.irccloud.com)
2021-08-25 13:33:19 +0200dude(~da1dude@112.201.99.74)
2021-08-25 13:34:24 +0200 <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)
2021-08-25 13:36:21 +0200davincee(~da1dude@112.201.99.74) (Ping timeout: 250 seconds)
2021-08-25 13:37:18 +0200dadude(~da1dude@112.201.99.74)
2021-08-25 13:39:14 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-25 13:39:50 +0200 <maerwald> stack doesn't care much about your disk space :p
2021-08-25 13:40:08 +0200 <maerwald> it just keeps dumping stuff without giving you any means to uninstall anything other than rm -rf
2021-08-25 13:40:15 +0200dude(~da1dude@112.201.99.74) (Ping timeout: 250 seconds)
2021-08-25 13:40:22 +0200 <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
2021-08-25 13:40:33 +0200 <maerwald> welcome to haskell tooling
2021-08-25 13:40:43 +0200 <Rembane_> Kabouik: You can delete it all, the next command you run will take some more time
2021-08-25 13:40:48 +0200biberu\(~biberu@user/biberu)
2021-08-25 13:40:56 +0200 <Rembane_> Kabouik: ...but that's about how horrible it will become
2021-08-25 13:41:35 +0200 <Kabouik> Well you haven't seen the size of my .npm, .ccache, etc.: https://0x0.st/-tun.png
2021-08-25 13:42:13 +0200 <Kabouik> I wish they would all just end up in a directory that says "it-is-safe-to-delete-me" when true.
2021-08-25 13:42:51 +0200Arsen(~arsen@managarm/dev/Arsen) (Quit: Quit.)
2021-08-25 13:43:10 +0200Arsen(~arsen@managarm/dev/Arsen)
2021-08-25 13:43:52 +0200 <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
2021-08-25 13:44:28 +0200biberu(~biberu@user/biberu) (Ping timeout: 250 seconds)
2021-08-25 13:44:29 +0200biberu\biberu
2021-08-25 13:51:09 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr)
2021-08-25 13:52:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 13:52:14 +0200 <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?
2021-08-25 13:52:44 +0200 <maerwald> Kabouik: https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/153
2021-08-25 13:52:51 +0200 <maerwald> seems to work with the bindist I pointed you at
2021-08-25 13:53:13 +0200 <Kabouik> Thank you, will try
2021-08-25 13:53:21 +0200 <Kabouik> Still trying to free some space on my / at the moment :<
2021-08-25 13:54:32 +0200 <Kabouik> Oh it's 1-hour old, I suppose you did it. Thanks!
2021-08-25 13:56:31 +0200hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-25 13:56:36 +0200 <maerwald> Kabouik: and you need those packages https://paste.tomsmeding.com/Rpz4EHW8
2021-08-25 13:56:55 +0200Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds)
2021-08-25 13:59:31 +0200 <Kabouik> Is it safe to remove distro repository ghc if I later use ghcup?
2021-08-25 14:00:09 +0200 <maerwald> Kabouik: yeah
2021-08-25 14:00:26 +0200 <Kabouik> It's going to remove all my haskell packages too, of course, which apparently is a lot: https://p.teknik.io/Raw/mCBvp
2021-08-25 14:00:51 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-08-25 14:01:22 +0200 <Kabouik> pandoc is in that list :/
2021-08-25 14:01:30 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-08-25 14:02:00 +0200_ak_(~akspecs@136.24.181.20) (Changing host)
2021-08-25 14:02:00 +0200_ak_(~akspecs@user/akspecs)
2021-08-25 14:02:00 +0200azeem(~azeem@176.201.15.223) (Read error: Connection reset by peer)
2021-08-25 14:02:09 +0200mikoto-c1(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-25 14:03:05 +0200azeem(~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
2021-08-25 14:03:38 +0200 <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
2021-08-25 14:04:36 +0200 <maerwald> yeah, pandoc should be a static binary
2021-08-25 14:04:37 +0200 <jumper149> mastarija: I think you should only need -XTypeApplications. I'm not an expert on that topic though.
2021-08-25 14:04:41 +0200 <maerwald> not depend on haskell packages
2021-08-25 14:05:43 +0200Skyfire(~pyon@user/pyon)
2021-08-25 14:05:44 +0200 <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 =>
2021-08-25 14:07:02 +0200 <jumper149> I don't think that should matter. Are you using -XScopedTypeVariables?
2021-08-25 14:07:27 +0200 <jumper149> Without an example it's hard to say though.
2021-08-25 14:08:51 +0200 <mastarija> applicativeHomomorphism
2021-08-25 14:08:51 +0200 <mastarija> :: forall f v b. ( Applicative f , Eq ( f b ) )
2021-08-25 14:08:51 +0200 <mastarija> => Gen ( v -> b )
2021-08-25 14:08:51 +0200 <mastarija> -> Gen v
2021-08-25 14:08:51 +0200 <mastarija> -> Gen Bool
2021-08-25 14:09:06 +0200 <mastarija> jumper149, yes I'm using ScopedTypeVariables
2021-08-25 14:09:28 +0200lortabac(~lortabac@151.53.202.164)
2021-08-25 14:09:31 +0200 <mastarija> however this thing above doesn't type check unless I use AmbiguousTypes
2021-08-25 14:10:07 +0200 <jumper149> mastarija: Next time use a paste bin like ix.io
2021-08-25 14:10:41 +0200 <mastarija> jumper149, I intended it to be one line, but newlines were preserved.
2021-08-25 14:11:08 +0200 <jumper149> Yeah, I don't care too much but some people on IRC are religious about it ;)
2021-08-25 14:11:14 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-25 14:11:57 +0200 <mastarija> Looking at the docs, it seems like AllowAmbiguousTypes is introduced exactly for this problem
2021-08-25 14:12:11 +0200 <mastarija> Making type application useful in my particular case
2021-08-25 14:12:13 +0200 <mastarija> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/ambiguous_types.html?highlight…
2021-08-25 14:16:47 +0200 <jumper149> mastarija: Gen is from Test.QuickCheck?
2021-08-25 14:16:55 +0200 <mastarija> Yes
2021-08-25 14:19:32 +0200 <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?
2021-08-25 14:19:59 +0200 <jumper149> I can see why you need TypeApplications though
2021-08-25 14:20:11 +0200 <mastarija> jumper149, I'm testing the applicative homomorphism law
2021-08-25 14:20:27 +0200 <mastarija> And I'm passing in a generator for 1 argument function and a value
2021-08-25 14:21:05 +0200 <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
2021-08-25 14:21:17 +0200 <mastarija> So I can use pure @MyType etc
2021-08-25 14:21:36 +0200 <mastarija> This basically : pure $ ( pure @f f <*> pure v ) == ( pure $ f v )
2021-08-25 14:23:08 +0200pbrisbin(~patrick@174-081-116-011.res.spectrum.com)
2021-08-25 14:23:21 +0200 <mastarija> I mean, it's done, I was just wondering if there's some other way other than enabling the ambiguous types
2021-08-25 14:23:52 +0200 <jumper149> It really doesn't look like you need AmbiguousTypes here, to me atleast.
2021-08-25 14:23:53 +0200 <mastarija> I always feel a bit of remorse when enabling a language extension
2021-08-25 14:24:27 +0200hseg(~gesh@IGLD-84-228-238-79.inter.net.il)
2021-08-25 14:24:32 +0200 <jumper149> What type variable is ambiguous without enabling it?
2021-08-25 14:24:42 +0200 <jumper149> What does GHC throw
2021-08-25 14:26:01 +0200oxide(~lambda@user/oxide)
2021-08-25 14:31:49 +0200 <mastarija> jumper149, "Could not deduce (Applicative f0) from the context: (Applicative f, Eq (f b))"
2021-08-25 14:32:03 +0200 <mastarija> But leave it, I think ambiguous types are necessary here
2021-08-25 14:32:23 +0200 <mastarija> GHC docs pretty much say that.
2021-08-25 14:32:36 +0200 <jumper149> mastarija: Yeah, after re-reading the GHC docs, it seems to be the case here.
2021-08-25 14:32:46 +0200 <mastarija> Unless I've interpreted something incorrectly :D
2021-08-25 14:33:48 +0200markpythonicbtc(~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-25 14:35:00 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-25 14:36:10 +0200 <hseg> mastarija: an alternative to AAT is to have some parameter force the tyvar to unify with the desired type
2021-08-25 14:36:41 +0200 <mastarija> hseg, Yes, something like Proxy you mean :D
2021-08-25 14:37:13 +0200 <hseg> or something like #. from Data.Functor.Utils
2021-08-25 14:37:30 +0200 <hseg> https://hackage.haskell.org/package/base-4.14.1.0/docs/src/Data.Functor.Utils.html#%23.
2021-08-25 14:39:04 +0200famubu(~famubu@14.139.174.50)
2021-08-25 14:40:33 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net)
2021-08-25 14:41:22 +0200 <maerwald> who knew about this: https://hackage.haskell.org/package/bustle
2021-08-25 14:41:50 +0200 <hseg> ooh cool
2021-08-25 14:42:45 +0200 <Hecate> wow I most certainly did not
2021-08-25 14:45:04 +0200 <Clint> i did
2021-08-25 14:46:36 +0200aman(~aman@user/aman)
2021-08-25 14:46:40 +0200oxide(~lambda@user/oxide) (Ping timeout: 240 seconds)
2021-08-25 14:46:44 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-08-25 14:47:34 +0200oxide(~lambda@user/oxide)
2021-08-25 14:47:51 +0200ubert(~Thunderbi@77.119.197.143.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-08-25 14:49:13 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-08-25 14:50:25 +0200favonia(~favonia@user/favonia)
2021-08-25 14:53:58 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-25 14:54:42 +0200mikoto-c1(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-c1)
2021-08-25 14:57:39 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-25 15:01:09 +0200mikoto-c1(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-25 15:01:58 +0200 <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)
2021-08-25 15:03:00 +0200markpythonicbtc(~textual@50.228.44.6)
2021-08-25 15:03:29 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 248 seconds)
2021-08-25 15:04:15 +0200 <Hecate> type synonyms were a mistake of God
2021-08-25 15:04:16 +0200 <hseg> which means my elaborate system of type synonyms doesn't work well once it reaches type-level manipulations
2021-08-25 15:07:32 +0200 <hseg> hrmph. ok, that last bit of hope I had for my experimental refactor has died
2021-08-25 15:07:59 +0200 <hseg> seems constructing the type of the function I want is too heavy
2021-08-25 15:08:02 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-25 15:08:07 +0200 <Boomerang> It would be nice if GHC could report all type synonyms encountered along the way in error messages
2021-08-25 15:08:15 +0200 <Boomerang> > map (+1) "Hello"
2021-08-25 15:08:17 +0200 <lambdabot> error:
2021-08-25 15:08:17 +0200 <lambdabot> • No instance for (Num Char) arising from a use of ‘+’
2021-08-25 15:08:17 +0200 <lambdabot> • In the first argument of ‘map’, namely ‘(+ 1)’
2021-08-25 15:08:43 +0200hendursaga(~weechat@user/hendursaga)
2021-08-25 15:08:45 +0200 <Boomerang> Here, it would be great if it could mention `String` somewhere in the error
2021-08-25 15:09:05 +0200 <Boomerang> Maybe not the best example
2021-08-25 15:11:45 +0200 <Boomerang> > "hello" + 1
2021-08-25 15:11:47 +0200 <lambdabot> error:
2021-08-25 15:11:47 +0200 <lambdabot> • No instance for (Num [Char]) arising from a use of ‘+’
2021-08-25 15:11:47 +0200 <lambdabot> • In the expression: "hello" + 1
2021-08-25 15:12:26 +0200 <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 ...`.
2021-08-25 15:16:19 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-25 15:16:58 +0200 <lortabac> hseg: you have to use newtypes to invert parameters properly
2021-08-25 15:17:00 +0200 <dminuoso> maerwald: Haha!
2021-08-25 15:17:11 +0200 <dminuoso> Didn't we just talk about "dynamically linking ssl to allow for prompt updates"?
2021-08-25 15:17:13 +0200 <dminuoso> https://www.openssl.org/news/secadv/20210824.txt
2021-08-25 15:17:30 +0200 <dminuoso> Or did you read that yesterday already?
2021-08-25 15:17:46 +0200 <hseg> lortabac: yeah, except newtypes have the ergonomics issue of needing wrapping/unwrapping
2021-08-25 15:18:32 +0200 <hseg> dminuoso: don't see the relevance to dynamic linking?
2021-08-25 15:20:08 +0200 <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.
2021-08-25 15:20:22 +0200 <dminuoso> Assuming there even is a maintainer..
2021-08-25 15:20:29 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-08-25 15:20:54 +0200 <dminuoso> And `openssl` is one of those things that, if a security vulnerability is found, you likely want it patched as soon as possible.
2021-08-25 15:21:15 +0200 <maerwald> patched via your package manager with working gpg signatures
2021-08-25 15:21:21 +0200 <maerwald> because your network is compromised now
2021-08-25 15:22:04 +0200hendursa1(~weechat@user/hendursaga)
2021-08-25 15:22:05 +0200 <dminuoso> So yeah. We have a buffer overflow with high criticality in openssl again. The advisory is from yesterday.
2021-08-25 15:22:22 +0200 <maerwald> well, but haskell-tls isn't affected, right? :D
2021-08-25 15:22:26 +0200 <dminuoso> hahaha
2021-08-25 15:22:48 +0200 <hseg> ah, so it was the coincidence of openssl being cited as an example, and then having this kind of advisory right after?
2021-08-25 15:22:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-25 15:22:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-25 15:22:56 +0200wroathe(~wroathe@user/wroathe)
2021-08-25 15:22:58 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-25 15:23:26 +0200 <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.
2021-08-25 15:23:49 +0200Jonno_FTW(~come@api.carswap.me) (Ping timeout: 252 seconds)
2021-08-25 15:24:04 +0200 <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"
2021-08-25 15:24:07 +0200dunj3(~dunj3@p200300f617104f71b48bd778569fa2df.dip0.t-ipconnect.de) (Quit: Leaving)
2021-08-25 15:24:18 +0200 <dminuoso> Realy bragged about it.
2021-08-25 15:24:39 +0200 <dminuoso> hseg: yes
2021-08-25 15:25:15 +0200Jonno_FTW(~come@api.carswap.me)
2021-08-25 15:26:33 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-25 15:30:03 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-25 15:32:08 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-08-25 15:36:46 +0200aman(~aman@user/aman) (Quit: aman)
2021-08-25 15:37:34 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-08-25 15:38:07 +0200keutoi(~keutoi@157.47.90.161) (Ping timeout: 252 seconds)
2021-08-25 15:39:46 +0200keutoi(~keutoi@106.208.52.180)
2021-08-25 15:41:06 +0200neo(~neo3@cpe-292712.ip.primehome.com)
2021-08-25 15:42:05 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-25 15:42:06 +0200euandreh(~euandreh@2804:14c:33:9fe5:bfa8:e90:b3e4:2e82)
2021-08-25 15:42:57 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-25 15:46:25 +0200jespada(~jespada@90.254.245.194) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-25 15:47:14 +0200jespada(~jespada@90.254.245.194)
2021-08-25 15:50:41 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 250 seconds)
2021-08-25 15:54:07 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 240 seconds)
2021-08-25 15:56:33 +0200fendor_(~fendor@91.141.62.191.wireless.dyn.drei.com)
2021-08-25 15:58:29 +0200famubu(~famubu@14.139.174.50) (Ping timeout: 250 seconds)
2021-08-25 15:58:55 +0200fendor(~fendor@91.141.62.188.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-08-25 16:02:31 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-25 16:04:15 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-253.prtc.net)
2021-08-25 16:05:28 +0200zebrag(~chris@user/zebrag)
2021-08-25 16:06:27 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-25 16:06:46 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-25 16:07:10 +0200aman(~aman@user/aman)
2021-08-25 16:07:20 +0200MQ-17J(~MQ-17J@8.6.144.209)
2021-08-25 16:07:35 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-25 16:07:46 +0200hendursaga(~weechat@user/hendursaga)
2021-08-25 16:07:57 +0200slack1256(~slack1256@191.126.161.169)
2021-08-25 16:09:37 +0200ubert(~Thunderbi@178.165.195.172.wireless.dyn.drei.com)
2021-08-25 16:11:03 +0200famubu(~famubu@61.0.251.1)
2021-08-25 16:16:07 +0200famubu(~famubu@61.0.251.1) (Ping timeout: 240 seconds)
2021-08-25 16:18:16 +0200famubu(~famubu@14.139.174.50)
2021-08-25 16:20:00 +0200vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-08-25 16:23:11 +0200azeem(~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 250 seconds)
2021-08-25 16:24:18 +0200azeem(~azeem@176.201.15.223)
2021-08-25 16:24:27 +0200keutoi(~keutoi@106.208.52.180) (Ping timeout: 240 seconds)
2021-08-25 16:24:57 +0200azeem(~azeem@176.201.15.223) (Read error: Connection reset by peer)
2021-08-25 16:25:36 +0200azeem(~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
2021-08-25 16:25:47 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 240 seconds)
2021-08-25 16:25:52 +0200rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438)
2021-08-25 16:27:17 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2021-08-25 16:27:36 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-08-25 16:30:36 +0200jippiedoe(~david@2a02-a44c-e14e-1-93cc-7845-ef1f-7078.fixed6.kpn.net)
2021-08-25 16:31:25 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 250 seconds)
2021-08-25 16:31:31 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-08-25 16:31:46 +0200keutoi(~keutoi@106.208.52.180)
2021-08-25 16:32:36 +0200hseg(~gesh@IGLD-84-228-238-79.inter.net.il) (Ping timeout: 250 seconds)
2021-08-25 16:34:38 +0200hseg(~gesh@IGLD-84-228-238-79.inter.net.il)
2021-08-25 16:34:41 +0200hseg(~gesh@IGLD-84-228-238-79.inter.net.il) (Client Quit)
2021-08-25 16:35:52 +0200famubu(~famubu@14.139.174.50) (Ping timeout: 252 seconds)
2021-08-25 16:45:10 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-25 16:45:10 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-25 16:45:14 +0200allbery_bgeekosaur
2021-08-25 16:45:41 +0200jumper149(~jumper149@80.240.31.34)
2021-08-25 16:48:19 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 250 seconds)
2021-08-25 16:48:19 +0200jumper149(~jumper149@80.240.31.34) (Client Quit)
2021-08-25 16:50:40 +0200hueso(~root@user/hueso) (Ping timeout: 240 seconds)
2021-08-25 16:51:31 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-25 16:52:10 +0200cheater(~Username@user/cheater) (Quit: BitchX: the Cadillac of all clients)
2021-08-25 16:53:07 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-253.prtc.net) (Ping timeout: 246 seconds)
2021-08-25 16:54:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 16:57:22 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-08-25 16:57:37 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-25 16:58:44 +0200cheater(~Username@user/cheater)
2021-08-25 16:59:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 240 seconds)
2021-08-25 16:59:28 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-25 16:59:55 +0200hueso(~root@user/hueso)
2021-08-25 17:03:21 +0200jippiedoe(~david@2a02-a44c-e14e-1-93cc-7845-ef1f-7078.fixed6.kpn.net) (Quit: Leaving)
2021-08-25 17:09:40 +0200hueso(~root@user/hueso) (Quit: hueso)
2021-08-25 17:14:35 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr)
2021-08-25 17:19:54 +0200aman(~aman@user/aman) (Quit: aman)
2021-08-25 17:21:38 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 17:25:47 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-25 17:26:21 +0200chris(~chris@81.96.113.213)
2021-08-25 17:26:24 +0200chrisGuest8405
2021-08-25 17:27:04 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-08-25 17:27:07 +0200kenran(~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 240 seconds)
2021-08-25 17:28:14 +0200PinealGlandOptic(~PinealGla@37.115.210.35)
2021-08-25 17:29:52 +0200reumeth(~reumeth@user/reumeth)
2021-08-25 17:38:28 +0200lortabac(~lortabac@151.53.202.164) (Quit: WeeChat 2.8)
2021-08-25 17:40:21 +0200monadfritz[m](~ahdytmatr@2001:470:69fc:105::e1f1)
2021-08-25 17:41:07 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 17:43:10 +0200aman(~aman@user/aman)
2021-08-25 17:43:24 +0200 <monadfritz[m]> hi ther
2021-08-25 17:43:34 +0200 <monadfritz[m]> is gi-gtk-declarative deprecated ?
2021-08-25 17:44:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-25 17:44:07 +0200 <monadfritz[m]> as haskell gi base now at 0.25 and the gi-gtk-declarative still requires it to be <0.25?
2021-08-25 17:45:30 +0200 <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
2021-08-25 17:48:01 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-08-25 17:48:30 +0200 <Drew[m]> I wouldn't call a library deprecated for not using the latest dependency versions.
2021-08-25 17:48:59 +0200 <monadfritz[m]> so how do one manage to solve this?
2021-08-25 17:49:22 +0200 <monadfritz[m]> what do u usually do Mr Drew?
2021-08-25 17:49:39 +0200 <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
2021-08-25 17:50:03 +0200 <Drew[m]> What I'd do is try to build it with the latest dependency versions with `--allow-newer`
2021-08-25 17:50:15 +0200 <monadfritz[m]> so it'll be good to call it a day and look for other lib?
2021-08-25 17:50:18 +0200 <Drew[m]> If it works I'd open an issue on the package's repo saying it works
2021-08-25 17:50:23 +0200 <monadfritz[m]> ah how to do that with stack?
2021-08-25 17:50:34 +0200 <monadfritz[m]> just pass that --allow-newer as flags?
2021-08-25 17:51:02 +0200 <monadfritz[m]> * just pass that --allow-newer as flags? nope, not this one.
2021-08-25 17:51:43 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-25 17:52:47 +0200 <Drew[m]> With stack `--allow-newer` just disables all dependency bounds but
2021-08-25 17:52:47 +0200 <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`
2021-08-25 17:54:21 +0200 <Drew[m]> monadfritz[m]: what happens when you try that?
2021-08-25 17:54:25 +0200 <Drew[m]> I haven't used Stack in a while
2021-08-25 17:54:32 +0200 <monadfritz[m]> there's no such thing as --allow-newer
2021-08-25 17:54:40 +0200 <monadfritz[m]> I do stack build --allow-newer
2021-08-25 17:54:43 +0200 <Drew[m]> huh, I'm sure there was
2021-08-25 17:54:48 +0200 <monadfritz[m]> where's to put this --allow-newer
2021-08-25 17:55:09 +0200 <monadfritz[m]> I'm using stack version 2.7.3
2021-08-25 17:55:11 +0200 <monadfritz[m]> from ghcup
2021-08-25 17:55:48 +0200 <Drew[m]> Maybe it's only a config file field for stack
2021-08-25 17:55:56 +0200 <Drew[m]> https://docs.haskellstack.org/en/stable/yaml_configuration/
2021-08-25 17:56:14 +0200 <Drew[m]> it's in there
2021-08-25 17:56:25 +0200 <maerwald> do you need to use stack?
2021-08-25 17:58:04 +0200 <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.
2021-08-25 17:58:07 +0200jgeerds(~jgeerds@55d4b311.access.ecotel.net)
2021-08-25 17:58:33 +0200jgeerds(~jgeerds@55d4b311.access.ecotel.net) (Remote host closed the connection)
2021-08-25 17:59:49 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-25 17:59:54 +0200 <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.
2021-08-25 18:00:27 +0200 <maerwald> yeah, if stack doesn't work ootb, the experience degrades exponentially
2021-08-25 18:00:30 +0200econo(uid147250@user/econo)
2021-08-25 18:02:33 +0200 <Drew[m]> If cabal is giving you dependency errors then that actually means there's still options: new things to try `--allow-newer` on.
2021-08-25 18:02:33 +0200 <Drew[m]> It's when you get compilation errors that you basically know you can't proceed until the maintainer fixes something.
2021-08-25 18:02:44 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-198.prtc.net)
2021-08-25 18:03:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
2021-08-25 18:05:03 +0200 <monadfritz[m]> I force to ignore boundary and yeah it gives me compilation error
2021-08-25 18:05:11 +0200 <monadfritz[m]> seems like the behavior changes?
2021-08-25 18:06:15 +0200 <monadfritz[m]> the gi-cairo and gi-glib
2021-08-25 18:07:34 +0200 <monadfritz[m]> if I may ask, what do you use haskell currently for? Mr Maerwald and Mr Drew
2021-08-25 18:08:15 +0200 <monadfritz[m]> * seems like the types & function changes?
2021-08-25 18:08:58 +0200 <Drew[m]> I use it for the odd open source library contribution and for personal projects.
2021-08-25 18:09:03 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-08-25 18:09:55 +0200Guest8405(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-08-25 18:10:16 +0200dfg(dfg@user/dfg) (Remote host closed the connection)
2021-08-25 18:10:51 +0200dfg(~dfg@li490-89.members.linode.com)
2021-08-25 18:10:51 +0200dfg(~dfg@li490-89.members.linode.com) (Changing host)
2021-08-25 18:10:51 +0200dfg(~dfg@user/dfg)
2021-08-25 18:11:49 +0200 <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...
2021-08-25 18:11:49 +0200 <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
2021-08-25 18:12:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 18:12:23 +0200 <Drew[m]> A previous LTS snapshot might be more compatible with some version of gi-gtk-declarative
2021-08-25 18:17:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-25 18:18:35 +0200fendor_fendor
2021-08-25 18:18:53 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-08-25 18:22:25 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2021-08-25 18:25:52 +0200rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed)
2021-08-25 18:27:54 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-25 18:28:23 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-25 18:32:07 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 240 seconds)
2021-08-25 18:32:22 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-25 18:33:45 +0200hueso(~root@user/hueso)
2021-08-25 18:34:23 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2021-08-25 18:35:10 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
2021-08-25 18:36:09 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 18:38:58 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-25 18:38:58 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-25 18:38:58 +0200wroathe(~wroathe@user/wroathe)
2021-08-25 18:44:01 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2021-08-25 18:44:27 +0200hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-08-25 18:44:59 +0200fendor(~fendor@91.141.62.191.wireless.dyn.drei.com) (Remote host closed the connection)
2021-08-25 18:45:07 +0200mikoto-c1(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-08-25 18:45:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 18:47:03 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-08-25 18:48:19 +0200fendor(~fendor@91.141.62.191.wireless.dyn.drei.com)
2021-08-25 18:49:50 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan)
2021-08-25 18:50:10 +0200jdcain(~jdcain@2600:8804:1b96:4900::935) (Quit: WeeChat 3.2)
2021-08-25 18:54:25 +0200aman(~aman@user/aman) (Quit: aman)
2021-08-25 18:55:23 +0200chris(~chris@81.96.113.213)
2021-08-25 18:55:27 +0200chrisGuest6187
2021-08-25 18:56:10 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-198.prtc.net) (Quit: Client closed)
2021-08-25 18:56:44 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-08-25 18:57:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-25 18:57:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-25 18:57:46 +0200wroathe(~wroathe@user/wroathe)
2021-08-25 18:59:29 +0200pavonia(~user@user/siracusa)
2021-08-25 19:00:42 +0200fvr(uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-25 19:00:47 +0200Guest6187(~chris@81.96.113.213) (Read error: Connection reset by peer)
2021-08-25 19:01:31 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-25 19:01:47 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-08-25 19:02:40 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-08-25 19:03:04 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 19:04:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 19:04:48 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-25 19:06:27 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-08-25 19:09:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Ping timeout: 250 seconds)
2021-08-25 19:13:24 +0200chris(~chris@81.96.113.213)
2021-08-25 19:13:25 +0200__monty__(~toonn@user/toonn)
2021-08-25 19:13:28 +0200chrisGuest7836
2021-08-25 19:14:26 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 19:19:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-25 19:22:47 +0200euandreh(~euandreh@2804:14c:33:9fe5:bfa8:e90:b3e4:2e82) (Quit: WeeChat 3.2)
2021-08-25 19:24:28 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 19:30:24 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-25 19:31:23 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net) (Read error: Connection reset by peer)
2021-08-25 19:31:40 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net)
2021-08-25 19:34:54 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-25 19:34:57 +0200keutoi(~keutoi@106.208.52.180) (Ping timeout: 248 seconds)
2021-08-25 19:35:43 +0200azeem(~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 252 seconds)
2021-08-25 19:36:46 +0200azeem(~azeem@176.201.15.223)
2021-08-25 19:36:58 +0200keutoi(~keutoi@157.47.99.152)
2021-08-25 19:39:27 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-08-25 19:41:02 +0200benin0369329(~benin@183.82.178.142)
2021-08-25 19:42:10 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
2021-08-25 19:43:23 +0200benin036932(~benin@183.82.178.142) (Ping timeout: 250 seconds)
2021-08-25 19:43:23 +0200benin0369329benin036932
2021-08-25 19:46:59 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 19:47:36 +0200azeem(~azeem@176.201.15.223) (Read error: Connection reset by peer)
2021-08-25 19:48:42 +0200vysn(~vysn@user/vysn)
2021-08-25 19:48:43 +0200azeem(~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
2021-08-25 19:49:27 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-25 19:52:14 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-25 19:52:41 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 19:57:06 +0200acid(~acid@user/acid) (Remote host closed the connection)
2021-08-25 19:58:00 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-25 19:58:00 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-25 19:58:00 +0200wroathe(~wroathe@user/wroathe)
2021-08-25 19:59:29 +0200aegon(~mike@174.127.249.180)
2021-08-25 20:01:35 +0200zer0bitz(~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 250 seconds)
2021-08-25 20:03:46 +0200keutoi(~keutoi@157.47.99.152) (Ping timeout: 252 seconds)
2021-08-25 20:05:12 +0200phma(phma@2001:5b0:211f:c4a8:b4c0:8312:139:73b8) (Read error: Connection reset by peer)
2021-08-25 20:05:55 +0200phma(phma@2001:5b0:215d:bf48:a0b0:d9f3:6271:d4bf)
2021-08-25 20:07:46 +0200 <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
2021-08-25 20:08:42 +0200 <maerwald> haskl: distro?
2021-08-25 20:09:00 +0200Guest7836(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-25 20:09:03 +0200 <haskl> maerwald, Debian 11.
2021-08-25 20:09:21 +0200 <maerwald> haskl: which GHC is used?
2021-08-25 20:09:26 +0200 <maerwald> the path
2021-08-25 20:10:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
2021-08-25 20:12:46 +0200 <haskl> test
2021-08-25 20:13:16 +0200 <haskl> oh sorry! i was using ghcup it's using /home/tilde/.ghcup/bin/ghc
2021-08-25 20:14:19 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 20:14:29 +0200 <maerwald> not sure if the store is busted
2021-08-25 20:14:35 +0200 <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
2021-08-25 20:15:20 +0200 <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
2021-08-25 20:15:35 +0200 <maerwald> haskl: use cabal-docspec for doctests
2021-08-25 20:16:04 +0200 <maerwald> https://github.com/phadej/cabal-extras/tree/master/cabal-docspec
2021-08-25 20:16:17 +0200 <maerwald> here are static binaries https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal-docspec/
2021-08-25 20:18:31 +0200 <haskl> hm i'll have to read about how to make use of this thanks
2021-08-25 20:19:23 +0200 <maerwald> https://github.com/phadej/cabal-extras/blob/master/cabal-docspec/MANUAL.md
2021-08-25 20:19:26 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-25 20:19:45 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-25 20:19:46 +0200 <maerwald> 1. you build your project, 2. you run `cabal-docspec`
2021-08-25 20:19:53 +0200 <maerwald> you don't need a Main for it
2021-08-25 20:20:00 +0200 <maerwald> no test suite in .cabal
2021-08-25 20:20:23 +0200 <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)
2021-08-25 20:20:37 +0200 <haskl> thanks maerwald
2021-08-25 20:20:41 +0200 <maerwald> Kabouik: I don't think he was hostile :p
2021-08-25 20:20:46 +0200 <maerwald> just grumpy
2021-08-25 20:21:03 +0200 <maerwald> because he maintains 200 haskell packages alone
2021-08-25 20:21:04 +0200 <Kabouik> Yeah, better wording. A bit hostile to the changes you suggested though
2021-08-25 20:21:15 +0200 <Kabouik> But he *is* nice
2021-08-25 20:21:15 +0200 <maerwald> I don't understand why distros keep doing it
2021-08-25 20:21:20 +0200pavonia`\pavonia^{}
2021-08-25 20:21:21 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-25 20:21:29 +0200liskin(~liskin@xmonad/liskin) (Ping timeout: 252 seconds)
2021-08-25 20:21:34 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-08-25 20:21:44 +0200 <maerwald> Yeah, I'm not sure if solus support is gonna move forward if they don't fix libtinfo
2021-08-25 20:22:06 +0200 <maerwald> it's really just a compat symlink
2021-08-25 20:22:08 +0200 <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
2021-08-25 20:22:21 +0200 <maerwald> that was all offtopic :p
2021-08-25 20:23:03 +0200 <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
2021-08-25 20:23:11 +0200 <maerwald> https://gitlab.haskell.org/ghc/ghc/-/issues/17878 would solve most of our problems
2021-08-25 20:23:16 +0200`\pavonia^{}pavonia
2021-08-25 20:24:01 +0200 <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"
2021-08-25 20:24:07 +0200 <Kabouik> And then same with the other. :>
2021-08-25 20:24:16 +0200 <Kabouik> Just too candid and believing everyone is right.
2021-08-25 20:24:34 +0200 <maerwald> I've spent too much time on distro packaging, so yeah
2021-08-25 20:24:46 +0200 <Rembane_> I love the "the rest should be piece of cake?"-part
2021-08-25 20:24:48 +0200 <maerwald> and seeing how they self-inflict pain doesn't make it better
2021-08-25 20:24:52 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 250 seconds)
2021-08-25 20:25:00 +0200 <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.
2021-08-25 20:26:25 +0200 <maerwald> man, do static binary for pandoc and remove all the haskell-dev packages
2021-08-25 20:26:32 +0200 <maerwald> it's too much work for no real gain
2021-08-25 20:26:53 +0200 <maerwald> dynamic haskell libs... tzz
2021-08-25 20:27:13 +0200 <maerwald> our dynamic libraries aren't great
2021-08-25 20:27:37 +0200 <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
2021-08-25 20:27:42 +0200 <maerwald> no one packages go libs either, so what's the point
2021-08-25 20:28:24 +0200 <maerwald> otherwise it will end up like arch linux, which just causes pain for their haskell users
2021-08-25 20:31:56 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 20:32:27 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-25 20:33:55 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 20:34:49 +0200hendursaga(~weechat@user/hendursaga)
2021-08-25 20:34:54 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-08-25 20:43:06 +0200phma(phma@2001:5b0:215d:bf48:a0b0:d9f3:6271:d4bf) (Read error: Connection reset by peer)
2021-08-25 20:45:38 +0200kuribas(~user@ptr-25vy0i7291ltmu3yh3q.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-08-25 20:46:06 +0200azeem(~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it) (Ping timeout: 250 seconds)
2021-08-25 20:46:28 +0200azeem(~azeem@176.201.15.223)
2021-08-25 20:48:42 +0200phma(~phma@host-67-44-208-160.hnremote.net)
2021-08-25 20:50:33 +0200MQ-17J(~MQ-17J@8.6.144.209) (Ping timeout: 250 seconds)
2021-08-25 20:55:28 +0200azeem(~azeem@176.201.15.223) (Ping timeout: 252 seconds)
2021-08-25 20:55:56 +0200kimjetwav(~user@2607:fea8:235f:9730:98d1:a22e:1d0c:6a1f)
2021-08-25 20:56:12 +0200azeem(~azeem@176.201.15.223)
2021-08-25 20:56:37 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 250 seconds)
2021-08-25 21:00:05 +0200mei(~mei@user/mei) (Ping timeout: 250 seconds)
2021-08-25 21:00:58 +0200Pickchea(~private@user/pickchea)
2021-08-25 21:03:22 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-25 21:06:09 +0200remedan(~remedan@balak.me) (Quit: Bye!)
2021-08-25 21:07:02 +0200remedan(~remedan@balak.me)
2021-08-25 21:07:19 +0200markpythonicbtc(~textual@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-25 21:10:32 +0200remedan(~remedan@balak.me) (Client Quit)
2021-08-25 21:13:33 +0200jess(~jess@libera/staff/jess) ()
2021-08-25 21:16:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 21:16:22 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 21:19:27 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2021-08-25 21:19:55 +0200remedan(~remedan@balak.me)
2021-08-25 21:19:58 +0200cheater(~Username@user/cheater)
2021-08-25 21:21:33 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
2021-08-25 21:23:22 +0200lavaman(~lavaman@98.38.249.169)
2021-08-25 21:23:31 +0200chris(~chris@81.96.113.213)
2021-08-25 21:23:34 +0200chrisGuest6628
2021-08-25 21:27:42 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-08-25 21:27:46 +0200azeem(~azeem@176.201.15.223) (Read error: Connection reset by peer)
2021-08-25 21:27:51 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 21:28:38 +0200azeem(~azeem@dynamic-adsl-78-13-242-140.clienti.tiscali.it)
2021-08-25 21:37:37 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
2021-08-25 21:41:17 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-08-25 21:41:31 +0200liskin(~liskin@xmonad/liskin)
2021-08-25 21:42:35 +0200liskin(~liskin@xmonad/liskin) (Remote host closed the connection)
2021-08-25 21:43:45 +0200liskin(~liskin@xmonad/liskin)
2021-08-25 21:47:16 +0200liskin(~liskin@xmonad/liskin) (Read error: Connection reset by peer)
2021-08-25 21:48:17 +0200jtomas_(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-25 21:48:30 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 250 seconds)
2021-08-25 21:49:39 +0200teo(~teo@137.220.120.222) ()
2021-08-25 21:50:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-25 21:52:01 +0200liskin(~liskin@xmonad/liskin)
2021-08-25 21:56:50 +0200fendor_(~fendor@91.141.62.191.wireless.dyn.drei.com)
2021-08-25 21:59:40 +0200fendor(~fendor@91.141.62.191.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2021-08-25 22:00:48 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 22:04:47 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 240 seconds)
2021-08-25 22:05:15 +0200neurocyte830(~neurocyte@user/neurocyte)
2021-08-25 22:05:50 +0200dispater(~dispater@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in)
2021-08-25 22:06:41 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-45.prtc.net)
2021-08-25 22:06:57 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 248 seconds)
2021-08-25 22:07:10 +0200dispater(~dispater@user/brprice)
2021-08-25 22:07:11 +0200dispater(~dispater@user/brprice) (Remote host closed the connection)
2021-08-25 22:08:02 +0200juhp(~juhp@128.106.188.220)
2021-08-25 22:08:31 +0200dispater(~dispater@user/brprice)
2021-08-25 22:09:02 +0200orcus(~orcus@mail.brprice.uk)
2021-08-25 22:09:54 +0200Guest6628(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-25 22:10:31 +0200chris(~chris@81.96.113.213)
2021-08-25 22:10:35 +0200chrisGuest9305
2021-08-25 22:10:46 +0200orcus(~orcus@mail.brprice.uk) (Client Quit)
2021-08-25 22:11:16 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr)
2021-08-25 22:11:38 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 22:12:45 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-25 22:12:56 +0200acidjnk(~acidjnk@p200300d0c72b9541f8d5911f73b02544.dip0.t-ipconnect.de)
2021-08-25 22:12:57 +0200orcus(~orcus@user/brprice)
2021-08-25 22:13:27 +0200xff0x(~xff0x@2001:1a81:536c:3300:2715:adb6:6b2e:5e0d) (Ping timeout: 240 seconds)
2021-08-25 22:14:33 +0200xff0x(~xff0x@2001:1a81:536c:3300:1de6:1836:7ec4:e477)
2021-08-25 22:14:56 +0200Guest9305(~chris@81.96.113.213) (Ping timeout: 250 seconds)
2021-08-25 22:17:03 +0200orcus(~orcus@user/brprice) (Client Quit)
2021-08-25 22:17:03 +0200dispater(~dispater@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in)
2021-08-25 22:19:03 +0200dispater(~dispater@user/brprice)
2021-08-25 22:19:35 +0200orcus(~orcus@user/brprice)
2021-08-25 22:20:39 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2021-08-25 22:23:20 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 22:25:07 +0200jtomas_(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2021-08-25 22:29:08 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-25 22:33:51 +0200oxide(~lambda@user/oxide)
2021-08-25 22:33:58 +0200oxide(~lambda@user/oxide) (Client Quit)
2021-08-25 22:35:56 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-45.prtc.net) (Quit: Client closed)
2021-08-25 22:40:03 +0200mcglk_(~mcglk@131.191.49.120)
2021-08-25 22:41:28 +0200mcglk(~mcglk@131.191.49.120) (Ping timeout: 268 seconds)
2021-08-25 22:43:06 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2021-08-25 22:44:12 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 22:44:31 +0200Alicebudda(~Alicebudd@cold.passenger.volia.net)
2021-08-25 22:45:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-25 22:45:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-25 22:45:05 +0200wroathe(~wroathe@user/wroathe)
2021-08-25 22:50:36 +0200 <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
2021-08-25 22:51:03 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19) (Remote host closed the connection)
2021-08-25 22:52:07 +0200Topsi(~Tobias@dyndsl-095-033-024-207.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2021-08-25 22:55:16 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 22:55:25 +0200markpythonicbtc(~textual@2601:647:5a00:35:780a:5d22:10f6:8b18)
2021-08-25 22:56:12 +0200 <monochrom> IIRC Data.Typeable has a use case.
2021-08-25 22:56:16 +0200Alicebudda74(~Alicebudd@cold.passenger.volia.net)
2021-08-25 22:56:39 +0200 <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
2021-08-25 22:57:05 +0200 <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`
2021-08-25 22:58:10 +0200Alicebudda(~Alicebudd@cold.passenger.volia.net) (Ping timeout: 246 seconds)
2021-08-25 22:58:34 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4c9:355c:bd9d:df19)
2021-08-25 23:00:28 +0200fendor_(~fendor@91.141.62.191.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-08-25 23:01:14 +0200 <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`?
2021-08-25 23:02:21 +0200 <siers> is it easier to learn what it does/how it works by simply learning agda instead? :)
2021-08-25 23:07:03 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 250 seconds)
2021-08-25 23:07:45 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds)
2021-08-25 23:08:10 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-25 23:11:02 +0200 <maerwald> so who managed to do partial static linking on windows?
2021-08-25 23:11:15 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-25 23:11:27 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 240 seconds)
2021-08-25 23:11:46 +0200 <maerwald> so that mingw c libs are statically linked
2021-08-25 23:12:49 +0200ubert(~Thunderbi@178.165.195.172.wireless.dyn.drei.com) (Remote host closed the connection)
2021-08-25 23:13:07 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-08-25 23:13:30 +0200 <Ollie[m]> siers: it's certainly easier to learn about when you are working with/familiar with dependant types
2021-08-25 23:13:45 +0200 <Ollie[m]> How about checking out Richard Eisenberg's functional pearl?
2021-08-25 23:14:12 +0200 <Ollie[m]> It's about building a compiler - I think it's all called Stich
2021-08-25 23:14:20 +0200 <Ollie[m]> https://richarde.dev/papers/2018/stitch/stitch.pdf
2021-08-25 23:16:30 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-25 23:16:52 +0200jtomas_(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-25 23:16:57 +0200 <siers> I'll take a look
2021-08-25 23:17:07 +0200schuelermine(~anselmsch@user/schuelermine)
2021-08-25 23:17:31 +0200schuelermine(~anselmsch@user/schuelermine) (Client Quit)
2021-08-25 23:17:43 +0200schuelermine(~anselmsch@user/schuelermine)
2021-08-25 23:18:20 +0200schuelermine(~anselmsch@user/schuelermine) (Client Quit)
2021-08-25 23:18:32 +0200jtomas_(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-25 23:20:01 +0200mikoto-chan(~mikoto-ch@83.137.2.246)
2021-08-25 23:20:21 +0200 <siers> monochrom, that's works too
2021-08-25 23:27:10 +0200pbrisbin(~patrick@174-081-116-011.res.spectrum.com) (Ping timeout: 240 seconds)
2021-08-25 23:27:18 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-25 23:29:09 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-25 23:29:19 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-25 23:40:05 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-25 23:41:08 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net) (Read error: Connection reset by peer)
2021-08-25 23:41:25 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net)
2021-08-25 23:44:08 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 244 seconds)
2021-08-25 23:47:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-25 23:47:21 +0200mikoto-chan(~mikoto-ch@83.137.2.246) (Ping timeout: 250 seconds)
2021-08-25 23:51:06 +0200gawen(~gawen@user/gawen) (Quit: cya)
2021-08-25 23:51:15 +0200V(~v@anomalous.eu)
2021-08-25 23:54:55 +0200gawen(~gawen@user/gawen)
2021-08-25 23:57:13 +0200stiell(~stiell@gateway/tor-sasl/stiell)