2021/07/06

2021-07-06 00:03:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 246 seconds)
2021-07-06 00:04:03 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 00:04:15 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 00:04:23 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Ping timeout: 252 seconds)
2021-07-06 00:04:47 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 00:07:04 +0200pragma-(~chaos@user/pragmatic-chaos) (Bye!)
2021-07-06 00:07:13 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Remote host closed the connection)
2021-07-06 00:07:28 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-06 00:08:14 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com)
2021-07-06 00:12:11 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com) (Client Quit)
2021-07-06 00:12:26 +0200gioyik_(~gioyik@gateway/tor-sasl/gioyik)
2021-07-06 00:12:40 +0200gioyik(~gioyik@gateway/tor-sasl/gioyik) (Remote host closed the connection)
2021-07-06 00:13:12 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com)
2021-07-06 00:13:19 +0200 <jle`> hi liberas :) finally moved my old irc client over heh
2021-07-06 00:13:48 +0200mud(~mud@user/kadoban) (Remote host closed the connection)
2021-07-06 00:14:15 +0200mud(~mud@user/kadoban)
2021-07-06 00:16:40 +0200 <monochrom> Ohai
2021-07-06 00:16:48 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-06 00:17:59 +0200dunj3(~dunj3@2001:16b8:3096:3300:4dca:422a:5d00:ed93) (Remote host closed the connection)
2021-07-06 00:18:53 +0200 <dsal> Ah man, jle` found us.
2021-07-06 00:20:59 +0200hexfive(~eric@50.35.83.177)
2021-07-06 00:21:11 +0200 <qrpnxz> doing --lib on a lib is the right thing
2021-07-06 00:21:38 +0200 <qrpnxz> if anything i should have to have to explicitly treat a lib as a non-lib
2021-07-06 00:21:46 +0200jippiedoe(~david@2a02-a44c-e14e-1-6669-b26a-4e02-b2d6.fixed6.kpn.net) (Ping timeout: 240 seconds)
2021-07-06 00:23:04 +0200 <jle`> i have been off irc in general for a while. had to get back on and thought it would a good opportunity
2021-07-06 00:23:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-06 00:23:42 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-07-06 00:23:52 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Quit: Leaving)
2021-07-06 00:24:20 +0200 <sm[m]> welcome back jle`
2021-07-06 00:24:21 +0200 <qrpnxz> welcome
2021-07-06 00:29:34 +0200 <jle`> ty sm qrpnxz
2021-07-06 00:30:45 +0200beka(~beka@104-244-27-23.static.monkeybrains.net)
2021-07-06 00:31:57 +0200 <Hecate> hiya jle`
2021-07-06 00:33:11 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-06 00:33:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-06 00:35:44 +0200 <jle`> hi Hecate :)
2021-07-06 00:36:27 +0200sayola1(~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de)
2021-07-06 00:37:48 +0200sayola(~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2021-07-06 00:38:32 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-06 00:39:46 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 00:46:41 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com) (WeeChat 2.7)
2021-07-06 00:48:19 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com)
2021-07-06 00:48:30 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-06 00:48:47 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 00:51:29 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-06 00:51:31 +0200ec(~ec@gateway/tor-sasl/ec)
2021-07-06 00:53:20 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-06 00:53:41 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 00:53:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 00:54:19 +0200GIANTWORLDKEEPR_(~pjetcetal@128-71-13-182.broadband.corbina.ru) (Ping timeout: 246 seconds)
2021-07-06 00:56:32 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-07-06 00:59:23 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-07-06 01:02:08 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-06 01:03:21 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 01:03:25 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 246 seconds)
2021-07-06 01:03:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 01:03:56 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-07-06 01:04:15 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-06 01:04:51 +0200cjb(~cjb@user/cjb)
2021-07-06 01:04:52 +0200sudden(~cat@h-98-128-128-173.A351.priv.bahnhof.se) (Changing host)
2021-07-06 01:04:52 +0200sudden(~cat@user/sudden)
2021-07-06 01:08:02 +0200o1lo01ol1o(~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Remote host closed the connection)
2021-07-06 01:08:05 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-06 01:09:14 +0200o1lo01ol1o(~o1lo01ol1@bl7-89-228.dsl.telepac.pt)
2021-07-06 01:11:04 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 01:17:39 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
2021-07-06 01:30:11 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-07-06 01:31:17 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 01:31:22 +0200acidjnk_new(~acidjnk@p200300d0c72b9556fc4d5c290a2b1a2d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-07-06 01:32:00 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 01:32:27 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-06 01:35:23 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal)
2021-07-06 01:38:09 +0200spider_spider
2021-07-06 01:38:31 +0200spiderspider_
2021-07-06 01:43:30 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 01:43:38 +0200cfebs(~cfebs@user/cfebs)
2021-07-06 01:44:01 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds)
2021-07-06 01:45:48 +0200spider_(~spider@vps-951ce37a.vps.ovh.ca) (Quit: WeeChat 2.9)
2021-07-06 01:46:19 +0200spider(~spider@vps-951ce37a.vps.ovh.ca)
2021-07-06 01:46:37 +0200spiderspider_
2021-07-06 01:46:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 01:47:02 +0200spider_spider
2021-07-06 01:47:15 +0200spiderspider_
2021-07-06 01:50:04 +0200 <Axman6> hey, welcome back jle`!
2021-07-06 01:50:10 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 244 seconds)
2021-07-06 01:51:01 +0200whiteline(~whiteline@c-cda8d954.54725-0-757473696b74.bbcust.telenor.se)
2021-07-06 01:51:05 +0200chris-the-slurpa(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-06 01:51:45 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 01:52:17 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-07-06 01:52:30 +0200tomku|twotomku
2021-07-06 01:54:31 +0200laguneucl(~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 246 seconds)
2021-07-06 01:55:11 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-06 01:55:57 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 01:56:09 +0200chris-the-slurpa(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-07-06 01:58:34 +0200spider_oldmate
2021-07-06 01:59:43 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 01:59:46 +0200dajoer(~david@user/gvx)
2021-07-06 02:00:31 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 02:02:14 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 02:02:47 +0200laguneucl(~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
2021-07-06 02:03:56 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 02:05:39 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 02:06:04 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-06 02:09:34 +0200laguneucl(~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 246 seconds)
2021-07-06 02:10:59 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 02:15:00 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 02:16:54 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-07-06 02:19:12 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-06 02:20:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-06 02:22:56 +0200oldmate(~spider@vps-951ce37a.vps.ovh.ca) (Changing host)
2021-07-06 02:22:56 +0200oldmate(~spider@user/oldmate)
2021-07-06 02:23:07 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-06 02:23:33 +0200finsternis(~X@23.226.237.192)
2021-07-06 02:27:00 +0200hiruji(~hiruji@user/hiruji) (Read error: Connection reset by peer)
2021-07-06 02:27:02 +0200hiruji`(~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6)
2021-07-06 02:27:25 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 246 seconds)
2021-07-06 02:30:25 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 02:30:52 +0200alx741(~alx741@186.178.108.123)
2021-07-06 02:31:47 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2021-07-06 02:38:52 +0200chris-the-slurpa(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-06 02:39:24 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 02:40:46 +0200thornAvery(~thorn@121.220.33.124)
2021-07-06 02:43:28 +0200chris-the-slurpa(~chris@81.96.113.213) (Read error: Connection reset by peer)
2021-07-06 02:43:40 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 02:45:46 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 02:45:50 +0200drewolson(~drewolson@user/drewolson)
2021-07-06 02:50:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 246 seconds)
2021-07-06 02:52:08 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-07-06 02:53:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-07-06 02:54:08 +0200GIANTWORLDKEEPR_(~pjetcetal@128-71-13-182.broadband.corbina.ru)
2021-07-06 02:57:55 +0200smichel17(~smichel@2601:193:8201:330::1) (Quit: smichel17)
2021-07-06 02:58:44 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
2021-07-06 02:58:45 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-06 03:01:46 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 03:03:48 +0200 <chris-the-slurpa> does anyone here know anything about block-chain?
2021-07-06 03:05:01 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-06 03:05:07 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
2021-07-06 03:05:17 +0200 <Axman6> Depends what your question is about
2021-07-06 03:05:37 +0200 <Axman6> I mean, the answer is categorically yes, but that's not a useful answer
2021-07-06 03:05:55 +0200 <spruit11> always neat to discuss!
2021-07-06 03:06:06 +0200 <spruit11> anyway, on the webs never ask to ask
2021-07-06 03:06:37 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2021-07-06 03:12:26 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-06 03:14:03 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 03:14:21 +0200 <chris-the-slurpa> Axman6: can it have multiple branches?
2021-07-06 03:14:28 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (Quit: ...)
2021-07-06 03:14:44 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2021-07-06 03:14:53 +0200 <chris-the-slurpa> i might have to invest making one for my project
2021-07-06 03:15:10 +0200 <chris-the-slurpa> to store a timeline of music
2021-07-06 03:17:42 +0200 <Axman6> Hmm, I'm trying to derive a class for a type where I need to specify a constraint on one of its type parameters. data JSONTable a f = JSONTable {rowId :: Column f Int; payload :: Column f a} <deriving Rel8able somehow> I need to be able to specify a constraint that a is an instance of DBType
2021-07-06 03:18:41 +0200dispater(~dispater@user/brprice) (Ping timeout: 272 seconds)
2021-07-06 03:19:05 +0200 <Axman6> chris-the-slurpa: a blockchain is basically just a tree or graph, so it can have branches if you want it to. Is suggest you look into Merkel trees and see that a blockchain is just a simplification of those, and any DAG can be represented with them (I think)
2021-07-06 03:20:19 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (Quit: ...)
2021-07-06 03:20:48 +0200 <chris-the-slurpa> thx Axman6 very helpful :) will look into merkel trees
2021-07-06 03:21:23 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2021-07-06 03:22:39 +0200gioyik_(~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 244 seconds)
2021-07-06 03:22:57 +0200 <geekosaur> Axman6, can you use standalone deriving for this? deriving DBType a => Rel8able (JSONTable a f) -- or something like that
2021-07-06 03:23:30 +0200gioyik_(~gioyik@gateway/tor-sasl/gioyik)
2021-07-06 03:24:46 +0200 <Axman6> I've tried deriving instance (DBType a) => Rel8able (DamlTable tableName a f) but get: • Expected kind ‘rel8-1.0.0.1:Rel8.Schema.Kind.Rel8able’, but ‘DamlTable tableName a f’ has kind ‘*’
2021-07-06 03:24:58 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 240 seconds)
2021-07-06 03:25:44 +0200 <geekosaur> that sounds like you're misusing Rel8able somehow
2021-07-06 03:25:55 +0200 <geekosaur> but I can't help much with kinds other than *
2021-07-06 03:26:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 03:27:05 +0200 <Axman6> so based on https://hackage.haskell.org/package/rel8-1.0.0.1/docs/Rel8.html#t:Rel8able, it shoudl be able to use the HKD instance for the type
2021-07-06 03:27:26 +0200dispater(~dispater@user/brprice)
2021-07-06 03:27:44 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-06 03:28:26 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2021-07-06 03:28:47 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-06 03:29:22 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-07-06 03:30:11 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 03:30:32 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-06 03:31:51 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (Quit: ...)
2021-07-06 03:31:53 +0200maf654321(~maf654321@user/maf654321) (Quit: Textual IRC Client: www.textualapp.com)
2021-07-06 03:32:58 +0200maf654321(~maf654321@user/maf654321)
2021-07-06 03:34:34 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 03:35:40 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2021-07-06 03:36:01 +0200xff0x(~xff0x@2001:1a81:5326:300:bf03:ba01:b458:4fad) (Ping timeout: 246 seconds)
2021-07-06 03:36:50 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
2021-07-06 03:38:00 +0200xff0x(~xff0x@2001:1a81:5361:2500:82d3:7394:61f1:d68f)
2021-07-06 03:39:04 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-06 03:39:15 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (Client Quit)
2021-07-06 03:39:57 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2021-07-06 03:41:50 +0200 <haskl> Anyone else a haskell intermediate and feel like, generally programming in haskell basically writes itself, but then you run into some 4d russian nesting doll scenario where you need to manipulate/twist which monads or functors/applicatives are inside which? It's fun but I'm still at the point where I have to pause and think or look at previous examples sometimes. `traverse` is a handy function, especially when used with `Either` to escape failing inside a
2021-07-06 03:41:50 +0200 <haskl> Maybe monad.
2021-07-06 03:44:22 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-06 03:44:34 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-07-06 03:45:44 +0200hegstal(~hegstal@2a02:c7f:7604:8a00:1a67:2b79:31fc:1012) (Remote host closed the connection)
2021-07-06 03:45:57 +0200 <Axman6> Can't say that's something I run into all that often, thoug it's been a while since I've been wokring with transformer stacks
2021-07-06 03:47:20 +0200neurocyte400(~neurocyte@213.188.113.203)
2021-07-06 03:47:20 +0200neurocyte400(~neurocyte@213.188.113.203) (Changing host)
2021-07-06 03:47:20 +0200neurocyte400(~neurocyte@user/neurocyte)
2021-07-06 03:49:03 +0200 <haskl> i honestly rarely end up using transformers so i always end up forgetting the little details
2021-07-06 03:49:40 +0200neurocyte40(~neurocyte@user/neurocyte) (Ping timeout: 268 seconds)
2021-07-06 03:49:40 +0200neurocyte400neurocyte40
2021-07-06 03:50:34 +0200 <Axman6> geekosaur: I've also tried ... deriving Rel8able via HKD (DamlTable tableName a f) but then get annot eta-reduce to an instance of form instance (...) => Rel8able (DamlTable tableName a)
2021-07-06 03:51:09 +0200maf654321mafdz
2021-07-06 03:51:40 +0200mafdzmaf654321
2021-07-06 03:53:41 +0200 <Axman6> huh, looks like this is enough: deriving instance Rel8able (DamlTable tableName a) :|
2021-07-06 03:54:35 +0200 <Axman6> or not, had other errors
2021-07-06 03:55:15 +0200 <Axman6> ah, deriving instance DBType a => Rel8able (DamlTable tableName a) did it :tada:
2021-07-06 03:58:10 +0200stefan-_(~cri@42dots.de) (Ping timeout: 240 seconds)
2021-07-06 04:00:39 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-07-06 04:01:46 +0200awth13(~user@user/awth13) (Remote host closed the connection)
2021-07-06 04:02:09 +0200stefan-_(~cri@42dots.de)
2021-07-06 04:03:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-06 04:04:02 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 04:04:10 +0200alx741(~alx741@186.178.108.123) (Ping timeout: 240 seconds)
2021-07-06 04:04:58 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Ping timeout: 240 seconds)
2021-07-06 04:05:52 +0200argento(~argent0@168-227-97-29.ptr.westnet.com.ar) (Quit: leaving)
2021-07-06 04:14:31 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 246 seconds)
2021-07-06 04:17:54 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 04:20:55 +0200alx741(~alx741@186.178.108.0)
2021-07-06 04:22:20 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 04:24:39 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-06 04:25:58 +0200td_(~td@muedsl-82-207-238-036.citykom.de) (Ping timeout: 258 seconds)
2021-07-06 04:27:51 +0200td_(~td@94.134.91.135)
2021-07-06 04:27:56 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 04:28:31 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
2021-07-06 04:29:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 04:30:16 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds)
2021-07-06 04:30:20 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-06 04:31:06 +0200derelict(~derelict@user/derelict) (Ping timeout: 240 seconds)
2021-07-06 04:32:10 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-07-06 04:33:07 +0200wei2912(~wei2912@112.199.250.21)
2021-07-06 04:40:51 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 04:41:47 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-06 04:46:10 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
2021-07-06 04:47:44 +0200thornAvery(~thorn@121.220.33.124) (Quit: WeeChat 3.2)
2021-07-06 04:48:36 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 04:49:41 +0200gioyik_gioyik
2021-07-06 04:50:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-06 04:51:22 +0200hammock(~Hammock@2600:1700:19a1:3330::625) (Ping timeout: 240 seconds)
2021-07-06 04:53:24 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-06 04:54:43 +0200alx741(~alx741@186.178.108.0) (Quit: alx741)
2021-07-06 04:57:29 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 04:58:16 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 05:03:02 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-06 05:05:14 +0200beka(~beka@104-244-27-23.static.monkeybrains.net) (Ping timeout: 252 seconds)
2021-07-06 05:09:45 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-06 05:10:47 +0200awth13(~user@user/awth13)
2021-07-06 05:10:52 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
2021-07-06 05:11:21 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-07-06 05:15:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 246 seconds)
2021-07-06 05:15:22 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 05:15:53 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com) (Read error: Connection reset by peer)
2021-07-06 05:16:39 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com)
2021-07-06 05:17:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 05:17:20 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 05:22:27 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-06 05:22:58 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2021-07-06 05:24:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-07-06 05:26:00 +0200sheepduck(~sheepduck@user/sheepduck)
2021-07-06 05:27:46 +0200sheepduck(~sheepduck@user/sheepduck) (Client Quit)
2021-07-06 05:28:34 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-07-06 05:36:36 +0200gentauro(~gentauro@user/gentauro) (Ping timeout: 265 seconds)
2021-07-06 05:37:55 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 05:38:06 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-06 05:42:12 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 05:46:33 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 05:48:08 +0200gentauro(~gentauro@user/gentauro)
2021-07-06 05:50:26 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-06 05:53:54 +0200oxide(~lambda@user/oxide) (Ping timeout: 252 seconds)
2021-07-06 05:55:52 +0200oxide(~lambda@user/oxide)
2021-07-06 05:56:14 +0200a1paca(~a1paca@user/a1paca)
2021-07-06 05:58:05 +0200 <jle`> Axman6: thanks :)
2021-07-06 06:02:26 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-06 06:02:26 +0200hiruji`(~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6) (Ping timeout: 252 seconds)
2021-07-06 06:02:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 06:04:05 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-06 06:09:48 +0200vicfred(~vicfred@user/vicfred)
2021-07-06 06:10:07 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 06:10:36 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 06:20:45 +0200tomku(~tomku@user/tomku) (Ping timeout: 268 seconds)
2021-07-06 06:22:14 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-06 06:22:32 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 06:24:23 +0200tomku(~tomku@user/tomku)
2021-07-06 06:24:53 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-06 06:26:30 +0200ephemient(uid407513@id-407513.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-06 06:29:23 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
2021-07-06 06:36:03 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 265 seconds)
2021-07-06 06:37:45 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-06 06:41:08 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 06:41:41 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
2021-07-06 06:45:20 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-07-06 06:50:20 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 06:54:34 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 07:00:43 +0200v01d4lph4(~v01d4lph4@122.160.65.250)
2021-07-06 07:00:43 +0200v01d4lph4(~v01d4lph4@122.160.65.250) (Changing host)
2021-07-06 07:00:43 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-07-06 07:01:22 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-07-06 07:05:19 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Ping timeout: 246 seconds)
2021-07-06 07:05:31 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-07-06 07:06:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 07:07:08 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
2021-07-06 07:08:04 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-06 07:11:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-07-06 07:19:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 07:19:48 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 07:21:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-06 07:23:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-06 07:30:10 +0200xff0x(~xff0x@2001:1a81:5361:2500:82d3:7394:61f1:d68f) (Ping timeout: 240 seconds)
2021-07-06 07:30:27 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-06 07:30:53 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df)
2021-07-06 07:34:38 +0200xff0x(~xff0x@2001:1a81:5361:2500:4d08:33c2:418c:342f)
2021-07-06 07:34:50 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-06 07:35:04 +0200warnz(~warnz@2600:1700:77c0:5610:20b2:48fc:c4b7:f8df) (Ping timeout: 246 seconds)
2021-07-06 07:42:44 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-06 07:43:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-07-06 07:48:29 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-07-06 07:49:50 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Client Quit)
2021-07-06 08:02:37 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2021-07-06 08:02:54 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Client Quit)
2021-07-06 08:05:58 +0200Oxytocin(~alloca@2a03:4000:f:7ca:7407:d1ff:fe34:8cd0) (Changing host)
2021-07-06 08:05:58 +0200Oxytocin(~alloca@user/suppi)
2021-07-06 08:07:33 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 08:08:09 +0200Oxytocinoxytocat
2021-07-06 08:10:16 +0200chris-the-slurpa(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-06 08:10:53 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 08:13:21 +0200pfurla_(~pfurla@64.145.79.220)
2021-07-06 08:14:58 +0200chris-the-slurpa(~chris@81.96.113.213) (Ping timeout: 240 seconds)
2021-07-06 08:15:27 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca)
2021-07-06 08:15:39 +0200timCF(~timCF@m91-129-103-49.cust.tele2.ee) (Ping timeout: 252 seconds)
2021-07-06 08:16:02 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Read error: Connection reset by peer)
2021-07-06 08:16:54 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-07-06 08:18:32 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-06 08:19:23 +0200pfurla_(~pfurla@64.145.79.220) (Ping timeout: 252 seconds)
2021-07-06 08:27:34 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 246 seconds)
2021-07-06 08:27:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-06 08:28:11 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-06 08:31:03 +0200xff0x(~xff0x@2001:1a81:5361:2500:4d08:33c2:418c:342f) (Ping timeout: 252 seconds)
2021-07-06 08:31:51 +0200xff0x(~xff0x@2001:1a81:5361:2500:e6bd:1cbc:a2b0:ac6c)
2021-07-06 08:35:37 +0200fengctor(~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer)
2021-07-06 08:39:32 +0200fendor_(~fendor@178.165.128.32.wireless.dyn.drei.com)
2021-07-06 08:40:59 +0200michalz(~michalz@185.246.204.121)
2021-07-06 08:42:03 +0200fendor(~fendor@178.165.131.8.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-07-06 08:49:37 +0200jneira(~jneira@212.8.115.226)
2021-07-06 08:52:55 +0200Franciman(~francesco@openglass.it)
2021-07-06 08:53:13 +0200 <Franciman> I want to thank the Haskell Foundation for their brillant idea of promoting github
2021-07-06 08:53:35 +0200 <Franciman> now thanks to the Copilot software, everything can be stolen and used in propertary software
2021-07-06 08:53:36 +0200 <Franciman> thank you HF
2021-07-06 08:54:01 +0200derelict(~derelict@user/derelict)
2021-07-06 08:56:27 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-06 08:57:46 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 08:59:27 +0200 <Hecate> ok
2021-07-06 08:59:59 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-07-06 09:02:38 +0200pfurla_(~pfurla@185.108.105.198)
2021-07-06 09:02:54 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-06 09:04:03 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Read error: Connection reset by peer)
2021-07-06 09:05:08 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee)
2021-07-06 09:05:11 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee) (Client Quit)
2021-07-06 09:05:44 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-07-06 09:07:47 +0200pfurla_(~pfurla@185.108.105.198) (Ping timeout: 252 seconds)
2021-07-06 09:09:55 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-06 09:11:38 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 09:13:24 +0200aman(~aman@user/aman)
2021-07-06 09:14:02 +0200 <dminuoso> Being able to steal was possible before too..
2021-07-06 09:14:56 +0200 <dminuoso> It's just that copilot drastically reduces the barrier of creating derivative works, without even knowing about it. Honestly, I'd rather worry the other way around:
2021-07-06 09:15:03 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-07-06 09:15:17 +0200 <Franciman> I will use copilot to create a gplv3 version of stack
2021-07-06 09:15:22 +0200 <dminuoso> I can see copilot being banned in corporate use everywhere, simply because it makes you liable for licesing violations.
2021-07-06 09:15:27 +0200 <Franciman> and will try to sue stack in any way possible
2021-07-06 09:15:39 +0200 <dminuoso> This is not how licensing works.
2021-07-06 09:16:05 +0200 <Franciman> I just need to implement one of their things before they do
2021-07-06 09:16:09 +0200 <Franciman> and they get sued
2021-07-06 09:16:14 +0200 <dminuoso> You dont need copiot for that.
2021-07-06 09:16:17 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-06 09:16:22 +0200 <dminuoso> You can simply.. you know.. write software and then license it.
2021-07-06 09:16:27 +0200 <Franciman> ehm
2021-07-06 09:16:36 +0200 <Franciman> I can't change bsd3 to gplv3
2021-07-06 09:16:44 +0200 <dminuoso> And copilot cant help you do this either.
2021-07-06 09:16:50 +0200 <Franciman> it can
2021-07-06 09:16:53 +0200 <dminuoso> No it cant.
2021-07-06 09:17:03 +0200 <Franciman> why
2021-07-06 09:17:09 +0200 <Franciman> i saw the quake 3 example
2021-07-06 09:17:17 +0200 <Franciman> of 1/sqrt(x)
2021-07-06 09:17:21 +0200 <dminuoso> You seem to grossly misunderstand how licensing works.
2021-07-06 09:17:26 +0200 <Franciman> yeah probably
2021-07-06 09:17:41 +0200 <Franciman> but the haskell foundation accepted to give up the haskell community to data miners that mine our info for their profit
2021-07-06 09:17:49 +0200 <dminuoso> If you use copilot, the problem is that it makes *you* liable.
2021-07-06 09:18:21 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 09:18:43 +0200 <Franciman> I should read copilot's license for the code it produces
2021-07-06 09:18:55 +0200 <dminuoso> Say you use copilot and write some code that you yourself license with BSD-3. If copilot injects code sourced from GPL licensed code, you're suddenly in the tough spot because the liencese is incompatible
2021-07-06 09:19:06 +0200 <Franciman> but if I have a tool that gives me lines of code I can lincese as I like
2021-07-06 09:19:06 +0200 <dminuoso> This is not about what copilot is licensed with
2021-07-06 09:19:11 +0200 <Franciman> I am not doing derivative work
2021-07-06 09:19:11 +0200 <dminuoso> but about what *you* release.
2021-07-06 09:19:14 +0200 <Franciman> I am not modifying code
2021-07-06 09:19:14 +0200 <dminuoso> Ues you are.
2021-07-06 09:19:16 +0200 <dminuoso> Yes you are.
2021-07-06 09:19:25 +0200 <Franciman> is it derivative if I don't know about it?
2021-07-06 09:19:44 +0200 <dminuoso> Welcome to the legal system. It just takes a lawyer to argue that it is.
2021-07-06 09:19:48 +0200 <dminuoso> And that's the probelm
2021-07-06 09:19:55 +0200 <dibblego> applying reason to law
2021-07-06 09:20:13 +0200 <dminuoso> I will not use copilot for no reason other than I dont want to get sued.
2021-07-06 09:20:24 +0200fendor_fendor
2021-07-06 09:20:33 +0200Nyeogmi(~Nyeogmi@user/nyeogmi) (Ping timeout: 252 seconds)
2021-07-06 09:20:40 +0200 <Franciman> i will not use github
2021-07-06 09:20:47 +0200 <Franciman> because it is a damn toilet
2021-07-06 09:21:13 +0200 <dminuoso> Franciman: Consider this: can you even prove that a) copilot wrote the code and not you, and b) do you think this distinction is really relevant - you as the publisher are probably responsible, you cant move the liability to the tools you use.
2021-07-06 09:21:27 +0200 <dminuoso> Consider: using ctrl+c/v makes you liable, even though its the computer doing the copying..
2021-07-06 09:21:36 +0200 <dminuoso> It just takes a lawyer to make exactly this argument, and convince a judge
2021-07-06 09:21:53 +0200 <Franciman> i would be liable if I knew that copilot copies code
2021-07-06 09:21:57 +0200 <Franciman> this is true
2021-07-06 09:21:58 +0200 <Franciman> and I know it
2021-07-06 09:22:04 +0200 <dminuoso> This is not how legal systems work.
2021-07-06 09:22:12 +0200pippijn(~pippijn@ra.xinutec.org) (Ping timeout: 272 seconds)
2021-07-06 09:22:16 +0200 <Franciman> woot
2021-07-06 09:22:21 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2021-07-06 09:22:26 +0200 <dminuoso> ignorantia legis non excusat
2021-07-06 09:22:31 +0200 <dminuoso> A core principle in most legal systems.
2021-07-06 09:22:34 +0200oxide(~lambda@user/oxide) (Ping timeout: 240 seconds)
2021-07-06 09:22:35 +0200 <Franciman> it is different in this case
2021-07-06 09:22:37 +0200 <dminuoso> No its not.
2021-07-06 09:22:39 +0200 <Franciman> copyright is about copying
2021-07-06 09:22:39 +0200 <dminuoso> Ignorantia legis non excusat
2021-07-06 09:22:40 +0200psydroid(~psydroid@user/psydroid) (Ping timeout: 246 seconds)
2021-07-06 09:22:53 +0200 <dminuoso> You have to argue this in court, not here.
2021-07-06 09:22:54 +0200ec(~ec@gateway/tor-sasl/ec)
2021-07-06 09:22:59 +0200 <Franciman> ok
2021-07-06 09:23:02 +0200 <Franciman> fuck haskell
2021-07-06 09:23:03 +0200 <Franciman> fuck haskell foundation
2021-07-06 09:23:05 +0200 <Franciman> fuck this shithole
2021-07-06 09:23:18 +0200 <Franciman> bye
2021-07-06 09:23:20 +0200 <keltono> ok
2021-07-06 09:23:22 +0200maralorn(~maralorn@2001:470:69fc:105::251) (Ping timeout: 246 seconds)
2021-07-06 09:23:26 +0200Franciman(~francesco@openglass.it) (WeeChat 2.3)
2021-07-06 09:23:31 +0200oxide(~lambda@user/oxide)
2021-07-06 09:23:52 +0200 <dminuoso> And chances are, if a team of well paid oracle lawyers sits in front of you, you're ruined either by the 3 years of legal bills trying to fight this, or by punitive damages..
2021-07-06 09:24:07 +0200 <dminuoso> So yeah. Not going to use copilot.
2021-07-06 09:24:14 +0200Franciman(~francesco@openglass.it)
2021-07-06 09:24:18 +0200 <Franciman> sorry ppl ^^'
2021-07-06 09:24:29 +0200 <dminuoso> Franciman: 09:23:52 dminuoso | And chances are, if a team of well paid oracle lawyers sits in front of you, you're ruined either by the 3 years of legal bills trying to fight this, or by punitive damages..
2021-07-06 09:26:41 +0200 <Franciman> yeah makes sense
2021-07-06 09:26:50 +0200 <Franciman> so basically we don't need to worry
2021-07-06 09:26:59 +0200 <Axman6> O I thought we were done with this nonsense
2021-07-06 09:28:50 +0200 <dminuoso> The potential damage copilot will do to some companies and even peopple is going to be interesting. It'll probably take a few years, but the copyright trolls will come.
2021-07-06 09:29:02 +0200 <Axman6> Yo're reminding me of the nonsense people say about patents, the amount of patently (heh) incorrect opinions about IP law on the internet is astounding
2021-07-06 09:29:18 +0200 <dminuoso> Axman6: Me?
2021-07-06 09:29:26 +0200 <Franciman> nah
2021-07-06 09:29:32 +0200 <Franciman> they refer about me
2021-07-06 09:30:16 +0200 <Franciman> but still github is a closed toilet. You never know what you find in a closed toilet
2021-07-06 09:30:24 +0200 <Franciman> but most of the time it stinks a lot
2021-07-06 09:30:25 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 09:30:31 +0200 <dminuoso> "intellectual property" is quite the term though. The proprietary software lobby has coined a really non-sense term there..
2021-07-06 09:31:10 +0200 <Franciman> I laugh when snoyman says that github is the most beginner friendly solution, because it is what everybody uses, so it is familiar
2021-07-06 09:31:12 +0200 <Franciman> and he created stack
2021-07-06 09:31:20 +0200 <Franciman> with a radically different interface from cabal
2021-07-06 09:31:22 +0200 <Franciman> :D
2021-07-06 09:31:27 +0200 <Franciman> so he must have a secret agenda here
2021-07-06 09:34:51 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 09:36:08 +0200acidjnk_new(~acidjnk@p200300d0c72b9556fc4d5c290a2b1a2d.dip0.t-ipconnect.de)
2021-07-06 09:36:34 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-07-06 09:37:01 +0200kadoban(~kadoban@user/kadoban) (Ping timeout: 246 seconds)
2021-07-06 09:38:55 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-06 09:41:12 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 09:41:55 +0200cfricke(~cfricke@user/cfricke)
2021-07-06 09:42:16 +0200peddie(~peddie@2001:470:69fc:105::25d) (Ping timeout: 246 seconds)
2021-07-06 09:43:04 +0200chele(~chele@user/chele)
2021-07-06 09:43:09 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net) (Quit: ZNC - http://znc.in)
2021-07-06 09:43:14 +0200cfricke(~cfricke@user/cfricke) (Client Quit)
2021-07-06 09:43:42 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net)
2021-07-06 09:45:22 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 09:45:23 +0200 <Axman6> I don't even understand the context that has sparked this bizarre rant Franciman, did the HF do something? Like... most of the haskell infrastructure code (GHC, cabal etc) is licensed under actually free licences like MIT... I don't even
2021-07-06 09:46:57 +0200cfricke(~cfricke@user/cfricke)
2021-07-06 09:47:16 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net) (Client Quit)
2021-07-06 09:48:41 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-06 09:48:52 +0200 <Axman6> I've been using TabNine, which is similar to GitHub Copilot for ages, and the code it suggests is generally predictable, repetitive code - for a bunch of similar fields in a record that you set and extract from the same place? when you write { foo = foo someRecord; bar = bar someRecord, baz = , it will suggest bar someRecord.
2021-07-06 09:49:35 +0200sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at)
2021-07-06 09:49:43 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-06 09:51:37 +0200anandprabhu(~anandprab@94.202.243.198)
2021-07-06 09:51:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 09:54:03 +0200merijn(~merijn@195.114.232.94)
2021-07-06 09:54:32 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-06 09:55:14 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 09:55:47 +0200laguneucl(~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
2021-07-06 09:56:11 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 09:56:23 +0200 <nshepperd2> they seem to have confused cabal with github, somehow
2021-07-06 09:59:21 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-07-06 09:59:29 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-07-06 10:00:40 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-07-06 10:00:56 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-06 10:02:47 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-06 10:06:35 +0200hendursa1(~weechat@user/hendursaga)
2021-07-06 10:06:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8d61:6b28:cf93:c1c5) (Remote host closed the connection)
2021-07-06 10:07:43 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-07-06 10:09:48 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-06 10:11:25 +0200cjb(~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
2021-07-06 10:11:39 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 10:16:06 +0200 <dminuoso> Axman6: Are you not worried about possible licensing violations? I dont think it's far fetched to consider output of a language regression model to be derivative work of its training data.
2021-07-06 10:17:30 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-06 10:17:56 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-06 10:19:07 +0200 <dminuoso> Just consider consider Oracle v. Google - for a summary see https://majadhondt.wordpress.com/2012/05/16/googles-9-lines/
2021-07-06 10:20:16 +0200derelict(~derelict@user/derelict) (Ping timeout: 246 seconds)
2021-07-06 10:21:47 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-07-06 10:22:09 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2021-07-06 10:24:27 +0200Lord_of_Life_Lord_of_Life
2021-07-06 10:25:32 +0200fef(~thedawn@user/thedawn)
2021-07-06 10:26:39 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-06 10:28:42 +0200 <boxscape> dminuoso: AFAIU if you write code that happens to be an exact copy of other code, but you didn't have access to that code, you are not violating that code's license or copyright, but of course that doesn't apply to code made with copilot since it had access to the original code
2021-07-06 10:29:08 +0200dunj3(~dunj3@2001:16b8:30db:ce00:b825:b46d:5278:e0d1)
2021-07-06 10:29:14 +0200jonathanx(~jonathan@94.234.34.169)
2021-07-06 10:29:29 +0200 <[exa]> this thing with copilot reminds me the old SCO vs linux fuss
2021-07-06 10:30:05 +0200 <[exa]> where they were pointing out that linux copied the precise header file boilerplate
2021-07-06 10:30:58 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds)
2021-07-06 10:33:16 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-07-06 10:37:13 +0200Adran(adran@botters/adran) (Quit: Este é o fim.)
2021-07-06 10:38:26 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
2021-07-06 10:38:42 +0200boxscape(~boxscape@user/boxscape) (Quit: Reconnecting)
2021-07-06 10:38:44 +0200fef(~thedawn@user/thedawn) (Ping timeout: 244 seconds)
2021-07-06 10:38:53 +0200Adran(~adran@botters/adran)
2021-07-06 10:40:51 +0200oxide(~lambda@user/oxide) (Ping timeout: 252 seconds)
2021-07-06 10:41:31 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-06 10:41:39 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2021-07-06 10:45:37 +0200zincy__(~tom@2a00:23c8:9700:8001:6c68:60ee:e6e9:8a4c)
2021-07-06 10:49:55 +0200zincy(~tom@2a00:23c8:9700:8001:254e:b3c4:89f3:610b) (Ping timeout: 268 seconds)
2021-07-06 10:51:18 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2021-07-06 10:56:59 +0200acidjnk_new(~acidjnk@p200300d0c72b9556fc4d5c290a2b1a2d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-07-06 10:57:25 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
2021-07-06 11:05:37 +0200 <dminuoso> boxscape_: Good luck demonstrating that you didn't have access to the millions of *public* repositories the regression model was trained with.
2021-07-06 11:06:36 +0200 <boxscape_> dminuoso as I said, I don't think that argument applies anyway if you use that model. But yes, even if you don't use it, it's hard to argue that you don't have access to a particular piece of code if it's on github.
2021-07-06 11:06:46 +0200acidjnk_new(~acidjnk@p200300d0c72b9556fc4d5c290a2b1a2d.dip0.t-ipconnect.de)
2021-07-06 11:07:01 +0200derelict(~derelict@user/derelict)
2021-07-06 11:07:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 11:09:17 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-06 11:09:34 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-06 11:10:16 +0200 <dminuoso> *autogressive model. not regression model. :(
2021-07-06 11:10:52 +0200jippiedoe(~david@2a02-a44c-e14e-1-5a8-355f-5351-e147.fixed6.kpn.net)
2021-07-06 11:11:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 240 seconds)
2021-07-06 11:11:40 +0200 <dminuoso> From experience, licensing and copyright is something that is of little interest so plenty of modern young developers...
2021-07-06 11:14:57 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2021-07-06 11:15:11 +0200ubert(~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33)
2021-07-06 11:16:06 +0200Ynphea(~Ynphea@91-167-193-106.subs.proxad.net)
2021-07-06 11:17:50 +0200xkuru(~xkuru@user/xkuru)
2021-07-06 11:18:27 +0200pippijn(~pippijn@ra.xinutec.org)
2021-07-06 11:21:01 +0200aman(~aman@user/aman) (Remote host closed the connection)
2021-07-06 11:21:26 +0200aman(~aman@user/aman)
2021-07-06 11:23:05 +0200Ynphea(~Ynphea@91-167-193-106.subs.proxad.net) (Quit: Connection closed)
2021-07-06 11:26:44 +0200 <[exa]> dminuoso: re "access" -- if you live in a cardboard box with no internet, someone dictates you GPL'd code and you write it down and ship it without licensing, is that a violation? (also, who did the violation?)
2021-07-06 11:26:58 +0200laguneucl(~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 240 seconds)
2021-07-06 11:29:06 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-06 11:30:19 +0200 <merijn> [exa]: This sounds like a common techie fallacy
2021-07-06 11:30:43 +0200 <merijn> "imagining the law like a set of machine interpreted instructions as if a judge won't see straight through your bullshit" :p
2021-07-06 11:30:55 +0200 <tdammers> yeah, that
2021-07-06 11:31:04 +0200 <merijn> Is what you just described a license violation? Yes, obviously.
2021-07-06 11:31:13 +0200 <merijn> Who committed it? Probably you both
2021-07-06 11:31:20 +0200xff0x(~xff0x@2001:1a81:5361:2500:e6bd:1cbc:a2b0:ac6c) (Ping timeout: 252 seconds)
2021-07-06 11:31:27 +0200 <merijn> Maybe just the person dictating if he got you to cooperate under false pretenses
2021-07-06 11:31:40 +0200 <tdammers> https://ansuz.sooke.bc.ca/entry/23 <- relevant reading
2021-07-06 11:31:43 +0200__monty__(~toonn@user/toonn)
2021-07-06 11:32:05 +0200xff0x(~xff0x@2001:1a81:5361:2500:9aff:3f7d:a108:43b8)
2021-07-06 11:32:12 +0200acidjnk_new(~acidjnk@p200300d0c72b9556fc4d5c290a2b1a2d.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2021-07-06 11:32:22 +0200 <merijn> tdammers: I skipped past the beginning and was like "this sounds like Paranoia..."
2021-07-06 11:32:34 +0200 <merijn> Scroll back up "ah, it *is* talking about Paranoia!"
2021-07-06 11:32:35 +0200acidjnk_new(~acidjnk@p200300d0c72b9556fc4d5c290a2b1a2d.dip0.t-ipconnect.de)
2021-07-06 11:33:06 +0200 <tdammers> yes, as an illustrative example
2021-07-06 11:34:05 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-06 11:34:07 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Quit: Connection closed)
2021-07-06 11:34:35 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
2021-07-06 11:34:44 +0200 <merijn> Paranoia seems like a great game and one of these days I will run a campaign :)
2021-07-06 11:34:57 +0200 <tdammers> but the gist of it: it is possible that you have two files that are bit-for-bit identical, and you can legally copy one, but not the other
2021-07-06 11:35:47 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-06 11:35:56 +0200 <dminuoso> This is why the concept of "intellectual property" is weird and flawed.
2021-07-06 11:35:59 +0200 <[exa]> merijn: for me it's a straightforward model for the copyright problem with the scrapped code
2021-07-06 11:36:54 +0200 <tdammers> dminuoso: I don't think this is the core of what's wrong about intellectual property
2021-07-06 11:36:55 +0200 <[exa]> certainly not trying to push for copyright there, but you know, just giving credit to original authors
2021-07-06 11:37:12 +0200 <dminuoso> tdammers: Let me rephrase, it's one reason why it's weird and flawed.
2021-07-06 11:37:26 +0200 <dminuoso> Or perhaps a consequence of being weird.
2021-07-06 11:37:31 +0200 <[exa]> can the generator list the authors of the code that "inspired" the output? That would work.
2021-07-06 11:37:39 +0200 <tdammers> dminuoso: I would say it's a symptom, and just removing the "coloredness" wouldn't make things any better
2021-07-06 11:38:31 +0200 <merijn> Counter-point: Humans and weird and flawed, so any system designed by humans automatically ends up being weird and flawed too
2021-07-06 11:38:43 +0200 <tdammers> think about it. if you had a file on your computer that you generated randomly, but it happens to coincide with a similar file on someone else's computer that has copyright on it, a file that you have no idea even existed, a file that has never been anywhere near your computer - you'd still be committing copyright infringement
2021-07-06 11:39:31 +0200 <tdammers> what's really flawed is the entire concept of copyright itself, that is, the idea that whoever created a "work" should get the ultimate say in who is allowed to make copies and derived works of it
2021-07-06 11:39:45 +0200 <[exa]> tdammers: not really (except you'd be jailed as false negative anyway)
2021-07-06 11:39:54 +0200krz3si(~szara@2a02:a31c:853b:b780:df0:1631:dcb9:4e4f)
2021-07-06 11:40:27 +0200 <tdammers> [exa]: I'm talking about a hypothetical world in which copyright law doesn't care about "color", that is, copyright law only looks at the actual bits and bytes, not how they came about
2021-07-06 11:40:57 +0200 <tdammers> [exa]: in reality, the law *does* look at those things, which is why it is possible to have two identical files and hold the copyright for one of them but not the other
2021-07-06 11:41:00 +0200 <dminuoso> [exa]: If a court rules you are guilty, you are guilty.
2021-07-06 11:41:13 +0200 <boxscape_> hm I wonder if there's any legal precedence about the minimum number of bits a work needs to have to be copyrightable
2021-07-06 11:41:15 +0200 <dminuoso> The law does not care about facts, just about what can be argued and proven.
2021-07-06 11:41:31 +0200 <dminuoso> Legally speaking, there's no innocent people in jail.
2021-07-06 11:41:32 +0200 <[exa]> interesting
2021-07-06 11:41:43 +0200 <dminuoso> They are in jail precisely because they have been ruled to be guilty.
2021-07-06 11:41:48 +0200 <tdammers> boxscape_: there isn't, because there is no such number. what is copyrightable is not so much a matter of file size or theoretical information content, what matters is that it is "recognizable"
2021-07-06 11:41:55 +0200 <boxscape_> hm I see
2021-07-06 11:41:58 +0200 <tdammers> or "significant", or whatever
2021-07-06 11:42:21 +0200 <tdammers> in a nutshell, if a typical human would say that it looks like it's derived, then it is
2021-07-06 11:42:33 +0200 <boxscape_> okay
2021-07-06 11:42:38 +0200 <[exa]> do we have some chance to legally separate the mechanism (copyright&licensing) from the actual civilized aims (giving credit)?
2021-07-06 11:42:45 +0200 <tdammers> and one important reason why raw information content is irrelevant is because is also depends on cultural context
2021-07-06 11:43:00 +0200gioyik(~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.1)
2021-07-06 11:43:30 +0200 <tdammers> "Giving credits" is not the aim. Moral rights cover that.
2021-07-06 11:43:57 +0200 <[exa]> "moral rights" ?
2021-07-06 11:44:16 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 246 seconds)
2021-07-06 11:44:22 +0200 <[exa]> (these technically exist?)
2021-07-06 11:44:35 +0200 <tdammers> Yes. As the creator of a work, you get to say how it may be used, and you are entitled to being credited as the author. Those are called "moral rights", and they are independent from copyright
2021-07-06 11:45:05 +0200maf654321(~maf654321@user/maf654321) (Ping timeout: 252 seconds)
2021-07-06 11:45:29 +0200 <tdammers> I can sell the copyright to a song I wrote, and that means I can no longer distribute copies of it in any way, but I still get to veto, say, cover versions that make significant changes to the composition, I am still entitled to being credited as the songwriter, etc.
2021-07-06 11:45:51 +0200 <[exa]> is this actually anchored in law somewhere?
2021-07-06 11:46:00 +0200 <tdammers> Yes, I'm fairly sure it is.
2021-07-06 11:46:03 +0200 <__monty__> I don't think you can actually sell your copyright.
2021-07-06 11:46:04 +0200 <[exa]> b/c I never heard about it and it seems too great
2021-07-06 11:46:25 +0200 <__monty__> You can only enter into an agreement that someone gets to exercise your rights in your stead.
2021-07-06 11:47:06 +0200 <dminuoso> __monty__: Is that not selling copyright? What's the difference?
2021-07-06 11:47:08 +0200 <tdammers> __monty__: at least in an employment situation, you can very much sign an agreement that says that your employer owns the copyright to everything you make as part of your employment
2021-07-06 11:47:26 +0200 <dminuoso> Most rights can be subrogated.
2021-07-06 11:47:35 +0200 <tdammers> __monty__: but you are right, the term "selling copyright" is often used sloppily to indicate "granting a perpetual exclusive copyright license"
2021-07-06 11:47:44 +0200 <merijn> tdammers: Moral rights differ by country
2021-07-06 11:47:51 +0200 <tdammers> merijn: true
2021-07-06 11:48:08 +0200 <merijn> In most cases you don't actual get to veto things, except "morally reprehensible" uses
2021-07-06 11:48:18 +0200 <__monty__> dminuoso: The difference is that you cannot ever actually lose the right. You can always break the contract and suffer the consequences.
2021-07-06 11:48:30 +0200 <merijn> Like, if google bought the rights to your song and you object to Google, you probably can't stop them from using it in a commercial
2021-07-06 11:48:40 +0200 <merijn> (However reprehensible you might find google)
2021-07-06 11:49:46 +0200 <merijn> but if someone bought the rights to your song to use in nazi propaganda you could probably put a stop to that via moral rights (within Europe, in the US you are probably fucked anyway)
2021-07-06 11:50:17 +0200 <__monty__> tdammers: Possible, I don't remember whether work for hire can have you end up without any copyright whatsoever as opposed to shared copyright.
2021-07-06 11:50:20 +0200 <tdammers> well, I know for a fact that when you publish a cover version of some song that is considered an "adaptation", the copyright is usually held by a music publisher and exploited via a copyright agency, and you need to clear the rights with them, but you *also* have to get the actual songwriters to OK you on the moral rights front
2021-07-06 11:51:03 +0200 <merijn> tdammers: I highly doubt that last bit
2021-07-06 11:51:29 +0200Franciman(~francesco@openglass.it) (Quit: WeeChat 2.3)
2021-07-06 11:52:37 +0200 <merijn> tdammers: Seems rather limited: https://nl.wikipedia.org/wiki/Morele_rechten
2021-07-06 11:53:44 +0200 <tdammers> yeah, but note this bit: "het recht zich te verzetten tegen elke andere wijziging in het werk;"
2021-07-06 11:53:59 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 11:54:15 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-06 11:54:57 +0200 <merijn> yeah, but that's not a veto
2021-07-06 11:55:10 +0200 <tdammers> you can veto *changes* to your work
2021-07-06 11:55:13 +0200 <merijn> Since it's limited by reasonableness
2021-07-06 11:55:24 +0200 <merijn> "In een aantal gevallen wordt dit recht beperkt door de redelijkheid of het verbod op rechtsmisbruik"
2021-07-06 11:55:54 +0200 <merijn> A veto cannot be contested. You get the moral right to *object* to changes and a court *may* enforce your objections
2021-07-06 11:55:59 +0200jippiedoe(~david@2a02-a44c-e14e-1-5a8-355f-5351-e147.fixed6.kpn.net) (Remote host closed the connection)
2021-07-06 11:56:04 +0200 <dminuoso> __monty__: under the US copyright can be sold or transferred.
2021-07-06 11:56:10 +0200 <merijn> Depending on reasonableness of your objections
2021-07-06 11:56:16 +0200 <dminuoso> __monty__: So I guess depending on your legal system YMMV
2021-07-06 11:56:16 +0200jippiedoe(~david@2a02-a44c-e14e-1-a821-12d7-2af3-286c.fixed6.kpn.net)
2021-07-06 11:56:21 +0200 <tdammers> yes, but in the case of music covers, the way buma/stemra interprets it is that if it's a "straight-up cover" (i.e., you haven't made any changes to the composition or the lyrics), then moral rights do not apply, but if you have changed the composition or lyrics, then the original author must vet it
2021-07-06 11:56:37 +0200maf654321(~maf654321@user/maf654321)
2021-07-06 11:56:45 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-06 11:58:57 +0200 <tdammers> https://www.bumastemra.nl/faq/bewerkingen/
2021-07-06 11:59:08 +0200 <dminuoso> And this ability to sell copyrights is instrumental in ghost writing, for example.
2021-07-06 12:02:40 +0200 <__monty__> dminuoso: Yeah, looks like the US doesn't even have a concept of moral rights.
2021-07-06 12:02:47 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-06 12:03:14 +0200 <__monty__> Canada does but allows them to be waived and apparently most contracts contain a standard waiver...
2021-07-06 12:03:25 +0200 <__monty__> This is why it doesn't work unless they're inalienable.
2021-07-06 12:03:31 +0200merijn(~merijn@195.114.232.94) (Ping timeout: 246 seconds)
2021-07-06 12:04:13 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 246 seconds)
2021-07-06 12:04:45 +0200ubert(~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) (Remote host closed the connection)
2021-07-06 12:05:47 +0200 <tdammers> OTOH, if you make them inalienable, they tend to be cut down to bare essentials (like in the Netherlands), for practical reasons
2021-07-06 12:05:59 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-07-06 12:08:43 +0200 <__monty__> Bare essentials is still better than being pressured into giving them up altogether.
2021-07-06 12:08:48 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 12:09:50 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 12:10:57 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 12:12:58 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 240 seconds)
2021-07-06 12:15:27 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 12:16:54 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 12:18:32 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-07-06 12:23:27 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-06 12:28:10 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 12:31:50 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2021-07-06 12:33:51 +0200Guest36(~Guest36@ip4d16f8fb.dynamic.kabel-deutschland.de)
2021-07-06 12:39:09 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-06 12:39:32 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds)
2021-07-06 12:41:34 +0200Guest36(~Guest36@ip4d16f8fb.dynamic.kabel-deutschland.de) (Quit: Client closed)
2021-07-06 12:42:34 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 12:42:58 +0200jonathanx(~jonathan@94.234.34.169) (Ping timeout: 272 seconds)
2021-07-06 12:43:11 +0200xkuru(~xkuru@user/xkuru) (Remote host closed the connection)
2021-07-06 12:48:19 +0200Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 246 seconds)
2021-07-06 12:50:14 +0200smichel17(~smichel17@2601:193:8201:330::1)
2021-07-06 12:51:05 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 12:55:40 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
2021-07-06 12:56:31 +0200henninb(~henninb@63.226.174.157)
2021-07-06 13:00:02 +0200AWizzArd(~code@user/awizzard) (Ping timeout: 268 seconds)
2021-07-06 13:00:38 +0200AWizzArd(~code@gehrels.uberspace.de)
2021-07-06 13:01:29 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-07-06 13:03:11 +0200tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Read error: Connection reset by peer)
2021-07-06 13:03:18 +0200tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
2021-07-06 13:03:39 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 13:05:12 +0200merijn(~merijn@145.100.116.221)
2021-07-06 13:05:25 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-06 13:28:36 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 13:28:55 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 246 seconds)
2021-07-06 13:29:12 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 272 seconds)
2021-07-06 13:31:37 +0200phma_(phma@2001:5b0:211f:db18:f7ba:96c6:928a:2ba9) (Read error: Connection reset by peer)
2021-07-06 13:32:32 +0200phma_(phma@2001:5b0:210b:a0c8:76df:2981:6329:1c09)
2021-07-06 13:32:50 +0200 <Gurkenglas> What was the name of that automatic generator of quickcheck properties?
2021-07-06 13:35:38 +0200 <adamse> Quick spec maybe?
2021-07-06 13:36:11 +0200jippiedoe(~david@2a02-a44c-e14e-1-a821-12d7-2af3-286c.fixed6.kpn.net) (Ping timeout: 252 seconds)
2021-07-06 13:36:37 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 13:44:36 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-06 13:48:56 +0200chomwitt(~Pitsikoko@athedsl-16082.home.otenet.gr)
2021-07-06 14:01:59 +0200 <nshepperd2> dminuoso: precedent is that training an ML model on copyrighted data is transformative and thus fair use. however, this might not apply if it memorizes and reproduces the input verbatim (which you usually don't want it to do anyway)
2021-07-06 14:02:28 +0200 <merijn> eh
2021-07-06 14:02:47 +0200 <merijn> And that precedent is globally and accepted by all judiciary systems?
2021-07-06 14:03:07 +0200 <nshepperd2> you have a different precedent?
2021-07-06 14:03:36 +0200 <merijn> nshepperd2: No, but just because judges in one country decided ML models are transformative means squat in "every other country"
2021-07-06 14:04:39 +0200lortabac(~lortabac@95.138.56.124)
2021-07-06 14:05:10 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-06 14:06:17 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 14:09:39 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-07-06 14:09:58 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 14:10:10 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 240 seconds)
2021-07-06 14:10:33 +0200Schrostfutz(~Schrostfu@schettlerdck.tkn.tu-berlin.de)
2021-07-06 14:14:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 240 seconds)
2021-07-06 14:15:59 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-06 14:17:11 +0200 <dminuoso> nshepperd2: Except you will have to prove that the generated code comes from that path.
2021-07-06 14:17:15 +0200 <dminuoso> Which is virtually impossible
2021-07-06 14:17:29 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 14:17:46 +0200 <boxscape_> Just stream all your coding on twitch from now on
2021-07-06 14:17:55 +0200 <boxscape_> (and keep the vods)
2021-07-06 14:20:46 +0200 <nshepperd2> dminuoso: as opposed to what?
2021-07-06 14:21:35 +0200 <nshepperd2> if what you wrote isn't recognizable as a specific input, then there's no copyright case
2021-07-06 14:21:46 +0200GIANTWORLDKEEPER(~pjetcetal@128-71-13-182.broadband.corbina.ru)
2021-07-06 14:22:09 +0200 <nshepperd2> if it is, then you can argue in court about whether the similarity is necessary and non-creative
2021-07-06 14:24:20 +0200 <nshepperd2> iirc the burden of proof is generally on the plaintiff to demonstrate that a specific work was copied
2021-07-06 14:26:08 +0200 <dminuoso> oh wait
2021-07-06 14:26:10 +0200 <dminuoso> hold on
2021-07-06 14:26:12 +0200 <dminuoso> nshepperd2: Miscommunication
2021-07-06 14:26:24 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: Connection reset by peer)
2021-07-06 14:27:08 +0200 <Lycurgus> just avoid the jurisdiction (nl/eu) forbid distribution of your product to it
2021-07-06 14:27:50 +0200undecidedundecid(~pjetcetal@128-71-13-182.broadband.corbina.ru)
2021-07-06 14:27:55 +0200 <Lycurgus> it's a significant but still < 10% share of the global market
2021-07-06 14:28:15 +0200 <Lycurgus> (population wise)
2021-07-06 14:28:24 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-06 14:28:26 +0200chomwitt(~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 252 seconds)
2021-07-06 14:28:31 +0200 <merijn> Lycurgus: What makes you so sure things will go differently in the rest of the world?
2021-07-06 14:29:12 +0200GIANTWORLDKEEPR_(~pjetcetal@128-71-13-182.broadband.corbina.ru) (Quit: EXIT)
2021-07-06 14:29:35 +0200 <Lycurgus> inertia, the lack of actual global government
2021-07-06 14:29:45 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee)
2021-07-06 14:30:09 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 14:30:12 +0200 <Lycurgus> language barriers, etc. The same factors that apply generally to global distribution.
2021-07-06 14:30:45 +0200maf654321(~maf654321@user/maf654321) (Ping timeout: 252 seconds)
2021-07-06 14:31:04 +0200 <Lycurgus> maintaining a shit list is easier than jumping somebody's interminable hoop course
2021-07-06 14:31:09 +0200undecidedundecid(~pjetcetal@128-71-13-182.broadband.corbina.ru) (Read error: Connection reset by peer)
2021-07-06 14:31:26 +0200 <Lycurgus> or a plethora of them
2021-07-06 14:31:42 +0200 <merijn> Personally I'd just recommend listening to Jeff Goldblum instead
2021-07-06 14:32:09 +0200 <Lycurgus> the actor? what did he say in this context?
2021-07-06 14:32:22 +0200 <merijn> https://meyerweb.com/pix/2017/wf-boxes-malcolm.jpg :p
2021-07-06 14:32:28 +0200 <Lycurgus> i see
2021-07-06 14:32:36 +0200 <Lycurgus> jurassic park i presume
2021-07-06 14:32:37 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 246 seconds)
2021-07-06 14:32:52 +0200yoneda(~mike@193.206.102.122)
2021-07-06 14:33:06 +0200 <timCF> Hello! Does anybody know any user-friendly debug tool for Haskell runtime similar to "observer" for Erlang? Some tool where you can see list/tree of processes with some basic information (memory, cpu consumptoin)?
2021-07-06 14:33:24 +0200 <dminuoso> nshepperd2: I dont think it matters whether its verbatim or not.
2021-07-06 14:33:54 +0200 <Lycurgus> timCF: the os tools for that
2021-07-06 14:34:12 +0200 <merijn> timCF: ekg?
2021-07-06 14:34:15 +0200 <merijn> @hackage ekg
2021-07-06 14:34:15 +0200 <lambdabot> https://hackage.haskell.org/package/ekg
2021-07-06 14:34:20 +0200 <merijn> There's also ThreadScope
2021-07-06 14:34:28 +0200maf654321(~maf654321@user/maf654321)
2021-07-06 14:34:32 +0200 <Rembane> timCF: Do you need that it works in realtime?
2021-07-06 14:35:04 +0200 <timCF> merijn: thanks, I'll take a look!
2021-07-06 14:35:53 +0200 <merijn> timCF: Also somewhat relevant: http://speedscope.app + https://mpickering.github.io/posts/2019-11-07-hs-speedscope.html
2021-07-06 14:35:58 +0200 <Lycurgus> Grace Hopper's famous quote is also relevant
2021-07-06 14:37:17 +0200 <timCF> Rembane: yes. In production one of my haskell programms consumes a lot of CPU for some reason. In Erlang usually I investigated such issues connecting with distributed erlang to problematic node, running observer tool locally. And then I could sort process list by problematic value (cpu/memory), investigate state etc
2021-07-06 14:38:01 +0200 <merijn> timCF: Oh, "+RTS -sstderr" is also relevant
2021-07-06 14:38:06 +0200 <Rembane> timCF: Got it.
2021-07-06 14:38:49 +0200 <merijn> timCF: That one is just a summary of space usage and GC time, not super detailed, but it also works on non-profiling builds so it's a good way to spot major issues
2021-07-06 14:40:32 +0200derelict(~derelict@user/derelict) (Ping timeout: 252 seconds)
2021-07-06 14:40:34 +0200 <timCF> merijn: cool, thanks!
2021-07-06 14:40:39 +0200 <merijn> I like to use -s to see if my space usage and productivity are "reasonable"
2021-07-06 14:41:12 +0200 <merijn> (productivity should be 80-90% and max resident space should be whatever seems reasonable for your code)
2021-07-06 14:41:38 +0200derelict(~derelict@user/derelict)
2021-07-06 14:43:48 +0200jess(~jess@libera/staff/jess) ()
2021-07-06 14:44:05 +0200dunj3(~dunj3@2001:16b8:30db:ce00:b825:b46d:5278:e0d1) (Remote host closed the connection)
2021-07-06 14:44:47 +0200 <Lycurgus> productivity for those who didn know like me in this context means time spent in the hs mutator
2021-07-06 14:45:05 +0200jess(~jess@libera/staff/jess)
2021-07-06 14:45:21 +0200nschoe(~quassel@2a01:e0a:8e:a190:b228:bdd7:be31:d4a6)
2021-07-06 14:45:45 +0200 <merijn> aka "time not spent on garbage collection"
2021-07-06 14:46:14 +0200 <merijn> So if it drops below 80% you are spending more than 20% of your time GCing stuff, which is probably not right
2021-07-06 14:50:16 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee) (Ping timeout: 272 seconds)
2021-07-06 14:50:33 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 252 seconds)
2021-07-06 14:53:28 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee)
2021-07-06 14:53:44 +0200jneira(~jneira@212.8.115.226) (Quit: Client closed)
2021-07-06 14:53:47 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-07-06 14:54:44 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 14:56:50 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-06 14:57:46 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee) (Ping timeout: 240 seconds)
2021-07-06 14:59:13 +0200maf654321(~maf654321@user/maf654321) (Ping timeout: 246 seconds)
2021-07-06 14:59:46 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 240 seconds)
2021-07-06 15:00:05 +0200hiruji(~hiruji@user/hiruji)
2021-07-06 15:00:57 +0200alx741(~alx741@186.178.108.0)
2021-07-06 15:00:57 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-07-06 15:01:20 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-07-06 15:02:11 +0200maf654321(~maf654321@user/maf654321)
2021-07-06 15:06:59 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 15:08:18 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2021-07-06 15:09:03 +0200henninb(~henninb@63.226.174.157) (Quit: leaving)
2021-07-06 15:10:18 +0200berberman_(~berberman@user/berberman) (Ping timeout: 240 seconds)
2021-07-06 15:12:17 +0200phma_phma
2021-07-06 15:12:18 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-06 15:12:28 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-06 15:12:38 +0200berberman(~berberman@user/berberman)
2021-07-06 15:17:03 +0200warnz(~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0)
2021-07-06 15:17:33 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 15:18:08 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 272 seconds)
2021-07-06 15:18:23 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
2021-07-06 15:18:55 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-07-06 15:20:06 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-06 15:22:58 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-07-06 15:25:52 +0200peddie(~peddie@2001:470:69fc:105::25d)
2021-07-06 15:25:52 +0200azeem(~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-06 15:26:50 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-07-06 15:29:47 +0200sus(thelounge@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-07-06 15:29:55 +0200mikail(~mikail@90.152.14.81)
2021-07-06 15:30:15 +0200sus(thelounge@user/zeromomentum)
2021-07-06 15:32:22 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-07-06 15:32:25 +0200zebrag(~chris@user/zebrag)
2021-07-06 15:32:27 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-06 15:32:39 +0200cfricke(~cfricke@user/cfricke)
2021-07-06 15:35:04 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-06 15:35:28 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2021-07-06 15:35:46 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee)
2021-07-06 15:35:51 +0200Vajb(~Vajb@85-76-2-254-nat.elisa-mobile.fi)
2021-07-06 15:36:12 +0200azeem(~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it)
2021-07-06 15:36:19 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
2021-07-06 15:41:09 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-06 15:41:58 +0200 <mikail> I'm in some sort of ArchLinux/Haskell setup hell
2021-07-06 15:42:16 +0200MQ-17J(~MQ-17J@8.21.10.15)
2021-07-06 15:42:18 +0200 <mikail> I have installed ghc and cabal-install via pacman
2021-07-06 15:42:37 +0200 <mikail> I've setup emacs with haskell-mode, lsp-mode, and the haskell-language-engine
2021-07-06 15:43:04 +0200 <davean> mikail: yah, its an Arch thing
2021-07-06 15:43:05 +0200 <mikail> I wrote a simple program in emacs but when I try to compile, I get:
2021-07-06 15:43:18 +0200 <davean> Arch fucks with how Haskell is installed
2021-07-06 15:43:27 +0200 <mikail> Could not find module ‘Prelude’
2021-07-06 15:43:27 +0200 <mikail> There are files missing in the ‘base-4.14.2.0’ package,
2021-07-06 15:43:34 +0200 <merijn> mikail: Arch packages are broken by default, there's an entry on the Arch wiki how to fix it
2021-07-06 15:43:54 +0200 <merijn> Yell at the Arch maintainers to fix it, but they won't, because many people have complained before
2021-07-06 15:44:16 +0200 <mikail> i simply need to get the right base package
2021-07-06 15:44:22 +0200 <mikail> where and how do I do that?
2021-07-06 15:44:26 +0200 <merijn> No, you need the ghc-static package
2021-07-06 15:44:42 +0200 <merijn> The arch wiki on Haskell lists the hoops you gotta jump too
2021-07-06 15:44:44 +0200 <mikail> should I install that from pacman or via cabal?
2021-07-06 15:44:54 +0200 <mikail> ok I will take a look merijn
2021-07-06 15:44:55 +0200 <merijn> You cannot install ghc (nor base) via cabal
2021-07-06 15:45:01 +0200 <davean> mikail: you have the right base package - but they forced it to a dynamic mode
2021-07-06 15:45:08 +0200 <davean> so its not working
2021-07-06 15:45:10 +0200 <mikail> crying...
2021-07-06 15:45:24 +0200 <merijn> davean: This would be less infuriating if they actually fixed the compiler's default behaviour >.<
2021-07-06 15:45:36 +0200 <davean> merijn: It still wouldn't really be right though
2021-07-06 15:46:16 +0200 <merijn> davean: Sure, but at least it'd somewhat work by default
2021-07-06 15:46:46 +0200jneira_(~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) (Quit: Connection closed)
2021-07-06 15:46:49 +0200 <davean> Would that be better or worse? At least we easily just spot it as Arch biging dickwads this way
2021-07-06 15:46:58 +0200 <davean> if they sorta made it work, then we'd have all the weird bugs and have to figure out why
2021-07-06 15:47:09 +0200 <merijn> I guess
2021-07-06 15:47:10 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee) (Ping timeout: 246 seconds)
2021-07-06 15:47:31 +0200 <davean> I mean this is bad, so that might be better
2021-07-06 15:47:37 +0200 <davean> but they should just not break it on purpose
2021-07-06 15:47:52 +0200 <davean> Haskell dynamic is not the dynamic everything else is
2021-07-06 15:47:59 +0200 <davean> well, GHC
2021-07-06 15:48:14 +0200 <mikail> finally! removed ghc (which I now know was using dynamic-linking) and installed ghc-static - program compiles now - thanks guys
2021-07-06 15:48:31 +0200 <davean> mikail: its not "dynamic-linking" in the normal sense
2021-07-06 15:48:43 +0200 <davean> Which is why this is so dumb
2021-07-06 15:52:41 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-06 15:53:53 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-07-06 15:54:44 +0200weirane(~weirane@user/weirane)
2021-07-06 15:54:58 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-06 15:56:07 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-06 15:56:54 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-06 15:58:26 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 16:00:34 +0200 <yushyin> mikail: many of us just use ghcup anyway
2021-07-06 16:00:52 +0200chomwitt(~Pitsikoko@athedsl-16082.home.otenet.gr)
2021-07-06 16:01:33 +0200hammock(~Hammock@2600:1700:19a1:3330::625)
2021-07-06 16:01:49 +0200 <Gurkenglas> adamse, ye thanks
2021-07-06 16:02:23 +0200hammock(~Hammock@2600:1700:19a1:3330::625) (Client Quit)
2021-07-06 16:02:42 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Client Quit)
2021-07-06 16:03:16 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-07-06 16:04:54 +0200samhh(~samhh@90.252.112.94)
2021-07-06 16:04:55 +0200Vajb(~Vajb@85-76-2-254-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-07-06 16:05:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-06 16:06:58 +0200 <mikail> yushyin, on hindsight I should have just done that
2021-07-06 16:10:31 +0200 <sclv> i've proposed before that we simply disable entirely the dynamic-only path in ghc
2021-07-06 16:10:36 +0200 <sclv> as a forcing function for arch
2021-07-06 16:11:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 16:11:28 +0200 <merijn> :p
2021-07-06 16:12:11 +0200ystael(~ystael@user/ystael)
2021-07-06 16:12:20 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 16:12:50 +0200jneira_(~jneira_@217.red-81-39-172.dynamicip.rima-tde.net)
2021-07-06 16:13:03 +0200MQ-17J(~MQ-17J@8.21.10.15) (Ping timeout: 252 seconds)
2021-07-06 16:13:28 +0200MQ-17J(~MQ-17J@8.21.10.15)
2021-07-06 16:14:35 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 252 seconds)
2021-07-06 16:14:51 +0200 <davean> it seems better to just have GHC detect Arch and give up the will to live when it detects its being run on Arch.
2021-07-06 16:15:23 +0200 <davean> I'd really like to understand why they insist on hurting their users and us so much
2021-07-06 16:15:31 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 246 seconds)
2021-07-06 16:15:34 +0200 <Rembane> Principles I guess?
2021-07-06 16:15:42 +0200 <davean> Rembane: What principle?
2021-07-06 16:15:54 +0200 <davean> You can insist pi=3 but it doesn't
2021-07-06 16:16:06 +0200 <Rembane> davean: That everything should be dynamically linked.
2021-07-06 16:16:19 +0200 <nshepperd> a foolish consistency
2021-07-06 16:16:36 +0200 <davean> But its not even a consistency
2021-07-06 16:16:58 +0200 <Rembane> Yes
2021-07-06 16:17:10 +0200 <Rembane> They can be wrong and very stubborn at the same time.
2021-07-06 16:17:16 +0200 <merijn> davean: tbh, insisting that pi=3 is far more practical
2021-07-06 16:17:25 +0200 <Hecate> < davean> it seems better to just have GHC detect Arch and give up the will to live when it detects its being run on Arch. // well well, should I add another item to our incoming tech track meeting? :P
2021-07-06 16:17:28 +0200 <yushyin> i propose arch removes all haskell packages, it might stop the bashing here
2021-07-06 16:17:28 +0200 <merijn> pi=3 is a reasonable approximation at tons of human scales >.<
2021-07-06 16:18:00 +0200 <davean> Hecate: sadly, I'll be dealing with other things, like mac ci, so I won't get to enjoy it :(
2021-07-06 16:18:20 +0200 <nshepperd> ghc not working on arch would be inconvenient
2021-07-06 16:18:30 +0200 <Hecate> nshepperd: depends
2021-07-06 16:18:47 +0200 <merijn> nshepperd: Arch maintainers generating infinite questions here is also inconvenient :p
2021-07-06 16:18:57 +0200 <Hecate> current situation: Arch users pay 0,00€ and we get them a GHC that works but at the expense of our health
2021-07-06 16:19:30 +0200 <Hecate> ideal situation: Arch developers contribute to make their platform less shitty or port GHC like a true principled Unix would do, and we give them a hand
2021-07-06 16:19:38 +0200 <nshepperd> installing it with ghcup seems easier than installing a vm just to use ghc
2021-07-06 16:19:59 +0200rostero(uid236576@id-236576.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-06 16:20:06 +0200 <Hecate> it's not only about how to install GHC
2021-07-06 16:21:28 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee)
2021-07-06 16:21:57 +0200favonia(~favonia@user/favonia) (Remote host closed the connection)
2021-07-06 16:22:17 +0200favonia(~favonia@user/favonia)
2021-07-06 16:24:16 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 246 seconds)
2021-07-06 16:25:46 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee) (Ping timeout: 240 seconds)
2021-07-06 16:29:32 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 16:30:35 +0200chris-the-slurpa(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-06 16:31:11 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 16:32:52 +0200chris-the-slurpa(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-06 16:33:29 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 16:35:06 +0200S3thR0gen(~thanos@2a02:2149:8858:e100:4b:1c5f:edb7:9c20)
2021-07-06 16:35:26 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-07-06 16:35:36 +0200acidjnk_new(~acidjnk@p200300d0c72b9556fc4d5c290a2b1a2d.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-06 16:37:48 +0200chris-the-slurpa(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-07-06 16:38:28 +0200 <nshepperd2> to put it another way: arch maintainers already cause me enough annoyance and suffering without ghc maintainers also doing that
2021-07-06 16:38:54 +0200 <nshepperd2> otoh, disabling dynamic-only mode sounds like a good idea. does anyone even want it?
2021-07-06 16:39:07 +0200 <merijn> There are *some* uses, but it's fairly niche
2021-07-06 16:40:59 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds)
2021-07-06 16:41:06 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee)
2021-07-06 16:41:26 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-07-06 16:41:32 +0200chomwitt(~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 252 seconds)
2021-07-06 16:41:53 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Read error: Connection reset by peer)
2021-07-06 16:42:34 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 240 seconds)
2021-07-06 16:43:03 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 16:44:40 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-06 16:45:07 +0200 <nshepperd2> relatedly, my cabal-static package broke because bootstrap.sh got removed from the most recent cabal-install sdist
2021-07-06 16:46:15 +0200 <merijn> nshepperd: Not just from the sdist :p
2021-07-06 16:46:19 +0200 <merijn> bootstrap.sh is gone entirely
2021-07-06 16:46:25 +0200 <merijn> It is not a python program
2021-07-06 16:46:26 +0200 <merijn> iirc
2021-07-06 16:47:07 +0200 <nshepperd2> it is not... python? what does that have to do with it
2021-07-06 16:47:15 +0200 <merijn> *now
2021-07-06 16:47:27 +0200 <merijn> https://github.com/haskell/cabal/tree/master/bootstrap
2021-07-06 16:48:14 +0200 <nshepperd2> oh, i see, it's separately distributed now
2021-07-06 16:49:22 +0200 <davean> nshepperd2: why did you use it?
2021-07-06 16:49:23 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-06 16:49:53 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee) (Ping timeout: 265 seconds)
2021-07-06 16:50:28 +0200weirane(~weirane@user/weirane) (Quit: weirane)
2021-07-06 16:50:42 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2021-07-06 16:51:22 +0200S3thR0gen(~thanos@2a02:2149:8858:e100:4b:1c5f:edb7:9c20) (Quit: WeeChat 2.8)
2021-07-06 16:51:49 +0200 <nshepperd2> to build a non-broken cabal-install package for arch
2021-07-06 16:57:10 +0200jolly(~jolly@208.180.97.158)
2021-07-06 16:57:22 +0200 <davean> nshepperd2: ugh, sorry that somehow supporting Arch became your problem. Hope you escape
2021-07-06 16:57:38 +0200 <nshepperd2> i use arch lol
2021-07-06 16:57:46 +0200 <davean> And I hope you escape
2021-07-06 16:57:52 +0200derelict(~derelict@user/derelict) (Ping timeout: 246 seconds)
2021-07-06 16:57:56 +0200 <davean> Just because you choose it doesn't mean I can't wish you well
2021-07-06 16:58:03 +0200 <nshepperd2> haha
2021-07-06 16:58:20 +0200derelict(~derelict@user/derelict)
2021-07-06 17:00:44 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 272 seconds)
2021-07-06 17:00:55 +0200 <merijn> It's well-documented fact that people in abusive relationships have trouble leaving and all you can do is support them and wish them well until they decide to leave ;)
2021-07-06 17:02:46 +0200jippiedoe(~david@2a02-a44c-e14e-1-339e-925-4cf4-e5cb.fixed6.kpn.net)
2021-07-06 17:05:51 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-06 17:06:15 +0200favonia(~favonia@user/favonia)
2021-07-06 17:06:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 17:07:02 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
2021-07-06 17:10:12 +0200anandprabhu(~anandprab@94.202.243.198) (Quit: Leaving)
2021-07-06 17:12:11 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-06 17:12:49 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 17:13:38 +0200 <tomsmeding> not all about arch is bad
2021-07-06 17:13:42 +0200 <tomsmeding> you just need to avoid the haskell packages :p
2021-07-06 17:14:39 +0200 <Rembane> +1
2021-07-06 17:15:26 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee)
2021-07-06 17:15:26 +0200timCF(~timCF@m91-129-99-121.cust.tele2.ee) (Client Quit)
2021-07-06 17:15:43 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-07-06 17:17:05 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Quit)
2021-07-06 17:17:26 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-06 17:17:37 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 258 seconds)
2021-07-06 17:19:03 +0200merijn(~merijn@145.100.116.221) (Ping timeout: 252 seconds)
2021-07-06 17:19:25 +0200derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-07-06 17:19:52 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-07-06 17:22:41 +0200ablutor(~quassel@wasscher.com) (Read error: No route to host)
2021-07-06 17:23:03 +0200ablutor(~quassel@wasscher.com)
2021-07-06 17:23:04 +0200aman(~aman@user/aman) (Ping timeout: 246 seconds)
2021-07-06 17:23:26 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-06 17:24:07 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 246 seconds)
2021-07-06 17:24:16 +0200aman(~aman@user/aman)
2021-07-06 17:28:08 +0200rostero(uid236576@id-236576.tooting.irccloud.com)
2021-07-06 17:28:17 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
2021-07-06 17:28:21 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-06 17:30:03 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-06 17:31:20 +0200kadoban(~kadoban@user/kadoban)
2021-07-06 17:33:34 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: No route to host)
2021-07-06 17:35:54 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 17:36:24 +0200yoneda(~mike@193.206.102.122) (Quit: leaving)
2021-07-06 17:37:37 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-06 17:39:47 +0200 <qrpnxz> > From experience, licensing and copyright is something that is of little interest so plenty of modern young developers
2021-07-06 17:39:47 +0200 <qrpnxz> I wish i didn't have to care, but i don't wanna get sued (nor sue other people)
2021-07-06 17:39:49 +0200 <lambdabot> <hint>:1:16: error: parse error on input ‘,’
2021-07-06 17:40:16 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-06 17:40:24 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection)
2021-07-06 17:41:04 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
2021-07-06 17:41:19 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 17:41:54 +0200alx741(~alx741@186.178.108.0) (Ping timeout: 272 seconds)
2021-07-06 17:42:28 +0200samhh(~samhh@90.252.112.94) (Quit: samhh)
2021-07-06 17:42:40 +0200 <monochrom> I agree about both disabling only-dynamic-linking and disabling only-static-linking.
2021-07-06 17:43:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 17:43:36 +0200 <monochrom> The solution depends on the problem. People should not take sides.
2021-07-06 17:47:08 +0200 <qrpnxz> i made a nice little function that let's you both foldl and foldr *at the same time* (both folds have access to each others accumulators). It's pretty neat for building lazy structure that depends both on the rest of the fold and what it has seen so far. I dont' know how much useful this is than just turning the foldable into a list first and doing list manipulation, but it turned out nicely.
2021-07-06 17:47:25 +0200michalz(~michalz@185.246.204.121) (Remote host closed the connection)
2021-07-06 17:47:36 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-07-06 17:51:31 +0200 <nshepperd2> this new bootstrap.py system seems like an improvement on the old one
2021-07-06 17:54:27 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Quit)
2021-07-06 17:54:40 +0200ahdyt(~ahdyt@103.105.35.111)
2021-07-06 17:55:52 +0200 <davean> nshepperd2: that was the point
2021-07-06 17:56:18 +0200econo(uid147250@user/econo)
2021-07-06 17:56:30 +0200 <ahdyt> I'm sorry, what was the topic?
2021-07-06 17:59:22 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-06 18:01:37 +0200 <nshepperd2> davean: new things are usually *meant* to be improvement on old things, but they often aren't so it's always a pleasant surprise
2021-07-06 18:02:24 +0200 <ahdyt> history repeats itself.
2021-07-06 18:03:08 +0200chomwitt(~Pitsikoko@athedsl-16082.home.otenet.gr)
2021-07-06 18:07:42 +0200favonia(~favonia@user/favonia)
2021-07-06 18:09:34 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 18:09:59 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2021-07-06 18:10:05 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-07-06 18:10:11 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-06 18:10:48 +0200Danishman(~Allan@2-104-144-110-cable.dk.customer.tdc.net)
2021-07-06 18:14:29 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-06 18:15:34 +0200jippiedoe(~david@2a02-a44c-e14e-1-339e-925-4cf4-e5cb.fixed6.kpn.net) (Ping timeout: 246 seconds)
2021-07-06 18:15:46 +0200lortabac(~lortabac@95.138.56.124) (Ping timeout: 240 seconds)
2021-07-06 18:15:54 +0200jippiedoe(~david@2a02-a44c-e14e-1-bf09-cdaf-695c-5a88.fixed6.kpn.net)
2021-07-06 18:17:55 +0200ahdyt(~ahdyt@103.105.35.111) (Ping timeout: 246 seconds)
2021-07-06 18:20:18 +0200safinaskar(~user@109.252.90.89)
2021-07-06 18:21:08 +0200 <safinaskar> i rewrote my lib https://hackage.haskell.org/package/check-cfg-ambiguity in Rust, and now it is 13 times faster!
2021-07-06 18:21:44 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-07-06 18:21:51 +0200 <safinaskar> here is rust code: https://paste.debian.net/1203585/
2021-07-06 18:21:58 +0200 <safinaskar> haskell code at hackage
2021-07-06 18:22:35 +0200 <safinaskar> any justification?
2021-07-06 18:25:02 +0200Pickchea(~private@user/pickchea)
2021-07-06 18:25:55 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection)
2021-07-06 18:26:24 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 18:27:09 +0200 <qrpnxz> try using a hashset in haskell
2021-07-06 18:27:17 +0200 <qrpnxz> for starters
2021-07-06 18:31:06 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-06 18:31:30 +0200ahdyt(~ahdyt@103.105.35.77)
2021-07-06 18:31:32 +0200 <safinaskar> qrpnxz: what package?
2021-07-06 18:31:47 +0200 <dsal> safinaskar: What does your profiler tell you? Are you using lazy maps on purpose?
2021-07-06 18:31:54 +0200leah2(~leah@vuxu.org) (Ping timeout: 240 seconds)
2021-07-06 18:32:24 +0200notzmv(~zmv@user/notzmv)
2021-07-06 18:33:17 +0200 <qrpnxz> safinaskar, unordered-containers
2021-07-06 18:34:49 +0200leah2(~leah@vuxu.org)
2021-07-06 18:35:33 +0200 <safinaskar> dsal: i didn't try profiler. in rust i don't use profiler, too :)
2021-07-06 18:36:04 +0200 <safinaskar> dsal: i don't need laziness. i replaced once lazy map with strict, and i saw no change
2021-07-06 18:36:30 +0200 <dsal> Yes, but you're asking about what part is slow in your Haskell code, so the first thing to ask might be a profiler.
2021-07-06 18:37:31 +0200 <dsal> The code is... not very idiomatic. I'm not sure offhand what would be expensive.
2021-07-06 18:38:08 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 252 seconds)
2021-07-06 18:39:06 +0200alx741(~alx741@181.196.69.147)
2021-07-06 18:41:22 +0200nschoe(~quassel@2a01:e0a:8e:a190:b228:bdd7:be31:d4a6) (Ping timeout: 240 seconds)
2021-07-06 18:42:09 +0200 <safinaskar> dsal: where it is not idiomatic?
2021-07-06 18:42:18 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-06 18:42:31 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Client Quit)
2021-07-06 18:43:10 +0200 <monochrom> Each readSTRef and writeSTRef incurs more time cost than parameter passing.
2021-07-06 18:43:49 +0200 <safinaskar> the slowest function is, of course, lowLevelTestAmbiguity, it takes O(exp(count)) time, it is for design (same is true for rust version)
2021-07-06 18:44:30 +0200 <safinaskar> its slowest part is internal loop (in "(N nn):rest ->")
2021-07-06 18:44:31 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 18:45:39 +0200 <monochrom> I once helped a beginner convert a while-loop over "x <- readSTRef v; ... ; writeSTRef v (f x)" to recursion over "foo x = ... foo (f x)" and it became 2 times faster or 5 times faster or something like that.
2021-07-06 18:45:54 +0200 <safinaskar> monochrom: latest git version ( https://git.sr.ht/~safinaskar/check-cfg-ambiguity/tree/8d6bd0b390f1ca0a607ab8e38117d5a8a26d7f7a/it… ) don't use STRef operations inside inner loop
2021-07-06 18:47:10 +0200 <safinaskar> monochrom: "Each readSTRef and writeSTRef incurs more time cost than parameter passing" - why?
2021-07-06 18:47:13 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-06 18:47:30 +0200dunj3(~dunj3@2001:16b8:30db:ce00:b825:b46d:5278:e0d1)
2021-07-06 18:47:42 +0200 <monochrom> why not?
2021-07-06 18:47:43 +0200themc47(~mc47@xmonad/TheMC47)
2021-07-06 18:47:59 +0200 <monochrom> For starters, it's immediately one more level of indirection.
2021-07-06 18:48:08 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection)
2021-07-06 18:48:09 +0200 <monochrom> Did you take a computer organization course?
2021-07-06 18:48:15 +0200 <dsal> This reads a bit like a direct translation from C (e.g., all the {}s and semicolons). It looks weird enough that I'm kind of confused as to what you think it's doing. Do you know what return does?
2021-07-06 18:48:15 +0200 <dolio> It relates back to the 'not idiomatic' part.
2021-07-06 18:49:15 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-06 18:49:18 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-07-06 18:49:22 +0200mikail(~mikail@90.152.14.81) (Ping timeout: 240 seconds)
2021-07-06 18:49:47 +0200 <dolio> Writing 'loops' as recursive functions with parameters is expected, and the compiler built to optimize those well.
2021-07-06 18:50:21 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds)
2021-07-06 18:50:24 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-07-06 18:52:33 +0200chomwitt(~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 252 seconds)
2021-07-06 18:53:26 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-06 18:54:10 +0200nshepperd2finally pushes a cabal-static-3.4.0.0 AUR package
2021-07-06 18:55:03 +0200 <safinaskar> dsal: "all the {}s and semicolons" - because i don't like haskell indentation rules
2021-07-06 18:55:11 +0200themc47(~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds)
2021-07-06 18:55:23 +0200 <safinaskar> dsal: they sometimes give results i don't like
2021-07-06 18:56:22 +0200 <safinaskar> dsal: "Do you know what return does?" - i do. i know that it is not similar to "return" in rust/c++
2021-07-06 18:56:47 +0200 <safinaskar> dsal: this code works, it passes tests
2021-07-06 18:58:06 +0200 <safinaskar> dolio: inner loop in latest git version is written in functional style, i. e. "map"s etc
2021-07-06 18:58:07 +0200mikail(~mikail@90.212.77.3)
2021-07-06 18:58:26 +0200 <dsal> It's not about whether the code works. You don't like aspects of it, but you also don't like some basic parts of Haskell, so you're asking people how to improve it, but it's a bit hard to follow. I asked about `return` because in some of your earlier code you had things like `if x then f else return(); expensiveThing` and it wasn't clear whether you knew `expensiveThing` would run.
2021-07-06 18:58:46 +0200Deide(~Deide@wire.desu.ga)
2021-07-06 18:58:46 +0200Deide(~Deide@wire.desu.ga) (Changing host)
2021-07-06 18:58:46 +0200Deide(~Deide@user/deide)
2021-07-06 19:01:11 +0200 <safinaskar> dsal: i know that "expensiveThing" will run. this letter my help to understand algorithm: https://mail.haskell.org/pipermail/haskell-cafe/2021-May/134006.html
2021-07-06 19:01:54 +0200xff0x(~xff0x@2001:1a81:5361:2500:9aff:3f7d:a108:43b8) (Ping timeout: 252 seconds)
2021-07-06 19:02:15 +0200 <dsal> It seems like if you used `Either` as your `TerminalOrNonterminal` a lot of things would be easier for you. There's a lot of heavy conversion code that looks like things you'd get for free with built-in types. e.g., all of `checkAmbiguity` seems like it should be one extra guard and ~four lines of binds.
2021-07-06 19:02:22 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-06 19:02:29 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 19:02:39 +0200 <dsal> That, in particular, is not a performance problem, but it just looks like you're going out of your way to avoid language features.
2021-07-06 19:02:42 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-06 19:02:53 +0200xff0x(~xff0x@2001:1a81:5361:2500:809c:f58:ea4b:fa4b)
2021-07-06 19:03:13 +0200 <c_wraith> this just in: Haskell is a bad language when you try!
2021-07-06 19:03:17 +0200 <qrpnxz> lol just saw that function amazing
2021-07-06 19:03:24 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-06 19:03:36 +0200 <qrpnxz> he probably just don't know
2021-07-06 19:04:37 +0200chomwitt(~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
2021-07-06 19:04:51 +0200 <dsal> `toGrammar` looks a bit like `traverse`
2021-07-06 19:07:00 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-06 19:07:46 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-07-06 19:07:53 +0200aman(~aman@user/aman) (Quit: aman)
2021-07-06 19:07:58 +0200 <chris-the-slurpa> does hackage have documentation for the standard library aswell?
2021-07-06 19:08:23 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-06 19:08:27 +0200 <chris-the-slurpa> prelude
2021-07-06 19:08:36 +0200 <ahdyt> https://hackage.haskell.org/package/base ?
2021-07-06 19:09:02 +0200 <monochrom> I would prefer locally installed doc that comes with GHC.
2021-07-06 19:09:28 +0200 <ahdyt> monochrom how do you access it?
2021-07-06 19:09:51 +0200 <monochrom> There is always mismatch between the version you actually use and { the latest version on hackage, the version preferred by Google hits }
2021-07-06 19:09:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-06 19:09:56 +0200 <chris-the-slurpa> thx
2021-07-06 19:10:08 +0200 <monochrom> You know where your GHC is on your disk?
2021-07-06 19:10:11 +0200 <chris-the-slurpa> what's hoogle?
2021-07-06 19:10:31 +0200 <ahdyt> it's on the same folder as GHC?
2021-07-06 19:10:37 +0200 <monochrom> Yes.
2021-07-06 19:10:44 +0200 <ahdyt> ok lemme check
2021-07-06 19:10:57 +0200 <ahdyt> I'm not sure where's my ghc is, as I use nix.
2021-07-06 19:11:06 +0200 <ahdyt> it's probably somewhere in nix store
2021-07-06 19:11:17 +0200cuz(~user@38.140.58.234)
2021-07-06 19:11:18 +0200pja(~pja@dsl-217-155-153-10.zen.co.uk) (Quit: WeeChat 3.0)
2021-07-06 19:11:22 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-06 19:11:30 +0200 <monochrom> Actually ghc-pkg can help
2021-07-06 19:12:07 +0200 <monochrom> ghc-pkg field base haddock-html
2021-07-06 19:12:47 +0200 <ahdyt> that's what I mean
2021-07-06 19:12:54 +0200 <qrpnxz> dsal, i couldn't do four lines of binds, but i got a much neater looking if else chain
2021-07-06 19:13:24 +0200 <ahdyt> monochrom ghc-pkg field base haddock-html
2021-07-06 19:13:24 +0200 <ahdyt> haddock-html: /nix/store/5rz5drij1a56n03sx0y28hnvpaa8z62w-ghc-8.10.4-doc/share/doc/ghc/html/libraries/base-4.14.1.0
2021-07-06 19:13:49 +0200 <monochrom> Now you can give it to your browser
2021-07-06 19:13:53 +0200 <dsal> safinaskar: So like, you create an STRef that's a boolean. Then you run your whileM modifying and observing that effect. You read the bool you wrote within the loop and then when the loop is over, you read the bool again and convert it to another type and produce that. This is basically a fold, but with a lot of indirection.
2021-07-06 19:14:01 +0200 <ahdyt> yeah I already open it, looks good monochrom
2021-07-06 19:14:26 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-07-06 19:14:32 +0200 <safinaskar> i think that even if i replace maps with strict hashmaps in my haskell code, the code still will be x5-x10 times slower than rust version. Simply because of omnipresence of singly-linked lists in haskell (and garbage collection)
2021-07-06 19:14:36 +0200 <qrpnxz> https://termbin.com/i44b is what i got
2021-07-06 19:14:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-07-06 19:15:00 +0200Pickchea(~private@user/pickchea) (Ping timeout: 272 seconds)
2021-07-06 19:15:19 +0200 <qrpnxz> made a little typo there oops
2021-07-06 19:15:21 +0200 <qrpnxz> that's ok
2021-07-06 19:15:44 +0200 <safinaskar> dsal: "It seems like if you used `Either` as your `TerminalOrNonterminal`" - TerminalOrNonterminal is exported to user. I intentionally use this type. So user don't need to remember what means "Left": terminal or nonterminal
2021-07-06 19:15:57 +0200 <qrpnxz> safinaskar, if you were like actually folding those would probably all get fused
2021-07-06 19:16:11 +0200 <dsal> qrpnxz: yeah, I think that's better, but if this were just using Either, you wouldn't need the whole bottom part.
2021-07-06 19:16:17 +0200 <dsal> safinaskar: Haskell programmers are comfortable with Haskell idioms.
2021-07-06 19:16:45 +0200 <safinaskar> all of `checkAmbiguity` seems like
2021-07-06 19:16:49 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 19:17:17 +0200 <safinaskar> dsal: "it should be one extra guard" - you mean case guards? i don't like them
2021-07-06 19:17:38 +0200 <qrpnxz> lol what
2021-07-06 19:18:08 +0200 <safinaskar> anyway function checkAmbiguity is not bottleneck
2021-07-06 19:18:10 +0200 <dsal> Having your own type is fine and readable and stuff, but Either is a functor, applicative, monad, foldable, traversable, a semigroup, etc... Things that would generally make your code be easier and probably faster.
2021-07-06 19:18:18 +0200smichel17(~smichel17@2601:193:8201:330::1) (Quit: smichel17)
2021-07-06 19:18:40 +0200 <dsal> Not being willing to try Haskell isn't a good start. I don't think I can help you much.
2021-07-06 19:19:17 +0200jneira[m](~jneira@233.red-176-87-44.dynamicip.rima-tde.net)
2021-07-06 19:19:22 +0200 <qrpnxz> wym, he wrote a whole lib
2021-07-06 19:19:32 +0200 <dsal> Oh yeah, never mind. :P
2021-07-06 19:19:38 +0200 <qrpnxz> lol
2021-07-06 19:20:10 +0200chddr(~Thunderbi@91.226.34.151)
2021-07-06 19:20:30 +0200 <monochrom> You can weaken that to "not willing to try idiomatic haskell" and it would have some merit
2021-07-06 19:20:44 +0200P1RATEZ(piratez@user/p1ratez)
2021-07-06 19:21:17 +0200 <ahdyt> monochrom do you have a github acc with bunch of haskell stuff?
2021-07-06 19:21:18 +0200 <qrpnxz> let's parameterize it in-case we need it again xd
2021-07-06 19:21:27 +0200boxscape(~boxscape@user/boxscape)
2021-07-06 19:21:39 +0200 <monochrom> @quote monochrom pointless.debate
2021-07-06 19:21:39 +0200 <lambdabot> monochrom says: All pointless debates can be settled by going polymorphic.
2021-07-06 19:22:19 +0200 <monochrom> https://github.com/treblacy
2021-07-06 19:22:58 +0200 <safinaskar> dsal: "This is basically a fold, but with a lot of indirection" - my code looks similar to what i used to write before (c++). i don't want to convert it to fold, i hope compiler will convert it for me. anyway all STRef manipulations happen outside of inner loop
2021-07-06 19:23:10 +0200 <monochrom> Please ignore the fact that I have a fork of cabal. IIRC I was only thinking "what does this button do?"
2021-07-06 19:23:24 +0200 <dsal> lol
2021-07-06 19:24:18 +0200 <qrpnxz> he's not bringing up the fold because it's some kind of crutch for functional programmers, it's abstraction over almost every container reduction ever. It's to help you write code!
2021-07-06 19:25:54 +0200 <dsal> "hope compiler will convert" [nine STRef calls in an inner loop to a fold]
2021-07-06 19:25:59 +0200 <safinaskar> qrpnxz: https://termbin.com/i44b - i hate if..then..else. Because it is hard to see where "else" branch ended. So, I usually use "case ... { True -> ...; False -> ... }" instead with braces {}. Closing brace always tell me where this construction ends
2021-07-06 19:25:59 +0200jippiedoe(~david@2a02-a44c-e14e-1-bf09-cdaf-695c-5a88.fixed6.kpn.net) (Ping timeout: 252 seconds)
2021-07-06 19:26:33 +0200 <dsal> safinaskar: Other people have to read your code and you have to read other people's code. If you reject the local idioms, nobody is going to have a good time.
2021-07-06 19:26:52 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-06 19:27:04 +0200 <qrpnxz> it ends at the end of the expression :)
2021-07-06 19:27:06 +0200 <dolio> Writing stuff to look like C++ and expecting GHC to turn it into effective Haskell code isn't a particularly realistic expectation.
2021-07-06 19:27:31 +0200 <qrpnxz> tbf that's how i get my haskell programs to run as fast as C
2021-07-06 19:27:35 +0200 <qrpnxz> maybe he didn't do -O2
2021-07-06 19:27:40 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 246 seconds)
2021-07-06 19:27:40 +0200 <qrpnxz> safinaskar, did you do -O2
2021-07-06 19:27:53 +0200 <monochrom> I don't mind unrealistic expectation. I have my share of unrealistic expectations of humans, too.
2021-07-06 19:28:40 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-06 19:28:43 +0200 <monochrom> Namely, at the meta level, I unrealistically expect that programmers go "I don't really know, but I hope, but I will actually empirically verify at the very least".
2021-07-06 19:28:44 +0200 <dsal> I like to write code I can read first, and then if it's too slow, sprinkle in ugly.
2021-07-06 19:29:12 +0200 <qrpnxz> sounds reasonable to me
2021-07-06 19:29:24 +0200 <monochrom> Well, in the real world, programmers simply kill the "empirically verify" part. Whatever they hope, they just assume it will happen, then pretend to be very surprised that it never does.
2021-07-06 19:29:49 +0200 <qrpnxz> i hope not
2021-07-06 19:29:55 +0200 <monochrom> :)
2021-07-06 19:30:00 +0200 <dminuoso> Sounds about right, monochrom.
2021-07-06 19:30:04 +0200 <qrpnxz> rip
2021-07-06 19:30:15 +0200 <qrpnxz> can we at least theoretically verify
2021-07-06 19:30:18 +0200 <safinaskar> qrpnxz: "tbf that's how i get my haskell programs to run as fast as C" - how?!
2021-07-06 19:30:19 +0200notzmv(~zmv@user/notzmv)
2021-07-06 19:30:34 +0200 <safinaskar> qrpnxz: "maybe he didn't do -O2" - i did (i did -O3)
2021-07-06 19:30:44 +0200 <dminuoso> I guess that's how bugs arise in the first place. It's because we implicitly assume our code does what we think it does, without having tests to assert these properties about it.
2021-07-06 19:31:11 +0200 <monochrom> cabal already does -O by default. Very few code shows a difference between -O and -O2.
2021-07-06 19:31:44 +0200 <monochrom> -O3 doesn't exist.
2021-07-06 19:31:44 +0200 <dsal> I had a huge performance problem in a codebase once before someone pointed out that the build system was running without optimization.
2021-07-06 19:31:54 +0200 <dminuoso> safinaskar: Here we go, -O3 is the same as -O2!
2021-07-06 19:31:57 +0200 <dsal> -O3 is a spoiler.
2021-07-06 19:32:03 +0200gentauro(~gentauro@user/gentauro) (Quit: leaving)
2021-07-06 19:32:03 +0200shapr`(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-06 19:32:06 +0200 <dminuoso> This already is a false assumption that -O3 does more than -O2.
2021-07-06 19:32:15 +0200 <monochrom> or rather, -O3 is undefined behaviour.
2021-07-06 19:32:18 +0200gentauro(~gentauro@user/gentauro)
2021-07-06 19:32:29 +0200 <dminuoso> But I guess that's what you get for using compiler flags without first checking the user manual. :-)
2021-07-06 19:32:38 +0200 <monochrom> But what surprised me is that, with that logic, why not -O42
2021-07-06 19:32:44 +0200johnw(~johnw@2600:1700:cf00:db0:580c:2973:6ceb:6156) (Quit: ZNC - http://znc.in)
2021-07-06 19:33:17 +0200 <dminuoso> monochrom: Im guessing the reason is the same for assuming that assumptions that hold for C++ compilers hold for GHC.
2021-07-06 19:33:18 +0200johnw(~johnw@2600:1700:cf00:db0:edf9:8c5b:5a8d:2f85)
2021-07-06 19:33:54 +0200 <dminuoso> If clang/gcc have a -O3 flag, then I can see how people might blindly assume that GHC also has a -O3. If GHC then happily accepts it..
2021-07-06 19:33:58 +0200 <qrpnxz> safinaskar, it's possible to go as fast as C really. GHC optimize a lot. But often i have had to basically turn a lot of the code imperative and depending on the problem sprinkle strictness here and there. to be fair to haskell, the imperative version of the haskell code is: safer semantically, memory managed, easier to change, not ever really bigger than the C version. And another point, i'm not a super e
2021-07-06 19:33:58 +0200 <qrpnxz> xperienced haskell programmer. My simpler program might have been able to go faster if I just used the abstraction more efficiently rather than wrote it like C
2021-07-06 19:34:00 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-07-06 19:34:23 +0200shapr`shapr
2021-07-06 19:34:31 +0200 <monochrom> "gcc -O42" is not an error. I just tried. I expect an ardent C or C++ programmer to go with that for future-proof-ness.
2021-07-06 19:34:58 +0200 <c_wraith> what does gcc think it means?
2021-07-06 19:35:03 +0200 <qrpnxz> lol mono
2021-07-06 19:35:14 +0200 <monochrom> I am too lazy to find out what it really means. >:)
2021-07-06 19:35:34 +0200c_wraithdeepseqs monochrom
2021-07-06 19:35:42 +0200 <qrpnxz> lol
2021-07-06 19:36:05 +0200 <dminuoso> Obligatory: https://ro-che.info/ccc/11
2021-07-06 19:36:13 +0200 <monochrom> I do hope the gcc people are trolling us and do a mod-4 thing.
2021-07-06 19:36:31 +0200 <qrpnxz> dminuoso, lmao nice
2021-07-06 19:36:31 +0200 <monochrom> haha
2021-07-06 19:37:36 +0200jneira[m](~jneira@233.red-176-87-44.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-07-06 19:37:50 +0200 <dsal> qrpnxz: I've rewritten code to use STRef in very specific ways that I had a good intuition that might speed things up. e.g., working with a large array and needing to change small bits regularly. The rewrite gave me something to compare against and see whether it was faster and faster enough to warrant the change.
2021-07-06 19:38:12 +0200 <safinaskar> monochrom: "But what surprised me is that, with that logic, why not -O42" - because -O3 is maximal optimization level in gcc and clang :) (and i know that -O3 and -O2 are same in ghc)
2021-07-06 19:38:34 +0200alx741(~alx741@181.196.69.147) (Ping timeout: 240 seconds)
2021-07-06 19:38:46 +0200 <dsal> For things like this, I'd expect ST to strictly slow down the code.
2021-07-06 19:40:04 +0200 <qrpnxz> dsal, i think there is also supposed to be magic in data.vector that will let you modify without copying, but i have not trusted it enough to see if it is true. I'm too busy prematurely optimizing xDDD
2021-07-06 19:40:11 +0200 <dsal> Imagine a compiler that didn't let you make things slower.
2021-07-06 19:41:01 +0200 <monochrom> The magic in vector is limited to: update from 0 to n-1; now update from 0 to n-1 again; etc
2021-07-06 19:41:16 +0200 <qrpnxz> write the factors of large numbers to the network on every op, no way to optimize that :D
2021-07-06 19:41:20 +0200 <monochrom> There are further limitations.
2021-07-06 19:41:47 +0200derelict(~derelict@user/derelict)
2021-07-06 19:41:47 +0200 <qrpnxz> can someone make a Slow monad that does that on every bind
2021-07-06 19:41:52 +0200 <qrpnxz> lmao
2021-07-06 19:42:11 +0200 <monochrom> So for example if you have a pipeline like "filter . map . generate" you're good.
2021-07-06 19:43:07 +0200 <qrpnxz> right the fusing stuff is more expected, but i meant things like say the bulk update procedure and the like. The more targeted edits. Or snoc for example
2021-07-06 19:43:08 +0200 <c_wraith> vector's fusion framework is too complicated.
2021-07-06 19:43:50 +0200 <qrpnxz> ig with linear types it would be easier to make it happen
2021-07-06 19:44:00 +0200 <c_wraith> 4 different internal representations, 3 of which exist only to enable certain kinds of fusion, and should never be observable to the end user?
2021-07-06 19:44:22 +0200 <dminuoso> At the end clang/gcc are quite good at local aggressive optimizations. They come with things like loop invariant motion, loop unrolling, vectorization, loop fission/distribution.. these are things that GHC largely doesn't do or effectively..
2021-07-06 19:44:26 +0200 <qrpnxz> ah yeah, i've tried looking at the source it's utterly inscrutable, but it works ig
2021-07-06 19:44:35 +0200 <monochrom> Oh, linear types makes hopeful a different optimization.
2021-07-06 19:44:39 +0200 <dminuoso> So to get even close to performance in Haskell, you have to cater to GHC *a* *lot*
2021-07-06 19:45:17 +0200 <monochrom> vector's fusion is for immutable vectors, and keeps them as immutable vectors. It eliminates intermediate wasteful immutable vectors.
2021-07-06 19:45:51 +0200 <qrpnxz> right
2021-07-06 19:46:01 +0200 <monochrom> Linear typing allows changing immutable vectors to a mutable vector.
2021-07-06 19:46:42 +0200 <c_wraith> to get real performance in GHC, you occasionally need to unwrap IO. :)
2021-07-06 19:46:43 +0200 <qrpnxz> i mean it could also allow you to modify an immutable directly, since you could prove that the old vector is not used anywhere else
2021-07-06 19:46:54 +0200 <monochrom> However, this optimization is still on paper.
2021-07-06 19:47:03 +0200 <monochrom> Right, that.
2021-07-06 19:47:03 +0200 <dminuoso> qrpnxz: This is the essence of why Clean often performs much better than Haskell.
2021-07-06 19:47:17 +0200 <qrpnxz> what is clean
2021-07-06 19:47:23 +0200 <monochrom> nice language
2021-07-06 19:47:28 +0200 <c_wraith> a language with uniqueness types
2021-07-06 19:47:31 +0200 <qrpnxz> ic
2021-07-06 19:47:33 +0200Schrostfutz(~Schrostfu@schettlerdck.tkn.tu-berlin.de) (Ping timeout: 252 seconds)
2021-07-06 19:47:36 +0200 <c_wraith> which are what most people think linear types are :P
2021-07-06 19:47:48 +0200 <dsal> Nice is a research programming language. It demonstrates how the powerful ML-Sub type system can be used in practice. Nice is an object-oriented language, with parametric, polymorphic types, higher-order functions, and more. It combines the advantages of object-orientation and functional programming.
2021-07-06 19:48:08 +0200 <dminuoso> The uniqueness types allow Clean to both a) have observable immutability and b) actual mutability behind the scenes.
2021-07-06 19:48:29 +0200 <monochrom> https://clean.cs.ru.nl/Clean
2021-07-06 19:48:39 +0200 <qrpnxz> thx
2021-07-06 19:48:53 +0200 <qrpnxz> sad, no code snippets
2021-07-06 19:49:02 +0200 <qrpnxz> i need program porn cmon
2021-07-06 19:49:09 +0200 <dminuoso> Clean looks roughly similar to Haskell
2021-07-06 19:49:19 +0200 <qrpnxz> even haskell at least has that prime number example now xD
2021-07-06 19:49:54 +0200 <monochrom> ugh, cloogle
2021-07-06 19:50:01 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-06 19:50:04 +0200 <monochrom> that meme is getting old
2021-07-06 19:50:11 +0200 <qrpnxz> alright gtg
2021-07-06 19:50:17 +0200fengctor(~fengctor@2605:b100:313:2cc4:d899:1269:1230:605f)
2021-07-06 19:50:29 +0200fengctor(~fengctor@2605:b100:313:2cc4:d899:1269:1230:605f) (Quit: Quit)
2021-07-06 19:50:31 +0200ukari(~ukari@user/ukari)
2021-07-06 19:51:02 +0200 <ahdyt> Clean Doc is 2011 is it abandoned?
2021-07-06 19:51:09 +0200 <dminuoso> ahdyt: No.
2021-07-06 19:51:22 +0200 <dminuoso> ahdyt: It's mostly taught in some NL universities
2021-07-06 19:51:22 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2021-07-06 19:51:32 +0200 <ahdyt> ah really? cool
2021-07-06 19:51:54 +0200cheater(~Username@user/cheater)
2021-07-06 19:51:54 +0200 <monochrom> Haskel2010 sounds like even more abandoned, I mean earlier by 1 year >:)
2021-07-06 19:52:09 +0200 <dminuoso> There's even a large Clean toolkit used in some areas in NL, which is called iTask
2021-07-06 19:52:33 +0200 <dminuoso> Think the government and or military uses it in some places
2021-07-06 19:53:16 +0200mikail(~mikail@90.212.77.3) (Ping timeout: 246 seconds)
2021-07-06 19:53:16 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-07-06 19:54:35 +0200safinaskar(~user@109.252.90.89) ()
2021-07-06 19:54:37 +0200safinaskar(~user@109.252.90.89)
2021-07-06 19:54:53 +0200 <ahdyt> yeah sure good task manager.
2021-07-06 19:57:05 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-07-06 19:57:44 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-06 19:59:55 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-06 20:00:07 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2021-07-06 20:01:26 +0200favonia(~favonia@user/favonia)
2021-07-06 20:03:29 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-06 20:04:38 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
2021-07-06 20:06:49 +0200lortabac(~lortabac@95.138.56.124)
2021-07-06 20:07:04 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 20:08:07 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
2021-07-06 20:08:25 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection)
2021-07-06 20:10:14 +0200fengctor(~fengctor@w72-38-155-115.wifi.cgocable.net)
2021-07-06 20:12:00 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2021-07-06 20:12:07 +0200 <ahdyt> I wonder which lib one must use to build blazing fast web ? wai + warp?
2021-07-06 20:12:24 +0200 <davean> ahdyt: how fast do you want it?
2021-07-06 20:12:45 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
2021-07-06 20:13:07 +0200 <davean> I've never gotten past 100k qps per core with Haskell, but I find it pretty trivial to get to 60k qps per core with Haskell, getting into the mid 90s is work.
2021-07-06 20:16:15 +0200dunkeln_(~dunkeln@188.71.194.238)
2021-07-06 20:16:41 +0200juhp(~juhp@128.106.188.66) (Quit: juhp)
2021-07-06 20:16:55 +0200juhp(~juhp@128.106.188.66)
2021-07-06 20:17:58 +0200ahdyt(~ahdyt@103.105.35.77) (Ping timeout: 246 seconds)
2021-07-06 20:18:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 20:18:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-06 20:19:30 +0200qrpnxz(~qrpnxz@user/qrpnxz) (Ping timeout: 240 seconds)
2021-07-06 20:21:30 +0200alx741(~alx741@181.196.69.147)
2021-07-06 20:25:22 +0200fengctor(~fengctor@w72-38-155-115.wifi.cgocable.net) (Read error: Connection reset by peer)
2021-07-06 20:29:40 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-07-06 20:31:19 +0200ahdyt(~ahdyt@103.105.35.78)
2021-07-06 20:31:42 +0200ahdyt(~ahdyt@103.105.35.78) (Client Quit)
2021-07-06 20:33:27 +0200shapr`(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-06 20:33:36 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection)
2021-07-06 20:34:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 20:34:25 +0200beka(~beka@104.193.170-244.PUBLIC.monkeybrains.net)
2021-07-06 20:34:26 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
2021-07-06 20:35:17 +0200cuz(~user@38.140.58.234) (Ping timeout: 252 seconds)
2021-07-06 20:35:26 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-07-06 20:37:45 +0200qrpnxz(~qrpnxz@user/qrpnxz)
2021-07-06 20:38:36 +0200 <qrpnxz> did you guys get my last message just now? client went wonky there
2021-07-06 20:39:18 +0200 <monochrom> Last I got was <qrpnxz> alright gtg
2021-07-06 20:39:25 +0200 <qrpnxz> thanks
2021-07-06 20:39:42 +0200 <qrpnxz> dminuoso, "clang/gcc are quite good at local aggressive optimizations" getting back to this. I noticed a lot of the vector api is "do this, but without bound checks". Languages like Go and Rust are able to automatically ellide bound checks, but i guess this may not really be a thing in haskell? At least it generally doesn't matter because traverse is totally safe in that respect.
2021-07-06 20:39:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-07-06 20:39:54 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 20:41:06 +0200 <monochrom> Go's and Rust's "a[i]" are compiler-generated code, so bound-check code or lack-of is in the hands of the compiler.
2021-07-06 20:41:38 +0200 <monochrom> vector's code is library code, so bound-check code or lack-of is in the hands of the library code.
2021-07-06 20:41:55 +0200 <maerwald> Don't remind me of Go slices... what an abomination
2021-07-06 20:42:07 +0200 <qrpnxz> they are great :P
2021-07-06 20:42:27 +0200 <qrpnxz> i implemented them in haskell and i am very happy about how they turned out
2021-07-06 20:42:28 +0200 <maerwald> 20000 SO posts "what's the difference between an array and a slice in go?"
2021-07-06 20:42:42 +0200 <qrpnxz> LOL why
2021-07-06 20:42:47 +0200 <qrpnxz> just read the spec
2021-07-06 20:42:53 +0200 <qrpnxz> it has the cleanest spec every written
2021-07-06 20:42:59 +0200 <maerwald> go devs read specs?
2021-07-06 20:43:05 +0200 <qrpnxz> hahaha
2021-07-06 20:43:08 +0200 <monochrom> If SO existed in the 1970s, I would expect "what's the difference between array and pointer in C".
2021-07-06 20:43:19 +0200 <monochrom> Indeed I guess it did happen on Usenet.
2021-07-06 20:43:19 +0200 <qrpnxz> there
2021-07-06 20:43:31 +0200 <qrpnxz> are probably 1000000 SO posts on how do pointers work
2021-07-06 20:43:39 +0200 <qrpnxz> i don't get why ppl have problem with pointers either
2021-07-06 20:43:40 +0200 <maerwald> monochrom: hah... that's a tricky one, especially since array degrades to pointer sometimes but has the same syntax
2021-07-06 20:43:41 +0200 <maerwald> terrible
2021-07-06 20:43:47 +0200 <monochrom> Oh oh but what the 1970s got right was the RTFM attitude.
2021-07-06 20:44:13 +0200 <monochrom> Much needed today. People need to say "RTFM" more.
2021-07-06 20:44:19 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2021-07-06 20:44:24 +0200 <qrpnxz> maerwald, yeah, go fixed that. You can actually pass arrays by value in go
2021-07-06 20:44:32 +0200 <maerwald> monochrom: if you put the manual on tik tok, maybe
2021-07-06 20:44:48 +0200 <qrpnxz> they behave exactly as you'd expect
2021-07-06 20:44:56 +0200 <monochrom> Yeah, "tik tok attention span" is now an actual phrase.
2021-07-06 20:45:22 +0200 <monochrom> I learned it from TwoSetViolin. Perhaps they coined it.
2021-07-06 20:46:12 +0200cuz(~user@38.140.58.234)
2021-07-06 20:49:22 +0200Pickchea(~private@user/pickchea)
2021-07-06 20:50:06 +0200dunkeln_(~dunkeln@188.71.194.238) (Ping timeout: 265 seconds)
2021-07-06 20:53:45 +0200 <maerwald> monochrom: do your lectures via tik tok ;)
2021-07-06 20:54:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7930:a54c:f178:5c1a)
2021-07-06 20:55:52 +0200berberman(~berberman@user/berberman) (Ping timeout: 246 seconds)
2021-07-06 20:57:14 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-07-06 20:57:39 +0200 <maerwald> with a little dance, preferably, to get your students attention
2021-07-06 20:57:48 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-06 20:58:17 +0200dunkeln(~dunkeln@188.71.194.238)
2021-07-06 21:03:18 +0200dunkeln(~dunkeln@188.71.194.238) (Ping timeout: 272 seconds)
2021-07-06 21:03:41 +0200shapr`shapr
2021-07-06 21:05:59 +0200 <maerwald> science in 20 years: this is how we spoiled the brains of 2 generations
2021-07-06 21:07:52 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-07-06 21:08:06 +0200 <monochrom> Ugh, at this rate, there will be no science left in 20 years.
2021-07-06 21:08:09 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving)
2021-07-06 21:08:46 +0200 <maerwald> but ppl will know how to twerk
2021-07-06 21:09:13 +0200 <maerwald> evolution isn't linear
2021-07-06 21:09:58 +0200pavonia(~user@user/siracusa)
2021-07-06 21:12:16 +0200terrorjack4(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-06 21:12:31 +0200 <qrpnxz> twerking been dead for years now
2021-07-06 21:13:23 +0200 <monochrom> devolution is an exponential decay, not linear :)
2021-07-06 21:13:30 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-07-06 21:13:30 +0200terrorjack4terrorjack
2021-07-06 21:13:47 +0200 <maerwald> qrpnxz: sorry, I'm not up2date
2021-07-06 21:14:34 +0200 <monochrom> I didn't even know of twerk.
2021-07-06 21:15:28 +0200 <qrpnxz> that's for the better
2021-07-06 21:15:33 +0200 <monochrom> :)
2021-07-06 21:17:01 +0200juhp(~juhp@128.106.188.66) (Quit: juhp)
2021-07-06 21:17:15 +0200juhp(~juhp@128.106.188.66)
2021-07-06 21:21:05 +0200superbil(~superbil@1-34-176-171.HINET-IP.hinet.net) (Ping timeout: 268 seconds)
2021-07-06 21:23:22 +0200superbil(~superbil@1-34-176-171.HINET-IP.hinet.net)
2021-07-06 21:23:52 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 246 seconds)
2021-07-06 21:25:01 +0200notzmv(~zmv@user/notzmv)
2021-07-06 21:26:42 +0200mikail(~mikail@90.152.14.81)
2021-07-06 21:28:05 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-06 21:29:41 +0200ahdyt(~ahdyt@103.105.35.78)
2021-07-06 21:30:36 +0200 <ahdyt> I wonder when we get rid of base Prelude with "better" Prelude? and have one build and package management system?
2021-07-06 21:31:28 +0200 <Rembane> I don't think we ever will.
2021-07-06 21:31:31 +0200 <qrpnxz> https://wiki.haskell.org/No_import_of_Prelude ?
2021-07-06 21:32:09 +0200safinaskar(~user@109.252.90.89) ()
2021-07-06 21:32:43 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:7930:a54c:f178:5c1a) (Remote host closed the connection)
2021-07-06 21:33:01 +0200 <ahdyt> yeah qrpnxz I know this and some other trick, but should I do it again and again?
2021-07-06 21:33:36 +0200 <monochrom> Everyone has a different ideal for a better Prelude.
2021-07-06 21:33:52 +0200 <monochrom> s/ideal/idea/
2021-07-06 21:34:07 +0200 <monochrom> Everyone is in conflict.
2021-07-06 21:34:38 +0200 <monochrom> And everyone explicitly disagrees on package management.
2021-07-06 21:34:53 +0200 <qrpnxz> well my prelude definitely the best prelude
2021-07-06 21:34:58 +0200 <ahdyt> eh really?
2021-07-06 21:35:04 +0200 <qrpnxz> yep
2021-07-06 21:35:09 +0200 <ahdyt> no no
2021-07-06 21:35:10 +0200 <ahdyt> I mean
2021-07-06 21:35:14 +0200 <ahdyt> the package management idea
2021-07-06 21:35:16 +0200 <qrpnxz> it's called import everything
2021-07-06 21:35:25 +0200 <tomsmeding> monochrom: without the sed replace it's still valid for some people
2021-07-06 21:35:28 +0200 <monochrom> All 6 stances of { cabal's way, stack's way, some other way } x { it is a package manager, it is not a package manager } are inhabited.
2021-07-06 21:35:48 +0200 <edmundnoble> I prefer the standard ekmett prelude
2021-07-06 21:35:55 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-06 21:36:18 +0200 <edmundnoble> It's really good for functional stuff
2021-07-06 21:36:30 +0200 <edmundnoble> Bunch of useful type classes
2021-07-06 21:36:48 +0200 <monochrom> But the "idea" version is valid for more people and is enough to block any way forward.
2021-07-06 21:37:08 +0200 <edmundnoble> You can find it at https://hackage.haskell.org/package/base-4.15.0.0/docs/Prelude.html
2021-07-06 21:37:18 +0200 <tomsmeding> true
2021-07-06 21:37:35 +0200 <tomsmeding> edmundnoble: sneaky
2021-07-06 21:37:48 +0200 <monochrom> heh
2021-07-06 21:37:54 +0200 <ahdyt> but I think cabal and stack is package manager?
2021-07-06 21:37:57 +0200rostero(uid236576@id-236576.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-06 21:38:01 +0200 <ahdyt> lib manager~
2021-07-06 21:38:07 +0200 <qrpnxz> i wish i had a tool that automatically removed unused imports in haskell files
2021-07-06 21:38:13 +0200 <edmundnoble> There is actually a more featureful version if you want more, https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens.html
2021-07-06 21:38:28 +0200 <monochrom> ghc -ddump-minimal-imports
2021-07-06 21:39:16 +0200 <qrpnxz> :O
2021-07-06 21:39:41 +0200 <monochrom> The value of RTFM
2021-07-06 21:40:07 +0200 <qrpnxz> didn't seem to change anything or do anything
2021-07-06 21:40:32 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 21:40:43 +0200 <edmundnoble> It dumps the minimal imports
2021-07-06 21:40:51 +0200 <edmundnoble> ...to stdout, I'm guessing
2021-07-06 21:41:06 +0200 <edmundnoble> It doesn't "dump" the *unused* imports from your files
2021-07-06 21:41:13 +0200 <edmundnoble> Deleting them in place or something
2021-07-06 21:41:25 +0200 <edmundnoble> This is again a guess, because I didn't RTFM lololol
2021-07-06 21:41:31 +0200 <qrpnxz> it didn't print anything, looking it up
2021-07-06 21:41:31 +0200 <monochrom> Not stdout. Look for *.imports
2021-07-06 21:41:36 +0200 <qrpnxz> ah ok
2021-07-06 21:42:01 +0200 <qrpnxz> ok this dump is a lie
2021-07-06 21:42:20 +0200 <qrpnxz> it has stuff i didn't use
2021-07-06 21:42:43 +0200 <qrpnxz> oh, ig i can just delete lines with () ?
2021-07-06 21:42:58 +0200 <monochrom> Perhaps you use instances from those.
2021-07-06 21:43:44 +0200 <monochrom> It also works better if you have an explicit "import Prelude" for it to chew on and emit "import Prelude ( putStrLn )" for my toy example "main = putStrLn "x""
2021-07-06 21:43:50 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-07-06 21:43:53 +0200 <ahdyt> edmundnoble do u prefer cabal or stack?
2021-07-06 21:43:58 +0200 <edmundnoble> cabal
2021-07-06 21:44:04 +0200 <ahdyt> and how you init a project with ekmet's prelude?
2021-07-06 21:44:14 +0200panda_mankoala_man
2021-07-06 21:44:18 +0200 <ahdyt> by manually doing the "tricks" right?
2021-07-06 21:44:20 +0200 <edmundnoble> Do you want the more featureful one?
2021-07-06 21:44:24 +0200 <ahdyt> or you create a script?
2021-07-06 21:44:38 +0200 <ahdyt> nope, I think something between cabal and stack is better
2021-07-06 21:44:56 +0200 <ahdyt> stack is strange like it's requires /root dir ? for what?
2021-07-06 21:45:08 +0200 <ahdyt> I try stack in nix-on-droid
2021-07-06 21:45:08 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-06 21:45:10 +0200 <edmundnoble> Do you want the more featureful of ekmett's favored preludes
2021-07-06 21:45:14 +0200 <edmundnoble> Or the more minimalist
2021-07-06 21:45:16 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-06 21:45:19 +0200 <edmundnoble> Still usable
2021-07-06 21:46:00 +0200 <edmundnoble> If you want the more minimalist one, in your cabal file, make sure you have `build-depends: base ^>= <version>` with your GHC version's corresponding `base` version subbed in for `<version>`
2021-07-06 21:46:00 +0200ahdyt(~ahdyt@103.105.35.78) (Quit: Client closed)
2021-07-06 21:46:17 +0200ahdyt(~ahdyt@103.105.35.78)
2021-07-06 21:46:17 +0200 <ahdyt> both? I don't mind the featurful or the minimalist, my focus is on how you configure new project to your needs.
2021-07-06 21:46:40 +0200 <edmundnoble> After that, you will have access to it in all files by default
2021-07-06 21:46:41 +0200 <ahdyt> it's actually the default? haha
2021-07-06 21:46:44 +0200 <monochrom> I think "cabal init" adds the base dependency for you.
2021-07-06 21:46:47 +0200 <edmundnoble> :^)
2021-07-06 21:46:54 +0200 <ahdyt> haha yeah true it is
2021-07-06 21:46:59 +0200 <sclv> yeah i just cabal init --interactive
2021-07-06 21:47:03 +0200 <sclv> and do nothing else special
2021-07-06 21:47:14 +0200 <sclv> add deps and flags as i go
2021-07-06 21:47:17 +0200 <edmundnoble> If you want `lens`, you can add `lens` to your dependencies and import `Control.Lens` wherever ya want
2021-07-06 21:47:21 +0200 <ahdyt> ok so you don't bother doing the tricks then
2021-07-06 21:47:30 +0200 <edmundnoble> Sorry, I dunno which tricks you mean
2021-07-06 21:47:38 +0200 <ahdyt> base and lens? that's ekmett's favorite? nice.
2021-07-06 21:47:55 +0200 <edmundnoble> It was last time I heard him say, yeah
2021-07-06 21:48:07 +0200 <sclv> in the scheme of things i spend an order of magnitude more time thinking about the code to write than writing it, and in turn an order of magnitude more time writing the code than wrangling imports and an order of magnitude more time wrangling imports than futzing with my cabal file deps
2021-07-06 21:48:09 +0200 <ahdyt> tricks like dropping default Prelude to something else, wheter it's Relude or ClassyPrelude, or NoPreludeAtAll
2021-07-06 21:48:30 +0200 <sclv> i just use prelude because i don't want to have to worry about depending on someone else maintaining their fancy prelude
2021-07-06 21:48:47 +0200 <sclv> I _do_ make a point often of importing it hiding the partial functions, and depending on `safe`
2021-07-06 21:49:03 +0200 <sclv> also for $WORK we have a standard company prelude I try to make use of -- but i always forget what's in it, lol
2021-07-06 21:49:06 +0200jolly(~jolly@208.180.97.158) (Ping timeout: 252 seconds)
2021-07-06 21:49:47 +0200 <sclv> (at this point I don't need to explicitly hide partial functions anymore though, from years of practice i've trained myself out of using them even when they're lying around)
2021-07-06 21:50:12 +0200MQ-17J(~MQ-17J@8.21.10.15) (Ping timeout: 252 seconds)
2021-07-06 21:50:24 +0200 <ahdyt> sclv your company mostly use stack or cabal?
2021-07-06 21:50:40 +0200 <sclv> we use nix to manage everything, and cabal v1-build on top of it
2021-07-06 21:50:52 +0200 <ahdyt> ah okay.
2021-07-06 21:50:56 +0200 <davean> oh wow, you'
2021-07-06 21:50:58 +0200 <davean> re still on v1?
2021-07-06 21:51:00 +0200 <sclv> for personal projects i use cabal v2-build
2021-07-06 21:51:04 +0200daveanlooks at sclv
2021-07-06 21:51:13 +0200 <sclv> davean: yeah well the v2 / nix integration story isn't perfect
2021-07-06 21:51:26 +0200 <ahdyt> oh yeah I occured this when using stack
2021-07-06 21:51:29 +0200 <sclv> we sort of know how to do it now, and have been intending to make the shift, but its tech debt
2021-07-06 21:51:34 +0200 <davean> True, I just expected you to have the story tou wanted done!
2021-07-06 21:51:46 +0200 <ahdyt> atomicFileCreate - c_safe_linkat - anonymous: permission denied (Operation not permitted)
2021-07-06 21:51:56 +0200lavaman(~lavaman@98.38.249.169)
2021-07-06 21:51:59 +0200 <davean> I didn't know your didn't pay your tech CC bill until the deadline was looming!
2021-07-06 21:52:03 +0200 <ahdyt> I look into the source it's trying to write something into root
2021-07-06 21:52:04 +0200 <davean> This is a whole new side of you
2021-07-06 21:52:09 +0200 <sclv> i think we worked out the details of how to implement it, but didn't do it yet
2021-07-06 21:52:21 +0200 <sclv> i mean i'm not on the build/devops team, lol.
2021-07-06 21:53:00 +0200 <slowButPresent> ahdyt: stack doesn't require root if you are willing to manage the dependencies yourself https://docs.haskellstack.org/en/stable/install_and_upgrade/#manual-download_2
2021-07-06 21:53:03 +0200 <sclv> like this is the "i'll use what's in front of me until the other team gets around to fixing it" side
2021-07-06 21:53:51 +0200 <ahdyt> slowButPresent oh, so I missing stack deps?
2021-07-06 21:54:13 +0200 <qrpnxz> slowButPresent, i think managing deps is exactly what someone downloading a dep manager doesn't want to do
2021-07-06 21:54:17 +0200boxscape_(~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Quit: Connection closed)
2021-07-06 21:54:27 +0200 <slowButPresent> ahdyt: no idea. but it can be done
2021-07-06 21:55:19 +0200 <ahdyt> qrpnxz yeah I use stack inside nix, but the nix-on-droid one have no root access, strangely the nix on desktop doesn't require root at all.
2021-07-06 21:55:37 +0200AWizzArd(~code@gehrels.uberspace.de) (Changing host)
2021-07-06 21:55:37 +0200AWizzArd(~code@user/awizzard)
2021-07-06 21:56:18 +0200 <slowButPresent> qrpnxz: I would guess using stack in ~ does still remove most the managment
2021-07-06 21:56:45 +0200 <slowButPresent> like on arch / gentoo most of that stuff is installed already
2021-07-06 22:00:34 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-07-06 22:00:39 +0200 <veverak> h i folks
2021-07-06 22:00:53 +0200jocke-l(jocke-l@a.x0.is) (Quit: WeeChat 2.3)
2021-07-06 22:00:54 +0200 <veverak> I have simple "enum" type: data MT = A | B | C;
2021-07-06 22:01:13 +0200 <veverak> how to overate over it? basically I want a simple way to create [MT] with instance of each constructor
2021-07-06 22:01:27 +0200jocke-l(jocke-l@a.x0.is)
2021-07-06 22:01:35 +0200 <edmundnoble> `[A..C]`
2021-07-06 22:01:41 +0200 <veverak> :facepalm:
2021-07-06 22:01:43 +0200 <veverak> thanks :)
2021-07-06 22:01:46 +0200 <edmundnoble> Also you will want an `Enum` instance of `MT`
2021-07-06 22:02:02 +0200 <ahdyt> deriving (Enum) is it possible?
2021-07-06 22:02:26 +0200 <edmundnoble> Yes
2021-07-06 22:02:32 +0200 <ahdyt> good then
2021-07-06 22:05:03 +0200juhp(~juhp@128.106.188.66) (Ping timeout: 252 seconds)
2021-07-06 22:05:43 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-06 22:05:45 +0200 <ahdyt> https://github.com/fpco/unliftio/blob/master/unliftio/src/UnliftIO/IO/File/Posix.hs#L313
2021-07-06 22:06:22 +0200 <ahdyt> the /proc/self/fd/
2021-07-06 22:06:33 +0200 <janus> veverak: you can also do [minBound..maxBound] if you derive Bounded
2021-07-06 22:06:39 +0200 <ahdyt> that's the root path stack use when do stack setup here.
2021-07-06 22:06:45 +0200juhp(~juhp@128.106.188.66)
2021-07-06 22:07:18 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-06 22:07:29 +0200 <qrpnxz> slowButPresent, btw i don't ever do sudo for stack so idk lol
2021-07-06 22:07:42 +0200 <qrpnxz> i think the install script need sudo
2021-07-06 22:07:45 +0200 <qrpnxz> but i did something
2021-07-06 22:07:50 +0200 <qrpnxz> that i forget to avoid that
2021-07-06 22:08:04 +0200 <veverak> yeah, I found 'enumFrom (toEnum 0)`, so I do not have to use Bounded
2021-07-06 22:08:12 +0200 <ahdyt> `stack setup` prompt you for password or not? haha
2021-07-06 22:08:34 +0200 <qrpnxz> does not
2021-07-06 22:10:13 +0200 <dsal> I use stack + nix. Every time I try to use plain cabal, it feels like a time sink. Someday I'll learn the way.
2021-07-06 22:10:35 +0200krz3si(~szara@2a02:a31c:853b:b780:df0:1631:dcb9:4e4f) (Read error: Connection reset by peer)
2021-07-06 22:11:13 +0200 <ahdyt> time sink?
2021-07-06 22:11:40 +0200 <ahdyt> uh yeah, I'm sorry, language barrier.
2021-07-06 22:12:34 +0200 <sclv> its an english idiom for a sink, like in a bathroom, and it travels through time (backwards and forwards both). :-)
2021-07-06 22:12:36 +0200 <ahdyt> but I think cabal is just managing haskell-stuff only not other things required, e.g. if you need pcre-heavy, cabal doesn't install that for you I guess, where stack is?
2021-07-06 22:12:49 +0200 <dsal> The combination of stack and nix gets my projects going very quickly, and I've got a lot of projects, so I stick with it.
2021-07-06 22:12:54 +0200 <sclv> no stack doesn't manage non haskell stuff either -- nix does tho
2021-07-06 22:13:03 +0200zebrag(~chris@user/zebrag)
2021-07-06 22:13:12 +0200 <ahdyt> ah I thought.
2021-07-06 22:14:57 +0200 <Vq> Doesn't stack depend on Cabal?
2021-07-06 22:15:27 +0200 <sclv> cabal the library, not cabal-the-executable
2021-07-06 22:15:40 +0200 <maerwald> the library is mostly about the .cabal file format
2021-07-06 22:15:57 +0200 <maerwald> would be pointless re-implementing that, since it has nothing to do with UX
2021-07-06 22:16:52 +0200 <Vq> I only use stack on some Windows boxes since I can't figure out how to get ghc on them any other way and I recall that it generates .cabal files.
2021-07-06 22:17:10 +0200 <maerwald> Vq: you can use ghcup on windows too
2021-07-06 22:17:25 +0200 <maerwald> the thing that generates .cabal files is called hpack
2021-07-06 22:17:34 +0200 <maerwald> from package.yaml and is not a stack thing per-se
2021-07-06 22:17:44 +0200 <Vq> Never tried ghcup, it works on Windows?
2021-07-06 22:17:47 +0200 <maerwald> yeah
2021-07-06 22:18:01 +0200ahdyt(~ahdyt@103.105.35.78) (Ping timeout: 246 seconds)
2021-07-06 22:19:23 +0200 <Vq> I should try that the next time I have to build on Windows.
2021-07-06 22:20:49 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Remote host closed the connection)
2021-07-06 22:21:01 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-06 22:21:32 +0200 <dsal> I barely understand nix, but it makes things so much easier for me.
2021-07-06 22:25:34 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-06 22:29:12 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-06 22:32:49 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 246 seconds)
2021-07-06 22:33:02 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-07-06 22:33:07 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 22:33:37 +0200o1lo01ol1o(~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Remote host closed the connection)
2021-07-06 22:36:13 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-06 22:36:37 +0200 <koz> If I have a ForeignPtr Word8, can I pass that to a C function via FFI? If I do, what would its type be in C?
2021-07-06 22:36:50 +0200 <koz> (I am assuming something like 'uint8_t const *')
2021-07-06 22:37:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 240 seconds)
2021-07-06 22:41:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-06 22:41:13 +0200chddr(~Thunderbi@91.226.34.151) (Ping timeout: 246 seconds)
2021-07-06 22:42:04 +0200acidjnk_new(~acidjnk@p200300d0c72b9519d1d3899e95f4527e.dip0.t-ipconnect.de)
2021-07-06 22:45:03 +0200 <adamse> koz: i think you want to use withForeignPtr and pass the Ptr to ffi
2021-07-06 22:45:12 +0200 <koz> adamse: Ah, OK, thanks!
2021-07-06 22:45:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-06 22:45:54 +0200dincio(~dincio@5.171.8.120)
2021-07-06 22:46:39 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9)
2021-07-06 22:48:16 +0200 <adamse> koz: for the type of the pointed to thing i guess anything that works is ok :p
2021-07-06 22:48:35 +0200 <koz> 'Anything that works' is a dangerous thing to say about C.
2021-07-06 22:48:41 +0200 <koz> (but then again, 'works' also is)
2021-07-06 22:49:45 +0200 <systemfault> C: It compiles? Ship it!
2021-07-06 22:50:18 +0200 <koz> *slaps roof of C* This bad boy can fit so much undefined behaviour inside.
2021-07-06 22:50:19 +0200 <adamse> ForeignPtr Word8 doesn't really promise anything about the contents, so it's up to you to access is with operations that make sense I think
2021-07-06 22:50:53 +0200jolly(~jolly@208.180.97.158)
2021-07-06 22:51:30 +0200dincio(~dincio@5.171.8.120) (Quit: WeeChat 3.1)
2021-07-06 22:53:10 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-06 22:54:08 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 22:55:24 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-06 22:56:00 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 244 seconds)
2021-07-06 22:57:10 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-07-06 22:57:55 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-06 22:58:34 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2021-07-06 22:58:57 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-07-06 22:59:22 +0200cheater(~Username@user/cheater)
2021-07-06 22:59:26 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-06 22:59:29 +0200warnz(~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) (Remote host closed the connection)
2021-07-06 23:02:40 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 256 seconds)
2021-07-06 23:03:24 +0200ikex(~ash@user/ikex) (Quit: ZNC - https://znc.in)
2021-07-06 23:03:42 +0200ikex(~ash@user/ikex)
2021-07-06 23:03:46 +0200hrnz(~ulli@irc.plumbing) (Ping timeout: 240 seconds)
2021-07-06 23:04:52 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-07-06 23:05:10 +0200hrnz(~ulli@irc.plumbing)
2021-07-06 23:07:12 +0200hatz_(~user@2a05:f480:1400:f44:5400:3ff:fe6d:f349)
2021-07-06 23:09:24 +0200beka(~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 252 seconds)
2021-07-06 23:09:50 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-06 23:12:47 +0200cuz(~user@38.140.58.234) (Remote host closed the connection)
2021-07-06 23:12:55 +0200cuz(~user@38.140.58.234)
2021-07-06 23:13:25 +0200hendursa1(~weechat@user/hendursaga) (Remote host closed the connection)
2021-07-06 23:13:50 +0200hendursa1(~weechat@user/hendursaga)
2021-07-06 23:14:30 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 258 seconds)
2021-07-06 23:15:50 +0200norias(~jaredm@216.sub-174-242-35.myvzw.com)
2021-07-06 23:25:54 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-07-06 23:27:25 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2021-07-06 23:27:58 +0200warnz(~warnz@104-55-100-55.lightspeed.lsvlky.sbcglobal.net)
2021-07-06 23:28:02 +0200warnz(~warnz@104-55-100-55.lightspeed.lsvlky.sbcglobal.net) (Remote host closed the connection)
2021-07-06 23:28:15 +0200fendor(~fendor@178.165.128.32.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-06 23:28:34 +0200pgib(~textual@173.38.117.92)
2021-07-06 23:28:35 +0200warnz(~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0)
2021-07-06 23:28:45 +0200beka(~beka@104.193.170-244.PUBLIC.monkeybrains.net)
2021-07-06 23:29:28 +0200pgib(~textual@173.38.117.92) (Client Quit)
2021-07-06 23:30:58 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 240 seconds)
2021-07-06 23:32:26 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-06 23:32:53 +0200 <chris-the-slurpa> is there a way to find msg's in this chat i've had my name in
2021-07-06 23:32:55 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-07-06 23:32:56 +0200warnz(~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) (Ping timeout: 252 seconds)
2021-07-06 23:33:10 +0200 <chris-the-slurpa> to retrieve msg's aimed at me from earlier
2021-07-06 23:33:35 +0200 <dsal> chris-the-slurpa: /topic links to logs
2021-07-06 23:34:26 +0200mikail(~mikail@90.152.14.81) (Ping timeout: 258 seconds)
2021-07-06 23:38:04 +0200Ji(~Ji@5.180.62.209)
2021-07-06 23:38:05 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-06 23:38:32 +0200Ji(~Ji@5.180.62.209) (Client Quit)
2021-07-06 23:40:15 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-06 23:43:11 +0200chris-the-slurpa(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-06 23:43:47 +0200chris-the-slurpa(~chris@81.96.113.213)
2021-07-06 23:45:11 +0200 <monochrom> koz: Word8 becomes uint8_t, yes.
2021-07-06 23:46:02 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 265 seconds)
2021-07-06 23:48:04 +0200chris-the-slurpa(~chris@81.96.113.213) (Ping timeout: 246 seconds)
2021-07-06 23:48:33 +0200 <monochrom> If you want unsigned char on the C side, then the Haskell side is CUChar.
2021-07-06 23:51:55 +0200norias(~jaredm@216.sub-174-242-35.myvzw.com) (Ping timeout: 246 seconds)
2021-07-06 23:54:44 +0200hgolden(uid507415@id-507415.highgate.irccloud.com)
2021-07-06 23:55:29 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net)
2021-07-06 23:57:10 +0200cuz(~user@38.140.58.234) (Ping timeout: 246 seconds)
2021-07-06 23:59:06 +0200warnz(~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0)
2021-07-06 23:59:58 +0200yauhsien(~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)