2021/08/31

2021-08-31 00:01:15 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-08-31 00:01:57 +0200Achylles(~Achylles_@2804:431:d725:af0f:65ee:a58:ea07:2607)
2021-08-31 00:02:07 +0200acidjnk_new3(~acidjnk@p200300d0c72b958461a8e0175dc7ce9e.dip0.t-ipconnect.de)
2021-08-31 00:04:08 +0200Guest3410(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-31 00:05:19 +0200acidjnk_new(~acidjnk@p200300d0c72b958461a8e0175dc7ce9e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-08-31 00:11:31 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-31 00:11:47 +0200pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2021-08-31 00:11:58 +0200pavonia(~user@user/siracusa)
2021-08-31 00:13:55 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net)
2021-08-31 00:14:01 +0200goepsilongo_(~goepsilon@2603-7000-ab00-62ed-d076-a878-a2d3-a90b.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
2021-08-31 00:14:24 +0200themc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-08-31 00:15:22 +0200mizu_no_oto(~textual@cpe-74-67-208-45.twcny.res.rr.com)
2021-08-31 00:16:17 +0200max22-(~maxime@2a01cb08833598003c11741276acc8d8.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-08-31 00:17:59 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-08-31 00:17:59 +0200jushur(~human@user/jushur)
2021-08-31 00:19:37 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Ping timeout: 252 seconds)
2021-08-31 00:21:26 +0200oxide(~lambda@user/oxide)
2021-08-31 00:29:47 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-08-31 00:30:11 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 244 seconds)
2021-08-31 00:30:26 +0200azeem(~azeem@62.18.127.19)
2021-08-31 00:30:37 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-08-31 00:30:41 +0200xenon-(~bc8167eb@217.29.117.252)
2021-08-31 00:31:44 +0200fendor(~fendor@91.141.74.138.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
2021-08-31 00:33:41 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr)
2021-08-31 00:34:47 +0200minimario(~minimario@2603:900a:1600:ba00:fd6a:eb62:ef42:2446) (Ping timeout: 256 seconds)
2021-08-31 00:35:14 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2021-08-31 00:35:15 +0200Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-08-31 00:37:12 +0200drakonis(drakonis@2600:3c02::f03c:92ff:fe5e:b8bf) (Quit: WeeChat 3.1)
2021-08-31 00:37:38 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2021-08-31 00:38:19 +0200neo1(~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 252 seconds)
2021-08-31 00:41:43 +0200michalz(~michalz@185.246.204.33) (Remote host closed the connection)
2021-08-31 00:44:09 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-08-31 00:46:16 +0200_xor(~xor@74.215.232.67) (Quit: WeeChat 3.2)
2021-08-31 00:48:47 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 00:49:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 00:51:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 00:51:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 00:51:10 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 00:53:57 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 244 seconds)
2021-08-31 00:54:22 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-31 00:54:22 +0200mizu_no_oto(~textual@cpe-74-67-208-45.twcny.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-31 00:55:30 +0200Gurkenglas(~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
2021-08-31 00:55:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-31 00:56:12 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 00:57:05 +0200cjb(~cjb@user/cjb)
2021-08-31 00:57:35 +0200sami(~sami@wnpgmb0903w-ds01-52-54.dynamic.bellmts.net)
2021-08-31 00:58:29 +0200sami(~sami@wnpgmb0903w-ds01-52-54.dynamic.bellmts.net) (Client Quit)
2021-08-31 00:58:44 +0200sami(~05st@wnpgmb0903w-ds01-52-54.dynamic.bellmts.net)
2021-08-31 00:59:25 +0200 <sami> test
2021-08-31 01:02:39 +0200samiabc
2021-08-31 01:02:46 +0200abcst05
2021-08-31 01:02:55 +0200st05_05st
2021-08-31 01:03:06 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-08-31 01:03:29 +0200 <jackdk> Does this function have a common name? `Semigroup g => These g g -> g`
2021-08-31 01:03:45 +0200 <maerwald> gg? :D
2021-08-31 01:05:36 +0200 <maerwald> maybe `both`?
2021-08-31 01:06:30 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr) (Quit: Leaving)
2021-08-31 01:06:58 +0200 <maerwald> `mergeThese :: (a -> a -> a) -> These a a -> a ` is the closest
2021-08-31 01:07:10 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-08-31 01:07:55 +0200 <maerwald> mappendThese
2021-08-31 01:09:18 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 01:12:38 +0200_05st(~05st@wnpgmb0903w-ds01-52-54.dynamic.bellmts.net) (Quit: WeeChat 3.2)
2021-08-31 01:13:35 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
2021-08-31 01:14:44 +0200 <haveo> I don't think the Bifoldable1 instance for These is actually defined anywhere but the answer should be bifold1
2021-08-31 01:16:04 +0200sleblanc(~sleblanc@user/sleblanc)
2021-08-31 01:16:44 +0200 <jackdk> gg maerwald =). It is frustrating that we still call it "mappend" even though it's really relaxed to Semigroup
2021-08-31 01:17:24 +0200jeslie0(~user@108.162.150.9)
2021-08-31 01:25:17 +0200hololeap_(~hololeap@user/hololeap)
2021-08-31 01:26:34 +0200sm2n_(~sm2n@user/sm2n)
2021-08-31 01:28:21 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-08-31 01:28:34 +0200sm2n(~sm2n@user/sm2n) (Ping timeout: 244 seconds)
2021-08-31 01:29:06 +0200 <monochrom> Semigroup has <>, which is more popular anyway.
2021-08-31 01:32:56 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net)
2021-08-31 01:33:52 +0200jeslie0(~user@108.162.150.9) (Ping timeout: 252 seconds)
2021-08-31 01:33:58 +0200 <hpc> jackdk: we should also put some emphasis on its algebraic properties too, rather than alluding to lists
2021-08-31 01:34:02 +0200 <hpc> clearly it should be named "sadd"
2021-08-31 01:34:33 +0200 <jackdk> how about "smoosh"?
2021-08-31 01:35:03 +0200 <hpc> (bonus points if you manage to use it in combination with https://hackage.haskell.org/package/happy)
2021-08-31 01:35:09 +0200 <hpc> hah, smoosh
2021-08-31 01:35:12 +0200 <hpc> even better
2021-08-31 01:35:31 +0200 <jackdk> it mooshes things together, semigroupally, which is why is starts with an s
2021-08-31 01:35:38 +0200 <jackdk> proposal: rename mappend to moosh
2021-08-31 01:36:06 +0200 <hpc> and of course, rename (++) to oosh
2021-08-31 01:36:52 +0200abrantesasf(~abrantesa@2804:14d:b086:4b3c:2e56:dcff:fedb:62f)
2021-08-31 01:36:59 +0200 <monochrom> A parser is some kind of inverse of <>
2021-08-31 01:37:09 +0200 <jackdk> What if we tool `(+)` out of `Num` and made it the `Semigroup` operation? What could possibly go wrong?
2021-08-31 01:37:15 +0200acidjnk_new3(~acidjnk@p200300d0c72b958461a8e0175dc7ce9e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-31 01:37:16 +0200 <monochrom> Happily, happy is some kind of inverse of sad. >:)
2021-08-31 01:37:28 +0200 <jackdk> Nothing, I say! Nothing at all!
2021-08-31 01:39:07 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-31 01:40:59 +0200skykaninantimatter
2021-08-31 01:43:11 +0200antimatterverixor
2021-08-31 01:45:56 +0200verixorantagonist
2021-08-31 01:45:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 01:47:53 +0200antagonistantares
2021-08-31 01:48:04 +0200antaresantagonist
2021-08-31 01:49:47 +0200antagonistdesantra
2021-08-31 01:54:48 +0200desantra(~skykanin@115.81-166-221.customer.lyse.net) (Changing host)
2021-08-31 01:54:48 +0200desantra(~skykanin@user/skykanin)
2021-08-31 01:57:01 +0200Axman6(~Axman6@user/axman6)
2021-08-31 01:58:04 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-08-31 01:59:32 +0200chris(~chris@81.96.113.213)
2021-08-31 01:59:36 +0200chrisGuest729
2021-08-31 02:06:21 +0200minimario(~minimario@2603:900a:1600:ba00:fd6a:eb62:ef42:2446)
2021-08-31 02:07:49 +0200zebrag(~chris@user/zebrag)
2021-08-31 02:09:43 +0200Guest729(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-31 02:15:09 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-08-31 02:15:26 +0200jaja(~jaja@144.172.151.185)
2021-08-31 02:19:27 +0200jaja(~jaja@144.172.151.185) (Remote host closed the connection)
2021-08-31 02:19:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 02:21:12 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-08-31 02:25:18 +0200hololeap_(~hololeap@user/hololeap) (Remote host closed the connection)
2021-08-31 02:25:54 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-31 02:27:47 +0200zebrag(~chris@user/zebrag)
2021-08-31 02:27:51 +0200opac(~opac@ip-28-56.sn2.clouditalia.com) (Quit: Going offline, see ya! (www.adiirc.com))
2021-08-31 02:29:52 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 02:31:34 +0200zer0bitz(~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-31 02:35:16 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-31 02:35:30 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 02:35:38 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-31 02:35:40 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
2021-08-31 02:37:10 +0200desantra(~skykanin@user/skykanin) (Quit: WeeChat 3.2)
2021-08-31 02:37:12 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-31 02:37:55 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-08-31 02:38:45 +0200aegon(~mike@174.127.249.180) (Quit: leaving)
2021-08-31 02:40:25 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-08-31 02:41:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
2021-08-31 02:41:57 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 02:44:49 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-31 02:45:42 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-08-31 02:48:18 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-08-31 02:51:08 +0200Achylles_(~Achylles_@177.188.61.119)
2021-08-31 02:52:06 +0200Achylles(~Achylles_@2804:431:d725:af0f:65ee:a58:ea07:2607) (Remote host closed the connection)
2021-08-31 02:52:27 +0200zebrag(~chris@user/zebrag)
2021-08-31 02:54:13 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
2021-08-31 02:56:18 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-08-31 02:56:41 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2021-08-31 03:02:57 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
2021-08-31 03:03:36 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2021-08-31 03:03:54 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-08-31 03:06:09 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 03:08:17 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
2021-08-31 03:10:21 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
2021-08-31 03:10:59 +0200Guest372(~xxx@47.245.54.240) (Remote host closed the connection)
2021-08-31 03:11:03 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-08-31 03:12:06 +0200Guest372(~xxx@47.245.54.240)
2021-08-31 03:14:22 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-31 03:15:47 +0200minimario(~minimario@2603:900a:1600:ba00:fd6a:eb62:ef42:2446) (Quit: Client closed)
2021-08-31 03:17:45 +0200neurocyte3(~neurocyte@212.232.81.2)
2021-08-31 03:17:45 +0200neurocyte3(~neurocyte@212.232.81.2) (Changing host)
2021-08-31 03:17:45 +0200neurocyte3(~neurocyte@user/neurocyte)
2021-08-31 03:18:19 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 252 seconds)
2021-08-31 03:19:28 +0200pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2021-08-31 03:19:57 +0200neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 250 seconds)
2021-08-31 03:19:57 +0200neurocyte3neurocyte
2021-08-31 03:20:01 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-31 03:22:54 +0200Achylles_(~Achylles_@177.188.61.119) (Remote host closed the connection)
2021-08-31 03:24:06 +0200pavonia(~user@user/siracusa)
2021-08-31 03:24:27 +0200xenon-(~bc8167eb@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2021-08-31 03:28:41 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Read error: Connection reset by peer)
2021-08-31 03:28:48 +0200machined1od(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-31 03:34:52 +0200xff0x(~xff0x@2001:1a81:5283:ae00:3380:f428:346c:f5a) (Ping timeout: 252 seconds)
2021-08-31 03:36:53 +0200xff0x(~xff0x@2001:1a81:52bb:c200:2c79:b44:78b6:918)
2021-08-31 03:36:55 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-31 03:39:01 +0200sleblanc(~sleblanc@user/sleblanc) (Ping timeout: 250 seconds)
2021-08-31 03:39:17 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-08-31 03:39:57 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection)
2021-08-31 03:41:00 +0200tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2021-08-31 03:41:31 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net)
2021-08-31 03:41:32 +0200 <sim590> Is there a way to compile your code so that all of your datatypes derive a default Show instance without actually modifying the code? Some sort of flag you could pass to ghc ?
2021-08-31 03:41:40 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 03:43:58 +0200 <pavonia> That would cause inconsistencies across different packages, so hopefully you can't
2021-08-31 03:44:06 +0200noddy(~user@user/noddy)
2021-08-31 03:45:37 +0200 <pavonia> sim590: What you could do is to have an extra module with the instances and link that
2021-08-31 03:46:25 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-31 03:48:26 +0200 <sim590> pavonia: why is that so? Let's say I would like to do that only for debugging purposes by compiling in a debug mode and not bother wether I did or not create a Show instance. What is the big deal if in the case when there's no Show instance for a given data type, ghc creates one ? I don't really see the issue.
2021-08-31 03:49:17 +0200 <sim590> Because the advantage of using ghci to debug is not have to modify the code in order to debug. But if you have to put Show instances everytime you want to see what's inside something, it becomes annoying.
2021-08-31 03:49:33 +0200abrantesasf(~abrantesa@2804:14d:b086:4b3c:2e56:dcff:fedb:62f) (Quit: Leaving)
2021-08-31 03:50:59 +0200 <pavonia> What if another modules creates one too? Then you have two instances of the same type in scope but your code doesn't represent that
2021-08-31 03:51:55 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-31 03:52:05 +0200 <sim590> If I create an extra module, let's say MyProject.Debug.MyModule and I define the instance inside that module, then I will end up with the warning "oprhan instance". I always try to get rid of warnings. I'm not sure I would like to disable this one. Unless I can tell cabal to compile the Debug module and disable the warning when in debug mode and do the opposite when not in debug mode?
2021-08-31 03:53:31 +0200 <sim590> pavonia: wouldn't ghc be just able to detect whether there is another instance and not create one if there is?
2021-08-31 03:53:34 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-31 03:53:54 +0200 <pavonia> You can have flags in cabal files with different options, I think
2021-08-31 03:54:19 +0200 <pavonia> No, it wouldn't know whether there is already one is scope because the code say there is none
2021-08-31 03:54:23 +0200 <c_wraith> I don't understand why you don't want show instances normally
2021-08-31 03:54:35 +0200 <pavonia> The linker would complain, though
2021-08-31 03:55:13 +0200 <sim590> pavonia: then if there's compile time errors, it's fine. I'm not sure why ghc could never provide that functionnality
2021-08-31 03:55:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 03:56:12 +0200 <sim590> c_wraith: Some datatypes just don't need to be showed in the normal cases. If that's just for debugging purposes, I don't know why I would derive it for the user of my library.
2021-08-31 03:56:36 +0200 <c_wraith> so... you're optimizing to make debugging hard at no cost to users?
2021-08-31 03:58:03 +0200 <pavonia> sim590: What would be a convincing reason to support such a functionality? I can't see the advantage over just deriving Show automatically in your code
2021-08-31 03:59:17 +0200 <sim590> It's no optimization. It's rather just that I'm writing code based on the needs of the user. The user of the library doesn't need to debug my code so it wouldn't need to have the instance of show. And if the user would need it, then I say that all my types should have a Show instance which brings me back to the GHC option flag I'm thinking I'd like to have because why bother enabling manually a
2021-08-31 03:59:19 +0200 <sim590> Show instance if you want it in every cases.
2021-08-31 03:59:40 +0200 <c_wraith> Because not every type can have a (sensible) show instance
2021-08-31 04:00:35 +0200 <sim590> As soon as you need to check what's inside of a datatype, then you need it. If you're debugging, the :print command doesn't inform you on the values inside, but rather just the types.
2021-08-31 04:01:47 +0200 <pavonia> You can always use preprocessor conditionals if you really want to hide the instances from your users
2021-08-31 04:02:18 +0200 <sim590> But if I'm to do that, then I don't see a datatype that wouldn't have a Show instance for debugging purposes.
2021-08-31 04:02:33 +0200 <sim590> Can you give an example of some datatype that couldn't be showed?
2021-08-31 04:02:44 +0200 <janus> Void :P
2021-08-31 04:02:49 +0200 <sim590> Yeah...
2021-08-31 04:02:49 +0200 <c_wraith> data Foo = Foo (Int -> (Int -> Int))
2021-08-31 04:03:12 +0200 <sim590> OK. So a datatype that contains a function cannot be shown, right?
2021-08-31 04:04:19 +0200 <pavonia> data Foo = Foo (IO ()) is another example
2021-08-31 04:04:24 +0200 <janus> Category seems to have no Show https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Category.html
2021-08-31 04:05:12 +0200 <sim590> OK, but what about deriving Show for all datatypes that don't contain a function inside it but rather "simple" data types (what would you call it actually?)
2021-08-31 04:07:25 +0200ystael(~ystael@user/ystael)
2021-08-31 04:08:13 +0200 <janus> you can derive a sensible Show datatypes that are not polymorphic and have constructors and do not contains functions, i guess..
2021-08-31 04:08:15 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-08-31 04:08:54 +0200 <janus> *Show for datatypes
2021-08-31 04:09:00 +0200 <pavonia> sim590: Are you seriously arguing GHC should implement an option that might cause inconstistent object files only that you don't need to ignore a compiler warning for your debugging module?
2021-08-31 04:11:00 +0200 <sim590> No, but rather only that I don't have to always specify `deriving Show` for all datatypes when the only reason I would do that is for debugging puposes. What I'm arguing about is that it is not a function of my datatype to be showable. It's not used in any circumstances for outputing or serializing anything. So why would I have a Show instance. It doesn't make sense.
2021-08-31 04:11:10 +0200 <sim590> Then it makes it so the code doesn't make sense and it is irritating.
2021-08-31 04:11:55 +0200 <janus> but how could the compiler know if you would stick a function in there in the future?
2021-08-31 04:12:28 +0200 <janus> by writing "deriving Show" you're also making an assertion about its future behaviour
2021-08-31 04:12:48 +0200 <sim590> May be at runtime it could try and see if it can show it and figure out that it cannot and bail out with the usual error it prompts me with at the moment.
2021-08-31 04:13:19 +0200 <sim590> I'm talking about GHCi repl.
2021-08-31 04:13:34 +0200amk(~amk@109.255.169.126) (Ping timeout: 250 seconds)
2021-08-31 04:13:44 +0200amk(~amk@109.255.169.126)
2021-08-31 04:13:50 +0200 <janus> but then GHCi would work totally different ?
2021-08-31 04:14:25 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
2021-08-31 04:14:28 +0200 <sim590> What if I'd activate a flag for that with :set or something.
2021-08-31 04:15:14 +0200 <janus> sounds like you want something like -fdefer-type-errors and something else than type classes that are not resolved at compile time
2021-08-31 04:16:15 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-08-31 04:16:35 +0200 <sim590> Does it exist?
2021-08-31 04:17:04 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 04:17:44 +0200 <sim590> Would -XStandaloneDeriving help me ? Could I then derive the Show instance live in the GHCi repl?
2021-08-31 04:18:36 +0200 <pavonia> Yes, you would still have to type it :3
2021-08-31 04:19:12 +0200 <pavonia> Doesn't :force even work there too?
2021-08-31 04:21:40 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 240 seconds)
2021-08-31 04:21:55 +0200 <sim590> pavonia: That's OK. As long as I don't modify my file, I'm fine with that. I guess if I'd have more of these types to derive, then I'd be looking for something else. May be a file to run a list of repl commands before launching so that I don't have to run them by hand every time I launch my repl.
2021-08-31 04:23:20 +0200 <janus> but you'd need to enumerate them, that's a dealbreaker for you no?
2021-08-31 04:24:06 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 04:24:24 +0200td_(~td@94.134.91.159) (Ping timeout: 250 seconds)
2021-08-31 04:25:58 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-08-31 04:26:23 +0200td_(~td@94.134.91.147)
2021-08-31 04:26:59 +0200 <sim590> janus: I would have prefered something that is instantenous for which I wouldn't need to enumerate, indeed. But not modifying my source files is a big improvement.
2021-08-31 04:28:03 +0200 <janus> sim590: you may need to modify your source files, since you can't make use standalone deriving without having the type available, so you may need exports , i think
2021-08-31 04:28:41 +0200 <janus> one exported type could have an internal type embedded in it, which wouldn't be exported. how would you use standalone deriving on it?
2021-08-31 04:29:04 +0200 <pavonia> Why not just an extra module? If its just for debugging purpose, why to care about orphan instances?
2021-08-31 04:29:25 +0200 <sim590> pavonia: actually :force works
2021-08-31 04:32:30 +0200alx741(~alx741@186.178.108.235) (Quit: alx741)
2021-08-31 04:33:45 +0200 <sm> sim590: is it such a big hassle to specify Show in your types' classes ?
2021-08-31 04:36:28 +0200 <sim590> sm: as I said earlier, it doesn't make sense. I don't like writing it if it doesn't makes sense. I'm expecting that if something derives the Show instance, it's that it's either going to be serialized in some way or printed somewhere. I want to keep a code that honors the expectations. That's how I see it..
2021-08-31 04:37:40 +0200 <sm> I'm having a hard time understanding this, could be my fault
2021-08-31 04:37:44 +0200hendursaga(~weechat@user/hendursaga) (Remote host closed the connection)
2021-08-31 04:38:14 +0200hendursaga(~weechat@user/hendursaga)
2021-08-31 04:38:39 +0200hololeap(~hololeap@user/hololeap)
2021-08-31 04:39:46 +0200tv(~tv@user/tv) (Ping timeout: 240 seconds)
2021-08-31 04:40:10 +0200tv(~tv@user/tv)
2021-08-31 04:40:28 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 04:40:28 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 04:40:28 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 04:42:29 +0200 <sim590> May be it is a just a matter of opinion. But that's how I see my code. I want to write it in a way that if you write something, it's not in case you need it. It's because you *need* it. And I don't need the show instance in normal circumstances. If I can derive it while debugging and remove it afterwards and that my code is totally fine then and the library does what it needs to do, then it means
2021-08-31 04:42:31 +0200 <sim590> that I don't need the Show instance in my code.
2021-08-31 04:44:40 +0200 <sm> is it that you don't want to see "deriving Show" in the source ? or you don't want the generated show code in your production executable ? both ?
2021-08-31 04:45:10 +0200 <monochrom> "data Foo = MkFoo deriving ()" is legal.
2021-08-31 04:45:53 +0200 <monochrom> Now you can "#define SHOW Show" or "#define SHOW" depending on a flag. Then "data Foo = MkFoo deriving (SHOW)".
2021-08-31 04:46:21 +0200 <monochrom> perhaps s/SHOW/MAYBESHOW/
2021-08-31 04:46:22 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2021-08-31 04:46:37 +0200tv(~tv@user/tv) (Ping timeout: 250 seconds)
2021-08-31 04:47:00 +0200tv(~tv@user/tv)
2021-08-31 04:47:39 +0200 <sim590> sm: both I'd say.
2021-08-31 04:48:46 +0200 <sm> you can certainly have separate production and debug builds, with Show included by a build flag, eg like monochrom said. Personally I would really avoid that unless it were absolutely necessary
2021-08-31 04:49:07 +0200machined1od(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-08-31 04:49:16 +0200 <sm> eg the production build is usually the one you'll want debug output from..
2021-08-31 04:49:18 +0200 <sim590> monochrom: interesting! I'd keep that functionality in mind. For now, I think that :force is great for what I need. If I ever need something else, I'll think about that. I'll take a note. Thanks!!
2021-08-31 04:50:20 +0200 <monochrom> In a test suite, I would use some kind of standalone deriving, and move on.
2021-08-31 04:51:01 +0200 <ystael> in a _production_ system, I would derive Show _everywhere_ and swear about the places where I can't, because every missed opportunity to add inspectability is suffering waiting to happen
2021-08-31 04:51:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 04:51:33 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-31 04:51:35 +0200 <monochrom> Assuming that my users absolutely do not want me to do "deriving Show" outside the test suite.
2021-08-31 04:52:23 +0200 <sm> ystael++
2021-08-31 04:52:26 +0200 <monochrom> My suspicion though is that my users would appreciate it if I derived Show so they can also deriving Show.
2021-08-31 04:53:21 +0200 <sim590> Weird: http://ix.io/3xv7. I've issued :force a first time and I got `mt = _`. Then I ran :print on it. I only saw the types then. And then, I tried :force again and it gave a different result (the one I wanted to being with). Why? Just curious.
2021-08-31 04:53:32 +0200 <monochrom> Right? If my type is T and their type is "data B = MkB T Int deriving Show" and it errs on the stupid technicality that I don't provide Show in any way.
2021-08-31 04:53:38 +0200econo(uid147250@user/econo)
2021-08-31 04:54:04 +0200 <monochrom> I definitely have seen complaints in this channel for that.
2021-08-31 04:54:35 +0200sagax(~sagax@213.138.71.146) (Excess Flood)
2021-08-31 04:55:14 +0200tv(~tv@user/tv) (Ping timeout: 244 seconds)
2021-08-31 04:55:26 +0200 <sim590> monochrom: But why wouldn't your users just use `:force` in GHCi if there's no point in showing the datatype in question (I'm supposing we're talking about a data type which it makes no sense to show in normal circumstances).
2021-08-31 04:55:44 +0200 <monochrom> Huh, my users aren't using :force.
2021-08-31 04:55:54 +0200 <monochrom> My users aren't using ghci either.
2021-08-31 04:55:55 +0200 <sim590> Well, may be they should. :p
2021-08-31 04:56:14 +0200 <monochrom> Perhaps they also have their test suites to run.
2021-08-31 04:56:53 +0200 <monochrom> You are saying that every use case of my library must confine itself to ghci and :force.
2021-08-31 04:57:07 +0200 <monochrom> Is that some kind of proprietory lock in?
2021-08-31 04:58:49 +0200 <sim590> It depends on the library. If we're talking about a library that define fundamental data types, like Maybe for instance, then I say yeah you could show it. But if your type hides a potentially huge recursive definition (like a tree), then I don't think it's worth doing since nobody is gonna show that somewhere.
2021-08-31 05:07:52 +0200tv(~tv@user/tv)
2021-08-31 05:08:09 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-08-31 05:12:47 +0200otto_s(~user@p5b044a64.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-08-31 05:14:52 +0200otto_s(~user@p5de2f66c.dip0.t-ipconnect.de)
2021-08-31 05:18:58 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-08-31 05:19:22 +0200tv(~tv@user/tv) (Ping timeout: 252 seconds)
2021-08-31 05:19:45 +0200tv(~tv@user/tv)
2021-08-31 05:21:42 +0200 <pavonia> Missing or "wrong" Show instances is actually one of the biggest nuisance in user libraries, IMHO
2021-08-31 05:22:09 +0200xff0x(~xff0x@2001:1a81:52bb:c200:2c79:b44:78b6:918) (Ping timeout: 250 seconds)
2021-08-31 05:23:05 +0200xff0x(~xff0x@2001:1a81:52bb:c200:b53e:f2f2:3cdd:f236)
2021-08-31 05:32:26 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 244 seconds)
2021-08-31 05:33:15 +0200azeem(~azeem@62.18.127.19)
2021-08-31 05:34:10 +0200Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2021-08-31 05:35:54 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
2021-08-31 05:44:07 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 252 seconds)
2021-08-31 05:46:43 +0200azeem(~azeem@62.18.127.19)
2021-08-31 05:50:29 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-31 05:55:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 05:55:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 05:55:05 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 06:12:07 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
2021-08-31 06:12:53 +0200napping(~brandon@65.128.58.64) (Quit: leaving)
2021-08-31 06:13:02 +0200dajoer(~david@user/gvx)
2021-08-31 06:13:11 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2021-08-31 06:13:46 +0200zaquest(~notzaques@5.128.210.178) (Ping timeout: 252 seconds)
2021-08-31 06:21:15 +0200freizl(~user@astound-66-234-218-139.ca.astound.net)
2021-08-31 06:21:56 +0200freizl(~user@astound-66-234-218-139.ca.astound.net) ()
2021-08-31 06:30:18 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 244 seconds)
2021-08-31 06:30:47 +0200synthmeat(~synthmeat@user/synthmeat) (*.net *.split)
2021-08-31 06:30:47 +0200Hafydd(~Hafydd@user/hafydd) (*.net *.split)
2021-08-31 06:30:47 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
2021-08-31 06:30:47 +0200phaazon(~phaazon@2001:41d0:a:fe76::1) (*.net *.split)
2021-08-31 06:31:04 +0200phaazon(~phaazon@2001:41d0:a:fe76::1)
2021-08-31 06:31:07 +0200Hafydd(~Hafydd@user/hafydd)
2021-08-31 06:31:12 +0200synthmeat(~synthmeat@user/synthmeat)
2021-08-31 06:32:01 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2021-08-31 06:32:15 +0200azeem(~azeem@62.18.127.19)
2021-08-31 06:39:37 +0200hueso(~root@user/hueso) (Ping timeout: 252 seconds)
2021-08-31 06:40:08 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-08-31 06:44:15 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
2021-08-31 06:45:31 +0200light_(~light@2601:987:280:fb20:ad54:a859:84a:ccc3)
2021-08-31 06:46:45 +0200hueso(~root@user/hueso)
2021-08-31 06:47:23 +0200mei(~mei@user/mei)
2021-08-31 06:47:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 06:48:16 +0200favonia(~favonia@user/favonia) (Ping timeout: 250 seconds)
2021-08-31 06:50:47 +0200light_Smokey
2021-08-31 06:50:51 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2021-08-31 06:55:58 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-31 06:59:25 +0200VoidNoir0(~VoidNoir0@72.80.203.52) (Ping timeout: 252 seconds)
2021-08-31 06:59:59 +0200favonia(~favonia@user/favonia)
2021-08-31 07:02:16 +0200Smokey(~light@2601:987:280:fb20:ad54:a859:84a:ccc3) (Quit: Leaving)
2021-08-31 07:02:34 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 250 seconds)
2021-08-31 07:02:59 +0200azeem(~azeem@62.18.127.19)
2021-08-31 07:03:53 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 244 seconds)
2021-08-31 07:03:56 +0200light_(~light@2601:987:280:fb20:ad54:a859:84a:ccc3)
2021-08-31 07:05:37 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-31 07:06:06 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-08-31 07:06:52 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 07:08:32 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 07:08:50 +0200MQ-17J(~MQ-17J@8.21.10.6)
2021-08-31 07:09:52 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-08-31 07:10:06 +0200mceldeen(~igloo@174-16-163-16.hlrn.qwest.net)
2021-08-31 07:12:33 +0200light_(~light@2601:987:280:fb20:ad54:a859:84a:ccc3) (Quit: Leaving)
2021-08-31 07:13:13 +0200MQ-17J(~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds)
2021-08-31 07:15:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-31 07:15:51 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-08-31 07:16:38 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-31 07:17:52 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 07:18:31 +0200mceldeen(~igloo@174-16-163-16.hlrn.qwest.net) (Remote host closed the connection)
2021-08-31 07:21:19 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Remote host closed the connection)
2021-08-31 07:21:33 +0200andreas3-(andreas303@ip227.orange.bnc4free.com)
2021-08-31 07:22:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-31 07:25:07 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-08-31 07:26:01 +0200Gurkenglas(~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de)
2021-08-31 07:28:39 +0200Christoph[m]12(~hpotsirhc@2001:470:69fc:105::2ff8)
2021-08-31 07:31:05 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-08-31 07:31:40 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-31 07:36:16 +0200cjb(~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
2021-08-31 07:42:12 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 07:45:22 +0200nschoe(~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818)
2021-08-31 07:46:46 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-31 07:50:42 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-08-31 07:53:22 +0200ubert(~Thunderbi@178.165.202.159.wireless.dyn.drei.com)
2021-08-31 07:53:26 +0200 <dminuoso> pavonia: Is it? Im personally annoyed by the abundance of incorrect Show instances.
2021-08-31 07:53:41 +0200 <dminuoso> At the end, they are just some rudimentary debugging tool for developers.
2021-08-31 07:55:10 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-08-31 07:55:34 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 252 seconds)
2021-08-31 07:56:19 +0200 <pavonia> Well, that's what I meant by "wrong". Instances that do no reflect the underlying Haskell data type
2021-08-31 07:56:24 +0200azeem(~azeem@62.18.127.19)
2021-08-31 07:58:11 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-08-31 07:59:58 +0200ubert(~Thunderbi@178.165.202.159.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-08-31 08:00:20 +0200oxide(~lambda@user/oxide)
2021-08-31 08:05:36 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-31 08:07:26 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-08-31 08:09:29 +0200markus_(~markus@193-154-202-236.adsl.highway.telekom.at) (Quit: Leaving)
2021-08-31 08:11:10 +0200leplep-
2021-08-31 08:12:34 +0200sjb0(~stephen@1.145.78.87) (Quit: Leaving.)
2021-08-31 08:16:36 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-08-31 08:17:03 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-08-31 08:20:42 +0200neo1(~neo3@cpe-292712.ip.primehome.com)
2021-08-31 08:22:06 +0200michalz(~michalz@185.246.204.40)
2021-08-31 08:24:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 08:24:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 08:24:30 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 08:24:38 +0200 <tomsmeding> maerwald: I believe some haskell code that I still have lying around, combined with a bit of manual processing of 'cabal-plan dot' output :p
2021-08-31 08:25:14 +0200lep-lep
2021-08-31 08:28:47 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-08-31 08:29:21 +0200 <tomsmeding> maerwald: current largest win is dropping libarchive lol
2021-08-31 08:32:34 +0200 <tomsmeding> maerwald: apparently you can drop 7 deps by dropping haskus-utils-variant-3.1
2021-08-31 08:33:16 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 244 seconds)
2021-08-31 08:36:00 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-31 08:38:17 +0200max22-(~maxime@2a01cb0883359800abc384d6504f49b2.ipv6.abo.wanadoo.fr)
2021-08-31 08:39:48 +0200nschoe(~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-08-31 08:40:03 +0200nschoe(~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818)
2021-08-31 08:40:16 +0200 <maerwald[m]> tomsmeding: how I unpack stuff without libarchive lol
2021-08-31 08:41:07 +0200 <tomsmeding> you don't, which is why I just added it to my dontblock list :p
2021-08-31 08:41:12 +0200 <tomsmeding> s/block/drop/
2021-08-31 08:44:06 +0200 <maerwald[m]> haskus doesn't have many alternatives. Only plucky
2021-08-31 08:46:14 +0200 <tomsmeding> maerwald[m]: https://paste.tomsmeding.com/hOVxa3Se
2021-08-31 08:47:46 +0200 <tomsmeding> and the max-savings sets of size 1, 2 and 3 are thoroughly unenlightening: haskus-utils-variant, huv+brick, hub+brick+optics
2021-08-31 08:48:08 +0200 <tomsmeding> maerwald[m]: seems you've already removed the low-hanging fruit
2021-08-31 08:50:26 +0200 <tomsmeding> why does data-clist (dependency of brick) depend on QuickCheck
2021-08-31 08:51:12 +0200 <tomsmeding> ....... because it wants to provide instances
2021-08-31 08:51:28 +0200 <tomsmeding> this is a significant problem that prevents people from minimising their dependency footprint
2021-08-31 08:57:50 +0200oxide(~lambda@user/oxide) (Ping timeout: 250 seconds)
2021-08-31 08:59:28 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-31 09:00:14 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-08-31 09:00:21 +0200oxide(~lambda@user/oxide)
2021-08-31 09:04:27 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds)
2021-08-31 09:04:35 +0200oniko
2021-08-31 09:04:44 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 09:06:11 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Ping timeout: 250 seconds)
2021-08-31 09:07:48 +0200 <Axman6> This is one of the reasons popular libraries so often split into a foo-core and foo, so people can depend on just the definitons and not the whole library. it's not a simple problem to solve sadly
2021-08-31 09:08:15 +0200 <tomsmeding> yeah I didn't claim to have a solution :p
2021-08-31 09:09:03 +0200 <dibblego> nobody fixed that yet?
2021-08-31 09:09:04 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-85.prtc.net)
2021-08-31 09:13:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 09:14:05 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-08-31 09:21:49 +0200fendor(~fendor@91.141.74.138.wireless.dyn.drei.com)
2021-08-31 09:27:31 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 244 seconds)
2021-08-31 09:27:32 +0200kenran(~kenran@200116b82b76160097a4bfdda94078aa.dip.versatel-1u1.de)
2021-08-31 09:28:00 +0200azeem(~azeem@62.18.127.19)
2021-08-31 09:29:47 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-85.prtc.net) (Quit: Client closed)
2021-08-31 09:29:59 +0200jaamroormaaj
2021-08-31 09:34:40 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 250 seconds)
2021-08-31 09:35:01 +0200azeem(~azeem@62.18.127.19)
2021-08-31 09:35:40 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 240 seconds)
2021-08-31 09:36:42 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 09:39:06 +0200vysn(~vysn@user/vysn)
2021-08-31 09:39:53 +0200opac(~opac@ip-28-56.sn2.clouditalia.com)
2021-08-31 09:41:13 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-31 09:47:40 +0200cheater(~Username@user/cheater) (Ping timeout: 244 seconds)
2021-08-31 09:49:57 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-31 09:52:10 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-08-31 09:56:45 +0200acidjnk_new3(~acidjnk@p200300d0c72b958461a8e0175dc7ce9e.dip0.t-ipconnect.de)
2021-08-31 09:58:11 +0200mcglk_(~mcglk@131.191.49.120) (Ping timeout: 250 seconds)
2021-08-31 10:00:49 +0200mcglk(~mcglk@131.191.49.120)
2021-08-31 10:04:29 +0200cfricke(~cfricke@user/cfricke)
2021-08-31 10:05:31 +0200hendursa1(~weechat@user/hendursaga)
2021-08-31 10:05:55 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 252 seconds)
2021-08-31 10:09:00 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-08-31 10:09:39 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-08-31 10:10:33 +0200azeem(~azeem@62.18.127.19)
2021-08-31 10:13:03 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-31 10:19:59 +0200CyrusT[m](~cyrustcru@2001:470:69fc:105::306e) (Quit: You have been idle for 30+ days)
2021-08-31 10:22:21 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-31 10:24:59 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 10:27:07 +0200sjb0(~stephen@1.145.78.87)
2021-08-31 10:28:28 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 10:29:08 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 10:30:08 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 10:31:49 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-08-31 10:33:29 +0200__monty__(~toonn@user/toonn)
2021-08-31 10:36:14 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 10:36:31 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 10:39:54 +0200Vajb(~Vajb@85-76-32-132-nat.elisa-mobile.fi)
2021-08-31 10:41:07 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-31 10:41:24 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 10:41:55 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 244 seconds)
2021-08-31 10:42:43 +0200Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds)
2021-08-31 10:43:04 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-31 10:44:35 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6) (Remote host closed the connection)
2021-08-31 10:46:20 +0200azeem(~azeem@62.18.127.19)
2021-08-31 10:48:16 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-31 10:53:49 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 10:56:50 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-31 10:58:16 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
2021-08-31 10:58:58 +0200azeem(~azeem@62.18.127.19) (Ping timeout: 244 seconds)
2021-08-31 11:13:18 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-31 11:14:48 +0200sjb01(~stephen@2001:8004:2728:bb6:f4a4:82a7:ee79:3dae)
2021-08-31 11:15:35 +0200sjb0(~stephen@1.145.78.87) (Read error: No route to host)
2021-08-31 11:18:43 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-31 11:23:03 +0200Guest24(~Guest24@adsl-72-50-4-41.prtc.net)
2021-08-31 11:28:21 +0200acidjnk_new(~acidjnk@p200300d0c72b9584411cb99d5036b21f.dip0.t-ipconnect.de)
2021-08-31 11:29:30 +0200max22-(~maxime@2a01cb0883359800abc384d6504f49b2.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2021-08-31 11:31:47 +0200acidjnk_new3(~acidjnk@p200300d0c72b958461a8e0175dc7ce9e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-31 11:35:23 +0200cheater(~Username@user/cheater)
2021-08-31 11:36:35 +0200 <maerwald> dependencies per symbol?
2021-08-31 11:40:49 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 244 seconds)
2021-08-31 11:45:00 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6)
2021-08-31 11:45:27 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2021-08-31 11:46:10 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-31 11:49:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6) (Ping timeout: 240 seconds)
2021-08-31 11:52:37 +0200xff0x(~xff0x@2001:1a81:52bb:c200:b53e:f2f2:3cdd:f236) (Ping timeout: 252 seconds)
2021-08-31 11:53:15 +0200xff0x(~xff0x@2001:1a81:52bb:c200:2daa:f38a:b2b7:ac83)
2021-08-31 12:00:50 +0200Guest24(~Guest24@adsl-72-50-4-41.prtc.net) (Quit: Client closed)
2021-08-31 12:05:37 +0200neo1(~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 244 seconds)
2021-08-31 12:09:17 +0200acidjnk_new(~acidjnk@p200300d0c72b9584411cb99d5036b21f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-08-31 12:11:55 +0200acidjnk_new(~acidjnk@p200300d0c72b958455fe344ab2f7364a.dip0.t-ipconnect.de)
2021-08-31 12:14:27 +0200kenran(~kenran@200116b82b76160097a4bfdda94078aa.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2021-08-31 12:14:45 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-31 12:17:47 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 12:23:22 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-31 12:26:34 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Read error: Connection reset by peer)
2021-08-31 12:27:11 +0200acidjnk_new3(~acidjnk@p200300d0c72b9584d1c56aac246435af.dip0.t-ipconnect.de)
2021-08-31 12:29:02 +0200azeem(~azeem@62.19.63.88)
2021-08-31 12:31:07 +0200acidjnk_new(~acidjnk@p200300d0c72b958455fe344ab2f7364a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-08-31 12:36:51 +0200zaquest(~notzaques@5.128.210.178)
2021-08-31 12:42:04 +0200azeem(~azeem@62.19.63.88) (Ping timeout: 252 seconds)
2021-08-31 12:43:39 +0200max22-(~maxime@2a01cb0883359800c385dd054c0a20af.ipv6.abo.wanadoo.fr)
2021-08-31 12:45:28 +0200azeem(~azeem@62.19.63.88)
2021-08-31 12:45:38 +0200Morrow_(~Morrow@31.154.96.164)
2021-08-31 12:56:36 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
2021-08-31 12:57:50 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-08-31 12:58:19 +0200Morrow_(~Morrow@31.154.96.164) (Ping timeout: 244 seconds)
2021-08-31 12:58:22 +0200 <kuribas> Is there an easy alternative for effect stacks?
2021-08-31 12:58:27 +0200 <kuribas> For example Validation over StateT.
2021-08-31 12:58:30 +0200 <kuribas> Maybe Just use IO and a mutable variable?
2021-08-31 12:58:51 +0200 <kuribas> (it's a project for haskell newbee's)
2021-08-31 12:58:58 +0200sjb01(~stephen@2001:8004:2728:bb6:f4a4:82a7:ee79:3dae) (Read error: Connection reset by peer)
2021-08-31 12:59:34 +0200 <kuribas> Or the ST monad if I want to remain pure?
2021-08-31 13:01:02 +0200alx741(~alx741@186.178.108.235)
2021-08-31 13:01:56 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-31 13:03:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-31 13:04:00 +0200azeem(~azeem@62.19.63.88) (Ping timeout: 244 seconds)
2021-08-31 13:04:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:08:48 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 13:09:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 13:10:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:11:07 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-31 13:15:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 13:16:04 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:17:46 +0200sjb0(~stephen@2001:8004:2738:35de:a1a3:a1c1:6e62:ba62)
2021-08-31 13:21:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 13:21:18 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Ping timeout: 250 seconds)
2021-08-31 13:21:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:25:19 +0200fendor_(~fendor@77.119.206.17.wireless.dyn.drei.com)
2021-08-31 13:25:29 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 13:27:15 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 13:27:46 +0200fendor(~fendor@91.141.74.138.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
2021-08-31 13:27:59 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:30:50 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2021-08-31 13:30:51 +0200Vajb(~Vajb@85-76-32-132-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-31 13:31:43 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 13:32:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 13:33:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:39:39 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 13:40:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:40:24 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-31 13:40:34 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 13:45:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-08-31 13:46:04 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 13:46:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6)
2021-08-31 13:49:59 +0200acidjnk_new(~acidjnk@p5487d90a.dip0.t-ipconnect.de)
2021-08-31 13:51:19 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:10be:968:241f:1aa6) (Ping timeout: 250 seconds)
2021-08-31 13:53:04 +0200acidjnk_new3(~acidjnk@p200300d0c72b9584d1c56aac246435af.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-08-31 13:54:36 +0200chris(~chris@81.96.113.213)
2021-08-31 13:54:41 +0200chrisGuest8194
2021-08-31 14:00:50 +0200Guest8194(~chris@81.96.113.213) (Ping timeout: 244 seconds)
2021-08-31 14:02:17 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-31 14:02:32 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-08-31 14:02:49 +0200kenran(~kenran@i577BCDA3.versanet.de)
2021-08-31 14:02:54 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 14:03:45 +0200mizu_no_oto(~textual@cpe-74-67-208-45.twcny.res.rr.com)
2021-08-31 14:05:29 +0200oxide(~lambda@user/oxide) (Ping timeout: 244 seconds)
2021-08-31 14:07:42 +0200oxide(~lambda@user/oxide)
2021-08-31 14:09:31 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-08-31 14:09:35 +0200mizu_no_oto(~textual@cpe-74-67-208-45.twcny.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-31 14:09:50 +0200max22-(~maxime@2a01cb0883359800c385dd054c0a20af.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2021-08-31 14:17:24 +0200 <dminuoso> Over time I've become a RIO without even knowing it. In my opinion, large scale monadic transformer stacks have various problems attached to it
2021-08-31 14:17:31 +0200 <dminuoso> *RIO proponent
2021-08-31 14:17:48 +0200mizu_no_oto(~textual@cpe-74-67-208-45.twcny.res.rr.com)
2021-08-31 14:19:09 +0200 <kuribas> dminuoso: ReaderT IO for everything?
2021-08-31 14:19:14 +0200 <kuribas> even pure functions?
2021-08-31 14:19:56 +0200 <dminuoso> kuribas: Not for everything, just the parts that need IO interleaved.
2021-08-31 14:20:12 +0200 <dminuoso> And to be fair, I personally use `LoggingT (ReaderT Envt)`
2021-08-31 14:20:26 +0200 <kuribas> dminuoso: where do get LoggingT from?
2021-08-31 14:20:30 +0200 <dminuoso> monad-logger
2021-08-31 14:20:48 +0200Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-08-31 14:21:48 +0200 <dminuoso> If I need state, I usually bury it into IORefs into the environment.
2021-08-31 14:22:02 +0200 <dminuoso> Though *local* uses StateT are fine and I sometimes do it
2021-08-31 14:22:25 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-08-31 14:22:58 +0200hololeap(~hololeap@user/hololeap)
2021-08-31 14:23:00 +0200 <kuribas> dminuoso: yes this is local.
2021-08-31 14:23:13 +0200 <kuribas> dminuoso: but also interleaved with Validation, which makes it a bit complicated...
2021-08-31 14:23:26 +0200 <dminuoso> kuribas: Hard to say in general. How local is local?
2021-08-31 14:23:27 +0200 <kuribas> hmm, StateT and validation makes no sense though...
2021-08-31 14:23:31 +0200 <kuribas> dminuoso: one function
2021-08-31 14:23:49 +0200 <maerwald> dminuoso: the reason I don't use RIO is because it doesn't have an outer ExceptT
2021-08-31 14:23:54 +0200 <dminuoso> You can also in principle put the validation into your state
2021-08-31 14:24:21 +0200 <dminuoso> maerwald: You can always through in IO
2021-08-31 14:24:24 +0200 <dminuoso> *throw in IO
2021-08-31 14:24:29 +0200 <maerwald> yeah, not the same
2021-08-31 14:24:33 +0200 <dminuoso> Yeah I know its not the same
2021-08-31 14:24:43 +0200 <maerwald> And I know that Snoyman is against ExceptT IO
2021-08-31 14:24:47 +0200 <maerwald> but the arguments are odd
2021-08-31 14:25:02 +0200 <dminuoso> Its quite interesting because over time I developed the same exact reasons as Snoyman has.
2021-08-31 14:25:05 +0200 <kuribas> dminuoso: so to be beginner friendly, state in IO, and throw exceptions instead of Either?
2021-08-31 14:25:15 +0200 <dminuoso> kuribas: What's the goal here anyway?
2021-08-31 14:25:19 +0200 <dminuoso> What do you intend to teach?
2021-08-31 14:25:28 +0200 <kuribas> dminuoso: not teach, it's a practical project
2021-08-31 14:25:34 +0200qbt(~edun@user/edun)
2021-08-31 14:25:34 +0200 <kuribas> but should be usable by beginners.
2021-08-31 14:25:41 +0200 <maerwald> dminuoso: well, the arguments against ExceptT IO are the same as against `IO (Either a b)` and that's really... uh, nonsense
2021-08-31 14:25:43 +0200 <dminuoso> I wouldn't pick beginner readability as a concern.
2021-08-31 14:26:07 +0200 <kuribas> dminuoso: it's not nonsense.
2021-08-31 14:26:12 +0200 <dminuoso> maerwald: Oh well, I guess I meant wrt to RIO not ExceptT. :)
2021-08-31 14:26:23 +0200 <kuribas> dminuoso: it means I care about the "Left" result...
2021-08-31 14:26:29 +0200 <dminuoso> kuribas: Wrong recipient.
2021-08-31 14:26:42 +0200 <kuribas> dminuoso: excuse me?
2021-08-31 14:26:46 +0200 <kuribas> ah right :)à
2021-08-31 14:26:49 +0200 <maerwald> well, unless you think checked exceptions are nonsense, then yeah
2021-08-31 14:27:20 +0200 <maerwald> for low level libraries I agree
2021-08-31 14:27:29 +0200 <kuribas> maerwald: I think exceptions which are part of control flow, needs to be visible.
2021-08-31 14:27:31 +0200 <maerwald> I don't think e.g. `directory` should make any distinction
2021-08-31 14:27:35 +0200 <kuribas> And exceptions aren't very visible.
2021-08-31 14:27:36 +0200 <dminuoso> The main thing I dont like about ExceptT, is that it doesnt compose well on global parts of programs, because you get the same unlifting problematic
2021-08-31 14:27:47 +0200 <maerwald> for application layer, not having `IO (Either a b)` is insane and hard to maintain
2021-08-31 14:28:02 +0200 <dminuoso> If you dont mind or need MonadBaseControl, then all of this is mood, and transformers are great tools.
2021-08-31 14:28:11 +0200 <dminuoso> Even on larger scale
2021-08-31 14:28:44 +0200favonia(~favonia@user/favonia)
2021-08-31 14:29:05 +0200 <dminuoso> To me, there's no obviously correct way to even implement MoandBaseControl that doesn't surprise you in the presence of exceptions and bracket.
2021-08-31 14:30:16 +0200 <dminuoso> maerwald: Mmm, I dont mind `IO (Either a b)`, but hierarchial exceptions can get the job done too
2021-08-31 14:30:35 +0200 <dminuoso> But bizarrely hierarchial exceptions appears to have become a forgotten art if I look at source code on hackage a lot.
2021-08-31 14:32:14 +0200vektor(~vektor@94.46.71.236)
2021-08-31 14:33:08 +0200 <merijn> dminuoso: Word
2021-08-31 14:34:36 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-08-31 14:38:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-31 14:38:56 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-08-31 14:38:57 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 14:42:04 +0200ormaaj(~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200siraben(~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200kadoban(~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200Dima[m](~reddima10@2001:470:69fc:105::366) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200carmysilna(~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200peddie(~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200unrooted(~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200sm(~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200psydroid(~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200fgaz(~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200jophish(~jophish@2001:470:69fc:105::670) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200maralorn(~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200Deide(~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200Tisoxin(~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200boxscape(~boxscape@user/boxscape) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200jkachmar(~jkachmar@2001:470:69fc:105::c72d) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200kevin[m]1(~pnotequal@2001:470:69fc:105::a54) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200JavierNeira[m](~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200bitonic(~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200ixlun(~ixlun@2001:470:69fc:105::41b3) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200kar1(~kar1@2001:470:69fc:105::c308) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200lwe[m](~dendrumat@2001:470:69fc:105::2f9b) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200schuelermine[m](~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200jaror[m](~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200polykernel(~polykerne@user/polykernel) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200Drew[m](~drewefenw@2001:470:69fc:105::c8c4) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200ericson2314(~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:04 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200unclechu(~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200jakefromstatefar(~jakefroms@2001:470:69fc:105::15ef) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200Magnus[m](~magthetch@2001:470:69fc:105::d1a7) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200hughjfchen[m](~hughjfche@2001:470:69fc:105::c29d) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200bb010g(~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200oak-(~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200soft(~soft-matr@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200Ollie[m](~ollieocha@2001:470:69fc:105::41a5) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:05 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200SimonWeiss[m](~weiss-dma@2001:470:69fc:105::bebd) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200vbeatrice[m](~vbeatrice@2001:470:69fc:105::3ebf) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200justosophy[m](~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200fakehacker[m](~fakehacke@2001:470:69fc:105::b5f0) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200stoicswe[m](~deadlette@2001:470:69fc:105::d277) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200infinisil(~infinisil@2001:470:69fc:105::ff8) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200Teohehim[m](~teocmatri@2001:470:69fc:105::d327) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200ongy[m](~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:06 +0200deuslambda[m](~deuslambd@2001:470:69fc:105::c749) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:07 +0200andreabedini[m](~andreabed@2001:470:69fc:105::c821) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:07 +0200rosariopulella[m(~rosariopu@2001:470:69fc:105::a57) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:08 +0200bakinonion[m](~bakinonio@2001:470:69fc:105::ddb3) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:08 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:08 +0200wysteriary[m](~wysteriar@2001:470:69fc:105::a42e) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:08 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:08 +0200monadfritz[m](~ahdytmatr@2001:470:69fc:105::e1f1) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:09 +0200yin[m](~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:09 +0200quantum(~quantum@user/quantum/x-8556232) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:09 +0200Christoph[m]12(~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:11 +0200jchia[m](~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:11 +0200jmcantrell(~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:11 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:11 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:11 +0200reza[m](~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:12 +0200Cesionaut[m](~cesionaut@2001:470:69fc:105::dd3b) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:12 +0200zfnmxt(~zfnmxtzfn@user/zfnmxt) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:12 +0200RohitGoswami[m]1(~rgoswamim@2001:470:69fc:105::16cc) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:12 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:12 +0200masaeedu[m](~masaeedum@2001:470:69fc:105::e256) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:12 +0200thonoht[m](~thonohtma@2001:470:69fc:105::d7be) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:12 +0200aveltras[m](~aveltrasm@2001:470:69fc:105::3ef9) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:42:13 +0200jesser[m](~jessermat@2001:470:69fc:105::d5ae) (Quit: Bridge terminating on SIGTERM)
2021-08-31 14:45:15 +0200jakefromstatefar(~jakefroms@2001:470:69fc:105::15ef)
2021-08-31 14:46:18 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 14:46:22 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-08-31 14:46:35 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 14:52:49 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 14:53:01 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-31 14:53:10 +0200sus(thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-08-31 14:53:18 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 14:53:51 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 14:54:03 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-31 14:54:49 +0200chris(~chris@81.96.113.213)
2021-08-31 14:54:53 +0200chrisGuest2769
2021-08-31 14:55:13 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2021-08-31 14:55:13 +0200jaror[m](~jaror@2001:470:69fc:105::265)
2021-08-31 14:55:13 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2021-08-31 14:55:13 +0200peddie(~peddie@2001:470:69fc:105::25d)
2021-08-31 14:55:13 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2021-08-31 14:55:13 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284)
2021-08-31 14:55:13 +0200thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2021-08-31 14:55:13 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f)
2021-08-31 14:55:13 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2)
2021-08-31 14:55:13 +0200quantum(~quantum@user/quantum/x-8556232)
2021-08-31 14:55:13 +0200bb010g(~bb010g@2001:470:69fc:105::9a5)
2021-08-31 14:55:13 +0200fabfianda[m](~fabfianda@2001:470:69fc:105::6db)
2021-08-31 14:55:13 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a)
2021-08-31 14:55:13 +0200amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2021-08-31 14:55:13 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2021-08-31 14:55:13 +0200Las[m](~lasmatrix@2001:470:69fc:105::74e)
2021-08-31 14:55:13 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2021-08-31 14:55:13 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2021-08-31 14:55:13 +0200kadoban(~kadoban@user/kadoban)
2021-08-31 14:55:14 +0200bitonic(~bitonic@2001:470:69fc:105::1812)
2021-08-31 14:55:14 +0200ericson2314(~ericson23@2001:470:69fc:105::70c)
2021-08-31 14:55:14 +0200jophish(~jophish@2001:470:69fc:105::670)
2021-08-31 14:55:14 +0200carmysilna(~brightly-@2001:470:69fc:105::2190)
2021-08-31 14:55:14 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22)
2021-08-31 14:55:14 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488)
2021-08-31 14:55:14 +0200ixlun(~ixlun@2001:470:69fc:105::41b3)
2021-08-31 14:55:14 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3)
2021-08-31 14:55:14 +0200unclechu(~unclechu@2001:470:69fc:105::354)
2021-08-31 14:55:14 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70)
2021-08-31 14:55:14 +0200unrooted(~unrooted@2001:470:69fc:105::a4a)
2021-08-31 14:55:14 +0200SimonWeiss[m](~weiss-dma@2001:470:69fc:105::bebd)
2021-08-31 14:55:14 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2021-08-31 14:55:14 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0)
2021-08-31 14:55:14 +0200lwe[m](~dendrumat@2001:470:69fc:105::2f9b)
2021-08-31 14:55:14 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2021-08-31 14:55:14 +0200reza[m](~rezaphone@2001:470:69fc:105::3eda)
2021-08-31 14:55:14 +0200boxscape(~boxscape@user/boxscape)
2021-08-31 14:55:14 +0200schuelermine[m](~schuelerm@user/schuelermine)
2021-08-31 14:55:14 +0200sm(~sm@plaintextaccounting/sm)
2021-08-31 14:55:14 +0200jkachmar(~jkachmar@2001:470:69fc:105::c72d)
2021-08-31 14:55:14 +0200kevin[m]1(~pnotequal@2001:470:69fc:105::a54)
2021-08-31 14:55:14 +0200Deide(~deide@user/deide)
2021-08-31 14:55:14 +0200hughjfchen[m](~hughjfche@2001:470:69fc:105::c29d)
2021-08-31 14:55:14 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2)
2021-08-31 14:55:14 +0200psydroid(~psydroid@user/psydroid)
2021-08-31 14:55:14 +0200Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8)
2021-08-31 14:55:14 +0200thonoht[m](~thonohtma@2001:470:69fc:105::d7be)
2021-08-31 14:55:15 +0200polykernel(~polykerne@user/polykernel)
2021-08-31 14:55:15 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300)
2021-08-31 14:55:15 +0200kar1(~kar1@2001:470:69fc:105::c308)
2021-08-31 14:55:15 +0200ongy[m](~ongymatri@2001:470:69fc:105::5018)
2021-08-31 14:55:15 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2021-08-31 14:55:15 +0200ormaaj(~ormaaj@user/ormaaj)
2021-08-31 14:55:15 +0200infinisil(~infinisil@2001:470:69fc:105::ff8)
2021-08-31 14:55:15 +0200andreabedini[m](~andreabed@2001:470:69fc:105::c821)
2021-08-31 14:55:15 +0200Drew[m](~drewefenw@2001:470:69fc:105::c8c4)
2021-08-31 14:55:15 +0200Magnus[m](~magthetch@2001:470:69fc:105::d1a7)
2021-08-31 14:55:15 +0200siraben(~siraben@user/siraben)
2021-08-31 14:55:15 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2021-08-31 14:55:15 +0200JavierNeira[m](~jneiramat@2001:470:69fc:105::d729)
2021-08-31 14:55:15 +0200Tisoxin(~ikosit@user/ikosit)
2021-08-31 14:55:15 +0200Dima[m](~reddima10@2001:470:69fc:105::366)
2021-08-31 14:55:15 +0200bakinonion[m](~bakinonio@2001:470:69fc:105::ddb3)
2021-08-31 14:55:15 +0200jmcantrell(~jmcantrel@user/jmcantrell)
2021-08-31 14:55:15 +0200masaeedu[m](~masaeedum@2001:470:69fc:105::e256)
2021-08-31 14:55:21 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 14:55:25 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d)
2021-08-31 14:55:25 +0200wallymathieu[m](~wallymath@2001:470:69fc:105::16ae)
2021-08-31 14:55:25 +0200soft(~soft-matr@2001:470:69fc:105::c75)
2021-08-31 14:55:25 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7)
2021-08-31 14:55:25 +0200jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2021-08-31 14:55:26 +0200justosophy[m](~justosoph@2001:470:69fc:105::572f)
2021-08-31 14:55:26 +0200aveltras[m](~aveltrasm@2001:470:69fc:105::3ef9)
2021-08-31 14:55:26 +0200afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b)
2021-08-31 14:55:26 +0200vbeatrice[m](~vbeatrice@2001:470:69fc:105::3ebf)
2021-08-31 14:55:26 +0200Ollie[m](~ollieocha@2001:470:69fc:105::41a5)
2021-08-31 14:55:26 +0200RohitGoswami[m](~rgoswamim@2001:470:69fc:105::16cc)
2021-08-31 14:55:26 +0200wysteriary[m](~wysteriar@2001:470:69fc:105::a42e)
2021-08-31 14:55:26 +0200deuslambda[m](~deuslambd@2001:470:69fc:105::c749)
2021-08-31 14:55:26 +0200fakehacker[m](~fakehacke@2001:470:69fc:105::b5f0)
2021-08-31 14:55:26 +0200jesser[m](~jessermat@2001:470:69fc:105::d5ae)
2021-08-31 14:55:27 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd)
2021-08-31 14:55:27 +0200Cesionaut[m](~cesionaut@2001:470:69fc:105::dd3b)
2021-08-31 14:55:27 +0200rosariopulella[m(~rosariopu@2001:470:69fc:105::a57)
2021-08-31 14:55:27 +0200Teohehim[m](~teocmatri@2001:470:69fc:105::d327)
2021-08-31 14:55:27 +0200monadfritz[m](~ahdytmatr@2001:470:69fc:105::e1f1)
2021-08-31 14:55:27 +0200yin[m](~zwromatri@2001:470:69fc:105::1d4)
2021-08-31 14:55:27 +0200stoicswe[m](~deadlette@2001:470:69fc:105::d277)
2021-08-31 14:55:28 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56)
2021-08-31 14:55:28 +0200oak-(~oakuniver@2001:470:69fc:105::fcd)
2021-08-31 14:56:08 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Changing host)
2021-08-31 14:56:08 +0200maerwald[m](~maerwaldm@user/maerwald)
2021-08-31 14:56:15 +0200arjun(~user@user/arjun)
2021-08-31 14:56:17 +0200sus(thelounge@user/zeromomentum)
2021-08-31 14:56:22 +0200sus(thelounge@user/zeromomentum) (Client Quit)
2021-08-31 14:56:49 +0200sus(thelounge@user/zeromomentum)
2021-08-31 14:57:51 +0200max22-(~maxime@2a01cb0883359800da62ac58cdf235c4.ipv6.abo.wanadoo.fr)
2021-08-31 14:59:03 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 14:59:30 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 14:59:32 +0200 <arjun> hi, i've installed ghc 9.2-rc1 on my aarch64 chromebook, ghc itself works, but i can't seem to build packages with it (it always errors in cabal install step), is this to be expected since it's so new and an rc ?
2021-08-31 14:59:54 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-31 15:00:16 +0200 <maerwald> what's the error
2021-08-31 15:01:16 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 15:01:23 +0200 <merijn> arjun: It could also be packages not supporting 9.2 yet
2021-08-31 15:02:02 +0200Vajb(~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92)
2021-08-31 15:04:06 +0200max22-(~maxime@2a01cb0883359800da62ac58cdf235c4.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2021-08-31 15:04:10 +0200 <arjun> oh, hi maerwald
2021-08-31 15:04:13 +0200ubert(~Thunderbi@178.165.179.224.wireless.dyn.drei.com)
2021-08-31 15:04:15 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2)
2021-08-31 15:04:45 +0200 <arjun> here's the error: https://pastebin.com/tLQkS5s4
2021-08-31 15:05:02 +0200 <arjun> merijn: i guess
2021-08-31 15:05:32 +0200 <maerwald> arjun: https://github.com/lpsmith/blaze-builder/issues/23
2021-08-31 15:06:00 +0200 <maerwald> there's a patch
2021-08-31 15:06:14 +0200 <maerwald> but the maintainer isn't responding
2021-08-31 15:07:06 +0200 <merijn> arjun: Yeah, that's just a package not supporting 9.2
2021-08-31 15:07:16 +0200 <merijn> maerwald: blaze-builder was handed over yesterday or the day before
2021-08-31 15:07:37 +0200pbrisbin(~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415)
2021-08-31 15:08:01 +0200 <merijn> Or was that a different package...I thought blaze-builder was the bos one
2021-08-31 15:08:25 +0200 <maerwald> you can try an NMU, but I've had no success with them lately either
2021-08-31 15:08:27 +0200Vajb(~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92) (Read error: Connection reset by peer)
2021-08-31 15:08:38 +0200 <arjun> merijn: maerwald i've tried building 3 different projects, one thing or the other errored in each of them
2021-08-31 15:08:39 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 15:08:51 +0200sus(thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-08-31 15:09:01 +0200 <arjun> should i be documenting these ? or just, wait?
2021-08-31 15:09:20 +0200sus(thelounge@user/zeromomentum)
2021-08-31 15:10:08 +0200 <merijn> arjun: 9.2 isn't officially released, afaict, and it's not weird for it to took 1-2 months before the biggest packages support a new version (let alone the long tail)
2021-08-31 15:10:19 +0200 <merijn> arjun: You can certainly make issues (and patches!)
2021-08-31 15:11:25 +0200 <maerwald> and then see them bitrot :D
2021-08-31 15:11:47 +0200 <arjun> merijn: even cabal warns me it thinks the ghc is too new, it only supports < 9.1 or somethin
2021-08-31 15:12:39 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 244 seconds)
2021-08-31 15:13:26 +0200 <arjun> maerwald: i'll start with ghcup 3:D
2021-08-31 15:14:00 +0200 <maerwald> you can use patches by specifying the PR branch via source-repository-package
2021-08-31 15:14:07 +0200 <maerwald> in cabal.project
2021-08-31 15:14:20 +0200 <maerwald> only downside is, you can't upload your package to hackage that way
2021-08-31 15:14:33 +0200 <maerwald> I feel we need a solution to that
2021-08-31 15:14:48 +0200 <maerwald> I can't be bothered to fix 5+ upstream packages before I can upload something to hackage
2021-08-31 15:16:12 +0200 <maerwald> even if it's just some beta-marked version or whatever
2021-08-31 15:16:18 +0200 <shapr> Is there a process for non-maintainers to jump in and fix things for new GHC releases?
2021-08-31 15:16:35 +0200 <maerwald> they have a patch branch I think
2021-08-31 15:17:13 +0200Vajb(~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92)
2021-08-31 15:17:15 +0200 <maerwald> https://gitlab.haskell.org/ghc/head.hackage
2021-08-31 15:17:54 +0200 <arjun> i think the maintainers of the big packages (by some criteria) should be intimated before releases
2021-08-31 15:18:31 +0200 <arjun> "hey, we're releasing a new ghc, your package is used a lot, would you like to update it?"
2021-08-31 15:18:52 +0200 <merijn> I think maintainers should do whatever the fuck they want
2021-08-31 15:19:17 +0200Guest2769(~chris@81.96.113.213) (Ping timeout: 245 seconds)
2021-08-31 15:19:19 +0200 <merijn> Open source is free-as-in-puppies
2021-08-31 15:20:02 +0200 <maerwald> arjun: hackage could be extended to have some form of email-notification or even global bugtracker, but a) not sure that would fix anything and b) you'd have to go through months of bikeshedding
2021-08-31 15:22:24 +0200khumba(~khumba@user/khumba)
2021-08-31 15:23:31 +0200 <arjun> merijn: i hear you, but when some packages get too dependent upon, i think there should be some checks somewhere. for eg. imagine if the flask or scikit-learn didn't support new python versions?
2021-08-31 15:23:31 +0200Vajb(~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92) (Read error: Connection reset by peer)
2021-08-31 15:24:04 +0200 <merijn> arjun: I don't have to imagine
2021-08-31 15:24:16 +0200 <merijn> Took me months to port my scikit-learn code to newer python
2021-08-31 15:24:37 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 15:24:56 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-08-31 15:27:21 +0200 <arjun> maerwald: right.
2021-08-31 15:28:16 +0200 <arjun> merijn: i wonder what they'll break in 4.0
2021-08-31 15:28:43 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-31 15:28:55 +0200 <merijn> The world >.>
2021-08-31 15:29:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 15:30:14 +0200azeem(~azeem@62.19.12.145)
2021-08-31 15:30:51 +0200 <Lycurgus> 9 has some dependent type thing doesn't it? that's the big deal?
2021-08-31 15:31:19 +0200chris(~chris@81.96.113.213)
2021-08-31 15:31:23 +0200chrisGuest6364
2021-08-31 15:31:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 15:32:20 +0200 <yushyin> linear types
2021-08-31 15:32:26 +0200 <Lycurgus> ah
2021-08-31 15:32:46 +0200 <arjun> and a native code generator for arm64
2021-08-31 15:34:02 +0200 <merijn> 8.10.7 also has native code for arm64, no? Or am I misremembering
2021-08-31 15:34:25 +0200 <maerwald> don't think so
2021-08-31 15:35:29 +0200 <wz1000> merijn: no, it goes via LLVM
2021-08-31 15:36:53 +0200cfricke(~cfricke@user/cfricke)
2021-08-31 15:37:45 +0200 <wz1000> The native code gen is only in 9.2 I think
2021-08-31 15:37:47 +0200cryptomonad(~cryptomon@194.191.225.149)
2021-08-31 15:38:40 +0200acidjnk_new(~acidjnk@p5487d90a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-08-31 15:40:41 +0200 <merijn> Ah, could be
2021-08-31 15:41:22 +0200 <maerwald> is there any editor that allows grab and drag scrolling with mouse?
2021-08-31 15:41:48 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-08-31 15:43:31 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-31 15:45:41 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 15:46:07 +0200Vajb(~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92)
2021-08-31 15:46:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 15:46:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 15:46:52 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 15:48:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
2021-08-31 15:49:07 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds)
2021-08-31 15:50:36 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-4.prtc.net)
2021-08-31 15:52:58 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e) (Ping timeout: 252 seconds)
2021-08-31 15:54:57 +0200sjb0(~stephen@2001:8004:2738:35de:a1a3:a1c1:6e62:ba62) (Quit: Leaving.)
2021-08-31 15:56:57 +0200vektor(~vektor@94.46.71.236) (Quit: Client closed)
2021-08-31 16:01:13 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 252 seconds)
2021-08-31 16:01:19 +0200cryptomonad(~cryptomon@194.191.225.149) (Read error: Connection reset by peer)
2021-08-31 16:01:28 +0200cryptomonad(~cryptomon@194.191.225.149)
2021-08-31 16:01:44 +0200Guest6364(~chris@81.96.113.213) (Ping timeout: 244 seconds)
2021-08-31 16:01:52 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-08-31 16:02:25 +0200hololeap(~hololeap@user/hololeap)
2021-08-31 16:03:45 +0200pgib(~textual@173.38.117.82) (Ping timeout: 248 seconds)
2021-08-31 16:04:36 +0200cryptomonad(~cryptomon@194.191.225.149) (Client Quit)
2021-08-31 16:05:19 +0200 <carbolymer> Is there any difference if I replace all forM_ with for_ ?
2021-08-31 16:05:36 +0200 <merijn> :t forM_
2021-08-31 16:05:37 +0200 <lambdabot> (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
2021-08-31 16:05:38 +0200 <merijn> :t for_
2021-08-31 16:05:39 +0200 <lambdabot> (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
2021-08-31 16:05:44 +0200 <merijn> No
2021-08-31 16:05:55 +0200 <carbolymer> that's what I thought
2021-08-31 16:05:55 +0200chris(~chris@81.96.113.213)
2021-08-31 16:05:59 +0200chrisGuest8932
2021-08-31 16:06:01 +0200 <carbolymer> So why forM_ exists
2021-08-31 16:06:24 +0200 <merijn> because it's older
2021-08-31 16:06:47 +0200 <carbolymer> rejectr tradition, embrace modern APIs
2021-08-31 16:06:47 +0200 <merijn> forM_ dates back to Applicative not being a superclass of Monad, so for_ wouldn't work on all monads
2021-08-31 16:07:00 +0200 <merijn> Also, originally forM_ was just lists, not Foldable
2021-08-31 16:07:58 +0200max22-(~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr)
2021-08-31 16:09:14 +0200 <carbolymer> ok, thanks
2021-08-31 16:10:52 +0200burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk)
2021-08-31 16:10:59 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-08-31 16:14:25 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-31 16:14:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 16:15:00 +0200napping(~brandon@65.128.58.64)
2021-08-31 16:15:05 +0200 <tomsmeding> same with liftM/liftA/fmap I guess?
2021-08-31 16:15:11 +0200 <merijn> Yes
2021-08-31 16:15:54 +0200 <tomsmeding> :t traverse_
2021-08-31 16:15:56 +0200 <lambdabot> (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
2021-08-31 16:16:03 +0200 <tomsmeding> which is flip for_ :p
2021-08-31 16:16:16 +0200 <carbolymer> Actually it's the opposite :p
2021-08-31 16:16:40 +0200 <tomsmeding> sure
2021-08-31 16:18:52 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
2021-08-31 16:19:10 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 16:19:39 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-08-31 16:20:21 +0200Guest8932(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-31 16:20:33 +0200TranquilEcho(~grom@user/tranquilecho)
2021-08-31 16:21:53 +0200azeem(~azeem@62.19.12.145) (Ping timeout: 244 seconds)
2021-08-31 16:22:36 +0200azeem(~azeem@62.19.37.175)
2021-08-31 16:23:22 +0200arjun(~user@user/arjun) (Ping timeout: 245 seconds)
2021-08-31 16:23:33 +0200zebrag(~chris@user/zebrag)
2021-08-31 16:27:10 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2021-08-31 16:28:36 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 244 seconds)
2021-08-31 16:30:02 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-08-31 16:30:22 +0200xff0x(~xff0x@2001:1a81:52bb:c200:2daa:f38a:b2b7:ac83) (Ping timeout: 252 seconds)
2021-08-31 16:31:27 +0200xff0x(~xff0x@2001:1a81:52bb:c200:954e:ca7f:9978:3e44)
2021-08-31 16:33:14 +0200kenran(~kenran@i577BCDA3.versanet.de) (Quit: WeeChat info:version)
2021-08-31 16:33:40 +0200sus(thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-08-31 16:34:09 +0200sus(thelounge@user/zeromomentum)
2021-08-31 16:35:17 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-4.prtc.net) (Ping timeout: 256 seconds)
2021-08-31 16:36:17 +0200Vajb(~Vajb@2001:999:64:b895:2d49:f2a3:4a18:9d92) (Ping timeout: 245 seconds)
2021-08-31 16:36:43 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2)
2021-08-31 16:37:24 +0200Vajb(~Vajb@n8fob2a5r76koflav-2.v6.elisa-mobile.fi)
2021-08-31 16:38:47 +0200mizu_no_oto(~textual@cpe-74-67-208-45.twcny.res.rr.com) (Ping timeout: 245 seconds)
2021-08-31 16:41:08 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-31 16:41:15 +0200kenran(~kenran@200116b82b761600fc740dd5eb45e575.dip.versatel-1u1.de)
2021-08-31 16:43:07 +0200benin0369320(~benin@106.198.89.245)
2021-08-31 16:43:53 +0200ralu8(~ralu@static.211.245.203.116.clients.your-server.de)
2021-08-31 16:44:27 +0200fiddlerwoaroof(~fiddlerwo@user/fiddlerwoaroof) (Ping timeout: 240 seconds)
2021-08-31 16:44:40 +0200benin036932(~benin@183.82.206.204) (Ping timeout: 252 seconds)
2021-08-31 16:44:40 +0200benin0369320benin036932
2021-08-31 16:45:18 +0200fiddlerwoaroof(~fiddlerwo@user/fiddlerwoaroof)
2021-08-31 16:45:27 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
2021-08-31 16:45:40 +0200canta(~canta@user/canta) (Ping timeout: 240 seconds)
2021-08-31 16:45:40 +0200ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 240 seconds)
2021-08-31 16:45:40 +0200ralu8ralu
2021-08-31 16:47:05 +0200benin036932(~benin@106.198.89.245) (Read error: Connection reset by peer)
2021-08-31 16:47:06 +0200Vajb(~Vajb@n8fob2a5r76koflav-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-31 16:47:16 +0200canta(~canta@user/canta)
2021-08-31 16:47:19 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 16:47:53 +0200[_][itchyjunk]
2021-08-31 16:48:06 +0200eight(~eight@user/eight)
2021-08-31 16:48:09 +0200eight(~eight@user/eight) (Client Quit)
2021-08-31 16:48:28 +0200arjun(~user@user/arjun)
2021-08-31 16:48:40 +0200benin036932(~benin@183.82.24.161)
2021-08-31 16:48:42 +0200sus(thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-08-31 16:49:10 +0200sus(thelounge@user/zeromomentum)
2021-08-31 16:50:37 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 16:50:49 +0200Topsi(~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de)
2021-08-31 16:50:54 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 16:52:33 +0200MQ-17J(~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458)
2021-08-31 16:52:44 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 16:53:51 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 16:54:35 +0200Pickchea(~private@user/pickchea)
2021-08-31 16:54:43 +0200sus(thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-08-31 16:55:11 +0200sus(thelounge@user/zeromomentum)
2021-08-31 16:56:18 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving)
2021-08-31 16:57:47 +0200fendor_(~fendor@77.119.206.17.wireless.dyn.drei.com) (Remote host closed the connection)
2021-08-31 16:59:31 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds)
2021-08-31 17:00:13 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-31 17:04:28 +0200azeem(~azeem@62.19.37.175) (Ping timeout: 252 seconds)
2021-08-31 17:05:19 +0200azeem(~azeem@62.19.37.175)
2021-08-31 17:05:24 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
2021-08-31 17:06:05 +0200khumba(~khumba@user/khumba) ()
2021-08-31 17:06:17 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-08-31 17:07:34 +0200d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-31 17:09:58 +0200Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2021-08-31 17:10:11 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 17:12:10 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 17:15:32 +0200khoa(~khoa@user/khoa)
2021-08-31 17:16:33 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-44.prtc.net)
2021-08-31 17:18:42 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 17:18:51 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 17:23:40 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Ping timeout: 240 seconds)
2021-08-31 17:24:00 +0200sus(thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-08-31 17:24:28 +0200sus(zero@user/zeromomentum)
2021-08-31 17:27:38 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-31 17:29:42 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 17:30:21 +0200Vajb(~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi)
2021-08-31 17:31:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-31 17:37:05 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
2021-08-31 17:37:17 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Leaving)
2021-08-31 17:38:24 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de)
2021-08-31 17:39:54 +0200arjun(~user@user/arjun) (Ping timeout: 244 seconds)
2021-08-31 17:41:52 +0200Vajb(~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-31 17:41:59 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 17:42:43 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-44.prtc.net) (Ping timeout: 256 seconds)
2021-08-31 17:45:35 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 17:45:44 +0200Vajb(~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi)
2021-08-31 17:47:57 +0200Vajb(~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-31 17:48:29 +0200Vajb(~Vajb@85-76-12-199-nat.elisa-mobile.fi)
2021-08-31 17:50:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
2021-08-31 17:51:14 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 17:51:17 +0200MQ-17J(~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458) (Ping timeout: 245 seconds)
2021-08-31 17:52:53 +0200Vajb(~Vajb@85-76-12-199-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-31 17:53:44 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 17:54:31 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e) (Ping timeout: 252 seconds)
2021-08-31 17:55:37 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-31 17:56:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 18:00:10 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
2021-08-31 18:00:35 +0200favonia(~favonia@user/favonia) (Remote host closed the connection)
2021-08-31 18:00:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 18:01:54 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 18:02:28 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-31 18:02:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 18:02:46 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 18:03:29 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-199.prtc.net)
2021-08-31 18:04:09 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-31 18:05:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-31 18:07:10 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-31 18:07:37 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 18:08:49 +0200pbrisbin(~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415) (Ping timeout: 252 seconds)
2021-08-31 18:11:52 +0200burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-31 18:12:24 +0200burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk)
2021-08-31 18:13:50 +0200laman(laman@2600:3c02::f03c:92ff:fe3e:c08d) (Quit: WeeChat 3.0)
2021-08-31 18:15:39 +0200 <mjrosenb> things that I did not quite expect, partial list
2021-08-31 18:15:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
2021-08-31 18:15:57 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 18:16:31 +0200burnsidesLlama(~burnsides@client-8-75.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
2021-08-31 18:17:10 +0200aman(~aman@user/aman)
2021-08-31 18:17:12 +0200 <mjrosenb> Prelude Control.Lens Data.Array> let x = array (1,3) Empty in bounds x
2021-08-31 18:17:14 +0200 <mjrosenb> (1,3)
2021-08-31 18:17:41 +0200 <mjrosenb> I did not expect this to typecheck
2021-08-31 18:18:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 18:19:24 +0200Vajb(~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi)
2021-08-31 18:19:58 +0200 <[exa]> mjrosenb: why not?
2021-08-31 18:20:12 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 18:20:31 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 18:21:38 +0200aman(~aman@user/aman) (Client Quit)
2021-08-31 18:24:46 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net)
2021-08-31 18:25:22 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 244 seconds)
2021-08-31 18:26:45 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-31 18:28:59 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 244 seconds)
2021-08-31 18:29:18 +0200caef^(~caef@wsip-98-188-244-188.mc.at.cox.net)
2021-08-31 18:30:13 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-31 18:30:38 +0200Guest|47(~Guest|47@82-71-34-244.dsl.in-addr.zen.co.uk)
2021-08-31 18:30:41 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-31 18:32:59 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-08-31 18:33:38 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 244 seconds)
2021-08-31 18:34:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-31 18:34:21 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 18:36:33 +0200elf_fortrez(~elf_fortr@adsl-72-50-7-199.prtc.net) (Ping timeout: 256 seconds)
2021-08-31 18:37:59 +0200MoC(~moc@user/moc)
2021-08-31 18:39:23 +0200funsafe(~funsafe@2601:1c1:4200:e53:2875:5507:42e4:4e14)
2021-08-31 18:44:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
2021-08-31 18:46:21 +0200pbrisbin(~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415)
2021-08-31 18:47:17 +0200kenran(~kenran@200116b82b761600fc740dd5eb45e575.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2021-08-31 18:47:46 +0200 <mjrosenb> because Empty is a weird value from lens, I would not expect it to be a list
2021-08-31 18:47:57 +0200 <mjrosenb> which array wants in its second argument
2021-08-31 18:49:17 +0200 <napping> Is it a weird value that tries to act as an empty version of whatever you are using it as?
2021-08-31 18:50:57 +0200 <mjrosenb> it is defined as a Pattern
2021-08-31 18:51:07 +0200 <mjrosenb> I have no clue what it means when you try to use it as a value
2021-08-31 18:51:28 +0200 <monochrom> And what is the pattern definition?
2021-08-31 18:51:37 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 18:51:40 +0200khoa(~khoa@user/khoa) ()
2021-08-31 18:51:54 +0200 <monochrom> If you keep rewriting by definitions you may eventually get [] and understand.
2021-08-31 18:52:39 +0200 <mjrosenb> pattern Empty <- (has _Empty -> True) where Empty = review _Empty ()
2021-08-31 18:52:49 +0200 <mjrosenb> so, I guess review means that it returns a list?
2021-08-31 18:53:30 +0200 <napping> https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens-Empty.html
2021-08-31 18:53:42 +0200 <napping> just says "pattern Empty :: AsEmpty s => s"
2021-08-31 18:57:05 +0200 <mjrosenb> napping: did you click on the source link?
2021-08-31 18:57:05 +0200Vajb(~Vajb@n1xq4ni1adi29tefj-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-31 18:57:47 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-08-31 18:57:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 18:58:06 +0200 <napping> I meant you don't really need to look at the source to see that the type as an expression is any s which has (AsEmpty s), and there's an instance of AsEmpty for lists
2021-08-31 18:58:24 +0200 <napping> on a prism, review :: Prism' a b -> b -> a
2021-08-31 18:58:57 +0200 <napping> and the method of AsEmpty s is an _Empty :: Prism' s ()
2021-08-31 18:59:40 +0200 <napping> so review _Empty () is returning whatever s gets mapped onto () by the _Empty in the relevant AsEmpty instance
2021-08-31 18:59:55 +0200fendor(~fendor@77.119.206.17.wireless.dyn.drei.com)
2021-08-31 19:00:19 +0200zaquest(~notzaques@5.128.210.178)
2021-08-31 19:01:51 +0200 <napping> Source for instance AsEmpty [a] is _Empty = nearly [] Prelude.null
2021-08-31 19:02:25 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-31 19:02:43 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-08-31 19:04:15 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 19:04:33 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-08-31 19:08:46 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-08-31 19:11:29 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 19:12:54 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 244 seconds)
2021-08-31 19:13:52 +0200 <mjrosenb> so, I'm getting "(Array.!): undefined array element", and am trying to figure out what on earth is wrong.
2021-08-31 19:15:34 +0200 <mjrosenb> I just implemented a new Array module, which has all of the same functions as Array, but wraps (!), array, listArray and assocArray, and should evaluate to (error "better message") if they *would* give that.
2021-08-31 19:15:52 +0200 <mjrosenb> but I'm still getting that unhelpful error :-(
2021-08-31 19:16:31 +0200hannessteffenhag(~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
2021-08-31 19:17:03 +0200 <monochrom> If you're giving the empty list to array, this is expected.
2021-08-31 19:17:41 +0200 <monochrom> Either that, or the vanilla index-out-of-bounds error.
2021-08-31 19:17:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 19:18:06 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 19:18:26 +0200 <monochrom> Pro tip: In C, your program continues to run without error messages!
2021-08-31 19:19:01 +0200Guest8166(~lordgrenv@141.226.14.23)
2021-08-31 19:19:06 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-08-31 19:21:38 +0200 <mjrosenb> yes, I fixed that. but I *believe* I'm not checking every instance where I could create an array with an undefined element
2021-08-31 19:21:54 +0200 <mjrosenb> s/not/now/
2021-08-31 19:22:08 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-08-31 19:23:37 +0200xff0x(~xff0x@2001:1a81:52bb:c200:954e:ca7f:9978:3e44) (Ping timeout: 252 seconds)
2021-08-31 19:25:14 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8)
2021-08-31 19:25:16 +0200hseg(~gesh@IGLD-84-228-238-9.inter.net.il)
2021-08-31 19:25:42 +0200Topsi(~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-08-31 19:25:53 +0200 <tomsmeding> mjrosenb: how long is the code of your Array wrapper which is supposed to prevent that error from occurring? Can you post it?
2021-08-31 19:26:16 +0200xff0x(~xff0x@2001:1a81:52bb:c200:954e:ca7f:9978:3e44)
2021-08-31 19:26:57 +0200 <hseg> a little confusion: Given an instance (C a, ...) => D b, why does GHC complain it can't deduce C a from a type signature having D b in the context?
2021-08-31 19:28:42 +0200 <hseg> eg: why is (compare :: Ord [a] => a -> a -> Ordering) forbidden?
2021-08-31 19:28:51 +0200 <napping> It can't assume that's the only possible instance of D. If it was on the class declaration itself, like class (C a, ...) => D a, then it would deduce C a from having D in scope
2021-08-31 19:30:20 +0200 <hseg> even though that's the only possible instance for D to choose here presuming confluence?
2021-08-31 19:31:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e) (Remote host closed the connection)
2021-08-31 19:31:46 +0200 <hseg> I mean, in my case I have newtype SortedList a, newtype Part f a ~ f a, both with ord instances, and effectively want to write Ord (SortedList (Part NonEmpty a)) in the context
2021-08-31 19:32:03 +0200 <hseg> and have the context of the Ord (Part f a) instance be pulled in
2021-08-31 19:32:25 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-31 19:32:58 +0200 <hseg> ... so unless there's some interaction from OverlappableInstances, I see no reason why my usecase should be forbidden
2021-08-31 19:33:15 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-31 19:33:17 +0200 <mjrosenb> tomsmeding: https://gist.github.com/mjrosenb/3c4e326348ada6232318e5dd4c3e1f5d
2021-08-31 19:33:25 +0200 <hseg> (want to write the more constrained context for documentation purposes -- it makes it clearer what forces the constraint here)
2021-08-31 19:33:57 +0200Topsi(~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de)
2021-08-31 19:34:01 +0200 <napping> Hmm, that's more interesting.
2021-08-31 19:35:17 +0200 <napping> OverlappingInstances does make it unsound in general. If you assume you don't have it it's a valid deduction
2021-08-31 19:35:37 +0200 <napping> But also it would be hard to implement - the (Ord [a]) constraint just passes a dictionary implementing Ord for [a]
2021-08-31 19:35:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 19:35:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 19:35:40 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 19:36:16 +0200Guest8166(~lordgrenv@141.226.14.23) (Ping timeout: 252 seconds)
2021-08-31 19:36:18 +0200 <hseg> sure, but the Ord [a] dictionary has access to the Ord a dictionary
2021-08-31 19:36:21 +0200 <napping> Perhaps if you know the exact layout you could dig through the closure of those methods to find a dictionary
2021-08-31 19:36:29 +0200 <hseg> so it would be a matter of projecting that out
2021-08-31 19:36:30 +0200 <mjrosenb> oh...
2021-08-31 19:36:34 +0200 <mjrosenb> I'm a fool
2021-08-31 19:36:40 +0200 <hseg> which admittedly might incur a performance penalty
2021-08-31 19:36:42 +0200 <napping> It was defined using it, but doesn't expose it in any way that's easy to get
2021-08-31 19:36:58 +0200 <mjrosenb> and I've been using `cabal build`, while I'm testing with the output from `cabal new-build`
2021-08-31 19:37:21 +0200 <napping> like, define f :: Int -> Int = (+) 1, then having something that you just pass `f` dig out the 1 is tricky
2021-08-31 19:37:25 +0200 <tomsmeding> mjrosenb: listArray (0, 0) [undefined] ! 0
2021-08-31 19:37:33 +0200 <hseg> hrm. ah yes, ig the construction of the Ord [a] dictionary will inline stuff from the Ord a dictionary
2021-08-31 19:37:44 +0200 <tomsmeding> mjrosenb: get a newer cabal such that build and new-build are the same thing :p
2021-08-31 19:37:51 +0200 <tomsmeding> i.e. cabal version >= 3
2021-08-31 19:38:02 +0200 <hseg> much more efficient than storing an Ord a dictionary and redirecting
2021-08-31 19:38:06 +0200 <hseg> dammit
2021-08-31 19:38:09 +0200 <dminuoso> 19:28:42 hseg | eg: why is (compare :: Ord [a] => a -> a -> Ordering) forbidden?
2021-08-31 19:38:15 +0200 <mjrosenb> tomsmeding: that is easier said than done.
2021-08-31 19:38:37 +0200 <dminuoso> hseg: Wouldn't the potential presence of overlapping instances prevent that?
2021-08-31 19:38:42 +0200Guest|47(~Guest|47@82-71-34-244.dsl.in-addr.zen.co.uk) (Quit: Connection closed)
2021-08-31 19:38:57 +0200 <mjrosenb> tomsmeding: I think that will produce a different error.
2021-08-31 19:39:08 +0200 <hseg> yes, already addressed - am restricting my ask to non-overlappable instances
2021-08-31 19:39:42 +0200 <hseg> which considering OverlappingInstances is deprecated in favor of per-instance pragmas, is a more useful ask
2021-08-31 19:39:47 +0200 <tomsmeding> mjrosenb: hm you're right
2021-08-31 19:40:07 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-08-31 19:40:58 +0200 <dminuoso> Mmm what did I miss. per-instance pragmas?
2021-08-31 19:41:03 +0200 <mjrosenb> ok, so for using new-build, I'm running into an issue where it can't find my source files. I'm pretty sure this used to work, but I haven't actually touched this project in ~1 year
2021-08-31 19:41:24 +0200 <mjrosenb> fwiw, it also says it can't find LICENSE, despite that being in the same directory as the cabal file.
2021-08-31 19:41:40 +0200 <hseg> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/instances.html#overlapping-in… -- note OVERLAPPABLE/OVERLAPPING pragmas are prefered over OI language exts
2021-08-31 19:41:42 +0200 <dminuoso> hseg: The thing is, putting the constraint on a declaration gives no power of what potential overlapping instance (via per-instance pragma) might have been created in some other module.
2021-08-31 19:42:00 +0200 <dminuoso> We can't just pretend it doesnt exist
2021-08-31 19:42:18 +0200 <hseg> hrm, that's also fair
2021-08-31 19:42:41 +0200 <hseg> you'd need to somehow presume sth about the instance...
2021-08-31 19:43:17 +0200 <hseg> probably another case of sth I want not reasonably supportable by GHC, but implementable in TH
2021-08-31 19:43:17 +0200 <dminuoso> I think to make deducing Ord a from Ord [a] valid, you'd have to first completely forbid overlapping instances in the compiler
2021-08-31 19:43:52 +0200 <tomsmeding> mjrosenb: post .cabal and output of `tree` :p
2021-08-31 19:44:04 +0200 <mjrosenb> oh, maybe I just needed to run `cabal new-configure`
2021-08-31 19:44:05 +0200 <dminuoso> And IncoherentInstances too I suppose.
2021-08-31 19:44:13 +0200 <tomsmeding> or, well, tree -I dist
2021-08-31 19:44:21 +0200 <hseg> you'd want sth like $([|ty|] `generalizeAssuming` [|ctx => ctx'|])
2021-08-31 19:44:47 +0200bjs(sid190364@user/bjs) (Ping timeout: 240 seconds)
2021-08-31 19:44:54 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e)
2021-08-31 19:45:01 +0200 <hseg> dminuoso: yeah -- the only way my ask is reasonable is if you have access to the instance at the declaration site
2021-08-31 19:45:07 +0200meinside_(uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-08-31 19:45:12 +0200 <hseg> which you cannot really ensure
2021-08-31 19:45:19 +0200 <dminuoso> I mean in principle you could
2021-08-31 19:45:21 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-08-31 19:45:21 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-08-31 19:45:31 +0200 <hseg> a moment, brb
2021-08-31 19:45:47 +0200elvishjerricco(sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-08-31 19:46:11 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-31 19:46:17 +0200bjs(sid190364@user/bjs)
2021-08-31 19:46:18 +0200meinside_(uid24933@id-24933.helmsley.irccloud.com)
2021-08-31 19:46:18 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com)
2021-08-31 19:46:21 +0200 <dminuoso> But it would make haskell libraries an impossibility.
2021-08-31 19:46:44 +0200 <dminuoso> GHC would have to compile the entire transitive dependency closure for each compilation in one go
2021-08-31 19:46:59 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com)
2021-08-31 19:47:52 +0200elvishjerricco(sid237756@id-237756.helmsley.irccloud.com)
2021-08-31 19:48:22 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-08-31 19:48:26 +0200 <dminuoso> Bonus points here: if libraries or modules are no longer separately compiled, we could have true circular imports!
2021-08-31 19:49:32 +0200 <monochrom> https://xkcd.com/303/
2021-08-31 19:50:04 +0200tomsmedingpleads to not make compilation of haskell code 3 orders of magnitude slower than it already is
2021-08-31 19:50:04 +0200 <monochrom> Historical note: Sandboxing almost got there. All the cost and none of the benefits!
2021-08-31 19:50:18 +0200 <dminuoso> tomsmeding: Im guessing you dont get paid to write Haskell? :-P
2021-08-31 19:50:23 +0200 <dminuoso> /s
2021-08-31 19:50:31 +0200 <tomsmeding> I am, actually! Kind of
2021-08-31 19:50:42 +0200 <dminuoso> Presumably not by the hour, then.
2021-08-31 19:50:46 +0200 <tomsmeding> if getting paid to do phd research using haskell counts
2021-08-31 19:50:48 +0200 <dminuoso> Heh
2021-08-31 19:51:14 +0200 <tomsmeding> but I'd like to actually accomplish something in that time :p
2021-08-31 19:51:17 +0200 <monochrom> Yeah, that "deadline in 6 years" puts a cap on compile time.
2021-08-31 19:51:51 +0200jespada(~jespada@90.254.245.194) (Ping timeout: 250 seconds)
2021-08-31 19:52:02 +0200 <monochrom> Good thing I chose to do a theoretical PhD though. The only "compile time" I suffered was pdflatex.
2021-08-31 19:52:41 +0200jespada(~jespada@90.254.245.194)
2021-08-31 19:52:52 +0200 <monochrom> But I'm always fond of reminding people: Use Hugs to reduce compile time!
2021-08-31 19:52:53 +0200alx741(~alx741@186.178.108.235) (Quit: alx741)
2021-08-31 19:52:59 +0200 <tomsmeding> I've spent the past couple of days in my editor with just HLS for feedback; I haven't even made a .cabal file yet
2021-08-31 19:53:07 +0200 <tomsmeding> so not sure how practical this really is at the moment :)
2021-08-31 19:53:44 +0200 <dminuoso> 6 years?
2021-08-31 19:53:56 +0200 <dminuoso> That's quite.. long.
2021-08-31 19:54:10 +0200hubvu(sid495858@id-495858.tinside.irccloud.com) (Ping timeout: 240 seconds)
2021-08-31 19:54:50 +0200 <monochrom> Oh you know us PhD procrastinators.
2021-08-31 19:55:22 +0200 <monochrom> I got close to "tenured grad student".
2021-08-31 19:55:23 +0200hubvu(sid495858@id-495858.tinside.irccloud.com)
2021-08-31 19:56:54 +0200 <mjrosenb> tomsmeding: I take that back; I have no clue why cabal new-build doesn't work
2021-08-31 19:56:57 +0200 <mjrosenb> tomsmeding: https://gist.github.com/mjrosenb/8b55d33a3ac657dbb94733ff0aa72a0e
2021-08-31 19:57:47 +0200 <tomsmeding> mjrosenb: rm -rf dist-newstyle; cabal new-build
2021-08-31 19:57:49 +0200 <mjrosenb> tomsmeding: and I just added the output of `cabal new-build`
2021-08-31 19:58:00 +0200 <tomsmeding> oh nix as well, good luck with that :p
2021-08-31 19:58:53 +0200 <mjrosenb> https://gist.github.com/mjrosenb/a4f3fae960bcadf38b12b479da6b3fb5 -- new output
2021-08-31 19:58:59 +0200elf_fortrez(~elf_fortr@adsl-72-50-5-6.prtc.net)
2021-08-31 19:59:04 +0200 <mjrosenb> tomsmeding: I know of no other way of using miso :-(
2021-08-31 20:00:06 +0200 <tomsmeding> mjrosenb: I'm 99% sure the problem is that cabal looks in the directory of the .cabal file for the project, while in your case it's one directory up
2021-08-31 20:00:19 +0200 <tomsmeding> I assume cabal.project.local just contains something like 'packages: hackage' ?
2021-08-31 20:00:29 +0200 <tomsmeding> OH ignore
2021-08-31 20:00:34 +0200 <tomsmeding> I missed the match-rex.cabal in /
2021-08-31 20:00:44 +0200 <tomsmeding> ok what does cabal.project.local contain :p
2021-08-31 20:02:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 20:02:33 +0200 <elf_fortrez> and here you go chasing rabbits, when you you are going to fall - Jefferson Airplane
2021-08-31 20:03:21 +0200 <mjrosenb> [nix-shell:~/projects/match-rex]$ cat cabal.project.local
2021-08-31 20:03:22 +0200 <mjrosenb> compiler: ghcjs
2021-08-31 20:03:29 +0200 <tomsmeding> oh
2021-08-31 20:03:37 +0200 <tomsmeding> ¯\_(ツ)_/¯
2021-08-31 20:03:39 +0200 <tomsmeding> I blame ghcjs
2021-08-31 20:03:58 +0200 <hseg> dminuoso: yeah, not worth the tradeoff. will just add a note in the haddock
2021-08-31 20:03:59 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 250 seconds)
2021-08-31 20:04:24 +0200 <mjrosenb> but cabal build works :-(
2021-08-31 20:08:37 +0200 <tomsmeding> mjrosenb: strace -o log.txt cabal new-build; grep src log.txt
2021-08-31 20:10:26 +0200caef^(~caef@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection)
2021-08-31 20:10:55 +0200oxide(~lambda@user/oxide) (Ping timeout: 252 seconds)
2021-08-31 20:12:13 +0200 <hseg> ok, thanks!
2021-08-31 20:12:15 +0200hseg(~gesh@IGLD-84-228-238-9.inter.net.il) (Quit: WeeChat 3.2)
2021-08-31 20:16:59 +0200 <mjrosenb> tomsmeding: want another monkey wrench? this is MacOS, so no strace (and I have yet to figure out how to use dtrace)
2021-08-31 20:17:09 +0200 <tomsmeding> lol
2021-08-31 20:17:26 +0200 <tomsmeding> dtruss is _supposed_ to work but I've only had trouble with it when I was on macos
2021-08-31 20:18:42 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 20:19:01 +0200econo(uid147250@user/econo)
2021-08-31 20:19:11 +0200 <tomsmeding> mjrosenb: I guess 'dtruss cabal new-build >log.txt 2>&1'
2021-08-31 20:21:15 +0200 <mjrosenb> yeah, looks like I need to reboot in order to be able to run dtruss
2021-08-31 20:21:24 +0200 <mjrosenb> I'll try that later today.
2021-08-31 20:21:29 +0200 <tomsmeding> ._.
2021-08-31 20:23:01 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-08-31 20:34:25 +0200vysn(~vysn@user/vysn)
2021-08-31 20:34:32 +0200azeem(~azeem@62.19.37.175) (Ping timeout: 244 seconds)
2021-08-31 20:35:12 +0200azeem(~azeem@62.19.37.175)
2021-08-31 20:35:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-31 20:38:10 +0200glowcoil(sid3405@id-3405.tinside.irccloud.com) (Ping timeout: 240 seconds)
2021-08-31 20:38:10 +0200grfn(sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-08-31 20:38:20 +0200grfn(sid449115@id-449115.helmsley.irccloud.com)
2021-08-31 20:38:25 +0200econo(uid147250@user/econo) (Ping timeout: 252 seconds)
2021-08-31 20:38:25 +0200hubvu(sid495858@id-495858.tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-08-31 20:38:31 +0200glowcoil(sid3405@id-3405.tinside.irccloud.com)
2021-08-31 20:38:34 +0200econo(uid147250@user/econo)
2021-08-31 20:38:39 +0200dpratt_(sid193493@id-193493.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-08-31 20:38:53 +0200dpratt_(sid193493@id-193493.helmsley.irccloud.com)
2021-08-31 20:38:59 +0200hubvu(sid495858@id-495858.tinside.irccloud.com)
2021-08-31 20:40:47 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-31 20:48:19 +0200azeem(~azeem@62.19.37.175) (Ping timeout: 252 seconds)
2021-08-31 20:48:51 +0200azeem(~azeem@62.19.37.175)
2021-08-31 20:49:11 +0200nrl^(~nrl@wsip-98-188-244-188.mc.at.cox.net)
2021-08-31 20:51:09 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 20:51:40 +0200nschoe(~quassel@2a01:e0a:8e:a190:3b50:adda:f977:f818) (Ping timeout: 240 seconds)
2021-08-31 20:52:06 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 20:52:23 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 20:52:32 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 20:52:32 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 20:52:32 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 20:54:39 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2021-08-31 20:55:10 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-08-31 20:58:46 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-08-31 20:58:47 +0200elf_fortrez(~elf_fortr@adsl-72-50-5-6.prtc.net) (Ping timeout: 256 seconds)
2021-08-31 20:59:52 +0200azeem(~azeem@62.19.37.175) (Ping timeout: 252 seconds)
2021-08-31 20:59:52 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 21:00:24 +0200azeem(~azeem@62.19.37.175)
2021-08-31 21:04:41 +0200dan-so(~danso@23-233-111-52.cpe.pppoe.ca)
2021-08-31 21:04:53 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca) (Read error: Connection reset by peer)
2021-08-31 21:05:08 +0200Pickchea(~private@user/pickchea)
2021-08-31 21:06:25 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-31 21:07:32 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-31 21:13:32 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-08-31 21:17:48 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 21:18:48 +0200pgib(~textual@173.38.117.72)
2021-08-31 21:22:16 +0200desantra(~skykanin@user/skykanin)
2021-08-31 21:23:10 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2021-08-31 21:23:44 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-08-31 21:30:44 +0200mmalter(~mmalter@88.171.43.194)
2021-08-31 21:33:24 +0200nrl^(~nrl@wsip-98-188-244-188.mc.at.cox.net) (Remote host closed the connection)
2021-08-31 21:36:39 +0200hseg(~gesh@igld-84-228-238-9.inter.net.il)
2021-08-31 21:36:50 +0200jess(~jess@libera/staff/jess)
2021-08-31 21:36:57 +0200wroathe(~wroathe@user/wroathe) (Quit: Lost terminal)
2021-08-31 21:38:04 +0200dsrt^(~dsrt@wsip-98-188-244-188.mc.at.cox.net)
2021-08-31 21:38:06 +0200 <hseg> just realized I could do the "use the more restricted type for documentation" thing without any TH or GHC hacking, just need a benign UndecideableSuperClasses:
2021-08-31 21:39:07 +0200 <hseg> just create a constraint synonym (i.e. class c x => h x instance c x => h x) establishing (c => d, c) ~ (c `NeededFor` d)
2021-08-31 21:39:35 +0200 <hseg> and then you can say foo :: (Ord a `NeededFor` Ord [a]) => ... or whatever
2021-08-31 21:39:54 +0200 <hseg> so in my case, Monoid a `NeededFor` Ord (Parts a)
2021-08-31 21:39:54 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 21:39:54 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 21:39:54 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 21:41:25 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-08-31 21:42:23 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-08-31 21:42:45 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-08-31 21:48:25 +0200qbt(~edun@user/edun) (Ping timeout: 244 seconds)
2021-08-31 21:53:08 +0200lavaman(~lavaman@98.38.249.169)
2021-08-31 21:53:50 +0200pavonia(~user@user/siracusa)
2021-08-31 21:55:41 +0200motherfsck(~motherfsc@user/motherfsck)
2021-08-31 21:57:37 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-31 21:59:48 +0200chisui(~chisui@200116b86871b800557831fcb73c496a.dip.versatel-1u1.de)
2021-08-31 22:04:57 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 244 seconds)
2021-08-31 22:05:15 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-31 22:05:24 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
2021-08-31 22:06:49 +0200juhp(~juhp@128.106.188.220)
2021-08-31 22:07:11 +0200 <carbolymer> are out there any shake alternatives?
2021-08-31 22:10:15 +0200 <maerwald> carbolymer: https://github.com/ollef/rock
2021-08-31 22:10:22 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-31 22:10:53 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 22:12:49 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-31 22:15:17 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 244 seconds)
2021-08-31 22:15:24 +0200 <carbolymer> maerwald: looks more low-level, thanks
2021-08-31 22:15:41 +0200 <maerwald> or that? https://github.com/judah/pier
2021-08-31 22:16:13 +0200 <maerwald> I like the goal of invoking ghc directly
2021-08-31 22:16:40 +0200 <carbolymer> maerwald: pier looks more like stack alternative, I'm looking more for general purpose task runner with make features
2021-08-31 22:16:54 +0200 <maerwald> that's rock
2021-08-31 22:18:04 +0200 <adamse> carbolymer: what's the use case?
2021-08-31 22:20:27 +0200 <janus> carbolymer: have you read the 'build systems a la carte' paper?
2021-08-31 22:20:55 +0200 <carbolymer> adamse: hard to tell... generic task execution basic on environment and command line arguments I guess? I'm just tired of bash and Makefile, where any more complex handling of variables, states, background jobs becomes a PITA
2021-08-31 22:21:13 +0200 <carbolymer> s/basic/based/
2021-08-31 22:21:27 +0200 <carbolymer> janus: nope, I assume you recommend that? :)
2021-08-31 22:22:04 +0200 <janus> carbolymer: well you don't really need to read all of it but it is interesting how it categorizes build systems, i think that is worth checking out
2021-08-31 22:22:17 +0200 <carbolymer> will do then
2021-08-31 22:22:27 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-08-31 22:22:44 +0200 <janus> and given that you mentioned shake, the paper motivates shake, i think. so given that you don't think shake is right, maybe the paper will tell you what you want
2021-08-31 22:22:49 +0200 <adamse> carbolymer: shake's pretty good for that
2021-08-31 22:22:49 +0200aegon(~mike@174.127.249.180)
2021-08-31 22:23:39 +0200 <adamse> though i dunno about background jobs etc
2021-08-31 22:23:46 +0200 <adamse> sounds like a jobscheduler thing
2021-08-31 22:26:05 +0200 <maerwald> shake is monadic though, so there's no static analysis of rules
2021-08-31 22:27:40 +0200tomsmedingthinks that rock example in its readme also looks pretty monadic
2021-08-31 22:27:55 +0200 <maerwald> I think dune isn't monadic
2021-08-31 22:30:53 +0200hseg(~gesh@igld-84-228-238-9.inter.net.il) (Quit: WeeChat 3.2)
2021-08-31 22:32:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-31 22:33:02 +0200Guest85(~Guest85@31.124.217.143)
2021-08-31 22:34:26 +0200Guest85(~Guest85@31.124.217.143) (Client Quit)
2021-08-31 22:35:17 +0200 <maerwald> https://neilmitchell.blogspot.com/2019/10/monads-as-graphs.html
2021-08-31 22:35:21 +0200 <maerwald> ah, Dune is selective
2021-08-31 22:35:34 +0200 <maerwald> Make is applicative
2021-08-31 22:40:41 +0200haskl(~haskl@user/haskl) (Remote host closed the connection)
2021-08-31 22:41:10 +0200haskl(~haskl@user/haskl)
2021-08-31 22:41:27 +0200 <carbolymer> adamse: probably, I'm just looking around what else is available
2021-08-31 22:41:46 +0200acidjnk_new(~acidjnk@p200300d0c7203039d576453b109ce99e.dip0.t-ipconnect.de)
2021-08-31 22:42:54 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-08-31 22:43:42 +0200ubert(~Thunderbi@178.165.179.224.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
2021-08-31 22:44:55 +0200vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-08-31 22:45:19 +0200kenran(~kenran@200116b82b761600b62aa96f517ae817.dip.versatel-1u1.de)
2021-08-31 22:45:40 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-31 22:50:16 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
2021-08-31 22:50:38 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-08-31 22:50:56 +0200burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 244 seconds)
2021-08-31 22:51:54 +0200max22-(~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-08-31 22:52:19 +0200max22-(~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr)
2021-08-31 22:53:26 +0200max22-(~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-08-31 22:53:48 +0200max22-(~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr)
2021-08-31 22:55:19 +0200 <sm> carbolymer: i'm another using shake for that. it's definitely nice to have all of haskell instead of make and bash.. for certain things. bash still wins for some !
2021-08-31 22:56:00 +0200 <sm> so in practice I still use all three :/
2021-08-31 22:56:55 +0200 <carbolymer> sm: well, bash still has its place, it is just not the best tool for writing bigger scripts
2021-08-31 22:59:12 +0200Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 244 seconds)
2021-08-31 23:00:31 +0200 <sm> lately I wonder when it's right to extract bits of the growing shake file into standalone scripts.
2021-08-31 23:01:32 +0200 <maerwald> carbolymer: you're right, for bigger scripts I use posix shell
2021-08-31 23:03:01 +0200 <carbolymer> maerwald: ...but why
2021-08-31 23:03:27 +0200 <maerwald> it's the perfect language for prototyping
2021-08-31 23:03:54 +0200 <sm> when artifacts are involved, it's nice to have shake's dependency engine for efficiency. But its state is per directory I think - not easy to use two sepearate shake scripts in the same directory. perhaps there's a trick, but it's not the default
2021-08-31 23:03:59 +0200wroathe(~wroathe@user/wroathe) (Quit: leaving)
2021-08-31 23:04:08 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 250 seconds)
2021-08-31 23:04:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-31 23:04:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-31 23:04:25 +0200wroathe(~wroathe@user/wroathe)
2021-08-31 23:06:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-08-31 23:07:10 +0200phma(~phma@host-67-44-209-72.hnremote.net) (Read error: Connection reset by peer)
2021-08-31 23:07:37 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net)
2021-08-31 23:07:59 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 244 seconds)
2021-08-31 23:09:01 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 23:11:08 +0200hyiltiz(~quassel@31.220.5.250)
2021-08-31 23:12:00 +0200sjb0(~stephen@1.145.127.255)
2021-08-31 23:13:40 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net) (Ping timeout: 244 seconds)
2021-08-31 23:14:23 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net)
2021-08-31 23:15:08 +0200phma(phma@2001:0:c38c:c38c:2cd8:e4d3:bcd3:2ffb)
2021-08-31 23:17:28 +0200MQ-17J(~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458)
2021-08-31 23:22:25 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Remote host closed the connection)
2021-08-31 23:24:31 +0200sjb0(~stephen@1.145.127.255) (Ping timeout: 244 seconds)
2021-08-31 23:26:07 +0200chisui(~chisui@200116b86871b800557831fcb73c496a.dip.versatel-1u1.de) (Ping timeout: 256 seconds)
2021-08-31 23:27:01 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-08-31 23:29:43 +0200desantra(~skykanin@user/skykanin) (Quit: WeeChat 3.2)
2021-08-31 23:34:21 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-31 23:38:01 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net) (Remote host closed the connection)
2021-08-31 23:38:03 +0200mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2021-08-31 23:38:06 +0200mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-08-31 23:38:20 +0200mcglk_(~mcglk@131.191.49.120)
2021-08-31 23:38:42 +0200mei(~mei@user/mei)
2021-08-31 23:39:57 +0200dan-so(~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.2)
2021-08-31 23:40:13 +0200kenran(~kenran@200116b82b761600b62aa96f517ae817.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2021-08-31 23:41:15 +0200sjb0(~stephen@2001:8004:5100:2960:eb63:6877:c6aa:5d94)
2021-08-31 23:42:02 +0200pbrisbin(~patrick@2601:83:8002:d080:d2c6:37ff:fec8:a415) (Ping timeout: 256 seconds)
2021-08-31 23:42:21 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-08-31 23:43:00 +0200MQ-17J(~MQ-17J@2607:fb90:1d9d:5d52:46a4:38fe:ef69:4458) (Read error: Connection reset by peer)
2021-08-31 23:45:12 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 23:48:10 +0200mei(~mei@user/mei) (Ping timeout: 252 seconds)
2021-08-31 23:49:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
2021-08-31 23:50:18 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-31 23:54:42 +0200hexfive(~eric@50.35.83.177)
2021-08-31 23:58:04 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-31 23:58:41 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-08-31 23:59:26 +0200max22-(~maxime@2a01cb0883359800979df6351629e372.ipv6.abo.wanadoo.fr) (Quit: Leaving)