2021/08/15

2021-08-15 00:00:42 +0200hendursa1(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-15 00:01:27 +0200Guest54(~Guest54@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-08-15 00:03:04 +0200hendursa1(~weechat@user/hendursaga)
2021-08-15 00:04:34 +0200dudek(~dudek@185.150.236.112) (Quit: Leaving)
2021-08-15 00:05:56 +0200 <aarchi> Well unfortunately the .hi version (after fixing my GHC install) isn't very indicative:
2021-08-15 00:05:58 +0200 <aarchi> magic number mismatch: old/corrupt interface file? (wanted 33214052, got 0)
2021-08-15 00:06:19 +0200 <aarchi> Does 0 correspond to any specific version(s)?
2021-08-15 00:06:57 +0200 <geekosaur> means it's too old to have a version
2021-08-15 00:07:48 +0200 <geekosaur> probably need to build the version of ghc it came from (5.02?) to dump it
2021-08-15 00:09:51 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-15 00:10:58 +0200 <aarchi> Fun stuff
2021-08-15 00:13:41 +0200 <geekosaur> hm, that alos means --show-iface will only work with the same ghc that generated the .hi file :/
2021-08-15 00:14:23 +0200 <hpc> hopefully it wasn't a HEAD build
2021-08-15 00:16:21 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-15 00:16:21 +0200machinedgod(~machinedg@24.105.81.50) (Read error: Connection reset by peer)
2021-08-15 00:16:35 +0200 <geekosaur> I wonderif 5.02 will even build with a modernish ghc
2021-08-15 00:16:40 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-15 00:16:47 +0200 <geekosaur> might have to walk backwards a major version at a time
2021-08-15 00:17:29 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-15 00:17:44 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-08-15 00:18:23 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-15 00:19:01 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-15 00:21:08 +0200 <aarchi> I'm hoping I don't have to bootstrap GHC
2021-08-15 00:21:24 +0200 <aarchi> Can GHC cross compile itself?
2021-08-15 00:22:15 +0200 <geekosaur> there's a backward compatibility policy, but afaik no forward compatibility policy
2021-08-15 00:22:35 +0200 <geekosaur> so there's no guarantee modern ghc can build an older one
2021-08-15 00:23:14 +0200acidjnk(~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-08-15 00:23:48 +0200 <aarchi> And I don't think I could usefully build newer a GHC from an older one because that couldn't produce a platform that isn't published online
2021-08-15 00:27:26 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-08-15 00:29:19 +0200 <stevenxl> Hey folks. I have a value of type (MonadReader env m) => ReaderT SqlBackend m (), and I want to define it in terms of another value of type (MonadReader Int m) => ReaderT SqlBackend m ().
2021-08-15 00:29:29 +0200stevenxlScript is here: https://paste.tomsmeding.com/6JBwFuFo
2021-08-15 00:30:10 +0200stevenxlI can get this to compile by peeling off the first monadic context, and then manually running the second monadic context.
2021-08-15 00:30:12 +0200stevenxlIs there a better way/
2021-08-15 00:32:27 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-15 00:33:17 +0200hendursaga(~weechat@user/hendursaga)
2021-08-15 00:33:34 +0200lavaman(~lavaman@98.38.249.169)
2021-08-15 00:36:44 +0200aguapesada(~aguapesad@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea) (Read error: Connection reset by peer)
2021-08-15 00:38:26 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-08-15 00:42:58 +0200 <dminuoso> stevenxl: The type signatures you wrote in IRC dont work.
2021-08-15 00:43:44 +0200 <stevenxl> I may have explained myself incorrectly. The snippet does compile:
2021-08-15 00:43:48 +0200 <stevenxl> https://www.irccloud.com/pastebin/93RjtIYP/
2021-08-15 00:44:05 +0200 <stevenxl> I was just wondering if there is a more elegant way of doing this.
2021-08-15 00:45:14 +0200 <dminuoso> You could ImplicitParams, perhaps.
2021-08-15 00:45:27 +0200 <dminuoso> Or consider explicitly passing arguments, rather than relying on ReaderT.
2021-08-15 00:45:59 +0200 <dminuoso> Also perhaps `local` is an option if the nested computations environment can be pulled from the outer environment using a function.
2021-08-15 00:46:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 00:46:11 +0200 <dminuoso> Those are the options that I can see
2021-08-15 00:47:21 +0200stevenxlYea - in production I went with passing in the argument explicitly to `funcTwo`, and I did see the `local` option as well. I don't know about ImplicitParams so I might have to look that up.
2021-08-15 00:47:40 +0200stevenxl`mapReaderT` sounded like something worthwhile but I can't get it to work.
2021-08-15 00:47:53 +0200stevenxlIf I use a type whole it says I need a function from `() -> a0`, which is not too helpful. ;)
2021-08-15 00:51:03 +0200Heisen(~Heisen@2a02:aa1:1010:e9f8:c4d6:f30c:bbf0:3508)
2021-08-15 00:51:41 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-15 00:53:11 +0200 <Heisen> Hello why can't I curry the foldl function? I tried to do sumWithFoldl = foldl (+) 0 to give me back a partially applied function but it gives me a bunch of error messages.
2021-08-15 00:53:53 +0200 <stevenxl> @dminuoso this seems to work as well:
2021-08-15 00:53:53 +0200 <lambdabot> Unknown command, try @list
2021-08-15 00:53:59 +0200 <stevenxl> https://www.irccloud.com/pastebin/VEK0GYE4/
2021-08-15 00:54:26 +0200stevenxlWith the previous definitions of `funcTwo`.
2021-08-15 00:54:33 +0200stevenxlI think this is good enough. :-)
2021-08-15 00:55:13 +0200stevenxlI was using `mapReader` instead of `mapReaderT` which is why I originally thought it could not be done.
2021-08-15 00:58:45 +0200 <geekosaur> Heisen, that looks like it might be the monomorphism restriction
2021-08-15 00:59:15 +0200 <geekosaur> that said, you'll have to supply the error messages to be certain
2021-08-15 00:59:19 +0200 <geekosaur> @where paste
2021-08-15 00:59:19 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-08-15 01:00:32 +0200fabfianda(~fabfianda@mob-5-91-116-37.net.vodafone.it) (Ping timeout: 268 seconds)
2021-08-15 01:01:05 +0200fabfianda(~fabfianda@37.183.255.57)
2021-08-15 01:01:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 01:03:14 +0200HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
2021-08-15 01:05:29 +0200lavaman(~lavaman@98.38.249.169)
2021-08-15 01:05:43 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-15 01:05:44 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-15 01:05:47 +0200allbery_bgeekosaur
2021-08-15 01:06:45 +0200 <aarchi> Is there documentation on the default `localeEncoding` for each platform?
2021-08-15 01:07:31 +0200 <geekosaur> the default is not under the control of ghc
2021-08-15 01:08:09 +0200 <aarchi> Is it set via `LC_ALL=C` and friends?
2021-08-15 01:08:30 +0200 <geekosaur> but for example on most nmodern linux distributions it's some utf8-based locale
2021-08-15 01:08:45 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 01:08:51 +0200 <geekosaur> usually set duringf os installation
2021-08-15 01:09:19 +0200 <aarchi> Is Windows UTF-16?
2021-08-15 01:10:02 +0200 <geekosaur> I believe it is with the new I/O manager in ghc9. don't know about earlier versions
2021-08-15 01:11:40 +0200 <monochrom> On Linux it is the LANG and LC_* environment variables. On Windows it is code page. I don't know Mac. The question becomes "where are all these officially written?"
2021-08-15 01:13:28 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 01:18:01 +0200 <aarchi> Has Haskell always used floored division for `div` and `mod`?
2021-08-15 01:20:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-15 01:24:39 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 01:26:18 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds)
2021-08-15 01:27:20 +0200 <aarchi> Looks like Haskell used to support exponential notation, e.g. `1e6` in `read`
2021-08-15 01:28:17 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-08-15 01:34:49 +0200 <aarchi> monochrom: by “code page” do you mean a code page Window-1252?
2021-08-15 01:35:04 +0200 <aarchi> *a code page like Windows-1252
2021-08-15 01:36:01 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 248 seconds)
2021-08-15 01:42:12 +0200 <monochrom> yes
2021-08-15 01:42:18 +0200 <geekosaur> yes, and it can go wrong in a numbver of ways so it's disrecommended
2021-08-15 01:42:28 +0200 <geekosaur> which is another reason for the new I/O manager
2021-08-15 01:43:47 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-15 01:43:57 +0200 <monochrom> div and mod are painstakingly determinized in the Haskell Report.
2021-08-15 01:48:23 +0200Guest|92(~Guest|92@77.173.220.111.dyn.iprimus.net.au)
2021-08-15 01:48:30 +0200_--lll
2021-08-15 01:48:53 +0200Guest|92(~Guest|92@77.173.220.111.dyn.iprimus.net.au) (Client Quit)
2021-08-15 01:52:43 +0200Ariakenom(~patrik@c83-255-154-140.bredband.tele2.se) (Quit: WeeChat 3.1)
2021-08-15 01:54:00 +0200lll_|_
2021-08-15 02:03:18 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 272 seconds)
2021-08-15 02:03:54 +0200_|_(~ding@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Quit: oopsy)
2021-08-15 02:04:08 +0200_\_(~flick@2001:19f0:5:14c2:5400:2ff:fee0:a42c)
2021-08-15 02:06:29 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 02:08:56 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-15 02:09:27 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 02:10:09 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 248 seconds)
2021-08-15 02:14:32 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 02:22:58 +0200Heisen(~Heisen@2a02:aa1:1010:e9f8:c4d6:f30c:bbf0:3508) (Ping timeout: 246 seconds)
2021-08-15 02:25:37 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2021-08-15 02:25:59 +0200jao(jao@gateway/vpn/protonvpn/jao)
2021-08-15 02:26:41 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
2021-08-15 02:43:20 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 02:44:55 +0200 <aarchi> Thanks everyone. This has been very helpful
2021-08-15 02:51:32 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-08-15 02:55:29 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-15 02:58:50 +0200Guest35(~Guest35@187.83.249.216.dyn.smithville.net)
2021-08-15 02:59:22 +0200Guest35(~Guest35@187.83.249.216.dyn.smithville.net) (Client Quit)
2021-08-15 03:02:54 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2021-08-15 03:09:46 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2)
2021-08-15 03:10:22 +0200 <aegon> haskell cant overload functions with the same name and parameter types, is there a way to specialize a function for specific parameters?
2021-08-15 03:10:31 +0200 <aegon> *afaik
2021-08-15 03:11:33 +0200 <aegon> I'm trying to understand how postgresql-simple manages to have 2 query functions that behave different but take the same arguments, one has a special constraint on one of the outputs but aside from that they seem the same, i thought the compiler complained about that though
2021-08-15 03:11:44 +0200 <aegon> also, i'm being derpy, i can try this is ghci quick, nevermind
2021-08-15 03:12:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-08-15 03:12:31 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-15 03:14:05 +0200 <aegon> hmm, yeah it complains
2021-08-15 03:14:49 +0200Guest47(~Guest47@d24-141-46-200.home.cgocable.net)
2021-08-15 03:15:06 +0200Guest47(~Guest47@d24-141-46-200.home.cgocable.net) (Client Quit)
2021-08-15 03:16:40 +0200 <aegon> aand its not overloaded in the lib, i'm done for the day
2021-08-15 03:16:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 03:20:42 +0200V(~v@anomalous.eu) (Remote host closed the connection)
2021-08-15 03:20:57 +0200V(~v@anomalous.eu)
2021-08-15 03:24:49 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 03:25:42 +0200V(~v@anomalous.eu) (Ping timeout: 272 seconds)
2021-08-15 03:26:57 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-15 03:26:57 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-15 03:27:00 +0200allbery_bgeekosaur
2021-08-15 03:28:01 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-15 03:31:59 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-15 03:33:51 +0200V(~v@anomalous.eu)
2021-08-15 03:34:13 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-15 03:40:31 +0200HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving)
2021-08-15 03:49:49 +0200aegon(~mike@174.127.249.180) (Quit: leaving)
2021-08-15 03:50:50 +0200xff0x(~xff0x@2001:1a81:52b4:6700:e48a:7334:5a0f:61a4) (Ping timeout: 252 seconds)
2021-08-15 03:51:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-08-15 03:51:57 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2021-08-15 03:52:03 +0200Guest|59(~Guest|59@075-129-097-116.res.spectrum.com)
2021-08-15 03:52:40 +0200Guest|59(~Guest|59@075-129-097-116.res.spectrum.com) (Client Quit)
2021-08-15 03:52:46 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-15 03:52:49 +0200xff0x(~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e)
2021-08-15 03:53:02 +0200 <koz> What's a good ASCII approximation of the Unicode DOT MINUS, that would be suitable as an infix operator name?
2021-08-15 03:55:08 +0200 <monochrom> Is that U+2238?
2021-08-15 03:55:18 +0200 <koz> monochrom: Yes.
2021-08-15 03:55:44 +0200 <monochrom> I might consider ^- and -^
2021-08-15 03:56:03 +0200 <monochrom> and *- , -*
2021-08-15 03:56:12 +0200 <koz> ^- is my choice because it looks like a cat ear.
2021-08-15 03:56:14 +0200 <koz> Thanks!
2021-08-15 03:56:23 +0200 <monochrom> ^-^
2021-08-15 03:57:13 +0200 <koz> Also, what's the fixity and association of - ?
2021-08-15 03:57:19 +0200 <koz> (if anyone knows offhand)
2021-08-15 03:59:45 +0200 <monochrom> infixl 6
2021-08-15 04:00:00 +0200 <monochrom> You can find out from ghci (and so yahb) by: :info -
2021-08-15 04:00:13 +0200 <koz> Ah, interesting. TIL.
2021-08-15 04:00:46 +0200 <monochrom> If :info doesn't tell, then it's using the default, so you have to memorize the default from the Haskell Report.
2021-08-15 04:00:58 +0200fvr(uid503686@id-503686.highgate.irccloud.com)
2021-08-15 04:01:20 +0200 <monochrom> the default is infixl 9
2021-08-15 04:15:40 +0200td_(~td@94.134.91.195) (Ping timeout: 272 seconds)
2021-08-15 04:15:55 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-08-15 04:16:18 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds)
2021-08-15 04:17:02 +0200td_(~td@94.134.91.196)
2021-08-15 04:21:38 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-15 04:21:57 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-15 04:24:28 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-08-15 04:24:28 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (platinum.libera.chat (Nickname regained by services)))
2021-08-15 04:24:28 +0200finn_elijaFinnElija
2021-08-15 04:33:17 +0200SincereFox(uid337158@user/sincerefox)
2021-08-15 04:33:53 +0200SincereFox(uid337158@user/sincerefox) ()
2021-08-15 04:39:46 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-15 04:41:48 +0200mei(~mei@user/mei) (Ping timeout: 258 seconds)
2021-08-15 04:52:46 +0200alx741(~alx741@186.178.108.32) (Quit: alx741)
2021-08-15 05:09:14 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 05:14:27 +0200Codaraxis_(~Codaraxis@user/codaraxis)
2021-08-15 05:15:12 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 05:19:00 +0200Codaraxis(~Codaraxis@user/codaraxis) (Ping timeout: 272 seconds)
2021-08-15 05:24:38 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 05:27:30 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 05:28:01 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-15 05:32:28 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 05:45:09 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 05:47:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 05:50:22 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 05:51:56 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-08-15 06:03:26 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 06:08:01 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-15 06:19:56 +0200dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-08-15 06:20:45 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 06:21:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-15 06:23:39 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2021-08-15 06:25:42 +0200AndrewYuliberacom
2021-08-15 06:25:49 +0200liberacomAndrewYu
2021-08-15 06:26:09 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-15 06:29:13 +0200dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
2021-08-15 06:29:53 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-15 06:33:37 +0200jespada(~jespada@90.254.247.46) (Ping timeout: 248 seconds)
2021-08-15 06:35:29 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-08-15 06:36:36 +0200jespada(~jespada@90.254.247.46)
2021-08-15 06:51:09 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-15 06:51:23 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-15 06:56:37 +0200indiana-bones(~indignant@94.140.8.98)
2021-08-15 07:05:44 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 07:10:25 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-15 07:23:28 +0200jao(jao@gateway/vpn/protonvpn/jao) (Ping timeout: 268 seconds)
2021-08-15 07:24:29 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 07:28:01 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-15 07:43:33 +0200notzmv(~zmv@user/notzmv) (Read error: Connection reset by peer)
2021-08-15 07:44:41 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-08-15 07:44:59 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-15 07:45:13 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-15 07:45:47 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
2021-08-15 07:46:32 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-08-15 07:46:59 +0200mei(~mei@user/mei)
2021-08-15 07:47:12 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-08-15 07:47:43 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds)
2021-08-15 07:55:18 +0200notzmv(~zmv@user/notzmv)
2021-08-15 07:57:01 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 08:02:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 08:03:09 +0200ikex1(~ash@user/ikex)
2021-08-15 08:04:49 +0200ikex(~ash@user/ikex) (Ping timeout: 248 seconds)
2021-08-15 08:04:49 +0200ikex1ikex
2021-08-15 08:07:28 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-08-15 08:13:42 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-15 08:17:59 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 08:26:07 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-15 08:26:25 +0200img(~img@user/img)
2021-08-15 08:30:21 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 08:30:38 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-08-15 08:30:52 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 08:31:02 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
2021-08-15 08:31:52 +0200Lord_of_Life_Lord_of_Life
2021-08-15 08:34:18 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-15 08:35:13 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-15 08:36:57 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-08-15 08:38:41 +0200zaquest(~notzaques@5.128.210.178)
2021-08-15 08:39:58 +0200Xnuk(~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
2021-08-15 08:40:21 +0200Xnuk(~xnuk@vultr.xnu.kr)
2021-08-15 08:43:46 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) (Quit: haowenl)
2021-08-15 08:45:38 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 08:47:03 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-15 08:47:12 +0200fendor(~fendor@178.115.35.166.wireless.dyn.drei.com)
2021-08-15 08:47:29 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
2021-08-15 08:50:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-08-15 08:52:17 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-15 08:58:28 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-08-15 09:02:09 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-15 09:02:36 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 09:07:31 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: WeeChat 3.2)
2021-08-15 09:07:41 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-15 09:17:55 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
2021-08-15 09:18:20 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Client Quit)
2021-08-15 09:18:31 +0200acidjnk(~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de)
2021-08-15 09:20:48 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
2021-08-15 09:25:17 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 09:25:22 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Client Quit)
2021-08-15 09:26:44 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
2021-08-15 09:27:37 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 09:28:33 +0200sedeki(~textual@user/sedeki)
2021-08-15 09:28:36 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-08-15 09:30:55 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 09:35:30 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-08-15 09:36:04 +0200fendor(~fendor@178.115.35.166.wireless.dyn.drei.com) (Remote host closed the connection)
2021-08-15 09:36:47 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
2021-08-15 09:36:50 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-15 09:37:13 +0200fendor(~fendor@178.115.35.166.wireless.dyn.drei.com)
2021-08-15 09:38:04 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
2021-08-15 09:38:42 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-15 09:42:44 +0200sedeki(~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
2021-08-15 09:43:53 +0200wonko(~wjc@62.115.229.50)
2021-08-15 09:46:06 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2021-08-15 09:56:08 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-15 09:59:24 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-15 10:05:38 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-08-15 10:05:44 +0200hendursa1(~weechat@user/hendursaga)
2021-08-15 10:05:59 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-15 10:08:18 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-15 10:09:48 +0200 <hololeap> I have used First and Last (monoids), but I started thinking of a new monoid: data Once a = Once a | TooMany | None
2021-08-15 10:10:11 +0200 <hololeap> where None is the "zero" and TooMany is an error state. does this already exist in some lib?
2021-08-15 10:10:47 +0200 <fendor> can I force a cabal project using build-type custom to use a newer lib:Cabal version than what my ghc version is linked against?
2021-08-15 10:12:50 +0200Skyfire(~pyon@user/pyon) (Quit: WeeChat 3.2)
2021-08-15 10:13:32 +0200 <hololeap> wait, is the Once type the quintessential monotonic type, like what edwardk has talked about?
2021-08-15 10:14:27 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-15 10:17:41 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-15 10:17:41 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-15 10:17:44 +0200allbery_bgeekosaur
2021-08-15 10:21:58 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2021-08-15 10:22:37 +0200hendursa1(~weechat@user/hendursaga) (Remote host closed the connection)
2021-08-15 10:22:58 +0200hendursa1(~weechat@user/hendursaga)
2021-08-15 10:23:12 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-15 10:24:27 +0200Skyfire(~pyon@user/pyon)
2021-08-15 10:27:55 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-15 10:29:53 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-15 10:33:05 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-15 10:38:49 +0200jmorris(~jmorris@2001:19f0:5801:170:5400:3ff:fe81:62fe) (Quit: BYE BITCH)
2021-08-15 10:38:58 +0200gauss(~gauss@139.180.175.160)
2021-08-15 10:46:26 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 10:48:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 10:49:26 +0200Arsen(~arsen@managarm/dev/Arsen) (Quit: Quit.)
2021-08-15 10:49:47 +0200Arsen(~arsen@managarm/dev/Arsen)
2021-08-15 10:51:13 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
2021-08-15 10:52:53 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-15 11:00:46 +0200Arsen(~arsen@managarm/dev/Arsen) (Quit: Quit.)
2021-08-15 11:01:05 +0200Arsen(~arsen@managarm/dev/Arsen)
2021-08-15 11:01:05 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-15 11:01:13 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-15 11:02:41 +0200 <fvr> fendor: doesn’t adding the new Cabal library in setup-depends work?
2021-08-15 11:04:44 +0200Arsen(~arsen@managarm/dev/Arsen) (Client Quit)
2021-08-15 11:06:12 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 11:07:12 +0200amk(~amk@176.61.106.150) (Remote host closed the connection)
2021-08-15 11:09:43 +0200amk(~amk@176.61.106.150)
2021-08-15 11:11:02 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-15 11:11:06 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 11:15:29 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Ping timeout: 258 seconds)
2021-08-15 11:17:15 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 11:19:51 +0200Arsen(~arsen@managarm/dev/Arsen)
2021-08-15 11:22:07 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-15 11:22:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-15 11:23:42 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 11:24:46 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 11:25:06 +0200 <fendor> fvr, don't think so
2021-08-15 11:25:42 +0200 <fendor> https://paste.tomsmeding.com/o4349srP
2021-08-15 11:26:00 +0200 <fendor> well, actually that error is to be expected
2021-08-15 11:26:48 +0200Pickchea(~private@user/pickchea)
2021-08-15 11:28:55 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-08-15 11:31:53 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-15 11:32:04 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-08-15 11:32:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-15 11:33:41 +0200 <fendor> maybe this is just a cabal-testsuite shenanigan
2021-08-15 11:36:33 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-15 11:38:49 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 11:44:32 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2021-08-15 11:49:28 +0200 <tromp> i posted my Haskell based chess counting project to Hacker News at https://news.ycombinator.com/item?id=28187478
2021-08-15 11:56:02 +0200 <dibblego> tromp: nice, I think these can be improved at least a little: https://github.com/tromp/ChessPositionRanking/blob/main/src/Legality.hs#L94
2021-08-15 11:57:30 +0200 <tromp> you mean by case checkingpcs of (_:_:_:_) ... to make it lazier ?
2021-08-15 11:57:39 +0200 <dibblego> yeah, essentially
2021-08-15 11:58:03 +0200 <dibblego> > length [1..100000000] > 2
2021-08-15 11:58:08 +0200 <lambdabot> True
2021-08-15 11:58:24 +0200 <tromp> i tried to optimize for simplicity over gaining some tiny performance improvement. these lists are never long
2021-08-15 11:58:50 +0200 <tromp> the most number of checking pieces i've seen is 6
2021-08-15 11:59:07 +0200 <tromp> although in theory up to 16 is possible
2021-08-15 12:04:44 +0200keutoi(~keutoi@157.47.6.195)
2021-08-15 12:07:42 +0200 <fvr> fendor, I just changed the dependency of Cabal to >= 3.6 in cabal-testsuite and it's compiling
2021-08-15 12:07:50 +0200 <fvr> the intree version of Cabal lib is 3.6
2021-08-15 12:08:38 +0200 <pavonia> tromp: Can you derive any chess position with that library by providing an integer, and vice versa?
2021-08-15 12:08:53 +0200 <fendor> fvr, the test-case depends on the intree Cabal lib, but when I execute: https://paste.tomsmeding.com/LEtXtyPF
2021-08-15 12:09:12 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-15 12:09:32 +0200 <fendor> slight correction: https://paste.tomsmeding.com/3h8W2K7o this contains the actual invocation
2021-08-15 12:10:08 +0200 <tromp> actually 16 is not possible due to limits on number of promotions, but 14 is
2021-08-15 12:10:47 +0200 <tromp> @pavonia, any legal chess position can be ranked as an integer
2021-08-15 12:10:47 +0200 <lambdabot> Unknown command, try @list
2021-08-15 12:11:01 +0200 <tromp> pavonia, any legal chess position can be ranked as an integer
2021-08-15 12:11:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 12:12:03 +0200 <tromp> as well as many illegal ones that satisfy certain constraints on promotions and pawn placement
2021-08-15 12:12:44 +0200 <pavonia> Does ranking here imply some meaningful chess moves or just legal ones?
2021-08-15 12:14:09 +0200 <fvr> I get a similar error with the message "constraint from maximum version of Cabal used by Setup.hs requires <3.6", but when I use in tree cabal-install to build, it goes away. but looks like you are already using it
2021-08-15 12:14:20 +0200acidjnk_new(~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de)
2021-08-15 12:15:25 +0200 <tromp> it has nothing to do with meaningfull chess
2021-08-15 12:15:41 +0200 <tromp> just constraints imposed by legal chess
2021-08-15 12:16:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-08-15 12:17:38 +0200acidjnk(~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-08-15 12:18:43 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-15 12:18:48 +0200oldsk00l_(~znc@ec2-18-170-87-228.eu-west-2.compute.amazonaws.com)
2021-08-15 12:19:46 +0200 <tromp> feel free to upvote the HN submission:)
2021-08-15 12:21:04 +0200 <pavonia> tromp: Can you only get completely random results of could you, e.g., say "give me some random position after 10 moves"
2021-08-15 12:21:51 +0200 <tromp> pavonia: it has nothing to do with number of moves. use perft related tools for that
2021-08-15 12:22:39 +0200 <pavonia> Sorry, just trying to understand the purpose of that library
2021-08-15 12:22:44 +0200 <tromp> it's uniformly random in the space of my 8726713169886222032347729969256422370854716254 urpositions
2021-08-15 12:23:20 +0200 <tromp> the main purpose is getting accurate estimates on the number of legal positions
2021-08-15 12:23:42 +0200 <tromp> which we never had before
2021-08-15 12:24:31 +0200 <tromp> perhaps it can also serve as a stress test for chess engines:-)
2021-08-15 12:24:46 +0200 <pavonia> I see
2021-08-15 12:25:26 +0200 <tromp> for haskell users, the Data.Ranking is of independent interest
2021-08-15 12:25:36 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-15 12:25:56 +0200 <tromp> and this project is like a showcase of its power
2021-08-15 12:26:29 +0200 <tromp> it's very similar to Enumeration.Invertible
2021-08-15 12:26:29 +0200mt404(~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com)
2021-08-15 12:30:39 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 12:33:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 12:35:56 +0200 <fvr> fendor, I can reproduce your error when I change version of Cabal lib in one of the cabal-testsuite tests , likely an error in cabal-testsuite itself
2021-08-15 12:36:58 +0200oxide(~lambda@user/oxide)
2021-08-15 12:37:09 +0200 <fendor> fvr, nice, if the error is in the test-case, we can fix it!
2021-08-15 12:38:35 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 12:38:41 +0200indiana-bones(~indignant@94.140.8.98) (Quit: Leaving)
2021-08-15 12:39:59 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-15 12:41:25 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-15 12:52:46 +0200oxide(~lambda@user/oxide) (Ping timeout: 268 seconds)
2021-08-15 12:57:42 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-15 13:02:01 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-15 13:02:38 +0200hendursa1(~weechat@user/hendursaga) (Remote host closed the connection)
2021-08-15 13:03:03 +0200hendursa1(~weechat@user/hendursaga)
2021-08-15 13:04:37 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-15 13:06:02 +0200sedeki(~textual@user/sedeki)
2021-08-15 13:06:40 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-15 13:07:08 +0200sedeki(~textual@user/sedeki) (Client Quit)
2021-08-15 13:07:25 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-15 13:07:48 +0200 <fvr> fendor, the test I am testing has it's own cabal.project file, if I add the the intree Cabal to its project file's packages list, the cabal in the test can see it then
2021-08-15 13:08:41 +0200AlexNoo_(~AlexNoo@94.233.240.231)
2021-08-15 13:09:53 +0200fabfianda(~fabfianda@37.183.255.57) (Ping timeout: 248 seconds)
2021-08-15 13:10:25 +0200Alex_test(~al_test@94.233.240.105) (Ping timeout: 248 seconds)
2021-08-15 13:10:37 +0200fabfianda(~fabfianda@mob-5-91-124-63.net.vodafone.it)
2021-08-15 13:11:17 +0200AlexZenon(~alzenon@94.233.240.105) (Ping timeout: 268 seconds)
2021-08-15 13:12:22 +0200AlexNoo(~AlexNoo@94.233.240.105) (Ping timeout: 256 seconds)
2021-08-15 13:16:11 +0200Alex_test(~al_test@94.233.240.231)
2021-08-15 13:16:11 +0200AlexZenon(~alzenon@94.233.240.231)
2021-08-15 13:19:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 13:20:02 +0200ircbrowse_tom(~ircbrowse@static.162.49.55.162.clients.your-server.de)
2021-08-15 13:20:04 +0200Server+Cnt
2021-08-15 13:22:24 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-15 13:24:55 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 13:28:00 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
2021-08-15 13:28:30 +0200lavaman(~lavaman@98.38.249.169)
2021-08-15 13:28:41 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 13:28:48 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-08-15 13:33:28 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-15 13:34:55 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-15 13:36:05 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-15 13:39:42 +0200 <arahael> Been looking at a bug in my haskell server, and started using Debug.trace for the first time. I've discovered that 'https://hackage.haskell.org/package/tar-0.5.1.1/docs/Codec-Archive-Tar.html#v:entryPath' appears to be truncating the filenames1?
2021-08-15 13:41:45 +0200 <arahael> Can someone suggest a better tarfile implementation?
2021-08-15 13:42:03 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 13:42:55 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 13:43:12 +0200 <fvr> arahael, would this work https://github.com/hasufell/tar-bytestring/
2021-08-15 13:43:27 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 13:44:00 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 13:44:13 +0200 <arahael> fvr: Perhaps!
2021-08-15 13:45:42 +0200Morimaruza[m](~morimaruz@2001:470:69fc:105::da03)
2021-08-15 13:45:42 +0200Morimaruza[m](~morimaruz@2001:470:69fc:105::da03) ()
2021-08-15 13:46:37 +0200 <arahael> fvr: I think that's a fork originating from https://github.com/haskell/tar/pull/50 maybe. It's such a weird issue, by logging, I notice that there's a pretty short maximum length for the filenames. It's weird.
2021-08-15 13:46:55 +0200 <tomsmeding> arahael: fvr: there's also libarchive, which is recommended over tar-bytestring by tar-bytestring's author... https://github.com/hasufell/hpath/pull/41#issuecomment-896910037
2021-08-15 13:47:04 +0200 <tomsmeding> though tar-bytestring is far more similar to 'tar'
2021-08-15 13:47:12 +0200 <tomsmeding> if you want an easy switch
2021-08-15 13:47:38 +0200oldsk00l(~znc@ec2-3-127-148-248.eu-central-1.compute.amazonaws.com) (Remote host closed the connection)
2021-08-15 13:47:59 +0200 <arahael> tomsmeding: I'm trying the easy switch, but I think I should swap to libarchive regardless but not today (It's nearly 10pm afterall)
2021-08-15 13:48:24 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-15 13:48:43 +0200 <arahael> Hmm, tar-bytestring doesn't seem to build in cabal.
2021-08-15 13:48:50 +0200 <maerwald[m]> tar-bytestring is still maintained, but the idea is to ditch it completely and rewrite it in streamly
2021-08-15 13:48:52 +0200machinedgod(~machinedg@24.105.81.50) (Read error: Connection reset by peer)
2021-08-15 13:48:53 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-15 13:49:06 +0200 <fvr> tomsmeding: cool didn't know that
2021-08-15 13:49:18 +0200 <maerwald[m]> libarchive also has better memory consumption
2021-08-15 13:49:20 +0200 <arahael> (Due to something an error with building streamly-posix-0.1.0.1 )
2021-08-15 13:49:41 +0200 <maerwald[m]> tar currently forces every file into memory before unpacking
2021-08-15 13:49:41 +0200 <tomsmeding> arahael: what's the error?
2021-08-15 13:49:58 +0200 <arahael> Could not find module `Streamly.Internal.Data.Unfold.Types'
2021-08-15 13:50:00 +0200 <maerwald[m]> So your max memory consumption depends on the biggest file in the archive
2021-08-15 13:50:42 +0200 <tomsmeding> use streampy-posix-0.1.0.2 https://github.com/hasufell/streamly-posix/pull/1
2021-08-15 13:51:10 +0200 <arahael> tomsmeding: I'm not the one using streampy, though. It's an indirect dependency.
2021-08-15 13:51:32 +0200 <maerwald[m]> That sounds like a version bound is off
2021-08-15 13:51:32 +0200 <fvr> arahael: you can just add it in your extra-deps if stack.yaml or cabal.project
2021-08-15 13:51:45 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-15 13:51:48 +0200 <arahael> This is just a regular old cabal.
2021-08-15 13:51:48 +0200 <maerwald[m]> That shouldn't be needed
2021-08-15 13:52:23 +0200 <arahael> I think what I'll do is just move to libarchive next chance I have to work on this.
2021-08-15 13:52:37 +0200 <maerwald[m]> Or share full build log
2021-08-15 13:52:54 +0200 <maerwald[m]> Otherwise this is a guessing game
2021-08-15 13:52:59 +0200 <arahael> maerwald[m]: Yeah, but then I have to commit to staying here for a bit longer whilst other people invest in helping me. :)
2021-08-15 13:53:09 +0200 <tomsmeding> arahael: try a cabal update; the indirect dependency is in hpath-directory. The latest version of that (0.14.2.1) works, but 0.14.2.0 doesn't; tar-bytestring has a ==0.14.* constraint on hpath-directory
2021-08-15 13:53:53 +0200 <arahael> tomsmeding: Oh, that's intriguing.
2021-08-15 13:53:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-08-15 13:54:12 +0200 <tomsmeding> so you just need cabal to give you the latest hpath-directory (which is very recent, like as of last week)
2021-08-15 13:54:19 +0200 <arahael> Oh, wow, that is recent.
2021-08-15 13:54:49 +0200 <tomsmeding> (it's due to an incompatibility with streamly 0.8 that I found, fixed, and sent a PR for last week :p )
2021-08-15 13:55:26 +0200 <arahael> Oh, awesome! :D
2021-08-15 13:55:49 +0200 <arahael> It's currently rebuilding the world.
2021-08-15 13:56:04 +0200machinedgod(~machinedg@24.105.81.50) (Remote host closed the connection)
2021-08-15 13:56:30 +0200 <tomsmeding> always fun
2021-08-15 13:56:32 +0200 <arahael> But I think I should move to libarchive, very not impressed with tar truncating my filenames.
2021-08-15 13:56:45 +0200 <arahael> (But won't be today. And probably won't be tomorrow either!)
2021-08-15 13:59:55 +0200 <arahael> Ok, it now dies when trying to compile hpath-directory-0.14.2.1 - but I should get to bed.
2021-08-15 14:00:08 +0200 <arahael> tomsmeding, fvr: Thanks for your help and recommendations!
2021-08-15 14:00:11 +0200 <maerwald[m]> Oh dear
2021-08-15 14:00:33 +0200 <maerwald[m]> Build logs
2021-08-15 14:00:42 +0200tomsmedingchants "build logs"
2021-08-15 14:00:51 +0200 <maerwald[m]> "dies" and "fails" etc aren't useful
2021-08-15 14:01:14 +0200 <arahael> Ok, one moment...
2021-08-15 14:01:24 +0200 <tomsmeding> thou shalt not sleep
2021-08-15 14:03:29 +0200 <fvr> using nix for haskell dependencies for a few months now and I forgot cabal update exists lol
2021-08-15 14:04:05 +0200Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2021-08-15 14:04:12 +0200 <maerwald[m]> You mean a freeze file?
2021-08-15 14:05:35 +0200 <arahael> https://gist.github.com/arafangion/a5d8606f798c3319cf3fab8495f73d80
2021-08-15 14:05:51 +0200 <arahael> Incidentially, I am using nix, but not debugging further tonight I'm afraid.
2021-08-15 14:05:59 +0200 <arahael> (And it's just cabal in a nix-shell)
2021-08-15 14:06:33 +0200 <arahael> maerwald[m], tomsmeding: Is that log what you need, though?
2021-08-15 14:06:46 +0200 <maerwald[m]> MonadFail
2021-08-15 14:06:58 +0200 <maerwald[m]> Update your ghc lol
2021-08-15 14:07:04 +0200 <tomsmeding> lol
2021-08-15 14:07:15 +0200 <tomsmeding> did 8.6.5 have no MonadFail yet?
2021-08-15 14:07:23 +0200 <tomsmeding> but yeah, in general, update your ghc
2021-08-15 14:07:41 +0200 <tomsmeding> arahael: and yes that's the log :)
2021-08-15 14:07:45 +0200 <arahael> tomsmeding: Awesome. :)
2021-08-15 14:08:42 +0200 <arahael> maerwald[m]: What can I read to learn about the MonadFail thing? Will put it in a browser tab for now... Is this the main page for it? https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-fail
2021-08-15 14:09:01 +0200 <arahael> tomsmeding: I'll update ghc later in the week!
2021-08-15 14:10:17 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 258 seconds)
2021-08-15 14:10:20 +0200 <tomsmeding> arahael: MonadFail exists and works as it is supposed to since ghc 8.8
2021-08-15 14:10:31 +0200 <tomsmeding> (as seen in the Transitional Strategy list on the page you linked)
2021-08-15 14:10:33 +0200 <maerwald[m]> MonadFail was about breaking everyones code and introduce a lot of ifdefs around imports. It achieved thst goal
2021-08-15 14:10:52 +0200 <tomsmeding> :D
2021-08-15 14:11:20 +0200 <tomsmeding> it was also about fixing a design imperfection
2021-08-15 14:11:26 +0200 <tomsmeding> but that's secondary
2021-08-15 14:11:27 +0200 <arahael> Heh, cool. So next chance i get into this, I should first update ghc to at _least_ 8.8 (in practice: The latest I have on nixos), and then read up on this MonadFail thing just for background info.
2021-08-15 14:11:34 +0200 <arahael> Thanks. :)
2021-08-15 14:11:36 +0200 <tomsmeding> sounds good
2021-08-15 14:11:41 +0200 <tomsmeding> now you can sleep :)
2021-08-15 14:11:42 +0200 <maerwald[m]> 8.10.6 should be fine
2021-08-15 14:12:27 +0200 <arahael> Awesome :)
2021-08-15 14:12:31 +0200 <arahael> THanks for that!
2021-08-15 14:13:36 +0200 <fvr> I think it should also be a fix in the hpath-directory unless supporting 8.6.5 is not a goal
2021-08-15 14:13:54 +0200 <arahael> fvr: I have no reason to stick with 8.6.5.
2021-08-15 14:14:22 +0200 <fvr> I meant non-goal for the library
2021-08-15 14:14:49 +0200 <maerwald[m]> fvr: ya, PR?
2021-08-15 14:15:02 +0200 <tomsmeding> fvr: the real fix, if possible, would be that hpath-directory has (streamly < 0.8 && streamly-posix == 0.14.*) || (streamly >= 0.8 && streamly-posix >= 0.14.2.1)
2021-08-15 14:15:03 +0200 <maerwald[m]> I'm lazy on my bed
2021-08-15 14:15:05 +0200 <tomsmeding> not sure if cabal can do that
2021-08-15 14:15:11 +0200 <maerwald[m]> Can't fix all of it
2021-08-15 14:15:30 +0200 <fvr> maerwald: sure, though I hate to download a old ghc just to test it lol
2021-08-15 14:16:04 +0200 <maerwald[m]> tomsmeding: we can also msrk 0.14.2.0 as broken
2021-08-15 14:16:23 +0200 <maerwald[m]> But that won't fix it for freeze files etc
2021-08-15 14:16:24 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-15 14:16:46 +0200 <maerwald[m]> fvr: ghcup install gch 8.6.5
2021-08-15 14:16:52 +0200 <tomsmeding> maerwald[m]: that wouldn't fix anything, right? hpath-directory has 0.14.* on streamly-posix so cabal could just pixk 0.14.1
2021-08-15 14:17:03 +0200 <tomsmeding> s/pixk/pick/
2021-08-15 14:17:26 +0200 <maerwald[m]> Can revbump tar-bytestring too
2021-08-15 14:18:09 +0200 <tomsmeding> so that people can depend on the latest tar-bytestring and be cool?
2021-08-15 14:19:03 +0200 <maerwald[m]> I'm still not sure how that solver error happened
2021-08-15 14:20:09 +0200 <maerwald[m]> streamly-posix-0.1.0.1 depends on streamly (==0.7.*)
2021-08-15 14:20:44 +0200 <maerwald[m]> streamly-posix-0.1.0.2 depends on streamly (>=0.7 && <0.9)
2021-08-15 14:20:50 +0200 <tomsmeding> ooh you revised 0.1.0.1
2021-08-15 14:20:55 +0200 <tomsmeding> probably someone didn't cabal update?
2021-08-15 14:20:57 +0200 <maerwald[m]> Yes
2021-08-15 14:21:00 +0200 <tomsmeding> and didn't get the revision
2021-08-15 14:21:15 +0200 <maerwald[m]> Revisions should be pulled in without cabal update, no?
2021-08-15 14:21:24 +0200AlexNoo_AlexNoo
2021-08-15 14:21:39 +0200 <tomsmeding> I wouldn't know, but aren't those just modifications of the cabal file?
2021-08-15 14:21:46 +0200 <maerwald[m]> Yes
2021-08-15 14:21:56 +0200 <tomsmeding> which get downloaded in bulk when doing 'cabal update'
2021-08-15 14:22:22 +0200 <maerwald[m]> Maybe there's nothing to fix after all
2021-08-15 14:22:36 +0200maerwald[m]goes back to being lazy
2021-08-15 14:23:03 +0200 <tomsmeding> with that revision you may be right that indeed, a cabal update will always fix this particular issue for tar-bytestring users
2021-08-15 14:23:44 +0200 <arahael> i did do a cabal update (have gone to bed though so no laptop now)
2021-08-15 14:24:02 +0200 <tomsmeding> which triggered a rebuild of the world, right?
2021-08-15 14:24:39 +0200 <arahael> yeah it downloaded and built everything thr project depended on until it got that error.
2021-08-15 14:25:06 +0200 <arahael> then i re-ran the build to get you those logs as i didnt keep the previous run
2021-08-15 14:25:12 +0200 <tomsmeding> maerwald[m] was talking about the Streamly.Internal.Data.Unfold.Types error you got before
2021-08-15 14:25:25 +0200 <tomsmeding> the MonadFail error is something different and was related to your ghc version
2021-08-15 14:25:29 +0200 <arahael> ah! yeah, cabal update fixed that one
2021-08-15 14:25:34 +0200 <tomsmeding> cool :)
2021-08-15 14:26:46 +0200 <arahael> i guess that confirms the "nothing to fix" for that one :)
2021-08-15 14:31:02 +0200mt404(~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds)
2021-08-15 14:32:20 +0200mt404(~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com)
2021-08-15 14:35:28 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 14:39:39 +0200_\_(~flick@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Quit: ___)
2021-08-15 14:39:48 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-08-15 14:40:13 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
2021-08-15 14:40:43 +0200dudek(~dudek@185.150.236.112)
2021-08-15 14:41:20 +0200sander(~sander@user/sander) (Ping timeout: 256 seconds)
2021-08-15 14:42:33 +0200_\_(~o@2001:19f0:5:14c2:5400:2ff:fee0:a42c)
2021-08-15 14:44:36 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-15 14:45:39 +0200sander(~sander@user/sander)
2021-08-15 14:46:56 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-15 14:47:27 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-15 14:47:40 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-15 14:48:19 +0200CannabisIndica(~herb@user/mesaboogie) (Quit: ZNC - https://znc.in)
2021-08-15 14:49:34 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-15 14:49:58 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-08-15 14:50:47 +0200_\_(~o@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (Changing host)
2021-08-15 14:50:47 +0200_\_(~o@user/ding)
2021-08-15 14:51:26 +0200 <albet70> ContT r IO a, what it's used for?
2021-08-15 14:51:45 +0200 <albet70> what is a CPS
2021-08-15 14:53:29 +0200thyriaen(~thyriaen@dynamic-089-012-237-250.89.12.pool.telefonica.de)
2021-08-15 14:54:39 +0200 <hpc> at a very high level, it's laying out your code so the notion of "everything my program does after this point" is a function that you can manipulate
2021-08-15 14:55:14 +0200 <thyriaen> howdy, friends - i have a list of numbers, and i am trying to find a subset of them for which the sum is an exact number - so i generate the powerset of it and then sum them all up and filter accordingly - i found it but now i would like to know which subset was the solution - how do i do that ?
2021-08-15 14:55:14 +0200 <hpc> that "everything my program does after this point" doesn't have to be a single function either
2021-08-15 14:55:17 +0200 <hpc> maybe it's two functions
2021-08-15 14:55:49 +0200schuelermine(~anselmsch@user/schuelermine)
2021-08-15 14:55:55 +0200 <hpc> imagine you're writing a parser - in CPS style maybe you have two continuations, one for "i consumed input and found what i expected" and one for "there was some sort of a problem"
2021-08-15 14:56:13 +0200 <thyriaen> this is my current code: https://paste.tomsmeding.com/umLlKbAf
2021-08-15 14:56:44 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-08-15 14:56:56 +0200 <tomsmeding> thyriaen: what about Data.List.find
2021-08-15 14:57:04 +0200 <tomsmeding> note also that sumer = sum ;)
2021-08-15 14:57:05 +0200 <hpc> then a parser like (char x) is written as "do the low-level operation that consumes input - if the character == x, call the success continuation, otherwise call the fail continuation"
2021-08-15 14:57:24 +0200 <thyriaen> let me look up data.list.find
2021-08-15 14:57:31 +0200 <hpc> some implementation details later and (>>=) to compose it, and you have parsec
2021-08-15 14:57:45 +0200 <hpc> https://hackage.haskell.org/package/parsec-3.1.14.0/docs/src/Text.Parsec.Prim.html#ParsecT
2021-08-15 14:58:01 +0200 <hpc> ContT is the most general form of this sort of thing
2021-08-15 14:58:40 +0200 <thyriaen> tomsmeding, what is a foldable t ?
2021-08-15 14:58:55 +0200 <hpc> albet70: hopefully that made sense?
2021-08-15 14:59:06 +0200 <albet70> yes
2021-08-15 14:59:12 +0200 <thyriaen> tomsmeding, i don't think i understand find :: Foldable t => (a -> Bool) -> t a -> Maybe a
2021-08-15 14:59:15 +0200 <tomsmeding> thyriaen: think of that type signature as saying "(a -> Bool) -> [a] -> Maybe a"
2021-08-15 14:59:27 +0200 <tomsmeding> [] is one example of a Foldable
2021-08-15 14:59:33 +0200 <thyriaen> okay
2021-08-15 15:00:04 +0200schuelermine(~anselmsch@user/schuelermine) (Client Quit)
2021-08-15 15:00:06 +0200 <fvr> Is there an opposite command to `cabal install --lib`
2021-08-15 15:00:10 +0200 <tomsmeding> hm you don't even need find
2021-08-15 15:00:32 +0200 <tomsmeding> thyriaen: the more important thing to do is to put the summing in the filter
2021-08-15 15:00:51 +0200 <tomsmeding> what you now have is: filter (== 271.36) (map sum (powerset list))
2021-08-15 15:01:01 +0200 <thyriaen> yes
2021-08-15 15:01:02 +0200alx741(~alx741@186.178.108.32)
2021-08-15 15:01:06 +0200 <tomsmeding> what about: filter (\l -> sum l == 271.36) (powerset list)
2021-08-15 15:01:08 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 15:01:19 +0200 <thyriaen> what is \l ?
2021-08-15 15:01:24 +0200 <thyriaen> lambda ?
2021-08-15 15:01:26 +0200 <tomsmeding> yeah
2021-08-15 15:01:41 +0200 <tomsmeding> % f = \x -> x + 1
2021-08-15 15:01:42 +0200 <yahb> tomsmeding:
2021-08-15 15:01:44 +0200 <albet70> hpc, in the computation chain of >>=, how the ContT can jump back and why?
2021-08-15 15:01:45 +0200 <tomsmeding> % f 10
2021-08-15 15:01:45 +0200 <yahb> tomsmeding: 11
2021-08-15 15:02:33 +0200 <tomsmeding> thyriaen: (== 271.36) is the same as (\x -> x == 271.36)
2021-08-15 15:02:35 +0200 <thyriaen> tomsmeding, i understand now it makes sense
2021-08-15 15:02:46 +0200 <thyriaen> but one question remains
2021-08-15 15:03:05 +0200 <thyriaen> find does not really change anything compared to filter, does it ?
2021-08-15 15:03:27 +0200 <tomsmeding> nah find just returns the first match, if one exists, while filter returns all matches
2021-08-15 15:03:31 +0200 <tomsmeding> I was confused for a moment
2021-08-15 15:04:30 +0200 <thyriaen> tomsmeding, yes - thanks so much ! it worked
2021-08-15 15:04:47 +0200 <thyriaen> dang it i love haskell
2021-08-15 15:05:04 +0200 <tomsmeding> :)
2021-08-15 15:06:05 +0200 <albet70> like Maybe Either can break computation chain of >>=, Read can pass input in it, Writer can append log in it, State can do both, and Cont can jump back to somewhere in it, why Cont can do this?
2021-08-15 15:06:48 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 272 seconds)
2021-08-15 15:07:07 +0200 <albet70> and Traverse can do early exit
2021-08-15 15:25:16 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 15:27:11 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 15:28:29 +0200son0p(~ff@181.136.122.143) (Ping timeout: 258 seconds)
2021-08-15 15:28:54 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-08-15 15:29:52 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
2021-08-15 15:30:39 +0200Pickchea(~private@user/pickchea)
2021-08-15 15:30:54 +0200frosky(~froskyarr@50.7.59.207)
2021-08-15 15:34:49 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
2021-08-15 15:35:25 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Remote host closed the connection)
2021-08-15 15:36:09 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 15:38:03 +0200Pickchea(~private@user/pickchea) (Ping timeout: 268 seconds)
2021-08-15 15:40:09 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-15 15:40:36 +0200hendursaga(~weechat@user/hendursaga)
2021-08-15 15:40:45 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
2021-08-15 15:41:08 +0200fendor(~fendor@178.115.35.166.wireless.dyn.drei.com) (Remote host closed the connection)
2021-08-15 15:45:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 15:46:43 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-08-15 15:47:07 +0200lavaman(~lavaman@98.38.249.169)
2021-08-15 15:50:30 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-15 15:51:29 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
2021-08-15 15:54:50 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-15 15:57:30 +0200fendor(~fendor@178.115.35.166.wireless.dyn.drei.com)
2021-08-15 16:01:14 +0200xff0x(~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) (Ping timeout: 252 seconds)
2021-08-15 16:04:20 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 16:13:34 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 16:16:01 +0200Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 248 seconds)
2021-08-15 16:22:08 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 252 seconds)
2021-08-15 16:23:29 +0200xff0x(~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e)
2021-08-15 16:33:51 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:a0f9:2ba0:ff0:86b4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-15 16:36:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 16:40:02 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
2021-08-15 16:41:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-15 16:43:02 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 16:43:54 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-08-15 16:46:25 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-15 16:46:43 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-15 16:48:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-15 16:52:44 +0200keutoi(~keutoi@157.47.6.195) (Quit: leaving)
2021-08-15 16:54:52 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 16:57:20 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-08-15 16:58:16 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
2021-08-15 16:59:10 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 17:00:47 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 17:04:20 +0200 <tomsmeding> maerwald[m]: HLS seems to just work for 8.10.6 if you manually compile it? like, literally 'cabal build'?
2021-08-15 17:04:36 +0200tomsmedingsurprised pikachu face
2021-08-15 17:07:43 +0200CnnibisIndica(~herb@user/mesaboogie)
2021-08-15 17:08:53 +0200CnnibisIndicaCannabisIndica
2021-08-15 17:09:14 +0200sam93(~sam@117.210.134.230)
2021-08-15 17:10:01 +0200markpythonicbitc(~markpytho@50.228.44.6)
2021-08-15 17:11:55 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 17:12:11 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
2021-08-15 17:13:10 +0200sam93(~sam@117.210.134.230) (Client Quit)
2021-08-15 17:13:58 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
2021-08-15 17:15:20 +0200alx741(~alx741@186.178.108.32) (Quit: alx741)
2021-08-15 17:15:45 +0200fabfianda(~fabfianda@mob-5-91-124-63.net.vodafone.it) (Ping timeout: 248 seconds)
2021-08-15 17:16:06 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-15 17:16:58 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 258 seconds)
2021-08-15 17:17:21 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-15 17:21:42 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-08-15 17:23:09 +0200 <maerwald> ya
2021-08-15 17:24:40 +0200 <tomsmeding> had already rebuilt the world before realising that there was no HLS release for 8.10.6
2021-08-15 17:24:47 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 17:24:57 +0200 <tomsmeding> then just tried yolo'ing the build and it worked :p
2021-08-15 17:28:27 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 245 seconds)
2021-08-15 17:29:58 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2021-08-15 17:30:29 +0200benin036932(~benin@183.82.205.178)
2021-08-15 17:31:08 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2021-08-15 17:31:12 +0200acidjnk_new(~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-08-15 17:32:23 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
2021-08-15 17:34:11 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2021-08-15 17:34:24 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 17:34:25 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 17:34:41 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Remote host closed the connection)
2021-08-15 17:34:55 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 17:35:02 +0200alx741(~alx741@186.178.108.32)
2021-08-15 17:35:13 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 17:39:12 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
2021-08-15 17:39:42 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Ping timeout: 245 seconds)
2021-08-15 17:40:26 +0200fabfianda(~fabfianda@37.183.255.57)
2021-08-15 17:44:38 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-15 17:44:44 +0200fabfianda(~fabfianda@37.183.255.57) (Read error: Connection reset by peer)
2021-08-15 17:45:21 +0200fabfianda(~fabfianda@37.183.255.57)
2021-08-15 17:46:30 +0200acidjnk_new(~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de)
2021-08-15 17:48:27 +0200lavaman(~lavaman@98.38.249.169)
2021-08-15 17:51:42 +0200hoknamahn(~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net)
2021-08-15 17:53:18 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-08-15 17:59:20 +0200hoknamahn(~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) (Quit: Konversation terminated!)
2021-08-15 17:59:41 +0200hoknamahn(~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net)
2021-08-15 18:01:10 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-15 18:01:15 +0200 <maerwald> every time I use doctest I regret it
2021-08-15 18:01:41 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 18:03:26 +0200econo(uid147250@user/econo)
2021-08-15 18:06:01 +0200 <fvr> There is cabal-docspec
2021-08-15 18:06:02 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 18:06:07 +0200 <fvr> I have never used it though
2021-08-15 18:07:13 +0200 <hoknamahn> hi guys, I have a FFI related question. There is a C function like void c_test(int **iptr); I want to call this function from Haskell passing to it an address of Ptr CInt (in C it would be a call c_test(&iptr)). The question is how do I get an address?
2021-08-15 18:07:13 +0200 <maerwald> yeah, looking at the documentation I don't even know what it does
2021-08-15 18:07:48 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-08-15 18:08:03 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de)
2021-08-15 18:09:37 +0200 <fvr> Streamly moved from doctest to cabal-docspec I forgot why
2021-08-15 18:09:51 +0200 <maerwald> cabal-doctest you mean
2021-08-15 18:09:57 +0200 <maerwald> that's marked deprecated on hackage
2021-08-15 18:10:05 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-15 18:10:06 +0200 <xsperry> hoknamahn, allocate Ptr (Ptr Int), pass it to c_test, then use one of the peek* functions to dereference it
2021-08-15 18:10:30 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-15 18:11:20 +0200 <fvr> No cabal-docspec
2021-08-15 18:11:55 +0200 <hoknamahn> xsperry, should I use alloca for that?
2021-08-15 18:12:36 +0200 <fvr> maerwald: https://github.com/phadej/cabal-extras/blob/master/cabal-docspec/MANUAL.md
2021-08-15 18:12:47 +0200 <maerwald> it's a mess
2021-08-15 18:12:54 +0200 <maerwald> doctest has really bad ux
2021-08-15 18:13:47 +0200 <xsperry> hoknamahn, one of the alloca* functions yes. what does the function do?
2021-08-15 18:13:53 +0200 <xsperry> c_test
2021-08-15 18:14:15 +0200wonko(~wjc@62.115.229.50)
2021-08-15 18:14:18 +0200 <hoknamahn> basically it will allocate an array of strings and pass it back to haskell
2021-08-15 18:14:37 +0200 <hoknamahn> at the moment i'm playing with FFI to figure out how to do it
2021-08-15 18:14:44 +0200 <xsperry> an array of strings, but it accepts int **?
2021-08-15 18:15:15 +0200 <tomsmeding> hoknamahn: in haskell, you'll have to do the equivalent of the C code: int **ptr = malloc(sizeof(int*)); c_test(ptr); do_something_with(ptr); free(ptr);
2021-08-15 18:15:22 +0200 <hoknamahn> i'm testing. at the moment it will allocate just 1 int in memory and return a pointer to it
2021-08-15 18:15:27 +0200 <tomsmeding> where the malloc and free are both done using alloca
2021-08-15 18:15:33 +0200 <xsperry> anyway, if the function modifies int * refered ot by int **, then just alloca will do
2021-08-15 18:17:22 +0200 <hoknamahn> what i need is C function allocating memory and returning a pointer to it. haskell should consume that memory
2021-08-15 18:18:21 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-08-15 18:18:29 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-15 18:18:59 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-15 18:19:00 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de)
2021-08-15 18:21:47 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-15 18:21:48 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-15 18:21:51 +0200allbery_bgeekosaur
2021-08-15 18:22:31 +0200 <fvr> hoknamahn: create a Haskell function to call your function, look at mallocBytes in base
2021-08-15 18:22:33 +0200 <tomsmeding> hoknamahn: think about what your code would look like in C, but without using & -- instead, you allocate some memory using malloc/free. Then convert all the malloc/free pairs in your hypothetical implementation to haskell's alloca
2021-08-15 18:26:59 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 18:28:11 +0200Pickchea(~private@user/pickchea)
2021-08-15 18:30:47 +0200 <hoknamahn> tomsmeding: thanks, i think i see what you mean.
2021-08-15 18:32:34 +0200acidjnk_new(~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-08-15 18:32:40 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-08-15 18:33:05 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-15 18:33:30 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2021-08-15 18:33:31 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) (Client Quit)
2021-08-15 18:34:15 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 18:38:16 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 18:39:20 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-15 18:42:41 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-15 18:45:15 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 18:48:14 +0200kuribas(~user@ptr-25vy0iaezbxroyr1ffb.18120a2.ip6.access.telenet.be)
2021-08-15 18:52:36 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 18:54:09 +0200Pickchea(~private@user/pickchea) (Ping timeout: 268 seconds)
2021-08-15 18:56:16 +0200Xnuk(~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
2021-08-15 18:56:24 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-15 18:56:32 +0200Xnuk(~xnuk@vultr.xnu.kr)
2021-08-15 18:57:54 +0200euandreh(~euandreh@2804:14c:33:9fe5:8577:297f:c78a:d1b2)
2021-08-15 19:01:10 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 19:03:23 +0200jespada(~jespada@90.254.247.46) (Ping timeout: 268 seconds)
2021-08-15 19:03:51 +0200shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net)
2021-08-15 19:04:38 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds)
2021-08-15 19:05:48 +0200jespada(~jespada@90.254.247.46)
2021-08-15 19:06:15 +0200tripoli(~tripoli@69.233.98.238)
2021-08-15 19:06:59 +0200pgib(~textual@173.38.117.66) (Ping timeout: 258 seconds)
2021-08-15 19:07:05 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-15 19:07:34 +0200__monty__(~toonn@user/toonn)
2021-08-15 19:07:44 +0200robertm(robertm@rojoma.com) (Quit: WeeChat 2.3)
2021-08-15 19:09:44 +0200robertm(robertm@rojoma.com)
2021-08-15 19:11:35 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-15 19:12:20 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) (Client Quit)
2021-08-15 19:16:16 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds)
2021-08-15 19:17:11 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-15 19:19:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-15 19:22:30 +0200vysn(~vysn@user/vysn)
2021-08-15 19:23:35 +0200jumper149(~jumper149@80.240.31.34)
2021-08-15 19:25:00 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 19:27:09 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 19:28:33 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-15 19:30:20 +0200 <energizer> anybody know what "structural function types" refers to?
2021-08-15 19:30:59 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 19:31:14 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 19:32:47 +0200roboguy_(~roboguy_@2605:a601:afe7:9f00:789f:7a:b395:5977)
2021-08-15 19:33:17 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-15 19:33:46 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-15 19:33:48 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-15 19:36:46 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 19:37:16 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-08-15 19:37:38 +0200vysn(~vysn@user/vysn)
2021-08-15 19:38:02 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-15 19:40:56 +0200 <hololeap> energizer: context?
2021-08-15 19:41:11 +0200 <energizer> hololeap: https://github.com/thautwarm/HigherKindedPolymorphisms.jl
2021-08-15 19:41:21 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Ping timeout: 248 seconds)
2021-08-15 19:42:48 +0200 <hololeap> *shrugs* some julia thing?
2021-08-15 19:45:14 +0200Pickchea(~private@user/pickchea)
2021-08-15 19:45:28 +0200roboguy_(~roboguy_@2605:a601:afe7:9f00:789f:7a:b395:5977) ()
2021-08-15 19:45:56 +0200 <cdsmith> Hmm, in C++ I can write a template that can be instantiated with any type, but works differently if the argument type is showable. Any hack to do the same for a polymorphic method in Haskell? Is that something a rewrite rule could do?
2021-08-15 19:47:35 +0200 <opqdonut> rewrite rules are meant to be used for semantics-preserving optimizations, so no
2021-08-15 19:47:39 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-08-15 19:47:55 +0200 <cdsmith> I'm not so concerned with what they are meant for. I'm being evil here...
2021-08-15 19:48:02 +0200vysn(~vysn@user/vysn)
2021-08-15 19:48:43 +0200 <opqdonut> I wonder if you could do something like use OverlappingInstances and have a something like `instance MyThing a where stringify x = "<unshowable>"; instance Show a => MyThing a where stringify x = show x`
2021-08-15 19:49:02 +0200 <opqdonut> probably not since those instances are equal in terms of instance resolution, the class contexts don't get used at that point...
2021-08-15 19:49:06 +0200 <cdsmith> This is an "optimization" in spirit... it's just an optimization for the programmer by seeing better test failure messages.
2021-08-15 19:49:25 +0200 <cdsmith> Yeah, I don't think the class approach works.
2021-08-15 19:50:17 +0200 <hololeap> wouldn't it work if you swapped the order of those two instances?
2021-08-15 19:50:19 +0200 <opqdonut> a google search leads me here via stackoverflow: https://github.com/mikeizbicki/ifcxt
2021-08-15 19:50:42 +0200 <opqdonut> so a ConstraintKinds trick
2021-08-15 19:54:37 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: Weechat 3.2)
2021-08-15 19:55:31 +0200jao(jao@gateway/vpn/protonvpn/jao)
2021-08-15 20:01:43 +0200 <tomsmeding> right, so make an instance (IfCtx (Show a)) for all 'a' that have a Show instance
2021-08-15 20:01:51 +0200 <tomsmeding> that's... verbose
2021-08-15 20:02:22 +0200 <tomsmeding> you don't even need ConstraintKinds to apply this trick
2021-08-15 20:02:38 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-08-15 20:03:17 +0200 <tomsmeding> opqdonut's MyThing could work just fine; indeed, if you enumerate all showable types and make an OVERLAPS instance for all of them, and then add an OVERLAPPABLE default one that does the non-Show thing, then it would work fine
2021-08-15 20:03:30 +0200Neuromancer(~Neuromanc@user/neuromancer)
2021-08-15 20:04:03 +0200 <tomsmeding> cdsmith: can the method you're talking about be a template haskell splice itself?
2021-08-15 20:04:33 +0200 <opqdonut> yeah that's a good idea
2021-08-15 20:04:36 +0200 <tomsmeding> if so, then I believe you can do this with TH by querying in-scope instances at usage site
2021-08-15 20:04:40 +0200 <opqdonut> yeah
2021-08-15 20:05:28 +0200 <opqdonut> that might work differently in polymorphic contexts though
2021-08-15 20:05:40 +0200 <tomsmeding> true
2021-08-15 20:06:00 +0200 <tomsmeding> but, like, in polymorphic contexts where will you magick up a type class dictionary from at runtime
2021-08-15 20:06:31 +0200 <tomsmeding> someone has asked about this before, and then and now I immediatealy think of Typeable
2021-08-15 20:06:54 +0200 <tomsmeding> but I believe the executable doesn't have any embedded information of the classes that a particular Typeable type implements
2021-08-15 20:10:05 +0200 <tomsmeding> oooooh, make a list of known (Show a, Typeable a) types using templatehaskell, and embed a list in the application containing a list of Thingy, where data Thingy = forall a. (Show a, Typeable a) => Thingy (TypeRep a)
2021-08-15 20:10:08 +0200markpythonicbitc(~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-15 20:10:17 +0200 <tomsmeding> where that TypeRep comes from Type.Reflection, not Data.Typeable
2021-08-15 20:10:19 +0200 <hololeap> there's also the solution of making a Showable newtype and then: instance {-# OVERLAPPING #-} Show a => MyThing (Showable a)
2021-08-15 20:10:59 +0200 <tomsmeding> and then inside of the method in question, loop over that list comparing all the TypeReps, and if there's a match you get the Show dictionary from there
2021-08-15 20:11:02 +0200 <hololeap> then you don't get the duplicate instance declarations error
2021-08-15 20:11:25 +0200 <opqdonut> hololeap: that's kinda what quickcheck does, except it has a newtype for unshowable things
2021-08-15 20:12:07 +0200 <hololeap> there's also all this: https://wiki.haskell.org/GHC/AdvancedOverlap
2021-08-15 20:12:09 +0200 <opqdonut> https://hackage.haskell.org/package/QuickCheck-2.14.2/docs/Test-QuickCheck-Modifiers.html#t:Blind
2021-08-15 20:12:15 +0200 <tomsmeding> hololeap: how would that allow you do determine whether a particular type 'a' implements Show at runtime?
2021-08-15 20:13:08 +0200 <opqdonut> wow that's a nice wiki page
2021-08-15 20:13:19 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-15 20:14:38 +0200 <hololeap> tomsmeding: why would it need to be known at runtime? wouldn't the compiler catch it first?
2021-08-15 20:14:42 +0200 <tomsmeding> oh that's smart; you still need the instance enumeration but then you're done and it's all nice haskell
2021-08-15 20:15:30 +0200 <tomsmeding> hololeap: the point (I think) is that we have a method 'foo :: a -> Something' that wants to call foo1 when 'a' is Show, and foo2 otherwise
2021-08-15 20:15:37 +0200 <tomsmeding> how would you implement foo using your thing?
2021-08-15 20:16:27 +0200hseg(~gesh@IGLD-84-228-238-79.inter.net.il)
2021-08-15 20:16:48 +0200 <tomsmeding> I used the word "runtime" because you might still want this to work if foo is used in a polymorphic context, but then later indirectly gets applied to a concrete, Showable type
2021-08-15 20:17:22 +0200 <tomsmeding> the wiki version actually wouldn't compile in that situation, I think, because in that polymorphic context, no ShowPred instance could be chosen
2021-08-15 20:17:22 +0200 <hololeap> idk, this is what I was playing around with, and it seems to work fine when I load it in GHCi: https://dpaste.com/DMPY66STS
2021-08-15 20:18:14 +0200 <tomsmeding> hololeap: would you need to manually wrap the argument in Showable as the caller of foo, with your thing?
2021-08-15 20:18:24 +0200 <hololeap> yeah
2021-08-15 20:18:32 +0200 <tomsmeding> right, and that's precisely the thing that I was trying to avoid
2021-08-15 20:18:45 +0200 <hseg> just ran into the "would be able to make an instance for this class if I could add constraints to some methods" annoyance again. are there any proposals being considered that would make it easier to refactor classes so they could support such instances?
2021-08-15 20:18:58 +0200 <tomsmeding> because if you can manually type Showable, then you can also manually type fooShow instead of foo
2021-08-15 20:19:09 +0200 <hseg> (classic example: FAM for map-like types)
2021-08-15 20:19:27 +0200 <hololeap> tomsmeding: fair point
2021-08-15 20:19:31 +0200 <hseg> (in this case, it's a Witherable instance for map-like types)
2021-08-15 20:20:14 +0200 <tomsmeding> hseg: there is mono-traversable but that's probably not what you're looking for
2021-08-15 20:20:24 +0200 <tomsmeding> since you come asking
2021-08-15 20:21:04 +0200 <tomsmeding> that exposes non-type-changing methods like fmap :: (a -> a) -> f a -> f a
2021-08-15 20:21:10 +0200 <hseg> no, am asking for the general "will writing classes to support such restrictions become easy enough that I can reasonably push library authors for it"
2021-08-15 20:21:11 +0200 <tomsmeding> (s/fmap/omap/)
2021-08-15 20:21:38 +0200 <tomsmeding> ah, then no idea
2021-08-15 20:23:34 +0200Neuromancer(~Neuromanc@user/neuromancer) (Ping timeout: 268 seconds)
2021-08-15 20:24:02 +0200 <hseg> like, you could unify (Mono)Functor by defining a Functor (-->) (~~>) f where { map :: (a --> b) -> (f a ~~> f b) }, and then instantiate (-->), (~~>) as constrained arrow types
2021-08-15 20:24:58 +0200 <tomsmeding> where (-->) and (~~>) implement some class so that they can be called as functions by the implementation of 'map'?
2021-08-15 20:25:07 +0200 <hseg> so for MonoFunctor, pass for (-->) something like data MonoidC a b where arrMonoid :: a -> a -> MonoidC a a
2021-08-15 20:25:12 +0200 <hseg> y
2021-08-15 20:25:14 +0200 <tomsmeding> (well, only -->)
2021-08-15 20:25:29 +0200 <hseg> well, depending on your usecase
2021-08-15 20:25:30 +0200sagax(~sagax@213.138.71.146) (Ping timeout: 240 seconds)
2021-08-15 20:25:44 +0200 <hseg> like, you could subsume Witherable into Functor with this
2021-08-15 20:25:54 +0200 <hseg> by setting ~~> ~ Kleisli Maybe
2021-08-15 20:26:56 +0200 <hseg> ofc, at a certain point too much overloading is unclear -- a key point in good design is separating what must be separated, not just unifying what should be unified
2021-08-15 20:27:11 +0200 <tomsmeding> without additional language support, this would make calling 'map' quite a bit more cumbersome for the non-(->) cases
2021-08-15 20:28:36 +0200 <hseg> yeah. might want some specializations/coercions to help use this
2021-08-15 20:29:04 +0200 <hseg> though ig kmett's hask is aiming to go for this
2021-08-15 20:29:05 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2021-08-15 20:29:14 +0200 <hseg> *this design
2021-08-15 20:29:21 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 248 seconds)
2021-08-15 20:29:40 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-15 20:29:42 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-15 20:30:05 +0200 <hseg> still leaves the question open of whether some parts design can/should be pushed into base, and what kind of timescale we're looking at if so
2021-08-15 20:33:12 +0200euandreh(~euandreh@2804:14c:33:9fe5:8577:297f:c78a:d1b2) (Quit: WeeChat 3.2)
2021-08-15 20:36:35 +0200HeisenLearnsHask(~HeisenLea@2a02:aa1:1010:e9f8:2cf9:9af4:b41e:73e9)
2021-08-15 20:48:46 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-15 20:52:41 +0200HeisenLearnsHask(~HeisenLea@2a02:aa1:1010:e9f8:2cf9:9af4:b41e:73e9) (Quit: Ping timeout (120 seconds))
2021-08-15 20:54:57 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-15 20:55:21 +0200MQ-17J(~MQ-17J@8.6.144.209)
2021-08-15 20:56:14 +0200mrckndt(~mrckndt@user/mrckndt)
2021-08-15 20:57:09 +0200mt404(~mt404@cpe1056118081ac-cm1056118081aa.cpe.net.cable.rogers.com) ()
2021-08-15 20:57:28 +0200adium_(adium@user/adium) (Remote host closed the connection)
2021-08-15 20:59:37 +0200 <kuribas> Is haskell the only language where you mess around two hours, and end up with 20 lines of code?
2021-08-15 21:00:15 +0200 <kuribas> It's crazy how you end up with deceivingly simple code (especially using generics).
2021-08-15 21:00:26 +0200 <kuribas> That looks like it took 5 minutes.
2021-08-15 21:00:26 +0200 <hseg> >:)
2021-08-15 21:00:52 +0200 <tomsmeding> kuribas: https://github.com/Co-dfns/Co-dfns/tree/master/cmp
2021-08-15 21:01:21 +0200 <kuribas> tomsmeding: I don't even know what that is?
2021-08-15 21:01:25 +0200 <tomsmeding> a compiler
2021-08-15 21:01:39 +0200 <tomsmeding> see the readme in the root
2021-08-15 21:01:51 +0200 <kuribas> ahhhh APL :)
2021-08-15 21:01:55 +0200 <tomsmeding> :D
2021-08-15 21:02:42 +0200 <tomsmeding> oh it seems there's more stuff here apparently https://github.com/Co-dfns/Co-dfns/blob/master/codfns.dyalog
2021-08-15 21:03:02 +0200 <tomsmeding> but yeah, point was lots of stuff in few lines :p
2021-08-15 21:03:19 +0200Arthur(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
2021-08-15 21:03:23 +0200 <kuribas> tomsmeding: but I am not even try to code golf it...
2021-08-15 21:03:36 +0200 <tomsmeding> I know, it was not a very serious response :)
2021-08-15 21:03:38 +0200Arthur(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit)
2021-08-15 21:04:40 +0200 <tomsmeding> I guess it mostly depends on what you're doing though. I can spend 2 hours on 50 lines of C code if it's a complicated algorithm and I want to get every detail right
2021-08-15 21:04:56 +0200 <tomsmeding> (I replaced 20 with 50 because haskell is more concise than C, but same thing)
2021-08-15 21:05:16 +0200 <tomsmeding> I once spent a day on a 100-line recursive mutex implementation in C++
2021-08-15 21:05:38 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 21:05:50 +0200 <kuribas> but does the C++ code look simple?
2021-08-15 21:06:11 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
2021-08-15 21:06:13 +0200 <kuribas> It took me two hours to end up with: genCollectFields tables sqid $ splitTranspActMaybe curry prev $ lookupFeature tables sqid
2021-08-15 21:06:16 +0200 <tomsmeding> depends on what you call simple :p
2021-08-15 21:06:34 +0200 <tomsmeding> that looks very complicated to me, given that I don't know what those functions do :p
2021-08-15 21:06:46 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-15 21:06:54 +0200 <tomsmeding> if you know what the functions do, it probably looks very simple
2021-08-15 21:07:26 +0200 <kuribas> it does if you have an IDE that shows the types.
2021-08-15 21:07:45 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit)
2021-08-15 21:07:58 +0200 <tomsmeding> the individual operations in that C++ code were quite simple -- no long lines anywhere -- but the code was _very_ complex simply because it tried to do locking right in a multithreading context, and there some delicate things in there
2021-08-15 21:08:25 +0200adium(adium@user/adium)
2021-08-15 21:08:28 +0200 <tomsmeding> the only complex thing was the comments, so to speak :)
2021-08-15 21:08:36 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-08-15 21:09:06 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-15 21:09:53 +0200mei(~mei@user/mei) (Ping timeout: 248 seconds)
2021-08-15 21:09:57 +0200 <kuribas> sounds very tricky indeed
2021-08-15 21:10:50 +0200vysn(~vysn@user/vysn)
2021-08-15 21:11:40 +0200 <tomsmeding> haskell does tend to invite fiddling with abstractions more than other languages do, simply because they're closer at hand, I guess :)
2021-08-15 21:11:51 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:5f5:523b:3c0:9fe)
2021-08-15 21:12:06 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
2021-08-15 21:12:16 +0200 <tomsmeding> and fiddling with abstractions means writing and re-writing the same code until it has the structure you want, and repeated code-rewriting has the effect of producing little code in the end
2021-08-15 21:12:25 +0200 <tomsmeding> perhaps that?
2021-08-15 21:13:11 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Client Quit)
2021-08-15 21:13:24 +0200 <kuribas> yes
2021-08-15 21:13:40 +0200 <kuribas> But also, generics are very hard to write, but usually end up with little code.
2021-08-15 21:14:11 +0200 <kuribas> It's all induction anyway, but getting the type variables and recursion right is tricky.
2021-08-15 21:14:22 +0200 <tomsmeding> perhaps C++ templates move into this direction?
2021-08-15 21:14:25 +0200 <[exa]> re fiddling, layered generic abstractions have pretty much lower chance to break without a compile error than in other languages. That's rewarding.
2021-08-15 21:14:32 +0200 <tomsmeding> also hard to write, but not necessarily producing much code in the end
2021-08-15 21:14:39 +0200 <monochrom> Haskell is not the only language in which I mess around two hours and get only 20 lines.
2021-08-15 21:15:05 +0200 <monochrom> I'm making exam questions. It takes 2 hours of messing around before I get 20 lines, too.
2021-08-15 21:15:15 +0200 <kuribas> monochrom: which language?
2021-08-15 21:15:22 +0200 <monochrom> English?
2021-08-15 21:15:49 +0200 <monochrom> It holds for Haskell exams, C & Unix exams, and data structure theoretical exams.
2021-08-15 21:15:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 21:16:04 +0200 <[exa]> if english counts, I should start making stats from the papers we write
2021-08-15 21:16:21 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
2021-08-15 21:16:34 +0200hseg(~gesh@IGLD-84-228-238-79.inter.net.il) (Quit: WeeChat 3.2)
2021-08-15 21:18:25 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 244 seconds)
2021-08-15 21:21:18 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-08-15 21:21:36 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-15 21:23:30 +0200HeisenLearnsHask(~HeisenLea@2a02:aa1:1010:e9f8:bc74:fed2:1f26:4c60)
2021-08-15 21:23:34 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Quit: arthur_melo)
2021-08-15 21:23:51 +0200 <HeisenLearnsHask> intercalate' :: [a] -> [[a]] -> [[a]]
2021-08-15 21:23:52 +0200 <HeisenLearnsHask> intercalate' _ [] = []
2021-08-15 21:23:52 +0200 <HeisenLearnsHask> intercalate' x (y:ys) = y:x:intercalate' x ys
2021-08-15 21:23:53 +0200 <HeisenLearnsHask> intercalate'' = concat . intercalate'
2021-08-15 21:24:12 +0200 <kuribas> HeisenLearnsHask: use pastebin?
2021-08-15 21:24:15 +0200 <HeisenLearnsHask> Can someone help me why I can't concat this?
2021-08-15 21:24:20 +0200 <HeisenLearnsHask> Oh sorry will do.
2021-08-15 21:24:26 +0200 <tomsmeding> (concat .) . intercalate'
2021-08-15 21:24:54 +0200 <tomsmeding> if you have (f :: a -> b) and (g :: b -> c), then you can do (g . f :: a -> c)
2021-08-15 21:25:02 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 21:25:14 +0200vysn(~vysn@user/vysn)
2021-08-15 21:25:16 +0200 <tomsmeding> here, however, your f (which is intercalate') has type (a -> b -> c) and your g (concat) has type (c -> d)
2021-08-15 21:26:02 +0200 <tomsmeding> written out, the first is \x -> g (f x), and the second is \x y -> g (f x y)
2021-08-15 21:26:05 +0200 <tomsmeding> see the difference?
2021-08-15 21:26:28 +0200thelounge9230681(~thelounge@cpe-75-85-161-60.san.res.rr.com)
2021-08-15 21:26:41 +0200vysn(~vysn@user/vysn) (Client Quit)
2021-08-15 21:27:28 +0200 <monochrom> And "a -> b -> c" means "a -> foo, oh foo expands to b -> c", not "(a,b) -> c".
2021-08-15 21:28:26 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 258 seconds)
2021-08-15 21:28:34 +0200 <tomsmeding> yeah: '\x y -> g (f x y)' is really shorthand for '\x -> (\y -> g (f x y))'
2021-08-15 21:29:50 +0200 <tomsmeding> is there a webpage or something that clearly explains this issue of why using (.) with a two-argument function doesn't work like one might want?
2021-08-15 21:30:07 +0200 <tomsmeding> it's a common question, it seems
2021-08-15 21:30:08 +0200xff0x(~xff0x@2001:1a81:52ed:2b00:c854:bd3b:6fb8:2f1e) (Ping timeout: 252 seconds)
2021-08-15 21:30:27 +0200 <dsal> I've run into it a few times and just moved on without thinking about it too much. I'd read that web page someday.
2021-08-15 21:30:32 +0200 <tomsmeding> (which makes sense -- if you aren't yet familiar with how function types work in haskell, it's kind of opaque)
2021-08-15 21:30:40 +0200xff0x(~xff0x@2001:1a81:52ed:2b00:dae0:b3ed:9593:292a)
2021-08-15 21:35:12 +0200thelounge9230681(~thelounge@cpe-75-85-161-60.san.res.rr.com) (Quit: The Lounge - https://thelounge.chat)
2021-08-15 21:36:10 +0200 <monochrom> It can't be helped. Human nature always first consult "intuitive conceptual moral sounds-right first instinct", trying to procrastinate actually looking up and following actual rules.
2021-08-15 21:36:24 +0200 <tomsmeding> makes sense!
2021-08-15 21:36:34 +0200 <tomsmeding> I'm just looking for a link to dump whenever someone asks this here :p
2021-08-15 21:36:57 +0200 <monochrom> Conceptually . is a piping. Conceptually $ saves parentheses. Very attractive stories to tell and hear.
2021-08-15 21:37:27 +0200ubert(~Thunderbi@178.115.55.14.wireless.dyn.drei.com)
2021-08-15 21:39:40 +0200 <dsal> Yeah. Stop making me think about what I'm doing.
2021-08-15 21:40:32 +0200 <monochrom> But there is not much more to explain than "you have (g::X->Y) . (f::A->(B->X)), B->X doesn't match with X".
2021-08-15 21:40:54 +0200 <tomsmeding> except then in a more accessible form with more examples :p
2021-08-15 21:42:52 +0200thelounge9230681(~thelounge@cpe-75-85-161-60.san.res.rr.com)
2021-08-15 21:42:58 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-15 21:44:55 +0200MQ-17J(~MQ-17J@8.6.144.209) (Ping timeout: 258 seconds)
2021-08-15 21:45:33 +0200lavaman(~lavaman@98.38.249.169)
2021-08-15 21:48:08 +0200thyriaen(~thyriaen@dynamic-089-012-237-250.89.12.pool.telefonica.de) (Remote host closed the connection)
2021-08-15 21:49:12 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-15 21:49:34 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-15 21:50:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-15 21:56:24 +0200Neuromancer(~Neuromanc@user/neuromancer)
2021-08-15 22:00:28 +0200 <dsal> Yeah. It's pretty easy to work out the understanding.
2021-08-15 22:00:29 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-15 22:01:40 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-08-15 22:01:44 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 22:01:50 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-15 22:04:20 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-08-15 22:05:18 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 268 seconds)
2021-08-15 22:06:32 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100) (Ping timeout: 268 seconds)
2021-08-15 22:07:29 +0200juhp(~juhp@128.106.188.220)
2021-08-15 22:08:07 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-15 22:09:00 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-15 22:15:23 +0200zephyz(~zephyz@156.146.63.16)
2021-08-15 22:16:40 +0200 <zephyz> Hi there, I'm having issue with the singletons-th and singletons-base libraries, here is the error I get and the code I've written under it https://paste.tomsmeding.com/vj2xh7XX
2021-08-15 22:17:01 +0200ubert(~Thunderbi@178.115.55.14.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-08-15 22:17:31 +0200 <zephyz> It look slike singletons-th is generating the wrong names, or at least names that are not compatible with singletons-base, how can I fix that?
2021-08-15 22:22:02 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) (Ping timeout: 256 seconds)
2021-08-15 22:22:23 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 252 seconds)
2021-08-15 22:24:14 +0200 <HeisenLearnsHask> Hello could someone help me? I want to solve it with where binding not lambda. https://pastebin.com/TyVAsm9i
2021-08-15 22:25:30 +0200 <tomsmeding> HeisenLearnsHask: did you see our discussion of your question above?
2021-08-15 22:25:33 +0200 <monochrom> dropWhile (\x -> f x < 1000)
2021-08-15 22:26:21 +0200notzmv(~zmv@user/notzmv)
2021-08-15 22:30:13 +0200HeisenLearnsHask(~HeisenLea@2a02:aa1:1010:e9f8:bc74:fed2:1f26:4c60) (Quit: Client closed)
2021-08-15 22:30:48 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-15 22:31:21 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
2021-08-15 22:32:00 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com)
2021-08-15 22:37:42 +0200o1lo01ol1o(~o1lo01ol1@31.22.129.100)
2021-08-15 22:37:54 +0200 <monochrom> Or define your own .< operator as g .< n = \x -> g x < n, then you can use f .< 1000
2021-08-15 22:38:23 +0200 <monochrom> At which point it's abstraction overdose to rationalize a misguided intuition.
2021-08-15 22:42:14 +0200acidjnk_new(~acidjnk@p200300d0c72b9503f052fac21b551e32.dip0.t-ipconnect.de)
2021-08-15 22:46:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
2021-08-15 22:46:25 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-15 22:46:37 +0200vysn(~vysn@user/vysn)
2021-08-15 22:46:59 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-15 22:49:42 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-15 22:54:31 +0200oxide(~lambda@user/oxide)
2021-08-15 22:54:50 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-08-15 22:55:47 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-15 22:56:45 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-08-15 22:58:37 +0200vysn(~vysn@user/vysn)
2021-08-15 22:59:18 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
2021-08-15 22:59:59 +0200vysn(~vysn@user/vysn) (Client Quit)
2021-08-15 23:00:23 +0200vysn(~vysn@user/vysn)
2021-08-15 23:03:44 +0200 <dsal> `f .< 1000` looks like `f` is yelling `one thousand` at someone.
2021-08-15 23:04:14 +0200 <tomsmeding> but it is! Don't you hear it?
2021-08-15 23:04:18 +0200 <dsal> Sometimes it's useful to introduce language like that if it's a very common thing that will need to be understood by anyone reading a thing. Sometimes it's a fun novelty that you'll regret later.
2021-08-15 23:04:35 +0200vysn(~vysn@user/vysn) (Client Quit)
2021-08-15 23:05:12 +0200vysn(~vysn@user/vysn)
2021-08-15 23:05:17 +0200aegon(~mike@174.127.249.180)
2021-08-15 23:06:45 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-08-15 23:07:46 +0200vicfred(~vicfred@user/vicfred)
2021-08-15 23:08:45 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-15 23:09:38 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 258 seconds)
2021-08-15 23:12:29 +0200zephyz(~zephyz@156.146.63.16) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-15 23:13:01 +0200sander(~sander@user/sander) (Quit: So long! :))
2021-08-15 23:13:05 +0200shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 248 seconds)
2021-08-15 23:13:38 +0200chris(~chris@81.96.113.213)
2021-08-15 23:13:41 +0200chrisGuest1842
2021-08-15 23:15:02 +0200sander(~sander@user/sander)
2021-08-15 23:18:43 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-08-15 23:19:42 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-15 23:19:56 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-15 23:20:32 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-15 23:24:33 +0200hoknamahn(~hoknamahn@cpc158487-croy28-2-0-cust310.19-2.cable.virginm.net) (Quit: Konversation terminated!)
2021-08-15 23:25:21 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-15 23:28:02 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 258 seconds)
2021-08-15 23:28:34 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-08-15 23:30:36 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-15 23:32:30 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-15 23:37:57 +0200frosky_(~froskyarr@50.7.59.207)
2021-08-15 23:38:35 +0200arthur_melo_(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757)
2021-08-15 23:39:32 +0200arthur_melo(IRC@gateway/vpn/airvpn/arthurmelo/x-07739757) (Ping timeout: 258 seconds)
2021-08-15 23:39:58 +0200vysn(~vysn@user/vysn)
2021-08-15 23:41:21 +0200frosky(~froskyarr@50.7.59.207) (Ping timeout: 248 seconds)
2021-08-15 23:42:08 +0200jeslie0(~user@108.162.150.9)
2021-08-15 23:44:42 +0200hololeap(~hololeap@user/hololeap) (Quit: Bye)
2021-08-15 23:46:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-15 23:46:42 +0200jneira(~jneira@28.red-80-28-169.staticip.rima-tde.net)
2021-08-15 23:50:36 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-15 23:51:02 +0200oxide(~lambda@user/oxide) (Ping timeout: 258 seconds)
2021-08-15 23:55:00 +0200nsilv(~nsilv@host-79-17-175-58.retail.telecomitalia.it)
2021-08-15 23:55:19 +0200 <nsilv> heya guys, just quickly wanted to ask, you know what the haskell job situation is like in the UK?
2021-08-15 23:56:14 +0200 <dsal> Locations don't really exist anymore. But there are a few jobs I've seen in that area.
2021-08-15 23:56:56 +0200 <nsilv> mostly cause stuff came up, and it's at least somewhat likely I move there next year around this time. But I think i'd need a job beforehand to get a visa
2021-08-15 23:57:28 +0200 <nsilv> since I'm moving there to start from scratch might as well get a haskell job :D