Home liberachat/#haskell: Logs Calendar

Logs on 2021-07-06 (liberachat/#haskell)

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

All times are in UTC on 2021-07-06.