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.