Home freenode/#haskell: Logs Calendar

Logs on 2020-11-04 (freenode/#haskell)

00:00:02 × superfly1 quits (~superfly@84.39.117.57) ()
00:00:45 hekkaidekapus doesn’t mean to snitch but poor Ben in #ghc bearing with our old acquaintance larou :)
00:02:10 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
00:02:55 nbloomf joins (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922)
00:03:20 christo joins (~chris@81.96.113.213)
00:03:38 × SrPx quits (sid108780@gateway/web/irccloud.com/x-yrwlrdlfqyblrniu) (Ping timeout: 264 seconds)
00:03:38 × wpcarro quits (sid397589@gateway/web/irccloud.com/x-acwmxyqgeyskyphp) (Ping timeout: 264 seconds)
00:03:44 × liquorice quits (sid267884@gateway/web/irccloud.com/x-diraasfarzuiqldj) (Ping timeout: 240 seconds)
00:03:44 × joshmeredith quits (sid387798@gateway/web/irccloud.com/x-ewrwlxlkgcoxcbts) (Ping timeout: 240 seconds)
00:03:45 × Cir0X quits (sid221743@gateway/web/irccloud.com/x-smmdmragpgxrsuxw) (Ping timeout: 268 seconds)
00:03:47 × cemerick quits (sid54985@gateway/web/irccloud.com/x-zrzfloaemrmpgqmz) (Read error: Connection reset by peer)
00:03:47 × lally quits (sid388228@gateway/web/irccloud.com/x-vliwvdsdwmscsdor) (Read error: Connection reset by peer)
00:03:47 × banjiewen_ quits (sid115913@gateway/web/irccloud.com/x-eopdvyfizptvmxgr) (Write error: Connection reset by peer)
00:03:47 × natim87 quits (sid286962@gateway/web/irccloud.com/x-hyhuipwwdjkbudmv) (Read error: Connection reset by peer)
00:03:47 × cvlad- quits (sid203065@gateway/web/irccloud.com/x-nspzwlyvupawshac) (Read error: Connection reset by peer)
00:03:47 × fiadliel quits (sid399568@gateway/web/irccloud.com/x-krrigsmeuaxeyvln) (Read error: Connection reset by peer)
00:03:47 × AndreasK quits (sid320732@gateway/web/irccloud.com/x-jqlvoqrfkfkmzsvx) (Read error: Connection reset by peer)
00:03:53 × machinedgod quits (~machinedg@142.169.78.163) (Ping timeout: 260 seconds)
00:04:05 lally joins (sid388228@gateway/web/irccloud.com/x-ajahqmwjiqmyvpjz)
00:04:06 cemerick joins (sid54985@gateway/web/irccloud.com/x-abxbprbujguoyqts)
00:04:06 Cir0X joins (sid221743@gateway/web/irccloud.com/x-aaolygdvoezcqebh)
00:04:06 cvlad- joins (sid203065@gateway/web/irccloud.com/x-rokspjlhyqzgwkmr)
00:04:06 AndreasK joins (sid320732@gateway/web/irccloud.com/x-uioigjqavmrtwcmd)
00:04:07 fiadliel joins (sid399568@gateway/web/irccloud.com/x-vfhgfferfkqpsvwi)
00:04:09 banjiewen_ joins (sid115913@gateway/web/irccloud.com/x-xuhcxuunqkywfagg)
00:04:09 natim87 joins (sid286962@gateway/web/irccloud.com/x-olzvsuojmvwuxdem)
00:04:13 moistoreos joins (~moist_ore@99-160-143-51.lightspeed.nsvltn.sbcglobal.net)
00:04:22 × eruditass quits (uid248673@gateway/web/irccloud.com/x-hmiqmtrgdlavbpwr) (Ping timeout: 268 seconds)
00:04:27 × ryjm quits (sid383513@gateway/web/irccloud.com/x-ddgnxwnpegroygna) (Ping timeout: 260 seconds)
00:04:44 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
00:04:50 × ebutleriv quits (sid217783@gateway/web/irccloud.com/x-pfvqbqpaoeusjfcx) (Ping timeout: 264 seconds)
00:04:51 joshmeredith joins (sid387798@gateway/web/irccloud.com/x-sxpuerlncnrlahqm)
00:05:03 wpcarro joins (sid397589@gateway/web/irccloud.com/x-vqtnwwuckwrwiioj)
00:05:24 liquorice joins (sid267884@gateway/web/irccloud.com/x-kyqvqvczajcsjcev)
00:05:48 <dminuoso> hekkaidekapus: larou is markov chaining #nixos as well
00:05:50 machinedgod joins (~machinedg@207.253.244.210)
00:06:01 <dminuoso> Are they an old acquainance?
00:06:06 <hekkaidekapus> heheheheh…
00:06:07 ebutleriv joins (sid217783@gateway/web/irccloud.com/x-smeovyzgvmjpfemr)
00:06:20 ryjm joins (sid383513@gateway/web/irccloud.com/x-vjmcrbfkcwlkcexr)
00:06:27 SrPx joins (sid108780@gateway/web/irccloud.com/x-pdttujrjixkduttv)
00:06:41 eruditass joins (uid248673@gateway/web/irccloud.com/x-xzxytktqpfjekcra)
00:06:47 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
00:06:57 <hekkaidekapus> Yeah, tomsmeding had some data that they may be fog reincarnated.
00:07:30 hackage reflex-dom-retractable 0.1.5.0 - Routing and retractable back button for reflex-dom https://hackage.haskell.org/package/reflex-dom-retractable-0.1.5.0 (NCrashed)
00:07:41 <dminuoso> well fog seemed like a real person
00:07:56 <hekkaidekapus> hahahahaha… AI gone wrong :D
00:08:27 <bqv> i used inline-c for my program
00:08:29 <bqv> i'm regretting it
00:08:34 <bqv> and loving it at the same time...
00:09:04 <dminuoso> hekkaidekapus: Gosh, if I stare at whats been written in both #nixos and #ghc...
00:09:06 <bqv> but i think i'm going to have to rip it out and use something else
00:09:10 <gobbleguy> Let's keep the turing-test speculation out of this channel though
00:09:15 <dminuoso> That's gotta be a markov chain generator.
00:09:35 christo joins (~chris@81.96.113.213)
00:10:40 <bqv> it can't be purely markov
00:10:46 <bqv> it responded to your questions accurately
00:11:28 <gobbleguy> bqv: please
00:11:48 <bqv> i mean in terms of grammar! not sense...
00:12:02 <gobbleguy> bqv: can you read my messages?
00:12:09 <bqv> oh
00:13:19 argent0 joins (~argent0@168.227.97.5)
00:13:27 zhenchaoli joins (~user@2601:641:8000:4f00:955e:b059:4f08:2b29)
00:14:27 × christo quits (~chris@81.96.113.213) (Ping timeout: 258 seconds)
00:15:01 hackage reflex-dom-retractable 0.1.6.0 - Routing and retractable back button for reflex-dom https://hackage.haskell.org/package/reflex-dom-retractable-0.1.6.0 (NCrashed)
00:15:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:16:09 × zhenchaoli quits (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Client Quit)
00:16:42 christo joins (~chris@81.96.113.213)
00:16:59 zhenchaoli joins (~user@2601:641:8000:4f00:955e:b059:4f08:2b29)
00:19:38 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
00:19:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
00:19:43 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
00:20:42 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
00:21:50 christo joins (~chris@81.96.113.213)
00:25:21 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
00:25:35 christo joins (~chris@81.96.113.213)
00:28:29 × conal_ quits (~conal@64.71.133.70) (Ping timeout: 256 seconds)
00:29:18 conal joins (~conal@64.71.133.70)
00:30:30 Tario joins (~Tario@201.192.165.173)
00:31:38 aarvar joins (~foewfoiew@c.24.56.239.179.static.broadstripe.net)
00:31:38 × conal quits (~conal@64.71.133.70) (Read error: Connection reset by peer)
00:31:44 aarvar parts (~foewfoiew@c.24.56.239.179.static.broadstripe.net) ()
00:33:48 conal joins (~conal@64.71.133.70)
00:35:08 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
00:37:58 × jess quits (jess@freenode/staff/jess) (Quit: Leaving)
00:38:09 × conal quits (~conal@64.71.133.70) (Client Quit)
00:40:06 carlomagno1 joins (~cararell@148.87.23.13)
00:40:42 × akad_ quits (~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 265 seconds)
00:41:38 × xff0x quits (~fox@2001:1a81:53b4:ba00:49d8:d2a:69a9:1ef4) (Ping timeout: 246 seconds)
00:41:40 × dbmikus_ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds)
00:41:40 × LKoen quits (~LKoen@79.160.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
00:42:09 × carlomagno quits (~cararell@148.87.23.4) (Ping timeout: 265 seconds)
00:42:49 xff0x joins (~fox@2001:1a81:53b4:ba00:98f7:2de1:6246:9047)
00:45:04 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
00:46:46 × russruss8 quits (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat)
00:47:03 russruss84 joins (~russruss@my.russellmcc.com)
00:47:07 × livvy quits (~livvy@gateway/tor-sasl/livvy) (Quit: Network issue or system upgrade probably)
00:50:10 × russruss84 quits (~russruss@my.russellmcc.com) (Client Quit)
00:50:52 russruss84 joins (~russruss@my.russellmcc.com)
00:50:54 <koz_> If I'm looking at profiteur results, and am like, 100 functions deep, is there a way to get the 'top' thing to be somethign 100 functions deep, and not like, main?
00:52:51 <dminuoso> koz_: Can you rephrase the question?
00:53:23 <koz_> dminuoso: Profiteur gives you a graphical view of how much time you spend where.
00:53:35 <koz_> And this gets subdivided as you 'descend' into functions called by other functions.
00:53:40 <koz_> I'm like, 100 such descents in.
00:53:50 <koz_> And as a result, I have huge amounts of visual noise from the graphical view.
00:53:54 <koz_> I wanna eliminate that noise.
00:54:00 <dminuoso> koz_: Ohh haha. Lacking that information, that sentence read like completely gibberish.
00:54:21 <koz_> dminuoso: Sorry, I've been chasing parser bugs all day and seem to be incapable of forming sentences.
00:55:15 <koz_> Found it, never mind.
00:55:19 <koz_> Handy zoom button.
00:55:27 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
00:56:02 falafel joins (~falafel@173-19-187-164.client.mchsi.com)
00:59:59 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
01:00:20 christo joins (~chris@81.96.113.213)
01:01:52 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
01:01:58 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
01:02:23 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
01:03:49 × m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds)
01:03:56 plutoniix joins (~q@175.176.222.7)
01:04:27 xiinotulp joins (~q@175.176.222.7)
01:04:47 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:04:56 × christo quits (~chris@81.96.113.213) (Ping timeout: 260 seconds)
01:05:28 conal joins (~conal@64.71.133.70)
01:07:04 × jakob_ quits (~textual@p200300f49f1622003cfc249d5991ef23.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
01:07:26 × argent0 quits (~argent0@168.227.97.5) (Ping timeout: 256 seconds)
01:09:06 dbmikus_ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
01:09:51 × conal quits (~conal@64.71.133.70) (Client Quit)
01:12:09 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection)
01:14:03 × dbmikus_ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds)
01:14:57 × xiinotulp quits (~q@175.176.222.7) (Quit: Leaving)
01:15:27 × alp quits (~alp@2a01:e0a:58b:4920:99ca:9a50:cea9:e213) (Ping timeout: 272 seconds)
01:16:38 argent0 joins (~argent0@168.227.97.5)
01:17:21 dbmikus_ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
01:18:56 × tmciver quits (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 260 seconds)
01:19:52 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
01:20:47 × invaser quits (~Thunderbi@31.148.23.125) (Quit: invaser)
01:20:51 tmciver joins (~tmciver@172.101.40.226)
01:21:05 invaser joins (~Thunderbi@31.148.23.125)
01:23:28 Lord_of_Life_ joins (~Lord@46.217.221.241)
01:23:39 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
01:24:46 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 246 seconds)
01:26:05 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds)
01:27:48 jamm_ joins (~jamm@unaffiliated/jamm)
01:28:25 × machinedgod quits (~machinedg@207.253.244.210) (Ping timeout: 264 seconds)
01:29:57 machinedgod joins (~machinedg@142.169.78.180)
01:30:29 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
01:30:59 <bqv> dminuoso: can i have a nix shellFor with c2hs in it?
01:32:18 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 256 seconds)
01:32:26 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
01:35:40 aarvar1 joins (~foewfoiew@c.24.56.239.179.static.broadstripe.net)
01:35:52 aarvar1 parts (~foewfoiew@c.24.56.239.179.static.broadstripe.net) ()
01:36:17 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
01:42:25 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
01:44:24 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
01:47:13 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
01:51:30 texasmyn_ is now known as texasmynsted_
01:51:46 × texasmynsted_ quits (~texasmyns@64.44.55.36) ()
01:52:08 texasmyn_ joins (~texasmyns@64.44.55.36)
01:53:06 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
01:53:10 texasmyn_ is now known as texasmynsted_
01:53:40 Tario joins (~Tario@201.192.165.173)
01:56:45 christo joins (~chris@81.96.113.213)
01:57:12 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
01:58:23 jamm_ joins (~jamm@unaffiliated/jamm)
01:58:38 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds)
01:58:47 × zhenchaoli quits (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Ping timeout: 260 seconds)
01:59:27 drbean joins (~drbean@TC210-63-209-70.static.apol.com.tw)
02:00:50 zhenchaoli joins (~user@2601:641:8000:4f00:955e:b059:4f08:2b29)
02:03:14 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
02:03:28 × xsperry quits (~as@unaffiliated/xsperry) (Ping timeout: 260 seconds)
02:06:49 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
02:07:20 × st8less quits (~st8less@2603:a060:11fd:0:357c:d497:b907:2901) (Quit: WeeChat 2.7.1)
02:07:25 wei2912 joins (~wei2912@unaffiliated/wei2912)
02:07:45 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
02:09:08 texasmynsted is now known as Guest6044
02:09:08 × Guest6044 quits (~texasmyns@99.96.221.112) (Killed (hitchcock.freenode.net (Nickname regained by services)))
02:09:08 texasmynsted_ is now known as texasmynsted
02:09:30 × justan0theruser quits (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9)
02:09:57 texasmynsted_ joins (~texasmyns@99.96.221.112)
02:10:16 × vnz quits (~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in)
02:12:06 vnz joins (~vnz@2001:bc8:604:94f::1)
02:12:06 × vnz quits (~vnz@2001:bc8:604:94f::1) (Changing host)
02:12:06 vnz joins (~vnz@unaffiliated/vnz)
02:13:24 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
02:13:57 × pera quits (~pera@unaffiliated/pera) (Quit: leaving)
02:14:01 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
02:15:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:16:56 jbox joins (~atlas@unaffiliated/jbox)
02:17:00 hackage reflex-ghci 0.1.5.0 - A GHCi widget library for use in reflex applications https://hackage.haskell.org/package/reflex-ghci-0.1.5.0 (abrar)
02:18:38 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
02:20:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
02:20:34 jamm__ joins (~jamm@unaffiliated/jamm)
02:21:32 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
02:22:29 Deide1 joins (~Deide@217.155.19.23)
02:23:19 × Deide1 quits (~Deide@217.155.19.23) (Client Quit)
02:23:20 × Deide quits (~Deide@217.155.19.23) (Ping timeout: 260 seconds)
02:26:29 × jrm quits (~jrm@freebsd/developer/jrm) (Quit: ciao)
02:26:55 jrm joins (~jrm@freebsd/developer/jrm)
02:27:25 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 246 seconds)
02:27:32 × nuncanada quits (~dude@179.235.160.168) (Quit: Leaving)
02:27:55 × falafel quits (~falafel@173-19-187-164.client.mchsi.com) (Remote host closed the connection)
02:28:16 falafel joins (~falafel@173-19-187-164.client.mchsi.com)
02:28:43 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
02:29:24 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:29:44 shatriff joins (~vitaliish@176.52.219.10)
02:30:12 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:30:32 shatriff joins (~vitaliish@176.52.219.10)
02:31:01 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:31:04 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds)
02:31:19 shatriff joins (~vitaliish@176.52.219.10)
02:31:31 <bqv> forget it. just using a v1-sandbox instead
02:31:49 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:32:06 shatriff joins (~vitaliish@176.52.219.10)
02:32:37 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
02:32:42 × jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:33:22 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
02:34:04 × drbean quits (~drbean@TC210-63-209-70.static.apol.com.tw) (Ping timeout: 256 seconds)
02:35:03 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:35:47 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
02:36:02 blissful joins (~azuline@unaffiliated/azuline)
02:36:41 × dddddd quits (~dddddd@unaffiliated/dddddd) (Ping timeout: 268 seconds)
02:39:12 nbloomf joins (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922)
02:40:18 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
02:42:33 × dbmikus_ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
02:45:39 dddddd joins (~dddddd@unaffiliated/dddddd)
02:46:05 toorevitimirp joins (~tooreviti@117.182.183.132)
02:50:18 Jeanne-Kamikaze joins (~Jeanne-Ka@68.235.43.110)
02:50:30 xsperry joins (~as@unaffiliated/xsperry)
02:52:56 × howdoi quits (uid224@gateway/web/irccloud.com/x-wivnzygvcxbkqyle) (Quit: Connection closed for inactivity)
02:53:26 christo joins (~chris@81.96.113.213)
02:55:31 × xff0x quits (~fox@2001:1a81:53b4:ba00:98f7:2de1:6246:9047) (Ping timeout: 272 seconds)
02:57:00 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
02:57:08 xff0x joins (~fox@2001:1a81:53f2:500:906a:a806:825e:ad98)
02:57:16 × jbox quits (~atlas@unaffiliated/jbox) (Quit: bye o/)
02:58:13 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 246 seconds)
03:00:37 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
03:01:45 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
03:04:53 <jle`> / 1
03:07:30 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
03:07:59 lagothrix is now known as Guest18234
03:07:59 × Guest18234 quits (~lagothrix@unaffiliated/lagothrix) (Killed (tolkien.freenode.net (Nickname regained by services)))
03:08:04 lagothrix joins (~lagothrix@unaffiliated/lagothrix)
03:11:50 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
03:12:20 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
03:16:32 hackage scheduler 1.5.0 - Work stealing scheduler. https://hackage.haskell.org/package/scheduler-1.5.0 (lehins)
03:16:32 × machinedgod quits (~machinedg@142.169.78.180) (Ping timeout: 260 seconds)
03:16:33 × mozzarella quits (~sam@unaffiliated/sam113101) (Quit: WeeChat 2.8)
03:17:50 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
03:22:36 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
03:23:05 × falafel quits (~falafel@173-19-187-164.client.mchsi.com) (Ping timeout: 240 seconds)
03:24:46 × ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 272 seconds)
03:26:13 × theDon quits (~td@94.134.91.45) (Ping timeout: 246 seconds)
03:27:44 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
03:28:11 theDon joins (~td@94.134.91.97)
03:32:20 dbmikus_ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
03:32:26 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
03:33:39 × argent0 quits (~argent0@168.227.97.5) (Quit: leaving)
03:33:46 × tessier quits (~treed@kernel-panic/copilotco) (Quit: leaving)
03:34:22 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
03:36:31 × meowphius quits (~meowphius@pool-173-76-247-88.bstnma.fios.verizon.net) (Quit: Leaving)
03:37:26 × dbmikus_ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 272 seconds)
03:38:29 conal joins (~conal@64.71.133.70)
03:38:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:41:30 hackage massiv 0.5.5.0 - Massiv (Массив) is an Array Library. https://hackage.haskell.org/package/massiv-0.5.5.0 (lehins)
03:43:58 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
03:44:24 christo joins (~chris@81.96.113.213)
03:44:31 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 258 seconds)
03:46:02 × DTZUZU_ quits (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 256 seconds)
03:47:07 × lucasb quits (uid333435@gateway/web/irccloud.com/x-uaaedzwtlfjjcpgy) (Quit: Connection closed for inactivity)
03:48:52 DTZUZU_ joins (~DTZUZU@207.81.171.87)
03:51:35 Lycurgus joins (~niemand@98.4.97.110)
03:56:12 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
03:56:14 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
03:58:15 ddellacosta joins (~dd@86.106.121.168)
04:00:26 Rudd0 joins (~Rudd0@185.189.115.108)
04:03:13 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
04:03:37 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
04:03:45 × jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds)
04:04:36 mozzarella joins (~sam@unaffiliated/sam113101)
04:04:44 × texasmynsted quits (~texasmyns@64.44.55.36) ()
04:06:20 jespada joins (~jespada@90.254.245.49)
04:06:40 Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
04:08:17 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
04:10:53 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:11:41 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
04:14:55 × miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
04:15:28 miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7)
04:15:48 × ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 260 seconds)
04:15:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:15:49 × miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Client Quit)
04:16:15 DTZUZU_ is now known as DTZUZU
04:17:19 miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7)
04:19:21 elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
04:20:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
04:26:26 × xff0x quits (~fox@2001:1a81:53f2:500:906a:a806:825e:ad98) (Ping timeout: 264 seconds)
04:27:19 xff0x joins (~fox@2001:1a81:53f2:500:c561:3916:a8eb:5c4a)
04:29:15 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
04:30:47 tsdgeos joins (~tsdgeos@195.140.213.38)
04:32:23 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
04:33:53 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:38:14 × jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
04:39:11 jamm_ joins (~jamm@unaffiliated/jamm)
04:39:32 × macrover quits (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 260 seconds)
04:40:08 mdunnio joins (~mdunnio@208.59.170.5)
04:42:47 × solonarv quits (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) (Read error: Connection reset by peer)
04:43:08 mdunnio_ joins (~mdunnio@208.59.170.5)
04:43:17 solonarv joins (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr)
04:44:27 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
04:45:12 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 272 seconds)
04:45:39 × brodie_ quits (~brodie@207.53.253.137) (Read error: Connection reset by peer)
04:48:22 × mdunnio_ quits (~mdunnio@208.59.170.5) (Ping timeout: 272 seconds)
04:48:55 × solonarv quits (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) (Ping timeout: 258 seconds)
04:49:00 jamm_ joins (~jamm@unaffiliated/jamm)
04:49:31 coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
04:54:05 <bqv> so I have some class MyClass a b | a -> b
04:54:49 <bqv> does that mean i can elsewhere use the type (MyClass a b) => b
04:55:07 <bqv> in lieu of b directly, with a being concrete
04:55:15 <bqv> and if so, what extension do i have to enable to make that happen
04:56:16 motherfsck joins (~motherfsc@unaffiliated/motherfsck)
04:56:45 <ski> it means you're allowed to mention just `a' without `b' in a type, constrained by `MyClass a b'
04:57:56 <bqv> hmm
04:57:58 Tario joins (~Tario@201.192.165.173)
04:58:02 <bqv> ok so that's not my problem
04:58:07 <ski> because `a' (functionally) determines `b', so the presence of `a' means that `b' will be unique, fixed by `a'
04:58:16 <ski> the relevant extensions are `MultiParamTypeClasses' and `FunctionalDependencies'
04:58:18 <bqv> yeah
04:59:06 <bqv> it seems my problem is that i'm trying to do this in a foreign import :D
04:59:40 <ski> the Functional dependency `a -> b' here, on `MyClass a b c' (say. add an extra `c', just to make it more general) means logically that `forall a. unique b. exists c. MyClass a b c' : for every `a', there can be at most one `b' such that there's some `c' with `MyClass a b c'
04:59:49 Katarushisu3 joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
05:00:45 <bqv> what I'm basically trying to achieve is a typelevel function
05:01:00 <ski> this is also logically equivalent to `forall a b0 b1 c0 c1. (MyClass a b0 c0,MyClass a b1 c1) => b0 = b1' : if you have two possible instances, with the same `a', then the `b's also must agree, be the same, never mind the `c's
05:01:01 <bqv> which that would do, but i can't use constraints in foreign
05:01:02 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 272 seconds)
05:01:02 Katarushisu3 is now known as Katarushisu
05:01:14 <bqv> or perhaps i can alias it...
05:01:22 <bqv> no, because a constraint is part of the type
05:01:38 brodie_ joins (~brodie@207.53.253.137)
05:01:44 <ski> hm. i don't think you can have type-clas-constrained foreign imports
05:02:00 brodie_ is now known as brodie
05:02:42 <bqv> ok, turn it around then, can i instance a class with an implicitly typed second parameter?
05:02:57 <gobbleguy> IF you have a specific thing you're trying to do it might be worth just asking about that
05:02:59 <ski> i don't know what you mean by that
05:03:34 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 272 seconds)
05:03:58 <ski> "what I'm basically trying to achieve is a typelevel function" -- do you mean like a `type' / `data' family (possibly an associated type) ?
05:04:50 <bqv> yeah
05:04:53 <bqv> but that doesn't work
05:05:00 <bqv> because of the foreign issue
05:05:50 <bqv> so now perhaps i'd like to omit the second type parameter of an instance (and have it inferred from the definition)
05:06:44 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 272 seconds)
05:06:53 jrqc joins (~rofl@96.78.87.197)
05:07:09 <ski> i guess you could possibly make an overloaded operation that takes operations from the dictionary and passes them explicitly to a foreignly imported operation
05:07:30 <ski> omit it, where ? in a type signature ?
05:08:54 <bqv> yes, say `instance MyClass MyA b where member = myForeignImport`
05:09:16 <ski> where `member' has what type ?
05:09:32 <bqv> b
05:09:40 <bqv> oh
05:09:51 <ski> also, `MyClass MyA b' doesn't seem to satisfy the FD `a -> b' on `MyClass a b'
05:10:20 <bqv> can't b be inferred?
05:10:20 <ski> (unless maybe if the kind of `b' only admits one possibility, being a singleton kind)
05:11:04 <ski> if you say `instance MyClass MyA b where ...' you're claiming that, for all `b's, `MyClass MyA b' is an instance
05:11:18 <bqv> right, implicit forall
05:11:42 <bqv> darn.
05:11:47 <bqv> guess i'll do it the boring way
05:13:09 <ski> hm. i was thinking maybe you could do `instance MyClass MyA _ where ...', using `PartialTypeSignatures', but it seems that's not allowed
05:13:52 <bqv> heh
05:13:56 Tario joins (~Tario@201.192.165.173)
05:14:41 × irc_user quits (uid423822@gateway/web/irccloud.com/x-mlbnqpkqljzoxqfd) (Quit: Connection closed for inactivity)
05:15:55 × Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
05:18:10 <ski> (hm, also it seems it doesn't work, if `b' is a `data' kind with just one (parameterless) constructor)
05:18:42 × Lycurgus quits (~niemand@98.4.97.110) (Quit: Exeunt)
05:19:14 <bqv> data as opposed to * ?
05:19:17 <bqv> first i've seen
05:19:22 <ski> yes
05:19:31 <bqv> what do they signify?
05:20:02 jedws joins (~jedws@101.184.150.81)
05:20:48 <ski> can be used to "tag" (GADT) `data' constructors, e.g. to indicate some kind of "state" or current "mode" in which something is used
05:21:13 <ski> you should probably first look into `GADTs'
05:21:26 <bqv> hm, i see
05:21:47 <bqv> i've seen GADTs before, just not solid on the theoretical background
05:21:51 × jedws quits (~jedws@101.184.150.81) (Client Quit)
05:22:52 <ski> a very simple example could be an indexed state monad, which keeps track of (in the types) whether something is "open" or "closed". certain state-operations can only be done in certain states
05:24:32 <ski> (there are nicer examples, but i can't recall any, off the top of my head, atm)
05:24:57 <bqv> np :)
05:26:59 <ski> hm, i guess another example is to have a finite map, where the values associated with different keys, in the same map, can have different types. each key will know the type of the corresponding value
05:28:06 <ski> (or more generally, each key determines a "tag", and you have a value type that given a tag determines what type the corresponding value will have. so the tag doesn't have to be the value type itself, but it could determine it)
05:28:32 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
05:28:37 <bqv> hm
05:29:22 <ski> @hackage dependent-map
05:29:22 <lambdabot> https://hackage.haskell.org/package/dependent-map
05:30:30 <ski> the key type will generally be a GADT, and the value type could also be one. `Identity' is another common choice for it
05:33:08 <bqv> heh, obsidian systems. i know of them from another context
05:33:11 dbmikus_ joins (~dbmikus@76.167.86.219)
05:33:13 <ski> so if you have `data Key :: * -> * where Name :: Key String; Address :: Key String; Age :: Key Int' then `DMap Key Identity' can have at most three associations. one mapping `Name' to a `String' value, one mapping `Address' to a `String' value, and one mapping `Age' to an `Int' value
05:33:25 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
05:34:04 <ski> (in this case the "tag" is just an ordinary (concrete) type, of kind `*'. so this is not an example of `DataKinds')
05:35:32 <bqv> i follow, vaguely enough
05:35:43 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
05:37:51 <ski> `DMap' is a way to have a "heterogenous" finite map. `DMap k v' is roughly `[exists i. (k i,v i)]' (except more efficient, presumably using a search tree instead of a list), where the index `i' is the "tag", each different association pair can have a different `i'
05:37:59 × dbmikus_ quits (~dbmikus@76.167.86.219) (Ping timeout: 258 seconds)
05:39:02 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
05:40:45 <ski> by pattern-matching on the value of `GADT' `k i', we can recover `i', discovering which specific index/tag was used in an association. this happens when we compare the given key with the keys in the map, discovering the `i's are the same, in case the two keys are equal
05:41:45 day_ joins (~Unknown@unaffiliated/day)
05:43:58 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
05:44:32 × acidjnk_new2 quits (~acidjnk@p200300d0c718f623213d210801ac68e4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
05:44:49 × day quits (~Unknown@unaffiliated/day) (Ping timeout: 246 seconds)
05:44:49 day_ is now known as day
05:45:40 × elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
05:49:12 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
05:49:50 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 264 seconds)
05:49:56 jbox joins (~atlas@unaffiliated/jbox)
05:51:34 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
05:54:28 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
05:54:32 guest1334598235 joins (83e40215@131.228.2.21)
05:55:27 × tsdgeos quits (~tsdgeos@195.140.213.38) (Remote host closed the connection)
05:55:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
05:59:18 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:04:05 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
06:05:31 hackage generic-functor 0.2.0.0 - Deriving generalized functors with GHC.Generics https://hackage.haskell.org/package/generic-functor-0.2.0.0 (lyxia)
06:07:13 hiroaki_ joins (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
06:08:39 × hiroaki quits (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
06:09:29 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:10:45 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 256 seconds)
06:14:18 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
06:16:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:19:43 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:20:48 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
06:24:22 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
06:28:54 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:29:03 × mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 2.9)
06:30:14 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:33:02 shatriff joins (~vitaliish@176.52.219.10)
06:35:21 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
06:36:30 × Jeanne-Kamikaze quits (~Jeanne-Ka@68.235.43.110) (Quit: Leaving)
06:46:01 × zebrag quits (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
06:48:25 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:48:44 zebrag joins (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr)
06:52:50 × zhenchaoli quits (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Ping timeout: 264 seconds)
06:54:23 zhenchaoli joins (~user@2601:641:8000:4f00:955e:b059:4f08:2b29)
06:55:16 elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
06:55:22 × Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 256 seconds)
06:55:54 <bqv> TIL: it's possible to write a file between the time GHC attempts to compile it and displays the error, so the displayed code doesn't match the error it shows
06:59:46 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:00:04 × zebrag quits (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
07:00:36 × elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
07:03:22 idhugo joins (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net)
07:05:37 dbmikus_ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
07:06:51 × mmohammadi9812 quits (~mmohammad@188.210.118.100) (Read error: Connection reset by peer)
07:08:49 × idhugo quits (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
07:09:29 mmohammadi9812 joins (~mmohammad@80.210.50.162)
07:10:29 knupfer joins (~Thunderbi@i5E86B46C.versanet.de)
07:11:47 mananamenos joins (~mananamen@84.122.202.215.dyn.user.ono.com)
07:13:12 berberman joins (~berberman@unaffiliated/berberman)
07:14:22 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
07:14:49 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
07:14:55 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
07:15:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:17:20 <suzu_> big unlucky
07:17:35 <bqv> oh no it was fine, i noticed it instantly
07:19:36 christo joins (~chris@81.96.113.213)
07:20:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
07:22:14 gtk joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
07:22:26 alp joins (~alp@2a01:e0a:58b:4920:99ca:9a50:cea9:e213)
07:22:45 × mmohammadi9812 quits (~mmohammad@80.210.50.162) (Ping timeout: 240 seconds)
07:23:06 mmohammadi9812 joins (~mmohammad@2.178.222.196)
07:24:46 × christo quits (~chris@81.96.113.213) (Ping timeout: 265 seconds)
07:25:06 christo joins (~chris@81.96.113.213)
07:25:15 × dbmikus_ quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds)
07:26:18 chaosmasttter joins (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de)
07:29:05 <gtk> What is: 'type instance' in 'type instance G.Mutable Vector = MVector' ?
07:30:05 <opqdonut> type families
07:30:11 <suzu_> it means that the type 'G.Mutable Vector' resolves to 'MVector'
07:30:27 <opqdonut> it's a language extension that lets you, basically, define type-level functions
07:30:32 <suzu_> ^
07:30:45 porvak joins (~porvak@84.39.116.180)
07:32:12 <gtk> So G.Mutable is a type function which takes in Vector and output MVector?
07:32:18 × guest1334598235 quits (83e40215@131.228.2.21) (Remote host closed the connection)
07:33:51 kish` joins (~oracle@unaffiliated/oracle)
07:35:12 yoneda joins (~mike@193.206.102.122)
07:35:31 hackage protocol-buffers-descriptor 2.4.16 - Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification https://hackage.haskell.org/package/protocol-buffers-descriptor-2.4.16 (k_bx)
07:35:34 <opqdonut> gtk: yeah
07:35:45 <gtk> opqdonut: and then 'data family MVector s a'.
07:36:05 × kish quits (~oracle@unaffiliated/oracle) (Ping timeout: 240 seconds)
07:36:22 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 265 seconds)
07:36:22 <gtk> opqdonut: Can I understand that MVector is also a type level function?
07:36:31 hackage protocol-buffers 2.4.16, hprotoc 2.4.16 (k_bx): https://qbin.io/wu-ms-aaza
07:36:35 <opqdonut> yeah
07:36:50 <gtk> which takes in s and a and produces a new type?
07:36:52 <opqdonut> except now it's a _data_ family, not a _type_ family, which is slightly different
07:37:08 <opqdonut> yeah, exactly, the difference is that it results in a new type, not an existing type
07:37:17 <gtk> i see!
07:37:58 × kish` quits (~oracle@unaffiliated/oracle) (Read error: Connection reset by peer)
07:38:25 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
07:38:30 linker joins (~linker@185.12.21.77)
07:39:09 christo joins (~chris@81.96.113.213)
07:49:32 <int-e> > let step m d = M.fromListWith (+) $ do (v,n) <- M.assocs m; [(v,n),(v+d,n)] in foldl step (M.singleton 0 1) [55,38,29,29,20,20,18,16,16,15,14,13,12,11,11,11,11,10,10,10,10,9,9,9,8,8,7,7,7,6,6,6,6,6,6,5,5,5,4,4,4,4,4,3,3,3,3,3,3,3,3] M.! 269
07:49:35 <lambdabot> 16976480564070
07:49:56 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
07:50:24 Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
07:53:44 × tdhttt quits (~tdhttt@2600:8802:2203:2500:7dae:b2c2:4784:ea3f) (Ping timeout: 240 seconds)
07:54:44 dhouthoo joins (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be)
07:55:29 xerox_ joins (~xerox@unaffiliated/xerox)
07:56:08 tdhttt joins (~tdhttt@89.45.90.161)
07:58:17 × johnstein quits (~johnstein@192.73.239.18) (Ping timeout: 258 seconds)
07:58:51 johnstein joins (~johnstein@192.73.239.18)
07:59:17 × zhenchaoli quits (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Ping timeout: 260 seconds)
08:00:35 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
08:00:47 × jbox quits (~atlas@unaffiliated/jbox) (Quit: WeeChat 2.9)
08:00:57 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
08:01:46 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Remote host closed the connection)
08:02:02 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
08:02:34 × brodie quits (~brodie@207.53.253.137) (Quit: brodie)
08:04:53 Sanchayan joins (~Sanchayan@2401:4900:33b4:be84:783e:93bf:dec8:5aeb)
08:05:12 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
08:05:13 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
08:05:30 kuribastard joins (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be)
08:09:13 × knupfer quits (~Thunderbi@i5E86B46C.versanet.de) (Ping timeout: 260 seconds)
08:09:38 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
08:12:22 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
08:14:43 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
08:19:00 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
08:21:28 × Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
08:21:49 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
08:22:18 cfricke joins (~cfricke@unaffiliated/cfricke)
08:23:21 idhugo joins (~idhugo@users-1190.st.net.au.dk)
08:26:17 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:29:49 chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
08:30:07 borne joins (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de)
08:31:17 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
08:31:45 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer)
08:32:20 britva joins (~britva@2a02:aa13:7240:2980:292a:d07d:3ab9:26ba)
08:33:51 Varis joins (~Tadas@unaffiliated/varis)
08:38:04 × gtk quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
08:39:41 × MindlessDrone quits (~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 258 seconds)
08:41:19 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
08:42:27 × porvak quits (~porvak@84.39.116.180) (Remote host closed the connection)
08:43:49 MindlessDrone joins (~MindlessD@unaffiliated/mindlessdrone)
08:45:47 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
08:46:29 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
08:50:58 × bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 256 seconds)
08:51:18 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
08:51:35 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
08:51:57 bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com)
08:52:40 vfaronov parts (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) ()
08:53:13 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
08:53:21 × alp quits (~alp@2a01:e0a:58b:4920:99ca:9a50:cea9:e213) (Remote host closed the connection)
08:53:34 <bqv> gosh it's remarkably hard to make the impossible happen
08:53:36 alp joins (~alp@2a01:e0a:58b:4920:3d11:8aac:3a15:f482)
08:53:52 <bqv> ghc: panic! Loading temp shared object failed
08:56:04 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
08:57:22 <idnar> bqv: reminds me of that ghc bug where if typechecking failed it would delete the source file
08:57:31 <bqv> D:
08:57:36 <bqv> that sounds AWFUL
08:57:51 <merijn> to be fair, that was never released :p
08:58:04 <bqv> phew
08:58:18 <dminuoso> bqv: No it's quite good actually
08:58:28 <dminuoso> What better way to force you to write good code.
08:58:38 <dminuoso> It either does the right thing or not exist at all!
08:58:45 <bqv> how very ..rusian
08:58:49 m0rphism joins (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de)
08:59:28 <[exa]> "make bad code irrepresentable" has never gone further!
08:59:32 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
08:59:57 nefercheprure joins (tma@twin.jikos.cz)
09:00:05 <dminuoso> Also it ensures you never leave your working free in an uncompilable state.
09:00:18 × nefercheprure quits (tma@twin.jikos.cz) (Client Quit)
09:00:28 <dminuoso> Can we bring it back in?
09:00:29 <[exa]> is this the future?
09:00:36 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
09:00:41 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
09:02:07 <[exa]> dminuoso: not everyone will really like it, I suggest -XPenance
09:02:53 <bqv> -fno-sacrilege
09:03:26 <[exa]> :]
09:04:34 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
09:05:40 <maerwald> merijn: prelude made it impossible to ship that patch
09:05:49 × notnatebtw quits (~nate@125.161.131.218) (Quit: WeeChat 2.9)
09:07:52 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
09:09:24 thc202 joins (~thc202@unaffiliated/thc202)
09:09:42 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
09:09:56 fendor joins (~fendor@77.119.128.11.wireless.dyn.drei.com)
09:14:29 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
09:16:50 × Sanchayan quits (~Sanchayan@2401:4900:33b4:be84:783e:93bf:dec8:5aeb) (Ping timeout: 264 seconds)
09:17:04 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Remote host closed the connection)
09:17:20 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
09:19:55 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
09:21:06 Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it)
09:22:30 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
09:23:52 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
09:24:20 <dminuoso> [exa]: Will it be part of glasgow-exts?
09:24:41 __monty__ joins (~toonn@unaffiliated/toonn)
09:24:50 <dminuoso> Also, perhaps we could enable it by default with TypeInType
09:25:08 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds)
09:26:53 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
09:29:14 <typetetris> Is there a compiler/rts option to always open stdin and the like in binary mode?
09:30:01 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
09:31:27 kritzefitz joins (~kritzefit@p200300ecdf05be00f1ae985ba6d99bb3.dip0.t-ipconnect.de)
09:32:15 × kritzefitz quits (~kritzefit@p200300ecdf05be00f1ae985ba6d99bb3.dip0.t-ipconnect.de) (Client Quit)
09:34:00 × bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 272 seconds)
09:34:23 bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com)
09:34:43 <nshepperd> sounds like https://github.com/munificent/vigil
09:35:16 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds)
09:36:25 <merijn> typetetris: Eh...there is no such thing?
09:36:36 <merijn> typetetris: Do you mean unbuffered, maybe?
09:36:56 Lycurgus joins (~niemand@98.4.97.110)
09:37:20 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
09:40:10 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
09:41:09 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer)
09:41:25 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
09:42:02 <__monty__> Or maybe raw or cbreak terminal mode?
09:43:56 <merijn> Way to flex that obscure pseudo-terminal knowledge :p
09:44:16 daydaynatation joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
09:44:52 <typetetris> `https://hackage.haskell.org/package/base-4.14.0.0/docs/System-IO.html#v:hSetBinaryMode`
09:45:50 <__monty__> merijn: That's what happens when you arm people with APUE : )
09:45:52 <typetetris> Just had a pesky problem, where a program failed writing to stdout as the encoding associated with stdout was not able to represent all chars. An alternative to binary mode would be, to an encoding with replacement chars as default.
09:46:25 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds)
09:46:34 <merijn> Or setting the right encoding? :p
09:46:53 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:46:58 <arahael> How would binary mode fix that?
09:47:13 <typetetris> arahael: binary mode sets char8 as encoding, which never fails.
09:47:22 <arahael> typetetris: So it corrupts the data?
09:47:36 <typetetris> merijn: Yes. We tried. Didn't work. with-utf8 was the rescue.
09:51:05 × idhugo quits (~idhugo@users-1190.st.net.au.dk) (Quit: Leaving)
09:51:35 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
09:51:43 <tomsmeding> typetetris: does it work if you redirect the output to a file? So keep stdout in the usual text mode, but avoid actually writing it to the terminal
09:52:06 <tomsmeding> (i.e. is haskell the problem or the terminal)
09:53:01 <merijn> typetetris: eh, char8 doesn't fail, it just corrupts your output :p
09:53:19 <merijn> typetetris: What are you outputting and to what?
09:53:24 <typetetris> tomsmeding: We had a clear `<stdout>: invalid argument (invalid character)` exception. So the handle being set to an encoding not able to handle the output was the culprit.
09:53:48 <tomsmeding> haskell threw that exception? ah
09:53:50 <maerwald> ah I remeber that, you have to force encoding in your main, there's a ghc ticket
09:53:50 <typetetris> merijn: Log output to be consumed by human readers. A replacement char here and there doesn't hurt.
09:54:00 <typetetris> tomsmeding: yes
09:54:47 <tomsmeding> what maerwald said, or perhaps (to avoid changing your program) pipe the output of your program through another program first that fixes up invalid characters (that may or may not work)
09:54:47 × spamlessj quits (~spamlessj@2a01:4f8:141:1329::2) (Ping timeout: 272 seconds)
09:54:52 <merijn> I mean, you can just use the IO functions from ByteString to write out stuff
09:54:54 <tomsmeding> (not sure about windows' semantics in that regard)
09:54:56 haasn` joins (~nand@mpv/developer/haasn)
09:55:02 raid_ joins (macbookpro@irc-1.coding4.coffee)
09:55:05 <typetetris> maerwald: And remember not only to use `setLocalEncoding` but also `hSetEncoding` (or some such) on all three `stdin`, `stdout` and `stderr`. That is at least unexpected for the haskell beginner comming from c :)
09:55:07 × sphalerite quits (~sphalerit@NixOS/user/lheckemann) (Ping timeout: 260 seconds)
09:55:07 × raid quits (macbookpro@irc-1.coding4.coffee) (Ping timeout: 260 seconds)
09:55:25 × immae quits (~immae@2a01:4f8:141:53e7::) (Ping timeout: 272 seconds)
09:55:52 <typetetris> merijn: Thats true. It is an existing codebase and up to now, there hasn't been fancy chars in the output.
09:56:03 × dxld quits (~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) (Ping timeout: 272 seconds)
09:56:03 × yorick quits (~yorick@oftn/oswg-member/yorick) (Ping timeout: 272 seconds)
09:56:03 × haasn quits (~nand@mpv/developer/haasn) (Ping timeout: 272 seconds)
09:56:03 × Blkt quits (~Blkt@2a01:4f8:200:2425::adda) (Ping timeout: 272 seconds)
09:56:03 × i7c quits (C10NftuPJ8@unaffiliated/i7c) (Ping timeout: 272 seconds)
09:56:03 × bwe_ quits (~bwe@2a01:4f8:1c1c:4878::2) (Ping timeout: 272 seconds)
09:56:09 <dminuoso> typetetris: Set the correct locale?
09:56:18 BjarniRunar1 joins (~BjarniRun@84.39.116.180)
09:56:21 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
09:56:49 dxld joins (~dxld@80-109-136-248.cable.dynamic.surfer.at)
09:57:02 <maerwald> typetetris: https://gitlab.haskell.org/ghc/ghc/-/issues/8118
09:57:05 bwe joins (~bwe@unaffiliated/bwe)
09:57:06 <tomsmeding> I have a hard time believing that bytestring IO functions will avoid this exception
09:57:10 Blkt joins (~Blkt@2a01:4f8:200:2425::adda)
09:57:11 <typetetris> dminuoso: The program is sadly called in a convoluted process and our attempts to push `LANG` and `LC_CTYPE` settings to it failed. I know, thats bad, but it is what it is.
09:57:14 sphalerite joins (~sphalerit@NixOS/user/lheckemann)
09:57:19 immae joins (~immae@2a01:4f8:141:53e7::)
09:57:29 <maerwald> This is a ghc bug
09:57:31 <typetetris> tomsmeding: Yes.
09:57:41 haasn` is now known as haasn
09:57:44 <tomsmeding> it's not windows? what -- since when has binary mode done anything on unix-like systems?
09:58:07 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
09:58:21 <dminuoso> tomsmeding: Perhaps you should focus on unconvolving that process instead?
09:58:35 <dminuoso> I mean if the underlying problem is that you cant feed the locale through, then I'd rather fix
09:58:37 <merijn> tomsmeding: Why? The ByteString IO functions don't do any encoding/decoding
09:58:39 <tomsmeding> typetetris: ^
09:58:44 <tomsmeding> not me dminuoso ;)
09:58:45 ubert joins (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de)
09:58:53 × daydaynatation quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
09:58:58 <dminuoso> oh.
09:59:45 daydaynatation joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
09:59:53 <typetetris> dminuoso: Time pressure and other not so good reasons.
10:00:20 Rudd0 joins (~Rudd0@185.189.115.103)
10:00:43 <dminuoso> "Let's finish this bridge" - "But we the supports are not strong enough to hold it" - "We're already lagging behind, let's open it now and fix it later"
10:01:23 <tomsmeding> merijn: I was confused as to where in the stack the error was actually thrown, I stand corrected
10:01:23 × todda7 quits (~torstein@ppp-2-84-30-242.home.otenet.gr) (Read error: Connection reset by peer)
10:01:30 <maerwald> most of the time programmers don't code anything really important, which is why our engineering practices are shite
10:01:36 <dminuoso> typetetris: Are you, by any chance, operating inside docker containers?
10:01:39 todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr)
10:01:58 <typetetris> dminuoso: Not that I know of. But I also don't know the whole process.
10:02:01 <dminuoso> maerwald: And even if they do, human lives lost due to "it was a software issue" is acceptable.
10:02:33 <maerwald> dminuoso: no, because as soon as human lives are on the line, you have to comply to standards and regulations
10:02:39 <dminuoso> It's as if people have been so desensitized, that it's completely normal that "software is often wrong" and not "programmers make mistakes"
10:02:49 <dminuoso> maerwald: Haha, you certainly have not worked in healthcare.
10:02:56 <maerwald> dminuoso: automotive.
10:03:34 <maerwald> https://en.wikipedia.org/wiki/ISO_26262
10:03:39 <dminuoso> Hospitals are prime examples of IT done *extremely* poorly. If your hospital gets sacked by ransomware, then it's clearly not the fault of shitty IT admins running unpatched exchanges, windows xp machines with the poorest security.
10:03:49 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
10:03:50 <dminuoso> We had a death in Germany just this year because of that.
10:04:00 <dminuoso> No heads ever rolled.
10:04:01 <maerwald> that's just poorly regulated
10:04:19 × invaser quits (~Thunderbi@31.148.23.125) (Quit: invaser)
10:05:21 invaser joins (~Thunderbi@31.148.23.125)
10:06:03 × plutoniix quits (~q@175.176.222.7) (Quit: Leaving)
10:06:04 <dminuoso> maerwald: Or conversely, data privacy. If you leak half your customer database, you get a slap on the wrist at best
10:06:09 <dminuoso> Customers wont even care
10:06:17 <typetetris> I still think its a mistake to use `String -> Handle -> IO ()` functions using external environment variables to detect, what actual bytes to write to the handle. I will avoid that in the future. Respecting locale is a thing, only if writing to a terminal, in my opinion. And then it should be ok, to have replacement chars. Shouldn't fail to strange settings of the user.
10:06:27 <maerwald> privacy and security is less regulated than safety
10:06:27 <daydaynatation> what's the difference between: newtype instance vs. type instance
10:06:31 <dminuoso> Clients have very low expectancy of software quality
10:06:41 <dminuoso> maerwald: Its not even about regulation, its about client expectancies.
10:06:56 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
10:07:01 <maerwald> regulations is the *only* thing that can change the market
10:07:20 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-abxtjqjdzzifrxcr) (Quit: Connection closed for inactivity)
10:07:47 <maerwald> formal methods is recommended in 26262, but not mandatory... if they made it mandatory, then Porsche, Daimler and co would invest millions into it, just so that they can ship their products
10:07:55 <typetetris> maerwald: In germany there is "Mängelhaftung" and if clients would enforce that, most software companies would change there tactics fast. But the clients don't enforce that right *they already have*.
10:08:07 <typetetris> s/there/their/
10:08:18 <dminuoso> daydaynatation: Huh.. newtype instance - I didn't even know that was a thing.
10:09:10 yorick joins (~yorick@oftn/oswg-member/yorick)
10:09:11 <daydaynatation> dminuoso: lots of it used in the vector package
10:09:26 <dminuoso> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/newtype_deriving.html#a-more-precise-specification
10:09:26 i7c joins (8Tki2L7DF5@unaffiliated/i7c)
10:09:34 <dminuoso> Is the only mention of this I can find
10:10:03 <daydaynatation> dminuoso: Data.Vector.Uboxed.Base
10:12:09 <dminuoso> daydaynatation: Judging from the ergonomics, Id say that it's an alternate perhaps older way to do GND + via
10:12:22 <dminuoso> So I'd say:
10:12:25 <dminuoso> newtype instance MVector s () = MV_Unit Int
10:12:48 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
10:14:09 <dminuoso> Yeah no idea. It looks
10:14:16 <dminuoso> Undocumented.
10:14:44 <daydaynatation> It's pretty hard to understand how the package is designed
10:15:58 <dminuoso> daydaynatation: Ah.. I think... this is for associated newtypes
10:16:09 <dminuoso> err.. newtype families?
10:16:15 <dminuoso> Is that a thing?
10:16:24 <dminuoso> A quick skim of ghc suggests its like data instances
10:16:26 × Lycurgus quits (~niemand@98.4.97.110) (Quit: Exeunt)
10:16:59 <dminuoso> daydaynatation: https://downloads.haskell.org/~ghc/7.6.3/docs/html/users_guide/type-families.html
10:17:01 <dminuoso> Indeed
10:17:08 <dminuoso> So these are instances of data families
10:17:38 <dminuoso> In Data/Vector/Unboxed/Base.hs you can find `data family MVector s a`
10:17:52 <dminuoso> `newtype instance MVector s () = MV_Unit Int` then is an instance for that family
10:18:08 × rprije quits (~rprije@194-193-168-77.tpgi.com.au) (Ping timeout: 260 seconds)
10:18:13 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
10:18:24 <daydaynatation> so it's the same as data instance MVector s ()...?
10:18:49 <dminuoso> Well, except for data vs newtype differences
10:19:26 <daydaynatation> i see..
10:19:30 <daydaynatation> that's the key
10:19:34 <daydaynatation> thx!
10:19:34 <dminuoso> a data family is roughly a type family to an anonymous data type, and apparently you can point it either at an anoymous newtype or data (which is boxed and can have multiple constructors)
10:19:54 supercoven joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
10:20:26 notnatebtw joins (~nate@125.161.131.218)
10:20:28 × theorbtwo quits (~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net) (Ping timeout: 260 seconds)
10:21:03 LKoen joins (~LKoen@53.253.88.92.rev.sfr.net)
10:22:31 <dminuoso> % data family Foo a
10:22:31 <yahb> dminuoso:
10:22:42 <dminuoso> % newtype instance Foo Int = F1 Int
10:22:42 <yahb> dminuoso:
10:22:47 <dminuoso> % coerce (F1 1) :: Int
10:22:47 <yahb> dminuoso: 1
10:23:04 <dminuoso> % data instance Foo Float = F2 Int | F3 Char
10:23:04 <yahb> dminuoso:
10:23:09 <dminuoso> % coerce (F2 1) :: Int
10:23:09 <yahb> dminuoso: ; <interactive>:71:1: error:; * Couldn't match representation of type `Foo Float' with that of `Int' arising from a use of `coerce'; * In the expression: coerce (F2 1) :: Int; In an equation for `it': it = coerce (F2 1) :: Int
10:24:13 × vk3wtf quits (~doc@14-202-30-62.static.tpgi.com.au) (Ping timeout: 264 seconds)
10:24:30 pera joins (~pera@unaffiliated/pera)
10:24:56 <dminuoso> Well this is cool, thanks daydaynatation! TIL.
10:28:01 hackage mysql-haskell 0.8.4.3 - pure haskell MySQL driver https://hackage.haskell.org/package/mysql-haskell-0.8.4.3 (winterland)
10:28:41 <daydaynatation> dminuoso: so all these techniques are for generic programming right?
10:29:01 hackage mysql-haskell-openssl 0.8.3.1 - TLS support for mysql-haskell package using openssl https://hackage.haskell.org/package/mysql-haskell-openssl-0.8.3.1 (winterland)
10:29:14 mananamenos_ joins (~mananamen@84.122.202.215.dyn.user.ono.com)
10:30:10 <dminuoso> daydaynatation: In principle you can get away without data families, you could just create data types manually and them use tyfams or mptc+fundeps
10:30:49 × mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 264 seconds)
10:31:12 brodie joins (~brodie@207.53.253.137)
10:31:52 <dminuoso> daydaynatation: Think of it as an open GADT, perhaps.
10:32:04 <dminuoso> (Or similar to it)
10:32:41 <bqv> ugh. i figured out the issue
10:32:59 <bqv> it's https://github.com/haskell/cabal/issues/7082
10:33:18 × mmohammadi9812 quits (~mmohammad@2.178.222.196) (Ping timeout: 260 seconds)
10:33:35 mmohammadi9812 joins (~mmohammad@2.178.217.171)
10:34:22 <daydaynatation> dminuoso: I might not be using these techniques myself but when reading existing code, there are everywhere
10:34:30 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
10:35:49 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
10:35:55 vk3wtf joins (~doc@203.221.224.44)
10:36:06 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
10:36:08 <bqv> dminuoso: heh
10:38:30 DavidEichmann joins (~david@43.240.198.146.dyn.plus.net)
10:38:35 × bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 265 seconds)
10:38:52 × mananamenos_ quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer)
10:39:11 bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com)
10:41:43 supercoven_ joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
10:41:44 × supercoven_ quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
10:41:58 supercoven_ joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
10:41:59 × supercoven_ quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
10:42:13 supercoven_ joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
10:42:14 × supercoven_ quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
10:42:28 supercoven_ joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
10:42:29 × supercoven_ quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
10:42:43 supercoven_ joins (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi)
10:42:44 × supercoven_ quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded)
10:42:44 × supercoven quits (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (K-Lined)
10:47:17 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
10:47:19 × brodie quits (~brodie@207.53.253.137) (Quit: brodie)
10:48:32 acidjnk_new2 joins (~acidjnk@p200300d0c718f665213d210801ac68e4.dip0.t-ipconnect.de)
10:51:49 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
10:51:57 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
10:52:13 shatriff joins (~vitaliish@176.52.219.10)
10:57:18 × wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 258 seconds)
10:57:29 × alp quits (~alp@2a01:e0a:58b:4920:3d11:8aac:3a15:f482) (Ping timeout: 272 seconds)
10:59:37 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds)
11:00:09 alp joins (~alp@2a01:e0a:58b:4920:fc19:3d56:9382:4c56)
11:02:01 × todda7 quits (~torstein@ppp-2-84-30-242.home.otenet.gr) (Ping timeout: 264 seconds)
11:07:10 xerox_ joins (~xerox@unaffiliated/xerox)
11:10:19 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
11:11:45 wwwww joins (~wwwww@unaffiliated/wwwww)
11:12:35 × britva quits (~britva@2a02:aa13:7240:2980:292a:d07d:3ab9:26ba) (Quit: Leaving)
11:17:11 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
11:17:55 nbloomf joins (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922)
11:20:17 × alp quits (~alp@2a01:e0a:58b:4920:fc19:3d56:9382:4c56) (Ping timeout: 272 seconds)
11:21:18 todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr)
11:23:22 × daydaynatation quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 258 seconds)
11:25:48 knupfer joins (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de)
11:26:18 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
11:26:31 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
11:27:00 hackage servant-blaze 0.9.1 - Blaze-html support for servant https://hackage.haskell.org/package/servant-blaze-0.9.1 (maksbotan)
11:27:42 × zfnmxt quits (~zfnmxt@unaffiliated/zfnmxt) (Quit: Bye!)
11:27:45 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
11:28:43 × wwwww quits (~wwwww@unaffiliated/wwwww) (Ping timeout: 260 seconds)
11:29:11 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
11:29:27 akad_ joins (~akad@2a02:a317:223a:2080:c10f:451d:6994:f626)
11:29:46 zfnmxt joins (~zfnmxt@unaffiliated/zfnmxt)
11:32:07 alp joins (~alp@2a01:e0a:58b:4920:6c97:b844:18cb:28a7)
11:37:22 × alp quits (~alp@2a01:e0a:58b:4920:6c97:b844:18cb:28a7) (Remote host closed the connection)
11:37:41 alp joins (~alp@2a01:e0a:58b:4920:1dd3:df8f:e85c:9a7d)
11:38:00 × knupfer quits (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
11:39:01 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
11:40:56 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 265 seconds)
11:41:27 × zfnmxt quits (~zfnmxt@unaffiliated/zfnmxt) (Quit: Bye!)
11:42:51 <bqv> i feel like toEnum . fromEnum should be provided by default somewhere
11:43:07 <bqv> perhaps not.
11:43:34 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
11:44:10 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
11:47:26 cfricke joins (~cfricke@unaffiliated/cfricke)
11:48:06 zfnmxt joins (~zfnmxt@unaffiliated/zfnmxt)
11:50:09 Deide joins (~Deide@217.155.19.23)
11:50:46 wwwww joins (~wwwww@unaffiliated/wwwww)
11:51:28 × akad_ quits (~akad@2a02:a317:223a:2080:c10f:451d:6994:f626) (Quit: Leaving)
11:52:37 × chaosmasttter quits (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:52:56 <tomsmeding> it feels like a dangerously general operation
11:54:13 <dminuoso> Id argue Enum in general is dangerous
11:54:17 <dminuoso> % :t fromEnum
11:54:17 <yahb> dminuoso: Enum a => a -> Int
11:54:20 <dminuoso> Err
11:54:23 <dminuoso> % :t toEnum
11:54:23 <yahb> dminuoso: Enum a => Int -> a
11:54:30 <dminuoso> This lacks MonadFail :(
11:55:03 <tomsmeding> not sure whether MonadFail is the right thing here, but yes partial function :p
11:55:39 GUEST1604490921 joins (~GUEST1604@124.123.107.91)
11:56:20 <bqv> is it realistic to avoid partial functions entirely, in a project of any substantial size?
11:57:19 <idnar> http://hackage.haskell.org/package/relude-0.7.0.0/docs/Relude-Extra-Enum.html#v:safeToEnum
11:57:36 <tomsmeding> possible, yes, realistic I think no, unless you want to admit a proliferation of data types
11:57:54 linker_ joins (~linker@185.12.21.77)
11:58:04 <tomsmeding> if you have a sum type with a number of constructors, and your application gets big enough, you'll have situations where only certain of those constructors are valid in a particular place
11:58:05 × GUEST1604490921 quits (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer)
11:58:20 × linker quits (~linker@185.12.21.77) (Ping timeout: 265 seconds)
11:58:54 GUEST1604491118 joins (~GUEST1604@124.123.107.91)
11:59:02 <tomsmeding> you could make it all total by either adding a new datatype with the constructor subset and converting when the domain restriction happens, or by moving the restrictions to the type level with some GADT trickery
11:59:14 <bqv> i wonder if that relude function would even work for me. my enum instances are mostly written for me by c2hs now :|
11:59:17 <tomsmeding> both can work on a small scale but at some point it hurts readability/understandability I think
11:59:27 <bqv> yeah, agreed
11:59:54 × GUEST1604491118 quits (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer)
12:00:02 × BjarniRunar1 quits (~BjarniRun@84.39.116.180) ()
12:00:12 GUEST1604491197 joins (~GUEST1604@124.123.107.91)
12:00:28 <tomsmeding> though perhaps you can attempt to see head/fromMaybe/toEnum as a different "class" of partial functions than the case I described, but that's getting firmly and deeply in the subjective realm :p
12:00:52 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
12:01:08 <bqv> i actually hit the problem you described earlier
12:01:26 chaosmasttter joins (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de)
12:01:27 × GUEST1604491197 quits (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer)
12:01:28 <bqv> my solution was undefined, which is... kinda worse
12:01:29 <merijn> Enum is a terrible class anyway :p
12:01:37 <merijn> If anything I'd just recommend avoiding Enum :p
12:01:43 GUEST1604491290 joins (~GUEST1604@124.123.107.91)
12:02:00 <bqv> as usual, next to impossible if you FFI at all
12:02:11 kish joins (~oracle@unaffiliated/oracle)
12:02:27 <merijn> How so?
12:03:07 <bqv> C enums would have to be sent back and forth somehow
12:03:24 <bqv> any haskell sum type eventually ends up as a number
12:03:57 <bqv> you could i guess have checks at every marshal in, but that's no better than Enum with safeToEnum
12:04:02 <merijn> I fail to see how that requires the Enum class, though?
12:04:25 × GUEST1604491290 quits (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer)
12:04:35 <bqv> well what would be an alternative?
12:05:52 <dminuoso> bqv: I tend to have my own Enumerable typeclass that adds a MonadFail constraint to toEnum
12:05:53 GUEST1604491541 joins (~GUEST1604@124.123.107.91)
12:06:10 <dminuoso> For things where want to keep a mapping to numbers (usually I use this for protocol de/serializatoin)
12:06:16 <merijn> Just writing a single function to convert, safeToEnum only works for bounded types and makes a bunch of assumptions about the underlying Enum instance (and I'd be war to make any assumptions of those)
12:06:31 <dminuoso> (The reason for using a typeclass is mostly convenience, it could just be plain functions)
12:06:43 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
12:07:02 <dminuoso> And that typeclass is not about *enumerating* from/to, it's just for mapping into something
12:07:11 <bqv> oh yeah, just, generally i considered any function to be of vastly the same nature as Enum anyway
12:07:47 × GUEST1604491541 quits (~GUEST1604@124.123.107.91) (Remote host closed the connection)
12:07:51 Tops2 joins (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de)
12:08:43 <dminuoso> bqv: class (t ~ MappedInto f, Show t) => EnumMapping f where type MappedInto t; mappingTo :: f -> t; mappingFrom :: MonadFail m => t -> m f
12:08:46 <dminuoso> Is roughly what I use
12:09:52 <bqv> pretty general, fair enough
12:09:54 <dminuoso> oh heh, that hsould be `type MappedInto s`
12:10:09 <dminuoso> or f, rather. bah, my code is not copy pastable for other reasons
12:10:20 GUEST91807 joins (~GUEST9180@124.123.107.91)
12:10:30 <bqv> curious why the Show constraint at that level
12:11:02 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
12:11:04 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
12:11:52 Chi1thangoo joins (~Chi1thang@87.112.60.168)
12:11:57 <merijn> For the error to MonadFail, presumably
12:12:04 <dminuoso> Mmm. Good question, I guess there is no need for it there
12:12:15 bitmagie joins (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de)
12:12:44 <dminuoso> bqv: The reason I have it that general, is because Im writing a protocol library here, so some enums are mapped into Word8, others into Word32, etc..
12:12:53 <dminuoso> (So that helper typeclass is then used in my Get/Put code)
12:13:07 <bqv> ah fair
12:13:36 <dminuoso> It was either that, or sprinkling fromIntegral left and right, not knowing if I accidentally narrow data.
12:13:50 <merijn> Or...just write individual Get/Put operations? >.>
12:14:07 <dminuoso> merijn: That would have worked too, of course. The typeclass was really just for convenience.
12:14:37 <dminuoso> It reduces some boilerplate in some areas. :)
12:14:37 × GUEST91807 quits (~GUEST9180@124.123.107.91) (Ping timeout: 260 seconds)
12:14:38 <merijn> dminuoso: The convenience of being unable to have multiple versions in your codebase? >.>
12:14:45 <dminuoso> merijn: That's perfectly fine for me.
12:14:51 <dminuoso> It's an internal typeclass I dont ever expose.
12:15:07 <dminuoso> And these things do *not* ever change
12:15:24 <bqv> merijn: as a fan of a strictly typed language, surely you appreciate restriction :D
12:15:43 <dminuoso> bqv: No, it's an annoying restriction since if you ever have multiple protocol versions, you need to start using newtype wrappers
12:15:56 <dminuoso> But in my case, the protocol is standardized and hasnt changed in 20 years. :p
12:16:02 <merijn> You fool! You fell victim to one of the classic blunders - the most famous of which is "never get involved in a land war in Asia" and "Never go in against a Sicilian when death is on the line", but only slightly less well-known is this: "Never use typeclasses for (de)serialisation"! Ha ha ha ha ha ha ha! Ha ha ha ha ha ha ha!
12:16:03 <dminuoso> (It was only ever ammended)
12:16:07 <bqv> heh
12:16:19 <dminuoso> merijn: I dont use typeclasses for get/put itself.
12:16:23 <dminuoso> Or actually, that's not true
12:16:28 <dminuoso> I have my own Get/Put typeclasses!
12:16:30 <dminuoso> Again, for convenience
12:16:46 <dminuoso> But I know what price I pay, the cost is lower than the extra effort and annoyance from writing functions instead.
12:16:51 yoyo joins (50a46f47@80-164-111-71-dynamic.dk.customer.tdc.net)
12:17:08 <dminuoso> There is ever only a single protocol encoding of `Foo
12:17:17 <dminuoso> And, should it ever be different, I can turn it into functions easily
12:18:23 × zfnmxt quits (~zfnmxt@unaffiliated/zfnmxt) (Quit: Bye!)
12:18:49 × todda7 quits (~torstein@ppp-2-84-30-242.home.otenet.gr) (Ping timeout: 260 seconds)
12:20:01 hackage servant-multipart 0.12 - multipart/form-data (e.g file upload) support for servant https://hackage.haskell.org/package/servant-multipart-0.12 (maksbotan)
12:20:13 zfnmxt joins (~zfnmxt@unaffiliated/zfnmxt)
12:20:29 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
12:21:39 × bitmagie quits (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) (Quit: bitmagie)
12:21:55 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
12:23:26 × chaosmasttter quits (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
12:24:30 asthasr joins (~asthasr@162.210.29.120)
12:28:46 knupfer joins (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de)
12:30:01 bitmagie joins (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de)
12:30:17 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
12:31:05 asthasr_ joins (~asthasr@162.210.29.120)
12:31:20 × asthasr_ quits (~asthasr@162.210.29.120) (Client Quit)
12:36:40 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
12:36:40 × knupfer quits (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
12:37:18 <idnar> merijn: hahaha
12:37:26 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
12:38:18 × bitmagie quits (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) (Quit: bitmagie)
12:38:45 <idnar> @type \f x -> coerce (f (coerce x))
12:38:46 <lambdabot> error:
12:38:46 <lambdabot> • Variable not in scope: coerce :: t1 -> t3
12:38:47 <lambdabot> • Perhaps you meant ‘coerced’ (imported from Control.Lens)
12:38:49 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:39:07 GUEST93534 joins (~GUEST9353@124.123.107.91)
12:39:11 <bqv> unsafeCoerce?
12:39:21 bitmagie joins (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de)
12:39:28 <merijn> unsafeCoerce is different and, well, unsafe :p
12:39:35 <idnar> no, I want the safe one
12:39:37 <bqv> thought that was his plan
12:39:39 <bqv> fair
12:39:42 <int-e> :t Data.Coerce.coerce
12:39:43 <lambdabot> Coercible a b => a -> b
12:40:10 <idnar> @type \f x -> Data.Coerce.coerce (f (Data.Coerce.coerce x))
12:40:12 <lambdabot> (Coercible a1 b, Coercible a2 t) => (t -> a1) -> a2 -> b
12:40:47 <merijn> I think you could juse coerce f? :p
12:41:26 <merijn> :t Data.Coerce.coerce :: (Coercible a b, Coercible c d) => (a -> c) -> (b -> d)
12:41:28 <lambdabot> error:
12:41:28 <lambdabot> Not in scope: type constructor or class ‘Coercible’
12:41:28 <lambdabot> error:
12:41:44 <merijn> :t Data.Coerce.coerce :: (Data.Coerce.Coercible a b, Data.Coerce.Coercible c d) => (a -> c) -> (b -> d)
12:41:45 <lambdabot> (Coercible a b, Coercible c d) => (a -> c) -> b -> d
12:41:48 <merijn> boom
12:42:00 nbloomf joins (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922)
12:42:04 <idnar> oh yes duh
12:42:29 <int-e> @let import Data.Coerce
12:42:30 <lambdabot> .L.hs:80:1: error:
12:42:31 <lambdabot> Data.Coerce: Can't be safely imported!
12:42:31 <lambdabot> The module itself isn't safe.
12:42:31 chaosmasttter joins (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de)
12:42:44 <tomsmeding> safe haskell rears its head!
12:42:57 <Uniaika> <3 <3
12:42:58 <int-e> Fun, I thought it was supposed to be safe by now.
12:43:06 × GUEST93534 quits (~GUEST9353@124.123.107.91) (Ping timeout: 244 seconds)
12:43:08 <idnar> either way, awkward to use without -XTypeApplication I guess
12:43:12 <Uniaika> int-e: with a name like that… ? :P
12:43:21 <int-e> Uniaika: why not?
12:43:27 <merijn> Pretty sure Data.Coerce should be Trustworthy, not Safe
12:43:41 <int-e> merijn: well, base *is* trusted
12:43:48 <Uniaika> int-e: the name screams "force your hand" :P
12:43:56 <merijn> Actually, it's explicitly Unsafe
12:44:02 <int-e> merijn: the matter of fact is... that.
12:44:09 <merijn> int-e: Package trust and Trustworthy is different
12:44:27 <int-e> merijn: package trust means to trust all Trustworthy modules in the package
12:44:32 <merijn> trusted packages are "those packages whose Trustworthy modules should be treated as actually trustworth"
12:44:46 <int-e> so if it *were* marked Trustworthy, lambdabot would allow it to be imported
12:45:25 × darjeeling_ quits (~darjeelin@115.215.43.51) (Ping timeout: 260 seconds)
12:46:07 <int-e> you *can* get coerce in lambdabot anyway, via profunctors, but I forgot the precise definition; it was somewhat convoluted.
12:46:37 × yoyo quits (50a46f47@80-164-111-71-dynamic.dk.customer.tdc.net) (Remote host closed the connection)
12:46:52 GUEST93997 joins (~GUEST9399@124.123.107.91)
12:47:06 <int-e> @let import Data.Profunctor.Unsafe
12:47:08 <lambdabot> .L.hs:114:1: error:
12:47:08 <lambdabot> Data.Profunctor.Unsafe: Can't be safely imported!
12:47:08 <lambdabot> The package (profunctors-5.5.2) the module resides in isn't trusted.
12:47:12 <int-e> Ah.
12:47:21 <int-e> Okay, I take it back :)
12:48:03 <int-e> Uniaika: In any case, *that* module is marked Trustworthy btw... despite the name.
12:48:03 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
12:48:29 darjeeling_ joins (~darjeelin@115.215.43.51)
12:48:59 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:49:32 <int-e> (for historic reasons, really... it uses coerce noawadays, to unwrap and rewrap newtypes deep inside data structures, but it used to be based on unsafeCoerce)
12:50:54 <int-e> I still expect that coerce is leaked through the lens ecosystem *somewhere*.
12:51:21 <idnar> :t coerced
12:51:23 <lambdabot> (Profunctor p, Functor f, Coercible s a, Coercible t b) => p a (f b) -> p s (f t)
12:51:32 × acidjnk_new2 quits (~acidjnk@p200300d0c718f665213d210801ac68e4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
12:51:42 <int-e> oh, that simple.
12:51:49 <idnar> :)
12:51:53 <int-e> thanks
12:52:27 AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl)
12:52:39 Lycurgus joins (~niemand@98.4.97.110)
12:52:44 <idnar> from just now: <lambdabot> • Perhaps you meant ‘coerced’ (imported from Control.Lens)
12:53:05 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
12:54:34 <int-e> :t \f -> runIdentity . coerced (Identity . f . runIdentity)
12:54:36 <lambdabot> (Coercible b1 a, Coercible c b2) => (b1 -> b2) -> a -> c
12:55:05 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
12:55:23 justMaD joins (~justMaD@184.75.221.35)
12:56:06 <fendor> is it just me or is the cabal index pretty big? 800MB in .cabal/packages?
12:56:19 mdunnio joins (~mdunnio@208.59.170.5)
12:56:49 <idnar> is Coercible symmetric?
12:57:29 <int-e> fendor: yes, but well... it contains all .cabal files every uploaded to hackage, and a bit of extra stuff
12:57:53 <dcoutts> fendor: that's uncompressed locally. It only downloads the compressed version which is 90M.
12:58:04 <int-e> idnar: yes.
12:58:10 <fendor> dcoutts, oh well, on the server it still takes 800mb
12:58:12 <merijn> .cabal/package holds all the downloaded tarballs too
12:58:13 <int-e> and it's downloaded incrementally
12:58:44 <int-e> But for small VPSs it is big.
12:58:46 × GUEST93997 quits (~GUEST9399@124.123.107.91) (Read error: Connection reset by peer)
12:58:52 <fendor> just by invoking `cabal update`
12:59:02 <fendor> but admittedly, cabal 3.0.0.0, maybe something has changed?
12:59:13 <int-e> Regardless, this is normal :-/
13:00:10 <merijn> fendor: Well, what would you propose to change about it?
13:00:10 GUEST94796 joins (~GUEST9479@124.123.107.91)
13:00:24 <merijn> fendor: You need an index of all packages to do dependency resolution
13:00:25 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
13:00:30 <fendor> merijn, nothing, I am just asking if that is to be expected
13:00:40 × GUEST94796 quits (~GUEST9479@124.123.107.91) (Read error: Connection reset by peer)
13:00:49 mietek joins (sid134071@gateway/web/irccloud.com/x-xdfehjuwjfwgiund)
13:01:00 <mietek> Is the new Haskell Foundation website on github somewhere?
13:01:02 <merijn> fendor: Well, it has entries and hashes for every package (version) ever released, so...kinda
13:01:12 <fendor> not claiming it is bad or anything, I dont know how anyone else does it
13:01:18 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
13:01:32 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
13:01:32 urodna joins (~urodna@unaffiliated/urodna)
13:01:34 <fendor> just wondering, because it seemed huge, but if it is ok, then it is ok
13:01:37 <dminuoso> fendor: They all do it the same, really.
13:01:41 <merijn> fendor: There doesn't seem to be a lot of reason to even have cabal on machines that aren't compiling, though?
13:01:47 GUEST94894 joins (~GUEST9489@124.123.107.91)
13:01:52 <merijn> dminuoso: Naah
13:01:56 <merijn> dminuoso: Some do it much worse!
13:01:59 Tario joins (~Tario@201.192.165.173)
13:02:01 <dminuoso> heh
13:02:05 mietek parts (sid134071@gateway/web/irccloud.com/x-xdfehjuwjfwgiund) ()
13:02:22 × GUEST94894 quits (~GUEST9489@124.123.107.91) (Read error: Connection reset by peer)
13:02:25 <fendor> merijn, the server is a playground for students, so it compiles stuff, but if every student has to download this index, it is 300 * 800MB which sums up quiet quickly
13:02:40 GUEST94946 joins (~GUEST9494@124.123.107.91)
13:02:47 <fendor> but we solved it by having a read-only cabal store for every student, so that should be fine now
13:03:22 <dcoutts> fendor: you could share the package cache, without sharing the store, if that helps
13:03:31 <dcoutts> the download cache I mean
13:04:00 <dcoutts> it might be useful for your use case to have two stores, a shared read-only one and a local writable one
13:04:12 <fendor> dcoutts, yeah, that would solve the problem, too. Currently, we share both now, the store dir and index since students should not be able to download arbitrary packages anyways
13:04:29 <fendor> or rather, not be able to do it by accident
13:04:48 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
13:04:59 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds)
13:05:11 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
13:05:40 <dcoutts> fendor: there's a --offline flag, which I think you can also use in the ~/.cabal/config
13:05:48 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
13:05:56 <dcoutts> just causes any download attempt to fail, doesn't change the solver
13:06:13 <fendor> dcoutts, does that work with v2-*? did not seem to work for me when playing around with it
13:06:47 Sheilong joins (uid293653@gateway/web/irccloud.com/x-hgnmrpxqnetkvsrt)
13:08:14 × GUEST94946 quits (~GUEST9494@124.123.107.91) (Remote host closed the connection)
13:08:33 GUEST95299 joins (~GUEST9529@124.123.107.91)
13:08:52 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:08:58 jakob_ joins (~textual@p200300f49f16220018bfd377e039c2e3.dip0.t-ipconnect.de)
13:09:25 <merijn> fendor: I think it should? If not that sounds like a bug?
13:09:31 × toorevitimirp quits (~tooreviti@117.182.183.132) (Remote host closed the connection)
13:10:02 toorevitimirp joins (~tooreviti@117.182.183.132)
13:11:13 macrover joins (~macrover@ip70-189-231-35.lv.lv.cox.net)
13:11:58 <fendor> merijn, hm, maybe it was a bug for cabal 3.0.0.0? I can try again later
13:13:07 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
13:15:39 machinedgod joins (~machinedg@207.253.244.210)
13:16:56 <tomsmeding> quick question: does this datatype already exist in a commonly-used library? data PairOf f g t = PairOf (f t) (g t)
13:17:51 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:18:25 <dminuoso> tomsmeding: Yes.
13:18:34 <dminuoso> It's in base somewhere
13:18:58 whald joins (~trem@2a02:810a:8100:11a6:69c1:660a:2b51:2055)
13:18:59 <dminuoso> Err GHC
13:19:00 <dminuoso> tomsmeding: https://hackage.haskell.org/package/base-4.14.0.0/docs/GHC-Generics.html#t::-43-:
13:19:01 <tomsmeding> that's what I was hoping with "commonly-used library" :p
13:19:13 <tomsmeding> oh right
13:19:20 <dminuoso> Oh and :*:
13:19:21 <tomsmeding> well :*: then
13:19:25 × Lycurgus quits (~niemand@98.4.97.110) (Quit: Exeunt)
13:19:41 <dminuoso> tomsmeding: I do recall we had something outside generics as well
13:19:44 <tomsmeding> a Generics import will look decidedly strange in this file, but I guess the semantics work :p
13:19:58 <dminuoso> tomsmeding: http://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Functor-Product.html
13:19:59 × `slikts quits (~nelabs@wikipedia/reinis) (Ping timeout: 272 seconds)
13:20:00 <dminuoso> There
13:20:09 <dminuoso> That's what I wanted :)
13:20:12 nbloomf joins (~nbloomf@76.217.43.73)
13:20:19 <tomsmeding> ah that's neater
13:20:22 <tomsmeding> thanks!
13:20:57 tomsmeding notes in my memory that Data.Functor.Sum also exists
13:21:46 <tomsmeding> `Pair` collides with a constructor I already have in scope lol
13:22:28 <dminuoso> Qualified imports is a thing.
13:23:42 fendor_ joins (~fendor@77.119.128.11.wireless.dyn.drei.com)
13:24:02 <tomsmeding> which is what I'll do :)
13:24:09 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
13:24:52 `slikts joins (~nelabs@wikipedia/reinis)
13:25:32 × machinedgod quits (~machinedg@207.253.244.210) (Quit: leaving)
13:26:09 × nbloomf quits (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:27:02 × xff0x quits (~fox@2001:1a81:53f2:500:c561:3916:a8eb:5c4a) (Ping timeout: 264 seconds)
13:27:12 <fendor> merijn, https://paste.tomsmeding.com/O4uOK0Xv looks wrong to me? Ignore the permission errors, unless they hide the issue, they are caused by the read-only cabal store, so downloading is forbidden
13:27:31 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
13:27:53 xff0x joins (~fox@2001:1a81:53f2:500:153c:e136:7dea:e190)
13:28:06 Eason0210 joins (~user@101.85.10.81)
13:28:34 <merijn> Does it actually go to the network?
13:29:08 <fendor> afaict yes
13:29:13 <merijn> hmm
13:29:17 <merijn> Then I dunno
13:29:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: restart)
13:30:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:30:30 <Franciman> hi, dost anybody use gi-gtk-declarative?
13:30:51 <fendor> so, locally, I can reproduce it by invoking `cabal repl --offline -b hpath` where hpath is a package I haven't downloaded yet. https://paste.tomsmeding.com/RFlwkwVP
13:32:27 × justMaD quits (~justMaD@184.75.221.35) (Remote host closed the connection)
13:33:12 knupfer joins (~Thunderbi@i5E86B46C.versanet.de)
13:35:37 × fendor_ quits (~fendor@77.119.128.11.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
13:36:04 LKoen_ joins (~LKoen@53.253.88.92.rev.sfr.net)
13:36:38 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 264 seconds)
13:38:52 × LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Ping timeout: 265 seconds)
13:39:03 × hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
13:39:29 machinedgod joins (~machinedg@207.253.244.210)
13:40:01 <fendor> maybe the message is just wrong, might play around with it later
13:40:54 cheater joins (~user@unaffiliated/cheater)
13:41:31 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
13:42:09 × machinedgod quits (~machinedg@207.253.244.210) (Remote host closed the connection)
13:42:57 × knupfer quits (~Thunderbi@i5E86B46C.versanet.de) (Quit: knupfer)
13:43:09 knupfer joins (~Thunderbi@200116b82c1ba400a869b894ad25104c.dip.versatel-1u1.de)
13:44:46 machinedgod joins (~machinedg@207.253.244.210)
13:45:25 ddellacosta joins (~dd@86.106.121.168)
13:45:47 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
13:50:01 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:51:42 <tomsmeding> tcpdump/wireshark, or strace | grep "connect"?
13:54:24 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
13:55:52 × GUEST95299 quits (~GUEST9529@124.123.107.91) (Remote host closed the connection)
13:58:49 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
13:59:29 hekkaidekapus_ is now known as hekkaidekapus
13:59:29 × carlomagno1 quits (~cararell@148.87.23.13) (Remote host closed the connection)
14:00:08 carlomagno joins (~cararell@148.87.23.13)
14:03:40 mb_ joins (~mb@91-160-105-150.subs.proxad.net)
14:03:57 Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas)
14:05:47 × mb_ quits (~mb@91-160-105-150.subs.proxad.net) (Client Quit)
14:07:21 <hekkaidekapus> fendor: There are two other options. 1) Disable the package index in ~/.cabal/config by commenting out the `repository hackage…` stanza. 2) Write `active-repositories: :none` in cabal.project; this requires a bleeding-edge cabal-install.
14:08:14 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
14:10:29 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
14:11:04 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
14:11:57 gtk joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
14:12:29 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
14:14:39 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
14:15:06 newbies joins (a5100248@165.16.2.72)
14:15:49 <newbies> Hello!
14:16:03 <yushyin> hello newbies
14:16:59 <newbies> i have just got Haskell Platform
14:17:20 <newbies> where do i start
14:17:53 <opqdonut> I can plug my course: https://haskell.mooc.fi/
14:18:13 <opqdonut> (open, free, no signup, no deadlines)
14:18:57 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
14:19:14 × Eason0210 quits (~user@101.85.10.81) (Quit: ERC (IRC client for Emacs 28.0.50))
14:19:16 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
14:19:23 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
14:19:28 <newbies> Thanks!
14:19:35 <newbies> i'm familiar with ML is it the same
14:20:29 <opqdonut> very similar, but the syntax is a bit different
14:20:43 <opqdonut> purity is probably the biggest concrete difference
14:20:46 <opqdonut> followed by laziness
14:21:08 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
14:21:16 × kuribastard quits (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
14:22:19 <merijn> newbies: Going from ML to Haskell should be fairly easy
14:22:23 <merijn> @where tutorial
14:22:23 <lambdabot> http://www.haskell.org/tutorial/
14:22:42 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
14:23:02 <merijn> newbies: The tutorial was written for people coming from (S)ML, so that's probably the shortest intro you can get
14:23:21 <gtk> Are there still people using ML?
14:23:34 <merijn> Most of the other texts/books will waste a lot of time on basics you should already get from ML (pattern matching, recursion, etc.)
14:23:53 <merijn> gtk: Ocaml is an ML dialect and some diehards still use SML :)
14:24:42 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
14:24:53 <gtk> ML syntax is the reason I start learning Haskell. It's just neat and beautiful
14:25:21 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
14:25:58 <merijn> opqdonut: Purity is different, then again most people don't really have difficulty with purity per se as much as they struggle getting used to recursive thinking and ADTs, both of which you also need to learn for ML :p
14:26:11 lucasb joins (uid333435@gateway/web/irccloud.com/x-cbmhwogtcotlrzny)
14:26:17 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
14:28:08 <hekkaidekapus> There is also <https://dr-knz.net/haskell-for-ocaml-programmers.html> for a quick introduction to Haskell from an OCaml perspective.
14:28:45 <merijn> hah
14:28:50 <merijn> A colleague wrote that :p
14:30:06 [n1x]_ joins (~n1x]_@195.206.169.184)
14:30:09 <hekkaidekapus> \O/
14:30:14 <hekkaidekapus> Poss, R?
14:30:36 <merijn> Well, ex-colleague I guess, but yeah
14:30:42 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
14:31:27 <newbies> No [cradle] found for file.hs. Proceeding with implicit cradle
14:31:54 <newbies> what is this mean
14:31:58 <newbies> VScode
14:32:05 <merijn> You're using hls, I guess?
14:32:13 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:33:07 <merijn> newbies: Basically, the haskell language server needs to know how to compile your code to typecheck, etc. this config is called a cradle. It's saying you didn't write an explicit one, to it's using an implicit (auto-generated) one
14:33:45 nbloomf joins (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922)
14:33:54 <newbies> where do i have to config it
14:34:00 hackage less-arbitrary 0.1.0.2 - Linear time testing with variant of Arbitrary class that always terminates. https://hackage.haskell.org/package/less-arbitrary-0.1.0.2 (MichalGajda)
14:34:08 <merijn> If it works, you don't have to :p
14:34:30 <newbies> '=D
14:34:43 <newbies> i just wanted to know
14:34:45 <merijn> it's basically an info/debug message in case things break/don't work
14:34:55 <newbies> i see
14:35:02 <merijn> newbies: https://github.com/mpickering/hie-bios
14:35:54 <newbies> Thanks
14:36:17 <yushyin> the implicit cradle never worked for me, not even once.
14:36:28 <merijn> yushyin: For simple projects it works for me
14:37:06 <yushyin> and 99% of the time it's just c&p from the cabal file
14:38:05 <hekkaidekapus> yushyin: You can also `cabal install implicit-hie && gen-hie > hie.yaml`
14:39:12 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:39:24 × mmohammadi9812 quits (~mmohammad@2.178.217.171) (Ping timeout: 256 seconds)
14:40:13 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
14:40:59 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
14:41:10 <yushyin> hekkaidekapus: thanks for the hint
14:41:27 <hekkaidekapus> np
14:41:42 britva joins (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904)
14:42:28 <tomsmeding> how do people even pronounce 'hie'? as an acronym, eich aye ee? 'hy'? 'hee'?
14:42:41 kuribastard joins (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be)
14:42:44 <hekkaidekapus> Hi :P
14:43:09 <tomsmeding> implicit-greeting
14:45:01 mmohammadi9812 joins (~mmohammad@2.178.217.171)
14:45:43 ystael joins (~ystael@209.6.50.55)
14:46:50 × Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds)
14:49:09 mdunnio joins (~mdunnio@208.59.170.5)
14:51:15 × ystael quits (~ystael@209.6.50.55) (Quit: Lost terminal)
14:51:18 × alx741 quits (~alx741@186.178.110.193) (Ping timeout: 272 seconds)
14:54:02 ystael joins (~ystael@209.6.50.55)
14:54:21 × gienah quits (~mwright@gentoo/developer/gienah) (Read error: Connection reset by peer)
14:54:42 <__monty__> tomsmeding: The latter for me, probably because of mother tongue induced brain damage.
14:55:10 <merijn> ;)
14:55:29 <merijn> __monty__: Like always typo-ing photos as photo's? ;)
14:55:57 gienah joins (~mwright@gentoo/developer/gienah)
14:56:54 <tomsmeding> __monty__: exactly the same for me :p
14:57:02 × ColdRush quits (~coldrush@4e69b241.skybroadband.com) (Ping timeout: 264 seconds)
14:57:21 <__monty__> merijn: I do stumble but don't usually make that error. Commas are what trip me up the most.
14:58:06 christo joins (~chris@81.96.113.213)
14:58:11 <merijn> I mess up ' all the time in plurals, and of course a lot of "spatie fouten" in the reverse direction :p
14:59:13 <hekkaidekapus> And if the brain damage is French-induced, the ‘h’ could be unspoken, landing you at ie, id est in Latin :D
14:59:14 <tomsmeding> the people that use spaces correctly in NL can be put together in one building even with corona separation rules
14:59:24 <merijn> tomsmeding: :p
15:00:02 × [n1x]_ quits (~n1x]_@195.206.169.184) ()
15:00:47 obihann joins (~jhann@156.34.160.69)
15:00:47 aarvar joins (~foewfoiew@c.24.56.239.179.static.broadstripe.net)
15:01:52 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 258 seconds)
15:02:33 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
15:03:30 alx741 joins (~alx741@181.196.69.190)
15:05:31 Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas)
15:07:50 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
15:09:56 <yushyin> guess I'm the odd one, I use a shwa for the e in hie
15:11:05 × icebreaker quits (~icebreake@unaffiliated/icebreaker) (Quit: leaving)
15:11:20 Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
15:11:28 icebreaker joins (michalc@freeshell.de)
15:11:28 × icebreaker quits (michalc@freeshell.de) (Changing host)
15:11:28 icebreaker joins (michalc@unaffiliated/icebreaker)
15:11:49 × icebreaker quits (michalc@unaffiliated/icebreaker) (Client Quit)
15:12:39 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
15:14:19 Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
15:14:26 <bqv> disproportionately amused by the naming of Relude's "flap"
15:16:00 icebreaker joins (michalc@freeshell.de)
15:16:00 × icebreaker quits (michalc@freeshell.de) (Changing host)
15:16:00 icebreaker joins (michalc@unaffiliated/icebreaker)
15:17:42 <Cheery> I either forgot how haskell language server works, or then it stopped working out of sudden.
15:20:02 <jonathanx> I'm headed home from work soon, have been spending too much time trying to figure out how to get auto rebuild on stack run (preferable with a browser refresh) going. I tried steeloverseer, but no cigar. Any suggestions?
15:20:10 spamlessj joins (~spamlessj@2a01:4f8:141:1329::2)
15:20:24 <jonathanx> (auto rebuild as in rebuild on file changes)
15:20:38 × jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
15:21:37 × aarvar quits (~foewfoiew@c.24.56.239.179.static.broadstripe.net) (Ping timeout: 246 seconds)
15:22:24 × newbies quits (a5100248@165.16.2.72) (Remote host closed the connection)
15:24:54 Tario joins (~Tario@201.192.165.173)
15:24:58 bookhead joins (~bookhead@2607:fea8:2c40:307::123d)
15:29:31 Gurkenglas__ joins (~Gurkengla@unaffiliated/gurkenglas)
15:31:29 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:32:32 × Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 258 seconds)
15:33:17 coot_ joins (~coot@37.30.49.218.nat.umts.dynamic.t-mobile.pl)
15:33:54 × obihann quits (~jhann@156.34.160.69) (Remote host closed the connection)
15:35:19 × Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
15:36:30 zebrag joins (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr)
15:37:05 Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
15:37:09 × coot quits (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
15:37:11 coot_ is now known as coot
15:39:38 × britva quits (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) (Quit: This computer has gone to sleep)
15:42:01 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
15:44:10 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
15:45:32 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
15:46:11 × bookhead quits (~bookhead@2607:fea8:2c40:307::123d) (Quit: bookhead)
15:46:54 × LKoen_ quits (~LKoen@53.253.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
15:48:38 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 258 seconds)
15:50:02 mdunnio joins (~mdunnio@208.59.170.5)
15:50:56 × gtk quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 258 seconds)
15:52:13 ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
15:54:07 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
15:54:25 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds)
15:54:42 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
15:55:10 nbloomf joins (~nbloomf@2600:1700:ad14:3020:ed58:dda3:fd80:2c46)
15:55:20 mdunnio joins (~mdunnio@208.59.170.5)
15:55:58 motte joins (~weechat@unaffiliated/motte)
15:56:00 darkspadez|lapto joins (~darkspade@185.204.1.185)
15:57:44 × kuribastard quits (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer)
15:59:25 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds)
16:00:07 × io_r_us[m] quits (commandlin@gateway/shell/matrix.org/x-dcxofhcftbovwbst) (Quit: Idle for 30+ days)
16:00:36 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
16:02:34 Amras joins (~Amras@unaffiliated/amras0000)
16:03:43 jamm_ joins (~jamm@unaffiliated/jamm)
16:03:53 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
16:04:32 ClaudiusMaximus joins (~claude@198.123.199.146.dyn.plus.net)
16:04:33 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
16:04:42 × ClaudiusMaximus quits (~claude@198.123.199.146.dyn.plus.net) (Changing host)
16:04:42 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
16:06:39 <justsomeguy> jonathanx: Personally I use http://eradman.com/entrproject/ and the "tab reloader" firefox plugin. There are probably better ways to do it, though.
16:06:55 piyush-kurur joins (~user@117.213.47.10)
16:07:12 berberman_ joins (~berberman@unaffiliated/berberman)
16:07:20 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
16:08:02 × yoneda quits (~mike@193.206.102.122) (Quit: leaving)
16:08:07 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
16:09:30 × toorevitimirp quits (~tooreviti@117.182.183.132) (Remote host closed the connection)
16:11:14 bookhead joins (~bookhead@cpe589630b81951-cm589630b8194f.cpe.net.cable.rogers.com)
16:11:46 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection)
16:11:53 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
16:13:37 RollingStone joins (2d56c924@45.86.201.36)
16:14:59 × RollingStone quits (2d56c924@45.86.201.36) (Remote host closed the connection)
16:16:14 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 264 seconds)
16:17:39 × Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
16:18:02 obihann joins (~jhann@156.34.160.69)
16:18:28 × carlomagno quits (~cararell@148.87.23.13) (Remote host closed the connection)
16:21:23 × obihann quits (~jhann@156.34.160.69) (Client Quit)
16:21:57 xerox_ joins (~xerox@unaffiliated/xerox)
16:22:12 × icebreaker quits (michalc@unaffiliated/icebreaker) (Quit: leaving)
16:22:20 icebreaker joins (michalc@freeshell.de)
16:22:20 × icebreaker quits (michalc@freeshell.de) (Changing host)
16:22:20 icebreaker joins (michalc@unaffiliated/icebreaker)
16:22:21 obihann joins (~jhann@156.34.160.69)
16:22:48 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
16:23:08 × obihann quits (~jhann@156.34.160.69) (Client Quit)
16:23:10 conal joins (~conal@64.71.133.70)
16:23:42 obihann joins (~jhann@156.34.160.69)
16:24:06 × obihann quits (~jhann@156.34.160.69) (Client Quit)
16:24:11 st8less joins (~st8less@2603:a060:11fd:0:acb3:c1f9:8208:550f)
16:24:39 sfvm joins (~sfvm@37.228.215.148)
16:25:09 obihann joins (~jhann@156.34.160.69)
16:28:24 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
16:30:08 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:31:56 carlomagno joins (~cararell@148.87.23.11)
16:35:50 patty1 joins (~patty@104.206.12.227)
16:37:21 × conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds)
16:39:41 × troydm quits (~troydm@unaffiliated/troydm) (Ping timeout: 260 seconds)
16:40:06 conal joins (~conal@66.115.157.70)
16:40:49 × zebrag quits (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
16:41:04 × concept2 quits (~concept2@unaffiliated/tubo) (Read error: Connection reset by peer)
16:41:09 zebrag joins (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr)
16:41:27 concept2 joins (~concept2@unaffiliated/tubo)
16:43:55 × patty1 quits (~patty@104.206.12.227) (Quit: WeeChat 1.9.1)
16:44:09 fendor_ joins (~fendor@178.115.130.128.wireless.dyn.drei.com)
16:46:27 × alp quits (~alp@2a01:e0a:58b:4920:1dd3:df8f:e85c:9a7d) (Ping timeout: 272 seconds)
16:46:50 × fendor quits (~fendor@77.119.128.11.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
16:47:12 troydm joins (~troydm@unaffiliated/troydm)
16:48:47 <dsal> Dumb lens question. I'm working with aeson and want to modify two keys. I've got `v & deep values . _Object . at "k1" ?~ "XXX"` I also want to modify "k2" the same way. Is there a sensible way to do compose two of these `at`s so I can do them in the same place?
16:49:18 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
16:49:57 acidjnk_new2 joins (~acidjnk@p200300d0c718f665213d210801ac68e4.dip0.t-ipconnect.de)
16:50:12 sord937 joins (~sord937@gateway/tor-sasl/sord937)
16:50:42 × borne quits (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
16:52:21 <Taneb> dsal: there's not a super great solution here, although there's a not-nice solution, Control.Lens.Unsound.adjoin does what you need
16:53:03 <dsal> This doc makes me feel bad: Are you looking for failing?
16:54:37 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
16:54:43 <Taneb> "failing" can do "if you don't find anything in the first place, try the second"
16:54:50 <Taneb> But I see what you mean
16:55:44 <dsal> Hmm... This seems newer than my lens.
16:57:04 mdunnio joins (~mdunnio@208.59.170.5)
16:57:22 <dsal> I guess I can just do something ugly in the short term. It feels like something that should be possible. It's really just "replace all occurrences of keys xs with these values" which feels like it's right there.
16:58:36 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
16:58:54 <dsal> A tiny helper function does the thing at least.
16:59:07 <dsal> `v & deep values . _Object %~ fixit`
16:59:27 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
17:00:31 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
17:01:37 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 260 seconds)
17:02:05 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds)
17:02:08 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-hpmiowuimqysffdt)
17:02:24 mdunnio joins (~mdunnio@208.59.170.5)
17:06:05 × jespada quits (~jespada@90.254.245.49) (Ping timeout: 272 seconds)
17:07:00 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
17:07:13 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 260 seconds)
17:07:15 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
17:07:36 bitmapper joins (uid464869@gateway/web/irccloud.com/x-yoxguegrcaybrryj)
17:07:41 jespada joins (~jespada@90.254.245.49)
17:08:23 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
17:08:32 × entel quits (uid256215@botters/entel) ()
17:09:06 entel joins (uid256215@botters/entel)
17:09:19 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Read error: Connection reset by peer)
17:10:31 × conal quits (~conal@66.115.157.70) (Quit: Computer has gone to sleep.)
17:12:10 aarvar joins (~foewfoiew@c.24.56.239.179.static.broadstripe.net)
17:12:27 borne joins (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de)
17:12:30 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection)
17:13:06 ColdRush joins (~coldrush@4e69b241.skybroadband.com)
17:16:23 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
17:16:36 conal joins (~conal@66.115.157.70)
17:17:28 × chele quits (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
17:19:06 comerijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:19:56 sh9 joins (~sh9@softbank060116136158.bbtec.net)
17:21:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
17:23:31 hackage Color 0.3.0 - Color spaces and conversions between them https://hackage.haskell.org/package/Color-0.3.0 (lehins)
17:23:40 aarvar parts (~foewfoiew@c.24.56.239.179.static.broadstripe.net) ()
17:24:34 × bitmagie quits (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) (Quit: bitmagie)
17:24:51 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 258 seconds)
17:24:53 LKoen joins (~LKoen@53.253.88.92.rev.sfr.net)
17:26:00 × conal quits (~conal@66.115.157.70) (Quit: Computer has gone to sleep.)
17:26:35 howdoi joins (uid224@gateway/web/irccloud.com/x-vhoynudvnfkkavxn)
17:26:45 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 244 seconds)
17:27:40 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
17:28:00 × Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving)
17:28:31 × ubert quits (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
17:28:55 ubert joins (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de)
17:29:25 × kish quits (~oracle@unaffiliated/oracle) (Ping timeout: 240 seconds)
17:30:08 kish joins (~oracle@unaffiliated/oracle)
17:31:09 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
17:31:42 christo joins (~chris@81.96.113.213)
17:32:01 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
17:32:47 <dsal> Actually, this is only working for setting string values. It won't even let me set array values, which is bizarre to me.
17:32:52 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
17:33:38 <dsal> I'll just do the maximum gross thing.
17:33:48 <hc> switch to python? ;p
17:34:47 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
17:35:01 × ubert quits (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
17:35:25 solonarv joins (~solonarv@astrasbourg-653-1-263-62.w92-161.abo.wanadoo.fr)
17:35:41 ubert joins (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de)
17:36:05 <dsal> ha
17:36:23 <bqv> can think of worse things to write in than python...
17:37:21 <koz_> bqv: The fact that a worse option than X exists does not make X a good option, for any value of X.
17:38:33 × christo quits (~chris@81.96.113.213) (Ping timeout: 260 seconds)
17:38:52 <geekosaur> they did say "maximum"
17:39:06 <koz_> geekosaur: So what, x86 asm? :P
17:39:17 <pjb> koz_: since the demise of display postscript, only X knows to do remote.
17:39:24 bookhead parts (~bookhead@cpe589630b81951-cm589630b8194f.cpe.net.cable.rogers.com) ("Good Bye")
17:39:33 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
17:39:35 <geekosaur> 1802 asm, I think :p
17:40:07 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
17:40:41 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
17:41:02 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
17:41:38 alp joins (~alp@2a01:e0a:58b:4920:25e2:af6d:9b8e:49b9)
17:46:06 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
17:46:14 × chaosmasttter quits (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
17:49:50 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Quit: jpds)
17:51:53 × macrover quits (~macrover@ip70-189-231-35.lv.lv.cox.net) (Remote host closed the connection)
17:52:11 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection)
17:52:17 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 260 seconds)
17:52:26 × coot quits (~coot@37.30.49.218.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 272 seconds)
17:53:56 is_null joins (~jpic@pdpc/supporter/professional/is-null)
17:54:10 <dsal> I feel like lens let me down a little here. https://www.irccloud.com/pastebin/Z5CZWFIL/gross.hs
17:55:59 geekosaur79 joins (82659a09@host154-009.vpn.uakron.edu)
17:56:10 <koz_> Well, lens isn't Rick Astley.
17:56:28 Tops21 joins (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de)
17:56:35 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
17:56:56 conal joins (~conal@66.115.157.70)
17:57:37 christo joins (~chris@81.96.113.213)
17:57:59 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
17:58:40 dsal starts new library
17:59:22 <monochrom> hahaha koz_
17:59:24 <koz_> dsal: Is going to be named lens-rick?
17:59:42 <koz_> monochrom: I try.
17:59:44 <dsal> Yeah. It'll solve all problems in a simple, natural way.
17:59:56 <koz_> dsal: It'll never tell a lie and hurt you?
18:00:01 × darkspadez|lapto quits (~darkspade@185.204.1.185) ()
18:00:21 × Tops2 quits (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de) (Ping timeout: 265 seconds)
18:00:28 <dsal> If you think about it, when a lens shatters, it becomes very dangerous to everything around it.
18:00:30 × geekosaur79 quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
18:01:06 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
18:01:06 <DigitalKiwi> safety-lens
18:01:10 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
18:01:11 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
18:01:16 <monochrom> never gonna set you up, never gonna rickroll you
18:01:32 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
18:01:35 <DigitalKiwi> the docs page on hackage goes to youtube
18:02:28 dbmikus_ joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
18:02:33 jpds joins (~jpds@gateway/tor-sasl/jpds)
18:03:56 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
18:04:51 fendor_ is now known as fendor
18:05:44 × invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
18:08:21 justsomeguy joins (~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b)
18:08:21 × justsomeguy quits (~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b) (Changing host)
18:08:21 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
18:10:43 <bqv> safety-lens sounds almost realistic
18:11:14 × entel quits (uid256215@botters/entel) ()
18:11:39 entel joins (uid256215@botters/entel)
18:11:42 <DigitalKiwi> yeah i was actually trying to be helpful someone not me should make it
18:12:47 × entel quits (uid256215@botters/entel) (Client Quit)
18:13:16 entel joins (uid256215@botters/entel)
18:13:25 chaosmasttter joins (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de)
18:13:41 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
18:15:01 <bqv> though i imagine ed would be unhappy at lens being called unsafe
18:15:49 × obihann quits (~jhann@156.34.160.69) (Remote host closed the connection)
18:20:37 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
18:20:45 Tario joins (~Tario@201.192.165.173)
18:21:53 × knupfer quits (~Thunderbi@200116b82c1ba400a869b894ad25104c.dip.versatel-1u1.de) (Remote host closed the connection)
18:22:01 knupfer joins (~Thunderbi@200116b82c1ba4001c1efa9cfbaac5ab.dip.versatel-1u1.de)
18:22:11 × kish quits (~oracle@unaffiliated/oracle) (Remote host closed the connection)
18:24:38 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Quit: Lost terminal)
18:24:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:24:59 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
18:25:06 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
18:26:07 × conal quits (~conal@66.115.157.70) (Quit: Computer has gone to sleep.)
18:26:41 conal joins (~conal@66.115.157.70)
18:27:15 × conal quits (~conal@66.115.157.70) (Client Quit)
18:28:02 kish joins (~oracle@unaffiliated/oracle)
18:28:04 christo joins (~chris@81.96.113.213)
18:30:22 ishutin joins (~Ishutin@178-164-208-236.pool.digikabel.hu)
18:32:19 × machinedgod quits (~machinedg@207.253.244.210) (Ping timeout: 258 seconds)
18:33:10 Ariakenom joins (~Ariakenom@h-82-196-111-76.NA.cust.bahnhof.se)
18:33:25 × ishutin_ quits (~Ishutin@92-249-182-32.pool.digikabel.hu) (Ping timeout: 240 seconds)
18:34:00 machinedgod joins (~machinedg@142.169.78.247)
18:39:22 invaser joins (~Thunderbi@31.148.23.125)
18:41:50 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
18:42:14 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
18:45:23 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
18:45:59 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
18:46:30 hackage persistent 2.11.0.0 - Type-safe, multi-backend data serialization. https://hackage.haskell.org/package/persistent-2.11.0.0 (parsonsmatt)
18:46:58 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
18:47:30 hackage persistent-mysql 2.10.3 - Backend for the persistent library using MySQL database server. https://hackage.haskell.org/package/persistent-mysql-2.10.3 (parsonsmatt)
18:47:43 miseenplace[m] joins (miseenplac@gateway/shell/matrix.org/x-lvdnpqvjqjthlamh)
18:48:30 hackage persistent-postgresql 2.11.0.0 - Backend for the persistent library using postgresql. https://hackage.haskell.org/package/persistent-postgresql-2.11.0.0 (parsonsmatt)
18:49:30 hackage persistent-template 2.9.1.0 - Type-safe, non-relational, multi-backend persistence. https://hackage.haskell.org/package/persistent-template-2.9.1.0 (parsonsmatt)
18:50:30 hackage persistent-sqlite 2.11.0.0 - Backend for the persistent library using sqlite3. https://hackage.haskell.org/package/persistent-sqlite-2.11.0.0 (parsonsmatt)
18:51:30 hackage persistent-mongoDB 2.11.0.0 - Backend for the persistent library using mongoDB. https://hackage.haskell.org/package/persistent-mongoDB-2.11.0.0 (parsonsmatt)
18:52:15 christo joins (~chris@81.96.113.213)
18:53:00 hackage persistent-test 2.0.3.4 - Tests for Persistent https://hackage.haskell.org/package/persistent-test-2.0.3.4 (parsonsmatt)
18:53:13 × machinedgod quits (~machinedg@142.169.78.247) (Ping timeout: 260 seconds)
18:53:53 machinedgod joins (~machinedg@142.169.78.247)
18:53:57 × notnatebtw quits (~nate@125.161.131.218) (Quit: WeeChat 2.9)
18:54:55 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
18:55:29 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
18:56:00 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
18:56:46 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
18:57:02 × christo quits (~chris@81.96.113.213) (Ping timeout: 264 seconds)
18:58:00 hackage loc 0.1.3.10 - Types representing line and column positions and ranges in text files. https://hackage.haskell.org/package/loc-0.1.3.10 (chris_martin)
18:58:50 <justsomeguy> Is there a way to visualize recursion trees for haskell functions? (Or, if not, what's a good tool for creating those diagrams by hand?)
18:59:00 hackage citeproc 0.1.1 - Generates citations and bibliography from CSL styles. https://hackage.haskell.org/package/citeproc-0.1.1 (JohnMacFarlane)
19:00:43 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
19:01:11 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:01:36 <sm[m]> justsomeguy: is the stack trace printed by error (at least from a profiling build) suitable ?
19:01:59 × alp quits (~alp@2a01:e0a:58b:4920:25e2:af6d:9b8e:49b9) (Ping timeout: 272 seconds)
19:01:59 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
19:03:27 berberman joins (~berberman@unaffiliated/berberman)
19:04:50 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
19:05:14 enva2712 joins (~enva2712@cpe-75-86-42-2.wi.res.rr.com)
19:05:32 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
19:05:49 <justsomeguy> sm[m]: Hmm, let me see.
19:06:33 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:07:17 <sm[m]> If not there are tools for it, somewhere, but I don't know if they work for complex code
19:09:31 <justsomeguy> It's really just a few toy example functions that I'm using for my notes on recursion.
19:10:24 <sm[m]> A profile, perhaps improved by profiterole, could be another option
19:11:53 <justsomeguy> This is interesting. I have not looked into profiling until now.
19:12:47 <justsomeguy> Thanks for the hints, sm[m], I must go now :)
19:12:55 <sm[m]> np
19:13:02 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
19:13:33 Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it)
19:13:51 × johnw quits (~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
19:14:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
19:17:25 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds)
19:19:37 × mmohammadi9812 quits (~mmohammad@2.178.217.171) (Ping timeout: 265 seconds)
19:19:41 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
19:20:06 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
19:20:20 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:21:29 × jespada quits (~jespada@90.254.245.49) (Quit: Sleeping)
19:22:10 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
19:23:01 Entertainment joins (~lyle@104.246.132.210)
19:23:25 conal joins (~conal@66.115.157.70)
19:24:10 Entertainment parts (~lyle@104.246.132.210) ()
19:24:26 Entertainment joins (~lyle@104.246.132.210)
19:24:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
19:25:04 Entertainment parts (~lyle@104.246.132.210) ()
19:25:31 hackage blanks 0.5.0 - Fill-in-the-blanks - A library factoring out substitution from ASTs https://hackage.haskell.org/package/blanks-0.5.0 (ejconlon)
19:25:46 Entertainment joins (~entertain@104.246.132.210)
19:26:48 juuandyy joins (~juuandyy@90.166.144.65)
19:27:36 × piyush-kurur quits (~user@117.213.47.10) (Remote host closed the connection)
19:29:50 jess joins (jess@freenode/staff/jess)
19:30:24 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
19:30:36 mmohammadi9812 joins (~mmohammad@2.178.217.171)
19:30:47 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
19:30:50 dscho joins (~dscho@217.146.82.202)
19:30:50 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
19:31:20 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
19:34:28 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
19:34:38 todda7 joins (~torstein@ppp-2-84-30-242.home.otenet.gr)
19:35:15 mdunnio joins (~mdunnio@208.59.170.5)
19:36:42 × whald quits (~trem@2a02:810a:8100:11a6:69c1:660a:2b51:2055) (Remote host closed the connection)
19:37:16 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
19:37:28 britva joins (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904)
19:38:55 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
19:38:57 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Remote host closed the connection)
19:39:10 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
19:39:45 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds)
19:40:00 hackage servant 0.18.1 - A family of combinators for defining webservices APIs https://hackage.haskell.org/package/servant-0.18.1 (maksbotan)
19:40:25 mdunnio joins (~mdunnio@208.59.170.5)
19:40:32 crdrost joins (~crdrost@c-98-207-102-156.hsd1.ca.comcast.net)
19:41:01 hackage servant-server 0.18.1, servant-http-streams 0.18.1, servant-docs 0.11.7, servant-client-core 0.18.1, servant-client 0.18.1 (maksbotan): https://qbin.io/sport-ui-myce
19:41:26 × britva quits (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) (Client Quit)
19:42:22 × conal quits (~conal@66.115.157.70) (Ping timeout: 246 seconds)
19:43:02 britva joins (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904)
19:44:01 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:44:45 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds)
19:45:23 conal joins (~conal@66.115.157.70)
19:45:33 × Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving)
19:46:10 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9)
19:46:12 Lycurgus joins (~niemand@98.4.97.110)
19:46:17 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds)
19:46:28 avdb joins (~avdb@ip-62-235-73-30.dsl.scarlet.be)
19:47:02 wanaks[m] joins (wanaksmatr@gateway/shell/matrix.org/x-tghlzmezifnrojup)
19:49:15 <matthew-> hmm, this is probably a dumb question, but am I right in thinking of a list as a sum type with 1 type parameter?
19:49:35 <gobbleguy> sounds right
19:49:36 <Uniaika> matthew-: nah you're right
19:49:43 <bqv> lispy
19:50:14 <Uniaika> % :i []
19:50:15 <yahb> Uniaika: type [] :: * -> *; data [] a = [] | a : [a]; -- Defined in `GHC.Types'; instance Alternative [] -- Defined in `GHC.Base'; instance Applicative [] -- Defined in `GHC.Base'; instance Eq a => Eq [a] -- Defined in `GHC.Classes'; instance Functor [] -- Defined in `GHC.Base'; instance Monad [] -- Defined in `GHC.Base'; instance MonadPlus [] -- Defined in `GHC.Base'; instance Monoid [a] -- Defined in `GHC.Base
19:50:28 <Uniaika> yep', sounds about right matthew- :)
19:51:53 <matthew-> ok, thanks.
19:52:03 <crdrost> Yeah a list can be thought of as f(x) = 1 + x f(x), which you might manipulate to f(x) = 1/(1 - x), which has as a Taylor series f(x) = 1 + x + x^2 + x^3 + ...
19:52:46 × juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 272 seconds)
19:55:16 vZS1 joins (~vZS1@host-92-20-231-81.as13285.net)
19:55:19 × britva quits (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) (Quit: This computer has gone to sleep)
19:58:55 <matthew-> hmm, just trying to get some terminology right in my head. In the type [Int], for example, it feels _application_ of [] and Int. What word is used here? Because it seems I'm looking for something other than sum or product
19:59:01 hackage hdocs 0.5.5.0 - Haskell docs tool https://hackage.haskell.org/package/hdocs-0.5.5.0 (AlexandrRuchkin)
19:59:10 × invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 246 seconds)
19:59:27 <jle`> application isn't wrong, i think
19:59:40 <jle`> like how if you apply 'negate' to '1', you get -1
19:59:43 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
19:59:47 <geekosaur> application is correct; [Int] can also be written ([] Int)
20:00:14 <matthew-> ok, so [] :: * -> *, so it is application, just at the type level
20:00:20 <geekosaur> similarly for Maybe Int which doesn't have the mixfix notation
20:00:36 <matthew-> ok, this makes sense
20:01:42 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1)
20:01:43 <hekkaidekapus> (But [] is overloaded. At the value level, it stands for the empty list.)
20:01:46 rprije joins (~rprije@194-193-168-77.tpgi.com.au)
20:03:36 <matthew-> hekkaidekapus: yes, this is exactly the thing that I'm trying to straighten out in my head
20:04:06 <jle`> yeah, this is an unfortunate haskell namespacing thing that isn't unique to lists
20:04:07 jespada joins (~jespada@90.254.245.49)
20:04:15 × zebrag quits (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
20:04:15 <jle`> @let data MyType a = MyType a
20:04:16 <lambdabot> Defined.
20:04:28 <geekosaur> it's not so different from: data Foo a = Foo | Bar a (Foo a)
20:04:35 <jle`> here we have MyType as a type construfctor, and also MyType as a data constructor
20:04:37 <jle`> whoops
20:04:41 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
20:05:43 × conal quits (~conal@66.115.157.70) (Quit: Computer has gone to sleep.)
20:05:56 <matthew-> yes, I'm just trying to figure out if I can implement type inference of lists as builtins without going the whole hog of ADTs and recursive types
20:06:48 zebrag joins (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr)
20:07:47 <matthew-> if I add TypeApp then I guess I should really rework TypeArrow to be l -> r -> TypeApp(TypeApp(Const("->"), l), r)
20:08:01 <ski> you could probably special case any particular single (possibly recursive) algebraic data type, in a language you're designing
20:08:28 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection)
20:08:44 Guest76112 joins (uid472329@gateway/web/irccloud.com/x-ennruecymrcxflva)
20:09:49 <matthew-> ski: well if I have empty list constructor and cons as builtins, then I think I can get away with just starting the type inference env with suitable types for both of those functions. I'm just trying to get clear how to actually represent list foo as a type
20:10:13 × vicfred quits (~vicfred@unaffiliated/vicfred) (Remote host closed the connection)
20:10:20 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
20:10:41 vicfred joins (~vicfred@unaffiliated/vicfred)
20:12:11 xerox_ joins (~xerox@unaffiliated/xerox)
20:13:31 <ski> specify that empty list has elements of any type you like; and that non-empty list construction takes a value of some type and a list with elements of that type, and gives a list with elements of that type
20:14:09 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
20:14:31 hackage hsdev 0.3.4.0 - Haskell development library https://hackage.haskell.org/package/hsdev-0.3.4.0 (AlexandrRuchkin)
20:15:36 <ski> to express the above in Haskell terms, given `data List a = Nil | Cons a (List a)', you specify that `Nil :: List a' and `Cons :: a -> List a -> List a' (where `a' is a type variable, `Nil' and `Cons' being polymorphic operations where `a' can be (consistently) replaced by any specific type)
20:15:42 × knupfer quits (~Thunderbi@200116b82c1ba4001c1efa9cfbaac5ab.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
20:16:17 <ski> matthew- : however, you'll presumably also want some way to do a case-distinction on whether a list is empty or not (and in the latter case, access the head element, and the tail list)
20:17:44 <matthew-> yes - I'm doing pattern matching too
20:18:06 <matthew-> presumably I just use normal inference and then unify the type of the pattern with the type of the expr
20:19:20 waskell_ joins (~quassel@d66-183-127-166.bchsia.telus.net)
20:20:17 × nados quits (~dan@69-165-210-185.cable.teksavvy.com) (Remote host closed the connection)
20:20:28 × Lycurgus quits (~niemand@98.4.97.110) (Quit: Exeunt)
20:20:45 nados joins (~dan@69-165-210-185.cable.teksavvy.com)
20:21:00 hackage reflex-gadt-api 0.1.0.0 - Interact with a GADT API in your reflex-dom application. https://hackage.haskell.org/package/reflex-gadt-api-0.1.0.0 (abrar)
20:21:02 × asthasr quits (~asthasr@162.210.29.120) (Quit: asthasr)
20:21:54 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
20:22:16 × waskell quits (~quassel@d66-183-124-7.bchsia.telus.net) (Ping timeout: 246 seconds)
20:22:47 × nados quits (~dan@69-165-210-185.cable.teksavvy.com) (Remote host closed the connection)
20:23:04 nados joins (~dan@69-165-210-185.cable.teksavvy.com)
20:23:11 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
20:24:12 × nados quits (~dan@69-165-210-185.cable.teksavvy.com) (Remote host closed the connection)
20:24:40 nados joins (~dan@69-165-210-185.cable.teksavvy.com)
20:25:38 <ski> matthew- : yea, should work (in absense of existentials, GADTs, higher-rank). while patterns are more restrictive than expressions, their (type, in this case) behaviour should correspond to each other, on the overlap
20:26:02 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:26:10 Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it)
20:26:39 knupfer joins (~Thunderbi@i5E86B46C.versanet.de)
20:27:39 <hekkaidekapus> To go overboard, if more powerful patterns are needed, views could come into play. (But that’s another can of worms :)
20:28:36 <matthew-> ski : cool. I guess it's more: for each fv(pattern), treat as Abs, so introduce new type var. Infer type of branch body, which will constrain these fresh vars. With that info, infer the type of the pattern. And then finally check the pattern type unifies with the case expression type
20:30:40 <matthew-> and yes, I'm definitely keeping this simple - no higher-rank types, GADTs or other madness ;)
20:30:58 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
20:32:01 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
20:32:28 <ski> you could infer the type of the branch pattern before the type of the branch expression
20:32:46 <ski> matthew- : HM ?
20:32:59 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
20:36:47 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
20:36:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:37:13 <ski> matthew- : btw, if you've not seen it, perhaps "Polymorphic Type Inference" by Michael I. Schwartzbach in 1995-03 at <https://cs.au.dk/~amoeller/mis/typeinf.p(s|df)>,<https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.1493> could be interesting
20:38:20 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
20:38:52 johnw joins (~johnw@haskell/developer/johnw)
20:39:54 Tario joins (~Tario@37.218.241.6)
20:40:36 <hekkaidekapus> matthew-: You can introduce a match construct which takes 2 arguments—a pattern and a value—and either fails or substitues variables in the pattern with values in the value.
20:40:48 × Tario quits (~Tario@37.218.241.6) (Read error: Connection reset by peer)
20:40:59 Tario joins (~Tario@201.192.165.173)
20:41:06 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
20:41:29 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
20:41:30 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
20:42:11 <hekkaidekapus> How to define that construct is discussed in details in Types and Programming Languages.
20:42:16 × avdb quits (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Ping timeout: 265 seconds)
20:42:19 <hekkaidekapus> @where TaPL
20:42:19 <lambdabot> "Types and Programming Languages" by Benjamin C. Pierce in 2002-02-01 at <https://www.cis.upenn.edu/~bcpierce/tapl/>
20:43:40 <ski> i sortof dislike view patterns ..
20:43:51 thir joins (~thir@pd9e1bd8a.dip0.t-ipconnect.de)
20:44:00 <hekkaidekapus> ski: That’s for me?
20:44:53 <hekkaidekapus> I was really going overboars: it is “views” in the Idris sense.
20:45:04 <hekkaidekapus> *overboard
20:47:23 <matthew-> ski: (sorry, was afk). Yes, HM
20:47:40 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:47:47 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
20:47:53 <ski> i dunno the Idris sense
20:48:11 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
20:48:33 <matthew-> yeah, I have physical TAPL and ATTPL back from PhD days some years back...
20:49:42 <matthew-> ski: thanks for the paper pointer; reading now
20:50:57 <hekkaidekapus> ski: <https://paste.tomsmeding.com/ifpl4FiR>
20:51:06 × sfvm quits (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine)
20:51:23 × magicman quits (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net) (Quit: Lost terminal)
20:52:13 × thir quits (~thir@pd9e1bd8a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
20:52:22 <bqv> sequence behaves nicely with IO, right?
20:53:05 <ski> "nicely" means ?
20:53:30 <ski> hekkaidekapus : why the index ?
20:53:35 <bqv> i feel like there are gotchas somewhere
20:53:47 <bqv> but i can't imagine how
20:54:05 <bqv> if i'm talking nonsense, just means i'm overly paranoid. nevermind :)
20:54:19 <ski> it's not tail-recursive, if that's what you were wondering about
20:54:27 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Ping timeout: 244 seconds)
20:55:11 <bqv> having trouble figuring the implications of that
20:56:01 <dsal> Is there an easy way to get GHCI to run in a different Monad?
20:56:07 <ski> if you use it on a really long list, it'll use a lot of stack
20:56:16 <dsal> In particular, my own transformer stack over IO
20:56:23 __xor joins (~xor@74.215.46.133)
20:56:35 argent0 joins (~argent0@168.227.96.2)
20:56:36 <bqv> hm, ok
20:56:41 × _xor quits (~xor@74.215.46.133) (Read error: Connection reset by peer)
20:56:45 <geekosaur> dsal: there's a command line option
20:57:10 <ski> not afaik, dsal. i guess you might be able to do some wrapper on each invocation
20:57:22 <hekkaidekapus> ski: The index transforms input is some preferred forms which can then be inspected with “covering functions”, another Idriss-ism. But I guess I’m way off-topic now.
20:58:04 <ski> hekkaidekapus : i wonder whether that has any similarity to the (non-dependent) "active patterns" in F#
20:58:10 <dsal> hmm... Yeah, running my own ghci would be kind of neat if I had an easy way to do that. The way I'm doing it isn't hard enough.
20:58:37 <hekkaidekapus> ski: Unfortunately, I dunno F# ;)
20:59:05 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#using-a-custom-interactive-printing-function note that the type can be something other than IO, although the example is still in IO
20:59:39 <geekosaur> hm, not qute although it has that C a => so as long as it resolves to IO you're good to go
20:59:46 <geekosaur> so a stack over IO should work
21:00:01 <ski> i mean, you could make an `IORef S', and then a combinator that used that, having type `StateT S IO a -> IO a', updating, then wrapping each invocation in the interactor with that combinator
21:00:02 × dscho quits (~dscho@217.146.82.202) ()
21:00:54 × AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
21:01:25 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
21:01:43 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
21:02:31 hackage esqueleto 3.4.0.1 - Type-safe EDSL for SQL queries on persistent backends. https://hackage.haskell.org/package/esqueleto-3.4.0.1 (parsonsmatt)
21:03:44 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
21:04:13 <ski> hekkaidekapus : it's like defining a set of complete, non-overlapping, pattern synonyms, using a single common definition that acts like a view pattern resulting in a corresponding data type with constructors being the alternatives
21:04:42 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
21:05:29 <hekkaidekapus> ski: hmm… The set still mirrors the canonic constructors?
21:05:52 <ski> no, could be any you like
21:06:12 <hekkaidekapus> In that case, that’s like Idris’ views then.
21:06:57 <hekkaidekapus> (With the non-dependent caveat, of course.)
21:07:08 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
21:07:23 waskell joins (~quassel@d173-181-98-227.bchsia.telus.net)
21:07:34 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
21:09:43 <ski> there's two variants. one is defining an active pattern with just a single alternative, which can fail to match. the body will signal failure, by computing a `Maybe'. the other one is having a set of alternatives, and the single body will inspect the input value, do whatever branching (e.g. using conditionals) that it likes, and "return the alternative" that it elected should match
21:09:52 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
21:10:40 × waskell_ quits (~quassel@d66-183-127-166.bchsia.telus.net) (Ping timeout: 272 seconds)
21:11:03 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
21:11:04 <ski> (ah, acually, there was also a non-failing single-pattern version. see <https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/active-patterns>)
21:13:47 <hekkaidekapus> Those alternatives are the closest sibling to views in Idris. Now, to avoid syntactic clutter, there is a with builtin to choose which alternative to use when inspecting the input.
21:14:21 <hekkaidekapus> oh, oopsy. Meant to highlight with ;)
21:14:47 <hekkaidekapus> (And thanks for the URL, will take a look.)
21:17:38 × ubert quits (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
21:17:57 ubert joins (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de)
21:19:14 × borne quits (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
21:20:58 × Tops21 quits (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de) (Read error: Connection reset by peer)
21:22:26 waskell_ joins (~quassel@d66-183-127-166.bchsia.telus.net)
21:23:35 <koz_> Where is the Data.Unique.Tag that dependent-map's docs refer to located?
21:23:36 waskell__ joins (~quassel@d173-181-98-227.bchsia.telus.net)
21:23:39 <koz_> The link misses on Hackage.
21:26:17 <hekkaidekapus> koz_: <https://hackage.haskell.org/package/prim-uniq-0.2/docs/Data-Unique-Tag.html>
21:26:29 × waskell quits (~quassel@d173-181-98-227.bchsia.telus.net) (Ping timeout: 244 seconds)
21:26:29 <hekkaidekapus> (Found by following the source.)
21:26:58 <koz_> Nice, thank you!
21:26:59 × waskell__ quits (~quassel@d173-181-98-227.bchsia.telus.net) (Client Quit)
21:27:04 <hekkaidekapus> yw
21:27:13 × waskell_ quits (~quassel@d66-183-127-166.bchsia.telus.net) (Ping timeout: 260 seconds)
21:28:45 <koz_> So if I were to use DMap with that Tag, I guess I need to have k ~ Tag s for some s?
21:28:47 <dsal> geekosaur: thanks for the link. I should eventually do something useful here.
21:28:49 <koz_> What would be suitable for s?
21:29:38 × DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 265 seconds)
21:29:44 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
21:29:55 <dsal> My yak was "I want to look at some of this data I've stored." Data is JSON from an upstream API, except I removed a few fields that are huge and temporary. Then the unmarshaling fails because they're required. So I change how I remove them. Then I want to make a lens through the marshaled data and realized I don't have a marshaler…
21:30:05 <dsal> I'm not sure what I *started* doing, but I found a bunch of things I can make better.
21:30:11 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:30:32 waskell joins (~quassel@d66-183-127-166.bchsia.telus.net)
21:30:41 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
21:31:03 DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
21:31:04 <fresheyeball> how do I explicitly import a pattern?
21:31:09 <fresheyeball> I can't figure it out
21:31:18 <koz_> fresheyeball: import Foo.Bar (pattern Baz)
21:31:26 <koz_> You have to have PatternSynonyms on.
21:31:57 <fresheyeball> oh odd
21:32:10 <fresheyeball> ok yeah, if I have the language pragma on in the importing file I can import explicitly
21:32:17 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
21:32:21 <koz_> Yeah, that caught me out recently too.
21:32:21 <fresheyeball> but if I have it off, I can only import impplicitly
21:32:30 borne joins (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de)
21:32:49 × KhoN_1 quits (~KhoN@cm-84.208.147.132.getinternet.no) (Read error: Connection reset by peer)
21:33:07 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
21:34:00 gobbleguy is now known as glguy
21:35:16 × vZS1 quits (~vZS1@host-92-20-231-81.as13285.net) (Remote host closed the connection)
21:35:50 mdunnio joins (~mdunnio@208.59.170.5)
21:35:59 alp joins (~alp@2a01:e0a:58b:4920:543f:1fa8:3f98:5d73)
21:36:45 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 240 seconds)
21:37:16 × comerijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
21:38:08 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
21:38:09 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:38:37 catchme joins (uid355354@gateway/web/irccloud.com/x-jjbcbrnidixjkmxm)
21:40:29 invaser joins (~Thunderbi@31.148.23.125)
21:40:39 × mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds)
21:41:30 <tomjaguarpaw> Hedgehog checkParallel runs the tests in parallel in ghci but not in a compiled program. Am I doing something obviously wrong?
21:41:44 × invaser quits (~Thunderbi@31.148.23.125) (Remote host closed the connection)
21:42:20 sillyotter joins (~sillyotte@2605:a000:1004:819f:8b31:8f61:3553:9e1f)
21:45:21 magicman joins (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net)
21:45:23 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:45:30 × sillyotter quits (~sillyotte@2605:a000:1004:819f:8b31:8f61:3553:9e1f) (Client Quit)
21:47:21 <koz_> tomjaguarpaw: Did you build with -threaded and tell the RTS to use all your cores?
21:48:54 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
21:48:56 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
21:49:01 belphegor666 joins (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de)
21:55:37 × tdhttt quits (~tdhttt@89.45.90.161) (Ping timeout: 260 seconds)
21:56:02 <tomjaguarpaw> Ah, that does the trick, thanks
21:56:21 <tomjaguarpaw> Strangely though the wall clock time is not reduced, despite it running the tests in parallel
21:56:29 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
21:57:13 <Axman6> Welcome to the joys of parallelism
21:57:39 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
21:57:42 <tomjaguarpaw> That's strange. What's the overheard then?
21:57:44 × belphegor666 quits (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9)
21:57:53 tdhttt joins (~tdhttt@2600:8802:2203:2500:799b:bc7:7aac:82a9)
21:58:00 belphegor666 joins (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de)
21:58:16 <tomjaguarpaw> I wonder if it's the Hedgehog code that renders the output
21:58:20 <tomjaguarpaw> It updates a *lot*
21:58:22 × chaosmasttter quits (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
21:58:39 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
21:58:48 <Axman6> it would depend on your program. it could be GC - try running it without parallel GC. Also try running with +RTS -s (I think, see +RTS --help for all the optiosn) to get a report from the RTS on things like productivity
22:00:08 conal joins (~conal@66.115.157.70)
22:00:26 Rudd0 joins (~Rudd0@185.189.115.108)
22:00:49 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit)
22:01:05 <Axman6> lots of tiny tests are unlikely to get much speedup from parallelism with other overhead, it could very well be the hedgehog coordination. feel free to share some code
22:01:25 × knupfer quits (~Thunderbi@i5E86B46C.versanet.de) (Ping timeout: 264 seconds)
22:01:50 <tomjaguarpaw> Thanks, says 1.2s GC and 1s MUT
22:02:05 <Axman6> looks like GC then. there are eays to reduce that though
22:02:20 <Axman6> like judt making it allocate a big enough heap it doesn't need to GC
22:02:20 <tomjaguarpaw> Productivity 45.4% of total user
22:02:28 <Axman6> that's pretty bad
22:02:43 <Axman6> stop making so much garbage!
22:03:05 <tomjaguarpaw> Hah, I'm doing 10k random samples for each of about 15 property tests
22:03:22 × belphegor666 quits (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9)
22:03:31 <tomjaguarpaw> 1.6 GB allocated on the heap, so I guess I can make the heap big enough
22:05:08 <tomjaguarpaw> GC is now 0.375s but MUT is now 2.2s!
22:05:15 <tomjaguarpaw> I don't even understand what MUT si
22:05:24 <tomjaguarpaw> Perhaps something in Hedgehog is doing mutation
22:05:49 × dxld quits (~dxld@80-109-136-248.cable.dynamic.surfer.at) (Remote host closed the connection)
22:06:09 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds)
22:06:52 <tomjaguarpaw> Well they run fast enough anyway. I was just confused. Thanks Axman6 and koz_
22:07:01 × enva2712 quits (~enva2712@cpe-75-86-42-2.wi.res.rr.com) (Quit: leaving)
22:07:34 <koz_> Axman6: How does one disable parallel GC again?
22:08:13 <Axman6> there's a flag... >_>
22:08:15 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
22:08:18 <hekkaidekapus> koz_: ghc -qg
22:08:19 <Axman6> I don't remember, I've never done it
22:08:30 dxld joins (~dxld@80-109-136-248.cable.dynamic.surfer.at)
22:08:34 <koz_> hekkaidekapus: Thanks!
22:09:00 hackage gopro-plus 0.4.1.2 - GoPro Plus Client API. https://hackage.haskell.org/package/gopro-plus-0.4.1.2 (dustin)
22:09:49 hekkaidekapus waves at dsal.
22:10:11 dsal uploads GoPro footage of yak shaving
22:10:29 <hekkaidekapus> lol
22:10:48 <dsal> I think my actual motivation was "I saw a thing on optics yesterday, so I want to at least touch a lens."
22:11:09 <hekkaidekapus> dsal: changelog: Unreleased changes ;)
22:11:26 × ubert quits (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
22:11:44 <dsal> The lens that allows me to manipulate data within a JSON blob of a known type is kind of neat, though.
22:11:59 ubert joins (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de)
22:12:04 <dsal> Yeah, ...1 to ...2 just added a few instances. I guess I could've mentioned that.
22:12:12 <dsal> I don't feel like I've added all the instances, though.
22:12:55 <hekkaidekapus> Did you switch to optics or you did some lensy stuff?
22:13:23 <dsal> I'm still using lens.
22:13:25 wroathe_ joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
22:13:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
22:14:06 <hekkaidekapus> Ah, cheers! (Just saw the commit.)
22:14:08 <dsal> I just made a lens on a thing that comes out of the DB as a ByteString where I can manipulate the structured that ByteString represents.
22:14:48 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
22:15:19 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
22:15:37 <dsal> It's not stuff I *need* to do, but stuff I'd like to be able to do someday. dbresult & someblob . variations . whatever ?~ "stuff"
22:16:50 coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
22:17:25 × wroathe_ quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Client Quit)
22:17:33 son0p joins (~son0p@181.136.122.143)
22:17:46 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
22:20:36 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
22:22:08 × jakob_ quits (~textual@p200300f49f16220018bfd377e039c2e3.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
22:23:53 × ubert quits (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
22:24:10 Neuromancer joins (~Neuromanc@unaffiliated/neuromancer)
22:25:17 jedws joins (~jedws@101.184.150.81)
22:30:19 Tario joins (~Tario@201.192.165.173)
22:31:04 kest10 joins (~kest10@139.28.218.148)
22:32:03 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:34:05 jakob_ joins (~textual@p200300f49f1622005c3255e4d89f5bc8.dip0.t-ipconnect.de)
22:34:12 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
22:36:40 christo joins (~chris@81.96.113.213)
22:42:03 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
22:50:48 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
22:53:01 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
22:55:11 × fendor quits (~fendor@178.115.130.128.wireless.dyn.drei.com) (Remote host closed the connection)
22:55:14 × conal quits (~conal@66.115.157.70) (Quit: Computer has gone to sleep.)
22:56:57 conal joins (~conal@66.115.157.70)
22:57:08 × conal quits (~conal@66.115.157.70) (Client Quit)
23:04:25 × theDon quits (~td@94.134.91.97) (Ping timeout: 240 seconds)
23:04:58 DTZUZU_ joins (~DTZUZU@207.81.171.87)
23:06:47 × DTZUZU quits (~DTZUZU@207.81.171.87) (Ping timeout: 258 seconds)
23:09:13 conal joins (~conal@66.115.157.70)
23:10:46 <nshepperd> using lenses for text manipulation is fun
23:11:45 Tario joins (~Tario@201.192.165.173)
23:14:05 <nshepperd> i made a little library with functions like: take a parser and return a traversal of each matching substring
23:18:15 × Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving)
23:18:30 hackage Win32 2.10.1.0 - A binding to Windows Win32 API. https://hackage.haskell.org/package/Win32-2.10.1.0 (TamarChristina)
23:22:19 thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de)
23:24:47 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
23:25:41 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
23:26:00 pavonia joins (~user@unaffiliated/siracusa)
23:26:01 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 246 seconds)
23:26:08 <Axman6> nshepperd: link? that sounds familliar
23:26:39 <Axman6> lens-regex is super cool too
23:27:17 <nshepperd> it's not anything i uploaded
23:27:23 × thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
23:27:25 <nshepperd> maybe i should tho
23:27:31 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
23:27:48 o1lo01ol1o joins (~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
23:28:32 × conal quits (~conal@66.115.157.70) (Quit: Computer has gone to sleep.)
23:29:11 conal joins (~conal@66.115.157.70)
23:30:02 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
23:30:33 christo joins (~chris@81.96.113.213)
23:32:37 × o1lo01ol1o quits (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
23:33:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:33:16 × mmohammadi9812 quits (~mmohammad@2.178.217.171) (Ping timeout: 256 seconds)
23:35:35 × christo quits (~chris@81.96.113.213) (Ping timeout: 272 seconds)
23:35:59 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
23:36:04 <bqv> d.nnr
23:36:24 christo joins (~chris@81.96.113.213)
23:36:44 <bqv> is it possible in any context to use foreign imports in typeclass instances?
23:37:01 <bqv> (without resorting to templatehaskell, which is probably pretty heatheny :D)
23:37:07 <glguy> The foreign imports will be top-level definitions
23:37:28 <glguy> you can then use the identifiers declared there in your instance declarations
23:37:47 <bqv> so that's a no
23:37:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
23:38:00 hackage massiv-io 0.4.0.0 - Import/export of Image files into massiv Arrays https://hackage.haskell.org/package/massiv-io-0.4.0.0 (lehins)
23:38:20 <bqv> was hoping for a type parameter'd foreign import
23:38:40 <bqv> actually, might still be able to...
23:38:49 <bqv> who likes void pointers...
23:40:13 <monochrom> I don't see any limitation apart from barely inconvenient syntax.
23:40:30 × dhouthoo quits (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9)
23:41:36 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
23:44:10 mmohammadi9812 joins (~mmohammad@2.178.132.235)
23:44:44 × jakob_ quits (~textual@p200300f49f1622005c3255e4d89f5bc8.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
23:45:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:47:00 jakob_ joins (~textual@p200300f49f1622009d826d3ed3c60d57.dip0.t-ipconnect.de)
23:49:21 <xe4> where can I ask questions about using stylish-haskell with my text editor?
23:49:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
23:49:45 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:50:25 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
23:52:41 × ystael quits (~ystael@209.6.50.55) (Ping timeout: 256 seconds)
23:52:55 × conal quits (~conal@66.115.157.70) (Quit: Computer has gone to sleep.)
23:55:01 × LKoen quits (~LKoen@53.253.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
23:55:51 × alp quits (~alp@2a01:e0a:58b:4920:543f:1fa8:3f98:5d73) (Ping timeout: 272 seconds)
23:56:38 theDon joins (~td@i5E86B1F0.versanet.de)
23:57:28 Varis joins (~Tadas@unaffiliated/varis)
23:57:45 × xff0x quits (~fox@2001:1a81:53f2:500:153c:e136:7dea:e190) (Ping timeout: 272 seconds)
23:58:08 xff0x joins (~fox@2001:1a81:53f2:500:5f26:7f0a:da68:24d7)
23:58:25 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
23:59:27 × Entertainment quits (~entertain@104.246.132.210) (Quit: Leaving.)
23:59:58 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)

All times are in UTC on 2020-11-04.