2021/08/17

2021-08-17 00:00:03 +0200 <sm> I mean, i think they're probably equally good
2021-08-17 00:02:10 +0200ubert(~Thunderbi@91.141.62.226.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2021-08-17 00:02:27 +0200glassy(~swil@90.254.122.50) (Quit: Client closed)
2021-08-17 00:03:19 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-17 00:03:48 +0200enoq(~enoq@2a05:1141:1f5:5600:eb83:919c:c248:eabe) (Quit: enoq)
2021-08-17 00:05:01 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-17 00:05:53 +0200matijja(~matijja@193.77.181.201) (Ping timeout: 248 seconds)
2021-08-17 00:08:08 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 00:08:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-17 00:11:44 +0200Unhammer(~Unhammer@user/unhammer) (Ping timeout: 252 seconds)
2021-08-17 00:12:44 +0200matijja(~matijja@193.77.181.201)
2021-08-17 00:12:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-08-17 00:13:46 +0200zebraggzebrag
2021-08-17 00:15:25 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 00:26:12 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-17 00:33:09 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 00:33:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-17 00:33:48 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 00:36:53 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) (Quit: haowenl)
2021-08-17 00:37:00 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2021-08-17 00:37:53 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-17 00:37:57 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-08-17 00:38:40 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-17 00:40:45 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-17 00:41:10 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-08-17 00:41:54 +0200cjb(~cjb@user/cjb)
2021-08-17 00:43:18 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-17 00:44:15 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-08-17 00:44:15 +0200vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2021-08-17 00:44:40 +0200oldsk00l(~znc@ec2-3-123-2-100.eu-central-1.compute.amazonaws.com)
2021-08-17 00:45:22 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-08-17 00:45:44 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 00:50:45 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 00:53:46 +0200tommd(~tommd@cpe-76-179-204-251.maine.res.rr.com)
2021-08-17 00:58:04 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 01:01:42 +0200acidjnk_new3(~acidjnk@p200300d0c72b9586547432ba24659663.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-08-17 01:02:17 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-17 01:08:23 +0200 <arahael> If I wanted to create thumbnails from arbitruary images, what's a good library for me to look at?
2021-08-17 01:09:40 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds)
2021-08-17 01:11:05 +0200 <hpc> juicypixels maybe?
2021-08-17 01:13:54 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-17 01:15:21 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) ()
2021-08-17 01:19:08 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 01:21:55 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 01:27:57 +0200glguy(x@libera/staff/glguy) (Quit: Quit)
2021-08-17 01:28:06 +0200glguy(x@libera/staff/glguy)
2021-08-17 01:30:27 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 245 seconds)
2021-08-17 01:31:48 +0200tommd(~tommd@cpe-76-179-204-251.maine.res.rr.com) (Ping timeout: 268 seconds)
2021-08-17 01:36:21 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 01:41:59 +0200yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat)
2021-08-17 01:42:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-17 01:42:20 +0200 <arahael> hmm, that doesnt appear to offer scaling or resizing.
2021-08-17 01:42:49 +0200yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp)
2021-08-17 01:43:55 +0200 <arahael> oh, doh. i could just use bindings to imagemagick.
2021-08-17 01:48:10 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-08-17 01:49:31 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-17 01:51:54 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-17 01:55:33 +0200dajoer(~david@user/gvx)
2021-08-17 02:03:34 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 02:05:53 +0200dunj3(~dunj3@2001:16b8:30ec:f400:346e:802e:3718:9489) (Remote host closed the connection)
2021-08-17 02:07:17 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer)
2021-08-17 02:07:40 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-08-17 02:12:54 +0200 <Axman6> hmm, years ago I contributed to a library thst used FFTs to resize images, can't remember what it's called though
2021-08-17 02:12:57 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-08-17 02:17:11 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-08-17 02:20:06 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 02:20:57 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 02:24:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-17 02:27:58 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 02:30:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 02:35:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 02:46:27 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 02:49:40 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2021-08-17 02:50:21 +0200boxscape_(~boxscape_@p4ff0b769.dip0.t-ipconnect.de) (Quit: Connection closed)
2021-08-17 02:51:02 +0200boxscape_(~boxscape_@p4ff0b769.dip0.t-ipconnect.de)
2021-08-17 02:57:37 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 03:01:42 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 245 seconds)
2021-08-17 03:04:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-17 03:04:40 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2021-08-17 03:06:07 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-17 03:09:48 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 03:10:40 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2021-08-17 03:11:20 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-17 03:14:12 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-08-17 03:17:04 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 258 seconds)
2021-08-17 03:19:44 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds)
2021-08-17 03:24:56 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-17 03:24:56 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 03:25:10 +0200aman(~aman@user/aman) (Ping timeout: 240 seconds)
2021-08-17 03:25:25 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 03:26:57 +0200aman(~aman@user/aman)
2021-08-17 03:30:53 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 03:34:37 +0200aaron[m]1(~aaronvarg@2001:470:69fc:105::db5e)
2021-08-17 03:34:51 +0200aaron[m]1(~aaronvarg@2001:470:69fc:105::db5e) ()
2021-08-17 03:36:26 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-17 03:39:03 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-17 03:39:59 +0200aarvar(~aaron@2601:602:a080:fa0:67c3:55ee:5aa4:c0b6)
2021-08-17 03:41:22 +0200michalz(~michalz@185.246.204.62) (Ping timeout: 245 seconds)
2021-08-17 03:44:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 03:46:40 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2021-08-17 03:49:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-17 03:50:06 +0200xff0x(~xff0x@2001:1a81:5326:b600:845d:acc9:3c7f:1b89) (Ping timeout: 272 seconds)
2021-08-17 03:51:10 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
2021-08-17 03:51:10 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 03:51:20 +0200xff0x(~xff0x@2001:1a81:535d:2700:c2ae:145d:39da:4349)
2021-08-17 03:52:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 03:53:02 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-17 03:54:07 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-17 03:59:17 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 04:08:11 +0200jess(~jess@libera/staff/jess) (Quit: jumping servers)
2021-08-17 04:08:19 +0200fernand(~fernand@179.156.35.4)
2021-08-17 04:09:05 +0200jess(~jess@libera/staff/jess)
2021-08-17 04:09:54 +0200 <fernand> Hi everyone. I'm not able to download Haskell 8.2.2 for MacOS. The Link is returning 404 not found https://www.haskell.org/platform/download/8.2.2/Haskell%20Platform%208.2.2%20Full%2064bit-signed.pkg Is there a mirror somewhere else?
2021-08-17 04:11:25 +0200 <Axman6> why do you want such an ancient GHC version?
2021-08-17 04:12:17 +0200 <fernand> Axman6 for studying purposes
2021-08-17 04:12:19 +0200 <Axman6> the haskell platform is no longer the recommended way to get set up, as https://www.haskell.org/platform/ suggests
2021-08-17 04:12:39 +0200td_(~td@muedsl-82-207-238-122.citykom.de) (Ping timeout: 258 seconds)
2021-08-17 04:12:47 +0200slack1256(~slack1256@181.203.12.14)
2021-08-17 04:14:30 +0200td_(~td@muedsl-82-207-238-133.citykom.de)
2021-08-17 04:14:30 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 04:14:53 +0200 <fernand> I see. Thanks
2021-08-17 04:14:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 04:15:18 +0200 <Axman6> fernand: do you specifically need an old GHC? There is a very good chance it will not run on newer macOS versions, Apple have a habbit of breaking things in the build tools that cause old compiters to stop working
2021-08-17 04:16:47 +0200boxscape_(~boxscape_@p4ff0b769.dip0.t-ipconnect.de) (Quit: Connection closed)
2021-08-17 04:16:47 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 04:17:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 04:17:33 +0200 <Axman6> just for reference, GHC 8.2.2 was released 2017-11-21
2021-08-17 04:19:06 +0200 <sm> a quick test with stack (`stack setup ghc-8.2.2; stack --resolver ghc-8.2.2 exec -- ghc --version`) looks alright
2021-08-17 04:19:58 +0200 <Axman6> on the latest macOS? Ususally the problems arise when trying to actually compile things
2021-08-17 04:21:20 +0200 <monochrom> To be more sure, you need to try to compile a file that uses CPP.
2021-08-17 04:21:22 +0200 <fernand> I am following an old book and they use this version for their code examples. Just wanted to avoid debugging time while learning.
2021-08-17 04:21:46 +0200 <Axman6> Which book? Any introductory book should hopefully be ok with newer GHCs
2021-08-17 04:21:50 +0200 <sm> on latest mac software and hardware, `stack --resolver lts-11.22 build` in `shelltestrunner` works (about 30 deps)
2021-08-17 04:21:55 +0200 <monochrom> That's reasoning. But it cuts both ways.
2021-08-17 04:21:57 +0200 <sm> this may be more than enough for fernand
2021-08-17 04:21:58 +0200 <monochrom> err
2021-08-17 04:22:03 +0200 <monochrom> That's reasonable. But it cuts both ways.
2021-08-17 04:22:11 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-08-17 04:22:11 +0200FinnElijaGuest4965
2021-08-17 04:22:11 +0200Guest4965(~finn_elij@user/finn-elija/x-0085643) (Killed (silver.libera.chat (Nickname regained by services)))
2021-08-17 04:22:11 +0200finn_elijaFinnElija
2021-08-17 04:23:05 +0200 <monochrom> debugging old compiler that doesn't work on new system vs debugging old textbook that doesn't work on new compiler >:)
2021-08-17 04:23:40 +0200 <fernand> Thanks for all the suggestions. I guess I'll try the newer ghc and see how it goes.
2021-08-17 04:23:47 +0200 <monochrom> I would say flip a coin. Later, if something goes wrong, blame the coin.
2021-08-17 04:23:58 +0200 <sm> and `stack --resolver lts-11.22 exec -- bash` gets you a nice ghc 8.2.2 in $PATH
2021-08-17 04:24:35 +0200 <Axman6> fernand: if you install ghcup, you'll be able to install and switch between a few different GHCs very easily using `ghcup tui`
2021-08-17 04:25:06 +0200Codaraxis__(~Codaraxis@user/codaraxis)
2021-08-17 04:25:18 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-17 04:25:32 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-17 04:26:33 +0200 <monochrom> To a large extent, we in this channel has enough collective memory about code migration to new compilers and standard libraries, so that if you encounter code that doesn't compile and you suspect it's an incompatibility, just give us a URL to a paste, we can quickly identify the fix.
2021-08-17 04:26:49 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-08-17 04:28:11 +0200 <fernand> Thank you Axman6, sm and monochrom !
2021-08-17 04:28:29 +0200 <Axman6> Stick around and ask lots of questions
2021-08-17 04:28:40 +0200Codaraxis_(~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
2021-08-17 04:28:46 +0200alx741(~alx741@181.196.68.125) (Quit: alx741)
2021-08-17 04:30:18 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 04:33:51 +0200adam1(~adam@2001-b011-4007-0e06-019e-67d3-c5f0-42de.dynamic-ip6.hinet.net)
2021-08-17 04:41:51 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 04:43:27 +0200_crazygirl(~hola@213.94.21.181)
2021-08-17 04:46:10 +0200Codaraxis__(~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
2021-08-17 04:48:24 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-17 04:50:06 +0200_crazygirl(~hola@213.94.21.181) (K-Lined)
2021-08-17 04:57:39 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-17 04:57:52 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-17 05:12:39 +0200Ananta-shesha(~pjetcetal@2.95.210.196)
2021-08-17 05:17:19 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 05:17:32 +0200slack1256(~slack1256@181.203.12.14) (Ping timeout: 245 seconds)
2021-08-17 05:19:51 +0200notzmv(~zmv@user/notzmv)
2021-08-17 05:20:21 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-08-17 05:21:03 +0200jess(~jess@libera/staff/jess) ()
2021-08-17 05:21:04 +0200falafel_(~falafel@2601:483:4e00:2b20:cdf:9399:6ec8:368a)
2021-08-17 05:21:17 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 245 seconds)
2021-08-17 05:21:52 +0200 <Cajun> is hoogle down? 3: (https://hoogle.haskell.org/) is giving me a 502 bad gateway
2021-08-17 05:23:21 +0200 <sm> yup
2021-08-17 05:24:03 +0200 <sm> there's another one at https://www.stackage.org
2021-08-17 05:24:12 +0200zebrag(~chris@user/zebrag)
2021-08-17 05:25:56 +0200gambpang(~ian@207.181.230.156)
2021-08-17 05:34:28 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 05:38:51 +0200mnr(~mnrmnaugh@68.162.206.56) (Remote host closed the connection)
2021-08-17 05:38:58 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-17 05:39:02 +0200fvr(uid503686@id-503686.highgate.irccloud.com)
2021-08-17 05:40:15 +0200mnrmnaugh(~mnrmnaugh@68.162.206.56)
2021-08-17 05:43:54 +0200 <dsal> @hoogle MonadIO m => m a -> IO a
2021-08-17 05:43:55 +0200 <lambdabot> Generic.Data.Internal.Utils coerce' :: Coercible (f x) (g x) => f x -> g x
2021-08-17 05:43:55 +0200 <lambdabot> Basement.Monad unsafePrimToIO :: PrimMonad prim => prim a -> IO a
2021-08-17 05:43:55 +0200 <lambdabot> Control.Effect.Lift sendM :: (Has (Lift n) sig m, Functor n) => n a -> m a
2021-08-17 05:45:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 05:48:16 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-08-17 05:49:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-17 05:54:25 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-17 05:58:54 +0200falafel_falafel
2021-08-17 06:00:12 +0200 <Axman6> dsal: that type doesn't really make sense, at least not without a type class specifically for doing that; how should foo (bar :: StateT Int IO a) run?
2021-08-17 06:00:43 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 06:03:11 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-08-17 06:04:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-17 06:04:21 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-08-17 06:06:50 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-08-17 06:08:54 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-08-17 06:12:05 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 06:14:25 +0200fernand(~fernand@179.156.35.4) (Ping timeout: 248 seconds)
2021-08-17 06:19:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-17 06:22:50 +0200 <dsal> Yeah, that was weird. I was confused by the results. heh. But @hoogle works
2021-08-17 06:24:56 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-08-17 06:25:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-17 06:27:22 +0200SquareSquarism
2021-08-17 06:28:06 +0200SquarismSquar
2021-08-17 06:28:37 +0200SquaruSaqr
2021-08-17 06:29:40 +0200falafel(~falafel@2601:483:4e00:2b20:cdf:9399:6ec8:368a) (Ping timeout: 240 seconds)
2021-08-17 06:30:27 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-17 06:31:40 +0200falafel(~falafel@2601:483:4e00:2b20:cdf:9399:6ec8:368a)
2021-08-17 06:34:37 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-08-17 06:35:10 +0200adam1(~adam@2001-b011-4007-0e06-019e-67d3-c5f0-42de.dynamic-ip6.hinet.net) (Ping timeout: 240 seconds)
2021-08-17 06:44:07 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 06:46:57 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 248 seconds)
2021-08-17 06:47:10 +0200michalz(~michalz@185.246.204.62)
2021-08-17 06:47:21 +0200gambpang(~ian@207.181.230.156)
2021-08-17 06:48:07 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-08-17 07:01:43 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 07:13:27 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-17 07:21:27 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
2021-08-17 07:22:15 +0200adam1(~adam@2001-b011-4007-2539-8c74-0d75-7c9a-5c73.dynamic-ip6.hinet.net)
2021-08-17 07:26:33 +0200vysn(~vysn@user/vysn)
2021-08-17 07:29:04 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 07:29:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 07:32:10 +0200falafel(~falafel@2601:483:4e00:2b20:cdf:9399:6ec8:368a) (Ping timeout: 240 seconds)
2021-08-17 07:34:12 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-08-17 07:37:03 +0200Obo(~roberto@78.77.166.185)
2021-08-17 07:37:46 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-08-17 07:40:02 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 07:40:25 +0200erisco(~erisco@d24-57-249-233.home.cgocable.net) (Ping timeout: 258 seconds)
2021-08-17 07:40:32 +0200oldsk00l(~znc@ec2-3-123-2-100.eu-central-1.compute.amazonaws.com) (Remote host closed the connection)
2021-08-17 07:40:32 +0200erisco_(~erisco@d24-57-249-233.home.cgocable.net)
2021-08-17 07:40:38 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 07:40:56 +0200erisco_erisco
2021-08-17 07:41:53 +0200juhp(~juhp@128.106.188.220)
2021-08-17 07:42:55 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-17 07:45:02 +0200erisco(~erisco@d24-57-249-233.home.cgocable.net) (Ping timeout: 245 seconds)
2021-08-17 07:45:31 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-17 07:46:01 +0200erisco(~erisco@d24-57-249-233.home.cgocable.net)
2021-08-17 07:48:53 +0200xaltsc(~xaltsc@user/xaltsc) (Ping timeout: 252 seconds)
2021-08-17 07:48:53 +0200AkechiShiro(~licht@user/akechishiro) (Ping timeout: 252 seconds)
2021-08-17 07:50:03 +0200AkechiShiro(~licht@user/akechishiro)
2021-08-17 07:50:10 +0200xaltsc(~xaltsc@user/xaltsc)
2021-08-17 07:53:03 +0200kadobanana(~mud@user/kadoban) (Ping timeout: 276 seconds)
2021-08-17 07:58:28 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 268 seconds)
2021-08-17 07:58:52 +0200gambpang(~ian@207.181.230.156)
2021-08-17 08:01:06 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 08:02:55 +0200slavaqq(~slavaqq@sdmail.sdserver.cz)
2021-08-17 08:10:36 +0200trcc(~trcc@users-1190.st.net.au.dk)
2021-08-17 08:11:13 +0200stefan-_(~cri@42dots.de) (Ping timeout: 248 seconds)
2021-08-17 08:13:15 +0200cjb(~cjb@user/cjb) (Ping timeout: 256 seconds)
2021-08-17 08:14:40 +0200adam1(~adam@2001-b011-4007-2539-8c74-0d75-7c9a-5c73.dynamic-ip6.hinet.net) (Ping timeout: 240 seconds)
2021-08-17 08:15:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 08:16:01 +0200stefan-_(~cri@42dots.de)
2021-08-17 08:18:13 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 08:18:37 +0200fvr(uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-17 08:24:33 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 08:25:36 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 08:26:25 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 258 seconds)
2021-08-17 08:26:49 +0200gambpang(~ian@207.181.230.156)
2021-08-17 08:27:48 +0200fvr(uid503686@id-503686.highgate.irccloud.com)
2021-08-17 08:36:37 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 08:41:37 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-17 08:44:30 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 08:46:00 +0200adam1(~adam@2001-b011-4007-0471-9e76-5e8f-4259-c5af.dynamic-ip6.hinet.net)
2021-08-17 08:50:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-17 08:50:29 +0200spruit11_(~quassel@2a02:a467:ccd6:1:2d8e:31e9:d2b5:c97d)
2021-08-17 08:52:19 +0200slavaqq(~slavaqq@sdmail.sdserver.cz) (Ping timeout: 246 seconds)
2021-08-17 08:54:10 +0200spruit11(~quassel@2a02:a467:ccd6:1:cc2:35ba:cbc2:b281) (Ping timeout: 272 seconds)
2021-08-17 08:55:57 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 08:58:49 +0200ubert(~Thunderbi@91.141.62.226.wireless.dyn.drei.com)
2021-08-17 09:02:50 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-08-17 09:03:05 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-08-17 09:05:23 +0200fendor(~fendor@178.165.173.29.wireless.dyn.drei.com)
2021-08-17 09:05:27 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2021-08-17 09:05:31 +0200Lord_of_Life_Lord_of_Life
2021-08-17 09:10:08 +0200acidjnk_new3(~acidjnk@p5487d90a.dip0.t-ipconnect.de)
2021-08-17 09:10:40 +0200AsyLayd21(~ilanekle@95.70.207.57)
2021-08-17 09:11:23 +0200AsyLayd21(~ilanekle@95.70.207.57) (Client Quit)
2021-08-17 09:19:41 +0200nrl^(~nrl@209.65.131.194)
2021-08-17 09:20:23 +0200keutoi(~keutoi@157.48.244.189)
2021-08-17 09:26:10 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-08-17 09:27:15 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-08-17 09:28:09 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-17 09:28:17 +0200mei(~mei@user/mei)
2021-08-17 09:28:29 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 268 seconds)
2021-08-17 09:30:29 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 09:32:35 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-08-17 09:33:27 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-17 09:35:30 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-17 09:35:39 +0200aforemny_aforemny
2021-08-17 09:38:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 09:39:35 +0200cheater(~Username@user/cheater)
2021-08-17 09:40:30 +0200Guest327(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-17 09:40:49 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 09:43:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-17 09:45:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 09:45:27 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-08-17 09:46:31 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-17 09:47:42 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 09:47:46 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-17 09:48:21 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-17 09:52:32 +0200hendursaga(~weechat@user/hendursaga) (Quit: hendursaga)
2021-08-17 09:53:00 +0200hendursaga(~weechat@user/hendursaga)
2021-08-17 09:55:18 +0200uSaqrSuqare
2021-08-17 09:56:10 +0200aarvar(~aaron@2601:602:a080:fa0:67c3:55ee:5aa4:c0b6) (Ping timeout: 240 seconds)
2021-08-17 09:56:55 +0200FragByte(~christian@user/fragbyte) (Quit: Quit)
2021-08-17 09:57:51 +0200SuqareSqaure
2021-08-17 09:58:53 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 10:00:06 +0200FragByte(~christian@user/fragbyte)
2021-08-17 10:01:14 +0200cfricke(~cfricke@user/cfricke)
2021-08-17 10:02:56 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-17 10:03:10 +0200p3n_(~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-17 10:03:39 +0200p3n(~p3n@217.198.124.246)
2021-08-17 10:04:57 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-17 10:06:01 +0200hendursa1(~weechat@user/hendursaga)
2021-08-17 10:08:12 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-17 10:08:57 +0200ubert1(~Thunderbi@91.141.62.226.wireless.dyn.drei.com)
2021-08-17 10:11:22 +0200burnside_(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 10:11:22 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-08-17 10:16:58 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
2021-08-17 10:16:59 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 10:18:02 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-17 10:19:39 +0200 <Drew[m]1> Is there a package for providing type level information about what platform a package has been compiled on?
2021-08-17 10:20:27 +0200Obo(~roberto@78.77.166.185) (Ping timeout: 245 seconds)
2021-08-17 10:22:40 +0200 <[exa]> Drew[m]1: why type-level?
2021-08-17 10:24:06 +0200 <maerwald> shouldn't that be trivial with CPP and type level literals?
2021-08-17 10:24:09 +0200 <[exa]> (anyway, some compiler data are usually available through preprocessor macros)
2021-08-17 10:24:38 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-08-17 10:24:40 +0200cas68(~cas@60-242-74-252.tpgi.com.au)
2021-08-17 10:26:35 +0200tfeb(~tfb@88.98.95.237)
2021-08-17 10:27:37 +0200acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
2021-08-17 10:29:55 +0200acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
2021-08-17 10:30:51 +0200 <Drew[m]1> <[exa]> "Drew: why type-level?" <- I was thinking about it's possible to avoid CPP by having cabal conditionally import some version of a module depending on platform, and it occurred to me that at the bare minimum all you'd really need to expose is the platform information at the type level and the platform generic code could use that to decide which other parts of the program to use via type classes
2021-08-17 10:31:23 +0200ubert1(~Thunderbi@91.141.62.226.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-08-17 10:32:38 +0200 <Drew[m]1> I suppose I might be comfortable using CPP to aquire such information in one package so that a client package wouldn't have, but avoiding CPP while varying behavior between platforms is the goal
2021-08-17 10:32:39 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-17 10:33:10 +0200 <Drew[m]1> Whether it's reasonable to do this is something I couldn't possibly comment on
2021-08-17 10:34:18 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 10:34:37 +0200 <Drew[m]1> It needs to be type-level so that like CPP everything is decided at compile-time
2021-08-17 10:37:46 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 10:40:02 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee)
2021-08-17 10:41:56 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-08-17 10:42:00 +0200dschrempf(~dominik@2a01-036d-0118-a2d1-83e4-4c8f-3e62-bedd.pool6.digikabel.hu)
2021-08-17 10:42:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-17 10:43:30 +0200 <maerwald> I don't think you can do that without CPP or TH
2021-08-17 10:48:10 +0200 <[exa]> Drew[m]1: in my project I'm specifically doing single modules that have CPP enabled and just expose whatever is needed from CPP into "normal" typed stuff
2021-08-17 10:48:31 +0200 <Drew[m]1> Well I figure without CPP, to expose the OS and Arch information you'd need a file for every archetecture and a file for every OS.maerwald
2021-08-17 10:48:45 +0200 <[exa]> (usually version information for printing)
2021-08-17 10:48:58 +0200 <maerwald> what creates those files?
2021-08-17 10:49:30 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2021-08-17 10:49:47 +0200benin036932(~benin@106.198.88.152)
2021-08-17 10:50:12 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
2021-08-17 10:51:12 +0200 <Drew[m]1> Actually if OS information includes versions you'd be doomed.
2021-08-17 10:51:12 +0200 <Drew[m]1> It would only work without CPP if you only offer very coarse platform info: coarse enough to make it feasable to make one file for every option
2021-08-17 10:52:08 +0200 <[exa]> anyway, what would you use it for? deciding on implementation/validity of some code based on platform?
2021-08-17 10:53:03 +0200 <Drew[m]1> Yes, deciding on implementation based on platform
2021-08-17 10:53:21 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
2021-08-17 10:53:49 +0200 <[exa]> perhaps having the platform-dependent bits in the separate files would be a kindof isomorphic solution then?
2021-08-17 10:55:27 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-17 10:55:36 +0200benin036932(~benin@106.198.88.152) (Read error: Connection reset by peer)
2021-08-17 10:56:01 +0200themc47(~mc47@xmonad/TheMC47)
2021-08-17 10:56:51 +0200benin036932(~benin@106.198.88.152)
2021-08-17 10:57:01 +0200ubert1(~Thunderbi@91.141.62.226.wireless.dyn.drei.com)
2021-08-17 10:57:20 +0200 <[exa]> OTOH I don't see if/how it could be practical (technically, if you're switching platforms, then usually some functionality is missing on some platforms as in "code does not compile at all", and you just want to #ifdef the stuff out instead of hoping that type-level conditions magically do the right thing)
2021-08-17 10:57:36 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-17 10:58:10 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 240 seconds)
2021-08-17 10:58:13 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 258 seconds)
2021-08-17 10:58:16 +0200 <fvr> you maybe able to use a plugin to feed the info into a type level function , the result of which can choose a different instance
2021-08-17 11:00:23 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 11:01:49 +0200 <Drew[m]1> [exa]: Yeah you're right... whether by CPP or cabal file conditionals that sort of thing still needs to be hidden when compiling on certain platforms
2021-08-17 11:03:25 +0200 <[exa]> like, not necessarily the case with haskell and I perfectly see your point that it _should_ be possible, but in these cases I prefer to keep stuff as simple as possible
2021-08-17 11:04:06 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-17 11:04:24 +0200 <[exa]> esp. given the situation that on 99% platforms you get the configuration input from autoconf as defines, and the redmondish one is better treated as a special case anyway
2021-08-17 11:04:43 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 11:07:07 +0200dschrempf(~dominik@2a01-036d-0118-a2d1-83e4-4c8f-3e62-bedd.pool6.digikabel.hu) (Ping timeout: 245 seconds)
2021-08-17 11:08:10 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 11:09:10 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-08-17 11:10:13 +0200cas68(~cas@60-242-74-252.tpgi.com.au) (Ping timeout: 246 seconds)
2021-08-17 11:10:50 +0200__monty__(~toonn@user/toonn)
2021-08-17 11:11:50 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-17 11:16:41 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-08-17 11:21:11 +0200adam1(~adam@2001-b011-4007-0471-9e76-5e8f-4259-c5af.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
2021-08-17 11:21:33 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 11:21:46 +0200obs\(~obscur1ty@156.192.222.172)
2021-08-17 11:21:46 +0200obs\(~obscur1ty@156.192.222.172) (Changing host)
2021-08-17 11:21:46 +0200obs\(~obscur1ty@user/obs/x-5924898)
2021-08-17 11:23:47 +0200obscur1ty(~obscur1ty@user/obs/x-5924898) (Ping timeout: 245 seconds)
2021-08-17 11:24:13 +0200gambpang(~ian@207.181.230.156)
2021-08-17 11:25:17 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-17 11:25:21 +0200obs\(~obscur1ty@user/obs/x-5924898) (Read error: Connection reset by peer)
2021-08-17 11:25:28 +0200obs\(~obscur1ty@156.192.180.119)
2021-08-17 11:25:28 +0200obs\(~obscur1ty@156.192.180.119) (Changing host)
2021-08-17 11:25:28 +0200obs\(~obscur1ty@user/obs/x-5924898)
2021-08-17 11:25:46 +0200hendursaga(~weechat@user/hendursaga)
2021-08-17 11:31:52 +0200trevor(uid389732@id-389732.tooting.irccloud.com)
2021-08-17 11:33:52 +0200idf(~idf@198.23.223.146) (Using Circe, the loveliest of all IRC clients)
2021-08-17 11:37:39 +0200benin036932(~benin@106.198.88.152) (Quit: Ping timeout (120 seconds))
2021-08-17 11:38:47 +0200oxide(~lambda@user/oxide) (Ping timeout: 245 seconds)
2021-08-17 11:40:50 +0200oxide(~lambda@user/oxide)
2021-08-17 11:42:31 +0200idf(~idf@198.23.223.146)
2021-08-17 11:43:12 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-17 11:43:16 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 11:45:58 +0200 <kuribas> which logic language would you recommend? I'd like one which has a good IDE (or emacs), and (optional) automated proofs. Export to haskell or other FP languages would be nice.
2021-08-17 11:46:39 +0200 <kuribas> I looked at idris, but proving in idris feels like a secondary feature.
2021-08-17 11:47:11 +0200 <opqdonut> logic language usually refers to logic programming a la prolog. are you looking for a proof system instead?
2021-08-17 11:47:28 +0200 <opqdonut> aka proof assistant
2021-08-17 11:47:39 +0200 <opqdonut> coq is fairly popular and has a nice emacs mode
2021-08-17 11:48:05 +0200 <opqdonut> isabelle is another notable one, but I don't have experience with it
2021-08-17 11:49:53 +0200aarvar(~aaron@2601:602:a080:fa0:417e:358b:8f59:9c9)
2021-08-17 11:50:19 +0200 <oak-> Haskell also has the Liquid Haskell
2021-08-17 11:50:21 +0200chomwitt(~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374)
2021-08-17 11:52:57 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 11:53:24 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-08-17 11:58:21 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 268 seconds)
2021-08-17 11:59:09 +0200benin036932(~benin@106.198.88.152)
2021-08-17 12:08:18 +0200 <kuribas> opqdonut: right, proof language :)
2021-08-17 12:08:39 +0200 <kuribas> oak-: what I don't like about liquid haskell is that it doesn't encode bounds.
2021-08-17 12:08:49 +0200 <kuribas> For example, it treats Int as an integer, which it isn't!
2021-08-17 12:08:59 +0200dschrempf(~dominik@2a01-036d-0118-a2d1-6956-051d-7043-4e79.pool6.digikabel.hu)
2021-08-17 12:09:10 +0200 <kuribas> opqdonut: and agda or lean?
2021-08-17 12:11:00 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-17 12:11:51 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 12:12:01 +0200 <opqdonut> kuribas: agda is definitely more programming-oriented with not that much proof automation
2021-08-17 12:12:08 +0200 <opqdonut> lean I've heard of but haven't tried
2021-08-17 12:13:25 +0200 <kuribas> opqdonut: I saw they made a proof of some complicated theorem (which took months). That's quite impressive.
2021-08-17 12:13:40 +0200 <kuribas> Maybe it's more for proving math, rather than proving programs correct.
2021-08-17 12:13:42 +0200 <kuribas> ?
2021-08-17 12:14:22 +0200 <opqdonut> yeah I think isabelle and lean are more in the math camp, coq is kinda in the middle
2021-08-17 12:14:41 +0200 <opqdonut> you can write some code in coq, prove it correct, and then have coq output haskell code
2021-08-17 12:14:57 +0200 <opqdonut> haven't done that myself, just worked through some type theory stuff in coq
2021-08-17 12:15:12 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-17 12:15:28 +0200 <opqdonut> you'll probably find more advice from somebody more experienced than me, but that's my two cents :)
2021-08-17 12:17:16 +0200 <kuribas> oh, and there's f star, which exports to ocaml and f#, but not haskell.
2021-08-17 12:17:54 +0200nrl^(~nrl@209.65.131.194) (Remote host closed the connection)
2021-08-17 12:23:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-17 12:25:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 12:25:05 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net)
2021-08-17 12:26:43 +0200 <kuribas> opqdonut: agda has this: https://agda.readthedocs.io/en/v2.5.3/tools/auto.html
2021-08-17 12:26:52 +0200 <kuribas> opqdonut: maybe it's not ver sofisticated?
2021-08-17 12:27:42 +0200 <opqdonut> yeah that's mostly for single holes in a proof
2021-08-17 12:28:42 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-08-17 12:29:15 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 12:30:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-17 12:30:13 +0200dschrempf(~dominik@2a01-036d-0118-a2d1-6956-051d-7043-4e79.pool6.digikabel.hu) (Ping timeout: 258 seconds)
2021-08-17 12:30:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 12:31:29 +0200 <kuribas> "Another mechanism for proof automation is proof search action in emacs mode. It enumerates possible proof terms (limited to 5 seconds), and if one of the terms fits the specification, it will be put in the meta variable where the action is invoked. "
2021-08-17 12:31:46 +0200 <kuribas> https://en.wikipedia.org/wiki/Agda_(programming_language)#Proof_automation
2021-08-17 12:35:27 +0200chomwitt(~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
2021-08-17 12:35:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-17 12:36:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 12:37:24 +0200tcard_(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2021-08-17 12:40:07 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 12:43:36 +0200tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
2021-08-17 12:48:47 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-17 12:50:09 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-17 12:57:07 +0200dsrt^(~dsrt@209.65.131.194)
2021-08-17 12:59:13 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
2021-08-17 13:00:12 +0200burnside_(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-17 13:00:57 +0200alx741(~alx741@181.196.68.125)
2021-08-17 13:02:24 +0200fhutty14(~fhutty14@c83-252-75-55.bredband.tele2.se)
2021-08-17 13:03:21 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net)
2021-08-17 13:08:10 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
2021-08-17 13:09:25 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-08-17 13:12:31 +0200trevorrovert
2021-08-17 13:15:45 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 13:22:10 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-08-17 13:22:14 +0200cfricke(~cfricke@user/cfricke)
2021-08-17 13:22:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 13:26:32 +0200oxide(~lambda@user/oxide) (Ping timeout: 268 seconds)
2021-08-17 13:27:32 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-08-17 13:28:14 +0200dschrempf(~dominik@2a01-036d-0118-a2d1-e318-72ef-8701-cb8b.pool6.digikabel.hu)
2021-08-17 13:29:43 +0200chisui(~chisui@200116b864e3ed0025ab38eae95cca2d.dip.versatel-1u1.de)
2021-08-17 13:30:53 +0200 <chisui> Hey, what is a good current sound library for haskell. There are some listed on the wiki, but the articles where last updated in 2010.
2021-08-17 13:31:41 +0200 <jophish> previously I've used the sdl audio bindings
2021-08-17 13:32:56 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 13:35:10 +0200aarvar(~aaron@2601:602:a080:fa0:417e:358b:8f59:9c9) (Ping timeout: 240 seconds)
2021-08-17 13:36:10 +0200 <chisui> jophish: Thanks, do you remember which package exactly you used? There are several on hackage
2021-08-17 13:36:21 +0200 <hpc> i once used synthesizer-alsa to build up sounds from nothing - it was fun to use but i didn't get very far into it
2021-08-17 13:36:36 +0200 <jophish> probably https://hackage.haskell.org/package/sdl2-mixer
2021-08-17 13:37:26 +0200 <jophish> oh, sorry https://hackage.haskell.org/package/sdl2
2021-08-17 13:37:30 +0200 <jophish> that has SDL.Audio
2021-08-17 13:38:28 +0200oxide(~lambda@user/oxide)
2021-08-17 13:38:35 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 13:39:53 +0200 <jophish> sorry, actually it was the former I think, whatever exports
2021-08-17 13:39:53 +0200 <jophish> import qualified SDL.Mixer as Mix
2021-08-17 13:40:01 +0200 <jophish> for some reason I didn't commit a .cabal file
2021-08-17 13:44:12 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-17 13:45:02 +0200Obo(~roberto@185.76.9.42)
2021-08-17 13:46:13 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 13:46:14 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-17 13:46:21 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 13:49:52 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-17 13:50:03 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 13:50:10 +0200Cajun(~Cajun@user/cajun) (Quit: Client closed)
2021-08-17 13:51:14 +0200fhutty14(~fhutty14@c83-252-75-55.bredband.tele2.se) (Quit: Client closed)
2021-08-17 13:53:17 +0200fhutty14(~fhutty14@c83-252-75-55.bredband.tele2.se)
2021-08-17 13:53:50 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-08-17 13:53:54 +0200 <tomsmeding> chisui: playing (possibly generated) sound over a speaker, or reading/writing sound files?
2021-08-17 13:54:30 +0200 <chisui> tomsmeding: playing generated sound over a speaker.
2021-08-17 13:54:47 +0200 <tomsmeding> then what jophish said :)
2021-08-17 13:54:54 +0200 <tomsmeding> (otherwise probably https://hackage.haskell.org/package/hsndfile )
2021-08-17 13:55:19 +0200gambpang(~ian@207.181.230.156)
2021-08-17 13:55:45 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
2021-08-17 13:59:55 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 258 seconds)
2021-08-17 14:00:11 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 14:00:19 +0200gambpang(~ian@207.181.230.156)
2021-08-17 14:03:22 +0200ubert(~Thunderbi@91.141.62.226.wireless.dyn.drei.com) (Ping timeout: 258 seconds)
2021-08-17 14:03:23 +0200ubert1ubert
2021-08-17 14:04:40 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
2021-08-17 14:10:01 +0200fhutty14(~fhutty14@c83-252-75-55.bredband.tele2.se) (Quit: Client closed)
2021-08-17 14:10:38 +0200 <chisui> thanks
2021-08-17 14:11:18 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 14:12:18 +0200ub(~Thunderbi@91.141.62.226.wireless.dyn.drei.com)
2021-08-17 14:15:45 +0200Guest65(~Guest65@ppp089210060185.access.hol.gr)
2021-08-17 14:16:03 +0200Guest65(~Guest65@ppp089210060185.access.hol.gr) (Client Quit)
2021-08-17 14:16:40 +0200ub(~Thunderbi@91.141.62.226.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2021-08-17 14:18:19 +0200benin036932(~benin@106.198.88.152) (Ping timeout: 258 seconds)
2021-08-17 14:20:10 +0200xff0x(~xff0x@2001:1a81:535d:2700:c2ae:145d:39da:4349) (Ping timeout: 240 seconds)
2021-08-17 14:21:07 +0200xff0x(~xff0x@2001:1a81:535d:2700:6b08:445c:db9b:4d20)
2021-08-17 14:22:33 +0200glassy(~glassy@90.254.122.50)
2021-08-17 14:22:38 +0200ub(~Thunderbi@91.141.62.226.wireless.dyn.drei.com)
2021-08-17 14:23:30 +0200glassy(~glassy@90.254.122.50) (Changing host)
2021-08-17 14:23:30 +0200glassy(~glassy@user/glassy)
2021-08-17 14:23:32 +0200benin036932(~benin@106.198.88.152)
2021-08-17 14:27:53 +0200trcc(~trcc@users-1190.st.net.au.dk) ()
2021-08-17 14:30:03 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 268 seconds)
2021-08-17 14:30:27 +0200gambpang(~ian@207.181.230.156)
2021-08-17 14:32:26 +0200fhutty14(~fhutty14@c83-252-75-55.bredband.tele2.se)
2021-08-17 14:33:08 +0200fhutty14(~fhutty14@c83-252-75-55.bredband.tele2.se) (Client Quit)
2021-08-17 14:34:11 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-08-17 14:34:18 +0200notzmv(~zmv@user/notzmv)
2021-08-17 14:38:57 +0200sleblanc(~sleblanc@user/sleblanc) (Ping timeout: 248 seconds)
2021-08-17 14:39:33 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 14:42:41 +0200benin036932(~benin@106.198.88.152) (Ping timeout: 248 seconds)
2021-08-17 14:43:35 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 14:44:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-17 14:46:02 +0200benin036932(~benin@106.198.88.152)
2021-08-17 14:46:21 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-08-17 14:46:58 +0200pbrisbin(~patrick@pool-108-16-214-93.phlapa.fios.verizon.net)
2021-08-17 14:47:32 +0200acidjnk_new3(~acidjnk@p5487d90a.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-08-17 14:50:10 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-08-17 14:51:56 +0200benin036932(~benin@106.198.88.152) (Read error: Connection reset by peer)
2021-08-17 14:52:07 +0200benin036932(~benin@106.198.88.152)
2021-08-17 14:54:40 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 14:56:10 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-08-17 14:57:29 +0200benin036932(~benin@106.198.88.152) (Quit: Ping timeout (120 seconds))
2021-08-17 14:57:50 +0200benin036932(~benin@106.198.88.152)
2021-08-17 14:58:53 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-17 14:59:26 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 15:00:06 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 258 seconds)
2021-08-17 15:00:30 +0200gambpang(~ian@207.181.230.156)
2021-08-17 15:02:10 +0200xff0x(~xff0x@2001:1a81:535d:2700:6b08:445c:db9b:4d20) (Ping timeout: 240 seconds)
2021-08-17 15:03:58 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-17 15:03:58 +0200ub(~Thunderbi@91.141.62.226.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-08-17 15:04:42 +0200ubert(~Thunderbi@91.141.62.226.wireless.dyn.drei.com) (Ping timeout: 258 seconds)
2021-08-17 15:05:29 +0200chris(~chris@81.96.113.213)
2021-08-17 15:05:33 +0200chrisGuest320
2021-08-17 15:07:02 +0200benin036932(~benin@106.198.88.152) (Ping timeout: 268 seconds)
2021-08-17 15:12:52 +0200xff0x(~xff0x@2001:1a81:535d:2700:6b08:445c:db9b:4d20)
2021-08-17 15:13:09 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-17 15:13:47 +0200benin036932(~benin@106.198.88.152)
2021-08-17 15:17:16 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com)
2021-08-17 15:18:08 +0200 <__monty__> kuribas: Don't expect too much from automated proofs. Afaik Coq is the most advanced constructive logic-based proof assistant in this regard. Proof automation is a lot more useful in the SMT sense.
2021-08-17 15:20:52 +0200dschrempf(~dominik@2a01-036d-0118-a2d1-e318-72ef-8701-cb8b.pool6.digikabel.hu) (Quit: WeeChat 3.2)
2021-08-17 15:23:38 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-08-17 15:26:16 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-17 15:27:22 +0200burnsidesLlama(~burnsides@client-8-71.eduroam.oxuni.org.uk)
2021-08-17 15:29:03 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 15:29:24 +0200 <kuribas> __monty__: can't these use SMT solvers?
2021-08-17 15:29:35 +0200 <kuribas> I remember there was one for Coq
2021-08-17 15:30:08 +0200notzmv(~zmv@user/notzmv) (Read error: Connection reset by peer)
2021-08-17 15:31:38 +0200 <__monty__> No, SMT solvers are way more limited in what they can do.
2021-08-17 15:31:48 +0200 <__monty__> Which is why they're amenable to automatic proving : )
2021-08-17 15:32:25 +0200 <__monty__> Model checking is much easier than proof search in an enormous search space.
2021-08-17 15:32:26 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com)
2021-08-17 15:33:46 +0200 <merijn> "enormous" is an understatement for "infinite" ;)
2021-08-17 15:34:06 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-08-17 15:34:26 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com)
2021-08-17 15:36:03 +0200 <__monty__> I wasn't sure whether constructive maybe implied countable infinity or even less. So I went with the relatively safe "enormous."
2021-08-17 15:36:05 +0200vgtw(~vgtw@c-9164205c.07-348-756d651.bbcust.telenor.se) (Quit: ZNC - https://znc.in)
2021-08-17 15:36:12 +0200 <kuribas> __monty__: https://smtcoq.github.io/
2021-08-17 15:37:24 +0200 <__monty__> That's pretty cool. The second bullet I figured, but the first one is novel.
2021-08-17 15:38:11 +0200 <__monty__> Still SMT is a lot less general a method. So really, it depends on what you're interested in.
2021-08-17 15:39:57 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 15:40:55 +0200 <kuribas> well, a lot of what is tedious in proving programs correct can be solved with SMT.
2021-08-17 15:41:43 +0200jess(~jess@libera/staff/jess)
2021-08-17 15:42:59 +0200chomwitt(~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374)
2021-08-17 15:43:02 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-17 15:44:02 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-08-17 15:44:07 +0200 <__monty__> Sure, model checking is super useful and practical.
2021-08-17 15:44:51 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-17 15:45:36 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 15:46:46 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-17 15:49:50 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com)
2021-08-17 15:50:23 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection)
2021-08-17 15:51:03 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com)
2021-08-17 15:53:05 +0200ub(~Thunderbi@91.141.37.36.wireless.dyn.drei.com)
2021-08-17 15:54:09 +0200ubert(~Thunderbi@91.141.37.36.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2021-08-17 15:57:32 +0200ub(~Thunderbi@91.141.37.36.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2021-08-17 15:58:58 +0200slack1256(~slack1256@191.126.43.49)
2021-08-17 15:59:07 +0200 <merijn> __monty__: Countable infinity is still infinite
2021-08-17 15:59:35 +0200 <merijn> And even in a constructive setting you have at least countable infinity
2021-08-17 15:59:50 +0200 <__monty__> merijn: Do note the "even less" though. All this proof assistant stuff is from way back when for me.
2021-08-17 16:00:15 +0200 <merijn> __monty__: I'd think even in a constructive setting you'll quickly hit countable infinity
2021-08-17 16:00:34 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 16:01:02 +0200 <__monty__> That's what I suspect. But you'll never catch me speaking confidently about math stuffs.
2021-08-17 16:01:30 +0200 <sshine_> does megaparsec not have 'brackets', 'braces' and 'parens'?
2021-08-17 16:02:37 +0200 <merijn> sshine_: You want parsers
2021-08-17 16:02:39 +0200 <__monty__> @hoogle Control.Applicative.Combinators.between
2021-08-17 16:02:39 +0200 <lambdabot> Control.Applicative.Combinators between :: Applicative m => m open -> m close -> m a -> m a
2021-08-17 16:02:41 +0200 <merijn> (the package)
2021-08-17 16:02:51 +0200 <merijn> or the other one
2021-08-17 16:02:53 +0200 <__monty__> I think the package is parser-combinators?
2021-08-17 16:02:55 +0200ubert(~Thunderbi@91.141.56.213.wireless.dyn.drei.com)
2021-08-17 16:02:57 +0200 <merijn> ah, yeah
2021-08-17 16:03:23 +0200 <merijn> Should be re-exported from megaparsec, but they didn't explicitly re-export, so the docs don't show up
2021-08-17 16:04:40 +0200jess(~jess@libera/staff/jess) ()
2021-08-17 16:05:00 +0200 <__monty__> I was hoping hoogle would list the package tbh. That's the only reason I qualified.
2021-08-17 16:05:14 +0200 <tomsmeding> hoogle never lists package names except in the web interface
2021-08-17 16:05:17 +0200 <tomsmeding> this annoys me every single time
2021-08-17 16:05:30 +0200 <sshine_> ah, that's why. and yes, I did look in parser-combinators by hitting 's' in hackage.
2021-08-17 16:05:31 +0200 <tomsmeding> what use is searching for a name in a global list of packages if the search result doesn't show the package name
2021-08-17 16:06:03 +0200 <tomsmeding> luckily there is 'hoogle server' :p
2021-08-17 16:06:22 +0200 <__monty__> Yeah, it's suboptimal. The other unfortunate part is it only searches stackage : /
2021-08-17 16:06:23 +0200 <sshine_> the only reference I find is in megaparsec in this comment: https://hackage.haskell.org/package/megaparsec-9.1.0/docs/Text-Megaparsec-Char-Lexer.html#v:symbol
2021-08-17 16:07:14 +0200 <__monty__> Tbf that reference does show you exactly what you want though?
2021-08-17 16:07:59 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 16:08:32 +0200 <sshine_> __monty__, I'd like to know where to import them from. I don't see that anywhere?
2021-08-17 16:08:40 +0200chomwitt(~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds)
2021-08-17 16:09:04 +0200 <sshine_> I think maybe they're not defined because megaparsec tries to be agnostic about parsing whitespace.
2021-08-17 16:09:32 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-17 16:09:41 +0200vgtw(~vgtw@c-9164205c.07-348-756d651.bbcust.telenor.se)
2021-08-17 16:10:15 +0200 <__monty__> You mean the specific ones or "between"? Because yeah, only the latter is defined.
2021-08-17 16:10:23 +0200 <sshine_> yes, the specific ones.
2021-08-17 16:18:33 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-17 16:22:16 +0200oxide(~lambda@user/oxide) (Ping timeout: 268 seconds)
2021-08-17 16:23:45 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-08-17 16:24:26 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2)
2021-08-17 16:24:46 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 16:27:43 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-17 16:28:22 +0200benin036932(~benin@106.198.88.152) (Read error: Connection reset by peer)
2021-08-17 16:29:09 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-17 16:29:27 +0200benin036932(~benin@183.82.178.142)
2021-08-17 16:31:16 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de)
2021-08-17 16:31:32 +0200gambpang(~ian@207.181.230.156) (Ping timeout: 268 seconds)
2021-08-17 16:37:04 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-17 16:38:53 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-17 16:39:08 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-17 16:39:40 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap)
2021-08-17 16:40:01 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de)
2021-08-17 16:42:07 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-17 16:44:29 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 16:45:42 +0200glassy(~glassy@user/glassy) (Quit: Client closed)
2021-08-17 16:47:58 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-17 16:48:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 16:49:10 +0200Obo(~roberto@185.76.9.42) (Ping timeout: 240 seconds)
2021-08-17 16:51:52 +0200betelgeuse(~john2gb@user/john2gb) (Quit: The Lounge - https://thelounge.chat)
2021-08-17 16:53:32 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be)
2021-08-17 16:55:12 +0200gambpang(~ishipman@207.181.230.156)
2021-08-17 16:55:41 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 16:56:06 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-08-17 16:59:16 +0200slack1256(~slack1256@191.126.43.49) (Ping timeout: 268 seconds)
2021-08-17 16:59:20 +0200slac47615(~slack1256@181.203.101.233)
2021-08-17 17:06:44 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-17 17:08:03 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-17 17:08:12 +0200chomwitt(~chomwitt@ppp-94-67-193-240.home.otenet.gr)
2021-08-17 17:08:31 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-17 17:09:15 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 17:09:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-17 17:09:26 +0200dolio(~dolio@130.44.130.54) (Ping timeout: 272 seconds)
2021-08-17 17:09:49 +0200dolio(~dolio@130.44.130.54)
2021-08-17 17:10:28 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2021-08-17 17:10:54 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 17:11:18 +0200chisui(~chisui@200116b864e3ed0025ab38eae95cca2d.dip.versatel-1u1.de) (Quit: Client closed)
2021-08-17 17:12:04 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-08-17 17:13:40 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-08-17 17:15:21 +0200img(~img@user/img)
2021-08-17 17:15:23 +0200zebrag(~chris@user/zebrag)
2021-08-17 17:15:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-17 17:18:37 +0200fvr(uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-17 17:20:51 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 268 seconds)
2021-08-17 17:20:52 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 17:21:10 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 240 seconds)
2021-08-17 17:22:11 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-17 17:23:13 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 17:24:45 +0200pavonia(~user@user/siracusa)
2021-08-17 17:28:21 +0200ale-pi(~user@2001:b07:a5b:4e95:7285:c2ff:feb3:1e28)
2021-08-17 17:28:43 +0200ale-pi(~user@2001:b07:a5b:4e95:7285:c2ff:feb3:1e28) ()
2021-08-17 17:29:26 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 17:30:19 +0200burnsidesLlama(~burnsides@client-8-71.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-17 17:30:51 +0200burnsidesLlama(~burnsides@client-8-71.eduroam.oxuni.org.uk)
2021-08-17 17:32:00 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-17 17:32:33 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-17 17:32:37 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-08-17 17:33:33 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-08-17 17:35:40 +0200burnsidesLlama(~burnsides@client-8-71.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
2021-08-17 17:42:02 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-17 17:44:35 +0200slac47615slack1256
2021-08-17 17:44:38 +0200zopsi(~zopsi@irc.dir.ac) (Quit: Oops)
2021-08-17 17:45:03 +0200zopsi(~zopsi@irc.dir.ac)
2021-08-17 17:46:37 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 17:51:13 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 17:51:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 17:51:26 +0200chisui(~chisui@200116b864e3ed008dc027ad9120a9d2.dip.versatel-1u1.de)
2021-08-17 17:53:23 +0200jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-08-17 17:54:29 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-17 17:54:42 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 17:55:52 +0200 <chisui> Hey, I'm trying to write a simple modular synthesizer using sdl2 and conduit. I would like to write the outputs as conduit consumers. Unfortunately sdl plays samples via a callback that provides a buffer to write into: `IOVector actualSampleType -> IO ()`. How can I create a consumer that provides such a function? This is my first time working with
2021-08-17 17:55:52 +0200 <chisui> conduit.
2021-08-17 17:56:03 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 258 seconds)
2021-08-17 17:56:17 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-17 17:57:07 +0200vysn(~vysn@user/vysn) (Ping timeout: 245 seconds)
2021-08-17 17:58:08 +0200yushyin(PW3hWJBC9s@karif.server-speed.net) (Quit: WeeChat 3.1)
2021-08-17 17:58:17 +0200yushyin(eUaFhTnLYh@karif.server-speed.net)
2021-08-17 17:59:12 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-17 17:59:51 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-08-17 18:01:51 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-08-17 18:02:08 +0200 <chisui> Essentially what I need is a pull consumer.
2021-08-17 18:02:10 +0200jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds)
2021-08-17 18:02:11 +0200dsrt^(~dsrt@209.65.131.194) (Ping timeout: 268 seconds)
2021-08-17 18:04:07 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-17 18:04:23 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-17 18:04:43 +0200falsifian(~falsifian@exoco.falsifian.org) ()
2021-08-17 18:11:21 +0200 <carbolymer> any ideas how can I print colors using Turtle?
2021-08-17 18:13:58 +0200 <maerwald> https://hackage.haskell.org/package/pretty-terminal
2021-08-17 18:15:56 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 18:16:17 +0200hueso(~root@user/hueso) (Quit: hueso)
2021-08-17 18:17:11 +0200hueso(~root@user/hueso)
2021-08-17 18:17:22 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2021-08-17 18:19:02 +0200 <jay-invariant> chisui: One solution would be to use stm-conduit to pass the results to a channel push-style, and then have another thread running the callback that reads from the channel.
2021-08-17 18:19:38 +0200 <carbolymer> maerwald: I mean... I have an opposite problem, my commands output colors and I want to print them. >>= echo seems to do the trick, anyway, thanks
2021-08-17 18:20:55 +0200 <jay-invariant> chisui: You could also use another library that supports pull-style consumers natively. I'm fond of dunai, and I think pipes can also do it if configured right
2021-08-17 18:20:58 +0200octeep[m](~octeepmoc@2001:470:69fc:105::695e) (Quit: You have been idle for 30+ days)
2021-08-17 18:22:01 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-17 18:22:31 +0200 <chisui> jay-invariant: Yeah, pipes is more what I need here. I'll take a look at dunai. Thanks
2021-08-17 18:22:44 +0200octeep[m](~octeepmoc@2001:470:69fc:105::695e)
2021-08-17 18:23:01 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-08-17 18:23:25 +0200octeep[m](~octeepmoc@2001:470:69fc:105::695e) ()
2021-08-17 18:24:56 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-17 18:27:23 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-17 18:27:39 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee)
2021-08-17 18:29:07 +0200 <timCF> Hello! Was anybody able to cross-compile Haskell programs for armv6 platform? Maybe you can recommend me some resources where I can learn how it can be done?
2021-08-17 18:30:16 +0200frosky_(~froskyarr@50.7.59.207) (Quit: Leaving)
2021-08-17 18:30:52 +0200dsrt^(~dsrt@209.65.131.194)
2021-08-17 18:31:22 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 18:32:07 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-08-17 18:33:15 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 18:33:30 +0200 <chisui> jay-invariant: Um, can you give me any pointers on how to use dunai with pull?
2021-08-17 18:35:10 +0200shaprhops randomly
2021-08-17 18:35:21 +0200 <shapr> Hello peoples! How's the code?
2021-08-17 18:36:42 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-17 18:39:47 +0200keutoi(~keutoi@157.48.244.189) (Ping timeout: 268 seconds)
2021-08-17 18:40:06 +0200 <jay-invariant> chisui: In dunai, each component is consuming one input per "tick", and producing one output. The basic type is an `MSF m a b`, which is a function that takes a stream of `a`s into a stream of `b`s, with monadic effects in `m`. At the end of the day you want to use combinators to get to a `MSF IO () ()` which you can run in a loop with `reactimate`.
2021-08-17 18:40:44 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
2021-08-17 18:41:25 +0200keutoi(~keutoi@27.59.202.95)
2021-08-17 18:43:43 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-17 18:48:21 +0200 <jay-invariant> chisui: I imagine the tricky part is setting up the sink on the end. One approach might be to run individual steps directly in the callback with `unMSF`.
2021-08-17 18:48:21 +0200 <chisui> jay-invariant: My current plan would be to append an action that pushes a value into an `IORef [Int16]` and call `Data.MonadicStreamFunction.ReactHandle.react` as many times as the buffer is long and then copy the values from the IORef to the buffer. That seems a little clunky though.
2021-08-17 18:48:21 +0200 <chisui> maybe manually stepping through unMSF would be easier.
2021-08-17 18:48:34 +0200drownbes(~igloo@gprs-inet-183-219.elisa.ee)
2021-08-17 18:49:31 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
2021-08-17 18:49:46 +0200drownbes(~igloo@gprs-inet-183-219.elisa.ee) (Remote host closed the connection)
2021-08-17 18:49:48 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-08-17 18:49:55 +0200 <jay-invariant> chisui: I think the best might be to write something like `ReactHandle`, but which produces the right output type, rather than ().
2021-08-17 18:50:37 +0200 <jay-invariant> The code in ReactHandle is pretty short, it looks like it just steps using unMSF
2021-08-17 18:50:48 +0200 <jay-invariant> and saves the continuation in an IORef
2021-08-17 18:50:58 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-08-17 18:51:35 +0200 <chisui> jay-invariant: Since it's real time audio I should probably just have one thread filling a buffer and another one reading from it. That could be achieved with just `reactimate`.
2021-08-17 18:51:42 +0200keutoi(~keutoi@27.59.202.95) (Ping timeout: 245 seconds)
2021-08-17 18:52:18 +0200 <jay-invariant> ^^ That too. Although to be fair you could do that with conduit as well
2021-08-17 18:52:47 +0200keutoi(~keutoi@223.238.95.231)
2021-08-17 18:54:37 +0200 <chisui> I'm intrigued by the interface dunai provides
2021-08-17 18:57:40 +0200keutoi(~keutoi@223.238.95.231) (Ping timeout: 268 seconds)
2021-08-17 18:59:00 +0200keutoi(~keutoi@157.47.61.149)
2021-08-17 19:00:22 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 19:00:39 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-17 19:06:37 +0200arw_(~arw@impulse.informatik.uni-erlangen.de) (Remote host closed the connection)
2021-08-17 19:07:10 +0200econo(uid147250@user/econo)
2021-08-17 19:11:35 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-17 19:15:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-08-17 19:16:40 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
2021-08-17 19:17:24 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-08-17 19:19:04 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 19:21:56 +0200themc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2021-08-17 19:22:14 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-17 19:26:31 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-08-17 19:27:36 +0200 <dsal> timCF: I used to build my own GHC for armv7. It was always a fun challenge.
2021-08-17 19:27:37 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-17 19:28:23 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 19:29:22 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-17 19:29:43 +0200 <chisui> jay-invariant: Thank's for showing me dunai. Once the system is running, it's super clean: `reactimate (time . sinwave . play)`
2021-08-17 19:30:53 +0200 <chisui> * `reactimate (time . sinwave 440 . play)`
2021-08-17 19:32:02 +0200chisui(~chisui@200116b864e3ed008dc027ad9120a9d2.dip.versatel-1u1.de) (Quit: Client closed)
2021-08-17 19:32:42 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 19:33:06 +0200chisui(~chisui@200116b864e3ed008dc027ad9120a9d2.dip.versatel-1u1.de)
2021-08-17 19:34:03 +0200tfeb(~tfb@88.98.95.237)
2021-08-17 19:36:02 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-17 19:37:07 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-08-17 19:37:27 +0200keutoi(~keutoi@157.47.61.149) (Quit: leaving)
2021-08-17 19:38:05 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-17 19:38:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-17 19:40:21 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 19:41:00 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-17 19:41:03 +0200fendor_(~fendor@77.119.161.62.wireless.dyn.drei.com)
2021-08-17 19:41:26 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 19:42:10 +0200Guest|96(~Guest|96@97-120-201-204.ptld.qwest.net)
2021-08-17 19:42:10 +0200MoC(~moc@user/moc)
2021-08-17 19:42:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 19:43:55 +0200fendor(~fendor@178.165.173.29.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-08-17 19:45:52 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-17 19:49:16 +0200 <abhixec> trying to install termonad and getting Could not find module ‘GI.GModule.Structs.Module’ anyone know how I can resolve this?
2021-08-17 19:52:06 +0200 <abhixec> oops wrong channel sorry!
2021-08-17 19:52:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 19:52:19 +0200Guest|96(~Guest|96@97-120-201-204.ptld.qwest.net) (Quit: Connection closed)
2021-08-17 19:53:44 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2021-08-17 19:54:06 +0200PinealGlandOptic(~PinealGla@37.115.210.35) (Quit: leaving)
2021-08-17 19:57:57 +0200retroid_(~retro@5ec19a54.skybroadband.com) (Ping timeout: 258 seconds)
2021-08-17 19:58:07 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-17 19:58:58 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-17 20:00:27 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-08-17 20:00:43 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-17 20:02:46 +0200aegon(~mike@174.127.249.180)
2021-08-17 20:05:21 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-17 20:07:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-17 20:08:50 +0200 <jay-invariant> timCF: I think you may need to build your own GHC. The first step is generally to install the cross toolchain (gcc, ld, libraries, etc.) for your target platform, and then you follow https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling . I've done it for ARM before and I ran into an issue with LD; it was fixed by forcing GHC to use gold (an alternate linker, included in gnu binutils)
2021-08-17 20:10:07 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-08-17 20:10:19 +0200 <jay-invariant> This blog: https://medium.com/@zw3rk/a-haskell-cross-compiler-for-raspberry-pi-ddd9d41ced94 and several of the posts linked there may be useful
2021-08-17 20:12:08 +0200 <jay-invariant> Also note that template haskell causes some major pain when cross-compiling. People have set up some solutions, but if you don't need it I would avoid TH all together
2021-08-17 20:14:15 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 20:17:15 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-17 20:21:31 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-08-17 20:23:22 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-08-17 20:25:01 +0200 <chisui> Is there a `while :: IO Bool -> IO b -> IO ()` equivalent in base?
2021-08-17 20:26:09 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-17 20:26:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-17 20:26:30 +0200 <glguy> no
2021-08-17 20:26:31 +0200mud(~mud@user/kadoban)
2021-08-17 20:27:01 +0200eight(~eight@user/eight)
2021-08-17 20:29:12 +0200 <monochrom> There is one in some packages on hackage such as monad-loop (I forgot the exact name) and other.
2021-08-17 20:29:27 +0200 <monochrom> But you can tell how much I actually care.
2021-08-17 20:29:37 +0200 <dsal> @hoogle IO Bool -> IO b -> IO b
2021-08-17 20:29:38 +0200 <lambdabot> GHC.Base thenIO :: IO a -> IO b -> IO b
2021-08-17 20:29:38 +0200 <lambdabot> HsShellScript (-|=) :: IO a -> IO b -> IO b
2021-08-17 20:29:38 +0200 <lambdabot> HsShellScript (=|=) :: IO a -> IO b -> IO b
2021-08-17 20:29:51 +0200 <dsal> That's weird.
2021-08-17 20:30:21 +0200 <jay-invariant> It can't have that signature. What if the first action returned `False`, then you'd be getting a `b` out of nowhere
2021-08-17 20:30:39 +0200 <monochrom> Even in C, C++, and Java, I don't really find myself writing pure for-loops and pure while-loops all that much. There is always a "break" or "continue" or "return" in the middle.
2021-08-17 20:31:17 +0200 <monochrom> Therefore in Haskell a while-loop feature is of even lesser relevance. If it's already pretty irrelevant in C.
2021-08-17 20:32:14 +0200 <dsal> I've used whileM_ once as far as I can tell.
2021-08-17 20:32:18 +0200 <dsal> @hoogle whileM_
2021-08-17 20:32:18 +0200 <lambdabot> Control.Monad.Loops whileM_ :: Monad m => m Bool -> m a -> m ()
2021-08-17 20:32:24 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-08-17 20:32:28 +0200 <monochrom> Whenever in C you see me "using" a while-loop but has some breaks and continues in the middle, you know that I would use handwritten recursion in the Haskell equivalent.
2021-08-17 20:32:48 +0200 <chisui> I have to manually implement a spinlock. It also would be just 4 lines long.
2021-08-17 20:34:23 +0200 <dsal> My one use case is: `runWaitForUploads = whileM_ inProgress (sleep 15)`
2021-08-17 20:34:40 +0200 <monochrom> heh
2021-08-17 20:34:47 +0200kuribas(~user@ptr-25vy0iacpr2aovgi62v.18120a2.ip6.access.telenet.be)
2021-08-17 20:37:28 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 20:37:53 +0200 <jay-invariant> chisui: I'm curious, what do you need a spinlock for? I'm no expert, but the advice I've heard is "never use spinlocks in userspace"
2021-08-17 20:37:59 +0200spruit11_(~quassel@2a02:a467:ccd6:1:2d8e:31e9:d2b5:c97d) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-08-17 20:38:14 +0200 <chisui> jay-invariant: so that the buffer doesn't overflow.
2021-08-17 20:38:20 +0200spruit11(~quassel@2a02:a467:ccd6:1:2d8e:31e9:d2b5:c97d)
2021-08-17 20:39:24 +0200 <chisui> Currently the `sinwave 440` produces output faster than sdl outputs, so I have to throttle the generating thread somehow.
2021-08-17 20:39:31 +0200 <jay-invariant> chisui: Why not use some higher-level queue that already handles the locking?
2021-08-17 20:39:31 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-17 20:40:30 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-17 20:41:02 +0200 <dsal> blocking buffered queues are good at that sort of thing.
2021-08-17 20:41:54 +0200 <chisui> Do you have any packages I could take a look at?
2021-08-17 20:42:46 +0200 <monochrom> You can start with MVar. Comes with GHC. Control.Concurent.MVar or something. And it is not the only choice, there are others.
2021-08-17 20:43:44 +0200 <monochrom> MVar equals bounded queue of capacity 1.
2021-08-17 20:43:47 +0200cheater(~Username@user/cheater) (Ping timeout: 245 seconds)
2021-08-17 20:44:08 +0200 <jay-invariant> I know `stm` has a `TChan` and `TQueue`, but those are both unbounded. You could make it bounded using a semaphore, or look for another package.
2021-08-17 20:44:16 +0200 <monochrom> If you like a larger capacity, there are choices.
2021-08-17 20:44:41 +0200 <monochrom> You're in luck. stm also has a TBQueue.
2021-08-17 20:45:19 +0200 <jay-invariant> ah, I missed that
2021-08-17 20:45:20 +0200 <chisui> I need an efficient implementation of 200k Int32
2021-08-17 20:45:34 +0200 <chisui> s/of/for/
2021-08-17 20:46:12 +0200 <dsal> Oh interesting. TBQueue has two counters. I guess that makes sense. I would've just used an unbounded queue and one counter.
2021-08-17 20:46:29 +0200idf(~idf@198.23.223.146) (Killed buffer)
2021-08-17 20:46:58 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-17 20:47:26 +0200cheater(~Username@user/cheater)
2021-08-17 20:47:34 +0200 <monochrom> I think it's 2 counters because it's 2 lists. The usual pure functional "queue is 2 lists, front and back" trick.
2021-08-17 20:48:12 +0200 <aegon> i'm having a rough time deciphering this error message. I think i need to use some form of lift, but maybe i'm instancing MonadHttp in an incorrect place?
2021-08-17 20:48:17 +0200 <aegon> https://paste.tomsmeding.com/lG8UF1es
2021-08-17 20:48:36 +0200 <jay-invariant> One way to get a constant-factor speedup would be to feed the queue fixed-sized chunks of many Int32's. You could make a sink like `MSF IO Int32 ()` that internally fills a vector, then pushes it to the queue when it's reached a certain size
2021-08-17 20:49:23 +0200fendor_fendor
2021-08-17 20:49:42 +0200kuribas(~user@ptr-25vy0iacpr2aovgi62v.18120a2.ip6.access.telenet.be) (Ping timeout: 258 seconds)
2021-08-17 20:50:20 +0200koolazer(~koo@user/koolazer) (*.net *.split)
2021-08-17 20:50:20 +0200synthmeat(~synthmeat@user/synthmeat) (*.net *.split)
2021-08-17 20:50:20 +0200Hafydd(~Hafydd@user/hafydd) (*.net *.split)
2021-08-17 20:50:20 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
2021-08-17 20:50:20 +0200phaazon(~phaazon@2001:41d0:a:fe76::1) (*.net *.split)
2021-08-17 20:50:20 +0200monochrom(trebla@216.138.220.146) (*.net *.split)
2021-08-17 20:50:25 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-17 20:50:30 +0200synthmeat(~synthmeat@user/synthmeat)
2021-08-17 20:50:30 +0200Hafydd(~Hafydd@user/hafydd)
2021-08-17 20:50:30 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2021-08-17 20:50:30 +0200phaazon(~phaazon@2001:41d0:a:fe76::1)
2021-08-17 20:50:30 +0200monochrom(trebla@216.138.220.146)
2021-08-17 20:50:41 +0200koolazer(~koo@user/koolazer)
2021-08-17 20:51:59 +0200 <chisui> Well I have a large `IOVector` I write audio samples to. In another thread I generate these samples. Currently this causes an error since the buffer fills up too quickly. My current solution is that I set a limit and in the `arrM` function I spin wait until the buffer is empty enough to fill it again.
2021-08-17 20:54:02 +0200 <monochrom> If that case you can easily replace the spin-lock by a real-lock. MVar as a size-1 queue is equiv to a lock, too.
2021-08-17 20:54:34 +0200 <monochrom> You can define "acquire" to be one of putMVar or takeMVar, "release" to be the other.
2021-08-17 20:54:35 +0200 <jay-invariant> aegon: I think you need to `lift $ R.deleteAnchor c auuid`, since `ScottyT` does not forward the underlying monad's `MonadHTTP`
2021-08-17 20:55:13 +0200 <aegon> jay-invariant: i found a lift from ActionT e m a's instance of MonadTrans that i think would do the job but I can't find out where to import it from
2021-08-17 20:55:17 +0200 <monochrom> Or s/acqure/green light/, s/release/red light/. Or whatever convention you feel like.
2021-08-17 20:55:55 +0200 <jay-invariant> aegon: I think just `Control.Monad.Trans`
2021-08-17 20:56:04 +0200 <jay-invariant> in mtl
2021-08-17 20:56:42 +0200 <aegon> jay-invariant: aand, works. thanks :)
2021-08-17 20:58:28 +0200 <jay-invariant> aegon: I would create the IOVector and fill it in the sending thread, then send it via TBQueue (or MVar, if you only want to buffer one chunk) to the callback thread. Then the callback thread just passes the vector along
2021-08-17 20:58:42 +0200 <aegon> chisui: ^
2021-08-17 20:58:55 +0200 <jay-invariant> oh yeah whoops chisui
2021-08-17 20:59:25 +0200eight(~eight@user/eight) (Quit: leaving)
2021-08-17 20:59:34 +0200 <monochrom> MVar is very cheap.
2021-08-17 21:00:08 +0200 <monochrom> STM is where yes you can begin worrying about overhead. One single MVar? No.
2021-08-17 21:00:22 +0200 <chisui> Unfortunately I don't know how big the read chunk will be before it is requested
2021-08-17 21:00:53 +0200 <chisui> I would have 50000 write actions on the MVar right?
2021-08-17 21:01:34 +0200 <jay-invariant> chisui: no, I'm suggesting you make a large vector, and write the MVar once, when the vector is full
2021-08-17 21:01:51 +0200 <jay-invariant> that way you never have to worry about a vector being accessed by two threads at once
2021-08-17 21:01:56 +0200 <monochrom> The MVar contains ().
2021-08-17 21:02:44 +0200 <monochrom> You use it as a green light red light. Not for storing data.
2021-08-17 21:02:58 +0200 <chisui> Ahhh, I have never seen the `MVar ()` as mutex pattern before.
2021-08-17 21:03:00 +0200 <monochrom> "message" does not always mean data either.
2021-08-17 21:03:25 +0200 <monochrom> (ever heard of "control messages"?)
2021-08-17 21:03:26 +0200 <jay-invariant> oh, well that's not how I would do it. I'm more of a fan of go's "share memory by communicating, don't communicate by sharing memory"
2021-08-17 21:03:46 +0200 <chisui> monochrom: no I haven't heard of control messages
2021-08-17 21:04:45 +0200 <monochrom> I guess I have more lower-level background than average. But network protocols are full of control messages.
2021-08-17 21:04:54 +0200 <monochrom> especially for flow control
2021-08-17 21:05:57 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-17 21:06:19 +0200 <monochrom> And my supervisor's enlightening comment that "synchonization" is a special case of messaging. Think about it.
2021-08-17 21:07:18 +0200idf(~idf@198.23.223.146)
2021-08-17 21:07:22 +0200 <jay-invariant> Something like a `TBQueue (Vector Int)`, where each Vector has some large fixed size, should be reasonably efficient without much risk of concurrency bugs
2021-08-17 21:07:24 +0200 <monochrom> If you and I are synchronizing, perhaps I'm waiting for you and you tell me "now it's time" when the time comes. Well that's a message right there.
2021-08-17 21:07:34 +0200 <chisui> well, what if the callback requests 40k samples and the next time 50k samples? How to I know when to provide compute more values?
2021-08-17 21:08:40 +0200 <jay-invariant> The size of the chunks you send might not be exactly the size the callback asks for, in which case the callback thread will have to handle re-arranging the vectors
2021-08-17 21:08:44 +0200 <aegon> chisui: I'm probably derailing things here, but what about using a chunked consumer type patternwhere if you want to process 50 at a time, consume till 50, then had those 50 off to the audio proc
2021-08-17 21:08:54 +0200 <aegon> is there any reason you can't chunk audio processing in the middle?
2021-08-17 21:09:49 +0200 <chisui> aegon: the audio library I'm using determines the chunk size on demand
2021-08-17 21:11:01 +0200lavaman(~lavaman@98.38.249.169)
2021-08-17 21:11:03 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 21:11:24 +0200 <jay-invariant> The reason I'm suggesting `TBQueue (Vector Int)` over just `TBQueue Int` is just for efficiency, but conceptually it's the same idea: the callback will read some number of Ints from the queue and copy them into the buffer until its full
2021-08-17 21:12:58 +0200Pickchea(~private@user/pickchea)
2021-08-17 21:13:00 +0200aarvar(~aaron@2601:602:a080:fa0:c9d0:9f94:946c:b2f0)
2021-08-17 21:13:08 +0200 <jay-invariant> I think some amount of copying and re-arranging is unavoidable, since you want to start processing before the callback has handed you the destination buffer
2021-08-17 21:14:54 +0200Axma97927(~Axman6@user/axman6)
2021-08-17 21:16:18 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
2021-08-17 21:17:25 +0200 <jay-invariant> It might be more readable to split it into a pure `chunk :: MSF m Int (Maybe (Vector Int))` that builds up immutable chunks using the ST monad or something under the hood, and then pass that to a sink that enqueues it
2021-08-17 21:18:05 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 256 seconds)
2021-08-17 21:19:24 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-08-17 21:19:56 +0200pompez(~martin@user/pompez)
2021-08-17 21:20:10 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-17 21:20:16 +0200pompez(~martin@user/pompez) (Client Quit)
2021-08-17 21:33:09 +0200Axman6(~Axman6@user/axman6)
2021-08-17 21:35:27 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-08-17 21:35:39 +0200Axma97927(~Axman6@user/axman6) (Ping timeout: 256 seconds)
2021-08-17 21:40:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-17 21:42:30 +0200chisui(~chisui@200116b864e3ed008dc027ad9120a9d2.dip.versatel-1u1.de) (Quit: Client closed)
2021-08-17 21:45:13 +0200chisui(~chisui@200116b864e3ed0070d95a3d3da0f298.dip.versatel-1u1.de)
2021-08-17 21:46:20 +0200aegon(~mike@174.127.249.180)
2021-08-17 21:46:28 +0200 <aegon> ws ge
2021-08-17 21:46:33 +0200 <aegon> whoops
2021-08-17 21:59:05 +0200bryan[m]chreekat[m]
2021-08-17 22:00:06 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-17 22:00:29 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-17 22:00:37 +0200fernand(~fernand@179.156.35.4)
2021-08-17 22:00:38 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-08-17 22:01:06 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-08-17 22:04:16 +0200Cajun(~Cajun@user/cajun)
2021-08-17 22:05:45 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 268 seconds)
2021-08-17 22:06:49 +0200juhp(~juhp@128.106.188.220)
2021-08-17 22:07:29 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-17 22:08:02 +0200fernand(~fernand@179.156.35.4) (Quit: Connection closed)
2021-08-17 22:14:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-17 22:14:31 +0200chisui(~chisui@200116b864e3ed0070d95a3d3da0f298.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
2021-08-17 22:17:37 +0200mei(~mei@user/mei) (Ping timeout: 248 seconds)
2021-08-17 22:22:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-17 22:27:30 +0200acidjnk_new3(~acidjnk@p200300d0c72b955208843bbbc6b733a4.dip0.t-ipconnect.de)
2021-08-17 22:27:31 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-17 22:30:44 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-17 22:31:25 +0200retroid_(~retro@5ec19a54.skybroadband.com)
2021-08-17 22:35:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-17 22:37:16 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-08-17 22:40:10 +0200MQ-17J(~MQ-17J@2607:fb90:8824:bf5d:8f75:f298:534b:ce5e)
2021-08-17 22:40:49 +0200forell(~forell@user/forell) (Quit: ZNC - https://znc.in)
2021-08-17 22:41:07 +0200forell(~forell@user/forell)
2021-08-17 22:44:39 +0200obs(~obscur1ty@user/obs/x-5924898)
2021-08-17 22:45:22 +0200 <sshine_> merijn, https://github.com/sshine/hs-verifpal/runs/3354820416?check_suite_focus=true <- I wrote a while back that I'd get back once I saw cabal fail in my CI setup. here's an example.
2021-08-17 22:47:47 +0200 <sshine_> oops, I think I know what's wrong.
2021-08-17 22:48:22 +0200obs\(~obscur1ty@user/obs/x-5924898) (Ping timeout: 245 seconds)
2021-08-17 22:48:32 +0200 <sshine_> this wasn't a cabal thing, but an actual backwards compatibility thing.
2021-08-17 22:48:33 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
2021-08-17 22:51:10 +0200 <aegon> is there a "gentle" way of learning more about template haskell and generics or is it more diving into the deep, like is there some dumb problem you can solve with reasonably simple th / generics to get a feel for it?
2021-08-17 22:51:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-17 22:54:05 +0200 <sshine_> aegon, https://markkarpov.com/tutorial/th.html is one resource
2021-08-17 22:55:18 +0200 <aegon> sshine_: thanks!
2021-08-17 22:55:58 +0200Atum_(~IRC@user/atum/x-2392232) (Ping timeout: 244 seconds)
2021-08-17 22:56:09 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-17 22:57:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-17 22:57:09 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2)
2021-08-17 22:57:33 +0200 <sshine_> aegon, wrt. Generic, there's an article on how 'deriving' works in GHC that may serve as inspiration as to what kind of use you want to make of e.g. Generic: https://kowainik.github.io/posts/deriving
2021-08-17 22:58:25 +0200 <aegon> aslo thanks! these both look great
2021-08-17 22:58:57 +0200 <sshine_> aegon, here's a newer intro to TH (featured in Haskell Weekly #271): https://serokell.io/blog/introduction-to-template-haskell
2021-08-17 23:00:57 +0200 <sshine_> I really like this tutorial :)
2021-08-17 23:02:24 +0200 <gehmehgeh> int-e: by the way, the "sequence" we talked about earlier produces gigantic space leaks. I'm struggling to udnerstand way.
2021-08-17 23:02:49 +0200 <gehmehgeh> int-e: Example: bla = chunksOf 5 [1..1000]
2021-08-17 23:02:58 +0200 <jay-invariant> aegon: between the two of them, I would advocate for using generic where possible. It's more limited in scope, and people who need to cross-compile will thank you!
2021-08-17 23:03:09 +0200 <gehmehgeh> int-e: take 1 $ filter (\x -> head x== 93939393939393) $ sequence bla
2021-08-17 23:03:40 +0200 <gehmehgeh> tomsmeding: ^
2021-08-17 23:05:35 +0200 <gehmehgeh> ah, let me refactor this example
2021-08-17 23:05:35 +0200 <tomsmeding> gehmehgeh: you're using 'sequence' as cartesian product here?
2021-08-17 23:05:43 +0200 <gehmehgeh> int-e: take 1 $ filter (\x -> False) $ sequence bla
2021-08-17 23:05:56 +0200MQ-17J(~MQ-17J@2607:fb90:8824:bf5d:8f75:f298:534b:ce5e) (Read error: Connection reset by peer)
2021-08-17 23:06:01 +0200 <tomsmeding> so bla :: [[a]]
2021-08-17 23:06:07 +0200 <gehmehgeh> yeah
2021-08-17 23:06:35 +0200 <gehmehgeh> just try it out, it take up several GB of RAM in seconds
2021-08-17 23:07:05 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-17 23:07:10 +0200 <tomsmeding> gehmehgeh: is this ghci or a file
2021-08-17 23:07:17 +0200 <gehmehgeh> tomsmeding: both
2021-08-17 23:07:33 +0200 <tomsmeding> are you compiling the file with optimisations :p
2021-08-17 23:07:42 +0200 <gehmehgeh> tomsmeding: yeah
2021-08-17 23:07:43 +0200 <gehmehgeh> -O2
2021-08-17 23:07:55 +0200 <gehmehgeh> well, OK, in the file I don't have the type [[a]]
2021-08-17 23:08:01 +0200 <gehmehgeh> but it's close enough
2021-08-17 23:08:36 +0200 <tomsmeding> fascinating
2021-08-17 23:09:02 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-17 23:10:15 +0200 <gehmehgeh> tomsmeding: hmm, I haven't tried the version I just posted here with -O2 and ghc, but something complicated. Maybe it will actually work as intended if it's just something like [[Int]]
2021-08-17 23:10:49 +0200 <tomsmeding> doesn't work for me and I'm trying to figure out why
2021-08-17 23:10:56 +0200 <tomsmeding> as in, your trivial example explodes
2021-08-17 23:11:31 +0200 <gehmehgeh> that's actually good news for me, because this means the rest of my code is probalby OK
2021-08-17 23:11:35 +0200 <gehmehgeh> *probably
2021-08-17 23:11:42 +0200gambpang(~ishipman@207.181.230.156) (Remote host closed the connection)
2021-08-17 23:11:52 +0200 <gehmehgeh> tomsmeding: you can also try "mapM id", but I guess that's just "sequence"?
2021-08-17 23:12:16 +0200 <gehmehgeh> hm, seems like
2021-08-17 23:12:49 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-17 23:13:17 +0200 <aegon> sshine_: jay-invariant: thanks! i'll be parsing them over the next couple of days
2021-08-17 23:13:48 +0200 <gehmehgeh> tomsmeding: have to go to bed now, I'll be back tomorrow
2021-08-17 23:14:10 +0200polyphem(~polyphem@2a02:810d:640:776c:f4c0:a27a:540e:c15e) (Ping timeout: 272 seconds)
2021-08-17 23:14:14 +0200 <gehmehgeh> tomsmeding: if you somehow find out what the problem is, let me know :) Thanks! :)
2021-08-17 23:14:20 +0200 <tomsmeding> of course :p
2021-08-17 23:14:38 +0200 <tomsmeding> but low expectatiosn
2021-08-17 23:14:43 +0200 <gehmehgeh> sure!
2021-08-17 23:15:09 +0200 <gehmehgeh> it's actually int-e's trick, taken from the "blow your mind" Haskell wiki page
2021-08-17 23:15:30 +0200 <gehmehgeh> good nicht
2021-08-17 23:15:32 +0200 <gehmehgeh> night
2021-08-17 23:15:40 +0200 <tomsmeding> g'night :)
2021-08-17 23:15:43 +0200son0p(~ff@181.136.122.143)
2021-08-17 23:15:46 +0200fernand(~fernand@179.156.35.4)
2021-08-17 23:15:59 +0200 <monochrom> It blows the computer's mind.
2021-08-17 23:16:25 +0200 <monochrom> Galaxy size memory footprint. >:)
2021-08-17 23:17:30 +0200 <monochrom> But IIRC the code of sequence, when applied to [], specifies so much laziness it spends memory memoizing what you intuitively expect to be re-computed rather than memoized.
2021-08-17 23:19:07 +0200 <monochrom> https://stackoverflow.com/questions/3190098/space-leak-in-list-program
2021-08-17 23:20:05 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-17 23:22:09 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 248 seconds)
2021-08-17 23:23:09 +0200Atum_(IRC@user/atum/x-2392232)
2021-08-17 23:25:40 +0200Guest320(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-17 23:25:47 +0200 <Drew[m]1> What's the current cool hip effects library everyone is into these days
2021-08-17 23:26:20 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-17 23:26:28 +0200 <tomsmeding> monochrom: yeah, that seems to be exactly it
2021-08-17 23:26:30 +0200Atum_(IRC@user/atum/x-2392232) (Client Quit)
2021-08-17 23:26:39 +0200 <monochrom> You know what, I think s/cool hip everyone is into/much talked about by vocal minority/ would make more sense.
2021-08-17 23:26:52 +0200 <tomsmeding> sequence is defined somewhat different nowadays, but I'm fairly sure it ends up doing the same thing with regards to sharing the tails
2021-08-17 23:26:53 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-17 23:27:12 +0200 <monochrom> My impression is that the silent majority are still using merely monad transformer stacks.
2021-08-17 23:27:19 +0200 <tomsmeding> (the thing being that the ys argument of cons_f is used multiple times in https://hackage.haskell.org/package/base-4.14.0.0/docs/src/Data.Traversable.html#line-230 )
2021-08-17 23:27:42 +0200 <gehmehgeh> monochrom: cool! thank you!
2021-08-17 23:27:57 +0200 <Drew[m]1> monochrom: Yeah, and so am I, but today I decided I don't know enough about them to hold an informed opinion, hence the inquiry
2021-08-17 23:29:03 +0200 <gehmehgeh> hmm, but isn't the official "sequence" definition (on lists) wrong then?
2021-08-17 23:29:09 +0200 <gehmehgeh> or bad (tm)?
2021-08-17 23:29:43 +0200 <monochrom> I might agree with "bad". I wouldn't agree with "wrong".
2021-08-17 23:30:08 +0200pompez(~martin@user/pompez)
2021-08-17 23:30:46 +0200chris(~chris@81.96.113.213)
2021-08-17 23:30:49 +0200chrisGuest9675
2021-08-17 23:31:46 +0200 <gehmehgeh> hm, anyway, got to go. Thanks for the help
2021-08-17 23:31:51 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-17 23:32:03 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-17 23:32:07 +0200cheater(~Username@user/cheater) (Ping timeout: 245 seconds)
2021-08-17 23:34:34 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee)
2021-08-17 23:35:02 +0200Guest9675(~chris@81.96.113.213) (Ping timeout: 245 seconds)
2021-08-17 23:35:41 +0200sciencentistguy(~sciencent@hacksoc/ordinary-member)
2021-08-17 23:36:23 +0200sciencentistguy(~sciencent@hacksoc/ordinary-member) (Client Quit)
2021-08-17 23:36:25 +0200ubert(~Thunderbi@91.141.56.213.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-08-17 23:37:41 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee) (Quit: leaving)
2021-08-17 23:37:56 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee)
2021-08-17 23:38:01 +0200 <fernand> Hi everyone. I'm trying to import housing data from Numeric.Datasets but the default source url is down (https://github.com/DataHaskell/dh-core/blob/master/datasets/src/Numeric/Datasets.hs#L326). Is there a way to switch the source url?
2021-08-17 23:38:56 +0200 <dsal> fernand: That looks like it is a URL. Can't you just use a different one?
2021-08-17 23:39:33 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee) (Client Quit)
2021-08-17 23:40:10 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-08-17 23:40:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 23:41:42 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-17 23:42:34 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-17 23:43:33 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee)
2021-08-17 23:43:33 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee) (Client Quit)
2021-08-17 23:44:18 +0200 <fernand> dsal that's what I would like to do, but I'm not sure how.
2021-08-17 23:44:56 +0200machinedgod(~machinedg@24.105.81.50) (Read error: Connection reset by peer)
2021-08-17 23:45:07 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-17 23:45:12 +0200 <dsal> Is your problem that something is using that URL and you want to use something different? I'm a bit confused because you could construct your own URL pretty easily, but it sounds like your problem may be something else.
2021-08-17 23:46:09 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee)
2021-08-17 23:46:32 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Read error: Connection reset by peer)
2021-08-17 23:46:43 +0200Matthia__(~Matthias1@2603-8001-b545-4900-4505-341a-d69c-0ea0.res6.spectrum.com)
2021-08-17 23:48:51 +0200Matthia__(~Matthias1@2603-8001-b545-4900-4505-341a-d69c-0ea0.res6.spectrum.com) (Remote host closed the connection)
2021-08-17 23:49:20 +0200Matthias1(~Matthias1@2603-8001-b545-4900-41c7-c56a-b23f-e72e.res6.spectrum.com)
2021-08-17 23:49:28 +0200vysn(~vysn@user/vysn)
2021-08-17 23:51:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-17 23:51:51 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-17 23:52:17 +0200Matthia__(~Matthias1@2603-8001-b545-4900-55c2-9e3a-8dc6-4263.res6.spectrum.com)
2021-08-17 23:53:15 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee) (Quit: leaving)
2021-08-17 23:54:43 +0200Dima[m](~reddima10@2001:470:69fc:105::366)
2021-08-17 23:55:40 +0200Matthias1(~Matthias1@2603-8001-b545-4900-41c7-c56a-b23f-e72e.res6.spectrum.com) (Ping timeout: 240 seconds)