2021/03/04

2021-03-04 00:05:38 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 00:06:29 +0000vk3wtf(~doc@115-64-102-158.tpgi.com.au) (Ping timeout: 260 seconds)
2021-03-04 00:06:41 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-03-04 00:07:04 +0000puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 260 seconds)
2021-03-04 00:07:13 +0000xff0x(~xff0x@2001:1a81:53fc:b400:9e6f:7ec7:a06c:c48c) (Ping timeout: 258 seconds)
2021-03-04 00:07:26 +0000hendursa1(~weechat@gateway/tor-sasl/hendursaga) ()
2021-03-04 00:07:55 +0000xff0x(~xff0x@2001:1a81:53fc:b400:1709:f370:e50:9a12)
2021-03-04 00:08:27 +0000pair(~fruitsale@192-0-213-82.cpe.teksavvy.com)
2021-03-04 00:08:32 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-04 00:09:16 +0000apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 276 seconds)
2021-03-04 00:10:14 +0000pair(~fruitsale@192-0-213-82.cpe.teksavvy.com) ()
2021-03-04 00:11:15 +0000wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 256 seconds)
2021-03-04 00:14:13 +0000wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se)
2021-03-04 00:14:31 +0000evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-03-04 00:14:57 +0000mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 264 seconds)
2021-03-04 00:15:28 +0000Tario(~Tario@201.192.165.173) (Ping timeout: 245 seconds)
2021-03-04 00:16:59 +0000evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-03-04 00:19:38 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:48a4:c618:6af2:de72)
2021-03-04 00:20:38 +0000puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net)
2021-03-04 00:21:23 +0000vk3wtf(~doc@115-64-102-158.tpgi.com.au)
2021-03-04 00:21:32 +0000Tario(~Tario@200.119.187.14)
2021-03-04 00:22:11 +0000danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-03-04 00:22:44 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 00:22:53 +0000goepsilongo(~goepsilon@2603-7000-ab00-62ed-0000-0000-0000-0c67.res6.spectrum.com) (Quit: WeeChat 3.0)
2021-03-04 00:26:46 +0000chenshen(~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 00:27:40 +0000viluon(uid453725@gateway/web/irccloud.com/x-ztatnfztaowajlyf)
2021-03-04 00:28:55 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 00:32:38 +0000rajivr(uid269651@gateway/web/irccloud.com/x-ztiomawifornmkpr)
2021-03-04 00:35:57 +0000Tario(~Tario@200.119.187.14) (Ping timeout: 264 seconds)
2021-03-04 00:36:02 +0000gitgoood(~gitgood@82-132-217-228.dab.02.net)
2021-03-04 00:36:55 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 00:37:16 +0000chenshen(~chenshen@2620:10d:c090:400::5:9f47)
2021-03-04 00:39:04 +0000gitgood(~gitgood@82-132-216-44.dab.02.net) (Read error: Connection reset by peer)
2021-03-04 00:39:18 +0000romesrf(~romesrf@44.190.189.46.rev.vodafone.pt)
2021-03-04 00:39:20 +0000emmanuel_erc(~user@cpe-74-71-106-64.nyc.res.rr.com)
2021-03-04 00:40:14 +0000 <romesrf> hey, i'm trying to write a function sort of "satisfyPredicate"
2021-03-04 00:40:20 +0000 <romesrf> satisfyPredicate predicate x = if predicate x then x else satisfyPredicate predicate (x+1)
2021-03-04 00:40:50 +0000 <romesrf> this works, for example, if i call satisfyPredicate (>200) 1, i'll get 201
2021-03-04 00:41:41 +0000Tario(~Tario@201.192.165.173)
2021-03-04 00:41:51 +0000 <romesrf> however, i'm not sure passing an accumulator value to the function is a clean haskell practice... feels kind of off
2021-03-04 00:42:27 +0000 <romesrf> what would be a correct way to get this function "satisfyPredicate" to receive a predicate only, and to output the first natural number to satisfy it
2021-03-04 00:42:32 +0000 <romesrf> ?
2021-03-04 00:43:49 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-03-04 00:44:37 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 00:44:55 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-03-04 00:45:38 +0000conal(~conal@64.71.133.70)
2021-03-04 00:45:49 +0000 <monochrom> It is alright, I don't think there is anything bad about it.
2021-03-04 00:46:56 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 00:47:14 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:48a4:c618:6af2:de72) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 00:47:59 +0000 <monochrom> Another style is: head (filter (>200) [0..]). But don't worry about it too much, either is fine. Learn both.
2021-03-04 00:48:26 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 00:48:55 +0000conal(~conal@64.71.133.70)
2021-03-04 00:49:47 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 00:49:58 +0000 <xsperry> as a general recommendation, when you want to avoid passing initial value, one option is to make a helper function (usually within the function that calls it)
2021-03-04 00:52:34 +0000m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 245 seconds)
2021-03-04 00:54:46 +0000redmp(~redmp@172.58.35.249) (Ping timeout: 276 seconds)
2021-03-04 00:55:34 +0000Tario(~Tario@201.192.165.173)
2021-03-04 00:56:33 +0000 <xsperry> I like being able to pass initial value in this case though. and you can make the function more general by accepting Enum and not Num. ie:
2021-03-04 00:56:53 +0000 <xsperry> > let satisfyPredicate2 f init = head $ filter f [init..] in satisfyPredicate2 isAlpha '\0'
2021-03-04 00:56:56 +0000 <lambdabot> 'A'
2021-03-04 00:57:53 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 00:58:24 +0000yahb(xsbot@haskell/bot/yahb) (Ping timeout: 260 seconds)
2021-03-04 00:58:52 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 01:00:50 +0000Wuzzy(~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-03-04 01:02:28 +0000conal(~conal@64.71.133.70)
2021-03-04 01:03:19 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 01:04:23 +0000 <romesrf> monochrom: oh, thank you vmuch
2021-03-04 01:04:34 +0000jacks2(~bc8134e3@217.29.117.252)
2021-03-04 01:05:07 +0000 <romesrf> xsperry: interesting, i'm not sure i understand but i'll save this message for when i do :)
2021-03-04 01:05:14 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-04 01:05:35 +0000mniip(mniip@freenode/staff/mniip) (Ping timeout: 600 seconds)
2021-03-04 01:06:30 +0000 <xsperry> rom1504, [..] is syntax sugar for enumFrom/enumFromTo. that's where the Enum constraint comes from
2021-03-04 01:06:34 +0000 <xsperry> romesrf*
2021-03-04 01:07:13 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 01:07:17 +0000 <xsperry> > enumFrom 1
2021-03-04 01:07:19 +0000 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,...
2021-03-04 01:07:22 +0000 <xsperry> > enumFrom 'a'
2021-03-04 01:07:24 +0000 <lambdabot> "abcdefghijklmnopqrstuvwxyz{|}~\DEL\128\129\130\131\132\133\134\135\136\137\...
2021-03-04 01:07:31 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
2021-03-04 01:08:45 +0000 <ephemient> > enumFromBy 'A' 'a'
2021-03-04 01:08:47 +0000 <lambdabot> error:
2021-03-04 01:08:48 +0000 <lambdabot> • Variable not in scope: enumFromBy :: Char -> Char -> t
2021-03-04 01:08:48 +0000 <lambdabot> • Perhaps you meant one of these:
2021-03-04 01:08:49 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-04 01:08:52 +0000 <ephemient> > enumFromThen 'A' 'a'
2021-03-04 01:08:54 +0000 <lambdabot> "Aa\129\161\193\225\257\289\321\353\385\417\449\481\513\545\577\609\641\673\...
2021-03-04 01:09:07 +0000 <ephemient> oh right Char is bigger than Byte
2021-03-04 01:09:59 +0000redmp(~redmp@172.58.35.249)
2021-03-04 01:11:17 +0000conal(~conal@64.71.133.70)
2021-03-04 01:11:28 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 01:11:29 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-03-04 01:11:48 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 01:12:50 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 01:13:35 +0000ryanbooker(uid4340@gateway/web/irccloud.com/x-tduhrfkkobkcibnm)
2021-03-04 01:15:40 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 01:16:33 +0000ryanbooker(uid4340@gateway/web/irccloud.com/x-tduhrfkkobkcibnm) (Client Quit)
2021-03-04 01:17:39 +0000ryanbooker(uid4340@gateway/web/irccloud.com/x-rnkpnanajeurascu)
2021-03-04 01:18:33 +0000stree(~stree@68.36.8.116) (Ping timeout: 264 seconds)
2021-03-04 01:19:28 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-04 01:20:14 +0000SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
2021-03-04 01:20:38 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 01:22:35 +0000inkbottle(~inkbottle@aaubervilliers-654-1-112-176.w86-198.abo.wanadoo.fr)
2021-03-04 01:22:51 +0000SupaYoshi(~supayoshi@213.10.140.13)
2021-03-04 01:23:16 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
2021-03-04 01:23:49 +0000zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Ping timeout: 245 seconds)
2021-03-04 01:24:37 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 01:25:19 +0000puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 276 seconds)
2021-03-04 01:25:59 +0000puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net)
2021-03-04 01:26:07 +0000romesrf_(~romesrf@44.190.189.46.rev.vodafone.pt)
2021-03-04 01:28:24 +0000romesrf(~romesrf@44.190.189.46.rev.vodafone.pt) (Ping timeout: 245 seconds)
2021-03-04 01:28:40 +0000_Alleria(~AllahuAkb@2603-7000-3040-0000-6cee-2fa2-b3ba-fa1a.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
2021-03-04 01:30:12 +0000Zivert(~Zivert@90.200.185.163) (K-Lined)
2021-03-04 01:30:31 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 276 seconds)
2021-03-04 01:30:51 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-04 01:31:04 +0000redmp(~redmp@172.58.35.249) (Ping timeout: 260 seconds)
2021-03-04 01:31:28 +0000stree(~stree@68.36.8.116)
2021-03-04 01:36:26 +0000Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-04 01:37:11 +0000conal(~conal@198.8.81.74)
2021-03-04 01:37:29 +0000gitgoood(~gitgood@82-132-217-228.dab.02.net) (Read error: Connection reset by peer)
2021-03-04 01:41:47 +0000conal(~conal@198.8.81.74) (Quit: Computer has gone to sleep.)
2021-03-04 01:43:56 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-03-04 01:44:02 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 01:45:45 +0000__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 246 seconds)
2021-03-04 01:47:34 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-04 01:48:15 +0000Kneiva(kneiva@raah.fi) (Ping timeout: 265 seconds)
2021-03-04 01:48:53 +0000Kneiva(kneiva@raah.fi)
2021-03-04 01:49:13 +0000 <romesrf_> xsperry: ty, got it
2021-03-04 01:49:23 +0000Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-03-04 01:49:29 +0000 <jacks2> this looks interesting. anyone tried using it? "TabNine Haskell Autocompletion with deep learning" https://www.reddit.com/r/haskell/comments/dbvuq1/tabnine_haskell_autocompletion_with_deep_learning/
2021-03-04 01:49:36 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-04 01:50:40 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 01:52:56 +0000Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-04 01:56:26 +0000conal(~conal@198.8.81.74)
2021-03-04 01:57:51 +0000Alleria_(~AllahuAkb@2603-7000-3040-0000-e0ce-a923-ba93-469f.res6.spectrum.com)
2021-03-04 02:00:27 +0000DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2021-03-04 02:01:37 +0000hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:92d3:a4a2:1db6:e0dd) (Ping timeout: 272 seconds)
2021-03-04 02:01:39 +0000romesrf_(~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1)
2021-03-04 02:02:18 +0000vgtw_(~vgtw@gateway/tor-sasl/vgtw)
2021-03-04 02:03:10 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 02:04:01 +0000vgtw(~vgtw@gateway/tor-sasl/vgtw) (Ping timeout: 268 seconds)
2021-03-04 02:04:02 +0000vgtw_vgtw
2021-03-04 02:04:05 +0000ArsenArsen(~Arsen@fsf/member/ArsenArsen) (Ping timeout: 260 seconds)
2021-03-04 02:04:26 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 240 seconds)
2021-03-04 02:04:45 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 264 seconds)
2021-03-04 02:05:51 +0000qih(~pi@210-54-120-166.adsl.xtra.co.nz)
2021-03-04 02:09:55 +0000Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2021-03-04 02:10:15 +0000olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds)
2021-03-04 02:14:41 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-03-04 02:15:35 +0000ArsenArsen(~Arsen@fsf/member/ArsenArsen)
2021-03-04 02:16:12 +0000forgottenone(~forgotten@176.88.30.190)
2021-03-04 02:16:40 +0000drbean_(~drbean@TC210-63-209-53.static.apol.com.tw)
2021-03-04 02:17:03 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-04 02:17:12 +0000DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-04 02:17:12 +0000conal(~conal@198.8.81.74) (Quit: Computer has gone to sleep.)
2021-03-04 02:17:12 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 02:18:35 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:dc1b:a75f:4664:5af2)
2021-03-04 02:20:33 +0000DataComputist(~lumeng@50.43.26.251)
2021-03-04 02:21:27 +0000 <ezzieyguywuf> do you add your .ghcid to your git repo?
2021-03-04 02:22:05 +0000elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 02:24:08 +0000refusenick(~user@2601:644:8502:d700::9c98)
2021-03-04 02:24:42 +0000olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-04 02:25:35 +0000 <glguy> It's not a bad idea; the defaults for ghcid don't seem that good
2021-03-04 02:26:02 +0000Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-03-04 02:26:14 +0000 <ezzieyguywuf> I was just wondering if there was any rule-of-thumb that considered it poor practice
2021-03-04 02:27:25 +0000Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-04 02:28:35 +0000erisco(~erisco@d24-57-249-233.home.cgocable.net)
2021-03-04 02:29:59 +0000slack1256(~slack1256@45.4.2.52)
2021-03-04 02:30:24 +0000nineonine(~nineonine@50.216.62.2)
2021-03-04 02:33:01 +0000nineonin_(~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
2021-03-04 02:33:10 +0000average(uid473595@gateway/web/irccloud.com/x-ooapnrdetvogzxir) (Quit: Connection closed for inactivity)
2021-03-04 02:33:18 +0000augnun(~augnun@2804:14c:658b:41bb:6e95:e9d6:334a:6db9)
2021-03-04 02:33:27 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 02:33:29 +0000pharaun(~pharaun@static.88-198-62-245.clients.your-server.de) (Ping timeout: 256 seconds)
2021-03-04 02:33:37 +0000Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 268 seconds)
2021-03-04 02:33:57 +0000xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Ping timeout: 260 seconds)
2021-03-04 02:33:59 +0000int-e(~noone@int-e.eu) (Ping timeout: 256 seconds)
2021-03-04 02:34:45 +0000nek0(~nek0@mail.nek0.eu) (Ping timeout: 264 seconds)
2021-03-04 02:35:35 +0000Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-03-04 02:36:49 +0000 <koz_> ezzieyguywuf: I dunno. For a personal project, it's primarily for your convenience.
2021-03-04 02:36:51 +0000 <koz_> So I wouldn't worry.
2021-03-04 02:38:46 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 276 seconds)
2021-03-04 02:40:40 +0000Sigyn(sigyn@freenode/utility-bot/sigyn) (*.net *.split)
2021-03-04 02:41:46 +0000 <ezzieyguywuf> fair point
2021-03-04 02:42:02 +0000Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-04 02:42:11 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:dc1b:a75f:4664:5af2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 02:42:17 +0000 <ezzieyguywuf> is there a less confusing way to do `either (Left . doSomething) Right (getAnEitherFrom someData)`
2021-03-04 02:42:19 +0000DataComputist(~lumeng@50.43.26.251) (Remote host closed the connection)
2021-03-04 02:42:35 +0000 <ezzieyguywuf> in other words, if getAnEitherFrom returns a Left, then we want to propogate the Left but transform it
2021-03-04 02:42:45 +0000 <koz_> ezzieyguywuf: first from Data.Bifunctor?
2021-03-04 02:42:58 +0000 <ezzieyguywuf> specifically I'm using this with megaparsecs parse, which returns an ErrorBundlePretty but I want just a Text
2021-03-04 02:43:26 +0000son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-03-04 02:43:45 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 264 seconds)
2021-03-04 02:43:45 +0000Lord_of_Life_Lord_of_Life
2021-03-04 02:44:12 +0000pharaun(~pharaun@static.88-198-62-245.clients.your-server.de)
2021-03-04 02:44:14 +0000xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
2021-03-04 02:44:18 +0000nek0(~nek0@mail.nek0.eu)
2021-03-04 02:45:39 +0000int-e(~noone@int-e.eu)
2021-03-04 02:46:11 +0000__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 02:46:38 +0000 <koz_> % :t first
2021-03-04 02:46:57 +0000 <koz_> Is yahb dead again?
2021-03-04 02:48:07 +0000Sigyn(sigyn@freenode/utility-bot/sigyn)
2021-03-04 02:48:07 +0000rothfuss.freenode.net+o Sigyn
2021-03-04 02:48:08 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16)
2021-03-04 02:48:47 +0000nineonine(~nineonine@50.216.62.2) (Ping timeout: 256 seconds)
2021-03-04 02:49:27 +0000lkurusa_(~lkurusa@209.250.237.122) (Ping timeout: 246 seconds)
2021-03-04 02:56:30 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 02:56:48 +0000DataComputist(~lumeng@50.43.26.251)
2021-03-04 02:56:49 +0000__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 260 seconds)
2021-03-04 02:56:56 +0000xff0x(~xff0x@2001:1a81:53fc:b400:1709:f370:e50:9a12) (Ping timeout: 240 seconds)
2021-03-04 02:57:49 +0000justan0theruser(~justanoth@unaffiliated/justanotheruser)
2021-03-04 02:58:23 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16)
2021-03-04 02:59:08 +0000xff0x(~xff0x@2001:1a81:5237:bb00:afc3:f953:e68b:99a6)
2021-03-04 02:59:15 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2021-03-04 02:59:44 +0000average(uid473595@gateway/web/irccloud.com/x-eenzrwxaxysearfe)
2021-03-04 03:00:13 +0000urodna_(~urodna@unaffiliated/urodna) (Quit: urodna_)
2021-03-04 03:03:24 +0000alx741(~alx741@186.178.108.117) (Quit: alx741)
2021-03-04 03:03:53 +0000lkurusa(~lkurusa@fedora/Levex)
2021-03-04 03:04:28 +0000Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 268 seconds)
2021-03-04 03:06:54 +0000Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2021-03-04 03:07:34 +0000erisco(~erisco@d24-57-249-233.home.cgocable.net) (Quit: Leaving)
2021-03-04 03:08:35 +0000 <MarcelineVQ> was it ever really alive
2021-03-04 03:15:07 +0000FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-04 03:15:08 +0000finn_elijaGuest69399
2021-03-04 03:15:08 +0000FinnElijafinn_elija
2021-03-04 03:16:05 +0000berberman_(~berberman@unaffiliated/berberman)
2021-03-04 03:16:33 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 03:17:37 +0000berberman(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2021-03-04 03:19:09 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 264 seconds)
2021-03-04 03:19:16 +0000Guest69399(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-04 03:19:25 +0000Stanley00(~stanley00@unaffiliated/stanley00) ()
2021-03-04 03:19:35 +0000oafsoats
2021-03-04 03:20:38 +0000DataComputist(~lumeng@50.43.26.251) (Remote host closed the connection)
2021-03-04 03:21:15 +0000DataComputist(~lumeng@50.43.26.251)
2021-03-04 03:22:15 +0000 <ephemient> @hoogle (a -> b) -> Either a c -> Either b c
2021-03-04 03:22:16 +0000 <lambdabot> Data.Either.Combinators mapLeft :: (a -> c) -> Either a b -> Either c b
2021-03-04 03:22:16 +0000 <lambdabot> Data.Either.Extra mapLeft :: (a -> c) -> Either a b -> Either c b
2021-03-04 03:22:16 +0000 <lambdabot> Extra mapLeft :: (a -> c) -> Either a b -> Either c b
2021-03-04 03:23:12 +0000 <jackdk> % first @Either
2021-03-04 03:23:24 +0000 <jackdk> % :t first @Either
2021-03-04 03:23:37 +0000 <jackdk> > :t first @Either
2021-03-04 03:23:38 +0000 <lambdabot> <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘:’
2021-03-04 03:23:39 +0000 <ephemient> yahb isn't here :(
2021-03-04 03:24:16 +0000 <jackdk> `first @Either :: (a -> b) -> Either a c -> Either b c`
2021-03-04 03:24:42 +0000 <jackdk> that's Data.Bifunctor.first
2021-03-04 03:25:05 +0000 <ephemient> and not Control.Arrow.first
2021-03-04 03:25:59 +0000DataComputist(~lumeng@50.43.26.251) (Ping timeout: 260 seconds)
2021-03-04 03:26:07 +0000 <ephemient> I wonder if lambdabot has either of those in scope
2021-03-04 03:26:09 +0000 <ephemient> :t first
2021-03-04 03:26:11 +0000 <lambdabot> Arrow a => a b c -> a (b, d) (c, d)
2021-03-04 03:26:59 +0000 <ephemient> :t Data.Bifunctor.first
2021-03-04 03:27:01 +0000 <lambdabot> Bifunctor p => (a -> b) -> p a c -> p b c
2021-03-04 03:28:18 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 03:28:26 +0000chenshen(~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 03:32:57 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds)
2021-03-04 03:34:09 +0000obiwahn(~obiwahn@pdpc/supporter/student/obiwahn) (Ping timeout: 264 seconds)
2021-03-04 03:34:15 +0000blissful(~blissful@unaffiliated/azuline) (Ping timeout: 246 seconds)
2021-03-04 03:34:36 +0000augnun(~augnun@2804:14c:658b:41bb:6e95:e9d6:334a:6db9) (Quit: WeeChat 3.0.1)
2021-03-04 03:34:43 +0000jakalx(~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
2021-03-04 03:34:44 +0000 <heck-to-the-gnom> Is hoogle down for anyone else?
2021-03-04 03:35:00 +0000deviantfero(~deviantfe@190.150.27.58)
2021-03-04 03:35:48 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-04 03:35:52 +0000 <jackdk> works for me, heck-to-the-gnom
2021-03-04 03:36:48 +0000 <heck-to-the-gnom> Weird, it seems somewhere along the supply chain hoogle.haskell.org & haskell.org/hoogle was blocked
2021-03-04 03:36:51 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-03-04 03:36:59 +0000 <heck-to-the-gnom> (for me, anyway)
2021-03-04 03:37:36 +0000 <heck-to-the-gnom> I have sent a large number of requests to them lately, not as spam, but during an actual programming session
2021-03-04 03:38:40 +0000koz(~koz@2404:4408:4342:2a00:1958:92dc:60f3:680b)
2021-03-04 03:39:38 +0000koz_(~koz@2404:4408:4342:2a00:1958:92dc:60f3:680b) (Ping timeout: 264 seconds)
2021-03-04 03:39:52 +0000stree(~stree@68.36.8.116) (Ping timeout: 276 seconds)
2021-03-04 03:42:16 +0000 <heck-to-the-gnom> Aand, just like that the issue disappeared. Weird
2021-03-04 03:42:34 +0000rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-03-04 03:43:21 +0000theDon(~td@muedsl-82-207-238-151.citykom.de) (Ping timeout: 246 seconds)
2021-03-04 03:44:10 +0000blissful(~blissful@unaffiliated/azuline)
2021-03-04 03:44:24 +0000obiwahn(~obiwahn@pdpc/supporter/student/obiwahn)
2021-03-04 03:45:17 +0000theDon(~td@94.134.91.49)
2021-03-04 03:45:25 +0000DataComputist(~lumeng@50.43.26.251)
2021-03-04 03:46:12 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-03-04 03:46:17 +0000kozkoz_
2021-03-04 03:50:37 +0000raym(~ray@45.64.220.3)
2021-03-04 03:52:19 +0000Sheilong(uid293653@gateway/web/irccloud.com/x-ywkwdxdlophboxsa) ()
2021-03-04 03:52:27 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 03:52:41 +0000Tario(~Tario@201.192.165.173)
2021-03-04 03:52:46 +0000stree(~stree@68.36.8.116)
2021-03-04 03:54:11 +0000 <koz_> Hoogle does this periodically.
2021-03-04 03:54:28 +0000polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4)
2021-03-04 03:54:56 +0000conal(~conal@64.71.133.70)
2021-03-04 03:55:10 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 03:55:35 +0000Gunni1(~Gunni@139.28.218.148) (Remote host closed the connection)
2021-03-04 03:58:22 +0000polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4) (Client Quit)
2021-03-04 03:58:32 +0000conal_(~conal@64.71.133.70)
2021-03-04 03:58:42 +0000conal_(~conal@64.71.133.70) (Client Quit)
2021-03-04 04:02:25 +0000barnowl(~barnowl@gateway/tor-sasl/barnowl) (Remote host closed the connection)
2021-03-04 04:02:34 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-04 04:02:52 +0000conal(~conal@64.71.133.70)
2021-03-04 04:02:52 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 04:03:05 +0000barnowl(~barnowl@gateway/tor-sasl/barnowl)
2021-03-04 04:03:14 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-04 04:04:04 +0000dxld(~dxld@rush.pub.dxld.at) (Ping timeout: 240 seconds)
2021-03-04 04:04:53 +0000finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-04 04:06:23 +0000finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-04 04:06:24 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 04:07:50 +0000dxld(~dxld@80-109-136-248.cable.dynamic.surfer.at)
2021-03-04 04:08:36 +0000andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
2021-03-04 04:08:57 +0000andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-03-04 04:09:38 +0000pjb(~t@2a01cb04063ec5009154a4e157e0cbac.ipv6.abo.wanadoo.fr) (Ping timeout: 264 seconds)
2021-03-04 04:10:58 +0000lunaphyte_(~lunaphyte@217.146.82.202)
2021-03-04 04:11:28 +0000howdoi(uid224@gateway/web/irccloud.com/x-kijbwunaxvivrehm) (Quit: Connection closed for inactivity)
2021-03-04 04:11:43 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 276 seconds)
2021-03-04 04:11:54 +0000chenshen(~chenshen@2620:10d:c090:400::5:9f47)
2021-03-04 04:12:00 +0000Rudd0(~Rudd0@185.189.115.103)
2021-03-04 04:12:00 +0000 <Axman6> Sometimes is just needs a nap.
2021-03-04 04:12:52 +0000 <Axman6> I wonder if it's like B&H in the US, which shuts down their website during the sabbath because it's run by authodox Jews
2021-03-04 04:14:06 +0000 <koz_> B&H?
2021-03-04 04:14:22 +0000 <Axman6> big photography store in the US
2021-03-04 04:14:44 +0000 <Axman6> uh, and Orthodox - I thought it looked weird!
2021-03-04 04:15:05 +0000 <koz_> Authodox sounds like a DDOS prevention service.
2021-03-04 04:15:24 +0000 <qih> Hi all, what is a good book for a Haskell n00b to purchase? I notice there are quite a few around with pages at 600 +. Am after a concise but practical intro to the lang and FP.
2021-03-04 04:15:26 +0000 <Axman6> Apparently it's an NZ company for document management, haha
2021-03-04 04:16:07 +0000 <qih> koz_: Authodox <= great name for a new library 8-)
2021-03-04 04:16:18 +0000 <koz_> Axman6: Roflll.
2021-03-04 04:16:42 +0000 <Axman6> yeah I was thinking it would be a good name for a library for authentication
2021-03-04 04:16:42 +0000 <koz_> qih: Well, until said NZ company for document management decides to break out lawyers over a name disagreement.
2021-03-04 04:16:50 +0000koz_looks at the left-pad author.
2021-03-04 04:16:52 +0000plutoniix(~q@184.82.201.211)
2021-03-04 04:17:16 +0000 <qih> Haha, I have never heard of it, not that that means much.
2021-03-04 04:17:32 +0000qihgoogles "authodox + nz"
2021-03-04 04:18:03 +0000 <Axman6> turned out that half the NPM ecosystem relied on the left-pad package, which literally just had a single function for left padding strings, and the author deleted it and tyhe whole universe imploded
2021-03-04 04:18:23 +0000softwarm(44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds)
2021-03-04 04:18:32 +0000 <qih> Oh haha whoops.
2021-03-04 04:18:32 +0000 <Axman6> it was a pretty fun time - it'd be like Ed deleting lens and someone deleting bytestring and text
2021-03-04 04:18:33 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 264 seconds)
2021-03-04 04:18:49 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-03-04 04:19:00 +0000 <koz_> qih: The slightly longer answer is this. Said person made an NPM package called 'kik'.
2021-03-04 04:19:12 +0000 <koz_> Then the company with the same name went 'either hand over the name or we lawyer up'.
2021-03-04 04:19:23 +0000 <qih> Well authodox.co.nz should get their website digital cert re-issued. Amateurs.
2021-03-04 04:19:29 +0000 <koz_> (no really, they went from 'asking' to 'lawyers' in about 10 seconds)
2021-03-04 04:19:29 +0000 <heck-to-the-gnom> I'd like to think other infrastructures are more solid than NPM
2021-03-04 04:19:33 +0000 <koz_> qih: I'm not even surprised.
2021-03-04 04:19:35 +0000 <heck-to-the-gnom> That might be wishful thinking
2021-03-04 04:19:42 +0000 <qih> Oh.
2021-03-04 04:19:45 +0000 <koz_> NZ, for all its many qualities, is the land of 'ehh, it'll do'.
2021-03-04 04:20:00 +0000 <qih> koz_: Clearly you are in NZ also?
2021-03-04 04:20:04 +0000 <koz_> qih: Yep!
2021-03-04 04:20:10 +0000 <koz_> I am not originally from here though.
2021-03-04 04:20:24 +0000 <qih> koz_: Great.
2021-03-04 04:21:19 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-03-04 04:21:22 +0000 <qih> Sigh, I'll email them about their lame CA lapse.
2021-03-04 04:21:54 +0000 <Axman6> ANZACs represent
2021-03-04 04:22:02 +0000 <Axman6> -AC I guess
2021-03-04 04:22:03 +0000 <koz_> qih: You are a better person than me. :P
2021-03-04 04:22:04 +0000 <qih> Right on digger
2021-03-04 04:22:15 +0000 <qih> Axman6: Hahaha
2021-03-04 04:22:48 +0000 <Axman6> ANZLC - Australian and New Zealand Lambda Corps
2021-03-04 04:22:52 +0000 <qih> koz_: Ah it takes a few minutes, can educate them too.
2021-03-04 04:22:59 +0000 <Axman6> not too different from ANZLIC I guess
2021-03-04 04:23:12 +0000 <qih> Axman6: Haha yeah not a lot of the ANZAC spirit lately, right?
2021-03-04 04:23:18 +0000 <koz_> Lol.
2021-03-04 04:23:21 +0000 <qih> ANZLIC <= sounds tacky
2021-03-04 04:23:27 +0000 <koz_> Australia and NZ are fairly different as places IMHO.
2021-03-04 04:23:31 +0000 <qih> 8-)
2021-03-04 04:23:40 +0000 <qih> koz_: Yes & No.
2021-03-04 04:23:45 +0000 <koz_> We get lumped together a lot, but it's a bit odd to me.
2021-03-04 04:24:01 +0000 <Axman6> Y'all keep making us look good by having a competent, trustworthy government
2021-03-04 04:24:04 +0000 <Axman6> )uh, bad*
2021-03-04 04:24:12 +0000 <koz_> Axman6: Lol.
2021-03-04 04:24:24 +0000 <qih> Well we are both ex-GB colonies at the bottom of the world on the edge of Asia, kinda link cousins.
2021-03-04 04:24:25 +0000 <koz_> Yeah, we're in lockdown for the second time in a 4-week period.
2021-03-04 04:24:35 +0000 <koz_> (we're _hopefully_ due to exit in a day or two)
2021-03-04 04:24:54 +0000 <qih> koz_: One can hope.
2021-03-04 04:25:08 +0000carlomagno1(~cararell@148.87.23.6) (Quit: Leaving.)
2021-03-04 04:25:20 +0000 <qih> So recommendations for a Haskell book? Or should I just stick with LYAH for the time being?
2021-03-04 04:25:44 +0000 <koz_> qih: I found the Haskell Wikibook useful personally.
2021-03-04 04:25:47 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 04:26:18 +0000 <qih> K, ta, will check that out.
2021-03-04 04:26:31 +0000 <shapr> qih: Graham Hutton's Programming in Haskell is shorter than most, and I like the 2nd edition
2021-03-04 04:27:01 +0000 <slack1256> 1+ for Graham Hutton
2021-03-04 04:27:27 +0000 <slack1256> Well you can read on the side what ever introduction you like. I read LYAH until the monads part as it didn't make sense.
2021-03-04 04:27:43 +0000 <slack1256> you can do multi book drifting etc
2021-03-04 04:27:49 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
2021-03-04 04:27:56 +0000 <heck-to-the-gnom> I'm just winging it, lol, perhaps not the best Idea seeing as I'm struggling with simple things, but I'll learn.
2021-03-04 04:28:11 +0000slack1256sends a gambare!
2021-03-04 04:28:27 +0000 <koz_> Good things take time, so I hear.
2021-03-04 04:29:53 +0000slack1256would have sent a "tatakae!" but that has gotten bad rep lately...
2021-03-04 04:30:09 +0000 <qih> shapr: Thanks, looking.
2021-03-04 04:30:18 +0000 <MarcelineVQ> slack1256: yamero!
2021-03-04 04:31:20 +0000 <Axman6> I learned Haskell at university, and Hutton's book was what we used, though I didn't use the book much. Having read it after that I would definitely recommend it though - I would also strongly recommend sticking around in this channel and asking for help, because finding answers and understanding them can be hard without someone to prod you in the right direction
2021-03-04 04:31:44 +0000 <Axman6> And if you're in NZ, there's plenty of us collonials around to help in your timezone
2021-03-04 04:32:07 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 04:34:08 +0000 <slack1256> MarcelineVQ: hai hai ;_;.
2021-03-04 04:34:20 +0000 <MarcelineVQ> come back in ten years
2021-03-04 04:34:33 +0000 <koz_> Yep, you'll find me around here for sure if you overlap with my awake times.
2021-03-04 04:35:19 +0000 <qih> Axman6: Thanks noted, will do.
2021-03-04 04:35:20 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 04:35:21 +0000Axman6guesses that koz_basically lives in AEST anyway
2021-03-04 04:35:24 +0000inkbottle(~inkbottle@aaubervilliers-654-1-112-176.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-04 04:35:54 +0000 <MarcelineVQ> koz_ time is amorphous, protozoic possibly
2021-03-04 04:36:00 +0000Tario(~Tario@201.192.165.173)
2021-03-04 04:36:00 +0000 <qih> koz_: I rang Authodox and told them about their expired CA ... gawd what a pleb 8-)
2021-03-04 04:36:08 +0000 <Axman6> haha
2021-03-04 04:38:58 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 04:43:24 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
2021-03-04 04:43:55 +0000polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 240 seconds)
2021-03-04 04:46:17 +0000redmp(~redmp@172.58.38.160)
2021-03-04 04:48:43 +0000 <Axman6> BTW, if anyone is looking for a job in .au, Bellroy are hiring an Elm front end dev and a Haskell/Ruby/other things dev at the moment: https://bellroy.com/careers
2021-03-04 04:48:52 +0000 <qih> Is Haskell capable in the way of System Programming or maintenance? I've used Python to do a *lot* of things on my OSes over the years. I'd like to pretend I am grown up and move away from Bash.
2021-03-04 04:49:05 +0000 <Axman6> There's some pretty cool people who work there (at least one is a regular here but I won't dob him in)
2021-03-04 04:50:00 +0000 <qih> Axman6: Nice post. I read about Elm today on the DAML forum. Seems capable and sane, unlike ES6 et al.
2021-03-04 04:50:55 +0000 <Axman6> qih: The answer is definitely "yes", but it's a bit of a difficult question to answer too. I feel like Xmonad is a good example of how to interract with other parts of the system. There's also turtle for shell scripting like things
2021-03-04 04:51:13 +0000 <Axman6> DAML eh? There's _definitely_ people in here writing DAML every day :)
2021-03-04 04:51:50 +0000 <koz_> qih: It can be done, but in terms of available libraries, it's probably not to Python's level.
2021-03-04 04:52:13 +0000 <koz_> Ecosystem deficiencies are what limits it the most in that kind of task I think.
2021-03-04 04:52:34 +0000 <Axman6> yeah the answer mostly depends on the specifics
2021-03-04 04:52:42 +0000 <qih> Axman6: Oh that is great news. I know most of you younger peoples *love* Slack etc, so was not sure ifI'd find any DAMLers on #IRC.
2021-03-04 04:53:01 +0000 <qih> koz_: Thanks for the tip.
2021-03-04 04:54:05 +0000 <koz_> #haskell is pretty active as IRC channels go.
2021-03-04 04:54:16 +0000 <Axman6> yeah I don't know many other DAMLers on here, we seems to push people towards the forum so answers to questions are searchable
2021-03-04 04:54:42 +0000 <qih> K, good to see. Plenty of peeps in channel is a good sign, like #Debian and #Python +1
2021-03-04 04:54:44 +0000 <Axman6> For a loing time #haskell was one of the biggest channels on freenode, bigger than #python. not sure these days
2021-03-04 04:55:13 +0000 <koz_> Axman6: Probably still true?
2021-03-04 04:55:29 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
2021-03-04 04:55:52 +0000 <qih> Axman6: Good point re forum and searchable content, although most #IRC is logged *somewhere*, the forum format is easier to search and read.
2021-03-04 04:56:00 +0000 <Axman6> ¯\_(ツ)_/¯
2021-03-04 04:56:24 +0000 <Axman6> yeah the forum make sit easier to categorise things and identify questions
2021-03-04 04:56:47 +0000 <qih> koz_: I'd run a list check, search and word count but it'd probably kill this RPi
2021-03-04 04:57:16 +0000qihis using a RPiv3 as a Desktop while waiting for a new motherboard 8-(
2021-03-04 04:58:02 +0000 <Axman6> looks like we're about 1k, #python is 1.6k
2021-03-04 04:58:11 +0000 <qih> https://hackage.haskell.org/package/turtle <= excellent.
2021-03-04 04:58:42 +0000 <Axman6> How's that going? I always found an RPi just always felt slow, doesn't really matter what it was doing. I une my Unifi controller on mine and that's about it
2021-03-04 04:58:45 +0000 <qih> Now just have to work out how to load it ... 8-)
2021-03-04 04:59:32 +0000 <qih> As a Desktop it is like using a 686 running Win98SE, works but too much load, it runs out of SWAP and MEM, then jams.
2021-03-04 04:59:35 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-04 04:59:49 +0000yahb(xsbot@178.219.36.155)
2021-03-04 04:59:49 +0000yahb(xsbot@178.219.36.155) (Changing host)
2021-03-04 04:59:49 +0000yahb(xsbot@haskell/bot/yahb)
2021-03-04 05:00:05 +0000 <koz_> I used some RPi2ish level boards as microservers for a while.
2021-03-04 05:00:09 +0000 <koz_> I even ported Gentoo to one!
2021-03-04 05:00:10 +0000 <qih> So a Terminal, some server connections through that, a Chromium browser with 4 tabs, works OK.
2021-03-04 05:00:21 +0000 <koz_> It _works_, but it's definitely restrictive and annoying.
2021-03-04 05:00:44 +0000 <qih> koz_: Haha cool. I'd hate to see an 'emerge world' on an RPi o_0
2021-03-04 05:00:48 +0000mniip(mniip@freenode/staff/mniip)
2021-03-04 05:00:55 +0000 <qih> Agree. It works.
2021-03-04 05:01:00 +0000 <koz_> It was definitely a time-consuming endeavour.
2021-03-04 05:01:04 +0000 <koz_> Kinda fun in its own way though.
2021-03-04 05:01:18 +0000 <koz_> I've since decomissioned them and instead use an old Eee-PC.
2021-03-04 05:01:32 +0000 <Axman6> Always felt like IO was the limiting factor to me
2021-03-04 05:01:33 +0000 <qih> I compliled OpenCV 4 at Xmas as I was running some cameras and that took about 10 hours.
2021-03-04 05:02:24 +0000 <heck-to-the-gnom> My python brain, when you did `_works_` thought a private method/variable (or as close as you can get with that in python anyway) and I interpreted that as "it works, but if I touch it AT ALL, it won't". Which, given that you probably meant italics, that's basically the same thing
2021-03-04 05:02:40 +0000 <qih> Anyway, the RPi is great for running *lang microservices, servers, testing clients, networks, etc.
2021-03-04 05:02:53 +0000 <koz_> Yeah, I'd say it's good for this.
2021-03-04 05:02:59 +0000 <Axman6> heck-to-the-gnom: ha, sounds pretty accurate
2021-03-04 05:03:05 +0000 <koz_> ARM boards are great as microservers, because they have quite low power use.
2021-03-04 05:03:16 +0000 <koz_> So you can actually ride out power outages entirely on a UPS.
2021-03-04 05:03:20 +0000 <koz_> (I've done this before)
2021-03-04 05:03:27 +0000 <koz_> (power is a tad spotty where I am)
2021-03-04 05:03:54 +0000 <Axman6> The machine I have this IRC client running on is a Zen2 machine with 24TB storage, so wanted a little more drunt for things like video transcoding via Plex
2021-03-04 05:04:36 +0000 <heck-to-the-gnom> 24TB... Dang. Thou art lucky &/or rich.
2021-03-04 05:05:24 +0000 <qih> Axman6: Nice!
2021-03-04 05:05:47 +0000 <qih> Or he's SSH'd into some Enterprise beast ...
2021-03-04 05:06:36 +0000 <koz_> Yeah... I have a NAS, but it packs considerably less than that.
2021-03-04 05:07:08 +0000 <qih> "These features make Haskell ideal for scripting, particularly for replacing large and unwieldy Bash scripts." <= finally, someone said it 8-/
2021-03-04 05:07:33 +0000 <Axman6> It's something the size of an old HP Microserver. The other specs are pretty modest, 16GB. It had 4 3TB drives for like 6 years but for the last few one had constant read errors, so bit the bullet and replaced them all with 8TB ones. Having ZFS being able to expand into the new space when they were all replaced was very nice
2021-03-04 05:08:59 +0000 <qih> Makes sense with those specs.
2021-03-04 05:09:41 +0000Axman6is resisting the urge to find an old school /specs script for glirc
2021-03-04 05:09:50 +0000forgottenone(~forgotten@176.88.30.190) (Quit: Konversation terminated!)
2021-03-04 05:10:03 +0000 <glguy> Axman6, find? like in the glirc script archive?
2021-03-04 05:10:42 +0000 <Axman6> ... there is one? :o
2021-03-04 05:10:47 +0000 <Axman6> I never looked!
2021-03-04 05:11:05 +0000cheater(~user@unaffiliated/cheater) (Remote host closed the connection)
2021-03-04 05:11:41 +0000 <glguy> Of course not :-p
2021-03-04 05:11:54 +0000 <Axman6> I feel you've already got ops ready to go to ban me if I used one though
2021-03-04 05:11:55 +0000 <qih> The Turtle Library must have been named by an Australian, no-one else would call a lightweight, fast library ... Turtle.
2021-03-04 05:12:02 +0000polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4)
2021-03-04 05:12:14 +0000 <glguy> "ready"? the client ops you as needed, you should know that :)
2021-03-04 05:12:21 +0000 <Axman6> Like naming a ranger Blue?
2021-03-04 05:12:26 +0000 <jle`> qih: it's a pun heh
2021-03-04 05:12:38 +0000 <Axman6> ranga*
2021-03-04 05:13:01 +0000 <koz_> It is the rule in the Haskell ecosystem that you must name your libraries as references.
2021-03-04 05:13:05 +0000 <koz_> The more obscure the better.
2021-03-04 05:13:08 +0000 <qih> Axman6: Yep. And the Lib Gov, competent ... you get the drift 8-)
2021-03-04 05:13:24 +0000 <koz_> Ideal choice is basically a fifteen-layer reference about three people get total.
2021-03-04 05:13:33 +0000 <qih> Haha
2021-03-04 05:13:38 +0000 <Axman6> No one would make that mistake, particularly this week
2021-03-04 05:13:49 +0000 <koz_> Bonus points for any of: wordplay, category theory references, featuring puns on 'Haskell', 'Curry', 'Church' or 'Hoare'.
2021-03-04 05:14:06 +0000 <jle`> iirc turtle is a pun on 'shell'
2021-03-04 05:14:08 +0000cheater(~user@unaffiliated/cheater)
2021-03-04 05:14:08 +0000 <qih> o_0
2021-03-04 05:14:14 +0000 <Axman6> I have for years wanted to write an Accelerate backend for Grenade called RPG but alas, I have no idea what I'm doing
2021-03-04 05:14:15 +0000 <koz_> jle`: Deep lore.
2021-03-04 05:14:21 +0000 <koz_> Axman6: Rofl.
2021-03-04 05:14:24 +0000 <qih> jle`: Ohhhhhh, me.dense
2021-03-04 05:14:57 +0000 <koz_> I don't follow this rule with any of my libraries sadly.
2021-03-04 05:15:06 +0000 <koz_> (even my most recent one is very boringly and descriptively named)
2021-03-04 05:15:25 +0000qihinstalls Stack
2021-03-04 05:15:37 +0000 <Axman6> RIP your RAM
2021-03-04 05:15:49 +0000 <heck-to-the-gnom> I just realized you can do things like `isn'tFloating wn = ` *Hoare* in haskell. Niche thing, but I like.
2021-03-04 05:15:57 +0000 <qih> koz_: I look at some of the libs on updates and weird package installs, you are not alone.
2021-03-04 05:16:06 +0000 <Axman6> actually, it';s pretty good these days, it used to be worse than Chrome but they put in a lot of work (and emailed me to tell me they had months after I complained about it to them!)
2021-03-04 05:16:27 +0000 <koz_> Someone had an excellent quote in lambdabot.
2021-03-04 05:16:28 +0000 <koz_> Something like
2021-03-04 05:16:37 +0000boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
2021-03-04 05:16:43 +0000 <koz_> "You would get more attention if you titled it 'Church isn't just for Hoare's'."
2021-03-04 05:16:46 +0000 <Axman6> iShouldn't'veDoneThat = error
2021-03-04 05:17:00 +0000 <koz_> Axman6: I use it for naming constructors for error types all the time.
2021-03-04 05:17:18 +0000 <boxscape> @quote Church.isn't
2021-03-04 05:17:18 +0000 <lambdabot> No quotes match. Are you on drugs?
2021-03-04 05:17:23 +0000 <qih> Oh no, no Stack for ARM-based Linux 8-(
2021-03-04 05:17:26 +0000 <koz_> data FuckyWucky = Didn'tValidateProperly | Couldn'tRunThings | ...
2021-03-04 05:17:34 +0000 <Axman6> data Error = UhWtf'IOError | UhWtf'DBError | ...
2021-03-04 05:17:44 +0000 <boxscape> @quote Church.is.not
2021-03-04 05:17:44 +0000 <lambdabot> procyon says: emk: You might get a wider audience with "Church is not just for Hoare's"
2021-03-04 05:17:48 +0000 <koz_> That one!
2021-03-04 05:17:54 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 05:17:55 +0000 <qih> Ah well, I'll just RTFM etc.
2021-03-04 05:18:04 +0000 <Axman6> ok that's much better than mine. Need to use data FukkyWukky more often
2021-03-04 05:18:08 +0000 <qih> Haha nice quote
2021-03-04 05:18:12 +0000 <koz_> boxscape: Do you know the context of that quote?
2021-03-04 05:18:34 +0000 <boxscape> no clue, I stumbled across it a couple days ago when exploring @quote Church though
2021-03-04 05:18:46 +0000 <koz_> LOL
2021-03-04 05:18:58 +0000 <koz_> I really wanna know the series of circumstances that prompted this.
2021-03-04 05:19:05 +0000 <koz_> (the quote, not your exploring)
2021-03-04 05:19:30 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 05:19:33 +0000 <koz_> Axman6: I would be much more clever in Real Job's codebase naming.
2021-03-04 05:19:35 +0000 <boxscape> well, there are logs for #haskell, you just need to come up with a convenient way to grep them ;)
2021-03-04 05:19:47 +0000 <qih> I like the Haskell/Turtle syntax much better than Bash.
2021-03-04 05:19:50 +0000 <koz_> Except that I suspect my colleagues don't share my rather specific taste in humour.
2021-03-04 05:19:59 +0000 <Axman6> qih: and there's types!
2021-03-04 05:20:15 +0000Tario(~Tario@201.192.165.173)
2021-03-04 05:20:22 +0000 <qih> Available in scripting? gedthefugouttahere!
2021-03-04 05:20:47 +0000 <Axman6> Technically, bash has type
2021-03-04 05:20:52 +0000 <qih> koz_: Frack'em if they can't take a joke.
2021-03-04 05:21:03 +0000 <Axman6> I guess string and arrays of string are different types
2021-03-04 05:21:09 +0000 <qih> True.
2021-03-04 05:21:31 +0000 <koz_> qih: I don't think they have much shale oil inside.
2021-03-04 05:21:43 +0000 <qih> Bash/ZSH etc are fine, even awesome *but* it is hard work sometimes to do clever things, well.
2021-03-04 05:22:20 +0000 <qih> Snicker, I see what ya did there. Just didn't know if f**k would be OK here. Some channels are a little *tightly* wound.
2021-03-04 05:22:24 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-03-04 05:22:30 +0000 <koz_> qih: Generally speaking discouraged here.
2021-03-04 05:22:37 +0000 <qih> K noted.
2021-03-04 05:23:11 +0000 <koz_> The closest to humour I managed in work codebases was naming a JSON schematization library 'medea'.
2021-03-04 05:23:17 +0000 <koz_> And like... _one_ person got that joke.
2021-03-04 05:23:21 +0000 <koz_> s/joke/reference/
2021-03-04 05:23:23 +0000 <qih> boxscape: Trawling #IRC for tech gems is hard.
2021-03-04 05:23:39 +0000 <qih> koz_: Hahaha
2021-03-04 05:24:13 +0000 <qih> boxscape: Edit => Trawling #IRC logs for tech gems is hard.
2021-03-04 05:24:30 +0000 <boxscape> hm
2021-03-04 05:24:33 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 05:25:10 +0000Tario(~Tario@201.192.165.173) (Ping timeout: 276 seconds)
2021-03-04 05:25:35 +0000 <boxscape> actually I'm not even sure if there's continuous publicly available logs before 2018, although I'm sure they exist somewhere (though possibly not publicly available)
2021-03-04 05:26:14 +0000 <boxscape> oh never mind the linked logs go back to at least 2013 if you go to the old/ directory
2021-03-04 05:26:34 +0000 <Axman6> I probably have them somewhere...
2021-03-04 05:26:55 +0000 <Axman6> not sure about my irssi logs
2021-03-04 05:27:19 +0000 <qih> Right, enjoy. That'll be some awesome awk|sed|cut|bash funnery
2021-03-04 05:27:40 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 05:28:11 +0000 <boxscape> just need to `grep -rn 'Church is not just for Hoare'`
2021-03-04 05:28:34 +0000 <koz_> Alonzo Church has given us endless pun-fodder.
2021-03-04 05:29:14 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 245 seconds)
2021-03-04 05:29:34 +0000 <qih> boxscape: Well there is always that then ...
2021-03-04 05:30:49 +0000 <heck-to-the-gnom> Anyone up for solving my mess of XMonad type mismatching? https://p.bsd-unix.net/view/6ff2b32f
2021-03-04 05:30:49 +0000 <edwardk> The first time I heard about Hoare triples it took me more time than I'd like to admit to disambiguate the sentence.
2021-03-04 05:31:03 +0000 <Axman6> ;)
2021-03-04 05:31:26 +0000 <Axman6> Want some help with that post-condition big boy?
2021-03-04 05:31:32 +0000 <heck-to-the-gnom> I'm trying to sort filter for floating & non-floating windows in xmonad when modifying the stack directly
2021-03-04 05:31:56 +0000 <edwardk> Sorry, your precondition seems a little too weak.
2021-03-04 05:32:09 +0000jrqc(~rofl@96.78.87.197) (Ping timeout: 245 seconds)
2021-03-04 05:33:08 +0000 <koz_> edwardk: Rofl.
2021-03-04 05:33:27 +0000 <koz_> Is this an appropriate venue and time to make a certain stripe of joke? :P
2021-03-04 05:33:27 +0000 <heck-to-the-gnom> OK, well I'm logging off for today, but I'm using matrix, so everything's logged. Feel free to work on that, (if anyone wants to help anyway, my Haskell skills are extremely sub-par).
2021-03-04 05:33:30 +0000 <Axman6> How I prove you wrong for $300
2021-03-04 05:33:40 +0000 <Axman6> about*
2021-03-04 05:34:52 +0000jrqc(~rofl@96.78.87.197)
2021-03-04 05:35:15 +0000nineonine(~nineonine@50.216.62.2)
2021-03-04 05:36:27 +0000 <boxscape> if you give me a command I'll make sure your post-condition is satisfied ;)
2021-03-04 05:37:09 +0000 <Axman6> Ooo, are you also into Big Data SQL Management?
2021-03-04 05:38:05 +0000koz_points at the term 'Hoare triples' and giggles like a dork.
2021-03-04 05:40:14 +0000 <edwardk> koz_: probably not. only mentioned it because of the off-color Church/Hoare line right before brought it to mind.
2021-03-04 05:40:19 +0000 <koz_> edwardk: Fair.
2021-03-04 05:41:03 +0000slack1256(~slack1256@45.4.2.52) (Ping timeout: 256 seconds)
2021-03-04 05:43:02 +0000 <qih> SHall I assume that Haskell has hooks for WXWidgets or is there a native, lightweight GUI lib?
2021-03-04 05:43:16 +0000 <koz_> qih: I _believe_ the best bindings are for GTK.
2021-03-04 05:43:24 +0000 <qih> K ta.
2021-03-04 05:43:26 +0000 <koz_> However, that comes with all the caveats of GTK.
2021-03-04 05:43:37 +0000 <Axman6> there is, but I don't know many people who've used it. there's another even more lightweight one whose name I can't remember.. fltk)?
2021-03-04 05:43:37 +0000 <koz_> And also the added caveats that I've never used them.
2021-03-04 05:43:47 +0000 <koz_> Axman6: Yeah, deech's thing.
2021-03-04 05:44:16 +0000 <qih> FLTK, ta. Checking.
2021-03-04 05:45:26 +0000 <Axman6> I love that on duckduckgo, searching for "haskell fltk" comes up a photo of deech as the first result
2021-03-04 05:45:28 +0000 <qih> https://github.com/deech/fltkhs <= interesting
2021-03-04 05:45:33 +0000 <koz_> How does one pronounce 'FLTK'? Eff-Ell-Tee-Kay?
2021-03-04 05:45:39 +0000 <Axman6> yeah
2021-03-04 05:45:46 +0000 <qih> Fancy that ...
2021-03-04 05:45:52 +0000 <koz_> You never know.
2021-03-04 05:45:56 +0000 <qih> Indeed.
2021-03-04 05:46:03 +0000 <koz_> Half the time, you get libraries named fhutagjpor that are pronounced 'Orange'.
2021-03-04 05:46:22 +0000 <boxscape> it's pronounced fulltick according to wiki
2021-03-04 05:46:28 +0000 <koz_> boxscape: TIL.
2021-03-04 05:46:55 +0000 <qih> Using Firefox-ESR on Riv3, the browser must be detecting mobile device-like headers, so the google page and search are rendered in that appalling Mobile format, bleh <= thought I'd whine.
2021-03-04 05:46:55 +0000 <koz_> So thus there must exist the pessimist version MTTK.
2021-03-04 05:47:04 +0000 <boxscape> hah
2021-03-04 05:47:08 +0000 <qih> boxscape: Fulltick, nice
2021-03-04 05:48:10 +0000 <koz_> And the centrist HFTK?
2021-03-04 05:48:37 +0000 <qih> https://github.com/deech/fltkhs/blob/master/images/tree-complex-windows.png That is nowhere as ugly as I feared, not bad at all.
2021-03-04 05:49:03 +0000 <jackdk> there's also a haskell-gi lib that uses GObject introspection to do gtk
2021-03-04 05:49:29 +0000 <boxscape> wow some throwbacks to the last millenium
2021-03-04 05:49:29 +0000 <jackdk> upon which https://github.com/owickstrom/gi-gtk-declarative is built
2021-03-04 05:50:15 +0000 <jackdk> https://owickstrom.github.io/declarative-gtk-programming-in-haskell/ may be a helpful getting-started
2021-03-04 05:50:41 +0000 <jackdk> qih: that's beautiful! I can see exactly which things are controls, and know what to click where
2021-03-04 05:50:59 +0000 <Axman6> http://hackage.haskell.org/package/fltkhs-0.8.0.3/docs/Graphics-UI-FLTK-LowLevel-FLTKHS.html#g:3 is worth taking note of
2021-03-04 05:51:41 +0000 <koz_> I always wonder at the term 'look and feel' for GUIs.
2021-03-04 05:51:42 +0000 <Axman6> https://github.com/deech/fltkhs-themes-demo
2021-03-04 05:51:55 +0000 <koz_> Like, last I checked, GUI didn't have the term 'tactile' in it.
2021-03-04 05:52:24 +0000Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 260 seconds)
2021-03-04 05:52:42 +0000 <qih> jackdk: I know right! He's done a really solid job of making that UI 10/10
2021-03-04 05:52:47 +0000 <Axman6> Wouldn't be surprised of FLTK has a braille interface :P
2021-03-04 05:52:50 +0000 <boxscape> koz_ it might refer to how it responds to inputs
2021-03-04 05:53:03 +0000 <koz_> boxscape: Yeah, makes sense, I'm just nitpicking. :P
2021-03-04 05:53:27 +0000 <Axman6> jackdk: excuse me who doesn't like a hamburger button as interface interface?
2021-03-04 05:53:32 +0000 <boxscape> (Though I suspect people have also been using "look and feel" for static sites)
2021-03-04 05:53:35 +0000 <qih> Axman6: Ctrl-D'd for sure.
2021-03-04 05:54:56 +0000 <jackdk> Axman6: I prefer programs where all operations are behind the `M-x` button, like a civilised person
2021-03-04 05:55:04 +0000 <Axman6> to me, that means close stdin
2021-03-04 05:55:15 +0000 <qih> boxscape: 'Look & Feel' ... marketing leet speak of little merit.
2021-03-04 05:56:51 +0000 <jackdk> Axman6: technically it sends the contents of the tty buffer without waiting for EOL
2021-03-04 05:57:09 +0000 <jackdk> qih: m4rk3ting sp33k?
2021-03-04 05:57:23 +0000 <qih> I want to make some simple Haskell-UI widgets to run on a bunch of machines, to simulate agents for a DAML. Hence the interest in Lightweight UI.
2021-03-04 05:57:29 +0000 <qih> jackdk: Snicker.
2021-03-04 05:57:29 +0000 <Axman6> jackdk: whatever, nerd 8)
2021-03-04 05:59:13 +0000 <qih> I might ask that as a question on the DAML forum, about simulations of agents from an almost RT perspective. I 'spose someone will tell me there is already a lib for that ...
2021-03-04 05:59:32 +0000Axman6awaits jackdk recommending Reflex
2021-03-04 06:00:21 +0000 <Axman6> qih: have you done the tutorial which creates a web ui? I was very impressed with the real-time nature of it
2021-03-04 06:01:09 +0000stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-04 06:02:01 +0000 <Axman6> DAML + Reflex would be quite cool actually
2021-03-04 06:02:08 +0000 <qih> Axman6: Ah the 'social media' one?
2021-03-04 06:02:37 +0000polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 06:02:45 +0000 <Axman6> I think it was just a chat app, but maybe
2021-03-04 06:03:27 +0000 <qih> Yes that's it. I have, had all the DAML stuff in, was working through the tutorials then the motherboard died.
2021-03-04 06:04:08 +0000 <koz_> qih: That bodes well. :P
2021-03-04 06:04:37 +0000 <qih> That was really cool. The instant nature of the network comms was not unlike Erlang's GEN_Server ... I was hooked 8-)
2021-03-04 06:07:17 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 06:07:29 +0000 <koz_> Wow, my tiny MR has now had comments from both Simon and Edward.
2021-03-04 06:11:39 +0000wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 260 seconds)
2021-03-04 06:11:50 +0000 <qih> Oh, on the DAML Core Team?
2021-03-04 06:12:48 +0000 <koz_> qih: No, on GHC.
2021-03-04 06:12:49 +0000kam1(~kam1@5.125.82.63) (Ping timeout: 260 seconds)
2021-03-04 06:13:15 +0000xff0x(~xff0x@2001:1a81:5237:bb00:afc3:f953:e68b:99a6) (Ping timeout: 240 seconds)
2021-03-04 06:13:37 +0000 <qih> OK, still, congrats
2021-03-04 06:14:00 +0000stree(~stree@68.36.8.116)
2021-03-04 06:14:18 +0000xff0x(~xff0x@2001:1a81:5237:bb00:987e:1ed6:ef8c:3d12)
2021-03-04 06:14:30 +0000 <koz_> qih: Thanks!
2021-03-04 06:14:53 +0000 <koz_> Axman6: DAML + Reflex = DAMLflex?
2021-03-04 06:16:22 +0000 <Axman6> ReflAML
2021-03-04 06:17:07 +0000lunaphyte_(~lunaphyte@217.146.82.202) (Remote host closed the connection)
2021-03-04 06:17:29 +0000 <qih> Sounds like a fancy pharmaceutical ... Reflamil.
2021-03-04 06:17:41 +0000Page43(debe8e1e@222.190.142.30)
2021-03-04 06:17:49 +0000 <koz_> qih: Take it to resolve all your IRL async issues.
2021-03-04 06:17:54 +0000 <qih> I smell a C&D letter coming on.
2021-03-04 06:18:06 +0000 <qih> Haha excellent, thanks.
2021-03-04 06:19:34 +0000 <qih> Async I am hungry.
2021-03-04 06:20:42 +0000 <koz_> Async that pun was ungodly.
2021-03-04 06:20:44 +0000boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Quit: Connection closed)
2021-03-04 06:21:34 +0000Page43(debe8e1e@222.190.142.30) (Client Quit)
2021-03-04 06:22:02 +0000 <qih> Haha, no, it was *awesome*
2021-03-04 06:28:28 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 06:30:28 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
2021-03-04 06:31:05 +0000Tops2(~Tobias@dyndsl-095-033-090-077.ewe-ip-backbone.de)
2021-03-04 06:32:08 +0000qih(~pi@210-54-120-166.adsl.xtra.co.nz) (Read error: Connection reset by peer)
2021-03-04 06:32:51 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2021-03-04 06:32:58 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
2021-03-04 06:33:35 +0000ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-03-04 06:34:01 +0000qih__(~pi@210-54-120-166.adsl.xtra.co.nz)
2021-03-04 06:34:33 +0000Trasp(~Trasp@195.140.213.38)
2021-03-04 06:34:47 +0000 <qih__> Well that was fun.
2021-03-04 06:39:33 +0000deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 264 seconds)
2021-03-04 06:42:42 +0000ryanbooker(uid4340@gateway/web/irccloud.com/x-rnkpnanajeurascu) (Quit: Connection closed for inactivity)
2021-03-04 06:43:20 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 06:45:52 +0000forgottenone(~forgotten@176.88.30.190)
2021-03-04 06:48:37 +0000Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2021-03-04 06:48:56 +0000_bin(~bin@2600:1700:10a1:38d0:922b:34ff:fe99:1283) (Ping timeout: 240 seconds)
2021-03-04 06:49:11 +0000graf_blutwurst(~user@2001:171b:226e:adc0:441d:c551:5138:50ac)
2021-03-04 06:53:10 +0000average(uid473595@gateway/web/irccloud.com/x-eenzrwxaxysearfe) (Quit: Connection closed for inactivity)
2021-03-04 06:54:20 +0000mirrorbird(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519)
2021-03-04 06:56:25 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 06:58:59 +0000sord937(~sord937@gateway/tor-sasl/sord937)
2021-03-04 07:00:16 +0000_bin(~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net)
2021-03-04 07:02:59 +0000mirrorbird(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519) (Read error: Connection reset by peer)
2021-03-04 07:03:01 +0000mirrorbird_(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519)
2021-03-04 07:05:16 +0000elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 276 seconds)
2021-03-04 07:06:35 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 07:08:23 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 07:08:48 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 07:10:09 +0000sh9(~sh9@softbank060116136158.bbtec.net) (Ping timeout: 265 seconds)
2021-03-04 07:10:28 +0000cfricke(~cfricke@unaffiliated/cfricke)
2021-03-04 07:10:57 +0000_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-04 07:13:23 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
2021-03-04 07:13:42 +0000jacks2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2021-03-04 07:24:46 +0000redmp(~redmp@172.58.38.160) (Ping timeout: 276 seconds)
2021-03-04 07:25:51 +0000denisse_(~spaceCat@gateway/tor-sasl/alephzer0)
2021-03-04 07:26:31 +0000 <bahamas> what would need to change for this error to be clearer?
2021-03-04 07:26:32 +0000denisse(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 268 seconds)
2021-03-04 07:26:33 +0000 <bahamas> [Just 4, Nothing, Just 'a']
2021-03-04 07:26:46 +0000 <bahamas> No instance for (Num Char) arising from the literal ‘4’
2021-03-04 07:27:17 +0000mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-04 07:27:31 +0000denisse_denisse
2021-03-04 07:28:35 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
2021-03-04 07:29:32 +0000kam1(~kam1@5.125.82.63)
2021-03-04 07:29:48 +0000drbean_(~drbean@TC210-63-209-53.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-04 07:31:16 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-03-04 07:31:56 +0000 <koz_> bahamas: It's because you have Just 4 first, so GHC assumes you have (Num a) => [a] there.
2021-03-04 07:32:01 +0000__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 07:32:05 +0000 <koz_> So it's going 'wait, Char isn't a Num, plz explain'.
2021-03-04 07:32:28 +0000 <koz_> Sorry, (Num a) => [Maybe a]
2021-03-04 07:33:55 +0000nineonine(~nineonine@50.216.62.2) (Remote host closed the connection)
2021-03-04 07:34:22 +0000nineonine(~nineonine@50.216.62.2)
2021-03-04 07:34:27 +0000kam1`(~user@5.125.82.63)
2021-03-04 07:36:24 +0000knupfer(~Thunderbi@200116b82c5bbe004d84b8705240f899.dip.versatel-1u1.de)
2021-03-04 07:37:24 +0000freeman42x[m]_(uid387759@gateway/web/irccloud.com/x-tmamqfkiqylunzfs)
2021-03-04 07:37:55 +0000raichoo(~raichoo@dslb-092-073-221-030.092.073.pools.vodafone-ip.de)
2021-03-04 07:38:03 +0000 <[exa]> bahamas: even very minor explicit typing helps a lot with type errors, try e.g. [Just4, Just 'a', Nothing::Maybe Int]
2021-03-04 07:39:47 +0000kam1(~kam1@5.125.82.63) (Quit: Quit)
2021-03-04 07:40:03 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 07:41:16 +0000chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-03-04 07:42:21 +0000 <qih__> Does Haskell have a Readline equiv? For user input into a script?
2021-03-04 07:42:49 +0000 <koz_> qih__: Haskeline.
2021-03-04 07:43:35 +0000 <qih__> Haha really? Thanks.
2021-03-04 07:44:31 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
2021-03-04 07:44:34 +0000dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2021-03-04 07:44:38 +0000danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-04 07:49:30 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 07:52:59 +0000gioyik(~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0)
2021-03-04 07:54:09 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-03-04 07:56:14 +0000malumore(~alecs@151.62.127.36)
2021-03-04 07:57:15 +0000bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c)
2021-03-04 07:57:57 +0000Varis(~Tadas@unaffiliated/varis)
2021-03-04 07:58:14 +0000olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it)
2021-03-04 07:58:14 +0000olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it) (Excess Flood)
2021-03-04 07:59:21 +0000mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-04 07:59:22 +0000mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-04 07:59:22 +0000mouseghost(~draco@wikipedia/desperek)
2021-03-04 08:00:09 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 08:03:38 +0000olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it)
2021-03-04 08:03:38 +0000olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it) (Excess Flood)
2021-03-04 08:06:35 +0000Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-03-04 08:07:53 +0000fendor(~fendor@77.119.128.81.wireless.dyn.drei.com)
2021-03-04 08:08:58 +0000__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 276 seconds)
2021-03-04 08:09:17 +0000coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-04 08:10:13 +0000coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-03-04 08:10:35 +0000jespada(~jespada@90.254.243.187)
2021-03-04 08:11:02 +0000coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-04 08:11:32 +0000coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-03-04 08:11:54 +0000qih__(~pi@210-54-120-166.adsl.xtra.co.nz) (Read error: Connection reset by peer)
2021-03-04 08:13:51 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 08:15:25 +0000Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2021-03-04 08:15:39 +0000 <bahamas> koz_: that makes sense, but why does it complain about the 4 and not about `Just 'a'`?
2021-03-04 08:16:03 +0000 <koz_> bahamas: A good question.
2021-03-04 08:16:22 +0000 <mouseghost> ?:
2021-03-04 08:16:22 +0000 <lambdabot> Maybe you meant: v @ ? .
2021-03-04 08:16:52 +0000jakalx(~jakalx@base.jakalx.net)
2021-03-04 08:16:58 +0000Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2021-03-04 08:18:47 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds)
2021-03-04 08:19:09 +0000kam1`(~user@5.125.82.63) (Ping timeout: 264 seconds)
2021-03-04 08:19:45 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-03-04 08:20:04 +0000wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se)
2021-03-04 08:22:10 +0000stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-04 08:22:20 +0000Yumasi(~guillaume@2a01:e0a:5cb:4430:8c46:2884:8ca1:7346)
2021-03-04 08:22:25 +0000Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is)
2021-03-04 08:25:24 +0000nineonin_(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
2021-03-04 08:26:25 +0000__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 08:28:58 +0000ssedov(~stas@2a00:13c0:63:7195::beef)
2021-03-04 08:29:05 +0000nineonine(~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
2021-03-04 08:29:10 +0000jiribenes_(~jiribenes@rosa.jiribenes.com)
2021-03-04 08:29:35 +0000whez_(sid470288@gateway/web/irccloud.com/x-pthafhujofirezkd)
2021-03-04 08:29:37 +0000Nascha_(sid212230@gateway/web/irccloud.com/x-qczetniwqeazgilv)
2021-03-04 08:29:37 +0000mcfilib_(sid302703@gateway/web/irccloud.com/x-ownjkwkezqcygkve)
2021-03-04 08:29:38 +0000caasih_(sid13241@gateway/web/irccloud.com/x-qijdxufzyweqhywy)
2021-03-04 08:29:38 +0000benkolera_(sid285671@gateway/web/irccloud.com/x-sxotikxkrteyeims)
2021-03-04 08:29:38 +0000alexknvl_(sid259568@gateway/web/irccloud.com/x-aicokisyczvigycz)
2021-03-04 08:29:39 +0000parseval_(sid239098@gateway/web/irccloud.com/x-umgugjvykfxjuxhz)
2021-03-04 08:29:39 +0000m-renaud_(sid333785@gateway/web/irccloud.com/x-bkrbrcredfckpflf)
2021-03-04 08:29:39 +0000tnks_(sid412124@gateway/web/irccloud.com/x-ofaeezfkxpltipls)
2021-03-04 08:29:40 +0000ajmcmiddlin_(sid284402@gateway/web/irccloud.com/x-vfnugzfwoucjmsyx)
2021-03-04 08:29:40 +0000Tritlo_(sid58727@gateway/web/irccloud.com/x-wbzdtjqdjxocddky)
2021-03-04 08:29:40 +0000wildsebastian_(sid324688@gateway/web/irccloud.com/x-lebzerklkyeltgpg)
2021-03-04 08:29:41 +0000mpickering_(sid78412@gateway/web/irccloud.com/x-xcaymlyqrctfybyu)
2021-03-04 08:29:41 +0000edwardk_(sid47016@haskell/developer/edwardk)
2021-03-04 08:29:48 +0000Kronic_(sid480486@gateway/web/irccloud.com/x-nxsfkkgroattssdp)
2021-03-04 08:29:49 +0000atriq(~Taneb@runciman.hacksoc.org)
2021-03-04 08:29:51 +0000bjs_(sid190364@gateway/web/irccloud.com/x-orptgfjwvvatppsz)
2021-03-04 08:29:51 +0000tomsmeding_(~tomsmedin@2a03:b0c0:0:1010::767:3001)
2021-03-04 08:29:52 +0000gOOgler_(uid125351@gateway/web/irccloud.com/x-xqfkukcjcgrzokzf)
2021-03-04 08:29:53 +0000ocharles_(sid30093@musicbrainz/user/ocharles)
2021-03-04 08:29:53 +0000jonrh_(sid5185@gateway/web/irccloud.com/x-edynkmjkttfouabi)
2021-03-04 08:29:54 +0000typetetris_(sid275937@gateway/web/irccloud.com/x-slhwzzrziatkashc)
2021-03-04 08:29:54 +0000dgpratt_(sid193493@gateway/web/irccloud.com/x-ciamvfkocjxmyaoq)
2021-03-04 08:29:59 +0000billstclair_(sid77830@gateway/web/irccloud.com/x-scbeoiqvbygvcgod)
2021-03-04 08:30:03 +0000dequbed(~dequbed@yanduxian.paranoidlabs.org)
2021-03-04 08:30:04 +0000Kamuela_(sid111576@gateway/web/irccloud.com/x-rawlogsccanndxab)
2021-03-04 08:30:05 +0000npgm_(sid42623@gateway/web/irccloud.com/x-kuowlapmdjoqcdvp)
2021-03-04 08:30:06 +0000affinespaces_(sid327561@gateway/web/irccloud.com/x-ggonmcpljdasmoht)
2021-03-04 08:30:07 +0000infinisi1(~infinisil@NixOS/user/infinisil)
2021-03-04 08:30:08 +0000stylewarning_(stylewarni@gateway/web/irccloud.com/x-gonmnbqftdyxklpu)
2021-03-04 08:30:14 +0000higherorder__(sid185221@gateway/web/irccloud.com/x-ulsufjwffnavwfuo)
2021-03-04 08:30:14 +0000betawaffle_(sid2730@gateway/web/irccloud.com/x-bxkcemrjdfeodlht)
2021-03-04 08:30:19 +0000Adeon_(sid418992@gateway/web/irccloud.com/x-ofglsdimpdtebsds)
2021-03-04 08:30:38 +0000amatecha____(sid10006@gateway/web/irccloud.com/x-uvfkrdnmulqvmuhf)
2021-03-04 08:30:55 +0000vjok1(vjoki@2a00:d880:3:1::fea1:9ae)
2021-03-04 08:31:02 +0000lisq_(~quassel@lis.moe)
2021-03-04 08:31:17 +0000beaky_(~beaky@2a03:b0c0:0:1010::17cf:7003)
2021-03-04 08:31:19 +0000riasue(~quassel@2001:310:6000:f::5198:1)
2021-03-04 08:31:56 +0000xnyhps_(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288)
2021-03-04 08:32:02 +0000bwe_(~bwe@2a01:4f8:1c1c:4878::2)
2021-03-04 08:32:06 +0000bjobjo_(~bjobjo@2a01:79c:cebf:d688::9e6)
2021-03-04 08:32:07 +0000Ferdiran1(~max@2001:4c78:2012:5000::2)
2021-03-04 08:32:10 +0000tomjagua1paw(~tom@li367-225.members.linode.com)
2021-03-04 08:32:15 +0000ixian8(~mgold@terra.bitplane.org)
2021-03-04 08:32:23 +0000weechat3(~mingc@2400:8902::f03c:91ff:feb7:8e82)
2021-03-04 08:32:35 +0000bcmiller_(~bm3719@66.42.95.185)
2021-03-04 08:32:42 +0000ubert1(~Thunderbi@p200300ecdf25d9e2e6b318fffe838f33.dip0.t-ipconnect.de)
2021-03-04 08:32:44 +0000holo2(~holo@nikky.moe)
2021-03-04 08:32:45 +0000tomsmeding(~tomsmedin@2a03:b0c0:0:1010::767:3001) (Disconnected by services)
2021-03-04 08:32:56 +0000nikola(~nikola@2a03:b0c0:2:d0::dc2:c001)
2021-03-04 08:32:57 +0000copypasteque(~copypaste@2001:41d0:8:b325::1)
2021-03-04 08:32:58 +0000thonkpod_(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2021-03-04 08:32:58 +0000krjt(~krjst@2604:a880:800:c1::16b:8001)
2021-03-04 08:33:01 +0000tomsmeding_tomsmeding
2021-03-04 08:33:03 +0000walt(~ggVGc@a.lowtech.earth)
2021-03-04 08:33:16 +0000dexter(dexter@2a01:7e00::f03c:91ff:fe86:59ec)
2021-03-04 08:33:30 +0000entropyga1n(levitate@unaffiliated/entropygain)
2021-03-04 08:33:43 +0000agrif-(agrif@rakeri.net)
2021-03-04 08:33:44 +0000sim642_(~simmo@unaffiliated/sim642)
2021-03-04 08:33:47 +0000tabaqui1(~tabaqui@2604:a880:800:c1::21b:3001)
2021-03-04 08:33:48 +0000a3f(~a3f@chimeria.ext.pengutronix.de)
2021-03-04 08:33:54 +0000PHO__(~pho@akari.cielonegro.org)
2021-03-04 08:34:04 +0000nemesit|znc_(~nemesit@myriadvisuals.com)
2021-03-04 08:34:04 +0000ego_(~ego@2604:a880:800:a1::1b:b001)
2021-03-04 08:34:18 +0000jeffcasavant[m]1(jeffcasava@gateway/shell/matrix.org/x-zocdvhbwqljgjspp)
2021-03-04 08:34:18 +0000rawles_(~r@unaffiliated/rawles)
2021-03-04 08:34:19 +0000hexagoxe-(~hexagoxel@2a01:4f8:c0c:e::2)
2021-03-04 08:34:20 +0000tekmaster(~tekacs@178.79.131.8)
2021-03-04 08:34:22 +0000exferenc-(~exference@hexagoxel.de)
2021-03-04 08:34:27 +0000sis7_(~user@2001:15e8:110:473e::1)
2021-03-04 08:34:29 +0000freeman42x[m]1(freeman42x@gateway/shell/matrix.org/x-qxkxelsgcvmbsqlb)
2021-03-04 08:34:40 +0000martin02_(silas@hund.fs.lmu.de)
2021-03-04 08:34:54 +0000edwardk(sid47016@haskell/developer/edwardk) (Disconnected by services)
2021-03-04 08:34:58 +0000edwardk_edwardk
2021-03-04 08:35:00 +0000PHO__PHO
2021-03-04 08:35:13 +0000stree(~stree@68.36.8.116)
2021-03-04 08:35:20 +0000_flow__(~none@salem.informatik.uni-erlangen.de)
2021-03-04 08:35:41 +0000Aleksejs_Home(~Aleksejs@haskell.lv)
2021-03-04 08:35:49 +0000cawfee(chiya@2406:3003:2077:2341::babe)
2021-03-04 08:36:03 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 08:36:49 +0000bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c) (Ping timeout: 272 seconds)
2021-03-04 08:37:22 +0000michalz(~user@185.246.204.47)
2021-03-04 08:37:28 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-03-04 08:43:12 +0000kritzefitz(~kritzefit@fw-front.credativ.com)
2021-03-04 08:43:31 +0000freeman42x[m](freeman42x@gateway/shell/matrix.org/x-swjzfvecjjmfxmen) (*.net *.split)
2021-03-04 08:43:31 +0000jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-komviiuaffxezunv) (*.net *.split)
2021-03-04 08:43:31 +0000vjoki(vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
2021-03-04 08:43:31 +0000jess(jess@freenode/staff/jess) (*.net *.split)
2021-03-04 08:43:31 +0000martin02(silas@hund.fs.lmu.de) (*.net *.split)
2021-03-04 08:43:31 +0000mcfilib(sid302703@gateway/web/irccloud.com/x-hnldclqivbijvpbm) (*.net *.split)
2021-03-04 08:43:31 +0000bwe(~bwe@unaffiliated/bwe) (*.net *.split)
2021-03-04 08:43:31 +0000a3f_(~a3f@chimeria.ext.pengutronix.de) (*.net *.split)
2021-03-04 08:43:31 +0000parseval(sid239098@gateway/web/irccloud.com/x-xtgzvtrnthigcynq) (*.net *.split)
2021-03-04 08:43:31 +0000amatecha___(sid10006@gateway/web/irccloud.com/x-hfdlvklywzlniuqc) (*.net *.split)
2021-03-04 08:43:31 +0000betawaffle(sid2730@gateway/web/irccloud.com/x-fkangvxpurzqruey) (*.net *.split)
2021-03-04 08:43:31 +0000Kamuela(sid111576@gateway/web/irccloud.com/x-nqaokwfckextdaiq) (*.net *.split)
2021-03-04 08:43:31 +0000lisq(~quassel@lis.moe) (*.net *.split)
2021-03-04 08:43:31 +0000dexterfoo(dexter@2a01:7e00::f03c:91ff:fe86:59ec) (*.net *.split)
2021-03-04 08:43:31 +0000higherorder_(sid185221@gateway/web/irccloud.com/x-uismvhlimcfebiyq) (*.net *.split)
2021-03-04 08:43:31 +0000stass(~stas@2a00:13c0:63:7195::beef) (*.net *.split)
2021-03-04 08:43:31 +0000copypasteque_(~copypaste@2001:41d0:8:b325::1) (*.net *.split)
2021-03-04 08:43:31 +0000nikola4(~nikola@2a03:b0c0:2:d0::dc2:c001) (*.net *.split)
2021-03-04 08:43:31 +0000holo1(~holo@nikky.moe) (*.net *.split)
2021-03-04 08:43:31 +0000riatre(~quassel@2001:310:6000:f::5198:1) (*.net *.split)
2021-03-04 08:43:31 +0000dequbed_(~dequbed@2001:bc8:3f24:100::1) (*.net *.split)
2021-03-04 08:43:31 +0000Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
2021-03-04 08:43:31 +0000infinisil(~infinisil@NixOS/user/infinisil) (*.net *.split)
2021-03-04 08:43:31 +0000jiribenes(~jiribenes@rosa.jiribenes.com) (*.net *.split)
2021-03-04 08:43:31 +0000Kronic(sid480486@gateway/web/irccloud.com/x-bynyulwltgynltmc) (*.net *.split)
2021-03-04 08:43:31 +0000thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (*.net *.split)
2021-03-04 08:43:31 +0000dale(dale@unaffiliated/dale) (*.net *.split)
2021-03-04 08:43:31 +0000ajmcmiddlin(sid284402@gateway/web/irccloud.com/x-envrayjafctqomyi) (*.net *.split)
2021-03-04 08:43:31 +0000whez(sid470288@gateway/web/irccloud.com/x-rgticdwlpxuwtxmt) (*.net *.split)
2021-03-04 08:43:31 +0000typetetris(sid275937@gateway/web/irccloud.com/x-stkqjtnjlxzqnxsl) (*.net *.split)
2021-03-04 08:43:31 +0000m-renaud(sid333785@gateway/web/irccloud.com/x-cahbetqlwgcicebd) (*.net *.split)
2021-03-04 08:43:31 +0000ocharles(sid30093@musicbrainz/user/ocharles) (*.net *.split)
2021-03-04 08:43:31 +0000ixian(~mgold@terra.bitplane.org) (*.net *.split)
2021-03-04 08:43:31 +0000benkolera(sid285671@gateway/web/irccloud.com/x-twzfcwapzvlcxrpj) (*.net *.split)
2021-03-04 08:43:31 +0000gOOgler(uid125351@gateway/web/irccloud.com/x-rrpkpkuuapidsyfn) (*.net *.split)
2021-03-04 08:43:31 +0000billstclair(sid77830@gateway/web/irccloud.com/x-oesooeymiowzuzns) (*.net *.split)
2021-03-04 08:43:31 +0000Aleksejs(~Aleksejs@haskell.lv) (*.net *.split)
2021-03-04 08:43:31 +0000tabaqui(~tabaqui@2604:a880:800:c1::21b:3001) (*.net *.split)
2021-03-04 08:43:31 +0000tekacs(tekacs@2a01:7e00::f03c:91ff:fe93:43aa) (*.net *.split)
2021-03-04 08:43:31 +0000nemesit|znc(~nemesit@2a01:488:66:1000:2ea3:4eeb:0:1) (*.net *.split)
2021-03-04 08:43:31 +0000npgm(sid42623@gateway/web/irccloud.com/x-epxqkdszurzloaos) (*.net *.split)
2021-03-04 08:43:31 +0000mpickering(sid78412@gateway/web/irccloud.com/x-ullosshavaeyawfg) (*.net *.split)
2021-03-04 08:43:31 +0000affinespaces(sid327561@gateway/web/irccloud.com/x-dkkclnjlpoudblgz) (*.net *.split)
2021-03-04 08:43:31 +0000Tritlo(sid58727@gateway/web/irccloud.com/x-elrrgxjqxqvbsxaj) (*.net *.split)
2021-03-04 08:43:31 +0000stylewarning(stylewarni@gateway/web/irccloud.com/x-xytuvgxkxgyavseq) (*.net *.split)
2021-03-04 08:43:31 +0000tnks(sid412124@gateway/web/irccloud.com/x-aeixbyffiogfyzax) (*.net *.split)
2021-03-04 08:43:31 +0000dgpratt(sid193493@gateway/web/irccloud.com/x-xzzvvqtrbrrriqqy) (*.net *.split)
2021-03-04 08:43:31 +0000rawles(~r@unaffiliated/rawles) (*.net *.split)
2021-03-04 08:43:31 +0000_flow_(~none@salem.informatik.uni-erlangen.de) (*.net *.split)
2021-03-04 08:43:31 +0000myme(~myme@li1406-121.members.linode.com) (*.net *.split)
2021-03-04 08:43:31 +0000hexagoxel(~hexagoxel@2a01:4f8:c0c:e::2) (*.net *.split)
2021-03-04 08:43:31 +0000wildsebastian(sid324688@gateway/web/irccloud.com/x-yyzqmmxbyqmuqkuw) (*.net *.split)
2021-03-04 08:43:31 +0000jonrh(sid5185@gateway/web/irccloud.com/x-izunjptqnvnhhsic) (*.net *.split)
2021-03-04 08:43:31 +0000caasih(sid13241@gateway/web/irccloud.com/x-qinujoqnjozgosio) (*.net *.split)
2021-03-04 08:43:31 +0000alexknvl(sid259568@gateway/web/irccloud.com/x-thwkgdxraegelnxg) (*.net *.split)
2021-03-04 08:43:31 +0000Adeon(sid418992@gateway/web/irccloud.com/x-ckgjqpmuzmiriaco) (*.net *.split)
2021-03-04 08:43:31 +0000bjs(sid190364@gateway/web/irccloud.com/x-bdnfguocwopyqbcq) (*.net *.split)
2021-03-04 08:43:31 +0000Nascha(sid212230@gateway/web/irccloud.com/x-kpyhouvkzkznjbww) (*.net *.split)
2021-03-04 08:43:31 +0000bcmiller(~bm3719@66.42.95.185) (*.net *.split)
2021-03-04 08:43:31 +0000sis7(~user@2001:15e8:110:473e::1) (*.net *.split)
2021-03-04 08:43:31 +0000pong(chiya@2406:3003:2077:2341::babe) (*.net *.split)
2021-03-04 08:43:31 +0000exferenceBot(~exference@2a01:4f8:c0c:e::2) (*.net *.split)
2021-03-04 08:43:31 +0000beaky(~beaky@2a03:b0c0:0:1010::17cf:7003) (*.net *.split)
2021-03-04 08:43:31 +0000ggVGc(~ggVGc@unaffiliated/walt) (*.net *.split)
2021-03-04 08:43:31 +0000agrif(agrif@overviewer/dev/agrif) (*.net *.split)
2021-03-04 08:43:31 +0000bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6) (*.net *.split)
2021-03-04 08:43:31 +0000weechat_1(~mingc@2400:8902::f03c:91ff:feb7:8e82) (*.net *.split)
2021-03-04 08:43:31 +0000entropygain(levitate@unaffiliated/entropygain) (*.net *.split)
2021-03-04 08:43:31 +0000krjst(~krjst@2604:a880:800:c1::16b:8001) (*.net *.split)
2021-03-04 08:43:31 +0000Ferdirand(~max@2001:4c78:2012:5000::2) (*.net *.split)
2021-03-04 08:43:31 +0000ego(~ego@parallaxcorporation.xyz) (*.net *.split)
2021-03-04 08:43:31 +0000PHO_(~pho@akari.cielonegro.org) (*.net *.split)
2021-03-04 08:43:31 +0000solarus(~solarus@2a03:b0c0:2:d0::48:7001) (*.net *.split)
2021-03-04 08:43:31 +0000sim642(~simmo@unaffiliated/sim642) (*.net *.split)
2021-03-04 08:43:31 +0000xnyhps(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split)
2021-03-04 08:43:31 +0000tomjaguarpaw(~tom@li367-225.members.linode.com) (*.net *.split)
2021-03-04 08:43:32 +0000bcmiller_bcmiller
2021-03-04 08:43:32 +0000exferenc-exferenceBot
2021-03-04 08:43:32 +0000mcfilib_mcfilib
2021-03-04 08:43:33 +0000agrif-agrif
2021-03-04 08:43:33 +0000hexagoxe-hexagoxel
2021-03-04 08:43:33 +0000agrif(agrif@rakeri.net) (Changing host)
2021-03-04 08:43:33 +0000agrif(agrif@overviewer/dev/agrif)
2021-03-04 08:43:35 +0000parseval_parseval
2021-03-04 08:43:35 +0000benkolera_benkolera
2021-03-04 08:43:36 +0000whez_whez
2021-03-04 08:43:37 +0000freeman42x[m]_freeman42x[m]
2021-03-04 08:43:37 +0000vjok1vjoki
2021-03-04 08:43:38 +0000m-renaud_m-renaud
2021-03-04 08:43:38 +0000mpickering_mpickering
2021-03-04 08:43:39 +0000Tritlo_Tritlo
2021-03-04 08:43:39 +0000Kronic_Kronic
2021-03-04 08:43:39 +0000sim642_sim642
2021-03-04 08:43:41 +0000ajmcmiddlin_ajmcmiddlin
2021-03-04 08:43:41 +0000caasih_caasih
2021-03-04 08:43:44 +0000jonrh_jonrh
2021-03-04 08:43:44 +0000Kamuela_Kamuela
2021-03-04 08:43:44 +0000affinespaces_affinespaces
2021-03-04 08:43:44 +0000alexknvl_alexknvl
2021-03-04 08:43:45 +0000typetetris_typetetris
2021-03-04 08:43:45 +0000ocharles_ocharles
2021-03-04 08:43:45 +0000Adeon_Adeon
2021-03-04 08:43:45 +0000tnks_tnks
2021-03-04 08:43:46 +0000wildsebastian_wildsebastian
2021-03-04 08:43:46 +0000billstclair_billstclair
2021-03-04 08:43:49 +0000dgpratt_dgpratt
2021-03-04 08:43:51 +0000npgm_npgm
2021-03-04 08:43:52 +0000stylewarning_stylewarning
2021-03-04 08:43:52 +0000Nascha_Nascha
2021-03-04 08:43:54 +0000bjs_bjs
2021-03-04 08:43:54 +0000lisq_lisq
2021-03-04 08:44:22 +0000dale(dale@unaffiliated/dale)
2021-03-04 08:45:34 +0000myme(~myme@li1406-121.members.linode.com)
2021-03-04 08:46:09 +0000jdt(~jdt@208.85.233.130) (Ping timeout: 264 seconds)
2021-03-04 08:46:19 +0000stree(~stree@68.36.8.116) (Excess Flood)
2021-03-04 08:46:45 +0000notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 264 seconds)
2021-03-04 08:46:46 +0000stree(~stree@68.36.8.116)
2021-03-04 08:48:27 +0000ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-03-04 08:48:39 +0000jdt(~jdt@208.85.233.130)
2021-03-04 08:50:34 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds)
2021-03-04 08:54:13 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 256 seconds)
2021-03-04 08:55:17 +0000Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3)
2021-03-04 08:59:36 +0000atriqTaneb
2021-03-04 09:01:35 +0000beaky_beaky
2021-03-04 09:04:02 +0000fendor(~fendor@77.119.128.81.wireless.dyn.drei.com) (Remote host closed the connection)
2021-03-04 09:04:20 +0000fendor(~fendor@77.119.128.81.wireless.dyn.drei.com)
2021-03-04 09:06:24 +0000ixlun(~user@213.205.241.12)
2021-03-04 09:07:19 +0000entropyga1nentropygain
2021-03-04 09:08:12 +0000rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2021-03-04 09:11:03 +0000nineonin_(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Remote host closed the connection)
2021-03-04 09:11:56 +0000fendor_(~fendor@77.119.128.81.wireless.dyn.drei.com)
2021-03-04 09:12:48 +0000kuribas(~user@ptr-25vy0iacstgp10erojf.18120a2.ip6.access.telenet.be)
2021-03-04 09:12:49 +0000nineonine(~nineonine@S0106a0ff7073d5d5.vf.shawcable.net)
2021-03-04 09:13:39 +0000fendor(~fendor@77.119.128.81.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-03-04 09:17:44 +0000nineonine(~nineonine@S0106a0ff7073d5d5.vf.shawcable.net) (Ping timeout: 260 seconds)
2021-03-04 09:18:55 +0000vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-03-04 09:20:45 +0000 <Unhammer> https://hackage.haskell.org/package/fuzzcheck missed opportunity to name a package "hirsuite" (test suite made of fuzz)
2021-03-04 09:20:54 +0000jess(jess@freenode/staff/jess)
2021-03-04 09:21:03 +0000 <mouseghost> fursuite, Unhammer
2021-03-04 09:23:45 +0000beardhatcode(robbertbea@gateway/shell/matrix.org/x-gbhtxxezlpitjror)
2021-03-04 09:24:38 +0000berberman(~berberman@unaffiliated/berberman)
2021-03-04 09:25:35 +0000berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2021-03-04 09:29:15 +0000xff0x(~xff0x@2001:1a81:5237:bb00:987e:1ed6:ef8c:3d12) (Remote host closed the connection)
2021-03-04 09:29:34 +0000xff0x(~xff0x@2001:1a81:5237:bb00:76ab:515a:5e02:6571)
2021-03-04 09:35:46 +0000Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-03-04 09:36:35 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-04 09:36:59 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-04 09:39:07 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 09:40:14 +0000notzmv(~zmv@unaffiliated/zmv)
2021-03-04 09:42:06 +0000chenshen(~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 09:43:00 +0000boxscape(86ab2c0d@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.13)
2021-03-04 09:43:27 +0000hnOsmium0001(uid453710@gateway/web/irccloud.com/x-czcoxqegzsrqhure) (Quit: Connection closed for inactivity)
2021-03-04 09:43:30 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-03-04 09:43:55 +0000mapperr(~mapperr@vmi389916.contaboserver.net) (Remote host closed the connection)
2021-03-04 09:44:59 +0000vchlup_(~vchlup@nat.brnet.cz) (Remote host closed the connection)
2021-03-04 09:45:11 +0000mapperr(~mapperr@vmi389916.contaboserver.net)
2021-03-04 09:45:23 +0000vchlup_(~vchlup@nat.brnet.cz)
2021-03-04 09:47:09 +0000jakalx(~jakalx@base.jakalx.net) ()
2021-03-04 09:47:22 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 09:48:03 +0000toorevitimirp(~tooreviti@117.182.182.60)
2021-03-04 09:48:06 +0000 <Unhammer> weell, that one sounds a bit too much like a costume
2021-03-04 09:51:52 +0000pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-03-04 09:54:02 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 264 seconds)
2021-03-04 09:54:59 +0000makergrl(~ident@29.201.4.46.bc.googleusercontent.com)
2021-03-04 09:56:12 +0000freeman42x[m](uid387759@gateway/web/irccloud.com/x-tmamqfkiqylunzfs) (Quit: Connection closed for inactivity)
2021-03-04 09:57:32 +0000ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net)
2021-03-04 09:57:32 +0000ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-03-04 09:57:32 +0000ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-03-04 10:03:35 +0000knupfer(~Thunderbi@200116b82c5bbe004d84b8705240f899.dip.versatel-1u1.de) (Remote host closed the connection)
2021-03-04 10:03:44 +0000knupfer(~Thunderbi@200116b82c5bbe00c174e65d57f6f6eb.dip.versatel-1u1.de)
2021-03-04 10:04:18 +0000Rudd0(~Rudd0@185.189.115.103)
2021-03-04 10:07:46 +0000m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-04 10:13:08 +0000boxscape(86ab2c0d@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.13) (Quit: Connection closed)
2021-03-04 10:13:15 +0000aarvar(~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008) (Ping timeout: 240 seconds)
2021-03-04 10:14:33 +0000gehmehgeh(~ircuser1@unaffiliated/gehmehgeh)
2021-03-04 10:14:34 +0000gehmehgeh(~ircuser1@unaffiliated/gehmehgeh) (Changing host)
2021-03-04 10:14:34 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-04 10:14:41 +0000gienah(~mwright@gentoo/developer/gienah) (Quit: Lost terminal)
2021-03-04 10:16:19 +0000tomsmeding(~tomsmedin@2a03:b0c0:0:1010::767:3001) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-04 10:16:39 +0000dsrt^(dsrt@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 260 seconds)
2021-03-04 10:17:14 +0000tomsmeding(~tomsmedin@tomsmeding.com)
2021-03-04 10:17:20 +0000dsrt^(nehsou@ip98-184-89-2.mc.at.cox.net)
2021-03-04 10:23:01 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 10:24:55 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 10:27:15 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 240 seconds)
2021-03-04 10:30:48 +0000mapperr(~mapperr@vmi389916.contaboserver.net) (Remote host closed the connection)
2021-03-04 10:31:17 +0000pjb(~t@2a01cb04063ec5007ce20f826557de89.ipv6.abo.wanadoo.fr)
2021-03-04 10:31:53 +0000mapperr(~mapperr@vmi389916.contaboserver.net)
2021-03-04 10:32:48 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
2021-03-04 10:35:43 +0000hrdl(~ef24a0e6@unaffiliated/hrdl) (Remote host closed the connection)
2021-03-04 10:36:22 +0000alecs(~alecs@151.62.127.36)
2021-03-04 10:36:29 +0000alecs(~alecs@151.62.127.36) (Client Quit)
2021-03-04 10:37:04 +0000alecs(~alecs@151.62.127.36)
2021-03-04 10:37:07 +0000alecs(~alecs@151.62.127.36) (Remote host closed the connection)
2021-03-04 10:38:12 +0000mananamenos_(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-04 10:38:22 +0000kowodo(~kowodo@p57b33e73.dip0.t-ipconnect.de)
2021-03-04 10:38:48 +0000mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 245 seconds)
2021-03-04 10:41:41 +0000thc202(~thc202@unaffiliated/thc202)
2021-03-04 10:44:10 +0000o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2021-03-04 10:44:21 +0000seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Ping timeout: 264 seconds)
2021-03-04 10:45:32 +0000seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
2021-03-04 10:47:01 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2021-03-04 10:48:40 +0000gienah(~mwright@gentoo/developer/gienah)
2021-03-04 10:49:49 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2021-03-04 10:51:19 +0000__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 245 seconds)
2021-03-04 10:54:21 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 10:55:09 +0000stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-04 10:57:00 +0000jakalx(~jakalx@base.jakalx.net)
2021-03-04 10:59:13 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 10:59:36 +0000Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Quit: Leaving)
2021-03-04 11:03:12 +0000betawaffle_betawaffle
2021-03-04 11:08:03 +0000stree(~stree@68.36.8.116)
2021-03-04 11:11:56 +0000jiribenes_jiribenes
2021-03-04 11:12:29 +0000 <nshepperd2> I keep finding myself reaching for something like (Seq a, Map a Int), where the Map lets you look up the position of each element and can be efficiently updated on all Seq operations (insert/delete/split/concatenate), but of course with a naive Map that's impossible to do better than O(n)
2021-03-04 11:14:37 +0000 <nshepperd2> edwardk: ^^ do you know any datastructure like this with good asymptotics? I think i vaguely remember seeing a talk from you that mentioned this but can't remember when
2021-03-04 11:15:22 +0000dexterlb_(~dexterlb@2a01:9e40:2:2::2) (Quit: Boing)
2021-03-04 11:16:04 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-04 11:16:24 +0000 <mniip> nshepperd2, segment/fenwick trees might help
2021-03-04 11:16:37 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2021-03-04 11:16:49 +0000 <mniip> you can do monoidal range update in log time
2021-03-04 11:17:36 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 11:18:20 +0000 <nshepperd2> interesting
2021-03-04 11:18:34 +0000 <nshepperd2> that does look relevant
2021-03-04 11:19:48 +0000walt(~ggVGc@a.lowtech.earth) (Changing host)
2021-03-04 11:19:48 +0000walt(~ggVGc@unaffiliated/walt)
2021-03-04 11:19:53 +0000waltggVGc
2021-03-04 11:21:39 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 11:22:09 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 245 seconds)
2021-03-04 11:24:05 +0000 <mniip> I guess the FP analog would be a map that stores a monoid element in every node
2021-03-04 11:24:19 +0000 <mniip> and the value in the leaf is the concatenation of the elements along the path
2021-03-04 11:24:31 +0000 <mniip> so you can update an entire subtree in O(1)
2021-03-04 11:26:11 +0000dexterlb_(~dexterlb@2a01:9e40:2:2::2)
2021-03-04 11:28:27 +0000 <nshepperd2> so far what i've been able to come up with on my own is: 1. use a linked list (fwd :: Map a a, bwd :: Map a a) which is efficient but doesn't support everything Seq does; or 2. Bimap Key a where Key is some datatype that is dense like the real numbers (eg. [Int]) which degrades in performance if you repeatedly insert between two elements
2021-03-04 11:29:00 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 11:29:22 +0000bjobjo_bjobjo
2021-03-04 11:33:12 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 11:33:25 +0000average(uid473595@gateway/web/irccloud.com/x-xflnwfcmhqvolkuk)
2021-03-04 11:35:10 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 11:35:19 +0000 <siraben> nshepperd2: would finger trees work?
2021-03-04 11:35:38 +0000 <siraben> (it's what Seq uses internally but it works over an custom monoid)
2021-03-04 11:35:43 +0000drbean(~drbean@TC210-63-209-31.static.apol.com.tw)
2021-03-04 11:36:34 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 11:36:55 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 11:37:50 +0000 <arahael> How do I read a string into an xml document? I'm using hxt and have tried: runX $ readString [ withValidate no ] $ unpack $ decodeUtf8 xml
2021-03-04 11:38:49 +0000 <arahael> The problem is that I have a 'fatal error: HTTP handler not configured', there is further instructions I could follow to eg, use the 'withHTTP' option, but how can i *just* parse this xml and not also fetch DTD's and stuff like that?
2021-03-04 11:40:04 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 11:40:43 +0000usr25(~usr25@unaffiliated/usr25)
2021-03-04 11:42:23 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 11:42:58 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 11:48:04 +0000wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se) (Quit: Leaving)
2021-03-04 11:48:13 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 11:48:38 +0000 <nshepperd2> siraben: FingerTree (Set a) a works 'in principle' -- you can find an element in O(log(n)^2) by following the branches that have your element, but the concatenation performance is terrible (O(n log (m)^2) or so)
2021-03-04 11:49:00 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 11:49:42 +0000 <arahael> Found the answer at https://stackoverflow.com/a/22858640/52273 - apparently I had to use `withSubstDTDEntities no`
2021-03-04 11:50:13 +0000 <nshepperd2> maybe a less ridiculous monoid in a fingertree would work, i don't know what though
2021-03-04 11:50:29 +0000jrqc(~rofl@96.78.87.197) (Ping timeout: 245 seconds)
2021-03-04 11:53:21 +0000mananamenos_(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 264 seconds)
2021-03-04 11:53:37 +0000jrqc(~rofl@96.78.87.197)
2021-03-04 11:54:14 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-04 11:55:13 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 11:59:05 +0000alx741(~alx741@186.178.108.117)
2021-03-04 11:59:41 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 12:01:55 +0000bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458)
2021-03-04 12:05:31 +0000Wuzzy(~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de)
2021-03-04 12:05:34 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-03-04 12:06:02 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 264 seconds)
2021-03-04 12:06:51 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 12:06:51 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Read error: Connection reset by peer)
2021-03-04 12:07:18 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 12:07:23 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 12:08:15 +0000refusenick(~user@2601:644:8502:d700::9c98) (Ping timeout: 240 seconds)
2021-03-04 12:11:08 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Read error: Connection reset by peer)
2021-03-04 12:12:19 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 12:12:37 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 12:13:12 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 12:13:17 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 268 seconds)
2021-03-04 12:13:33 +0000Deide(~Deide@217.155.19.23)
2021-03-04 12:15:38 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 12:15:44 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 12:16:01 +0000LKoen(~LKoen@185.61.176.203)
2021-03-04 12:16:56 +0000cgadski_(~textual@87.196.80.116)
2021-03-04 12:16:59 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 12:20:18 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 12:20:19 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 260 seconds)
2021-03-04 12:20:27 +0000Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-03-04 12:21:09 +0000cgadski_cgadski
2021-03-04 12:21:19 +0000LKoen(~LKoen@185.61.176.203) (Remote host closed the connection)
2021-03-04 12:23:43 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 12:24:32 +0000JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 12:25:42 +0000plutoniix(~q@184.82.201.211) (Quit: Leaving)
2021-03-04 12:28:12 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 258 seconds)
2021-03-04 12:40:39 +0000sqrt2_sqrt2
2021-03-04 12:43:16 +0000matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-04 12:43:23 +0000usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-04 12:46:19 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-04 12:46:38 +0000Dykam(Dykam@dykam.nl) (Quit: Dykam)
2021-03-04 12:46:52 +0000Dykam(Dykam@dykam.nl)
2021-03-04 12:47:11 +0000notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 256 seconds)
2021-03-04 12:47:15 +0000matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-04 12:48:45 +0000bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458) (Read error: Connection reset by peer)
2021-03-04 12:48:57 +0000bobiusbillius(~bobiusbil@host109-153-130-34.range109-153.btcentralplus.com)
2021-03-04 12:52:54 +0000notzmv(~zmv@unaffiliated/zmv)
2021-03-04 12:53:22 +0000cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2021-03-04 12:54:09 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2021-03-04 12:58:20 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-04 13:00:45 +0000 <absence> is there something strange about higher rank functions and function composition? "\a -> hoist (f (g a))" compiles, but not "hoist . f . g". the type of hoist is (MFunctor t, Monad m) => (forall a. m a -> n a) -> t m b -> t n b
2021-03-04 13:00:56 +0000 <absence> is this for the same reason that the $ operator is magical?
2021-03-04 13:02:03 +0000 <merijn> Sorta
2021-03-04 13:02:18 +0000 <merijn> Basically (.) does *not* have the hack that $ does
2021-03-04 13:02:21 +0000 <{abby}> hopefully not for long
2021-03-04 13:02:35 +0000 <{abby}> i mean hopefully ($) won't have a hack for long
2021-03-04 13:02:43 +0000 <merijn> absence: Parentheses are not affected because those are syntactical, not functions
2021-03-04 13:03:16 +0000 <merijn> {abby}: More importantly, we'll be able to tell whether ImpredicativeTypes works :p
2021-03-04 13:03:22 +0000 <absence> so once $ doesn't have the hack, . will also work?
2021-03-04 13:03:45 +0000 <merijn> absence: Pretty sure that {abby} is referring to the work on sane ImpredicativeTypes
2021-03-04 13:03:53 +0000 <{abby}> absence: i think the plan is to get rid of the hack in ($) when quick look lands but i'm... not actually sure
2021-03-04 13:04:47 +0000urodna(~urodna@unaffiliated/urodna)
2021-03-04 13:05:07 +0000 <{abby}> but yes, once GHC has a proper story for inferring impredicative instantiations, hopefully in the next release, "hoist . f . g" will compile as it should
2021-03-04 13:06:12 +0000 <Lycurgus> https://www.microsoft.com/en-us/research/publication/a-quick-look-at-impredicativity/ that quick look?
2021-03-04 13:06:37 +0000 <merijn> Yeah
2021-03-04 13:06:37 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-04 13:06:48 +0000 <absence> good to hear. i've run into impredicative types in other situations, but didn't join the dots that it also occurs during composition. is it ideally for 9.2?
2021-03-04 13:07:06 +0000 <merijn> I think quick look is planned for 9.2, yeah
2021-03-04 13:07:35 +0000geekosaur(82650c7a@130.101.12.122)
2021-03-04 13:07:50 +0000 <absence> thanks!
2021-03-04 13:10:14 +0000Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-03-04 13:10:42 +0000smerdyakov(~dan@5.146.194.90) (Read error: Connection reset by peer)
2021-03-04 13:11:01 +0000hc_hc
2021-03-04 13:11:22 +0000LKoen(~LKoen@185.61.176.203)
2021-03-04 13:11:25 +0000smerdyakov(~dan@5.146.194.90)
2021-03-04 13:12:15 +0000Tario(~Tario@201.192.165.173)
2021-03-04 13:15:54 +0000stree(~stree@68.36.8.116) (Ping timeout: 245 seconds)
2021-03-04 13:18:59 +0000zebrag(~inkbottle@aaubervilliers-654-1-112-176.w86-198.abo.wanadoo.fr)
2021-03-04 13:21:13 +0000carlomagno(~cararell@148.87.23.4)
2021-03-04 13:23:22 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 13:23:47 +0000danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 258 seconds)
2021-03-04 13:25:53 +0000ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-03-04 13:26:13 +0000danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-03-04 13:28:28 +0000stree(~stree@68.36.8.116)
2021-03-04 13:30:15 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3)
2021-03-04 13:35:43 +0000geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-04 13:36:56 +0000omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net) (Read error: Connection reset by peer)
2021-03-04 13:37:05 +0000 <ezzieyguywuf> how come if ghcid fails to build the first time it is called, it bails out, but if it fails to build after it has already succesfully launched, in just keep trucking?
2021-03-04 13:37:10 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds)
2021-03-04 13:37:10 +0000omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net)
2021-03-04 13:37:37 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-04 13:37:43 +0000Tario(~Tario@201.192.165.173)
2021-03-04 13:39:52 +0000graf_blu`(~user@adsl-178-38-234-220.adslplus.ch)
2021-03-04 13:40:25 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-04 13:40:28 +0000graf_blutwurst(~user@2001:171b:226e:adc0:441d:c551:5138:50ac) (Remote host closed the connection)
2021-03-04 13:43:37 +0000chisui(58829809@88.130.152.9)
2021-03-04 13:44:48 +0000 <merijn> Inconsistent program logic? :p
2021-03-04 13:48:09 +0000 <ezzieyguywuf> lol probs
2021-03-04 13:48:26 +0000 <ezzieyguywuf> also even though I set --reload=app in .ghcid, it doesn't reload when app/Main.hs changes
2021-03-04 13:48:30 +0000 <ezzieyguywuf> :(
2021-03-04 13:48:59 +0000 <ezzieyguywuf> oh wait, now it...does?
2021-03-04 13:49:01 +0000 <ezzieyguywuf> *shrug*
2021-03-04 13:49:08 +0000 <ezzieyguywuf> lol, excetp it's hung
2021-03-04 13:49:52 +0000toorevitimirp(~tooreviti@117.182.182.60) (Ping timeout: 265 seconds)
2021-03-04 13:50:50 +0000drbean(~drbean@TC210-63-209-31.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-04 13:51:12 +0000geekosaur(82650c7a@130.101.12.122)
2021-03-04 13:51:19 +0000 <ezzieyguywuf> changing to --restart helps, but what the heck
2021-03-04 13:51:30 +0000 <ezzieyguywuf> reload works for me on some projects, but this teeny tiny one and nah
2021-03-04 13:58:34 +0000jespada(~jespada@90.254.243.187) (Ping timeout: 265 seconds)
2021-03-04 13:59:25 +0000sh9(~sh9@softbank060116136158.bbtec.net)
2021-03-04 13:59:28 +0000writenix(~quassel@193.126.143.50)
2021-03-04 13:59:28 +0000danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds)
2021-03-04 13:59:41 +0000jespada(~jespada@90.254.243.187)
2021-03-04 14:00:27 +0000Sheilong(uid293653@gateway/web/irccloud.com/x-uuniqtfysevxnvsh)
2021-03-04 14:00:38 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-03-04 14:01:45 +0000vchlup_(~vchlup@nat.brnet.cz) (Ping timeout: 264 seconds)
2021-03-04 14:02:27 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 14:02:48 +0000danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-03-04 14:03:35 +0000mirrorbird_(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519) (Quit: Leaving)
2021-03-04 14:05:38 +0000LKoen(~LKoen@185.61.176.203) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-04 14:07:14 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 264 seconds)
2021-03-04 14:10:51 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 14:11:00 +0000writenix(~quassel@193.126.143.50) (Remote host closed the connection)
2021-03-04 14:13:52 +0000notzmv(~zmv@unaffiliated/zmv) (Read error: Connection reset by peer)
2021-03-04 14:15:30 +0000Guest44840(~zmv@unaffiliated/zmv)
2021-03-04 14:15:48 +0000ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 14:16:18 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 14:18:34 +0000Guest44840(~zmv@unaffiliated/zmv) (Remote host closed the connection)
2021-03-04 14:18:49 +0000olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 245 seconds)
2021-03-04 14:18:49 +0000kowodo(~kowodo@p57b33e73.dip0.t-ipconnect.de) (Quit: rcirc on GNU Emacs 28.0.50)
2021-03-04 14:19:38 +0000notzmv-(~zmv@unaffiliated/zmv)
2021-03-04 14:21:45 +0000egp__(~egp_@2.95.74.168) (Quit: EXIT)
2021-03-04 14:22:09 +0000egp_(~egp_@2.95.74.168)
2021-03-04 14:22:50 +0000deviantfero(~deviantfe@190.150.27.58)
2021-03-04 14:25:06 +0000egp_(~egp_@2.95.74.168) (Client Quit)
2021-03-04 14:25:28 +0000JokerAscensionEx(~egp_@2.95.74.168)
2021-03-04 14:26:19 +0000JokerAscensionEx(~egp_@2.95.74.168) (Remote host closed the connection)
2021-03-04 14:26:37 +0000JokerAscensionEx(~egp_@2.95.74.168)
2021-03-04 14:27:17 +0000chisui(58829809@88.130.152.9) (Quit: Connection closed)
2021-03-04 14:27:41 +0000notzmv-notzmv
2021-03-04 14:31:33 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2021-03-04 14:33:59 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-04 14:34:20 +0000raym(~ray@45.64.220.3) (Quit: leaving)
2021-03-04 14:37:13 +0000gitgood(~gitgood@82-132-225-188.dab.02.net)
2021-03-04 14:37:23 +0000danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds)
2021-03-04 14:38:16 +0000danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-03-04 14:41:25 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 14:41:36 +0000geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-04 14:42:11 +0000biomed(~biomed@subs01-103-10-64-18.three.co.id)
2021-03-04 14:42:47 +0000Pickchea(~private@unaffiliated/pickchea)
2021-03-04 14:46:03 +0000zceejkr(~wintermut@cpe-62-84-236-30.dynamic.amis.net)
2021-03-04 14:46:42 +0000biomed(~biomed@subs01-103-10-64-18.three.co.id) (Quit: Leaving)
2021-03-04 14:46:48 +0000fendor_fendor
2021-03-04 14:47:44 +0000rcdilorenzo(~rcdiloren@cpe-76-182-83-26.nc.res.rr.com) (Remote host closed the connection)
2021-03-04 14:48:11 +0000 <infinisi1> Argh, I'm supposed to write an Arbitrary instance for an uninhabited type
2021-03-04 14:48:20 +0000infinisi1infinisil
2021-03-04 14:48:26 +0000 <infinisil> I guess I'll just `error`?
2021-03-04 14:49:08 +0000 <infinisil> The test suite will probably fail then though
2021-03-04 14:51:22 +0000pyx(~pyx@unaffiliated/pyx)
2021-03-04 14:51:29 +0000pyx(~pyx@unaffiliated/pyx) (Client Quit)
2021-03-04 14:52:34 +0000ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
2021-03-04 14:52:59 +0000romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae)
2021-03-04 14:54:44 +0000 <ezzieyguywuf> how can I set -Wall for every target in the cabal file?
2021-03-04 14:54:50 +0000 <ezzieyguywuf> do I have to do ghc-options in each stanza?
2021-03-04 14:55:16 +0000 <merijn> ezzieyguywuf: You can have common stanzas in cabal >2.0 (iirc, maybe it's 2.4?)
2021-03-04 14:55:54 +0000Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-04 14:55:56 +0000 <merijn> ezzieyguywuf: See: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L34-L62
2021-03-04 14:56:01 +0000 <merijn> ezzieyguywuf: ANd then used here: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L80
2021-03-04 14:56:17 +0000 <ezzieyguywuf> merijn: I"ll check it out thanks
2021-03-04 14:56:18 +0000 <merijn> For just one flag it's not that useful, but if you have a bunch it helps
2021-03-04 14:56:31 +0000 <ezzieyguywuf> *shrug* just would rather learn the easier way to do it now
2021-03-04 14:56:34 +0000 <merijn> I'm using cabal-version 2.2 so it's available since *at least* then :)
2021-03-04 14:56:34 +0000 <ezzieyguywuf> so I know it when I need it later
2021-03-04 14:57:30 +0000 <ezzieyguywuf> lol, I have my min version at 3.0 so I should be good
2021-03-04 14:58:04 +0000 <int-e> infinisil: wouldn't it be saner to not define that instance then
2021-03-04 14:58:20 +0000ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net)
2021-03-04 14:58:34 +0000 <ski> i guess it's needed as a parameter
2021-03-04 14:58:53 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3)
2021-03-04 14:58:57 +0000 <ski> i wonder how one could design the generation so that that would work more nicely
2021-03-04 14:59:08 +0000 <int-e> I guess this also comes up when you have Foo a b = A a | B b and somebody decides they don't need the A alternative...
2021-03-04 14:59:13 +0000 <ski> say generating `Either Void Bool's, compositionally
2021-03-04 14:59:23 +0000 <int-e> right
2021-03-04 14:59:43 +0000 <dolio> Writing an Arbitrary instance for the empty type means your other instances are wrong somehow.
2021-03-04 14:59:51 +0000 <ski> yea. or `Tree Void', for trees without leaves
2021-03-04 14:59:53 +0000vchlup(~vchlup@nat.brnet.cz)
2021-03-04 15:00:14 +0000 <int-e> Well, it doesn't fit with how QuickCheck works; Either's Arbitrary instance will pick a constructor first, with no way to take it back.
2021-03-04 15:00:18 +0000ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-03-04 15:00:18 +0000ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-03-04 15:00:41 +0000 <ski> the idea, i guess, would be to have some way to signal that you're trying to do something impossible, and so it should abandom the current attempt, and try another .. hm
2021-03-04 15:03:29 +0000neiluj(~jco@unaffiliated/neiluj) (Quit: leaving)
2021-03-04 15:04:02 +0000 <int-e> But I guess the solution is to have a better QuickCheck that can signal emptiness in the Arbitrary type class somehow; providing a clearly broken Arbitrary instance for Void instead seems insane.
2021-03-04 15:04:07 +0000 <dolio> You write a generator that takes an optional generator for one of the parameterized types.
2021-03-04 15:04:19 +0000 <dolio> Then for the empty type, you pass Nothing.
2021-03-04 15:04:28 +0000 <ski> hm
2021-03-04 15:04:35 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 15:04:38 +0000 <dolio> And you don't try to use type classes for the whole thing.
2021-03-04 15:04:48 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 15:04:55 +0000 <ski> @dice 1d0
2021-03-04 15:04:55 +0000 <lambdabot> unexpected 'd': expecting digit, operator or end of input
2021-03-04 15:05:07 +0000 <ski> (that used to give `1', i think ?)
2021-03-04 15:05:31 +0000 <maralorn> ghc-pkg list shows me two different directories. I have a library in both directories. When I build my package the library version from the wrong dir is being used. How can I change the precedence of the two directories?
2021-03-04 15:06:24 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 15:06:39 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 15:07:23 +0000Trasp(~Trasp@195.140.213.38) (Remote host closed the connection)
2021-03-04 15:09:11 +0000 <int-e> dolio: that would fit into typeclasses, if you'd change `arbitrary` to return a Maybe
2021-03-04 15:09:26 +0000 <dolio> It doesn't.
2021-03-04 15:10:27 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 15:10:55 +0000 <int-e> I think it does. The instances would have to do more work though... check which alternatives are impossible before choosing a constructor. So it's a nontrivial change.
2021-03-04 15:11:19 +0000 <dolio> No, I mean, you can't change the Arbitrary class to be that way. It's too late.
2021-03-04 15:11:31 +0000 <int-e> Sure
2021-03-04 15:13:48 +0000 <dolio> It would also mean that something having an Arbitrary instance doesn't mean you can generate them for tests, so it's probably better if it's a different class.
2021-03-04 15:14:35 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 240 seconds)
2021-03-04 15:14:43 +0000 <dolio> Or just not a class.
2021-03-04 15:15:27 +0000 <int-e> What I had in mind would be a new, QuickCheck-like package. *Maybe* with a newtype wrapper that has a QuickCheck Arbitrary instance based on the new class(es).
2021-03-04 15:16:41 +0000 <merijn> hedgehog?
2021-03-04 15:16:46 +0000 <int-e> (Can we capture emptiness in a constraint? Probably?)
2021-03-04 15:16:48 +0000 <merijn> That uses explicit generators
2021-03-04 15:17:06 +0000ski. o O ( `newtype Arb a = MkArb (Maybe a)' )
2021-03-04 15:18:27 +0000 <int-e> ski: Yeah but I don't like the idea of generating Nothings... if you use Void a lot that will end up wasting a lot of resources before you get a usable value.
2021-03-04 15:19:01 +0000 <int-e> ski: So I'd prefer to capture emptiness of types statically. But that is a bigger change.
2021-03-04 15:19:57 +0000 <int-e> "statically"
2021-03-04 15:20:35 +0000drupol(sid117588@gateway/web/irccloud.com/x-rzrwwjpiqonmqeqo) ()
2021-03-04 15:20:51 +0000drupol(sid117588@gateway/web/irccloud.com/x-ceggwpmvzndzubky)
2021-03-04 15:21:14 +0000 <dolio> Like, why do you need to track that compound types don't have a generator? Is that a real use case? or is the use case that `Foo Void` is the 'closed' Foos, and you only need to handle that one case?
2021-03-04 15:21:28 +0000 <dolio> Because the latter is what I've encountered.
2021-03-04 15:21:35 +0000 <int-e> ski: you don't have to go crazy for this to become problematic, just consider [Either Void Int]
2021-03-04 15:22:00 +0000 <dolio> And redesigning everything is not desirable for that.
2021-03-04 15:23:17 +0000Wolfy87(~Wolfy87@178.239.168.171)
2021-03-04 15:24:10 +0000 <dolio> E.G. generating `Either Void Bool` automatically is not a real example.
2021-03-04 15:24:27 +0000 <int-e> dolio: But it would be a proper solution. Yes, it's quite possible that the proper solution is too costly to be worthwhile because it breaks a lot of existing tooling.
2021-03-04 15:25:32 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-04 15:26:01 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-04 15:26:23 +0000 <ski> int-e : yea, i meant being able to check it, before generation, if possible
2021-03-04 15:27:00 +0000 <ski> int-e : well, you said "*Maybe* with a newtype wrapper"
2021-03-04 15:27:16 +0000 <ski> (so i was wondering if you meant something like such an `Arb')
2021-03-04 15:28:09 +0000DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-04 15:29:01 +0000 <int-e> ski: Ah. I see. In my mind I didn't have the Maybe, but rather instance (NonEmpty a, NewArbitrary a) => Arbitrary (Arb a)
2021-03-04 15:29:44 +0000 <dolio> I don't agree that a solution is 'proper' if it's just solving corner cases that people don't actually want to use at the expense of making the cases they do want more work.
2021-03-04 15:31:56 +0000 <int-e> ski: But it's quite possible that I can't get such a neat NonEmpty constraint without terrible things (overlapping instances)
2021-03-04 15:35:55 +0000 <infinisil> I'll see if I can dig into the code that requires this arbitrary instance
2021-03-04 15:36:31 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 15:36:41 +0000stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-04 15:37:01 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 15:38:11 +0000kw(d4662d5d@212.102.45.93)
2021-03-04 15:39:00 +0000kw(d4662d5d@212.102.45.93) (Client Quit)
2021-03-04 15:44:38 +0000aggin(~ecm@103.88.87.27)
2021-03-04 15:44:38 +0000__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 15:44:47 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 15:46:07 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 15:46:58 +0000aggin(~ecm@103.88.87.27) (Client Quit)
2021-03-04 15:47:07 +0000nineonine(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
2021-03-04 15:48:08 +0000_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-03-04 15:49:47 +0000stree(~stree@68.36.8.116)
2021-03-04 15:50:16 +0000royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-04 15:50:53 +0000_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-04 15:50:59 +0000xff0x(~xff0x@2001:1a81:5237:bb00:76ab:515a:5e02:6571) (Ping timeout: 258 seconds)
2021-03-04 15:51:15 +0000nineonine(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
2021-03-04 15:51:48 +0000xff0x(~xff0x@2001:1a81:5237:bb00:c7c4:8fca:bda7:8993)
2021-03-04 15:53:00 +0000 <infinisil> It's using ` (Arbitrary a, Show a, Testable prop) => Testable (a -> prop) ` in the end
2021-03-04 15:53:12 +0000 <infinisil> With `testProperty :: Testable a => TestName -> a -> TestTree`
2021-03-04 15:53:29 +0000 <infinisil> Where the `a` in `a -> prop` is the uninhabited type
2021-03-04 15:53:56 +0000 <infinisil> Maybe there should be an instance `Testable (Void -> b)`
2021-03-04 15:56:10 +0000 <infinisil> https://hackage.haskell.org/package/tasty-quickcheck-0.10.1.2/docs/Test-Tasty-QuickCheck.html#v:te…
2021-03-04 15:56:58 +0000ggole(~ggole@2001:8003:8119:7200:9a:455d:b816:c3c6)
2021-03-04 15:57:58 +0000 <infinisil> (though it would be bothersome to have to replace all `Arbitrary a` constraints with `Testable (a -> Property)` then
2021-03-04 15:58:32 +0000 <ij> what's the haskell equivalent to scala's FunctorK? (i.e. mapping the higher order type – F a -> G a)
2021-03-04 15:58:50 +0000 <infinisil> Oh interesting: https://hackage.haskell.org/package/quickcheck-instances-0.3.25.2/docs/Test-QuickCheck-Instances-V…
2021-03-04 15:59:01 +0000 <infinisil> There's a `CoArbitrary Void` instance
2021-03-04 16:00:07 +0000mentaal[m](mentaalmat@gateway/shell/matrix.org/x-cldzerqnoqwflcto) (Quit: Idle for 30+ days)
2021-03-04 16:00:44 +0000polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-03-04 16:01:30 +0000 <infinisil> And there's `Fun` with this instance: (Function a, CoArbitrary a, Arbitrary b) => Arbitrary (Fun a b)
2021-03-04 16:01:41 +0000 <infinisil> That would work, maybe tasty should be using that instead
2021-03-04 16:01:48 +0000 <infinisil> tasty-quickcheck*
2021-03-04 16:01:55 +0000 <shapr> ij: I don't understand what FunctorK does?
2021-03-04 16:02:15 +0000 <infinisil> Or rather, the code that tests this
2021-03-04 16:02:21 +0000jhaxim(c036de94@192.54.222.148)
2021-03-04 16:02:29 +0000 <jhaxim> why are queues in haskell implemented as 2 lists?
2021-03-04 16:02:58 +0000 <dolio> Some are implemented with 3 lists.
2021-03-04 16:03:09 +0000__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 260 seconds)
2021-03-04 16:03:16 +0000 <jhaxim> how do you do it with 3?
2021-03-04 16:03:29 +0000 <jhaxim> what's the added benefit
2021-03-04 16:04:12 +0000 <dolio> It spreads out the cost of reversing one of the lists.
2021-03-04 16:04:45 +0000 <jhaxim> how does it work?
2021-03-04 16:05:56 +0000 <infinisil> Okay I'm thinking that tasty-quickchecks `(Arbitrary a, Show a, Testable prop) => Testable (a -> prop)` instance should really use `CoArbitrary a` instead now
2021-03-04 16:06:33 +0000hnOsmium0001(uid453710@gateway/web/irccloud.com/x-sggshpbcjtfntjhq)
2021-03-04 16:06:49 +0000 <ski> infinisil ?
2021-03-04 16:07:02 +0000 <infinisil> Hm?
2021-03-04 16:07:45 +0000 <ski> i guess `Testable (Void -> b)' would always succeed, after zero tests ..
2021-03-04 16:07:46 +0000 <dolio> jhaxim: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
2021-03-04 16:08:07 +0000 <dolio> The 3 list one is explained in the "Real-Time Queues" section I think.
2021-03-04 16:08:11 +0000 <infinisil> ski: Yeah
2021-03-04 16:08:35 +0000 <ski> `CoArbitrary Void' is for being able to derive `Arbitrary (Void -> a)', from `Arbitrary `a'
2021-03-04 16:08:52 +0000 <ski> @where okasaki
2021-03-04 16:08:52 +0000 <lambdabot> http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
2021-03-04 16:09:03 +0000 <ski> @where PFDS
2021-03-04 16:09:04 +0000 <lambdabot> http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504
2021-03-04 16:09:20 +0000 <dolio> Yeah, the book might be more readable than the thesis, I'm not sure.
2021-03-04 16:09:29 +0000 <ski> the book is quite nice
2021-03-04 16:09:41 +0000 <dolio> I've only read the book in detail.
2021-03-04 16:09:43 +0000 <jhaxim> o nice
2021-03-04 16:10:19 +0000 <infinisil> ski: It seems that CoArbitrary is for generating inputs, Arbitrary for outputs. And tasty-quickchecks `Testable (a -> prop)` instance is a function that takes a as an input
2021-03-04 16:10:24 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 16:10:34 +0000 <infinisil> Therefore it seems that it should use `CoArbitrary a`, instead of what it currently does, `Arbitrary a`
2021-03-04 16:10:43 +0000 <infinisil> Does that makes sense?
2021-03-04 16:10:45 +0000__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 16:11:00 +0000Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 265 seconds)
2021-03-04 16:11:16 +0000 <infinisil> Oh Testable is part of quickcheck itself
2021-03-04 16:11:46 +0000 <infinisil> Hmm..
2021-03-04 16:12:07 +0000kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no)
2021-03-04 16:12:47 +0000agander(~agander@193.46.28.55)
2021-03-04 16:12:49 +0000 <shapr> jhaxim: did you have a particular queue in mind?
2021-03-04 16:13:17 +0000 <jhaxim> yeah, i was just wondering why you can't just implement it as a linked list?
2021-03-04 16:13:23 +0000 <jhaxim> the one i had in mind was the one with 2 lists
2021-03-04 16:14:03 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 16:14:18 +0000 <dolio> Lists in Haskell only allow fast access to one side, but queues are expected to have fast access to certain operations on both sides.
2021-03-04 16:14:21 +0000 <int-e> infinisil: The 'a' is an argument for which test cases are to be generated... which is what Arbitrary is for
2021-03-04 16:14:41 +0000 <jhaxim> yeah, why doesn't haskell have something like linked lists?
2021-03-04 16:14:46 +0000 <jhaxim> where you can keep pointers to both ends?
2021-03-04 16:15:27 +0000 <dolio> Haskell lists are linked lists. But they're not made with mutable pointers.
2021-03-04 16:16:07 +0000 <infinisil> I may be confused a bit
2021-03-04 16:16:14 +0000 <infinisil> int-e: What is CoArbitrary for?
2021-03-04 16:16:22 +0000agander_(~agander@193.46.28.55)
2021-03-04 16:16:23 +0000 <jhaxim> why does only being able to expand on one end change anything?
2021-03-04 16:16:24 +0000 <int-e> @check \(x :: Int) -> odd x || even x -- here, a = Int, prop = Bool.
2021-03-04 16:16:25 +0000 <lambdabot> <unknown>.hs:1:13:ScopedTypeVariables language extension is not enabled. Ple...
2021-03-04 16:16:25 +0000hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:4bed:da7a:2692:1300)
2021-03-04 16:16:26 +0000 <jhaxim> i'm a little confused
2021-03-04 16:16:34 +0000 <int-e> oh.
2021-03-04 16:16:44 +0000malumore(~alecs@151.62.127.36) (Ping timeout: 245 seconds)
2021-03-04 16:16:48 +0000 <int-e> @check \x -> odd x || even (x :: Int)
2021-03-04 16:16:50 +0000 <lambdabot> +++ OK, passed 100 tests.
2021-03-04 16:16:59 +0000peasynt(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 16:17:30 +0000aggin(~ecm@103.88.87.27)
2021-03-04 16:18:12 +0000 <int-e> jhaxim: operationally, Coarbitrary is for retrieving entropy from function arguments, so you can have Arbitrary instances for functions a -> b that aren't constant.
2021-03-04 16:18:20 +0000aggin(~ecm@103.88.87.27) (Client Quit)
2021-03-04 16:18:25 +0000kibo(~kibo@51-171-46-249-dynamic.agg2.ens.lmk-pgs.eircom.net)
2021-03-04 16:18:27 +0000DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de) (Quit: leaving)
2021-03-04 16:18:35 +0000DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de)
2021-03-04 16:18:55 +0000graf_blu`(~user@adsl-178-38-234-220.adslplus.ch) (Remote host closed the connection)
2021-03-04 16:19:11 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 16:19:23 +0000 <infinisil> (I guess that was meant for me)
2021-03-04 16:19:30 +0000 <int-e> hence instance (Coarbitrary a, Arbitrary b) => Arbitrary (a -> b)
2021-03-04 16:19:45 +0000 <int-e> infinisil: yes, sorry...
2021-03-04 16:19:49 +0000 <infinisil> What are "functions that aren't constant"?
2021-03-04 16:19:58 +0000quackrabbit(~aeline@129-2-180-100.wireless.umd.edu)
2021-03-04 16:20:03 +0000 <infinisil> Function that change the `b` depending on the `a`?
2021-03-04 16:20:14 +0000mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-03-04 16:20:30 +0000 <int-e> instance Arbitrary b => Arbitrary (a -> b) would not be able to do anything with the 'a', hence all the functions it could produce would be constantr
2021-03-04 16:20:39 +0000 <int-e> so yes, that
2021-03-04 16:20:41 +0000 <infinisil> Ah I see
2021-03-04 16:22:18 +0000 <dolio> jhaxim: If you use a single list, then either the front of the list is the output or the input. If it's the input, then dequeue has to rebuild the list and get an element from the far end, which takes O(n) time to get the value. If it's the output, then enqueue has to rebuild the whole list, which costs O(n) each time in the long run.
2021-03-04 16:22:40 +0000Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-03-04 16:23:18 +0000 <infinisil> So CoArbitrary is really only for generating functions
2021-03-04 16:23:28 +0000Varis(~Tadas@unaffiliated/varis)
2021-03-04 16:23:54 +0000 <dolio> So using two lists lets you access both ends fast, and only pay the linear rebuilding cost every so often.
2021-03-04 16:24:04 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Read error: Connection reset by peer)
2021-03-04 16:24:29 +0000malumore(~malumore@151.62.127.36)
2021-03-04 16:24:33 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 16:25:17 +0000 <int-e> infinisil: yup
2021-03-04 16:26:42 +0000 <dolio> The three lists version duplicates one of the lists when you perform the reversal and incrementally forces it on every operation to spread out the cost.
2021-03-04 16:27:09 +0000ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Quit: Leaving)
2021-03-04 16:27:38 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 16:28:12 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 16:28:28 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 16:29:18 +0000jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-04 16:30:15 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 16:31:28 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 16:32:09 +0000agander_(~agander@193.46.28.55) (Quit: Leaving)
2021-03-04 16:32:18 +0000teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds)
2021-03-04 16:32:20 +0000deviantfero(~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
2021-03-04 16:32:42 +0000vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-03-04 16:33:57 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 16:36:00 +0000pavonia(~user@unaffiliated/siracusa)
2021-03-04 16:36:23 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 260 seconds)
2021-03-04 16:36:41 +0000kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2021-03-04 16:38:46 +0000teardown(~user@gateway/tor-sasl/mrush)
2021-03-04 16:39:05 +0000cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
2021-03-04 16:40:57 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 16:42:14 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 16:43:14 +0000Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3) (Ping timeout: 264 seconds)
2021-03-04 16:44:36 +0000 <ezzieyguywuf> i'm using megaparsec, and I have two parsers written 'parseFront :: Parser Text', and 'parseLast :: Parser Text'. how would I go about consuming as many 'parseFront' as possible until 'parseLast' succeeds?
2021-03-04 16:46:11 +0000kritzefitz(~kritzefit@212.86.56.80)
2021-03-04 16:49:08 +0000 <c_wraith> ezzieyguywuf: https://hackage.haskell.org/package/parser-combinators-1.2.1/docs/Control-Monad-Combinators.html#v…
2021-03-04 16:49:18 +0000 <c_wraith> note that megaparsec re-exports that for you
2021-03-04 16:50:25 +0000 <ezzieyguywuf> c_wraith: dope tahnks
2021-03-04 16:51:53 +0000mayleesia(4d0b2c7f@dynamic-077-011-044-127.77.11.pool.telefonica.de)
2021-03-04 16:52:41 +0000aarvar(~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008)
2021-03-04 16:53:15 +0000jamm_(~jamm@unaffiliated/jamm)
2021-03-04 16:53:43 +0000jhaxim(c036de94@192.54.222.148) (Ping timeout: 240 seconds)
2021-03-04 16:55:25 +0000romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae) (Quit: WeeChat 3.0.1)
2021-03-04 16:58:32 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-03-04 17:00:59 +0000o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-03-04 17:01:03 +0000knupfer(~Thunderbi@200116b82c5bbe00c174e65d57f6f6eb.dip.versatel-1u1.de) (Remote host closed the connection)
2021-03-04 17:01:12 +0000knupfer(~Thunderbi@200116b82c5bbe00a021592bb6d1a408.dip.versatel-1u1.de)
2021-03-04 17:01:13 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 17:02:13 +0000geekosaur(82650c7a@130.101.12.122)
2021-03-04 17:04:01 +0000romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae)
2021-03-04 17:04:09 +0000romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae) (Client Quit)
2021-03-04 17:04:43 +0000 <ij> shapr, converts the higher order type from one to another. It's something you'd use to go from scala's Future to IO, I think
2021-03-04 17:05:12 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-04 17:05:23 +0000romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae)
2021-03-04 17:06:00 +0000romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae) (Client Quit)
2021-03-04 17:07:51 +0000jakalx(~jakalx@base.jakalx.net)
2021-03-04 17:08:01 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 17:08:25 +0000redmp(~redmp@172.58.35.111)
2021-03-04 17:08:44 +0000Varis(~Tadas@unaffiliated/varis)
2021-03-04 17:12:56 +0000agander(~agander@193.46.28.55) (Quit: Leaving)
2021-03-04 17:13:15 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 240 seconds)
2021-03-04 17:14:39 +0000agander(~agander@193.46.28.55)
2021-03-04 17:15:02 +0000ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-04 17:15:37 +0000peasynt(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-04 17:15:50 +0000ukari(~ukari@unaffiliated/ukari)
2021-03-04 17:16:20 +0000eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 17:16:27 +0000eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net) (Client Quit)
2021-03-04 17:17:14 +0000eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 17:17:14 +0000eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net) (Client Quit)
2021-03-04 17:18:12 +0000kuribas(~user@ptr-25vy0iacstgp10erojf.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-03-04 17:18:56 +0000chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-03-04 17:18:58 +0000agander_(~agander@193.46.28.55)
2021-03-04 17:19:24 +0000agander(~agander@193.46.28.55) (Client Quit)
2021-03-04 17:22:25 +0000emmanuel_erc(~user@cpe-74-71-106-64.nyc.res.rr.com) ("ERC (IRC client for Emacs 27.1)")
2021-03-04 17:23:33 +0000agander_(~agander@193.46.28.55) (Client Quit)
2021-03-04 17:23:44 +0000sgibber2018(d055ed90@208.85.237.144)
2021-03-04 17:24:17 +0000__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 256 seconds)
2021-03-04 17:27:16 +0000agander(~agander@193.46.28.55)
2021-03-04 17:27:17 +0000ADG1089__(~aditya@122.163.141.18)
2021-03-04 17:27:58 +0000 <ADG1089__> I have 206 files in a folder, I want all of them to be declared as executables in cabal, how can i write a for loop/glob pattern?
2021-03-04 17:28:12 +0000 <ADG1089__> I will keep adding more to it
2021-03-04 17:28:29 +0000heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
2021-03-04 17:30:14 +0000 <sm[m]> woah
2021-03-04 17:30:25 +0000 <sm[m]> you'll have to generate the cabal file I expect
2021-03-04 17:32:28 +0000tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net)
2021-03-04 17:32:38 +0000eoyath_(~quassel@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 17:32:38 +0000eoyath_(~quassel@pool-173-76-103-124.bstnma.fios.verizon.net) (Client Quit)
2021-03-04 17:32:39 +0000tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net) (Client Quit)
2021-03-04 17:33:09 +0000peasynt(~quassel@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 17:35:53 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:31cc:7f5d:4d57:b77)
2021-03-04 17:37:15 +0000deviantfero(~deviantfe@190.150.27.58)
2021-03-04 17:37:27 +0000zar(~zar@fw1.ciirc.cvut.cz) (Quit: Leaving)
2021-03-04 17:38:35 +0000agander_(~agander@185.94.193.150)
2021-03-04 17:40:37 +0000 <ADG1089__> what are some relvant pages on haskellwiki that give guidance on profiling to improve performance of code?
2021-03-04 17:40:53 +0000 <ADG1089__> I'm trying to improve from 30-90s runtime to <1s
2021-03-04 17:40:54 +0000agander(~agander@193.46.28.55) (Ping timeout: 246 seconds)
2021-03-04 17:43:29 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 17:44:08 +0000Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-03-04 17:45:43 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 17:47:46 +0000AndChat-33024(~AndChat33@148.252.129.66)
2021-03-04 17:48:31 +0000 <sm[m]> ADG1089__: have you seen the GHC user guide performance chapter ?
2021-03-04 17:49:16 +0000 <ADG1089__> I am reading https://wiki.haskell.org/Performance/GHC to start
2021-03-04 17:51:11 +0000iteratee(~kyle@162.218.222.107) (Remote host closed the connection)
2021-03-04 17:51:35 +0000__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 17:52:33 +0000agander(~agander@185.94.193.150)
2021-03-04 17:53:00 +0000 <ADG1089__> I am getting: MUT time 25.356s ( 25.751s elapsed) GC time 14.781s ( 15.251s elapsed)
2021-03-04 17:53:22 +0000knupfer(~Thunderbi@200116b82c5bbe00a021592bb6d1a408.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2021-03-04 17:53:31 +0000feepo(sid28508@gateway/web/irccloud.com/x-wcewznnvlbknipja) (Ping timeout: 272 seconds)
2021-03-04 17:53:37 +0000 <ADG1089__> so 37% time in GC, shall I focus GC or core logic first if I am aiming <1s total runtim
2021-03-04 17:53:44 +0000 <ADG1089__> its 40 sec now
2021-03-04 17:53:45 +0000tomjagua1pawtomjaguarpaw
2021-03-04 17:54:13 +0000crobbins_(~crobbins@2601:2c1:200:ec50:c89a:1f93:5201:6c0c)
2021-03-04 17:54:23 +0000ggole(~ggole@2001:8003:8119:7200:9a:455d:b816:c3c6) (Quit: Leaving)
2021-03-04 17:54:33 +0000agander_(~agander@185.94.193.150) (Ping timeout: 260 seconds)
2021-03-04 17:54:51 +0000ADG1089(~adg1089@171.76.172.3)
2021-03-04 17:55:02 +0000 <ADG1089> .
2021-03-04 17:55:10 +0000ADG1089__(~aditya@122.163.141.18) (Remote host closed the connection)
2021-03-04 17:55:30 +0000Gurkenglas_(~Gurkengla@unaffiliated/gurkenglas)
2021-03-04 17:55:36 +0000feepo(sid28508@gateway/web/irccloud.com/x-gkqhrcmhiiphbogr)
2021-03-04 17:56:35 +0000crobbins(~crobbins@2601:2c1:200:ec50:c32:8193:5ae6:63eb) (Ping timeout: 240 seconds)
2021-03-04 17:56:38 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 17:58:09 +0000stree(~stree@68.36.8.116) (Ping timeout: 264 seconds)
2021-03-04 17:58:14 +0000psutcliffe(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519)
2021-03-04 17:58:35 +0000crobbins_(~crobbins@2601:2c1:200:ec50:c89a:1f93:5201:6c0c) (Ping timeout: 240 seconds)
2021-03-04 18:00:59 +0000__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 260 seconds)
2021-03-04 18:03:37 +0000drakonis(drakonis@unaffiliated/drakonis) ("WeeChat 3.0.1")
2021-03-04 18:04:30 +0000chisui(58829809@88.130.152.9)
2021-03-04 18:05:57 +0000dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 18:07:21 +0000rajivr(uid269651@gateway/web/irccloud.com/x-ztiomawifornmkpr) (Quit: Connection closed for inactivity)
2021-03-04 18:09:02 +0000 <sm[m]> ADG1089: it sounds like a lot of GC, try to reduce your memory usage
2021-03-04 18:09:06 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 18:09:53 +0000 <sm[m]> an easy first thing to look for in a profile is very high entry counts, things you're calling more often than necessary
2021-03-04 18:10:31 +0000jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-04 18:10:32 +0000 <sm[m]> you can paste it somewhere if you like
2021-03-04 18:11:02 +0000stree(~stree@68.36.8.116)
2021-03-04 18:11:38 +0000jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-04 18:12:04 +0000nak(~user@S0106889e681ad145.gv.shawcable.net)
2021-03-04 18:12:48 +0000jakalx(~jakalx@base.jakalx.net)
2021-03-04 18:15:12 +0000nineonin_(~nineonine@50.216.62.2)
2021-03-04 18:15:17 +0000malumore_(~malumore@151.62.127.36)
2021-03-04 18:15:21 +0000statusfailed(~statusfai@statusfailed.com) (Remote host closed the connection)
2021-03-04 18:17:01 +0000Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-03-04 18:18:04 +0000conal(~conal@64.71.133.70)
2021-03-04 18:18:08 +0000knupfer(~Thunderbi@mue-88-130-61-019.dsl.tropolys.de)
2021-03-04 18:18:28 +0000nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 260 seconds)
2021-03-04 18:20:37 +0000kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no) (Ping timeout: 276 seconds)
2021-03-04 18:21:48 +0000malumore(~malumore@151.62.127.36) (Quit: Leaving)
2021-03-04 18:23:01 +0000malumore_(~malumore@151.62.127.36) (Quit: Leaving)
2021-03-04 18:23:23 +0000malumore(~malumore@151.62.127.36)
2021-03-04 18:23:39 +0000statusfailed(~statusfai@statusfailed.com)
2021-03-04 18:23:48 +0000dcoutts_dcoutts
2021-03-04 18:24:06 +0000crobbins(~crobbins@2600:1700:48eb:8490:9416:7f26:bb22:cc55)
2021-03-04 18:24:15 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 18:28:46 +0000 <psutcliffe> what's the syntax for referring to something you matched? like this:(Foo x y) this = (Foo x y)
2021-03-04 18:28:52 +0000 <psutcliffe> not able to google it
2021-03-04 18:28:57 +0000kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no)
2021-03-04 18:29:04 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 18:29:12 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 18:29:21 +0000 <monochrom> this@(Foo x y)
2021-03-04 18:29:22 +0000Pickchea(~private@unaffiliated/pickchea)
2021-03-04 18:29:34 +0000 <psutcliffe> @ sign, ok thanks
2021-03-04 18:30:04 +0000 <geekosaur> "as-pattern"
2021-03-04 18:30:42 +0000 <monochrom> In SML, it's "this as (Foo x y)". Haskell did s/as/@/
2021-03-04 18:31:08 +0000 <psutcliffe> thanks :)
2021-03-04 18:32:07 +0000jamm_(~jamm@unaffiliated/jamm)
2021-03-04 18:32:12 +0000jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-04 18:32:22 +0000jamm_(~jamm@unaffiliated/jamm)
2021-03-04 18:32:40 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 18:32:51 +0000cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2021-03-04 18:33:15 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Ping timeout: 240 seconds)
2021-03-04 18:33:52 +0000gitgood(~gitgood@82-132-225-188.dab.02.net) (Read error: Connection reset by peer)
2021-03-04 18:33:58 +0000cheater(~user@unaffiliated/cheater)
2021-03-04 18:36:13 +0000ADG1089(~adg1089@171.76.172.3) (Ping timeout: 276 seconds)
2021-03-04 18:39:33 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 18:40:59 +0000Forkk(forkk@2600:3c00::f03c:91ff:fe84:de4d) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-04 18:43:17 +0000Forkk(forkk@2600:3c00::f03c:91ff:fe84:de4d)
2021-03-04 18:43:38 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 18:48:14 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 18:48:25 +0000jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-04 18:49:13 +0000quackrabbit(~aeline@129-2-180-100.wireless.umd.edu) (Ping timeout: 245 seconds)
2021-03-04 18:53:43 +0000geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-04 18:54:51 +0000deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 265 seconds)
2021-03-04 18:58:55 +0000Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3)
2021-03-04 18:59:53 +0000chisui(58829809@88.130.152.9) (Quit: Connection closed)
2021-03-04 18:59:59 +0000raichoo(~raichoo@dslb-092-073-221-030.092.073.pools.vodafone-ip.de) (Quit: Lost terminal)
2021-03-04 19:01:46 +0000DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
2021-03-04 19:02:16 +0000Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
2021-03-04 19:03:27 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2021-03-04 19:03:30 +0000berberman_(~berberman@unaffiliated/berberman)
2021-03-04 19:03:56 +0000berberman(~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds)
2021-03-04 19:06:07 +0000sgibber2018(d055ed90@208.85.237.144) (Quit: Connection closed)
2021-03-04 19:06:23 +0000berberman_(~berberman@unaffiliated/berberman) (Max SendQ exceeded)
2021-03-04 19:07:16 +0000berberman(~berberman@unaffiliated/berberman)
2021-03-04 19:08:11 +0000conal(~conal@64.71.133.70)
2021-03-04 19:13:19 +0000geekosaur(82650c7a@130.101.12.122)
2021-03-04 19:16:22 +0000bobiusbillius(~bobiusbil@host109-153-130-34.range109-153.btcentralplus.com) (Read error: Connection reset by peer)
2021-03-04 19:16:38 +0000bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458)
2021-03-04 19:18:10 +0000deviantfero(~deviantfe@190.150.27.58)
2021-03-04 19:18:32 +0000kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 265 seconds)
2021-03-04 19:20:54 +0000mayleesia(4d0b2c7f@dynamic-077-011-044-127.77.11.pool.telefonica.de) (Quit: Connection closed)
2021-03-04 19:22:49 +0000hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:4bed:da7a:2692:1300) (Ping timeout: 272 seconds)
2021-03-04 19:25:00 +0000 <d34df00d> monochrom: just in case you were wondering, I rewrote my yesterday strings mangling with ST, and it's 20 times faster.
2021-03-04 19:25:18 +0000 <d34df00d> Ended up with this abomination:
2021-03-04 19:25:21 +0000 <d34df00d> https://bpaste.net/SJAQ
2021-03-04 19:25:32 +0000 <d34df00d> (V is Data.Vector.Unboxed)
2021-03-04 19:27:22 +0000 <d34df00d> Now I desperately need to rewrite this in C++ to see how fast can I get this to be in a language whose performance model I understand better.
2021-03-04 19:29:07 +0000 <monochrom> This one should be easy in C or C++. Easier in C. Too much infrastructure in C++.
2021-03-04 19:30:33 +0000 <d34df00d> but muh templates
2021-03-04 19:30:49 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
2021-03-04 19:31:37 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-04 19:34:53 +0000hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:73f8:36f6:d6d6:24a)
2021-03-04 19:35:58 +0000o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2021-03-04 19:39:41 +0000Nahra(~Nahra@unaffiliated/nahra)
2021-03-04 19:43:49 +0000 <rednaZ[m]> I have written a sentence that is too long. Would anyone here enjoy showing me how to split this up?
2021-03-04 19:43:55 +0000 <rednaZ[m]> Library authors should allow library users to access unsafe functions explicitly because the library author should assume that, using these unsafe functions, with discipline safe code can be written that achieves something that could not have been achieved with the safe functions only, even if the library author cannot see an opportunity for that themselves.
2021-03-04 19:45:03 +0000 <koz_> Library authors should allow users to access unsafe functions explicitly. The author should assume that, with discipline, we can achieve something otherwise not possible (or efficient) with these unsafe functions.
2021-03-04 19:46:39 +0000knupfer(~Thunderbi@mue-88-130-61-019.dsl.tropolys.de) (Remote host closed the connection)
2021-03-04 19:47:24 +0000 <tomsmeding> With discipline, library users can [often?] combine unsafe functions [interfaces?] into safe code that accomplishes things that could not have been achieved with safe library functions only. Therefore, library authors should expose such [internal?] unsafe functions for use by library users.
2021-03-04 19:48:10 +0000 <tomsmeding> oh, your ", even if the library author ... themselves." can go instead of my final "." rednaZ[m]
2021-03-04 19:48:30 +0000cheater(~user@unaffiliated/cheater) (Ping timeout: 265 seconds)
2021-03-04 19:49:14 +0000 <monochrom> This may evolve into a telephone game. >:)
2021-03-04 19:49:29 +0000 <maerwald> too much english for me, I find all versions confusing
2021-03-04 19:49:34 +0000 <dmj`> library (ab)users
2021-03-04 19:49:51 +0000ransom(~c4264035@undergraduate-jvossen-9690.mines.edu)
2021-03-04 19:49:54 +0000 <tomsmeding> maerwald: I challenge you to read a research paper
2021-03-04 19:50:10 +0000 <maerwald> "a"?
2021-03-04 19:50:18 +0000 <tomsmeding> okay fair the really good ones are very readable
2021-03-04 19:50:27 +0000 <tomsmeding> an average one, then :p
2021-03-04 19:50:43 +0000 <d34df00d> Read this one: https://cdn.paperpile.com/blog/img/lander-1966-700x394.png?v=38
2021-03-04 19:51:01 +0000 <monochrom> Read a Bird paper for fewer words, more formulas.
2021-03-04 19:51:13 +0000 <monochrom> A formula is worth a thousand pictures.
2021-03-04 19:51:27 +0000 <maerwald> oh yes, I want to read pictures
2021-03-04 19:51:39 +0000 <d34df00d> Neural nets to the rescue!
2021-03-04 19:51:46 +0000 <maerwald> rednaZ[m]: can you draw pictures instead?
2021-03-04 19:51:53 +0000cheater(~user@unaffiliated/cheater)
2021-03-04 19:52:01 +0000 <rednaZ[m]> xD
2021-03-04 19:52:05 +0000 <d34df00d> Draw a commutative diagram of users and libraries.
2021-03-04 19:52:16 +0000 <koz_> Category theory for UX.
2021-03-04 19:52:30 +0000kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no) (Ping timeout: 246 seconds)
2021-03-04 19:52:51 +0000 <rednaZ[m]> I can replace all identifiers and operators in my code with unicode characters. Does that make my code count as a picture?
2021-03-04 19:53:04 +0000 <tomsmeding> 👍
2021-03-04 19:53:04 +0000 <maerwald> rednaZ[m]: https://hackage.haskell.org/package/streamly-0.7.2 basically does what you are saying in exposing those things via Streamly.Internal.XXX
2021-03-04 19:53:05 +0000 <d34df00d> Nope, but you can pretend you're doing smart things in agda.
2021-03-04 19:53:16 +0000 <monochrom> Most unicode characters are not pictures.
2021-03-04 19:53:30 +0000 <tomsmeding> 🖼
2021-03-04 19:53:36 +0000 <monochrom> Most unicode characters are, in fact, CJK.
2021-03-04 19:54:27 +0000 <monochrom> But you could argue that CJK evolved from pictures.
2021-03-04 19:54:59 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 19:55:07 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-03-04 19:57:21 +0000pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
2021-03-04 19:57:51 +0000bodisiw(~bodiskw@cpe-74-138-114-237.kya.res.rr.com)
2021-03-04 20:00:30 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 20:01:09 +0000Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3) (Remote host closed the connection)
2021-03-04 20:02:48 +0000 <rednaZ[m]> Thanks koz_ and tomsmeding . Interesting how you treat the "because". tomsmeding switches the order so he can make to sentences using "Therefore" which is allowed to start a sentence while "because" is apparently not, which is weird, is it not? koz_ simply drops "because".
2021-03-04 20:03:33 +0000 <koz_> The thing is, the whole 'never start a sentence with because' is a pointless rule.
2021-03-04 20:03:36 +0000 <tomsmeding> rednaZ[m]: "Because of that, ..."
2021-03-04 20:03:40 +0000 <koz_> In this case, however, you need no conjunction anyway.
2021-03-04 20:03:42 +0000 <dolio> You can start a sentence with, "because," but it means something different than, "therefore."
2021-03-04 20:03:45 +0000bodisiw(~bodiskw@cpe-74-138-114-237.kya.res.rr.com) (Quit: Leaving)
2021-03-04 20:03:50 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-04 20:03:51 +0000 <koz_> Because it's rather clear what the connection between those sentences is.
2021-03-04 20:04:17 +0000 <rednaZ[m]> tomsmeding: That is just another way of saying "Therefore".
2021-03-04 20:04:20 +0000 <rednaZ[m]> xD
2021-03-04 20:04:28 +0000 <tomsmeding> of course :p
2021-03-04 20:05:19 +0000o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-03-04 20:05:21 +0000petersen(~petersen@redhat/juhp) (Ping timeout: 264 seconds)
2021-03-04 20:05:38 +0000 <dolio> Basically, if you start a sentence with, "because," you are just switching the order of conjoined clauses in the sentence.
2021-03-04 20:05:45 +0000Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-03-04 20:06:30 +0000pera(~pera@unaffiliated/pera)
2021-03-04 20:06:58 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 20:07:07 +0000petersen(~petersen@redhat/juhp)
2021-03-04 20:07:16 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1)
2021-03-04 20:07:40 +0000howdoi(uid224@gateway/web/irccloud.com/x-bgmkvjlbzdbxvlqi)
2021-03-04 20:10:10 +0000 <rednaZ[m]> koz_: I think, you have got a good point.
2021-03-04 20:10:41 +0000gitgood(~gitgood@82-132-217-85.dab.02.net)
2021-03-04 20:11:00 +0000 <d34df00d> Interestingly, the C(++) version of the above is slower.
2021-03-04 20:12:06 +0000 <average> the old Haskell oneup / oneupmanship / lifesmanship trick ? "The C++ version is slower than our Haskell version"
2021-03-04 20:12:55 +0000 <average> "In Haskell, we have faster linear algebra routines than those of Kazushige Gotō hand-optimized in assembly"
2021-03-04 20:12:57 +0000 <d34df00d> Ah, because I return an std::pair, so the vector gets copied...
2021-03-04 20:13:16 +0000 <d34df00d> But I'm not sure how to avoid that without making the code non-idiomatic.
2021-03-04 20:13:28 +0000 <tomsmeding> d34df00d: std::move() ?
2021-03-04 20:13:47 +0000 <average> "Our Haskell programs are faster on a regular computer than the same versions optimized for Quantum computers"
2021-03-04 20:13:50 +0000 <d34df00d> For some reason it actually pessimizes code with my clang.
2021-03-04 20:13:59 +0000 <tomsmeding> show code?
2021-03-04 20:14:51 +0000 <d34df00d> Ah, hold on, I've put my timing thing in the wrong place. Now it's about the same speed (as expected).
2021-03-04 20:15:09 +0000 <d34df00d> Although still a bit worse with gcc than with clang, but whatever.
2021-03-04 20:15:50 +0000 <dolio> People are forced to try to beat C and C++ in Haskell, because other people claim they can't use anything with 'less perfromance' than C++ for anything. Then if you do beat it, the second group reveals they were lying about that being a reason for not using Haskell.
2021-03-04 20:16:13 +0000 <edwardk> dolio++
2021-03-04 20:16:20 +0000 <d34df00d> eww mutation
2021-03-04 20:16:22 +0000 <tomsmeding> d34df00d: interesting you see a difference between the two, usually it's hard to find programs where they don't perform roughly equally
2021-03-04 20:16:24 +0000m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Quit: WeeChat 2.7.1)
2021-03-04 20:16:38 +0000 <edwardk> to be fair most of the my haskell beats your c examples take ridiculously tuned haskell and run it against unoptimized c
2021-03-04 20:16:40 +0000 <d34df00d> tomsmeding: I mean, I was forced to rewrite my Haskell implementation in ST.
2021-03-04 20:17:06 +0000 <d34df00d> But yea, experience shows that ST is usually about the same speed as the equivalent C++ version.
2021-03-04 20:17:29 +0000 <d34df00d> Unless the compiler can take opportunity of SIMD (say, with -march=native), which never worked for me in haskell even with -fllvm for some reason.
2021-03-04 20:17:30 +0000m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-04 20:17:39 +0000 <monochrom> d34df00d: I would use simply C and start with simply "int dropNoise(const char *in, int n, char *out)"
2021-03-04 20:17:45 +0000 <d34df00d> Maybe I'm just passing the parameters to the llvm optimizer/compiler worng.
2021-03-04 20:17:47 +0000kritzefitz(~kritzefit@212.86.56.80)
2021-03-04 20:18:11 +0000 <monochrom> And it's what I mean by "C is easier, C++ has too much infrastruture"
2021-03-04 20:18:41 +0000 <maerwald> optimizing haskell is a zic-zac game :)
2021-03-04 20:18:51 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 20:19:22 +0000stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-04 20:19:31 +0000 <swarmcollective> Of course, runtime performance matters, but I worry more about the ability for team members to produce code that is easily reasoned, easily maintained, and contains as few defects as possible. For that, it seems that Haskell works well.
2021-03-04 20:19:33 +0000 <d34df00d> Dang, I just noticed I can replace byte >= 0xd0 && byte <= 0xd7 with byte.&. 0xd0 == 0xd0, but it has no effect on the performance :(
2021-03-04 20:19:38 +0000 <d34df00d> So much for cunning bit tricks!
2021-03-04 20:19:49 +0000bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458) (Ping timeout: 272 seconds)
2021-03-04 20:20:18 +0000 <maerwald> swarmcollective: depends what you mean with reasoning
2021-03-04 20:20:21 +0000agander(~agander@185.94.193.150) (Remote host closed the connection)
2021-03-04 20:20:34 +0000 <monochrom> gcc beats ghc on contrived microbenchmarks like "compute x mod 7 for a million x's" but it's only because gcc replaces "mod 7" by a bit-shift-and-multiply trick.
2021-03-04 20:20:41 +0000 <d34df00d> Yeah, I find it hard to reason with your average manager that it's as easy to find haskell folks as it is for c++ folks.
2021-03-04 20:20:44 +0000 <heck-to-the-gnom> d34df00d: That's a good thing actually, that means that the compiler is optimizing things nicely
2021-03-04 20:21:32 +0000 <tomsmeding> d34df00d: are you on linux? if so, you could try using 'perf stat' to determine whether your program is bottlenecked on memory IO or on execution units on the CPU
2021-03-04 20:21:45 +0000 <monochrom> And if your alternate contrived microbenchmark is "for i=0 to N do nothing" gcc also beats ghc by replacing your loop with "i = N+1".
2021-03-04 20:21:51 +0000 <tomsmeding> if memory, then saving one inner-loop instruction may not help :)
2021-03-04 20:22:02 +0000 <average> monochrom: why doesn't GHC do that too ?
2021-03-04 20:22:18 +0000 <monochrom> GHC has a real life and a real job.
2021-03-04 20:22:20 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2021-03-04 20:22:26 +0000 <d34df00d> Well, I'm processing roughly gigabyte per sec (the test file is 16 megs, on tmpfs, mmapped in case of haskell, and it takes about 15 secs to process), so I guess it's CPU-bound. Also, there's no room for instruction-level parallelism really, I think.
2021-03-04 20:22:31 +0000 <geekosaur> what it takes to write that loop to begin with tells ghc that it's needed
2021-03-04 20:22:32 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-04 20:22:41 +0000 <geekosaur> so it believes you
2021-03-04 20:22:44 +0000 <d34df00d> s/15 secs/15 msecs/
2021-03-04 20:22:49 +0000AndChat-33024(~AndChat33@148.252.129.66) (Ping timeout: 265 seconds)
2021-03-04 20:22:54 +0000bobiusbillius(~bobiusbil@92.40.176.1.threembb.co.uk)
2021-03-04 20:23:11 +0000 <tomsmeding> d34df00d: makes sense
2021-03-04 20:24:13 +0000 <d34df00d> Although I bet somebody will come up with some cunning broadword programming trick.
2021-03-04 20:24:29 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-03-04 20:25:24 +0000 <monochrom> To be fair IMO strength reduction for "mod literal" is worthwhile because there are some real applications, though niche, that has it in hot spots.
2021-03-04 20:25:30 +0000forgottenone(~forgotten@176.88.30.190) (Quit: Konversation terminated!)
2021-03-04 20:25:34 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Remote host closed the connection)
2021-03-04 20:25:51 +0000 <d34df00d> The most examples I've seen of gcc beating anything (from ghc to clang) is on code that's very much tailored to the gcc's optimizer.
2021-03-04 20:25:55 +0000 <monochrom> But "optimizing" no-op loops is just ivory tower thinking.
2021-03-04 20:26:14 +0000 <monochrom> Either that, or cheating benchmarks.
2021-03-04 20:26:26 +0000 <geekosaur> except when it breaks the linux kernel busy-waiting :)
2021-03-04 20:26:31 +0000 <d34df00d> Most production code I wrote in C++ without caring about any single compiler performed better in clang than in gcc for the last maybe 4 or 5 years at least.
2021-03-04 20:26:41 +0000 <dolio> I guess the question is why gcc does it, then. :)
2021-03-04 20:26:49 +0000 <monochrom> And yes I get to say that some things gcc does is ivory tower irrelevancies. Bite me.
2021-03-04 20:27:07 +0000 <d34df00d> Why, I agree.
2021-03-04 20:28:46 +0000jneira(501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81)
2021-03-04 20:29:33 +0000drozdziak1(~drozdziak@vps-520f86fd.vps.ovh.net) ("WeeChat 2.9")
2021-03-04 20:30:02 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 20:31:06 +0000jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-04 20:32:00 +0000stree(~stree@68.36.8.116)
2021-03-04 20:32:14 +0000cgadski(~textual@87.196.80.116) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 20:33:38 +0000bob23(62940397@098-148-003-151.res.spectrum.com)
2021-03-04 20:33:54 +0000bob23(62940397@098-148-003-151.res.spectrum.com) (Client Quit)
2021-03-04 20:34:49 +0000jamm_(~jamm@unaffiliated/jamm)
2021-03-04 20:38:08 +0000Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-03-04 20:39:38 +0000jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-03-04 20:41:30 +0000ransom(~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: Textual IRC Client: www.textualapp.com)
2021-03-04 20:42:19 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 276 seconds)
2021-03-04 20:42:23 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 20:42:37 +0000kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-03-04 20:42:46 +0000 <heck-to-the-gnom> I heard that there's work underway to make the Linux kernel work on clang. Pretty cool...
2021-03-04 20:43:28 +0000conal(~conal@64.71.133.70)
2021-03-04 20:44:13 +0000slack1256(~slack1256@45.4.2.52)
2021-03-04 20:44:31 +0000slack1256(~slack1256@45.4.2.52) (Remote host closed the connection)
2021-03-04 20:45:03 +0000 <fendor> never heard gcc being accused of ivory tower irrelevancies
2021-03-04 20:45:16 +0000 <monochrom> >:)
2021-03-04 20:46:03 +0000ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-03-04 20:47:18 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 20:49:01 +0000myShoggoth(~myShoggot@75.164.81.55)
2021-03-04 20:49:24 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 256 seconds)
2021-03-04 20:49:36 +0000 <myShoggoth> Going to read GHC garbage collector code on stream in a few: https://www.twitch.tv/myShoggoth
2021-03-04 20:51:09 +0000 <swarmcollective> Ah, good myShoggoth I'll tune in.
2021-03-04 20:51:33 +0000kibo(~kibo@51-171-46-249-dynamic.agg2.ens.lmk-pgs.eircom.net) (Ping timeout: 264 seconds)
2021-03-04 20:52:26 +0000bobiusbillius(~bobiusbil@92.40.176.1.threembb.co.uk) (Read error: Connection reset by peer)
2021-03-04 20:52:38 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 20:53:29 +0000 <heck-to-the-gnom> By read it, do you mean read through comments, &/or elaborate on the meanings? Or read through it line by line, unironically, just the source code?
2021-03-04 20:54:33 +0000Gurkenglas_Gurkenglas
2021-03-04 20:55:56 +0000todda7(~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2)
2021-03-04 20:55:57 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 20:56:13 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 20:56:57 +0000tsaka__(~torstein@athedsl-258913.home.otenet.gr) (Remote host closed the connection)
2021-03-04 20:57:38 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Client Quit)
2021-03-04 20:58:55 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 240 seconds)
2021-03-04 20:59:50 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 21:01:28 +0000mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-04 21:01:28 +0000mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-04 21:01:28 +0000mouseghost(~draco@wikipedia/desperek)
2021-03-04 21:03:11 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-04 21:03:45 +0000ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
2021-03-04 21:04:10 +0000 <ph88> how can i get an Int (rounded or truncated don't care) from Scientific ?
2021-03-04 21:04:13 +0000conal(~conal@64.71.133.70)
2021-03-04 21:04:43 +0000dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-03-04 21:05:01 +0000 <glguy> using truncate or round
2021-03-04 21:05:04 +0000texasmynsted_(~texasmyns@99.96.221.112)
2021-03-04 21:05:42 +0000psutcliffe(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519) (Ping timeout: 258 seconds)
2021-03-04 21:06:41 +0000 <ph88> oki thank you
2021-03-04 21:07:36 +0000 <dmj`> man ... sure would be nice if haskell-mode could update your imports and module declarations automatically when files get moved around ...
2021-03-04 21:07:39 +0000texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 260 seconds)
2021-03-04 21:09:12 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Read error: Connection reset by peer)
2021-03-04 21:09:24 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 21:09:29 +0000erayo(c0ab6c77@119.108.171.192.pba.apn.pmt.pf)
2021-03-04 21:10:18 +0000Aquazi(uid312403@gateway/web/irccloud.com/x-tgakpwzpocvqwkje) (Quit: Connection closed for inactivity)
2021-03-04 21:11:04 +0000 <erayo> I'm designing a library and want to hide some optional features behind feature flags, what's a good way to do this ?
2021-03-04 21:11:12 +0000 <erayo> do I have to rely on CPP ?
2021-03-04 21:11:33 +0000 <dolio> What does that mean? It sounds like something you probably shouldn't do.
2021-03-04 21:12:08 +0000 <dolio> Because other packages can't depend on specific flag settings.
2021-03-04 21:13:20 +0000 <erayo> maybe I'm approaching this the wrong way, I wanted to avoid long compilation time because each optional feature needs to pull a bunch of dependencies
2021-03-04 21:14:34 +0000 <dolio> What is a "feature"? Does it make a difference in the functions/modules exposed in the package?
2021-03-04 21:15:02 +0000Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-03-04 21:15:46 +0000Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-04 21:16:02 +0000 <erayo> yes, if a feature is disabled, I would like to avoid exposing the related modules, and avoid pulling all the dependencies specific to that feature
2021-03-04 21:16:33 +0000fendor_(~fendor@91.141.0.22.wireless.dyn.drei.com)
2021-03-04 21:16:53 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 21:17:00 +0000 <dolio> Then it has the problem I mentioned. Things that depend on your package can't depend on a specific set of flags, so can't reliably use the things that are only visible if the right flags are enabled.
2021-03-04 21:18:34 +0000 <dolio> Flags changing the API won't work, basically.
2021-03-04 21:18:41 +0000 <erayo> I see, I was hoping for something similar to rust's feature flags, maybe there's no equivalent
2021-03-04 21:19:13 +0000 <heck-to-the-gnom> I mean, modules, & submodules...
2021-03-04 21:19:19 +0000fendor(~fendor@77.119.128.81.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-03-04 21:19:21 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-03-04 21:19:23 +0000son0p(~son0p@181.136.122.143)
2021-03-04 21:20:28 +0000ixlun(~user@213.205.241.12) (Remote host closed the connection)
2021-03-04 21:21:01 +0000 <dolio> Cabal at least can have multiple libraries declared in a package, and at some point it's going to be possible to depend on specific libraries from another package. I'm not sure when that's going to be possible if it isn't already.
2021-03-04 21:21:19 +0000 <dolio> That would be cabal-install only, I think.
2021-03-04 21:21:53 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 21:22:13 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-04 21:22:34 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 245 seconds)
2021-03-04 21:22:43 +0000 <dolio> Multiple libraries in a package already worked for a long time, but only for use within a package, not across packages.
2021-03-04 21:22:55 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 21:25:22 +0000 <dolio> Anyhow, I think that probably would be a decent way to have a single logical package with optional parts.
2021-03-04 21:26:44 +0000 <dolio> Oh, you could make it work everywhere, I think, by having a 'main' library that just exposes all the optional libraries. It just wouldn't allow people to benefit from not compiling the 'optional' parts unless they can depend on individual libraries in a package.
2021-03-04 21:26:56 +0000thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2021-03-04 21:28:31 +0000pfurla(~pfurla@pool-108-6-43-243.nycmny.fios.verizon.net)
2021-03-04 21:28:34 +0000 <erayo> I see, multiple libraries in the same package should do the trick for me
2021-03-04 21:28:42 +0000 <erayo> ty dolio :)
2021-03-04 21:29:06 +0000_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-03-04 21:32:08 +0000nak(~user@S0106889e681ad145.gv.shawcable.net) (Ping timeout: 245 seconds)
2021-03-04 21:35:22 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 21:36:10 +0000Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-03-04 21:37:02 +0000chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 21:37:43 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 272 seconds)
2021-03-04 21:37:59 +0000 <jneira> i am starting to think that we should drop the hackage-index from cabal.project
2021-03-04 21:38:03 +0000 <jneira> ops
2021-03-04 21:38:27 +0000 <jneira> bad channel
2021-03-04 21:40:28 +0000bob17(62940397@098-148-003-151.res.spectrum.com)
2021-03-04 21:41:23 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 21:41:33 +0000geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-04 21:41:51 +0000bob17(62940397@098-148-003-151.res.spectrum.com) (Client Quit)
2021-03-04 21:43:50 +0000slack1256(~slack1256@45.4.2.52)
2021-03-04 21:44:19 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 21:49:20 +0000alx741(~alx741@186.178.108.117) (Ping timeout: 265 seconds)
2021-03-04 21:50:27 +0000deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 246 seconds)
2021-03-04 21:52:05 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 21:54:08 +0000Nahra(~Nahra@unaffiliated/nahra) (Quit: leaving)
2021-03-04 21:56:15 +0000crobbins(~crobbins@2600:1700:48eb:8490:9416:7f26:bb22:cc55) (Ping timeout: 240 seconds)
2021-03-04 21:56:32 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-04 21:57:04 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds)
2021-03-04 21:57:34 +0000neiluj(~jco@91-167-203-101.subs.proxad.net)
2021-03-04 21:57:34 +0000neiluj(~jco@91-167-203-101.subs.proxad.net) (Changing host)
2021-03-04 21:57:34 +0000neiluj(~jco@unaffiliated/neiluj)
2021-03-04 21:58:49 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 245 seconds)
2021-03-04 21:58:59 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 258 seconds)
2021-03-04 22:00:11 +0000crobbins(~crobbins@2600:1700:48eb:8490:9416:7f26:bb22:cc55)
2021-03-04 22:00:20 +0000ollierees(~ollierees@2a02:c7f:a8a8:fb00:7bfd:a909:fc9a:92c6)
2021-03-04 22:00:40 +0000justan0theruserjustanotheruser
2021-03-04 22:01:20 +0000 <ollierees> :t mapM
2021-03-04 22:01:21 +0000 <lambdabot> (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
2021-03-04 22:01:46 +0000alx741(~alx741@186.178.108.237)
2021-03-04 22:02:24 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 22:02:34 +0000malumore(~malumore@151.62.127.36) (Ping timeout: 245 seconds)
2021-03-04 22:03:00 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-03-04 22:03:06 +0000 <ph88> how can i go from a list of [[(FieldName, DataValue)]] to [DataRow] ? https://hackage.haskell.org/package/hvega-0.11.0.0/docs/Graphics-Vega-VegaLite.html#v:dataRow i just get this function which i think i need to apply continiously
2021-03-04 22:03:48 +0000kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 22:05:13 +0000 <monochrom> Start with [] :: [DataRow] as your starter?
2021-03-04 22:05:47 +0000 <ph88> yes sure
2021-03-04 22:06:06 +0000 <monochrom> "What you add to Vega, stays in Vega". >:)
2021-03-04 22:06:29 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2021-03-04 22:06:33 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-04 22:06:40 +0000 <ph88> but i can not call dataRow every time because i don't know how many times i would need to do that
2021-03-04 22:06:48 +0000 <ph88> but i can't simply map it either
2021-03-04 22:06:56 +0000elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 22:07:15 +0000 <ph88> if it was dataRow :: [(FieldName, DataValue)] -> [DataRow] i could just map and that's that
2021-03-04 22:07:52 +0000 <ollierees> [DataRow] is just [[[(FieldName, DataValue)]] -> [DataRow] -> [DataRow]], where [] is the leaf of DataRow...
2021-03-04 22:07:58 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:31cc:7f5d:4d57:b77) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 22:08:16 +0000 <monochrom> I'm sure you'll figure out you actually have many options.
2021-03-04 22:08:17 +0000 <ph88> here in the example documentation they call dataRow manually for each element https://hackage.haskell.org/package/hvega-0.11.0.0/docs/Graphics-Vega-VegaLite.html#v:dataFromRows
2021-03-04 22:08:42 +0000 <ph88> i guess the many options are confusing me o_O
2021-03-04 22:08:46 +0000 <ph88> is there an idiomatic option ? like a short function or so
2021-03-04 22:09:23 +0000bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 272 seconds)
2021-03-04 22:09:46 +0000 <ph88> one thing that came to mind is foldr (. dataRow) id [..myList..] but it seems rather ugly
2021-03-04 22:10:15 +0000evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-03-04 22:10:21 +0000lieven(~mal@unaffiliated/lieven) (Quit: WeeChat 1.6)
2021-03-04 22:10:46 +0000evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-03-04 22:10:46 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Remote host closed the connection)
2021-03-04 22:10:50 +0000 <monochrom> OK here are the options off the top of my head.
2021-03-04 22:11:13 +0000usr25(~usr25@unaffiliated/usr25)
2021-03-04 22:11:35 +0000 <monochrom> map (\x -> dataRow x []) --- there you go, can't say "can't just map over", I just did
2021-03-04 22:12:11 +0000 <monochrom> dataRow (xs ++ ys ++ zs) [] -- if xs, ys, zs :: [(FieldName, DataValue)]
2021-03-04 22:12:47 +0000 <monochrom> dataRow zs (dataRow ys (dataRow xs [])) -- I don't know whether it's the right order by surely you can try
2021-03-04 22:13:01 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 265 seconds)
2021-03-04 22:13:05 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 22:13:19 +0000 <monochrom> I don't know which one does what you really need because I don't know what you really need.
2021-03-04 22:13:35 +0000 <monochrom> But these are all counterexamples to refute all bold "can't" claims.
2021-03-04 22:14:01 +0000 <monochrom> And these are all from just basic FP techniques.
2021-03-04 22:14:32 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 22:16:37 +0000 <ph88> map (\x -> dataRow x []) this is not sufficient i think i would get [[DataRow]] but i need [DataRow] ??
2021-03-04 22:17:43 +0000 <monochrom> There was a wise beginner who realized: "If not for IRC, I would have figured it out myself".
2021-03-04 22:17:48 +0000 <ph88> [xs, ys, zs] :: [[(FieldName, DataValue)]]
2021-03-04 22:17:50 +0000 <monochrom> I recommend you go that route.
2021-03-04 22:17:55 +0000jespada(~jespada@90.254.243.187) (Ping timeout: 240 seconds)
2021-03-04 22:18:27 +0000 <ph88> dataRow zs (dataRow ys (dataRow xs [])) this doesn't work because i don't know in front how many ys, ys and ys i have ..
2021-03-04 22:18:49 +0000 <ph88> zs, ys and xs i mean
2021-03-04 22:18:59 +0000 <monochrom> It's just an example.
2021-03-04 22:19:21 +0000bobiusbillius(~bobiusbil@2.221.197.231)
2021-03-04 22:19:23 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-04 22:19:36 +0000erayo(c0ab6c77@119.108.171.192.pba.apn.pmt.pf) (Quit: Connection closed)
2021-03-04 22:19:54 +0000kibo(~kibo@51-171-46-249-dynamic.agg2.ens.lmk-pgs.eircom.net)
2021-03-04 22:20:22 +0000jespada(~jespada@90.254.243.187)
2021-03-04 22:21:15 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-03-04 22:21:57 +0000lieven(~mal@unaffiliated/lieven)
2021-03-04 22:22:56 +0000ubert1(~Thunderbi@p200300ecdf25d9e2e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-03-04 22:24:04 +0000bobiusbillius(~bobiusbil@2.221.197.231) (Ping timeout: 260 seconds)
2021-03-04 22:24:24 +0000stampirl(~stampirl@195-154-112-77.rev.poneytelecom.eu)
2021-03-04 22:24:25 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2021-03-04 22:24:33 +0000aidecoe(~aidecoe@unaffiliated/aidecoe)
2021-03-04 22:24:35 +0000Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-04 22:24:51 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-04 22:25:14 +0000apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 260 seconds)
2021-03-04 22:25:16 +0000apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 22:25:24 +0000jdwidari2(~jdwidari@173.38.117.76)
2021-03-04 22:25:37 +0000 <ph88> maybe i didn't explain the problem well enough
2021-03-04 22:26:09 +0000 <myShoggoth> heck-to-the-gnom: Sorry, didn't see your question earlier. We read through the code trying to understand how it works, elaborate on what's going on, some kibitzing by experts, etc.
2021-03-04 22:26:34 +0000 <myShoggoth> It is dense, we'll do it again at the same time next week.
2021-03-04 22:26:57 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 264 seconds)
2021-03-04 22:27:02 +0000 <myShoggoth> Video at https://www.twitch.tv/videos/936984769
2021-03-04 22:27:42 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 22:28:22 +0000systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
2021-03-04 22:28:50 +0000qih(~pi@210-54-120-166.adsl.xtra.co.nz)
2021-03-04 22:28:59 +0000olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-04 22:29:35 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-04 22:30:10 +0000 <qih> Morning o/
2021-03-04 22:30:12 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 22:30:22 +0000jdwidari2(~jdwidari@173.38.117.76) (Quit: WeeChat 3.0.1)
2021-03-04 22:30:47 +0000kiweun(~kiweun@2607:fea8:2a62:9600:8160:4d43:4a85:f4b8)
2021-03-04 22:32:09 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 245 seconds)
2021-03-04 22:34:07 +0000Tops2(~Tobias@dyndsl-095-033-090-077.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-03-04 22:34:39 +0000systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Ping timeout: 245 seconds)
2021-03-04 22:34:45 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-04 22:35:43 +0000Tario(~Tario@201.192.165.173)
2021-03-04 22:36:23 +0000romesrf(~romesrf@44.190.189.46.rev.vodafone.pt)
2021-03-04 22:40:34 +0000stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-04 22:41:46 +0000 <ph88> monochrom, i have this now let datas = (foldr (\a b -> b . (dataRow a)) id $ catMaybes $ map issueToDataRow issues) [] which seems to be ok ... but i have difficulties to read back my own code .. maybe there is a function to capture this behaviour ?
2021-03-04 22:41:56 +0000 <swarmcollective> Hello qih
2021-03-04 22:42:16 +0000 <qih> swarmcollective: Ey.
2021-03-04 22:42:20 +0000theelous3(~theelous3@unaffiliated/theelous3)
2021-03-04 22:44:16 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 22:44:21 +0000conal(~conal@64.71.133.70)
2021-03-04 22:46:18 +0000fendor_(~fendor@91.141.0.22.wireless.dyn.drei.com) (Remote host closed the connection)
2021-03-04 22:46:29 +0000 <monochrom> I don't understand why "map issueToDataRow issues []" is not the empty list.
2021-03-04 22:46:40 +0000 <monochrom> Or if it is the empty list, what's the point of the rest.
2021-03-04 22:47:57 +0000 <Axman6> what are there too many arguments
2021-03-04 22:48:11 +0000 <Axman6> Hmm, that was a deeper question than I intended
2021-03-04 22:48:36 +0000 <swarmcollective> Axman6: :D Good one.
2021-03-04 22:49:37 +0000pera(~pera@unaffiliated/pera) (Quit: leaving)
2021-03-04 22:49:54 +0000 <monochrom> I would agree with "deep trouble".
2021-03-04 22:50:06 +0000 <monochrom> OK I misread.
2021-03-04 22:51:12 +0000 <monochrom> dataRow (concat (catMaybes $ map issueToDataRow issues)) []
2021-03-04 22:51:15 +0000ByteEater(57cd846a@gateway/web/cgi-irc/kiwiirc.com/ip.87.205.132.106)
2021-03-04 22:52:38 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 22:53:18 +0000stree(~stree@68.36.8.116)
2021-03-04 22:55:26 +0000 <shachaf> :t mapMaybe
2021-03-04 22:55:27 +0000 <lambdabot> (a -> Maybe b) -> [a] -> [b]
2021-03-04 22:55:39 +0000 <ByteEater> If qsort is the popular toy quicksort implementation in Haskell, does \l -> head $ drop (length l `div` 2) $ qsort l give the median of a non-empty list l in linear time for sure? Or does it depend on whether the implementation performs some optimization? Does GHC?
2021-03-04 22:57:57 +0000 <shachaf> It certainly isn't for sure, since it might pick bad pivots.
2021-03-04 22:58:18 +0000ech(~user@gateway/tor-sasl/ech)
2021-03-04 22:58:24 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 22:58:28 +0000 <ByteEater> shachaf, I'm counting on laziness
2021-03-04 22:58:34 +0000bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 22:58:49 +0000 <shachaf> What's the implementation of qsort here?
2021-03-04 22:58:56 +0000__minoru__shirae(~shiraeesh@109.166.56.118)
2021-03-04 22:59:17 +0000 <ph88> monochrom, your solution does not work .. it would be equivelant to do the following in the example https://hackage.haskell.org/package/hvega-0.11.0.0/docs/Graphics-Vega-VegaLite.html#v:dataFromRows [ ( "Animal", Str "Fish" ), ( "Age", Number 28 ), ( "Year", Str "2010" ), ( "Animal", Str "Dog" ), ( "Age", Number 12 ), ( "Year", Str "2014" ), ( "Animal", Str "Cat" ), ( "Age", Number 6 ), ( "Year", Str "2015" ) ]]
2021-03-04 22:59:24 +0000 <ByteEater> if I had e.g. take 5 instead, it'd be linear, the rest would just remain unevaluated, no recursive calls into unneeded partitions would be performed
2021-03-04 22:59:29 +0000 <ph88> that leaves me with only 1 row where values overwrite each other
2021-03-04 22:59:31 +0000 <monochrom> base's Data.List.sort does not use quicksort at all. Some kind of mergesort-style but novel algorithm someone wrote and benchmarked to be good.
2021-03-04 22:59:58 +0000Kaiepi(~Kaiepi@47.54.252.148)
2021-03-04 23:00:19 +0000 <dolio> Laziness isn't going to save you from a worst case quicksort input.
2021-03-04 23:00:48 +0000Tario(~Tario@201.192.165.173) (Ping timeout: 260 seconds)
2021-03-04 23:01:29 +0000 <shachaf> To pick good pivots for sure, you need to be able to compute the median.
2021-03-04 23:01:36 +0000 <ByteEater> shachaf, it's qsort l = if null l then [] else let (lo,hi) = partition (< head l) (tail l) in qsort lo ++ [head l] ++ qsort hi
2021-03-04 23:01:39 +0000 <Axman6> ByteEater: the easiest way to confirm the answer is to step through the evaluation by hand. It definitely sounds like what you want is not possible though
2021-03-04 23:02:19 +0000 <Axman6> if that list is already sorted you 're gonna have a bad time
2021-03-04 23:02:23 +0000 <ByteEater> Axman6, so no fusion or rewrite rules would kick in and give me linear complexity?
2021-03-04 23:02:29 +0000 <Axman6> no
2021-03-04 23:02:37 +0000 <Axman6> I don't think linear median is even possible?
2021-03-04 23:02:50 +0000 <shachaf> It is possible, but tricky.
2021-03-04 23:02:57 +0000 <ByteEater> it is, all positional statistics are
2021-03-04 23:03:24 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-03-04 23:04:06 +0000 <Axman6> so with Data.List's sort function, the bottom k elements can be found in O(n log k) IIRC, using take k . sort
2021-03-04 23:04:11 +0000 <monochrom> Linear median is one of those things you never have the solution off the top of you head, you just always crack open CLRS again. :)
2021-03-04 23:04:18 +0000bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2021-03-04 23:04:19 +0000 <ByteEater> shachaf, Axman6, pleas hear me out, I don't want the whole sorted list back, just 1 element of it; e.g. this is a known feat of laziness that the following gives the 5 lowest items in linear time: take 5 . qsort
2021-03-04 23:04:44 +0000 <dolio> Not for qsort it isn't.
2021-03-04 23:04:48 +0000 <Axman6> no one actually uses quicksort in Haskell
2021-03-04 23:05:08 +0000 <Axman6> because lazy merge sort is basically better in every way
2021-03-04 23:05:28 +0000conal(~conal@64.71.133.70)
2021-03-04 23:06:22 +0000 <monochrom> Laziness alone doesn't save you. You need to combine laziness with an algorithm that befriends that laziness.
2021-03-04 23:06:24 +0000 <ByteEater> dolio, how so? I can visualize the call tree in my head with only 5 paths being fully evaluated, down to single elements, while most of the tree is hidden in unevaluated thunks
2021-03-04 23:06:27 +0000 <dolio> Well, I guess it's techincally linear time, because 5*n is linear.
2021-03-04 23:06:46 +0000 <ByteEater> yup, that's what I had in mind
2021-03-04 23:06:48 +0000 <dolio> But if it's 'half way through the list', it's going to be n^2 worst case.
2021-03-04 23:07:12 +0000 <infinisil> Axman6: Even for vectors/arrays?
2021-03-04 23:07:44 +0000 <ByteEater> indeed, but can some fusion optimization or rewrite rule make the compiler see that I don't need the previous values, I'm dropping them?
2021-03-04 23:07:53 +0000 <Axman6> O(1) access to elements changes things a lot
2021-03-04 23:08:15 +0000 <ByteEater> well, O(log(n)), technically
2021-03-04 23:08:44 +0000 <infinisil> Arrays/vectors are O(1)
2021-03-04 23:08:53 +0000 <infinisil> Axman6: But yeah makes sense
2021-03-04 23:08:56 +0000 <monochrom> All rewrite rules I've seen improve only constant multipliers.
2021-03-04 23:08:59 +0000 <infinisil> Looking at https://hackage.haskell.org/package/vector-algorithms
2021-03-04 23:09:26 +0000 <Axman6> yeah, vector-algorithms implementes lots of useful sorts, but they're not really relevant to the discussion of sorting lists
2021-03-04 23:09:33 +0000danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-03-04 23:09:59 +0000 <dolio> Well, you can use them to sort lists by creating a temporary vector and sorting that, but it's going to sort the whole thing.
2021-03-04 23:10:28 +0000 <monochrom> This would be one of those times you would hear me say again "you don't have enough hands-on experience to know what you're talking about regarding laziness or fusion or whatnot".
2021-03-04 23:10:35 +0000 <Axman6> ByteEater: so in your quicksort implementation, don't forget that if youi pass it a sorted list, then the partition has to traverse the entire list before it can produce the [] for the lo side, and that happens in every recursive call
2021-03-04 23:10:58 +0000 <monochrom> But last time I did that, people stoned me to death for "you're shutting them down".
2021-03-04 23:11:03 +0000 <ByteEater> disregard what I wrote about vector, I forgot it only uses Int indices, not arbitrarily large
2021-03-04 23:11:27 +0000 <dolio> Only enough to run a supercomputer out of memory.
2021-03-04 23:11:29 +0000 <monochrom> So this time I won't shut it down, I'll just watch you people circle**** it to no end.
2021-03-04 23:11:43 +0000 <infinisil> I guess since conversion to/from a vector is O(n), if you need to sort the whole list this might not be a terrible idea
2021-03-04 23:11:56 +0000Axman6resists bringing up the discrimination package
2021-03-04 23:12:13 +0000romesrf(~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1)
2021-03-04 23:12:43 +0000 <infinisil> :o
2021-03-04 23:13:28 +0000 <Axman6> Oops, too late
2021-03-04 23:13:31 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Remote host closed the connection)
2021-03-04 23:13:36 +0000 <infinisil> Hm wait, what's the deal with discrimination?
2021-03-04 23:13:39 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-04 23:13:40 +0000 <Axman6> Who needs linear time sorting anyway
2021-03-04 23:13:41 +0000 <infinisil> Where's the catch?
2021-03-04 23:13:49 +0000infinisilshould read more
2021-03-04 23:13:57 +0000 <dolio> Bad constant factors?
2021-03-04 23:14:06 +0000Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-03-04 23:14:15 +0000madnificent_(~madnifice@static.210.74.63.178.clients.your-server.de)
2021-03-04 23:14:31 +0000 <ByteEater> "you don't have enough hands-on experience to know what you're talking about regarding laziness or fusion or whatnot" – well, somewhat true probably, that's why I'm asking and hoping to encounter people who know better ;D
2021-03-04 23:14:33 +0000 <infinisil> Sorting is fundamentally O(n log n), which can't be O(n) with constant factors
2021-03-04 23:14:37 +0000 <Axman6> yeah it's not as fast as I would like, but it's still useful for things. the Grouping stuff gets you a long way to writing MapReduce efficiently
2021-03-04 23:14:58 +0000 <dolio> Comparison sorting is O(n log n).
2021-03-04 23:15:05 +0000 <Axman6> infinisil: _comparison based sorting_ is O(n log n)
2021-03-04 23:15:16 +0000 <dolio> There are many well known O(n) sorts.
2021-03-04 23:15:18 +0000 <infinisil> Oh right
2021-03-04 23:15:19 +0000gurmble(~Thunderbi@freenode/staff/grumble)
2021-03-04 23:15:28 +0000 <Axman6> if you have some sort of radix, then you can ge O(n) - and it turns out sum types give you a radix
2021-03-04 23:15:29 +0000madnificent(~madnifice@static.210.74.63.178.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-04 23:15:29 +0000grumble(~Thunderbi@freenode/staff/grumble) (Quit: K-Lined)
2021-03-04 23:15:51 +0000gurmblegrumble
2021-03-04 23:16:41 +0000swarmcollectivewonders why sorting hasn't been moved to hardware level by now...
2021-03-04 23:16:41 +0000 <Axman6> if if I hand you something of type Either (Word8, Char) (Maybe Bool), you have a finite set of buckets to pass those values into, and you know where they're going to end up a priori
2021-03-04 23:17:08 +0000 <infinisil> Ah that makes sense
2021-03-04 23:17:32 +0000 <infinisil> So as soon as you have infinite different values it won't work
2021-03-04 23:18:00 +0000 <infinisil> (In O(n) with this approach)
2021-03-04 23:18:06 +0000 <Axman6> The really cool thing to me about the discrimination package is the grouping, which allows you to take [a] and get back [[a]], where each [a] is productive - as soon as an element of the input is places into a group, you can process it
2021-03-04 23:18:49 +0000 <Axman6> infinisil: yeah, and lots of useful types make this hard, like esoterric types such as String
2021-03-04 23:18:50 +0000 <infinisil> Oh neat
2021-03-04 23:18:54 +0000son0p(~son0p@181.136.122.143) (Quit: leaving)
2021-03-04 23:18:56 +0000 <dolio> Radix sort doesn't have a bucket for every possible value.
2021-03-04 23:19:12 +0000 <dolio> It has a bucket for every possible value of a chunk.
2021-03-04 23:19:34 +0000 <ByteEater> I guess my question has the same answer as whether drop (length l) $ l ++ [x] can be evaluated (to [x]) in sublinear time – can drop instantly skip (thanks to some optimization) prefixes of known lengths
2021-03-04 23:19:48 +0000 <Axman6> infinisil: probably a good idea to not look at the implementation of how grouping works, it's crazy low level, laziness reimplemented stuff. edwardk is a demon
2021-03-04 23:19:55 +0000ollierees(~ollierees@2a02:c7f:a8a8:fb00:7bfd:a909:fc9a:92c6) (Quit: WeeChat 2.9)
2021-03-04 23:20:04 +0000 <infinisil> It's..
2021-03-04 23:20:05 +0000 <infinisil> Too late!
2021-03-04 23:20:45 +0000 <monochrom> Hardware people are too busy adding https://developer.arm.com/documentation/dui0801/g/A64-Floating-point-Instructions/FJCVTZS to add sorting. :)
2021-03-04 23:20:47 +0000 <Axman6> Good luck understanding it! I did once
2021-03-04 23:21:09 +0000 <dolio> I suppose it's possible that with infinite values, you could arrange for an array of size n to require log n passes to successfully partition, though.
2021-03-04 23:21:31 +0000 <infinisil> I think that's what discrimination actually does with at least Integer
2021-03-04 23:21:46 +0000 <infinisil> https://hackage.haskell.org/package/discrimination-0.4.1/docs/src/Data.Discrimination.Internal.htm…
2021-03-04 23:22:02 +0000 <infinisil> Splits it into (Int, [Word])
2021-03-04 23:22:14 +0000 <infinisil> Then probably groups by that
2021-03-04 23:22:16 +0000 <Axman6> IIRC the Integer/Natural instance is less than optimal
2021-03-04 23:23:35 +0000 <monochrom> "drop n xs", if xs is longer than n, takes n time. This can count as sublinear or exponential, depending on your perspective.
2021-03-04 23:23:42 +0000Yumasi(~guillaume@2a01:e0a:5cb:4430:8c46:2884:8ca1:7346) (Ping timeout: 258 seconds)
2021-03-04 23:23:43 +0000 <dolio> Anyhow, vector-algorithms also has a sort of radix sort that can sort strings.
2021-03-04 23:24:07 +0000 <Axman6> monochrom: or this crap: https://en.wikipedia.org/wiki/X86_instruction_listings#SSE4.2
2021-03-04 23:24:32 +0000 <monochrom> hehe
2021-03-04 23:24:36 +0000cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 23:24:47 +0000 <Axman6> https://software.intel.com/content/www/us/en/develop/articles/schema-validation-with-intel-streami… just batshit crazy
2021-03-04 23:25:21 +0000 <monochrom> Well, if strncmp() gets hardwarized, I think sort() has hope tomorrow.
2021-03-04 23:26:10 +0000ystael(~ystael@209.6.50.55) (Read error: Connection reset by peer)
2021-03-04 23:26:56 +0000 <dolio> Good thing they added all that fancy stuff so they could get smoked by a RISC chip. :þ
2021-03-04 23:27:23 +0000ystael(~ystael@209.6.50.55)
2021-03-04 23:27:40 +0000 <Axman6> ByteEater: you could add an optimisation that does that, or you also just not write that code in the first place, the compiler can only make up for your crappy code so far :) Also, what if l is infinite?
2021-03-04 23:28:30 +0000 <Axman6> dolio: yeah the next few years of Apple hardware (and likely other ARM hardware) are going to be very interesting.
2021-03-04 23:28:49 +0000 <koz_> I wonder how long till we get a WTFBBQ instruction.
2021-03-04 23:28:56 +0000 <Axman6> Hey, looks like Intel invented Spongebob speak! "atomic CoMPare and eXCHanGe"
2021-03-04 23:29:14 +0000 <monochrom> What should the WTFBBQ instruction do?
2021-03-04 23:29:20 +0000 <koz_> Axman6: Hats off for PQLMULQDQ
2021-03-04 23:29:21 +0000pfurla(~pfurla@pool-108-6-43-243.nycmny.fios.verizon.net) (Quit: gone to sleep. ZZZzzz…)
2021-03-04 23:29:21 +0000Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-03-04 23:29:27 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 23:29:29 +0000 <dolio> I guess to be fair, part of the advantage is other on-board dedicated chips (just not direct CPU instructions maybe).
2021-03-04 23:29:38 +0000 <koz_> monochrom: Judging by how the others are named? Whatever you feel like.
2021-03-04 23:29:43 +0000 <koz_> You can always back-justify it.
2021-03-04 23:30:08 +0000 <Axman6> With This Function Byte Broadcast Quadword
2021-03-04 23:30:17 +0000Axman6sends in an application to Intel
2021-03-04 23:30:19 +0000 <ByteEater> just checked experimentally (though probably not with all possible optimization flags) and indeed even drop (length xs) xs seems to take linear time to evaluate to []
2021-03-04 23:30:31 +0000 <Axman6> of course it does
2021-03-04 23:30:37 +0000 <koz_> That is wholly unsurprising.
2021-03-04 23:30:45 +0000 <ByteEater> when xs is a small, unevaluated thunk initially
2021-03-04 23:30:58 +0000Tario(~Tario@201.192.165.173)
2021-03-04 23:31:08 +0000 <Axman6> if I pass in [1..], I expect that function to take forever to never return []
2021-03-04 23:31:12 +0000 <monochrom> "with this function" sounds like a higher-order function.
2021-03-04 23:31:28 +0000 <Axman6> You;'re attributing much more magic to the compiler than it deserves
2021-03-04 23:31:30 +0000 <monochrom> "WTFBBQ the first higher-order-function instruction"
2021-03-04 23:31:31 +0000 <ByteEater> yes, with infinite lists there's no length, or median
2021-03-04 23:31:41 +0000 <Axman6> monochrom: yeah it sure is
2021-03-04 23:32:11 +0000 <shachaf> Axman6: Let me know when you can sort a list of reals in linear time.
2021-03-04 23:32:16 +0000 <shachaf> Not that I'm even sure what that means exactly.
2021-03-04 23:32:30 +0000 <ByteEater> I hoped there'd be some rewrite rule allowing drop to be optimized and reach only for the part that needs evaluating
2021-03-04 23:32:42 +0000 <dolio> shachaf: Just use the axiom of choice.
2021-03-04 23:32:47 +0000 <monochrom> hahaha
2021-03-04 23:33:10 +0000 <Axman6> shachaf: that sounds... really hard =)
2021-03-04 23:33:29 +0000 <shachaf> Well, you can write a program to sort computable reals.
2021-03-04 23:33:34 +0000 <ByteEater> probably it can be written for such simple cases, but from its absence I fathom it wasn't found easily generalizable to non-trivial cases and thus forgone
2021-03-04 23:33:55 +0000 <shachaf> I just don't know what it means to say how long it takes. I guess you can measure the size of a sorting network.
2021-03-04 23:34:00 +0000 <int-e> shachaf: would you use a sorting network?
2021-03-04 23:34:10 +0000 <monochrom> You can take almost forever sorting even two computable reals, so nevermind a list of them.
2021-03-04 23:34:34 +0000 <int-e> monochrom: but you /can/ compute the minimum and the maximum of both
2021-03-04 23:34:34 +0000ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-04 23:34:35 +0000 <shachaf> Well, \x y -> (min x y, max x y) doesn't take almost forever.
2021-03-04 23:34:40 +0000 <int-e> monochrom: which is sorting them
2021-03-04 23:34:45 +0000fissureman(~quassel@c-73-201-159-163.hsd1.dc.comcast.net) (Ping timeout: 246 seconds)
2021-03-04 23:34:48 +0000 <ByteEater> on the other hand, if the type included length (that'd require dependent types), the optimization in general would seem quite straightforward
2021-03-04 23:34:54 +0000 <monochrom> Oh, then I have to bump up to 3 computable reals.
2021-03-04 23:35:03 +0000 <int-e> monochrom: now you use a sorting network
2021-03-04 23:35:18 +0000 <int-e> to reduce to the case of sorting two values
2021-03-04 23:35:37 +0000 <dolio> How long does it take to produce a sorting network for n values?
2021-03-04 23:35:39 +0000 <monochrom> Isn't it fascinating? Most "k-Foo" problems have a great complexity divide when jumping from k=2 to k=3.
2021-03-04 23:35:53 +0000ukari(~ukari@unaffiliated/ukari)
2021-03-04 23:36:10 +0000 <int-e> dolio: https://en.wikipedia.org/wiki/Batcher_odd%E2%80%93even_mergesort is very easy to compute
2021-03-04 23:36:48 +0000kiweun(~kiweun@2607:fea8:2a62:9600:8160:4d43:4a85:f4b8) (Remote host closed the connection)
2021-03-04 23:36:56 +0000 <koz_> ByteEater: This is very hard to do in general.
2021-03-04 23:37:03 +0000 <koz_> It _might_ work if your Int argument is a constant.
2021-03-04 23:37:14 +0000 <koz_> But it can be computed more-or-less however you feel like.
2021-03-04 23:38:22 +0000 <monochrom> Dependent typing will not turn GHC into Lean+Mathematica.
2021-03-04 23:38:51 +0000 <Axman6> not with that attitude it won't
2021-03-04 23:39:12 +0000 <dolio> O(n (log n)^2) space usage suggests it's not linear to figure it out dynamically, I guess?
2021-03-04 23:39:35 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 23:39:40 +0000 <shachaf> Well, a sorting network is a comparison sort, so it'll have more than linearly many comparisons.
2021-03-04 23:40:03 +0000 <shachaf> (Or min-maxes in this case.)
2021-03-04 23:40:07 +0000 <dolio> Right.
2021-03-04 23:40:15 +0000 <monochrom> That is not an attitude. That is an observation of the people who work on GHC, what they're interested in and what they aren't.
2021-03-04 23:40:59 +0000 <dolio> Your real numbers probably aren't going to be performing great afterward, either.
2021-03-04 23:41:31 +0000 <Axman6> Would we be better off with hypothetical numbers?
2021-03-04 23:41:42 +0000 <ByteEater> OK, now I understand it better, thanks
2021-03-04 23:41:45 +0000 <monochrom> And even if I'm right for only the next 10 years and then I'll be wrong, that's still long enough time for most practical purposes.
2021-03-04 23:43:39 +0000conal_(~conal@64.71.133.70)
2021-03-04 23:44:07 +0000curiousgay(~gay@178.217.208.8)
2021-03-04 23:45:22 +0000 <heck-to-the-gnom> What's the difference between `<>` & `++`? Practically, anyway.
2021-03-04 23:45:33 +0000 <monochrom> <> is more general.
2021-03-04 23:45:34 +0000 <koz_> heck-to-the-gnom: <> is more general.
2021-03-04 23:45:37 +0000 <koz_> Ninja'd.
2021-03-04 23:45:40 +0000 <koz_> :t (<>)
2021-03-04 23:45:41 +0000 <lambdabot> Semigroup a => a -> a -> a
2021-03-04 23:45:45 +0000 <monochrom> There are pros and cons to being more general.
2021-03-04 23:45:45 +0000 <koz_> :t (++)
2021-03-04 23:45:47 +0000 <lambdabot> [a] -> [a] -> [a]
2021-03-04 23:45:56 +0000 <koz_> heck-to-the-gnom: ^ is your difference
2021-03-04 23:46:02 +0000 <shachaf> dolio: To be fair, they probably weren't that great before either.
2021-03-04 23:46:02 +0000 <monochrom> But <> came later. Much later.
2021-03-04 23:46:05 +0000f-a(~f-a@151.68.209.64)
2021-03-04 23:46:10 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 23:46:16 +0000 <shachaf> But they're certainly worse off after.
2021-03-04 23:46:54 +0000 <f-a> I am getting `Could not deduce (Foldable t0) arising from a use of ‘elem’` errors while building Cabal (git). I suspect this is due to a GHC mismatch. Mine is 8.8.3, which one should I use?
2021-03-04 23:47:24 +0000 <heck-to-the-gnom> I mean, I can see the type differences, but doesn't that just add the case for scenarios where you're not dealing with array-based types, but ones that can be conjoined? Perhaps like a queue type of some sort?
2021-03-04 23:47:40 +0000 <koz_> heck-to-the-gnom: That doesn't even gel here.
2021-03-04 23:47:44 +0000 <heck-to-the-gnom> So, support for non-list/array derived conjoables?
2021-03-04 23:47:54 +0000 <heck-to-the-gnom> conjoinables**
2021-03-04 23:47:54 +0000 <koz_> Semigroup is a mathematical concept.
2021-03-04 23:48:05 +0000 <koz_> List concatenation is one example of a semigroup operation.
2021-03-04 23:48:10 +0000Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2021-03-04 23:48:13 +0000 <koz_> There are _many, many, many_ others.
2021-03-04 23:48:18 +0000 <koz_> (<>) works (theoretically) for all of them.
2021-03-04 23:48:22 +0000 <koz_> (++) is specific to lists.
2021-03-04 23:48:26 +0000 <koz_> WHich are not arrays.
2021-03-04 23:48:40 +0000koz_sighs at argumentum ad serpentum rearing its head.
2021-03-04 23:48:43 +0000 <ByteEater> on the dependent typing and "magical" optimization capabilities in a shorter time frame though, one more thing I imagine possible is for APIs based on gdp to become more popular and then if there's a proof (produced mostly by the functions down the data dependency graph, not tediously by the programmer) of stronger properties, paths with more
2021-03-04 23:48:44 +0000 <ByteEater> optimizations become available for selection by functions like drop but gdp-aware, at compile time or runtime
2021-03-04 23:49:16 +0000 <heck-to-the-gnom> depends on which language, I suppose, in python arrays/lists are synonyms, but I'll take your word for it in regards to haskell
2021-03-04 23:49:32 +0000 <monochrom> Python is wrong. Python is poison in this regard.
2021-03-04 23:49:49 +0000 <monochrom> But you're welcome to use <> pervasively if you like it more.
2021-03-04 23:49:58 +0000kiweun(~kiweun@2607:fea8:2a62:9600:a84d:3e6e:7692:7abe)
2021-03-04 23:50:04 +0000 <monochrom> <> did not exist 20 years ago. ++ did.
2021-03-04 23:50:13 +0000 <heck-to-the-gnom> It's quick & dirty, all that it's meant to be, simple scripts, nothing else, unless, you're werd AF
2021-03-04 23:50:14 +0000 <koz_> heck-to-the-gnom: The problem is that array and list are not synonymous in literally any other context.
2021-03-04 23:50:20 +0000 <heck-to-the-gnom> weird*
2021-03-04 23:50:22 +0000 <koz_> And it basically confusing about a thousand issues.
2021-03-04 23:50:28 +0000 <koz_> And leads to writing of really awful code.
2021-03-04 23:50:48 +0000 <heck-to-the-gnom> OK, to me I've never seen another language where the distinction is made, I'll keep that in mind, however
2021-03-04 23:51:06 +0000 <koz_> It's literally 'every other language'.
2021-03-04 23:51:10 +0000 <koz_> As well as algorithm analysis.
2021-03-04 23:51:20 +0000 <koz_> Python is alone is this bizarre conflation.
2021-03-04 23:51:26 +0000 <koz_> s/is/in/
2021-03-04 23:51:28 +0000 <monochrom> I don't doubt Python's value in other regards. But it is wrong, dishonest, and poisonous on the topic of lists and arrays.
2021-03-04 23:51:48 +0000 <koz_> monochrom: It's wrong, dishonest and poisonous on a lot of other topics too, don't worry.
2021-03-04 23:51:49 +0000 <ByteEater> many languages have it the Python way, e.g. JavaScript
2021-03-04 23:51:56 +0000 <koz_> ByteEater: No they don't.
2021-03-04 23:51:59 +0000 <heck-to-the-gnom> It's always been an array as a basic type, and I've never seen a list as a type, but the words have been synonymous to me until now
2021-03-04 23:52:07 +0000 <koz_> In JavaScript, arrays have array-like behaviour and perf.
2021-03-04 23:52:08 +0000 <heck-to-the-gnom> (in my experience)
2021-03-04 23:52:19 +0000 <monochrom> It is the #1 cause of why many CS graduates can't tell the difference, cost-wise.
2021-03-04 23:52:28 +0000 <koz_> heck-to-the-gnom: If you take nothing away from here, take this: lists are never, ever, ever, arrays.
2021-03-04 23:52:34 +0000 <koz_> And anyone who tells you otherwise is a liar.
2021-03-04 23:52:48 +0000 <heck-to-the-gnom> unless, in the context of python, got it
2021-03-04 23:52:52 +0000 <koz_> s/nothing/nothing else/
2021-03-04 23:52:57 +0000 <ByteEater> well, the API is similar, you can push and pop, shift and unshift, splice, and even delete
2021-03-04 23:52:57 +0000 <koz_> Python can be wrong in its own bubble.
2021-03-04 23:53:00 +0000 <heck-to-the-gnom> nice
2021-03-04 23:53:06 +0000 <koz_> It coasts on its own popularity and hero-worship.
2021-03-04 23:53:14 +0000 <ByteEater> there are optimizations, but if an array becomes sparse, most bets are off
2021-03-04 23:53:18 +0000 <qih> koz_: Not a Python fan then? 8-) o/
2021-03-04 23:53:26 +0000 <koz_> qih: I don't violently loathe it.
2021-03-04 23:53:31 +0000 <koz_> Merely strongly disdain.
2021-03-04 23:53:38 +0000 <qih> Hahaha
2021-03-04 23:53:41 +0000 <heck-to-the-gnom> but, do tell me, what's the difference between an array & a list, you've gotten me curious
2021-03-04 23:53:55 +0000kiweun(~kiweun@2607:fea8:2a62:9600:a84d:3e6e:7692:7abe) (Ping timeout: 240 seconds)
2021-03-04 23:54:03 +0000 <qih> Good point re List v Array
2021-03-04 23:54:06 +0000 <ByteEater> there's no fundamental reason the same couldn't be done in a Python implementation, it's just that there's just one that counts more than all the others
2021-03-04 23:54:07 +0000 <koz_> heck-to-the-gnom: Arrays have O(1) random access, lists have O(n).
2021-03-04 23:54:39 +0000 <monochrom> "array" = consecutive boxes. "list" = linked list, the pointer-to-next-node one.
2021-03-04 23:54:40 +0000 <koz_> (I should have said Theta(1) and Theta(n) there)
2021-03-04 23:55:13 +0000 <dolio> If you're going to get all passionate, shouldn't you say that arrays aren't really constant time, either?
2021-03-04 23:55:27 +0000 <monochrom> They basically have opposite cost trade-offs.
2021-03-04 23:55:29 +0000 <koz_> dolio: True. But the fact is, they don't have identical random access.
2021-03-04 23:55:44 +0000 <koz_> But yeah, you are right, constant-time indexing is basically a lie in practice.
2021-03-04 23:55:51 +0000 <ByteEater> heck-to-the-gnom, sticking with <> gives you also the ability to switch, if you wish some day, from String to something more tweaked like Data.Text without changing the operator in existing code
2021-03-04 23:55:59 +0000 <heck-to-the-gnom> So, lists are more similar to queues, seeing as to get to the next one, you need to visit the previous?
2021-03-04 23:56:08 +0000 <heck-to-the-gnom> Back to the original topic: Is there any noticeable performance gain or deficit to using `<>` rather than `++`?
2021-03-04 23:56:09 +0000 <monochrom> Yes.
2021-03-04 23:56:15 +0000 <koz_> There can be.
2021-03-04 23:56:15 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Remote host closed the connection)
2021-03-04 23:56:16 +0000 <heck-to-the-gnom> Good point ByteEater.
2021-03-04 23:56:56 +0000 <koz_> heck-to-the-gnom: Have you ever done any course(s) on data structures and algorithms?
2021-03-04 23:56:57 +0000 <heck-to-the-gnom> In a very trivial use case, mind you
2021-03-04 23:56:59 +0000 <koz_> If not, I advise it.
2021-03-04 23:57:02 +0000 <koz_> It's quite enlightening.
2021-03-04 23:57:12 +0000 <heck-to-the-gnom> I'll look into it
2021-03-04 23:57:13 +0000Guest42328(~textual@mskresolve-a.mskcc.org) (Quit: Textual IRC Client: www.textualapp.com)
2021-03-04 23:57:46 +0000 <koz_> FWIW I always use <>.
2021-03-04 23:57:58 +0000heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 23:58:08 +0000 <koz_> But that's mostly because I don't use lists all that often in situations where concatenation comes up a lot.
2021-03-04 23:58:44 +0000 <heck-to-the-gnom> Man, if python uses a list under the hood instead of an array they just call a list, then I'm going to be mad at them.
2021-03-04 23:58:54 +0000 <koz_> heck-to-the-gnom: They use a dynamic array.
2021-03-04 23:59:07 +0000 <heck-to-the-gnom> ok, good
2021-03-04 23:59:13 +0000 <koz_> Which is basically an array that self-resize.
2021-03-04 23:59:19 +0000 <monochrom> On this April 1st, someone will impersonate Stroustrup and say "in retrospect, I should have named my language C<>".
2021-03-04 23:59:19 +0000 <koz_> (and does periodically do so)
2021-03-04 23:59:25 +0000 <koz_> monochrom: LOL
2021-03-04 23:59:31 +0000nbloomf(~nbloomf@2600:1700:ad14:3020:ad70:b790:2132:9c51)
2021-03-04 23:59:35 +0000 <koz_> C-append?
2021-03-04 23:59:35 +0000 <heck-to-the-gnom> HAH!
2021-03-04 23:59:42 +0000 <koz_> C-semigroup-operation?
2021-03-04 23:59:50 +0000 <monochrom> Observe the double pun.