Logs on 2020-11-01 (freenode/#haskell)
| 00:00:01 | × | zopsi quits (zopsi@2600:3c00::f03c:91ff:fe14:551f) (Quit: Oops) |
| 00:00:38 | → | texasmynsted joins (~texasmyns@172.93.177.204) |
| 00:00:47 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 00:01:13 | → | zopsi joins (zopsi@2600:3c00::f03c:91ff:fe14:551f) |
| 00:02:33 | <Uniaika> | I read "lada" at first haha |
| 00:03:09 | × | ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection) |
| 00:05:27 | → | ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf) |
| 00:07:28 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 00:10:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:11:28 | → | gioyik joins (~gioyik@186.112.105.190) |
| 00:12:02 | × | refried_ quits (~textual@pool-108-20-26-90.bstnma.fios.verizon.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 00:12:05 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 00:12:10 | × | Ariakenom quits (~Ariakenom@h-155-4-221-164.NA.cust.bahnhof.se) (Quit: Leaving) |
| 00:15:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 00:16:14 | × | gioyik quits (~gioyik@186.112.105.190) (Ping timeout: 264 seconds) |
| 00:16:44 | × | bjobjo quits (~bjobjo@2a01:79c:cebf:d688::9e6) (Ping timeout: 246 seconds) |
| 00:16:45 | × | Reiser quits (~0a2a0001@static.210.242.216.95.clients.your-server.de) (Changing host) |
| 00:16:45 | → | Reiser joins (~0a2a0001@unaffiliated/reisen) |
| 00:16:58 | → | conal joins (~conal@107.181.166.214) |
| 00:17:15 | → | gioyik joins (~gioyik@186.112.105.190) |
| 00:22:07 | → | langseth joins (~langseth@185.204.1.185) |
| 00:22:23 | × | gioyik quits (~gioyik@186.112.105.190) (Ping timeout: 260 seconds) |
| 00:24:31 | × | solonarv quits (~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
| 00:25:53 | → | gioyik joins (~gioyik@186.112.105.190) |
| 00:28:52 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 00:29:41 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 00:30:40 | → | refried_ joins (~textual@pool-108-20-26-90.bstnma.fios.verizon.net) |
| 00:31:48 | × | refried_ quits (~textual@pool-108-20-26-90.bstnma.fios.verizon.net) (Client Quit) |
| 00:35:21 | × | gentauro quits (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer) |
| 00:35:36 | → | gentauro joins (~gentauro@unaffiliated/gentauro) |
| 00:35:41 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 00:37:17 | × | akad_ quits (~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 258 seconds) |
| 00:39:51 | → | refried_ joins (~textual@pool-108-20-26-90.bstnma.fios.verizon.net) |
| 00:44:17 | × | conal quits (~conal@107.181.166.214) (Quit: Computer has gone to sleep.) |
| 00:44:26 | × | mimi_vx quits (~mimi@2a01:490:16:1026:280c:3ca1:5901:7678) (Ping timeout: 264 seconds) |
| 00:48:40 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:52:01 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:52:06 | jess-o-lantern | is now known as jess |
| 00:52:42 | deadk | is now known as e |
| 00:53:06 | → | conal joins (~conal@64.71.133.70) |
| 00:53:41 | × | Tritlo quits (sid58727@gateway/web/irccloud.com/x-arbdiqjurckmdrum) (Read error: Connection reset by peer) |
| 00:53:44 | × | acertain quits (sid470584@gateway/web/irccloud.com/x-tgfvzorhghscujkl) (Ping timeout: 240 seconds) |
| 00:53:54 | × | adius quits (sid321344@gateway/web/irccloud.com/x-mcvitqgcgllwejox) (Read error: Connection reset by peer) |
| 00:54:02 | × | Firedancer quits (sid336191@gateway/web/irccloud.com/x-uonzbjjvjjwxnapj) (Ping timeout: 264 seconds) |
| 00:54:02 | × | gluegadget quits (sid22336@gateway/web/irccloud.com/x-njxxjgindekwkpai) (Ping timeout: 264 seconds) |
| 00:54:04 | × | hamishmack quits (sid389057@gateway/web/irccloud.com/x-fsqypfxhxngpdcwg) (Ping timeout: 240 seconds) |
| 00:54:28 | × | edwinb quits (sid69486@gateway/web/irccloud.com/x-erjlpgegwzefpuci) (Write error: Connection reset by peer) |
| 00:54:30 | × | joel135 quits (sid136450@gateway/web/irccloud.com/x-zghwohvzvvqakrrc) (Read error: Connection reset by peer) |
| 00:54:32 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-cymfrztsmarkfalc) (Read error: Connection reset by peer) |
| 00:54:34 | × | nick_h quits (sid319833@gateway/web/irccloud.com/x-hxgnrrrbhgxltptt) (Ping timeout: 268 seconds) |
| 00:54:41 | × | rann quits (sid175221@gateway/web/irccloud.com/x-cbkhufxlhkwsdype) (Write error: Connection reset by peer) |
| 00:54:50 | → | edwinb joins (sid69486@gateway/web/irccloud.com/x-jrxtyjijaolnlopz) |
| 00:54:50 | → | gluegadget joins (sid22336@gateway/web/irccloud.com/x-buopqakexwxxadjm) |
| 00:54:59 | × | lexi-lambda quits (sid92601@gateway/web/irccloud.com/x-tjxetnhmsaedwtsv) (Ping timeout: 244 seconds) |
| 00:55:06 | → | hamishmack joins (sid389057@gateway/web/irccloud.com/x-azqabhmlngqmdotl) |
| 00:55:11 | × | dmj` quits (sid72307@gateway/web/irccloud.com/x-qhzxzmhwnrxmctyu) (Ping timeout: 268 seconds) |
| 00:55:20 | → | rann joins (sid175221@gateway/web/irccloud.com/x-ksxigkdhzdqcjfrs) |
| 00:55:36 | → | Tritlo joins (sid58727@gateway/web/irccloud.com/x-hhdqrzmvvzwsljje) |
| 00:55:40 | → | Firedancer joins (sid336191@gateway/web/irccloud.com/x-vssbbmzuqcgdgcmb) |
| 00:55:40 | → | joel135 joins (sid136450@gateway/web/irccloud.com/x-tbniwjwivhvzaqau) |
| 00:55:41 | → | acertain joins (sid470584@gateway/web/irccloud.com/x-hrqmjvrqmoyyhbrw) |
| 00:55:45 | → | adius joins (sid321344@gateway/web/irccloud.com/x-mxoyxwrzcytimbah) |
| 00:55:50 | × | mpickering quits (sid78412@gateway/web/irccloud.com/x-rlednwxdkvlzgbsb) (Ping timeout: 264 seconds) |
| 00:55:56 | → | nick_h joins (sid319833@gateway/web/irccloud.com/x-pmufwyqrxfxlbgib) |
| 00:55:59 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-rzrwozbhbqioiyot) |
| 00:56:06 | → | lexi-lambda joins (sid92601@gateway/web/irccloud.com/x-lvxmpywqstmlfjcc) |
| 00:57:06 | → | mpickering joins (sid78412@gateway/web/irccloud.com/x-dfpbnrhxzfjezyfr) |
| 00:57:53 | → | dmj` joins (sid72307@gateway/web/irccloud.com/x-qjtomvtmbolmvzoh) |
| 00:58:52 | × | tolt quits (kevin@2600:3c03::f03c:91ff:fe79:6b76) (Quit: tolt) |
| 00:58:53 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 268 seconds) |
| 00:59:57 | → | tolt joins (~Kevin@li697-66.members.linode.com) |
| 01:05:46 | × | tolt quits (~Kevin@li697-66.members.linode.com) (Quit: Goodbye!) |
| 01:06:39 | × | tolt_ quits (~weechat-h@li219-154.members.linode.com) (Quit: WeeChat 2.9) |
| 01:07:06 | → | tolt joins (~Kevin@li697-66.members.linode.com) |
| 01:07:59 | → | tolt_ joins (~weechat-h@li219-154.members.linode.com) |
| 01:08:14 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 01:09:39 | × | tolt quits (~Kevin@li697-66.members.linode.com) (Client Quit) |
| 01:09:54 | tolt_ | is now known as tolt |
| 01:10:14 | → | mimi_vx joins (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) |
| 01:10:38 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 265 seconds) |
| 01:13:04 | × | dhil quits (~dhil@195.213.192.85) (Ping timeout: 272 seconds) |
| 01:13:41 | × | split quits (~split@81-197-163-75.elisa-laajakaista.fi) (Ping timeout: 268 seconds) |
| 01:15:02 | × | mimi_vx quits (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 264 seconds) |
| 01:16:08 | → | vonfry joins (~user@181.115.198.104.bc.googleusercontent.com) |
| 01:17:30 | hackage | hopenpgp-tools 0.23.2 - hOpenPGP-based command-line tools https://hackage.haskell.org/package/hopenpgp-tools-0.23.2 (ClintAdams) |
| 01:19:08 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 01:21:39 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 01:21:44 | → | ddellacosta joins (~dd@86.106.121.168) |
| 01:22:00 | → | Lord_of_Life_ joins (~Lord@46.217.216.248) |
| 01:23:12 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 01:24:10 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 268 seconds) |
| 01:25:11 | → | conal joins (~conal@64.71.133.70) |
| 01:26:42 | → | christo joins (~chris@81.96.113.213) |
| 01:26:52 | → | mimi_vx joins (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) |
| 01:29:23 | <texasmynsted> | hello |
| 01:29:42 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 01:31:13 | <yushyin> | hello texasmynsted |
| 01:31:20 | <texasmynsted> | Hello |
| 01:31:34 | × | mimi_vx quits (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 268 seconds) |
| 01:33:04 | <texasmynsted> | Was just looking to learn a parsing library. Found trifecta. Looks interesting, but perhaps I should start with something else. I just found this --> http://ekmett.github.io/reader/wp-content/uploads/2009/08/A-Parsing-Trifecta.pdf |
| 01:34:52 | × | strangeglyph quits (~strangegl@boreeas.net) (Quit: User terminated) |
| 01:35:31 | <texasmynsted> | so many parser/combinator libraries. |
| 01:35:37 | → | strangeglyph joins (~strangegl@boreeas.net) |
| 01:36:30 | × | darjeeling_ quits (~darjeelin@122.245.121.118) (Ping timeout: 268 seconds) |
| 01:36:30 | × | m0rphism quits (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 272 seconds) |
| 01:36:58 | → | darjeeling_ joins (~darjeelin@122.245.121.118) |
| 01:37:42 | <texasmynsted> | any recommendations? |
| 01:38:03 | <texasmynsted> | I guess most people are having fun or sleeping at the moment |
| 01:38:16 | × | LKoen quits (~LKoen@127.251.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.”) |
| 01:38:43 | <yushyin> | I've used megaparsec a couple of times |
| 01:39:15 | → | whatisRT joins (~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660) |
| 01:40:48 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 01:41:51 | <texasmynsted> | ok |
| 01:42:33 | <koz_> | I'd recommend starting with Megaparsec. |
| 01:42:42 | <koz_> | Mark Karpov has written a fairly thorough tutorial on it. |
| 01:43:47 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 01:45:52 | <texasmynsted> | Great. Thank you. I will look for it. |
| 01:46:08 | <koz_> | zhttps://markkarpov.com/tutorial/megaparsec.html |
| 01:46:13 | <koz_> | https://markkarpov.com/tutorial/megaparsec.html |
| 01:46:15 | <texasmynsted> | https://markkarpov.com/tutorial/megaparsec.html |
| 01:46:22 | <texasmynsted> | :-) |
| 01:47:36 | → | tenniscp25 joins (~tenniscp2@134.196.209.118) |
| 01:49:50 | <texasmynsted> | Wow. If that tutorial was a mission to get me to want their book, it worked. |
| 01:50:04 | <koz_> | The book is stalled indefinitely - Mark was only a coauthor I think. |
| 01:50:23 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 01:51:22 | × | Chi1thangoo quits (~Chi1thang@87.112.60.168) (Ping timeout: 256 seconds) |
| 01:52:32 | × | tenniscp25 quits (~tenniscp2@134.196.209.118) (Ping timeout: 268 seconds) |
| 01:52:37 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:52:37 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit) |
| 01:52:55 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:53:34 | <texasmynsted> | _indefinitely_ Hmm. |
| 01:53:57 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 01:56:29 | <koz_> | The tutorial is still kept updated though - most recent update was September _this_ year. |
| 01:58:44 | → | lazyshrk joins (~lazyshrk@128.199.58.13) |
| 02:00:23 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
| 02:00:33 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 268 seconds) |
| 02:01:26 | → | mimi_vx joins (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) |
| 02:01:36 | <texasmynsted> | Wow, great questions with answers here. https://monadfix.com/ |
| 02:01:59 | <koz_> | I work with (some of) the folks on that page. |
| 02:03:07 | <texasmynsted> | :-) |
| 02:03:08 | <texasmynsted> | wow |
| 02:06:37 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 02:06:40 | × | vonfry quits (~user@181.115.198.104.bc.googleusercontent.com) (Remote host closed the connection) |
| 02:08:05 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
| 02:10:22 | × | tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Remote host closed the connection) |
| 02:11:39 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 02:12:31 | hackage | bitcoin-scripting 0.1.0 - Resources for working with miniscript, and script descriptors https://hackage.haskell.org/package/bitcoin-scripting-0.1.0 (IanShipman) |
| 02:13:23 | → | tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io) |
| 02:13:38 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 02:14:24 | × | mimi_vx quits (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 240 seconds) |
| 02:24:00 | × | bennofs1 quits (~benno@dslb-188-106-255-000.188.106.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 02:26:37 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 02:29:55 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 02:31:02 | → | conal joins (~conal@64.71.133.70) |
| 02:31:02 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 02:31:49 | → | conal joins (~conal@64.71.133.70) |
| 02:31:49 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 02:36:14 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 02:40:13 | → | tenniscp25 joins (~tenniscp2@134.196.209.118) |
| 02:40:53 | → | conal joins (~conal@64.71.133.70) |
| 02:41:44 | × | jespada quits (~jespada@90.254.243.98) (Ping timeout: 272 seconds) |
| 02:43:24 | × | whatisRT quits (~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660) (Quit: ZNC 1.7.5 - https://znc.in) |
| 02:43:56 | → | jespada joins (~jespada@90.254.243.98) |
| 02:47:01 | hackage | hopenpgp-tools 0.23.3 - hOpenPGP-based command-line tools https://hackage.haskell.org/package/hopenpgp-tools-0.23.3 (ClintAdams) |
| 02:58:24 | × | xff0x_ quits (~fox@2001:1a81:5309:6900:d5d1:51a8:37d7:2b25) (Ping timeout: 240 seconds) |
| 03:00:02 | × | langseth quits (~langseth@185.204.1.185) () |
| 03:00:30 | → | xff0x_ joins (~fox@2001:1a81:5341:f200:2b28:cb2f:fd77:595a) |
| 03:05:02 | → | Chi1thangoo joins (~Chi1thang@87.112.60.168) |
| 03:10:02 | × | lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Killed (karatkievich.freenode.net (Nickname regained by services))) |
| 03:10:10 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 03:11:19 | × | Amras quits (~Amras@unaffiliated/amras0000) (Read error: Connection reset by peer) |
| 03:11:29 | → | CMCDragonkai1 joins (~Thunderbi@124.19.3.250) |
| 03:13:45 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 03:17:40 | jess | is now known as j |
| 03:19:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:21:40 | → | aclark1 joins (~aclark@185.204.1.185) |
| 03:22:03 | → | drbean joins (~drbean@TC210-63-209-191.static.apol.com.tw) |
| 03:28:36 | × | ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 272 seconds) |
| 03:29:10 | × | theDon quits (~td@muedsl-82-207-238-061.citykom.de) (Ping timeout: 260 seconds) |
| 03:30:52 | → | theDon joins (~td@94.134.91.196) |
| 03:32:24 | → | xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-yblszgqjzlcrgkag) |
| 03:33:56 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 03:34:17 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
| 03:36:24 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 03:41:18 | × | Chi1thangoo quits (~Chi1thang@87.112.60.168) (Ping timeout: 260 seconds) |
| 03:46:58 | ghoulguy | is now known as glguy |
| 03:50:37 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 03:51:26 | × | APic quits (apic@apic.name) (Ping timeout: 256 seconds) |
| 03:51:52 | → | APic joins (apic@apic.name) |
| 03:54:08 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 03:54:42 | → | mimi_vx joins (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) |
| 03:58:53 | → | aarvar joins (~foewfoiew@50.35.43.33) |
| 03:59:34 | × | mimi_vx quits (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 268 seconds) |
| 04:00:03 | × | hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
| 04:00:11 | × | macrover quits (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 268 seconds) |
| 04:00:36 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 04:00:40 | → | hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 04:00:56 | → | falafel_ joins (~falafel@71-34-132-121.clsp.qwest.net) |
| 04:01:40 | agrim | is now known as agrif |
| 04:02:41 | × | obihann quits (~jhann@156.34.160.69) (Read error: Connection reset by peer) |
| 04:02:59 | → | obihann joins (~jhann@156.34.160.69) |
| 04:06:21 | × | acidjnk_new quits (~acidjnk@p200300d0c72260940830e3b8f3af47a8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 04:07:01 | × | perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9) |
| 04:15:00 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 04:15:33 | → | christo joins (~chris@81.96.113.213) |
| 04:17:41 | × | texasmynsted quits (~texasmyns@172.93.177.204) (Remote host closed the connection) |
| 04:18:22 | → | texasmynsted joins (~texasmyns@172.93.177.204) |
| 04:18:25 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 04:20:05 | → | pfurla joins (~pfurla@33.15.195.173.client.static.strong-in52.as13926.net) |
| 04:21:18 | → | perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 04:23:10 | × | texasmynsted quits (~texasmyns@172.93.177.204) (Ping timeout: 256 seconds) |
| 04:23:31 | → | XorSwap joins (~user@wnpgmb016qw-ds01-123-1.dynamic.bellmts.net) |
| 04:25:28 | × | renzhi quits (~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 268 seconds) |
| 04:28:05 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
| 04:32:30 | → | hexfive joins (~hexfive@50.35.87.13) |
| 04:32:48 | × | hexfive quits (~hexfive@50.35.87.13) (Client Quit) |
| 04:33:00 | → | wei2912 joins (~wei2912@unaffiliated/wei2912) |
| 04:36:38 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 04:38:37 | × | lxsameer quits (~lxsameer@unaffiliated/lxsameer) (Ping timeout: 246 seconds) |
| 04:41:26 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 264 seconds) |
| 04:44:13 | glguy | is now known as goggleguy |
| 04:44:33 | goggleguy | is now known as gobbleguy |
| 04:45:22 | → | conal joins (~conal@ip-66-115-176-132.creativelink.net) |
| 04:46:02 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 04:46:03 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 04:46:29 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 04:46:49 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 04:49:42 | → | anon1234 joins (421b7c91@cpe-66-27-124-145.san.res.rr.com) |
| 04:58:55 | × | pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection) |
| 04:59:26 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 05:00:18 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 05:00:29 | × | anon1234 quits (421b7c91@cpe-66-27-124-145.san.res.rr.com) (Remote host closed the connection) |
| 05:03:55 | → | _vaibhavingale_ joins (~Adium@203.188.228.9) |
| 05:04:24 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds) |
| 05:06:26 | × | CMCDragonkai1 quits (~Thunderbi@124.19.3.250) (Quit: CMCDragonkai1) |
| 05:06:45 | → | slack1256 joins (~slack1256@191.126.175.205) |
| 05:07:19 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 05:08:07 | <slack1256> | On cabal's test sections, can I have multiple modules defined? All the example I've seen only use one module. |
| 05:10:03 | → | pacak joins (~pacak@bb116-14-220-91.singnet.com.sg) |
| 05:10:08 | <koz_> | slack1256: You can have 'other-modules' just like for executables. |
| 05:10:21 | <koz_> | Or are you saying you want multiple modules with Main in them? |
| 05:10:26 | <koz_> | s/Main/main/ |
| 05:12:20 | × | Tario quits (~Tario@201.204.63.11) (Ping timeout: 268 seconds) |
| 05:12:20 | <slack1256> | other-modules? nice |
| 05:12:33 | → | Tario joins (~Tario@200.119.185.128) |
| 05:13:28 | → | christo joins (~chris@81.96.113.213) |
| 05:14:17 | <slack1256> | koz_: Thanks |
| 05:15:41 | × | slack1256 quits (~slack1256@191.126.175.205) (Remote host closed the connection) |
| 05:16:18 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 05:17:25 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-fgkoyqizymyfdrsz) (Quit: Connection closed for inactivity) |
| 05:17:27 | × | aclark1 quits (~aclark@185.204.1.185) (Remote host closed the connection) |
| 05:20:36 | × | wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
| 05:26:37 | × | tenniscp25 quits (~tenniscp2@134.196.209.118) () |
| 05:27:29 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 05:29:10 | <XorSwap> | rate my obfuscated mess: fix(((True:).).(.flip(flip.(ap.).flip flip head.(((.).flip((.).(:))).))tail).ap fix)((.tail).((False:).)) |
| 05:29:30 | → | Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 05:29:42 | <XorSwap> | for clarity, map fst $ filter snd $ zip [2..] $ <the mess above> |
| 05:31:25 | × | xwvvvvwx quits (~xwvvvvwx@185.213.155.160) (Ping timeout: 264 seconds) |
| 05:32:27 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
| 05:33:18 | → | texasmynsted joins (~texasmyns@172.93.177.204) |
| 05:34:21 | × | texasmynsted quits (~texasmyns@172.93.177.204) (Read error: Connection reset by peer) |
| 05:40:11 | → | xwvvvvwx joins (~xwvvvvwx@185.213.155.160) |
| 05:42:53 | → | mimi_vx joins (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) |
| 05:44:59 | × | pfurla quits (~pfurla@33.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 260 seconds) |
| 05:45:27 | → | day_ joins (~Unknown@unaffiliated/day) |
| 05:46:08 | × | DTZUZU quits (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Read error: Connection reset by peer) |
| 05:47:04 | × | mimi_vx quits (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 240 seconds) |
| 05:47:09 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 05:47:41 | → | DTZUZU joins (~DTZUZU@205.ip-149-56-132.net) |
| 05:49:20 | × | day quits (~Unknown@unaffiliated/day) (Ping timeout: 268 seconds) |
| 05:49:20 | day_ | is now known as day |
| 05:49:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:50:12 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 05:53:04 | × | pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 05:53:43 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 05:54:40 | <gobbleguy> | :t elemIndicies |
| 05:54:41 | <lambdabot> | error: |
| 05:54:41 | <lambdabot> | • Variable not in scope: elemIndicies |
| 05:54:41 | <lambdabot> | • Perhaps you meant one of these: |
| 05:57:00 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 05:58:31 | × | XorSwap quits (~user@wnpgmb016qw-ds01-123-1.dynamic.bellmts.net) (Ping timeout: 258 seconds) |
| 06:03:29 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 06:07:59 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 06:08:34 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 06:09:12 | → | texasmynsted joins (~texasmyns@172.93.177.204) |
| 06:10:11 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 06:11:04 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 06:11:19 | → | christo joins (~chris@81.96.113.213) |
| 06:12:24 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 06:13:45 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 06:13:50 | × | texasmynsted quits (~texasmyns@172.93.177.204) (Ping timeout: 264 seconds) |
| 06:14:21 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 06:19:23 | × | falafel_ quits (~falafel@71-34-132-121.clsp.qwest.net) (Remote host closed the connection) |
| 06:19:36 | <int-e> | :t elemIndices |
| 06:19:37 | <lambdabot> | Eq a => a -> [a] -> [Int] |
| 06:19:49 | → | falafel_ joins (~falafel@71-34-132-121.clsp.qwest.net) |
| 06:20:30 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 06:22:38 | simon | is now known as newnicknameasd |
| 06:22:42 | newnicknameasd | is now known as sshine |
| 06:24:11 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 06:25:07 | → | texasmynsted joins (~texasmyns@2600:6c40:700:b2f:79b9:7f0b:b114:6696) |
| 06:25:18 | → | christo joins (~chris@81.96.113.213) |
| 06:28:50 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 06:30:02 | × | texasmynsted quits (~texasmyns@2600:6c40:700:b2f:79b9:7f0b:b114:6696) (Ping timeout: 264 seconds) |
| 06:35:13 | × | gioyik quits (~gioyik@186.112.105.190) (Quit: WeeChat 2.9) |
| 06:37:14 | × | xff0x_ quits (~fox@2001:1a81:5341:f200:2b28:cb2f:fd77:595a) (Ping timeout: 264 seconds) |
| 06:37:39 | → | xff0x_ joins (~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec) |
| 06:38:00 | hackage | exact-real 0.12.4.1 - Exact real arithmetic https://hackage.haskell.org/package/exact-real-0.12.4.1 (jophish) |
| 06:38:44 | → | bjobjo joins (~bjobjo@2a01:79c:cebf:d688::9e6) |
| 06:38:52 | → | dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 06:40:44 | × | conal quits (~conal@ip-66-115-176-132.creativelink.net) (Ping timeout: 240 seconds) |
| 06:40:54 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:41:37 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@68.235.43.110) (Ping timeout: 264 seconds) |
| 06:43:01 | hackage | optparse-declarative 0.4.0 - Declarative command line option parser https://hackage.haskell.org/package/optparse-declarative-0.4.0 (kakkun61) |
| 06:44:16 | × | dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds) |
| 06:50:13 | <jophish> | What determines the version of a package in stackage nightly? |
| 06:50:29 | → | jedws joins (~jedws@101.184.150.81) |
| 06:50:47 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 06:51:13 | → | conal joins (~conal@ip-66-115-176-132.creativelink.net) |
| 06:52:40 | × | Nikotiini quits (~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com) (Ping timeout: 246 seconds) |
| 06:55:50 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 07:00:19 | → | mimi_vx joins (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) |
| 07:01:05 | → | dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 07:05:45 | × | dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds) |
| 07:06:18 | × | danso quits (~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9) |
| 07:06:26 | → | Nikotiini joins (~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com) |
| 07:08:24 | × | jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:08:30 | → | ggole joins (~ggole@2001:8003:8119:7200:a168:686a:1da3:cf46) |
| 07:12:30 | → | jedws joins (~jedws@101.184.150.81) |
| 07:14:05 | × | Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
| 07:15:46 | → | knupfer joins (~Thunderbi@mue-88-130-61-182.dsl.tropolys.de) |
| 07:21:08 | → | toorevitimirp joins (~tooreviti@117.182.183.132) |
| 07:23:44 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 240 seconds) |
| 07:29:54 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 07:30:13 | × | Tario quits (~Tario@200.119.185.128) (Ping timeout: 264 seconds) |
| 07:30:48 | → | Tario joins (~Tario@201.204.63.11) |
| 07:31:12 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 07:38:26 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 07:41:44 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:3077:a607:5321:a929) (Ping timeout: 240 seconds) |
| 07:42:23 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 07:43:21 | → | coot joins (~coot@37.30.59.209.nat.umts.dynamic.t-mobile.pl) |
| 07:47:44 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:44d9:76d7:3eb0:9793) |
| 07:48:01 | hackage | optparse-declarative 0.4.1 - Declarative command line option parser https://hackage.haskell.org/package/optparse-declarative-0.4.1 (kakkun61) |
| 07:48:29 | grumboo | is now known as grumble |
| 07:55:25 | × | falafel_ quits (~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 240 seconds) |
| 07:57:15 | → | yinfeng joins (~yinfeng@161.117.39.212) |
| 08:00:15 | × | xsperry quits (~as@unaffiliated/xsperry) (Remote host closed the connection) |
| 08:00:16 | × | dsal quits (sid13060@gateway/web/irccloud.com/x-ukyimvofbbobpxrr) (Read error: Connection reset by peer) |
| 08:00:32 | → | dsal joins (sid13060@gateway/web/irccloud.com/x-udvlsvyzdoxkbqyc) |
| 08:02:44 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 08:04:18 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 08:04:46 | × | Tario quits (~Tario@201.204.63.11) (Ping timeout: 246 seconds) |
| 08:09:41 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds) |
| 08:10:30 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 08:14:21 | × | yinfeng quits (~yinfeng@161.117.39.212) (Quit: yinfeng) |
| 08:14:55 | → | _vaibhavingale_1 joins (~Adium@203.188.228.9) |
| 08:14:55 | × | _vaibhavingale_ quits (~Adium@203.188.228.9) (Read error: Connection reset by peer) |
| 08:15:47 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 08:16:06 | × | DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 268 seconds) |
| 08:18:58 | × | s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 260 seconds) |
| 08:19:31 | → | dansho joins (~dansho@ip68-108-167-185.lv.lv.cox.net) |
| 08:20:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:20:41 | → | s00pcan joins (~chris@107.181.165.217) |
| 08:22:07 | → | chaosmasttter joins (~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de) |
| 08:22:55 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 08:24:09 | → | yinfeng joins (~yinfeng@2001:250:5002:8100::1:518e) |
| 08:27:43 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 08:39:38 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds) |
| 08:44:19 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 08:49:41 | → | dansho_ joins (~dansho@ip68-108-167-185.lv.lv.cox.net) |
| 08:50:42 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:51:38 | × | mud quits (~mud@unaffiliated/kadoban) (Remote host closed the connection) |
| 08:52:04 | → | mud joins (~mud@unaffiliated/kadoban) |
| 08:52:13 | × | dansho quits (~dansho@ip68-108-167-185.lv.lv.cox.net) (Ping timeout: 260 seconds) |
| 08:52:35 | × | drbean quits (~drbean@TC210-63-209-191.static.apol.com.tw) (Ping timeout: 260 seconds) |
| 08:53:06 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 08:53:42 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 08:54:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 08:56:26 | × | coot quits (~coot@37.30.59.209.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 264 seconds) |
| 08:56:41 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 08:57:38 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 09:00:05 | × | JoelMcCracken[m] quits (joelmccrac@gateway/shell/matrix.org/x-jzimloyvvhoxfyzc) (Quit: Idle for 30+ days) |
| 09:00:05 | × | ethercrow[m] quits (ethercrowm@gateway/shell/matrix.org/x-wllbtofqtpmcpjdq) (Quit: Idle for 30+ days) |
| 09:05:17 | × | jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:10:30 | → | DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
| 09:10:37 | → | sam___ joins (~sam@101.168.185.81.rev.sfr.net) |
| 09:11:13 | × | yinfeng quits (~yinfeng@2001:250:5002:8100::1:518e) (Quit: yinfeng) |
| 09:14:36 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 09:15:03 | → | fendor joins (~fendor@91.141.0.119.wireless.dyn.drei.com) |
| 09:24:23 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-rzrwozbhbqioiyot) (Quit: Connection closed for inactivity) |
| 09:26:18 | × | _vaibhavingale_1 quits (~Adium@203.188.228.9) (Quit: Leaving.) |
| 09:26:50 | × | stree quits (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
| 09:27:07 | → | stree joins (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) |
| 09:29:02 | → | petersen joins (~petersen@redhat/juhp) |
| 09:30:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:30:59 | → | alp joins (~alp@2a01:e0a:58b:4920:5441:268c:4bd4:4efe) |
| 09:31:35 | spookyscarysphal | is now known as sphalerite |
| 09:38:27 | ← | lazyshrk parts (~lazyshrk@128.199.58.13) ("WeeChat 2.9") |
| 09:38:54 | → | avdb joins (~avdb@ip-62-235-106-63.dsl.scarlet.be) |
| 09:40:02 | → | idhugo joins (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) |
| 09:42:07 | → | yinfeng joins (~yinfeng@2001:250:5002:8100::1:518e) |
| 09:42:20 | → | LKoen joins (~LKoen@127.251.88.92.rev.sfr.net) |
| 09:42:54 | → | lxsameer joins (~lxsameer@unaffiliated/lxsameer) |
| 09:45:24 | × | yinfeng quits (~yinfeng@2001:250:5002:8100::1:518e) (Client Quit) |
| 09:46:57 | → | yinfeng joins (~yinfeng@2001:250:5002:8100::1:518e) |
| 09:47:01 | × | sam___ quits (~sam@101.168.185.81.rev.sfr.net) (Ping timeout: 264 seconds) |
| 09:48:50 | → | sam___ joins (~sam@49.152.205.77.rev.sfr.net) |
| 09:50:34 | × | yinfeng quits (~yinfeng@2001:250:5002:8100::1:518e) (Client Quit) |
| 09:51:33 | → | yinfeng joins (~yinfeng@2001:250:5002:8100::1:518e) |
| 09:52:21 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 09:53:07 | × | LKoen quits (~LKoen@127.251.88.92.rev.sfr.net) (Ping timeout: 265 seconds) |
| 09:53:34 | → | LKoen joins (~LKoen@127.251.88.92.rev.sfr.net) |
| 09:55:17 | → | creffett|irssi joins (~creffett|@195.206.169.184) |
| 09:57:00 | × | yahb quits (xsbot@haskell/bot/yahb) (Ping timeout: 256 seconds) |
| 09:57:12 | → | Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
| 09:57:52 | × | yinfeng quits (~yinfeng@2001:250:5002:8100::1:518e) (Quit: WeeChat 2.9) |
| 09:58:08 | × | knupfer quits (~Thunderbi@mue-88-130-61-182.dsl.tropolys.de) (Ping timeout: 260 seconds) |
| 10:02:23 | <tomsmeding> | @unpl fix(((True:).).(.flip(flip.(ap.).flip flip head.(((.).flip((.).(:))).))tail).ap fix)((.tail).((False:).)) |
| 10:02:23 | <lambdabot> | fix (\ x x0 -> True : (fix >>= \ x2 -> x >>= \ x3 -> return (x2 x3)) (\ y0 b0 -> (tail >>= \ x5 -> return (((:)) (head b0) (x0 y0 x5))) b0)) (\ x x0 -> False : x (tail x0)) |
| 10:02:25 | × | mniip quits (~mniip@freenode/staff/mniip) (Ping timeout: 600 seconds) |
| 10:07:14 | × | alp quits (~alp@2a01:e0a:58b:4920:5441:268c:4bd4:4efe) (Ping timeout: 264 seconds) |
| 10:08:38 | × | avdb quits (~avdb@ip-62-235-106-63.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 10:09:37 | → | thir joins (~thir@pd9e1bd8a.dip0.t-ipconnect.de) |
| 10:10:05 | → | m0rphism joins (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) |
| 10:11:06 | → | vonfry joins (~user@2001:da8:801b:1010:2dc9:afc5:c8eb:8f22) |
| 10:12:34 | → | lazyshrk joins (~lazyshrk@128.199.58.13) |
| 10:14:15 | × | thir quits (~thir@pd9e1bd8a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:15:36 | → | coot joins (~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl) |
| 10:18:27 | × | rprije quits (~rprije@194-193-168-77.tpgi.com.au) (Ping timeout: 260 seconds) |
| 10:20:08 | → | yinfeng joins (~yinfeng@2001:250:5002:8100::1:851e) |
| 10:20:09 | → | akegalj joins (~akegalj@93-136-196-194.adsl.net.t-com.hr) |
| 10:20:11 | × | monsterchrom quits (trebla@216.138.220.146) (Ping timeout: 265 seconds) |
| 10:22:33 | → | monsterchrom joins (trebla@216.138.220.146) |
| 10:23:37 | × | Sgeo_ quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 10:23:45 | → | mananamenos joins (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 10:28:23 | <bliminse> | what is that monster? that's going too far with pointfree xD |
| 10:28:28 | × | petersen quits (~petersen@redhat/juhp) (Ping timeout: 260 seconds) |
| 10:29:39 | × | idhugo quits (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 10:34:12 | × | mmohammadi9812 quits (~mmohammad@2.178.188.172) (Ping timeout: 272 seconds) |
| 10:37:27 | → | whatisRT joins (~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660) |
| 10:38:11 | → | vonfry` joins (~user@178.128.212.63) |
| 10:38:24 | × | vonfry` quits (~user@178.128.212.63) (Remote host closed the connection) |
| 10:39:24 | × | vonfry quits (~user@2001:da8:801b:1010:2dc9:afc5:c8eb:8f22) (Ping timeout: 240 seconds) |
| 10:39:31 | <int-e> | unfortunately @unpl overshoots a bit with the reader monad here. |
| 10:41:58 | <tomsmeding> | it generates prime numbers (easily verifiable by running it), but I gave up figuring out how |
| 10:42:05 | <tomsmeding> | (source: XorSwap's message above) |
| 10:42:28 | → | bergsans joins (~bergsans@c80-217-8-29.bredband.comhem.se) |
| 10:42:46 | <tomsmeding> | you can β-reduce all the reader monad stuff away fairly easily |
| 10:42:51 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 10:43:14 | <bergsans> | Perhaps more of interest to people learning Haskell, but I wrote a post with annotated code for how to make a game-ish demo with Haskell and Gloss: https://herebeseaswines.net/essays/2020-11-01-making-a-small-game-with-gloss |
| 10:43:58 | → | mmohammadi9812 joins (~mmohammad@188.210.118.100) |
| 10:44:41 | → | yahb joins (xsbot@178.219.36.155) |
| 10:44:41 | × | yahb quits (xsbot@178.219.36.155) (Changing host) |
| 10:44:41 | → | yahb joins (xsbot@haskell/bot/yahb) |
| 10:45:03 | → | mniip joins (~mniip@freenode/staff/mniip) |
| 10:47:53 | × | mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer) |
| 10:48:08 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 10:49:51 | <int-e> | @pl fix (\go g -> True : (\f -> fix f (go f)) (\h xs -> head xs : (g h (tail xs)))) (\f ys -> False : f (tail ys)) |
| 10:49:51 | <lambdabot> | fix (((True :) .) . (. ((liftM2 (:) head .) . flip flip tail . ((.) .))) . ap fix) (((False :) .) . (. tail)) |
| 10:51:00 | → | acidjnk_new joins (~acidjnk@p200300d0c7226044298aa97eef668aef.dip0.t-ipconnect.de) |
| 10:54:35 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 10:55:15 | <int-e> | What it does is build functions that replace the first element of a list by False, then preserve the next n elements (starting with n = 0, that is, (\f ys -> False : f (tail ys))), and then apply a continuation to the rest of the list. So the fixed point of that will replace every (n+1)st element of a list by False. And you can extend the length of the unmodified part by tweaking the... |
| 10:55:21 | <int-e> | ...continuation, that's the (\h xs -> head xs : (g h (tail xs))) part. Tie this together in the right way and you have a prime sieve. |
| 10:55:31 | <int-e> | > fix (\go g -> True : (\f -> fix f (go f)) (\h xs -> head xs : (g h (tail xs)))) (\f ys -> False : f (tail ys)) |
| 10:55:33 | <lambdabot> | [True,True,False,True,False,True,False,False,False,True,False,True,False,Fal... |
| 10:56:26 | <int-e> | (as hinted by XorSwap, this starts at 2, so the primes are 2,3,not 4,5,7,11,13...) |
| 10:57:14 | int-e | has written similar code before, actually, though for plain lambda calculus... |
| 10:58:45 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 10:58:50 | <int-e> | Anyway, I think fix (\go g -> True : (\f -> fix f (go f)) (\h xs -> head xs : (g h (tail xs)))) (\f ys -> False : f (tail ys)) is probably the best pointful form of this. |
| 10:59:13 | <int-e> | It's still not very readable, obviously :P |
| 11:03:21 | → | Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus) |
| 11:03:34 | → | petersen joins (~petersen@redhat/juhp) |
| 11:04:02 | j | is now known as jess |
| 11:04:10 | → | Guest_47 joins (54b72aa9@p54b72aa9.dip0.t-ipconnect.de) |
| 11:05:47 | × | krjst quits (~krjst@2604:a880:800:c1::16b:8001) (Quit: bye) |
| 11:05:54 | <Guest_47> | Hello! While trying to install Haskell with ghcup on my Mac I got the following error: Build failed with NonZeroExit 77 "./configure" ["--prefix=/Users/niko/.ghcup/ghc/8.8.4"] |
| 11:06:05 | → | krjst joins (~krjst@2604:a880:800:c1::16b:8001) |
| 11:06:26 | <Guest_47> | Can someone give me advice to how successfully install Haskell? |
| 11:07:28 | × | krjst quits (~krjst@2604:a880:800:c1::16b:8001) (Client Quit) |
| 11:07:45 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 11:07:48 | <merijn> | Which version of macOS? |
| 11:07:51 | → | krjst joins (~krjst@2604:a880:800:c1::16b:8001) |
| 11:08:50 | × | krjst quits (~krjst@2604:a880:800:c1::16b:8001) (Client Quit) |
| 11:09:14 | → | krjst joins (~krjst@2604:a880:800:c1::16b:8001) |
| 11:09:16 | <Guest_47> | Catalina 10.15.7 |
| 11:10:06 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 11:10:40 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 11:11:21 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 11:13:23 | × | daGrevis quits (~daGrevis@unaffiliated/dagrevis) (Ping timeout: 260 seconds) |
| 11:14:21 | → | britva joins (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) |
| 11:15:36 | → | knupfer joins (~Thunderbi@200116b82ca86a000cd210fffe197478.dip.versatel-1u1.de) |
| 11:16:21 | × | knupfer quits (~Thunderbi@200116b82ca86a000cd210fffe197478.dip.versatel-1u1.de) (Remote host closed the connection) |
| 11:16:34 | → | knupfer joins (~Thunderbi@200116b82ca86a000577b9dd59dd39a4.dip.versatel-1u1.de) |
| 11:16:47 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 11:18:46 | → | daGrevis joins (~daGrevis@unaffiliated/dagrevis) |
| 11:19:20 | → | ubert joins (~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de) |
| 11:23:04 | → | PerseusPlease joins (~{mikey}@79.140.120.95) |
| 11:29:55 | × | Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving) |
| 11:30:33 | × | whatisRT quits (~whatisRT@2002:5b41:6a33:0:2c99:838:ca07:5660) (Quit: ZNC 1.7.5 - https://znc.in) |
| 11:31:02 | → | Deide joins (~Deide@217.155.19.23) |
| 11:31:35 | × | ubert quits (~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 11:32:38 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 11:34:12 | → | jedws joins (~jedws@101.184.150.81) |
| 11:34:21 | → | Guest_67 joins (8d872b9f@d8d872b9f.access.telenet.be) |
| 11:34:45 | × | Guest_67 quits (8d872b9f@d8d872b9f.access.telenet.be) (Remote host closed the connection) |
| 11:34:52 | × | britva quits (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep) |
| 11:35:19 | × | jedws quits (~jedws@101.184.150.81) (Client Quit) |
| 11:39:07 | <PerseusPlease> | hi. I was wondering if anyone could help me with a problem I'm having. I'm getting the error "Non type-variable argument in the constraint: MonadError String m (Use FlexibleContexts to permit this)", which isn't helping me much as I think I already have that enabled. |
| 11:39:22 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 11:39:28 | <jophish> | How can I disable tests for a source-repository-package? |
| 11:39:38 | × | dansho_ quits (~dansho@ip68-108-167-185.lv.lv.cox.net) (Ping timeout: 264 seconds) |
| 11:40:20 | <merijn> | jophish: You can add cabal settings (like "test: False") for individual packages by having "package foo\n tests: False" in cabal.project(.local) |
| 11:40:25 | × | obihann quits (~jhann@156.34.160.69) (Ping timeout: 265 seconds) |
| 11:40:29 | <merijn> | (Or whatever the right field/config name is) |
| 11:40:34 | <PerseusPlease> | https://gist.github.com/abc-mikey/b9c73c5cc5d2065d7a68b28939ac27b4 |
| 11:40:34 | <jophish> | ah, thanks! |
| 11:40:52 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 11:41:33 | <merijn> | PerseusPlease: Did you double check you saved the file after adding that? :p |
| 11:41:37 | → | AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 11:41:57 | → | obihann joins (~jhann@156.34.160.69) |
| 11:42:02 | <PerseusPlease> | merijn, yes saved. also I only get that error when I actually call function from ghci |
| 11:42:21 | <PerseusPlease> | also reloaded with :load app/NetStrings.hs |
| 11:42:25 | <merijn> | PerseusPlease: Oh! |
| 11:42:40 | <merijn> | PerseusPlease: That's because the pragma only enables it in the file, *not* in ghci itself :p |
| 11:42:50 | <merijn> | PerseusPlease: Use ":seti -XFlexibleContexts" |
| 11:42:57 | <PerseusPlease> | ahhhhhhhh...! |
| 11:43:02 | <PerseusPlease> | that's the magic |
| 11:43:19 | <PerseusPlease> | I tried {-# LANGUAGE FlexibleContexts #-} |
| 11:43:31 | <merijn> | Yeah, that doesn't work in ghci |
| 11:44:02 | × | pjb quits (~t@2a01cb04063ec5000c3dc2e28b3d9ccb.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
| 11:44:05 | → | drbean joins (~drbean@TC210-63-209-219.static.apol.com.tw) |
| 11:45:02 | × | sam___ quits (~sam@49.152.205.77.rev.sfr.net) (Ping timeout: 264 seconds) |
| 11:45:22 | → | florian_ joins (~florian@2a01:e35:2fe9:ecb0:bc5c:10ad:bdba:b477) |
| 11:46:38 | → | sam___ joins (~sam@4.196.204.77.rev.sfr.net) |
| 11:47:27 | → | ubert joins (~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de) |
| 11:52:04 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 11:52:42 | → | jesee joins (~jesee@116.30.192.63) |
| 11:52:49 | <florian_> | Hi there ! Do you have any opinion about Agda ?! |
| 11:54:17 | <__monty__> | florian_: It's cool stuff. |
| 11:56:04 | <florian_> | monty : So do you use it ? and in which context do you use it ? |
| 11:56:15 | → | pjb joins (~t@2a01cb04063ec5002c0fc7d86fb8e728.ipv6.abo.wanadoo.fr) |
| 11:56:25 | → | jedws joins (~jedws@101.184.150.81) |
| 11:57:15 | × | jesee quits (~jesee@116.30.192.63) (Quit: Leaving) |
| 11:57:32 | <__monty__> | Not anymore, basically just took a look at it. It's viable as a way to do computer checked proofs. |
| 11:58:03 | <__monty__> | It's interesting for dependent types and for its syntax. |
| 11:58:04 | × | acidjnk_new quits (~acidjnk@p200300d0c7226044298aa97eef668aef.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 11:58:40 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 11:58:54 | → | nschoe joins (~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133) |
| 11:59:24 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 12:00:01 | × | creffett|irssi quits (~creffett|@195.206.169.184) () |
| 12:00:06 | → | Chi1thangoo joins (~Chi1thang@87.112.60.168) |
| 12:03:05 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 12:03:11 | → | britva joins (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) |
| 12:05:18 | × | brisbin quits (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 260 seconds) |
| 12:05:24 | × | ubert quits (~Thunderbi@p200300ecdf1e539fe6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 12:05:42 | × | jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 12:06:13 | → | dhil joins (~dhil@195.213.192.85) |
| 12:07:50 | × | petersen quits (~petersen@redhat/juhp) (Ping timeout: 264 seconds) |
| 12:07:57 | → | brisbin joins (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
| 12:09:49 | × | chaosmasttter quits (~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 12:10:01 | <florian_> | Do you see any value to use Agda to dev a game or application ? |
| 12:12:10 | × | Guest_47 quits (54b72aa9@p54b72aa9.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 12:13:26 | <akegalj> | florian_: I think Idris is orianted more to suite that niche |
| 12:13:55 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 12:15:41 | <__monty__> | florian_: It would be a really cool project. But Agda's implementation is really not ready to produce performant code, at least last time I looked at it. Idris is kind of an Agda with a practical implementation but slightly less interesting and currently in flux because Idris 2 will be so different. |
| 12:17:06 | × | Nachtgespenst quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 12:18:02 | × | nschoe quits (~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133) (Ping timeout: 264 seconds) |
| 12:19:07 | <maerwald> | Agda and game development? |
| 12:19:40 | → | Tops2 joins (~Tobias@dyndsl-095-033-023-063.ewe-ip-backbone.de) |
| 12:19:41 | <maerwald> | are you gonna write an entire ecosystem of game dev libraries from scratch? :D |
| 12:19:58 | <akegalj> | Also, my impression is that Agda's comunity is more focused on proof checking. As a result, Agda contains a lot of libraries to serve that goal. I don't think many people experimented with agda and game dev |
| 12:20:00 | → | solonarv joins (~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr) |
| 12:20:35 | → | dansho_ joins (~dansho@ip68-108-167-185.lv.lv.cox.net) |
| 12:20:48 | → | nhandler1 joins (~nhandler@185.204.1.185) |
| 12:20:50 | <__monty__> | I did a tiny experiment to see if using dependent types to make it impossible to design impossible levels could work. |
| 12:20:53 | <int-e> | Hmm, a "game" can be so many things. |
| 12:21:18 | <__monty__> | Wouldn't call it game dev by any stretch of the imagination though. |
| 12:21:20 | <int-e> | . o O ( Minesweeper ) |
| 12:21:31 | <akegalj> | or chess |
| 12:22:13 | <florian_> | monty : Ok so Agda give a huge Type system that can be really interesting for an game or app, but the efficiency of the implementation is not good enough for that ? ( is want you try to said ? ) |
| 12:22:57 | <florian_> | maerwald : yes |
| 12:23:05 | <__monty__> | florian_: Yes, unless you have the resources to develop a compiler and library ecosystem, Agda isn't a practical choice as the implementation language. |
| 12:23:11 | <akegalj> | florian_: If it some turn based game, then it might work out |
| 12:23:50 | <__monty__> | If it's just for a hobby project though, I'd say it'd be way more interesting than writing it in python or something. |
| 12:24:14 | <int-e> | It might be an interesting experiment... but what practical benefit do you expect? |
| 12:24:42 | <__monty__> | Enlightenment, obviously : ) |
| 12:25:10 | <int-e> | __monty__: I get that, but what practical benefit do you expect. :-P |
| 12:25:44 | → | alp joins (~alp@2a01:e0a:58b:4920:89f1:ba96:ddf:92c2) |
| 12:26:10 | <int-e> | (I honestly think that the "experiment" part covers the potential enlightenment.) |
| 12:26:30 | <maerwald> | florian_: let me know when you've completed your first game in Agda |
| 12:27:45 | <florian_> | int-e : build stuff in a really elegant way and have a proof that your logic system do what you expect, no ? |
| 12:27:49 | <int-e> | Hmm, is "the incredible proof machine" a game? :) |
| 12:27:51 | ski | . o O ( "The Next Mainstream Programming Languages: A Game Developers's Perspective" (slides) by Tim Sweeney in 2005 at <http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-fp/docs/sweeny.pdf> ) |
| 12:28:51 | <florian_> | maerwald : haha why ? |
| 12:29:20 | → | Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
| 12:30:10 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 12:30:31 | <ski> | (section from page 27 mentions dependent types, a bit) |
| 12:31:05 | × | brisbin quits (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds) |
| 12:31:16 | <int-e> | haha, 30fps@720p |
| 12:31:17 | <florian_> | ski : thanks a lot ! It's seems really interesting ! |
| 12:32:07 | <ski> | Carmack has also talked a bit about functional programming, from a game programming perspective |
| 12:32:23 | <__monty__> | Yeah, that's a good talk. |
| 12:32:58 | <__monty__> | florian_: It'd be a lot more practical to do an implementation and a model of your logic in either a proof assistant or a model checker. |
| 12:34:01 | <int-e> | ski: is that 27 hex... (ouch) |
| 12:35:36 | <int-e> | But he uses "dependently-typed" as a proxy for a ranged integer type, which is a rather narrow extension of the type system. And I suspect he wants the compiler to infer the ranges, rather than the programmer to write them, most of the time? Hard to say. |
| 12:35:48 | <florian_> | monty : Because Agda is not a proof assistant ? |
| 12:36:23 | <__monty__> | florian_: It kinda is, the assistance is just fairly minimal, at least as compared to coq for example. |
| 12:36:27 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 12:37:29 | <maerwald> | ski: you mean that one twitter post years ago? |
| 12:37:35 | <ski> | florian_ : <https://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php>,<https://www.youtube.com/watch?v=1PhArSujR_A> |
| 12:37:44 | <ski> | maerwald : no idea |
| 12:37:59 | <__monty__> | florian_: I'd recommend setting out to learn Agda and write something really simple, like tic-tac-toe or something. That'll probably give you enough insight into why no one here is going "Woohoo, yeah!!! Agda for games!" |
| 12:38:13 | <florian_> | monty : Ok, do you use coq ? Do know a language/software/system to do model checking ? |
| 12:38:28 | <ski> | int-e : "Reliability" section |
| 12:39:09 | <__monty__> | I don't, not enough time, I'd like to though. Model checker I'm most interested in is TLA+. |
| 12:39:44 | <int-e> | ski: Oh you mean the whole section, not the single slide. |
| 12:39:54 | <ski> | int-e : yes. it's not too fancy. but it does include Pi |
| 12:39:58 | <ski> | yep |
| 12:40:16 | <int-e> | I should figure out whether there are any dependently typed programming success stories out there. |
| 12:40:31 | <florian_> | ski : thanks I will check that ! |
| 12:40:57 | <__monty__> | Well, compcert was certified using dependent types (coq), at least in part, no? |
| 12:41:07 | <ski> | (mind that Carmack isn't talking about dependent types, that i recall. but it could still be interesting) |
| 12:41:15 | <__monty__> | That's kinda the certified software poster boy, no? |
| 12:41:33 | <__monty__> | Yeah, Carmack mostly talks about haskell iirc. |
| 12:42:42 | <florian_> | monty : I start to do implementation of Boolean, Natural numbers, List, Binary Tree, Tree, Custom types: and i'm like .. "OOoo ! it can be really awesome for my day to day work" |
| 12:43:28 | × | jespada quits (~jespada@90.254.243.98) (Quit: Sleeping) |
| 12:44:50 | <merijn> | maerwald, ski: FWIW, Tim Sweeney (of Epic Games) gave a keynote at POPL about his expectations for the "next big language in games" |
| 12:45:01 | <merijn> | Lemme see if I can find the slides |
| 12:45:24 | <__monty__> | merijn: Already linked by ski ^ |
| 12:45:28 | <ski> | merijn : another than the one i linked to, above ? |
| 12:45:55 | <merijn> | oh, hah, that was just off screen |
| 12:46:03 | ski | . o O ( <https://en.wikipedia.org/wiki/ATS_(programming_language)> ) |
| 12:46:50 | → | texasmynsted joins (~texasmyns@212.102.45.115) |
| 12:47:27 | <florian_> | monty : thanks a lot for the TLA+ reference ! |
| 12:49:06 | <florian_> | ski : thank for the ATS ref ! you give me so much interesting sources |
| 12:49:58 | <ski> | (i haven't really looked much at ATS. but it seemed possibly relevant, in the discussion) |
| 12:51:06 | → | renzhi joins (~renzhi@2607:fa49:655f:e600::28da) |
| 12:54:27 | → | atraii_ joins (~atraii@c-98-32-64-84.hsd1.ut.comcast.net) |
| 12:54:47 | × | sam___ quits (~sam@4.196.204.77.rev.sfr.net) (Ping timeout: 260 seconds) |
| 12:55:16 | × | atraii quits (~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Ping timeout: 246 seconds) |
| 12:55:16 | atraii_ | is now known as atraii |
| 12:55:51 | <maerwald> | merijn: pretty odd that he makes an argument for lazy evaluation while this will be his biggest problem when doing actual gamedev in haskell |
| 12:56:08 | <merijn> | maerwald: Well, he's not arguing for lazy in the last slides |
| 12:56:21 | → | sam___ joins (~sam@212.105.23.93.rev.sfr.net) |
| 12:56:40 | <merijn> | maerwald: His point is that "complicatedly juggling initialisation order of global state is a mess" due to eager evaluation |
| 12:56:44 | <maerwald> | my suspicion is that he has only looked at the language and the syntax and is trying to borrow nice ideas, rather than having actually used it |
| 12:56:55 | <maerwald> | (which is good) |
| 12:57:35 | <merijn> | maerwald: did you read the 2nd to last slide(s) on "Why haskell is not my favourite"? |
| 12:57:36 | <int-e> | The next Haskell will be strict? :) |
| 12:57:44 | <merijn> | int-e: I hope not |
| 12:57:45 | <maerwald> | merijn: I'm half-way through |
| 12:57:51 | <maerwald> | int-e: I hope so |
| 12:57:57 | <merijn> | maerwald: Ah, he addresses that literally at the end :) |
| 12:58:11 | <merijn> | int-e: I would hope "strictness polymorphic" that sounds much more interesting |
| 12:58:41 | <maerwald> | and linear types and dependent types so only a handful of ppl around the world can code it |
| 12:58:42 | <int-e> | if it means what I think it means it sounds like a recipe for exponential code explosion |
| 12:59:30 | <int-e> | And don't get me wrong, I love laziness. But it is rather expensive. |
| 13:00:15 | <int-e> | And it's not always possible to make up for that with more clever algorithms that would be really awkward to implement without laziness. |
| 13:00:22 | <maerwald> | my idea of the perfect language is this: let some academics come up with the most fantastic featureful stuff and then let a community of pramatic programmers cut down feature by feature until they're satisfied. No feature is allowed to be added, ever :) |
| 13:01:14 | <merijn> | maerwald: tbh, I'm not sold on dependent types |
| 13:01:34 | <int-e> | maerwald: Force the academic to implement FFI. Implement everything you need in C++. ;-) |
| 13:02:09 | <merijn> | maerwald: But strictness polymorphic would be nice, like, why do we need foldMap and foldMap' instead of a single foldMap that can be instantiated strict or lazy as needed dependent on whether you give it a strict or lazy function |
| 13:02:28 | <maerwald> | merijn: I'd much rather have a Lazy type |
| 13:02:57 | <maerwald> | I don't think it'll be easy to reason about programs when they're strictness polymorphic |
| 13:03:00 | <ski> | like in OCaml,SML,Scheme ? |
| 13:03:00 | <int-e> | I feel unqualified to muse about dependent type. I struggle to think of a compelling use for them that scales beyond toy examples... I imagine it'll require a *very* moderate use of dependent types, or a genius software engineer who gets them just right for a particular domain. Possibly both. |
| 13:03:43 | <int-e> | I imagine it's very easy to use dependent type to code yourself into a corner where you're constantly fighting the types you created. |
| 13:04:12 | <int-e> | But... yeah sadly that's all speculation. |
| 13:04:29 | <maerwald> | int-e: that's fine... I don't care how other ppl shoot themselves in the foot. The problem is when I have to use libraries that do that weird stuff. And that will inevitably happe |
| 13:04:37 | <int-e> | I'd really love to see some experience reports. |
| 13:04:53 | ski | . o O ( "Ornamental Algebras, Algebraic Ornaments" by Conor McBride in 2010-08-09 at <http://personal.cis.strath.ac.uk/~conor/pub/OAAO/Ornament.pdf> ) |
| 13:04:56 | <int-e> | Maybe it works well for specific domains like compilers at least? That's quite conceivable. |
| 13:05:04 | → | knupfer1 joins (~Thunderbi@200116b82ca86a0099682528f6996d5a.dip.versatel-1u1.de) |
| 13:05:21 | → | domj joins (~domj@77.139.218.14) |
| 13:05:49 | → | nschoe joins (~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133) |
| 13:06:05 | <int-e> | maerwald: Oh yes, the ecosystem will become far more fragmented than it already is. |
| 13:06:10 | × | texasmynsted quits (~texasmyns@212.102.45.115) (Remote host closed the connection) |
| 13:06:29 | → | texasmynsted joins (~texasmyns@212.102.45.115) |
| 13:07:10 | × | knupfer quits (~Thunderbi@200116b82ca86a000577b9dd59dd39a4.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 13:07:10 | knupfer1 | is now known as knupfer |
| 13:07:46 | <int-e> | The beauty of the ML type system is that if you can capture a property in those types, it's almost always worth it (though you can go overboard with newtypes, I think). It doesn't require much discipline to benefit from. |
| 13:08:19 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
| 13:08:33 | <maerwald> | To me, types aren't worth to encode logic into. I only want to encode my data in it. |
| 13:08:49 | <int-e> | Hmm. I should say HM (Hindley-Milner). And a couple of Haskell's extensions have that property as well, notably GADTs. |
| 13:09:11 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 13:09:32 | <__monty__> | int-e: Or, Damas-Hindley-Milner : ) |
| 13:10:59 | Lord_of_Life_ | is now known as Lord_of_Life |
| 13:11:34 | → | akad_ joins (~akad@109107030050.radomsko.vectranet.pl) |
| 13:11:42 | × | sam___ quits (~sam@212.105.23.93.rev.sfr.net) (Read error: No route to host) |
| 13:12:06 | int-e | goes look at ski's link |
| 13:13:04 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 13:14:29 | <juri_> | ski: o/ |
| 13:15:48 | × | alp quits (~alp@2a01:e0a:58b:4920:89f1:ba96:ddf:92c2) (Ping timeout: 268 seconds) |
| 13:17:15 | → | sam___ joins (~sam@212.105.23.93.rev.sfr.net) |
| 13:17:23 | → | notnatebtw joins (~nate@125.161.131.30) |
| 13:17:38 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 13:20:05 | <maerwald> | I don't really understand when he talks about parallelism, effects free and Monads |
| 13:20:06 | <ski> | hello juri_ |
| 13:20:08 | <maerwald> | merijn: ^ |
| 13:20:39 | <merijn> | maerwald: Ah, you'd like a position paper I wrote a few years ago :) |
| 13:21:14 | <merijn> | maerwald: Where I argue a bunch of these Haskell effects libraries are doing it wrong by stuffing everything in the "functional" (in the sense of functional vs non-functional requirements) type |
| 13:21:18 | <maerwald> | seems like a misunderstanding about what purity is, looking at the slide |
| 13:21:38 | <merijn> | maerwald: What I want is multiple orthogonal/independent type systems |
| 13:21:41 | <int-e> | ski: Hmm, weird. |
| 13:21:51 | <ski> | which ? |
| 13:21:53 | <maerwald> | merijn: like Java exceptions |
| 13:21:57 | <int-e> | ski: the ornaments |
| 13:22:02 | <merijn> | maerwald: So the fact that the result of "div" throws and the fact that "div" returns "Int" are separate |
| 13:22:24 | <maerwald> | I agree |
| 13:22:27 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 13:22:29 | <merijn> | maerwald: Similarly, I don't want the strictness polymorphism in my "foldMap :: Monoid m => (a -> m) -> [a] -> m" type |
| 13:22:45 | <merijn> | I want a *completely separate* type that indicates the strictness of arguments |
| 13:23:12 | <ski> | int-e : the explicit representation thing he does is fiddly/awkward. but having a way to express such relationships, and possibly derive ornamented types in such a way, seems like it could be useful |
| 13:23:25 | <merijn> | maerwald: And then for things like "strictness polymorphism" or "throwing exceptions" you can leave the inferred default 95% of the time. But explicitly write a "this doesn't throw signature" when needed and get a type error if it doesn't match |
| 13:23:33 | <int-e> | ski: yeah but the whole paper is on a level I fail to care about |
| 13:24:08 | <maerwald> | merijn: I think that's basically how the borrow checker in rust works. It "communicates" with the type system, but it's not completely wired in, afaik |
| 13:24:09 | <merijn> | maerwald: So you can annotate when you explicitly need something strict/lazy or well "exception polymorphic" (I suppose), but still have the power of annotating your meaning when desirable |
| 13:24:57 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 13:25:06 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
| 13:25:11 | <int-e> | ski: well, that's unfair. the abstract and introduction are okay. :P |
| 13:25:15 | <ski> | int-e : yea. it would be nice with a more practical take on it |
| 13:25:31 | hackage | ormolu 0.1.3.1 - A formatter for Haskell source code https://hackage.haskell.org/package/ormolu-0.1.3.1 (mrkkrp) |
| 13:25:59 | <maerwald> | merijn: is that position paper public? |
| 13:26:17 | <merijn> | maerwald: It was an off-the-cuff thing at a tiny workshop, so...maybe? :p |
| 13:26:53 | × | dansho_ quits (~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving) |
| 13:27:27 | <int-e> | ski: How would I use this? How would user code transition from the plain to the ornate version and back? Also, he's kind of doing the opposite of what the introduction does, adding structure to the length to get a list, rather than taking a list and keeping track of the length... |
| 13:27:38 | <int-e> | ski: (Rhetorical questions.) |
| 13:28:04 | <merijn> | maerwald: I did write this like 6 years ago in, like, an afternoon so I'm not sure how well thought or argued it is :p |
| 13:28:07 | <merijn> | maerwald: http://grammarware.net/text/2014/oopsle-pre.pdf |
| 13:28:21 | <ski> | yes. it's half-baked |
| 13:28:30 | hackage | vulkan 3.6.11.1 - Bindings to the Vulkan graphics API. https://hackage.haskell.org/package/vulkan-3.6.11.1 (jophish) |
| 13:28:54 | <merijn> | maerwald: No one wanted to pay me to do research in it, sadly :p |
| 13:29:27 | <maerwald> | maybe you can make it blockchain relevant and then get your funding? |
| 13:29:30 | hackage | VulkanMemoryAllocator 0.3.7.1, vulkan-utils 0.1.2.1 (jophish): https://qbin.io/gaps-hiking-36kp |
| 13:32:14 | <merijn> | maerwald: Maybe, if I was willing to move abroad to some other university, but I'm not willing to move :p |
| 13:32:19 | <ski> | merijn : hm, (reading the abstract) reminds me of Racket's support for multiple languages, and of typed macros |
| 13:32:21 | × | sam___ quits (~sam@212.105.23.93.rev.sfr.net) (Read error: No route to host) |
| 13:32:24 | <merijn> | That's also why I'm not getting paid to do haskell yet :p |
| 13:34:13 | <maerwald> | I think you're basically making an argument for Java, which allows easily extending the type system |
| 13:34:30 | <maerwald> | (lets ignore for a moment that the language sucks) |
| 13:36:18 | × | hvr_ quits (~hvr@haskell/developer/hvr) (Ping timeout: 260 seconds) |
| 13:37:56 | → | hvr joins (~hvr@haskell/developer/hvr) |
| 13:38:30 | hackage | polysemy-fs 0.1.0.0 - Low level filesystem operations for polysemy. https://hackage.haskell.org/package/polysemy-fs-0.1.0.0 (locallycompact) |
| 13:38:48 | → | Tario joins (~Tario@200.119.185.187) |
| 13:40:28 | × | akegalj quits (~akegalj@93-136-196-194.adsl.net.t-com.hr) (Quit: leaving) |
| 13:40:33 | × | dhil quits (~dhil@195.213.192.85) (Quit: Leaving) |
| 13:41:37 | × | drbean quits (~drbean@TC210-63-209-219.static.apol.com.tw) (Ping timeout: 264 seconds) |
| 13:42:56 | <ski> | in Mercury, they use "inst"s ("instantiation states") as a separate mechanism (distinct from types) to track how much initialized a value it, but can also be used for simple refinements (like non-empty lists, lists of even number of elements, &c.). i wonder whether something like that could also be used to track different representations of data, e.g. for matrices (sparse, triangular, &c.), graphs |
| 13:44:43 | × | britva quits (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep) |
| 13:44:56 | <merijn> | So, eh, if you wanna see if this could work, get someone to fund me ;) |
| 13:45:21 | <merijn> | (although, maybe wait until I finish my defense...) |
| 13:50:48 | → | brisbin joins (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
| 13:53:39 | <texasmynsted> | soo fourmolu. I do not recall this happening before, but now when I use it from vim it messages that it loaded my config file. While accurate, I do not need that in my source file. |
| 13:53:52 | <texasmynsted> | Is there as setting, that I can not see, that makes this stop? |
| 13:54:39 | × | knupfer quits (~Thunderbi@200116b82ca86a0099682528f6996d5a.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 13:56:53 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 13:59:28 | → | Tops21 joins (~Tobias@dyndsl-095-033-023-063.ewe-ip-backbone.de) |
| 14:02:14 | → | knupfer joins (~Thunderbi@200116b82ca86a0059ea4a9c9dfa6f41.dip.versatel-1u1.de) |
| 14:02:45 | × | Tops2 quits (~Tobias@dyndsl-095-033-023-063.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 14:03:55 | <refried_> | does `newtype` have a runtime representation, or does it just use the underlying type? |
| 14:04:04 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 14:05:14 | <tomsmeding> | texasmynsted: :D |
| 14:05:24 | <tomsmeding> | does it output that on stdout? if so, boo fourmolu |
| 14:05:34 | <tomsmeding> | if not, 2>/dev/null :p |
| 14:06:19 | <texasmynsted> | I was just looking... It is a message that really should only show in some kind of debug mode, even on stderr |
| 14:06:22 | → | Neo-- joins (~neo@internet-188-198-236-78.narocnik.mobitel.si) |
| 14:07:05 | <ski> | refried_ : the latter |
| 14:07:08 | <texasmynsted> | yes, stderr |
| 14:07:16 | <refried_> | thanks ski |
| 14:08:12 | <ski> | (that's the point of it, more or less, over a single-argument single-constructor `data' type. this also has ramifications for strictness/bottoms) |
| 14:12:43 | → | pera joins (~pera@unaffiliated/pera) |
| 14:19:07 | × | bjobjo quits (~bjobjo@2a01:79c:cebf:d688::9e6) (Read error: Connection reset by peer) |
| 14:19:56 | → | bjobjo joins (~bjobjo@2a01:79c:cebf:d688::9e6) |
| 14:24:52 | × | knupfer quits (~Thunderbi@200116b82ca86a0059ea4a9c9dfa6f41.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 14:27:21 | → | son0p joins (~son0p@181.136.122.143) |
| 14:27:43 | <fendor> | tasty usually does not have some expectation such as hspec's shouldThrow? |
| 14:28:03 | <merijn> | fendor: Eh, you probably want tasty-hunit? |
| 14:28:13 | <fendor> | merijn, does not have it either, afaict? |
| 14:28:14 | × | bjobjo quits (~bjobjo@2a01:79c:cebf:d688::9e6) (Read error: Connection reset by peer) |
| 14:28:23 | <fendor> | unless I am blind |
| 14:28:27 | → | bjobjo joins (~bjobjo@2a01:79c:cebf:d688::9e6) |
| 14:28:56 | <merijn> | fendor: Easy enough to implement, though: https://github.com/merijn/broadcast-chan/blob/master/broadcast-chan-tests/BroadcastChan/Test.hs#L74-L83 |
| 14:28:57 | → | plutoniix joins (~q@ppp-223-24-92-161.revip6.asianet.co.th) |
| 14:30:03 | <fendor> | merijn, well, obviously. So, time for tasty-hunit-expect-exception? |
| 14:30:43 | <fendor> | Or rather, I would prefer tasty-hspec-expectations |
| 14:31:22 | → | bennofs1 joins (~benno@dslb-094-222-054-143.094.222.pools.vodafone-ip.de) |
| 14:33:52 | × | invaser quits (~Thunderbi@31.148.23.125) (Remote host closed the connection) |
| 14:34:07 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 14:35:54 | × | carlomagno quits (~cararell@148.87.23.13) (Remote host closed the connection) |
| 14:36:08 | × | s00pcan quits (~chris@107.181.165.217) (Ping timeout: 272 seconds) |
| 14:37:01 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 14:37:03 | <merijn> | fendor: I mean, that's just a matter of making a PR to tasty-hunit to add it |
| 14:37:10 | <merijn> | Dunno why I didn't get around to that |
| 14:37:28 | <fendor> | indeed, maybe I should just try that. |
| 14:37:40 | → | tito_04 joins (~taurux@net-188-152-104-202.cust.dsl.teletu.it) |
| 14:37:49 | <fendor> | Just feels odd that such an expectation is not available in one of the most common testing frameworks |
| 14:37:50 | × | taurux quits (~taurux@net-188-152-104-202.cust.dsl.teletu.it) (Ping timeout: 264 seconds) |
| 14:39:03 | × | nschoe quits (~quassel@2a01:e0a:3c4:c7b0:c059:9ac8:a690:3133) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 14:41:03 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
| 14:42:14 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:9a5a:7320:1bda:4e7f) |
| 14:42:45 | <merijn> | tasty is just a runner/combiner, so it's more the absence in hunit/tasty-hunit |
| 14:43:36 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:44:44 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:43f1:8e91:4bca:feb3) (Ping timeout: 240 seconds) |
| 14:45:04 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 14:48:09 | → | ddellacosta joins (~dd@86.106.121.168) |
| 14:51:46 | <fendor> | still suprises me, that neither hunit not tasty-hunit define it |
| 14:53:26 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 14:54:46 | → | muesli4 joins (~noname@p200300e8472db800148b3a0117ef2d23.dip0.t-ipconnect.de) |
| 14:56:40 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:57:19 | × | toorevitimirp quits (~tooreviti@117.182.183.132) (Remote host closed the connection) |
| 14:57:19 | × | tv quits (~tv@unaffiliated/tv) (Read error: Connection reset by peer) |
| 14:57:55 | → | geekosaur joins (ae68c070@cpe-174-104-192-112.neo.res.rr.com) |
| 14:57:56 | <Squarism> | I notice type System.IO.FilePath = String. Is there some representation of file that separates directory and filename? |
| 14:58:42 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 14:59:17 | <dminuoso> | Squarism: directory gives you the separation in its semantics |
| 14:59:34 | <Squarism> | ok, ill look into that |
| 15:00:01 | × | nhandler1 quits (~nhandler@185.204.1.185) () |
| 15:00:23 | <dminuoso> | (But sadly this is not communicated in types) |
| 15:01:11 | <fendor> | Squarism, there is also hpath |
| 15:01:12 | <Squarism> | dminuoso, yeah. Looking at package "directory" i cannot directly see what could be useful for me |
| 15:01:37 | <geekosaur> | can't be, really; take a look at how streams are represented on windows, or forks on os x |
| 15:01:37 | <dminuoso> | Squarism: Well it offers you functions like splitFileName and so on |
| 15:01:48 | <maerwald> | Yes, hpath uses ByteString as filepath and doesn't use directory package at all |
| 15:01:54 | <maerwald> | Everything is built on top of unix |
| 15:02:02 | <geekosaur> | (a "file" can be a "directory", as haskell or applications see it) |
| 15:02:16 | × | perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9) |
| 15:02:27 | × | troydm quits (~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 15:02:53 | × | lazyshrk quits (~lazyshrk@128.199.58.13) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:03:18 | <dminuoso> | Or conversely, a directory *is* a file in unix + derivates. |
| 15:04:09 | <maerwald> | separating directory from file is nonsense wrt *filepaths*. The `path` package does that though |
| 15:04:25 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
| 15:04:38 | <Squarism> | ok. Ill look into hpath and path |
| 15:04:45 | × | hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus_) |
| 15:05:00 | <dminuoso> | Squarism: What's the problem domain |
| 15:05:08 | <maerwald> | But you'll get surprising results, since only an actual IO call can tell you whether something is a directory or not and a second later that truth might have changed |
| 15:05:32 | <maerwald> | It makes sense for *user input* |
| 15:05:34 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 15:05:41 | → | testkiwi joins (54d3314c@gateway/web/cgi-irc/kiwiirc.com/ip.84.211.49.76) |
| 15:05:41 | <maerwald> | but you should have a separate type for user input |
| 15:06:01 | <Squarism> | just rolling a typical bash-like script. Searching for files grouping them by directory / filename-pattern |
| 15:06:17 | → | lazyshrk joins (~lazyshrk@128.199.58.13) |
| 15:06:36 | <maerwald> | Then you don't really need that on type level. It's enough to have that as constructors |
| 15:07:04 | <maerwald> | https://github.com/hasufell/hsfm/blob/master/src/HSFM/FileSystem/FileType.hs#L91 |
| 15:07:12 | → | hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 15:07:21 | <maerwald> | I'm not sure that was a particularly good idea, but it worked |
| 15:08:26 | × | LKoen quits (~LKoen@127.251.88.92.rev.sfr.net) (Remote host closed the connection) |
| 15:09:32 | <maerwald> | when it comes to filesystem, you don't really want to store much information in memory, but look at it as late a possible and then you end up not needing much data types anyway |
| 15:09:54 | → | LKoen joins (~LKoen@127.251.88.92.rev.sfr.net) |
| 15:10:08 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 15:10:37 | <maerwald> | (and don't go the lazy IO route) |
| 15:10:52 | × | hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
| 15:10:54 | → | elfets joins (~elfets@2002:25c9:1760:0:84de:a283:20:112f) |
| 15:10:59 | ← | testkiwi parts (54d3314c@gateway/web/cgi-irc/kiwiirc.com/ip.84.211.49.76) () |
| 15:11:05 | → | jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de) |
| 15:11:14 | → | hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 15:12:00 | <Squarism> | I try to use haskell instead of bash when doing small ad hoc jobs. Even there well typed things help me. |
| 15:12:49 | <maerwald> | well, as long as the types don't lie :) |
| 15:12:50 | × | LKoen quits (~LKoen@127.251.88.92.rev.sfr.net) (Remote host closed the connection) |
| 15:13:02 | <maerwald> | when they represent outdated filesystem information, they lie |
| 15:13:25 | <dminuoso> | In addition, the notion of a "filesystem" is confusing and depends on the implementation. |
| 15:13:28 | <Squarism> | splitting a path into directory + filename I feel would be basic functionality. But maybe its not |
| 15:13:42 | <dminuoso> | Squarism: Consider what we said earlier |
| 15:13:47 | <dminuoso> | directories under linux *are* files |
| 15:14:05 | <dminuoso> | And `directory` offers you the functionality to split into basename and filename |
| 15:14:11 | <dminuoso> | Using `splitFileName` |
| 15:14:22 | <Squarism> | yes yes. |
| 15:14:34 | <dminuoso> | To track such information in the type system would be worthless, since by the time you interact with the file system again, it could have changed |
| 15:14:36 | <dminuoso> | for instance |
| 15:14:36 | <maerwald> | Squarism: you want `dirname`, but a path is agnostic of directory vs filename |
| 15:14:53 | <dminuoso> | if you know that `"foo" :: Directory`, the moment you interact with the filesystem again that could no longer be true |
| 15:15:03 | → | tv joins (~tv@unaffiliated/tv) |
| 15:15:05 | <dminuoso> | Maybe someone deleted the directory "foo" and replaced it with a symlink to a non-directory |
| 15:16:12 | <Squarism> | dminuoso, you mean this right https://hackage.haskell.org/package/directory ? |
| 15:16:13 | <dminuoso> | So all that remains is that "foo" is just a filepath information |
| 15:16:18 | <merijn> | All filesystem operations are just TOC-TOU races |
| 15:16:24 | <dminuoso> | And that remains true |
| 15:16:30 | <dminuoso> | whether "foo" still points at something remains to be seen |
| 15:16:33 | <dminuoso> | (or what it points at) |
| 15:17:06 | <dminuoso> | So "being a directory" is not a property of the filepath, its a property of the (stateful and concurrent) filesystem. |
| 15:17:42 | <dminuoso> | Some of the documentation of `directory` is just misleading |
| 15:17:55 | <maerwald> | avoid directory package if you can :p |
| 15:17:58 | <dminuoso> | splitFileName splits a path into two paths, one that would describe a directory containing the other. |
| 15:18:02 | <dminuoso> | but both are *still* paths |
| 15:19:01 | <maerwald> | https://hackage.haskell.org/package/path-0.8.0/docs/Path-Posix.html |
| 15:19:11 | <maerwald> | this uses a Dir/File type for paths |
| 15:19:20 | <maerwald> | so if you like that misconception, go with that |
| 15:19:26 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 15:20:13 | <dminuoso> | merijn: Somehow I wish we would move to transactional filesystems. :( |
| 15:20:36 | <dminuoso> | maerwald: Im curious, why do you dislike `directory`? |
| 15:20:54 | → | britva joins (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) |
| 15:20:54 | × | bjobjo quits (~bjobjo@2a01:79c:cebf:d688::9e6) (Quit: leaving) |
| 15:20:59 | <maerwald> | dminuoso: it's too cross-platform |
| 15:21:25 | <maerwald> | which usually means most of the functions work most of the time |
| 15:21:36 | <maerwald> | and for some subset of scenarios, they don't |
| 15:21:53 | <dminuoso> | so if if you're inside that subset, then dont use it? |
| 15:22:02 | <maerwald> | https://github.com/haskell/directory/issues/110 |
| 15:22:06 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 15:22:06 | <maerwald> | example |
| 15:22:32 | <geekosaur> | you often don't have a say as to whether you're in the subset or not |
| 15:22:37 | <maerwald> | more: https://github.com/haskell/directory/issues/109 |
| 15:22:42 | <maerwald> | hard to predict behavior |
| 15:22:50 | <geekosaur> | you gjust get a possibly unpleasant surprise |
| 15:22:59 | <maerwald> | knowledge of atomicity is darn important |
| 15:23:00 | <dminuoso> | Well, I just like the filepath manipulation API of directory. |
| 15:23:10 | <dminuoso> | For filesystem interaction I'd default to unix anyway |
| 15:23:35 | <maerwald> | yep, except that doesn't have high-level API like recursive copy or deletion |
| 15:23:39 | <dminuoso> | geekosaur: Sure, but that's rather an argument about cross-platform in general |
| 15:23:49 | <dminuoso> | (In the sense that cross-platform filesystem interaction is brittle) |
| 15:24:03 | <dminuoso> | maerwald: Like I said, I just use it for file*path* manipulation |
| 15:24:11 | <dminuoso> | Computing file paths, splitting them, etc |
| 15:24:19 | <dminuoso> | Or do you mean `unix`? |
| 15:24:25 | <maerwald> | yes |
| 15:24:26 | <hpc> | the need for cross-platform filesystem interaction doesn't go away just because windows is bad, in any event |
| 15:24:37 | × | plutoniix quits (~q@ppp-223-24-92-161.revip6.asianet.co.th) (Quit: Leaving) |
| 15:24:53 | <merijn> | hpc: What, precisely, is the argument for windows being bad? |
| 15:25:00 | <hpc> | the linked issues |
| 15:25:03 | × | Neo-- quits (~neo@internet-188-198-236-78.narocnik.mobitel.si) (Ping timeout: 260 seconds) |
| 15:25:15 | <maerwald> | merijn: file locking is really nuts |
| 15:25:18 | × | lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Ping timeout: 268 seconds) |
| 15:25:20 | → | alp joins (~alp@2a01:e0a:58b:4920:78dd:91ee:d015:a8b2) |
| 15:25:22 | → | jespada joins (~jespada@90.254.243.98) |
| 15:25:24 | <dminuoso> | file locking is nuts in the linux world too |
| 15:25:32 | <dminuoso> | since it's essentially just advisory locks |
| 15:25:33 | <hpc> | just fix those bugs and move on, imo |
| 15:25:37 | <dminuoso> | you dont get any real promises about a flock |
| 15:25:48 | <merijn> | file locking in linux is so retarded I can't imagine a way windows could be worse, tbh |
| 15:25:53 | <dminuoso> | (unless you can somehow prove no other process outside your control will touch your file) |
| 15:25:56 | <dminuoso> | merijn: indeed. |
| 15:26:10 | <hpc> | merijn: you'll love the discussion on that 110 issue then :D |
| 15:26:26 | → | LKoen joins (~LKoen@127.251.88.92.rev.sfr.net) |
| 15:26:28 | <merijn> | hpc: Is it *bad* or is it *different*? |
| 15:26:49 | <maerwald> | you just retry deletion until your virus scanner is finished |
| 15:27:12 | <hpc> | one of the edge cases of one way of deleting a directory holds onto that file path until every handle to it is closed |
| 15:27:31 | <hpc> | so you can't make a new file with that name, even though the name isn't currently present on the filesystem |
| 15:27:37 | <dminuoso> | maerwald: Anyhow. If your argument is `unix lacks higher level API` that doesnt make unix bad, perhaps the desire to have "high level APIs" or worse "high level cross-platform APIs" is doomed from the get go |
| 15:27:39 | <Uniaika> | 1/ |
| 15:27:47 | <Uniaika> | (woops) |
| 15:27:53 | <maerwald> | dminuoso: yes, I wrote that high-level API |
| 15:27:59 | <dminuoso> | Which package? |
| 15:28:18 | <Uniaika> | oh btw, `transpose` is now leak-free thans to the work of David Feuer and myself |
| 15:28:37 | <dminuoso> | merijn: Did you order a DNA sample of dfeuer by the way? |
| 15:28:38 | <maerwald> | dminuoso: hpath-directory on RawFilePath and hpath-io on Path |
| 15:28:41 | <dminuoso> | We need him cloned. |
| 15:29:02 | <merijn> | hpc: You can't say something useful about a single operation like that without considering the design that lead to it. Like "is files being open blocking deletion" a bad design? Not necessarily, imo. It's different than what people are used to on unix, but there's definitely sense to it |
| 15:29:20 | <hpc> | that's different |
| 15:29:30 | <hpc> | this is files being deleted blocking creation |
| 15:29:35 | <dminuoso> | At the end filesystems are complex beasts that I really dont like working with. |
| 15:29:37 | <Uniaika> | dminuoso: for the moment I'm acting as a surrogate, I'm the one who put together his patch and test :P |
| 15:29:41 | <dminuoso> | Relational databases are so much more pleasant. |
| 15:29:49 | <hpc> | the file is already gone from the filesystem |
| 15:29:53 | <merijn> | hpc: Is it? AFAICT the deletion is blocked because someone has the file open and locked |
| 15:29:56 | <hpc> | it's not present and locked |
| 15:30:02 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 15:30:32 | <dminuoso> | Clearly we need filesystems with STM semantics and get rid of these silly race conditions. |
| 15:30:34 | <merijn> | At what point is a file "no longer present" in your opinion? |
| 15:31:10 | <merijn> | dminuoso: This is why I tell people they should just use SQLite for all their applications, then you can just let their code deal with it and that's better tested than yours anyway :p |
| 15:31:32 | <geekosaur> | so a file's path is part of its metadata on windows but not on unix. this is a reasonable choice imo |
| 15:31:38 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
| 15:31:41 | <maerwald> | merijn: https://www.sqlite.org/src/info/89f1848d7f |
| 15:32:02 | <merijn> | maerwald: That does not in anyway affect the truth of my statement |
| 15:32:05 | <dminuoso> | merijn: Indeed, Im a big fan of sqlite myself too. |
| 15:32:09 | <merijn> | I didn't say it was flawless |
| 15:32:19 | <merijn> | I said it was more battle tested than anything any of us have ever written |
| 15:32:21 | <maerwald> | merijn: no, this was just an example of windows |
| 15:32:30 | <maerwald> | and that sqlite retries |
| 15:32:41 | <merijn> | maerwald: I am still not convinced that's necessarily *bad* design |
| 15:32:43 | <maerwald> | see `winDelete` |
| 15:32:47 | <maerwald> | I didn't say it is |
| 15:33:08 | <merijn> | Right, but hpc (and lots of people when windows comes up) do |
| 15:33:30 | <dminuoso> | Anyhow. Maybe someone here knows, Im looking for a package to facilitate generating multiple Haskell modules, but ideally with utilities like `reify` that could let me reflect on already generated code. |
| 15:33:33 | <merijn> | afaict most of the "windows is bad" people just mean "windows != posix and I hate having to read docs" |
| 15:33:38 | × | fl0_id quits (~fl0_id@claudia.s7t.de) (Quit: ZNC) |
| 15:33:38 | × | MTwister quits (~Twister@claudia.s7t.de) (Quit: Servus!) |
| 15:34:46 | <merijn> | Windows is (at worst) of "average engineering quality comparable to linux, etc.. More realistically, imo, the engineering of most of windows is orders of magnitude better than linux |
| 15:35:31 | <maerwald> | here's anothe example of haskell code handling windows file deletion issues https://github.com/input-output-hk/cardano-wallet/blob/master/lib/core/src/Cardano/DB/Sqlite/Delete.hs |
| 15:35:31 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 15:35:44 | <dminuoso> | merijn: I still think much of the bad reputation windows has had, is millions of uneducated users installing shitty drivers, and then blaming microsoft for BSODs. |
| 15:36:05 | <merijn> | dminuoso: Yes |
| 15:36:07 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 15:36:17 | <merijn> | dminuoso: Also, just all drivers being shitty |
| 15:36:30 | <maerwald> | I get xserver crashed with nvidia drivers |
| 15:36:31 | → | troydm joins (~troydm@unaffiliated/troydm) |
| 15:36:47 | <merijn> | IMO, the biggest mistake in Windows engineering for 95/98 was MS assuming that every 3rd party vendor would be as careful with code running in kernel space as they were |
| 15:37:02 | <maerwald> | but then again, xserver is one of the worst codebases out there :p so not sure I'd blame nvidia |
| 15:37:07 | → | Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 15:37:22 | <dminuoso> | Speaking of x, its sad to see its developed has essentially completely stopped |
| 15:37:38 | <dminuoso> | Since RH has switched to wayland, that's the last industry funding/work gone. |
| 15:37:39 | <dminuoso> | :( |
| 15:38:48 | <maerwald> | wayland has no concept of window icons :p |
| 15:39:03 | <maerwald> | window managers have to implement a lot of logic to get window icons |
| 15:39:17 | <dolio> | What does this have to do with Haskell? |
| 15:39:32 | <dminuoso> | dolio: `directory` is bad. |
| 15:39:34 | <dminuoso> | :p |
| 15:39:41 | <dolio> | Wrong. |
| 15:39:51 | <dminuoso> | dolio: No, that's how this all started. |
| 15:39:56 | <dolio> | I mean, that may be true, but it has nothing to do with Wayland. |
| 15:41:15 | <hekkaidekapus> | We might get a wayland-monad as a successor to xmonad from the discussion :P |
| 15:41:42 | <dolio> | I thought someone mentioned that already existed somewhere a while back. |
| 15:41:51 | <dminuoso> | hekkaidekapus: waymonad already is a thing |
| 15:41:55 | <hekkaidekapus> | Ah, dunno! |
| 15:41:57 | <dminuoso> | ttps://github.com/waymonad/waymonad |
| 15:42:34 | <hekkaidekapus> | hehehehe… The discussion is doomed then :D |
| 15:42:35 | <dminuoso> | Though work on that one has dried up too |
| 15:43:05 | → | ManiacTwister joins (~Twister@2a01:4f8:171:4de::40:2) |
| 15:43:25 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds) |
| 15:43:28 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 15:43:42 | <maerwald> | also, my impression of `directory` was that it wasn't written with POSIX or freedesktop spec in mind, so things like https://github.com/haskell/directory/issues/102 pop up now and then |
| 15:44:09 | → | fl0_id joins (~fl0_id@2a01:4f8:171:4de::40:2) |
| 15:44:53 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 15:45:19 | <dminuoso> | Im unsure what your point really is. The bug was fixed. |
| 15:45:26 | <maerwald> | yes, I fixed it :p |
| 15:45:31 | hackage | ghc-lib-parser 0.20201101 - The GHC API, decoupled from GHC versions https://hackage.haskell.org/package/ghc-lib-parser-0.20201101 (shayne_fletcher) |
| 15:46:11 | <maerwald> | but what about other functions |
| 15:46:30 | hackage | ghc-lib 0.20201101 - The GHC API, decoupled from GHC versions https://hackage.haskell.org/package/ghc-lib-0.20201101 (shayne_fletcher) |
| 15:46:34 | <maerwald> | if your main concern is cross platform, I think these things will happen |
| 15:46:43 | × | ech quits (~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds) |
| 15:48:59 | <maerwald> | your mental model is the intersection of windows and linux, not POSIX |
| 15:49:23 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 15:53:06 | × | Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving) |
| 15:56:20 | × | dysfigured quits (dysfigured@2600:3c00::f03c:92ff:feb4:be75) (Quit: I hate quit messages.) |
| 15:56:49 | monsterchrom | is now known as monochrom |
| 15:59:13 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-stehtktsnkxbdlii) (Quit: Connection closed for inactivity) |
| 16:00:37 | → | idhugo joins (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) |
| 16:01:13 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 16:05:45 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 16:06:00 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 16:08:00 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 16:08:23 | × | mozzarella quits (~sam@unaffiliated/sam113101) (Quit: WeeChat 2.8) |
| 16:08:30 | × | troydm quits (~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 16:09:17 | → | troydm joins (~troydm@unaffiliated/troydm) |
| 16:10:53 | × | mrchampion quits (~mrchampio@216-211-57-41.dynamic.tbaytel.net) (Read error: Connection reset by peer) |
| 16:13:09 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
| 16:13:21 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-arvrrpvtmfjsqvdb) |
| 16:13:27 | × | Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
| 16:15:13 | → | bjobjo joins (~bjobjo@2a01:79c:cebf:d688::9e6) |
| 16:15:13 | × | bjobjo quits (~bjobjo@2a01:79c:cebf:d688::9e6) (Client Quit) |
| 16:15:24 | → | bjobjo joins (~bjobjo@2a01:79c:cebf:d688::9e6) |
| 16:15:44 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-qmwibrdpzphrklso) |
| 16:15:52 | → | mrchampion joins (~mrchampio@216-211-57-41.dynamic.tbaytel.net) |
| 16:16:07 | × | sfvm quits (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine) |
| 16:17:01 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 16:17:32 | → | invaser1 joins (~Thunderbi@31.148.23.125) |
| 16:17:42 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Client Quit) |
| 16:18:20 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 16:19:03 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds) |
| 16:19:04 | invaser1 | is now known as invaser |
| 16:21:18 | → | machinedgod joins (~machinedg@207.253.244.210) |
| 16:26:35 | → | invaser1 joins (~Thunderbi@128-124-92-74.mobile.vf-ua.net) |
| 16:28:13 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:28:33 | → | Dragavnir joins (~Dragavnir@178.239.168.171) |
| 16:28:55 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 16:29:52 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 258 seconds) |
| 16:30:15 | × | britva quits (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep) |
| 16:30:50 | × | invaser1 quits (~Thunderbi@128-124-92-74.mobile.vf-ua.net) (Ping timeout: 256 seconds) |
| 16:32:19 | → | invaser joins (~Thunderbi@128-124-92-74.mobile.vf-ua.net) |
| 16:33:42 | → | dysfigured joins (~dysfigure@li490-89.members.linode.com) |
| 16:34:06 | × | jess quits (jess@freenode/staff/jess) (Quit: brb) |
| 16:35:46 | → | jess joins (jess@freenode/staff/jess) |
| 16:36:31 | hackage | polysemy 1.4.0.0 - Higher-order, low-boilerplate free monads. https://hackage.haskell.org/package/polysemy-1.4.0.0 (TheMatten) |
| 16:37:30 | hackage | polysemy-plugin 0.2.5.2 - Disambiguate obvious uses of effects. https://hackage.haskell.org/package/polysemy-plugin-0.2.5.2 (TheMatten) |
| 16:37:48 | → | avdb joins (~avdb@ip-83-134-109-104.dsl.scarlet.be) |
| 16:38:33 | → | britva joins (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) |
| 16:39:20 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:41:13 | × | akad_ quits (~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 260 seconds) |
| 16:41:41 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:42:01 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 16:42:37 | → | Neo-- joins (~neo@188-230-154-134.dynamic.t-2.net) |
| 16:43:26 | → | mlugg joins (522733ea@cpc95124-newt39-2-0-cust489.19-3.cable.virginm.net) |
| 16:44:30 | hackage | ghc-lib-parser-ex 0.20201101 - Algorithms on GHC parse trees https://hackage.haskell.org/package/ghc-lib-parser-ex-0.20201101 (shayne_fletcher) |
| 16:47:24 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 16:48:54 | × | lxsameer quits (~lxsameer@unaffiliated/lxsameer) (Ping timeout: 256 seconds) |
| 16:49:14 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:50:01 | × | idhugo quits (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 264 seconds) |
| 16:50:59 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 16:52:07 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 16:52:16 | → | mozzarella joins (~sam@unaffiliated/sam113101) |
| 16:52:21 | nitrix-or-treat | is now known as nitrix |
| 16:52:37 | × | alp quits (~alp@2a01:e0a:58b:4920:78dd:91ee:d015:a8b2) (Ping timeout: 260 seconds) |
| 16:54:01 | × | renzhi quits (~renzhi@2607:fa49:655f:e600::28da) (Quit: WeeChat 2.3) |
| 16:57:02 | × | Kingpatzer quits (~user@c-73-5-166-112.hsd1.mn.comcast.net) (Remote host closed the connection) |
| 16:57:20 | × | mmohammadi9812 quits (~mmohammad@188.210.118.100) (Quit: Quit) |
| 16:58:02 | → | idhugo joins (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) |
| 16:58:44 | × | jess quits (jess@freenode/staff/jess) (Quit: Leaving) |
| 16:59:40 | → | jess joins (jess@freenode/staff/jess) |
| 17:00:28 | × | bergsans quits (~bergsans@c80-217-8-29.bredband.comhem.se) (Remote host closed the connection) |
| 17:00:38 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 17:02:17 | × | notnatebtw quits (~nate@125.161.131.30) (Quit: WeeChat 2.9) |
| 17:03:17 | → | lxsameer joins (lxsameer@gateway/vpn/protonvpn/lxsameer) |
| 17:03:43 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:05:04 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) |
| 17:08:54 | → | ech joins (~user@gateway/tor-sasl/ech) |
| 17:09:31 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:11:48 | → | akad_ joins (~akad@109107030050.radomsko.vectranet.pl) |
| 17:16:01 | hackage | time-compat 1.9.4 - Compatibility package for time https://hackage.haskell.org/package/time-compat-1.9.4 (phadej) |
| 17:17:11 | → | UpstreamSalmon joins (uid12077@gateway/web/irccloud.com/x-crbxrpluwxladazf) |
| 17:19:32 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 272 seconds) |
| 17:20:29 | → | invaser1 joins (~Thunderbi@31.148.23.125) |
| 17:21:59 | → | knupfer joins (~Thunderbi@mue-88-130-61-182.dsl.tropolys.de) |
| 17:22:18 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 17:22:23 | × | knupfer quits (~Thunderbi@mue-88-130-61-182.dsl.tropolys.de) (Client Quit) |
| 17:22:36 | → | knupfer joins (~Thunderbi@200116b82ca86a00056424893fc11884.dip.versatel-1u1.de) |
| 17:24:04 | × | invaser quits (~Thunderbi@128-124-92-74.mobile.vf-ua.net) (Ping timeout: 265 seconds) |
| 17:24:04 | invaser1 | is now known as invaser |
| 17:28:21 | × | britva quits (~britva@2a02:aa13:7240:2980:fc63:822e:7d74:772d) (Quit: This computer has gone to sleep) |
| 17:29:48 | → | mmohammadi9812 joins (~mmohammad@188.210.118.100) |
| 17:31:00 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:c427:c5ca:d62:565b) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:33:56 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 17:34:31 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 17:35:44 | × | florian_ quits (~florian@2a01:e35:2fe9:ecb0:bc5c:10ad:bdba:b477) (Ping timeout: 240 seconds) |
| 17:37:04 | → | Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 17:40:19 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:3499:33aa:8897:280d) |
| 17:41:46 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:3499:33aa:8897:280d) (Client Quit) |
| 17:42:40 | × | avdb quits (~avdb@ip-83-134-109-104.dsl.scarlet.be) (Quit: WeeChat 2.9) |
| 17:42:44 | × | brisbin quits (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds) |
| 17:43:16 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-whgkwnxufenzozzn) |
| 17:49:04 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:6:b479:1814:49b2) |
| 17:49:37 | × | knupfer quits (~Thunderbi@200116b82ca86a00056424893fc11884.dip.versatel-1u1.de) (Quit: knupfer) |
| 17:54:49 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 17:54:54 | <gentauro> | «6. Which language extensions would you like to be enabled by default? (https://haskellweekly.news/survey/2020.html)»: {-# LANGUAGE Safe #-} xD |
| 17:55:12 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 17:55:14 | gentauro | some people just want to see the "Hello, world" burn xD |
| 17:56:16 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
| 17:57:40 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 17:58:13 | × | tito_04 quits (~taurux@net-188-152-104-202.cust.dsl.teletu.it) (Ping timeout: 260 seconds) |
| 17:59:15 | <fendor> | what is the safe language extension even? |
| 17:59:26 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 18:00:01 | × | Dragavnir quits (~Dragavnir@178.239.168.171) () |
| 18:00:04 | → | taurux joins (~taurux@net-188-152-78-21.cust.vodafonedsl.it) |
| 18:00:11 | <c_wraith> | no one really knows |
| 18:00:28 | <c_wraith> | by which I mean "I've tried to understand it and failed, therefore it's impossible" |
| 18:01:56 | × | conal quits (~conal@ip-66-115-176-132.creativelink.net) (Quit: Computer has gone to sleep.) |
| 18:02:23 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 18:02:50 | <c_wraith> | It's a system for marking code as safe. A safe module can only import other safe modules, or ones that have been marked as trustworthy and you've decided to trust |
| 18:03:34 | <fendor> | and what is the final purpose? To import dynamically unsafe code? |
| 18:03:43 | <c_wraith> | But what "safe" actually means is a bit of a mystery to me. Does it mean type safety, memory safety, freedom from malicious code? |
| 18:03:59 | → | knupfer joins (~Thunderbi@200116b82ca86a0031b5db2845852757.dip.versatel-1u1.de) |
| 18:04:08 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-almrgtblciiegvzz) |
| 18:04:22 | <geekosaur> | to mark code which doesn't need to be considered for safety, by some definition of safety which is not itself well defined |
| 18:04:33 | <geekosaur> | so you in theory can focus on the less safe parts |
| 18:04:56 | <monochrom> | For example System.IO.Unsafe is not marked as safe, and it is where unsafePerformIO comes from. So you don't allow yourself to use unsafePerformIO, or transitively import from other modules that use unsafePerformIO. |
| 18:05:25 | <c_wraith> | unless they're trustworthy, of course, which muddles the whole thing |
| 18:05:48 | <monochrom> | This is why the whole scheme didn't get traction. |
| 18:06:34 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 18:06:54 | <c_wraith> | Debug.Trace is explicitly marked as Unsafe. |
| 18:07:10 | <c_wraith> | What's unsafe about it? |
| 18:07:21 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 18:07:43 | <maerwald> | unsafePerformIO? |
| 18:07:57 | <monochrom> | It turns out that cultural peer pressure to write pure-functional code and crowd knowledge of which libraries are being naughty are more trustworthy (pun!) than this marker system. |
| 18:08:37 | <c_wraith> | maerwald: it uses it, but it doesn't export it. Or anything that can do its job, as far as I can tell. |
| 18:08:52 | <monochrom> | Also cultural consensus of which usages of unsafePerformIO are acceptable (such as Debug.Trace's) |
| 18:09:25 | × | bennofs1 quits (~benno@dslb-094-222-054-143.094.222.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
| 18:09:37 | <c_wraith> | I would have marked Debug.Trace as Trustworthy |
| 18:09:59 | <c_wraith> | But yeah, this is just evidence no one can agree on what Safe actually means |
| 18:10:14 | <monochrom> | It is useful during development. But it shouldn't stay when shipping production code. |
| 18:10:40 | <c_wraith> | Sure, but I don't want to have to turn off Safe in half the modules in my program just to debug something |
| 18:10:45 | <monochrom> | You have f :: Int -> Bool you simply don't expect it to cause some messages on stderr |
| 18:11:00 | <monochrom> | No disagreement there. |
| 18:12:36 | → | mokulus joins (~mat@176.111.230.96) |
| 18:12:42 | <c_wraith> | and sure, I could mark the module I'm debugging as Trustworthy, but then you're back to the status quo, relying on code review (automated via linter or manual) to notice you're doing something sketchy |
| 18:13:05 | <monochrom> | A simple use of CPP and -DDEBUG the way C programmers have figured out is far simpler and more reliable. |
| 18:13:35 | <dsal> | I was reading https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1 and found it a little less satisfying. Don't use `sum` because it's implemented with foldMap and something something. Just use RIO fo reverything. |
| 18:14:05 | <maerwald> | RIO :D |
| 18:14:05 | <monochrom> | #ifdef DEBUG \n import Debug.Trace \n #else \n import AllDebugTraceFunctionsAreNoop #endif |
| 18:14:05 | <c_wraith> | "don't use sum because it's bad to rely on the optimizer getting the case right that it gets right every time" |
| 18:14:06 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
| 18:14:12 | × | wallacer3 quits (~quassel@ns3134113.ip-37-187-4.eu) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:14:26 | <maerwald> | I don't even think RIO is bad... it's just not very exciting overall |
| 18:14:37 | × | ColdRush_ quits (~coldrush@4e69b241.skybroadband.com) (Ping timeout: 264 seconds) |
| 18:14:53 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 18:14:59 | <c_wraith> | RIO is fine. I'd probably use it, if I were starting an application from scratch. At least assuming it doesn't drag any of the monotraversable stuff in with it |
| 18:15:01 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 18:15:09 | <dsal> | I use unliftio some. I've not abandoned life as I know it for that religion, though. Too many little religions out here. |
| 18:16:25 | <dsal> | I don't like advice where "the simple obvious thing is wrong (in rare cases you probably don't care about)" turns into "always invent your own `sum` when you're adding stuff together" |
| 18:16:31 | hackage | quickcheck-instances 0.3.25 - Common quickcheck instances https://hackage.haskell.org/package/quickcheck-instances-0.3.25 (phadej) |
| 18:16:40 | <monochrom> | This is why I keep saying that programmers are basically clergy-would-be-but-want-more-money. Just look at Larry Wall. |
| 18:17:01 | <koz_> | monochrom: Were you the coiner of 'category theology' that time? |
| 18:17:05 | <c_wraith> | I'm not sure we want more money. Look at catholic cathedrals. |
| 18:17:07 | <monochrom> | No. |
| 18:17:41 | <dsal> | I don't want money, I just want people to do things the right way, but people all have their own wrong ideas of what the right way is. |
| 18:18:30 | <suzu_> | i'd like money |
| 18:18:32 | <suzu_> | how do i get the money |
| 18:18:48 | <c_wraith> | sell your soul to google. |
| 18:18:50 | <monochrom> | Simply s/do things/find the meaning of life/ and see my point. :) |
| 18:18:53 | <maerwald> | "The code passes all integration tests. And then someone in Russia with a weird Windows code page set and a Cyrillic character in their name files a bug report 2 years later about how they can’t build anything" |
| 18:18:57 | <maerwald> | Those russians, hahaha |
| 18:19:05 | → | DavidEichmann joins (~david@43.240.198.146.dyn.plus.net) |
| 18:19:09 | <koz_> | maerwald: Vodka, bear, balalaika. |
| 18:19:28 | <Rembane> | Gopnik programmer memes |
| 18:19:39 | <koz_> | Rembane: Squat while coding. |
| 18:19:48 | → | ColdRush joins (~coldrush@4e69b241.skybroadband.com) |
| 18:19:50 | <koz_> | Who needs standing desk when you have squatting desk? |
| 18:20:18 | <Rembane> | koz_: Totally. Much better for code and life. |
| 18:20:45 | <maerwald> | "instead of readFile, I recommend using readFileUtf8, which is available from rio." |
| 18:20:46 | <koz_> | Just checked - the desk height for that would be about the height of a chair. |
| 18:20:52 | <maerwald> | That isn't logical |
| 18:21:04 | → | nerdboy1 joins (~nerdboy@154.13.1.56) |
| 18:21:05 | <maerwald> | so we just assume utf8 now? |
| 18:21:47 | <monochrom> | Why are you wasting your time on Snoyman drivels? :) |
| 18:21:51 | <dsal> | I got lost in that thing. I started paying a little less attention to Snoyman when he reviews a Scott Adams book. It's not a good logical stance, but I can't take anyone seriously who'd take Scott Adams seriously. |
| 18:22:07 | <koz_> | Yeah, I agree with monochrom here. |
| 18:22:18 | <koz_> | Just let him live in his weird fantasy world. |
| 18:22:22 | → | kekeqaq joins (34f6a1c2@52.246.161.194) |
| 18:22:26 | × | kekeqaq quits (34f6a1c2@52.246.161.194) (Remote host closed the connection) |
| 18:22:46 | <Rembane> | Someone has to live in that world, I'm grateful that I don't. |
| 18:22:53 | <koz_> | Rembane: Likewise. |
| 18:22:57 | <monochrom> | To be sure, sometimes he makes some good points. So heed the good advice, and don't worry about the rest. |
| 18:24:01 | <MarcelineVQ> | this is why anonymity is powerful, you can examine positions instead of people |
| 18:24:22 | → | sh9 joins (~sh9@softbank060116136158.bbtec.net) |
| 18:25:54 | <MarcelineVQ> | s/can/must |
| 18:26:48 | <maerwald> | I always treat files as bytes and try to delay interpreting content as long as possible. |
| 18:27:19 | <maerwald> | and often times, you don't need to know much about the contents |
| 18:28:19 | → | conal joins (~conal@ip-66-115-176-132.creativelink.net) |
| 18:29:09 | <maerwald> | anything that does stuff with files more than treating them as bytes has no place in the stdlib |
| 18:29:33 | × | obihann quits (~jhann@156.34.160.69) (Quit: Lost terminal) |
| 18:30:01 | hackage | commonmark 0.1.1 - Pure Haskell commonmark parser. https://hackage.haskell.org/package/commonmark-0.1.1 (JohnMacFarlane) |
| 18:30:03 | → | notnatebtw joins (~nate@125.161.131.30) |
| 18:30:07 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 18:30:40 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:6:b479:1814:49b2) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:31:00 | hackage | commonmark-extensions 0.2.0.2 - Pure Haskell commonmark parser. https://hackage.haskell.org/package/commonmark-extensions-0.2.0.2 (JohnMacFarlane) |
| 18:34:51 | → | Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 18:36:43 | × | idhugo quits (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 18:39:43 | × | livvy quits (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
| 18:40:28 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@68.235.43.86) |
| 18:41:49 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1) |
| 18:42:33 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 18:43:41 | <maerwald> | https://hackage.haskell.org/package/Win32-2.10.0.0/docs/System-Win32-File.html what happened to documentation :( |
| 18:44:21 | <maerwald> | There's one link to MS docs, which is a proper 404 |
| 18:45:45 | <geekosaur> | "everyone who cares is on unix" happened to documentation, afaict |
| 18:47:11 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
| 18:47:45 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 18:47:57 | → | ubert joins (~Thunderbi@p200300ecdf1e53d1e6b318fffe838f33.dip0.t-ipconnect.de) |
| 18:48:08 | → | michael92342 joins (~{mikey}@79.140.120.95) |
| 18:49:28 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 18:49:28 | <suzu_> | c_wraith: google sucks |
| 18:49:32 | <suzu_> | maybe i'd sell my soul to facebook |
| 18:49:37 | <suzu_> | they actually use haskell there |
| 18:49:50 | <hpc> | i think that has less to do with it being windows and more to do with it being as thin a C wrapper package as it's possible to be |
| 18:50:15 | <maerwald> | even ffi bindings should have documentation IMO |
| 18:50:30 | <koz_> | I'm with maerwald on that one honestly. |
| 18:50:31 | × | PerseusPlease quits (~{mikey}@79.140.120.95) (Ping timeout: 246 seconds) |
| 18:51:01 | <koz_> | You don't wanna be doing a two-way diff in your head in a context that delicate. |
| 18:51:04 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 18:51:42 | <hpc> | there's opengl-related packages with that level of thinness/documentation as well |
| 18:51:51 | <hpc> | not saying it should be that way, just what i have observed being correlated |
| 18:54:01 | hackage | binary-instances 1.0.1 - Orphan instances for binary https://hackage.haskell.org/package/binary-instances-1.0.1 (phadej) |
| 18:54:17 | <dminuoso> | c_wraith: Haha that's interesting, I hadn't looked at RIO ever sine I started haskell. Turns out, after nearly 2 years I've slowly converged on exactly that in many of my apps. |
| 18:54:36 | <maerwald> | at lest copyFile exists... on Linux, you have `sendfile`, but not all kernels have it |
| 18:55:20 | <dminuoso> | Though I think I prefer monad-logger as the logging interface. |
| 18:56:49 | × | knupfer quits (~Thunderbi@200116b82ca86a0031b5db2845852757.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 18:57:41 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 18:58:30 | × | mdunnio quits (~mdunnio@208.59.170.5) (Client Quit) |
| 19:00:42 | <suzu_> | i use katip a lot |
| 19:00:53 | × | conal quits (~conal@ip-66-115-176-132.creativelink.net) (Quit: Computer has gone to sleep.) |
| 19:02:09 | → | alp joins (~alp@2a01:e0a:58b:4920:8808:ae41:6852:4b7c) |
| 19:03:17 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
| 19:03:24 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds) |
| 19:03:26 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 19:03:42 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 19:03:48 | → | conal joins (~conal@ip-66-115-176-132.creativelink.net) |
| 19:04:02 | → | Codaraxis joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) |
| 19:04:42 | <hekkaidekapus> | maerwald: “This library is just a direct binding to Windows API calls and as such contains no documentation. The documentation for functions can be found in the equivalently named functions on MSDN [URL]”. |
| 19:05:04 | <hekkaidekapus> | Source: <https://github.com/haskell/win32/blob/master/README.md> |
| 19:05:34 | <maerwald> | That sentence isn't on the hackage page: https://hackage.haskell.org/package/Win32 |
| 19:06:16 | × | Codaraxis_ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 246 seconds) |
| 19:06:51 | <hekkaidekapus> | maerwald: The Hackage’s Markdown parser needs an update. See <https://github.com/haskell/hackage-server/pull/904> and the related issues. |
| 19:07:09 | <maerwald> | I think the README isn't included in the cabal file |
| 19:07:18 | × | ubert quits (~Thunderbi@p200300ecdf1e53d1e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 19:07:42 | × | michael92342 quits (~{mikey}@79.140.120.95) (Remote host closed the connection) |
| 19:08:02 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Quit: leaving) |
| 19:08:06 | → | michael92342 joins (~{mikey}@79.140.120.95) |
| 19:08:18 | <hekkaidekapus> | maerwald: Ah, ok. |
| 19:08:58 | <hekkaidekapus> | A pull request then? |
| 19:09:20 | <maerwald> | yeah, once my RSI is better |
| 19:09:35 | <hekkaidekapus> | lol |
| 19:10:06 | → | renzhi joins (~renzhi@2607:fa49:655f:e600::28da) |
| 19:11:02 | × | Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
| 19:11:23 | <maerwald> | Yeah, suggestions welcome... |
| 19:11:35 | <monochrom> | Use a speech recognizer. |
| 19:11:59 | <monochrom> | "computer, open github.com" |
| 19:12:12 | <tomsmeding> | "OK Google, open open github.com" |
| 19:13:00 | <maerwald> | is there a good open source speech recognizer? :) |
| 19:13:06 | <hekkaidekapus> | koz_ was talking about standing desks a few scroll back. |
| 19:13:12 | <maerwald> | I have one |
| 19:13:34 | <maerwald> | a 350 bucks ergonomic keyboard too |
| 19:13:48 | <hekkaidekapus> | Type matrix? |
| 19:14:16 | <maerwald> | I think it's since I learned touch typing, but how do you unlearn that :) |
| 19:15:05 | <dsal> | The problem with text to speech is that you have to learn how to say all those things you type all the time. |
| 19:15:42 | <dsal> | "Lens for Speech Recognition" |
| 19:15:43 | → | acidjnk_new joins (~acidjnk@p200300d0c7226044298aa97eef668aef.dip0.t-ipconnect.de) |
| 19:17:45 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
| 19:17:49 | → | Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 19:18:00 | <maerwald> | you could teach it klingon and then use klingon words for symbols |
| 19:19:19 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 19:19:37 | <juri_> | haskell Hol vlyaj torgh. |
| 19:20:05 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 19:20:10 | <dsal> | If I wanted to yell angrily at my computer, I'd write more JavaScript. |
| 19:20:25 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 19:20:27 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Remote host closed the connection) |
| 19:20:45 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 19:20:59 | tomsmeding | wonders how well speech recognisers deal with mixing two languages; it sounds like a good way to increase information bandwidth for speakers of multiple languages |
| 19:21:57 | × | alp quits (~alp@2a01:e0a:58b:4920:8808:ae41:6852:4b7c) (Ping timeout: 260 seconds) |
| 19:22:50 | <tomsmeding> | doing so you also get the advantage of being able to say that you do code-switching while coding |
| 19:24:27 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 19:25:14 | × | revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 264 seconds) |
| 19:25:26 | <dsal> | I alternate between ASCII and UTF-8 while I'm entering code. |
| 19:25:46 | → | revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
| 19:27:09 | <tomsmeding> | difference with my suggestion is that generally, one natural language does not generally fully subsume another ;) |
| 19:27:52 | <maerwald> | also: https://haskellweekly.news/survey/2020.html |
| 19:28:24 | × | nkly quits (~nkly@2a02:8109:9ac0:4a4c::9b9d) (Ping timeout: 240 seconds) |
| 19:29:07 | → | otulp joins (~otulp@ti0187q162-5696.bb.online.no) |
| 19:30:02 | <hekkaidekapus> | maerwald: As to the survey, in another channel, the admin put the URL into /topic. |
| 19:30:22 | <hekkaidekapus> | monochrom: Would you mind? ^^^ |
| 19:31:11 | ChanServ | sets mode +o monochrom |
| 19:31:38 | monochrom | sets topic to "https://www.haskell.org | https://wiki.haskell.org/IRC_channel | Paste code/errors: https://gist.github.com/ | Logs: http://tunes.org/~nef/logs/haskell/?C=M;O=D | https://www.reddit.com/r/haskell | Admin: #haskell-ops | Offtopic: #haskell-offtopic | https://downloads.haskell.org | Survey 2020: https://haskellweekly.news/survey/2020.html" |
| 19:31:54 | <hekkaidekapus> | Nice! |
| 19:32:12 | × | xff0x_ quits (~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec) (Quit: xff0x_) |
| 19:32:21 | → | xff0x joins (~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec) |
| 19:33:22 | <tomsmeding> | 🎉 even longer topic :) |
| 19:33:37 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 19:33:58 | monochrom | sets mode -o monochrom |
| 19:34:03 | <MarcelineVQ> | data is good I guess, though answering what exensions should be default last time I did the survey didn't make any more extensions the default :> |
| 19:34:10 | → | Madars joins (~null@unaffiliated/madars) |
| 19:34:13 | hekkaidekapus | is trying to increase participation to the survey from IRC folks. That way, the survey’s results might be less biased towards fellows who have loud-speakers on Twitter/Reddit/… |
| 19:34:29 | <tomsmeding> | maerwald: "I think it's since I learned touch typing" -- assuming you mean the home-row-centric qwerty typing style, interesting, I never learned that and have my own homebrew kind of finger movement which is somewhat less static |
| 19:34:36 | <tomsmeding> | I wonder how I will fare |
| 19:35:00 | hackage | cut-the-crap 2.3.0 - Cuts out uninteresting parts of videos by detecting silences. https://hackage.haskell.org/package/cut-the-crap-2.3.0 (Jappie) |
| 19:35:04 | × | mlugg quits (522733ea@cpc95124-newt39-2-0-cust489.19-3.cable.virginm.net) (Ping timeout: 245 seconds) |
| 19:35:10 | tomsmeding | already filled in the survey from the haskell-cafe announcement :p |
| 19:35:14 | <MarcelineVQ> | I still look at my fingers even though I don't need to, habits are weird |
| 19:36:28 | <Rembane> | Maybe you have really pretty fingers? |
| 19:36:33 | × | dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 258 seconds) |
| 19:36:42 | <MarcelineVQ> | it's possible |
| 19:38:00 | <yushyin> | having blank keycaps helps, it took my about a month to get used to my redox keyboard |
| 19:39:23 | → | nkly joins (~nkly@ip5b403944.dynamic.kabel-deutschland.de) |
| 19:40:26 | <yushyin> | a long and very frustrating month that was |
| 19:41:33 | → | christo joins (~chris@81.96.113.213) |
| 19:41:42 | <MarcelineVQ> | a qong ang frusttating momfh |
| 19:42:09 | <tomsmeding> | as for the IRC topic, does #haskell-offtopic even exist? |
| 19:42:43 | <Rembane> | tomsmeding: Yes |
| 19:42:50 | → | idhugo joins (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) |
| 19:43:02 | <tomsmeding> | alis doesn't know about it |
| 19:43:44 | <gobbleguy> | tomsmeding, channels set +s (secret) don't show up in alis |
| 19:44:00 | <tomsmeding> | ah |
| 19:44:54 | <gobbleguy> | I would guess that's because it's intended for #haskell regulars to have a place to be offtopic, not a place for people looking to be offtopic to go in general |
| 19:45:07 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 19:47:24 | × | mmohammadi9812 quits (~mmohammad@188.210.118.100) (Read error: Connection reset by peer) |
| 19:47:34 | → | mmohammadi9812 joins (~mmohammad@188.210.118.100) |
| 19:47:50 | <juri_> | ourvey completed. |
| 19:48:00 | <juri_> | survey, even. |
| 19:48:13 | <tomsmeding> | both? |
| 19:48:37 | <juri_> | there are two? |
| 19:48:46 | <tomsmeding> | no, was just joking about the typo :p |
| 19:49:55 | × | coot quits (~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 19:50:04 | <juri_> | :) |
| 19:50:34 | × | ggole quits (~ggole@2001:8003:8119:7200:a168:686a:1da3:cf46) (Quit: Leaving) |
| 19:52:28 | → | Franciman joins (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
| 19:52:39 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:53:42 | × | conal quits (~conal@ip-66-115-176-132.creativelink.net) (Quit: Computer has gone to sleep.) |
| 19:54:39 | → | perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 19:55:03 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 19:55:04 | <hekkaidekapus> | MarcelineVQ: Yeah, I am not really fond of the survey but it has gained oversized importance in various places, so better to icrease its inclusiveness than to ignore it and still get indirectly impacted by its results. |
| 19:55:17 | <hekkaidekapus> | Viz: <https://mail.haskell.org/pipermail/ghc-steering-committee/2020-October/001822.html> |
| 19:55:25 | × | michael92342 quits (~{mikey}@79.140.120.95) (Ping timeout: 264 seconds) |
| 19:56:00 | <MarcelineVQ> | sure, it's a useul thing to have to guage user metrics if nothing else |
| 19:56:18 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 19:57:32 | <juri_> | I am disappointed there's not a selection for more than 30 years programming experience. |
| 19:57:34 | <MarcelineVQ> | fwiw I'm not a big fan of OverloadedStrings on by default and find it interestings it's sitting right at the top |
| 19:58:08 | <ski> | MarcelineVQ : i used to only look at the keyboard, when typing, only glacing up at the screen now and then to check for mistakes |
| 19:59:18 | <dminuoso> | OverloadedStrings has caught me by surprise a few times. |
| 19:59:57 | → | PerseusPlease joins (~{mikey}@79.140.120.95) |
| 20:00:02 | <dminuoso> | For Text I'd love it, but sadly there's illplaced instances like `IsString ByteString` or `(a ~ Tokens s, IsString a, Eq a, Stream s, Ord e) => IsString (ParsecT e s m a)` |
| 20:00:14 | → | conal joins (~conal@64.71.133.70) |
| 20:00:32 | <ski> | (and i never learned the "proper touch typing", either. but i use more fingers than two, although pinkies not that often) |
| 20:00:33 | <tomsmeding> | how does "Other" have 212% of the votes |
| 20:00:33 | × | brettgilio quits (~brettgili@brettgilio.com) (Remote host closed the connection) |
| 20:00:57 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 20:01:07 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:01:39 | → | mokulus_ joins (~mat@176.111.230.96) |
| 20:02:12 | <maerwald> | tomsmeding: I don't have qwerty, I use workman, which is a modification of colemak, focussing on "finger roll" (same hand use during typing a word) |
| 20:02:41 | <koz_> | tomsmeding: Russia-style voting? |
| 20:02:48 | × | mokulus_ quits (~mat@176.111.230.96) (Read error: Connection reset by peer) |
| 20:02:58 | × | mokulus quits (~mat@176.111.230.96) (Ping timeout: 246 seconds) |
| 20:02:58 | → | mgalese joins (60e67243@pool-96-230-114-67.bstnma.fios.verizon.net) |
| 20:03:09 | × | notnatebtw quits (~nate@125.161.131.30) (Quit: WeeChat 2.9) |
| 20:03:11 | → | rprije joins (~rprije@194-193-168-77.tpgi.com.au) |
| 20:03:16 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
| 20:03:29 | <MarcelineVQ> | vote bald, vote not-bald, vote bald, vote not-bald? |
| 20:03:53 | <koz_> | MarcelineVQ: LOL, that, and winning elections with 110% of the vote. |
| 20:04:00 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 20:04:09 | <dminuoso> | koz_: Oh that sounds more like an US election then. |
| 20:04:15 | <MarcelineVQ> | Oh, that's everywhere :> |
| 20:04:26 | <koz_> | dminuoso: No, that's winning elections with _10%_ of the vote instead. |
| 20:04:55 | <dminuoso> | I wonder, has someone does the math what the lowest popular vote is one could have but still win the electoral college in the US? |
| 20:05:17 | <koz_> | dminuoso: Nate Silver might have? |
| 20:05:22 | <koz_> | It sounds on-brand for him. |
| 20:05:26 | → | alp joins (~alp@2a01:e0a:58b:4920:e0bd:5b09:72db:411d) |
| 20:05:36 | <mgalese> | https://www.npr.org/2016/11/02/500112248/how-to-win-the-presidency-with-27-percent-of-the-popular-vote |
| 20:05:57 | <mgalese> | Despite the slug, it's 23 percent |
| 20:05:58 | <MarcelineVQ> | y'all be trippin, this is a channel for talking about typing |
| 20:06:41 | → | chaosmasttter joins (~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de) |
| 20:06:50 | <dminuoso> | mgalese: Well and thats assuming faithful electors! |
| 20:06:53 | <tomsmeding> | typing on workman, evidently |
| 20:07:02 | <koz_> | MarcelineVQ: Yes. |
| 20:07:04 | <dminuoso> | Presumably you could get near 0% of the popular vote and still become president. |
| 20:07:10 | <koz_> | For more than one definition of 'typing'. |
| 20:07:13 | <dminuoso> | If all the electors were faithless |
| 20:07:16 | <mgalese> | And more on topic, --- is there a way to use Deriving Via with a specific member of a record? |
| 20:07:17 | <tomsmeding> | maybe I should switch to a better layout at some point but I probably won't |
| 20:07:17 | → | sawebb_ joins (~sawebb@75.115.195.184) |
| 20:07:35 | <koz_> | tomsmeding: I already needed almost a month to adjust to the layout differences of the ErgoDox EZ. |
| 20:07:45 | <koz_> | And that's only a _minor_ deviation from qwerty. |
| 20:07:50 | <mgalese> | As in, if I had a record with a member "seqNo :: SequenceNo", deriving an Ord instance based on the SequenceNo type |
| 20:07:55 | <koz_> | So I totally get why switching is hard. |
| 20:07:56 | → | mokulus_ joins (~mat@176.111.230.96) |
| 20:08:08 | <dminuoso> | mgalese: No, you derive via a different type that can be coerced to |
| 20:08:19 | → | ransom joins (c4264035@gateway/vpn/protonvpn/c4264035) |
| 20:08:28 | <dminuoso> | mgalese: So if there no Coercible between the two, then you cant have deriving via |
| 20:08:58 | <dminuoso> | And a field of a data does not have the same runtime representation as the struct holding it, unless it was the only member |
| 20:09:09 | <dminuoso> | s/struct/data/ |
| 20:09:35 | <dminuoso> | So you'd have to write out that instance by hand |
| 20:10:01 | hackage | haskell-gi-base 0.24.4 - Foundation for libraries generated by haskell-gi https://hackage.haskell.org/package/haskell-gi-base-0.24.4 (inaki) |
| 20:10:25 | × | idhugo quits (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 20:10:26 | × | invaser quits (~Thunderbi@31.148.23.125) (Quit: invaser) |
| 20:10:42 | <mgalese> | Yeah, I meant more "morally" like Deriving Via. It just feels wrong to have an instance definition where every member f is nothing more than f = f . field |
| 20:10:49 | × | solonarv quits (~solonarv@astrasbourg-653-1-117-122.w90-33.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
| 20:11:17 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 20:11:18 | <dminuoso> | Not that I know of generally. For single member instances you could rig TH easily |
| 20:11:31 | <dminuoso> | *single method |
| 20:11:33 | <dminuoso> | gosh |
| 20:11:45 | → | brettgilio joins (~brettgili@brettgilio.com) |
| 20:12:17 | <dminuoso> | mgalese: Ive grown used to it honestly. You happen to see this often with classy lenses. |
| 20:12:43 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 20:15:48 | → | christo joins (~chris@81.96.113.213) |
| 20:17:22 | <maerwald> | tomsmeding: I'm considering to switch to dvorak, because it's optimized for alternating hands, which, I believe, reduces strain in your hand, because typing a single word is always distributed over both hands |
| 20:17:59 | <maerwald> | that might be a bit slower than the rolling finger model, but you probably don't notice that below 60wpm anyway |
| 20:18:00 | <tomsmeding> | not knowing much about the space, that sounds better ergonomically, indeed |
| 20:18:02 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:9a5a:7320:1bda:4e7f) (Ping timeout: 264 seconds) |
| 20:18:42 | <maerwald> | and if you do programming at more than 60wpm, I'm not sure I want to run your code :) |
| 20:19:19 | <idnar> | maerwald: it also reduces hand travel distance which reduces wrist strain |
| 20:19:34 | <maerwald> | idnar: nah, workman has better travel distance than dvorak |
| 20:20:03 | <[exa]> | random though, possibly a dumb question-- is there some straighforward way to use lens-ish accessors on mutable stuff, like MVectors? |
| 20:20:27 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
| 20:20:27 | <koz_> | [exa]: You could write getters, but the setting half would be a problem. |
| 20:20:34 | <idnar> | maerwald: ah well, I assumed switching from qwerty |
| 20:20:46 | <koz_> | Since mutable 'setters' don't return a new structure, they return (). |
| 20:21:02 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 20:21:21 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 20:21:57 | <idnar> | maerwald: guess that's what I get jumping in late ;) |
| 20:22:12 | <maerwald> | idnar: another note is that workman is heavier on the left hand than dvorak |
| 20:23:07 | → | christo joins (~chris@81.96.113.213) |
| 20:26:09 | → | invaser1 joins (~Thunderbi@31.148.23.125) |
| 20:27:28 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 268 seconds) |
| 20:27:28 | × | ransom quits (c4264035@gateway/vpn/protonvpn/c4264035) (Ping timeout: 268 seconds) |
| 20:27:28 | invaser1 | is now known as invaser |
| 20:28:32 | <yushyin> | a different layout was not for me, I tried and failed hard :D. I was already used to write with 10finger touch typing. So I'm back to qwerty with a custom layer for symbols. |
| 20:29:16 | <maerwald> | switching was rather quick for me, but it's still several weeks of pain and non-productivity |
| 20:29:32 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:24ed:9b41:b671:d88b) |
| 20:29:34 | <maerwald> | also, how do you explain that to your colleagues? |
| 20:29:57 | <maerwald> | that you need 6x the time for a regular PR |
| 20:30:25 | × | PerseusPlease quits (~{mikey}@79.140.120.95) (Quit: Leaving) |
| 20:30:47 | <maerwald> | get half the salary for the transition period? :o |
| 20:31:33 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 20:31:41 | <maerwald> | might as well learn coding on a unicycle |
| 20:32:46 | <yushyin> | maerwald: but I'm quite happy with my symbols layer and make good use of it while programming https://paste.xinu.at/LBy8/#n66 |
| 20:32:48 | <maerwald> | (although, you might actually get funding for that, if you promise to make a youtube video about it) |
| 20:33:22 | <yushyin> | can recommend ^^ |
| 20:33:24 | <maerwald> | yushyin: here's my layout https://configure.ergodox-ez.com/ergodox-ez/layouts/LMBRq/latest/0 |
| 20:33:43 | <koz_> | [insert some kind of 'strong typing' joke here] |
| 20:34:41 | <yushyin> | maerwald: nice! |
| 20:38:36 | <maerwald> | yushyin: so basically, when you press your left ring finger, yo right hand homerow is on -<>= |
| 20:38:47 | <maerwald> | which is your most common haskell symbols |
| 20:38:51 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 20:39:52 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:40:34 | → | christo joins (~chris@81.96.113.213) |
| 20:42:41 | <yushyin> | true! unfortunately I write haskell the least often |
| 20:43:36 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 20:46:11 | → | christo joins (~chris@81.96.113.213) |
| 20:46:46 | <[exa]> | koz_: well technically setters can return the "reference" MVector |
| 20:46:55 | <koz_> | [exa]: Yeah, they could indeed. |
| 20:47:00 | <[exa]> | koz_: the problem is where to put the ordering effect |
| 20:47:19 | <koz_> | Yeah, that'd pose a problem. |
| 20:47:35 | <koz_> | Since you end up with 'm blah', and you need 'blah'. |
| 20:48:40 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 20:49:36 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 20:50:05 | × | brettgilio quits (~brettgili@brettgilio.com) (Quit: Long live IRC! <https://brettgilio.com>) |
| 20:50:15 | <[exa]> | hm, googling reveals `traverseOf` and `mapMOf` |
| 20:50:21 | <[exa]> | this is gonna be a long evening |
| 20:50:23 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 20:53:09 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 20:53:30 | → | wroathe_ joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 20:53:43 | → | brettgilio joins (~brettgili@brettgilio.com) |
| 20:53:47 | → | knupfer joins (~Thunderbi@200116b82ca86a0081cd9ea58e288a4a.dip.versatel-1u1.de) |
| 20:54:13 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 20:54:25 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 240 seconds) |
| 20:54:55 | × | wroathe_ quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Client Quit) |
| 20:55:02 | → | conal joins (~conal@64.71.133.70) |
| 20:55:09 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 20:55:35 | → | christo joins (~chris@81.96.113.213) |
| 20:56:50 | → | AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 20:58:37 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-czxukgvxykkjyknw) |
| 20:58:46 | → | dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net) |
| 21:00:01 | × | nerdboy1 quits (~nerdboy@154.13.1.56) () |
| 21:00:09 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 268 seconds) |
| 21:02:27 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 21:06:10 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
| 21:06:17 | → | christo joins (~chris@81.96.113.213) |
| 21:06:47 | × | mgalese quits (60e67243@pool-96-230-114-67.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 21:16:26 | <Tuplanolla> | Upon seeing the 2020 State of Haskell Survey, I realized I haven't really used Haskell in 2020. |
| 21:17:04 | × | Neo-- quits (~neo@188-230-154-134.dynamic.t-2.net) (Ping timeout: 240 seconds) |
| 21:17:12 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 21:17:34 | <suzu_> | what have you been using instead? |
| 21:17:48 | <Tuplanolla> | It has been a year of OCaml. |
| 21:18:19 | → | p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 21:19:02 | × | geekosaur quits (ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Remote host closed the connection) |
| 21:22:28 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 21:23:36 | → | christo joins (~chris@81.96.113.213) |
| 21:24:35 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 21:25:16 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 21:27:13 | × | nkly quits (~nkly@ip5b403944.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 21:27:19 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 21:28:20 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 21:28:50 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 21:29:45 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 268 seconds) |
| 21:29:51 | × | vnz quits (~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in) |
| 21:30:36 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 21:31:42 | → | vnz joins (~vnz@2001:bc8:604:94f::1) |
| 21:31:42 | × | vnz quits (~vnz@2001:bc8:604:94f::1) (Changing host) |
| 21:31:42 | → | vnz joins (~vnz@unaffiliated/vnz) |
| 21:33:33 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 21:36:41 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 21:37:29 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer) |
| 21:38:29 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 21:38:59 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 21:39:05 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 21:40:01 | hackage | integer-logarithms 1.0.3.1 - Integer logarithms. https://hackage.haskell.org/package/integer-logarithms-1.0.3.1 (phadej) |
| 21:41:18 | <Tuplanolla> | I hope to be pleasantly surprised when I pick Haskell up again. |
| 21:43:18 | <[exa]> | If you could change one thing about Haskell, what would it be? |
| 21:43:26 | <[exa]> | "one more compiler" |
| 21:43:50 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 21:44:15 | <Tuplanolla> | I want easily predictable performance from the compiler and the executables it produces. |
| 21:44:33 | <hpc> | both-directions-typesafe rust ffi |
| 21:44:35 | <Tuplanolla> | (Note that I did not say "good performance".) |
| 21:44:52 | <hpc> | (importing haskell in rust, and importing rust in haskell) |
| 21:46:14 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 21:46:19 | × | _xor quits (~xor@74.215.46.133) (Ping timeout: 260 seconds) |
| 21:48:29 | → | coot joins (~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl) |
| 21:49:33 | <maerwald> | Tuplanolla: I'm not sure easily predictable performance is even possible with lazy evaluation |
| 21:49:50 | <maerwald> | so it might not just be a compiler issue, but a language limitation |
| 21:50:43 | × | knupfer quits (~Thunderbi@200116b82ca86a0081cd9ea58e288a4a.dip.versatel-1u1.de) (Ping timeout: 268 seconds) |
| 21:50:48 | × | sawebb_ quits (~sawebb@75.115.195.184) (Read error: Connection reset by peer) |
| 21:50:54 | × | Franciman quits (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving) |
| 21:51:15 | → | sawebb_ joins (~sawebb@75.115.195.184) |
| 21:51:24 | <Tuplanolla> | Indeed. |
| 21:51:24 | × | xff0x quits (~fox@2001:1a81:5341:f200:676a:5a76:34ce:6dec) (Ping timeout: 240 seconds) |
| 21:51:39 | → | sfvm joins (~sfvm@37.228.215.148) |
| 21:51:49 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 21:51:52 | × | renzhi quits (~renzhi@2607:fa49:655f:e600::28da) (Ping timeout: 260 seconds) |
| 21:52:00 | <Tuplanolla> | That's the one thing I would change. |
| 21:52:09 | <maerwald> | lenient evaluation? |
| 21:52:32 | → | xff0x joins (~fox@2001:1a81:5341:f200:c657:86c0:ac7a:d369) |
| 21:54:53 | <Tuplanolla> | Get rid of lazy evaluation, if that's what it calls for. |
| 21:54:54 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 21:54:55 | → | hoppfull joins (55e07432@c-3274e055.19-9-64736c10.bbcust.telenor.se) |
| 21:56:10 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 21:56:47 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 21:56:51 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
| 21:57:19 | <davean> | Tuplanolla: why would you want that? |
| 21:57:26 | <davean> | Tuplanolla: You'd just want worse performance? |
| 22:00:26 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 22:00:31 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 22:00:35 | × | muesli4 quits (~noname@p200300e8472db800148b3a0117ef2d23.dip0.t-ipconnect.de) (Quit: Leaving) |
| 22:00:45 | <Tuplanolla> | I don't like surprises. |
| 22:01:28 | <davean> | Tuplanolla: vs. only good surprises? |
| 22:02:07 | <Tuplanolla> | That's not realistic. |
| 22:03:22 | <hoppfull> | I'm having some challenges with template haskell. I want to run a side effect during compilation. I know template haskell should be a last resort but it's an important part of my toolbox. I want to read a decode a json file and have its value checked and instantiated at compile time. So I have an effect loadmyfile :: IO MyType. I want to turn it |
| 22:03:22 | <hoppfull> | into MyType. So I was thinking I need to call $$(runIO loadmyfile) but I get error Expected type: Q (TExp HelloConfig) Actual type: Q HelloConfig. I don't know how to solve this. |
| 22:04:00 | hackage | bitcoind-rpc 0.2.0.0 - A streamlined interface to bitcoin core using Haskoin types and Servant https://hackage.haskell.org/package/bitcoind-rpc-0.2.0.0 (IanShipman) |
| 22:05:00 | hackage | bitcoind-regtest 0.2.0.0 - A library for working with bitcoin-core regtest networks https://hackage.haskell.org/package/bitcoind-regtest-0.2.0.0 (IanShipman) |
| 22:05:12 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:05:43 | <c_wraith> | hoppfull: if you're on a sufficiently new ghc, https://hackage.haskell.org/package/template-haskell-2.16.0.0/docs/Language-Haskell-TH-Syntax.html#v:liftTyped |
| 22:07:16 | <c_wraith> | hoppfull: if you're not on a sufficiently new version of GHC, you can combine lift (right above that) with the TExp constructor |
| 22:07:43 | <koz_> | If I'm trying to push a revision, what does this response from Hackage mean? 'The new x-revision must be 1' |
| 22:07:49 | <hoppfull> | c_wraith, thank you, I just created a new project and have lts-16.20. I think it's GHC-8.8.2 |
| 22:08:45 | × | dxld quits (~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) (Quit: Bye) |
| 22:09:03 | × | teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds) |
| 22:09:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 22:09:25 | × | xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds) |
| 22:09:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 22:10:15 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:10:22 | → | dxld joins (~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) |
| 22:15:15 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 22:15:37 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 22:20:35 | → | bennofs1 joins (~benno@dslb-094-222-054-143.094.222.pools.vodafone-ip.de) |
| 22:24:18 | × | coot quits (~coot@37.30.60.135.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 22:28:05 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 22:30:48 | × | elfets quits (~elfets@2002:25c9:1760:0:84de:a283:20:112f) (Read error: Connection reset by peer) |
| 22:31:21 | → | _xor joins (~xor@74.215.46.133) |
| 22:32:58 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:38:19 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:38:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:39:09 | <davean> | Tuplanolla: In my experience I can calculate performance as "How fast would the strict version be, ok thats the slowest it can be" |
| 22:39:40 | → | heebo joins (~user@cpc97956-croy24-2-0-cust20.19-2.cable.virginm.net) |
| 22:39:45 | → | hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 22:40:08 | <Tuplanolla> | You have never used the lazy state transformer by accident? |
| 22:40:51 | <davean> | No? |
| 22:41:23 | × | hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 22:42:23 | <Tuplanolla> | It's really easy to accumulate thunks with it, until you run out of working memory. |
| 22:43:45 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 22:44:11 | × | heebo quits (~user@cpc97956-croy24-2-0-cust20.19-2.cable.virginm.net) (Remote host closed the connection) |
| 22:48:33 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 22:49:45 | × | chaosmasttter quits (~chaosmast@p200300c4a72dee01c4c235ce0df4f033.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
| 22:50:10 | → | nkly joins (~nkly@ip5b40d080.dynamic.kabel-deutschland.de) |
| 22:50:28 | × | ski quits (~ski@nc-2504-30.studat.chalmers.se) (Ping timeout: 260 seconds) |
| 22:52:00 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 22:52:09 | → | ski joins (~ski@nc-2504-30.studat.chalmers.se) |
| 22:52:15 | <dolio> | I accidentally did that once like 15 years ago when I was first learning. Then it hasn't been a serious problem since. |
| 22:55:17 | <davean> | Also they're *semanticly* different |
| 22:55:24 | <davean> | so You just can't have the one when you're using the other |
| 22:55:30 | <davean> | Thats litterly different *meaning* of code |
| 22:55:47 | <davean> | So sure, if you implimented the Lazy State in strict, it also would perform the same way |
| 22:55:50 | <davean> | ask for what you mean |
| 22:55:52 | <davean> | thats ... all? |
| 22:56:12 | <dolio> | It might not have been accidental. I don't recall if there was a 'strict' one at the time. I don't really recall thinking it was a big deal, though. |
| 22:56:12 | <davean> | Like Strict and Lazy state are litterly entirely different things, conceptually. |
| 22:56:45 | <davean> | dolio: sure |
| 22:56:52 | <davean> | I'm more addressing Tuplanolla's point |
| 22:57:07 | <davean> | but comparing one alg in strict and an entirely different one in lazy isn't a comparison |
| 22:57:13 | → | strattog joins (~strattog@154.13.1.56) |
| 22:57:26 | <davean> | you should know which alg you're using, and you'll get the strict performance or better in a non-strict language. |
| 22:57:44 | <davean> | (Well, coefficients can differ, though not usually much - interesting discussion that) |
| 22:57:47 | → | teardown joins (~user@gateway/tor-sasl/mrush) |
| 22:58:22 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 22:58:57 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds) |
| 22:59:28 | <davean> | Shortest path is also faster than all-pairs shortest path, unless you want all pairs shortest path |
| 23:03:25 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 23:03:41 | × | totte quits (~totte@chakra/totte) (Ping timeout: 256 seconds) |
| 23:03:49 | × | LKoen quits (~LKoen@127.251.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:03:49 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 23:06:04 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-czxukgvxykkjyknw) (Quit: Connection closed for inactivity) |
| 23:06:37 | × | sawebb_ quits (~sawebb@75.115.195.184) (Ping timeout: 258 seconds) |
| 23:07:53 | <hoppfull> | I have a Q MyType. Is there no way of getting MyType out? Am I missing something here? Am I supposed to coerce it or something? runQ only seems to evaluate the expression at runtime. |
| 23:07:56 | → | totte joins (~totte@chakra/totte) |
| 23:08:23 | <dolio> | Q is a monad, right? |
| 23:09:35 | <hoppfull> | Yeah |
| 23:09:51 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 23:09:57 | <hoppfull> | So what's the point of template haskell? |
| 23:10:17 | <dolio> | To generate Haskell code programatically at compile time. |
| 23:10:17 | <hoppfull> | I got the impression I could read files and stuff on compile time with runIO |
| 23:13:48 | → | Guest_70 joins (0253f68a@bl22-246-138.dsl.telepac.pt) |
| 23:14:01 | × | ski quits (~ski@nc-2504-30.studat.chalmers.se) (Ping timeout: 264 seconds) |
| 23:15:39 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 23:16:04 | × | aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 240 seconds) |
| 23:16:25 | × | Guest_70 quits (0253f68a@bl22-246-138.dsl.telepac.pt) (Remote host closed the connection) |
| 23:16:50 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:44d9:76d7:3eb0:9793) (Ping timeout: 264 seconds) |
| 23:17:23 | <cheater> | that's not what runIO is for |
| 23:17:25 | <cheater> | :t runIO |
| 23:17:27 | <lambdabot> | error: Variable not in scope: runIO |
| 23:17:27 | <dolio> | Well, in the error message you mentioned above, it wasn't even complaining about the Q part, it was complaining that the things inside the Q didn't match. |
| 23:19:03 | × | hoppfull quits (55e07432@c-3274e055.19-9-64736c10.bbcust.telenor.se) (Remote host closed the connection) |
| 23:19:13 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-whgkwnxufenzozzn) (Quit: Connection closed for inactivity) |
| 23:19:14 | → | ski joins (~ski@nc-2504-30.studat.chalmers.se) |
| 23:21:26 | <dolio> | Ergo, you don't need to 'get something out' of Q, you need to use it like any other monad. |
| 23:22:24 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:955d:b3db:6b4c:c2ab) |
| 23:22:30 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-arvrrpvtmfjsqvdb) (Quit: Connection closed for inactivity) |
| 23:23:49 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 23:24:00 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 23:24:19 | × | ski quits (~ski@nc-2504-30.studat.chalmers.se) (Ping timeout: 260 seconds) |
| 23:24:27 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 268 seconds) |
| 23:24:49 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 2.9) |
| 23:24:55 | → | p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 23:25:58 | × | Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection) |
| 23:26:15 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:26:39 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 23:26:40 | → | Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer) |
| 23:28:24 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 23:28:42 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 23:31:42 | × | Tops21 quits (~Tobias@dyndsl-095-033-023-063.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 23:32:52 | × | son0p quits (~son0p@181.136.122.143) (Remote host closed the connection) |
| 23:34:03 | → | ski joins (~ski@nc-2504-30.studat.chalmers.se) |
| 23:35:45 | → | unihernandez22 joins (~Unai@168.197.200.20) |
| 23:36:54 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1) |
| 23:41:52 | → | argent0 joins (~argent0@168.227.96.4) |
| 23:42:10 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:43:09 | <unihernandez22> | Hi |
| 23:44:00 | hackage | GPipe-GLFW 1.4.1.4 - GLFW OpenGL context creation for GPipe https://hackage.haskell.org/package/GPipe-GLFW-1.4.1.4 (plredmond) |
| 23:44:01 | × | unihernandez22 quits (~Unai@168.197.200.20) (Quit: Leaving) |
| 23:44:44 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-kktozexnvkkmtbir) |
| 23:47:06 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 23:48:01 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 258 seconds) |
| 23:49:46 | × | thecoffemaker quits (~thecoffem@unaffiliated/thecoffemaker) (Ping timeout: 265 seconds) |
| 23:51:00 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
| 23:51:17 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 23:51:18 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 23:51:47 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
| 23:52:06 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 23:52:35 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
| 23:52:47 | → | thecoffemaker joins (~thecoffem@unaffiliated/thecoffemaker) |
| 23:54:44 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 23:58:56 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:59:51 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
All times are in UTC on 2020-11-01.