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.