Home freenode/#haskell: Logs Calendar

Logs on 2021-01-15 (freenode/#haskell)

00:00:00 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
00:00:20 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:03:11 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
00:03:27 × Wuzzy quits (~Wuzzy@p5790eb14.dip0.t-ipconnect.de) (*.net *.split)
00:03:27 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (*.net *.split)
00:03:27 × ericholscher quits (~ericholsc@185.163.110.126) (*.net *.split)
00:03:27 × phasespace quits (~sar@89-162-33-21.fiber.signal.no) (*.net *.split)
00:03:27 × sm2n_ quits (~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca) (*.net *.split)
00:03:27 × jmchael quits (~jmchael@87.112.235.234) (*.net *.split)
00:03:27 × cheater quits (~user@unaffiliated/cheater) (*.net *.split)
00:03:27 × jle` quits (~mstksg@unaffiliated/mstksg) (*.net *.split)
00:03:27 × proteusguy quits (~proteusgu@cm-58-10-154-202.revip7.asianet.co.th) (*.net *.split)
00:03:27 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (*.net *.split)
00:03:27 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (*.net *.split)
00:03:27 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (*.net *.split)
00:03:27 × plateau quits (~plateau@51.194.80.91) (*.net *.split)
00:03:27 × juri_ quits (~juri@178.63.35.222) (*.net *.split)
00:03:27 × tv quits (~tv@unaffiliated/tv) (*.net *.split)
00:03:27 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (*.net *.split)
00:03:27 × lep-delete quits (~lep@94.31.81.93) (*.net *.split)
00:03:27 × daGrevis quits (~daGrevis@unaffiliated/dagrevis) (*.net *.split)
00:03:27 × guest111` quits (~user@49.5.6.87) (*.net *.split)
00:03:27 × SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (*.net *.split)
00:03:27 × gentauro quits (~gentauro@unaffiliated/gentauro) (*.net *.split)
00:03:27 × Ishutin quits (~Ishutin@92-249-179-46.pool.digikabel.hu) (*.net *.split)
00:03:27 × troydm quits (~troydm@unaffiliated/troydm) (*.net *.split)
00:03:27 × datajerk quits (~datajerk@sense.net) (*.net *.split)
00:03:27 × aldum quits (~vishera@aldum.pw) (*.net *.split)
00:03:27 × sajith quits (~sajith@fsf/member/nonzen) (*.net *.split)
00:03:27 × quintasan quits (~quassel@ubuntu/member/quintasan) (*.net *.split)
00:03:27 × RusAlex quits (~Chel@unaffiliated/rusalex) (*.net *.split)
00:03:27 × dave_uy quits (~david@108.61.193.26) (*.net *.split)
00:03:27 × thecoffemaker quits (~thecoffem@unaffiliated/thecoffemaker) (*.net *.split)
00:03:27 × lordyod quits (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (*.net *.split)
00:03:27 × zfnmxt quits (~zfnmxt@unaffiliated/zfnmxt) (*.net *.split)
00:03:27 × drewolson quits (~drewolson@64.227.24.16) (*.net *.split)
00:03:27 × so quits (~so@unaffiliated/so) (*.net *.split)
00:03:27 × orhan89 quits (~orhan89@151.91.188.35.bc.googleusercontent.com) (*.net *.split)
00:03:27 × tureba quits (~tureba@tureba.org) (*.net *.split)
00:03:27 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (*.net *.split)
00:03:27 × duckonomy quits (~duckonomy@177.ip-144-217-84.net) (*.net *.split)
00:03:27 × todda7 quits (~torstein@ppp-2-84-17-53.home.otenet.gr) (*.net *.split)
00:03:27 × Profpatsch quits (~Profpatsc@static.88-198-193-255.clients.your-server.de) (*.net *.split)
00:03:27 × sdressel quits (~sdressel@pwning.de) (*.net *.split)
00:03:27 × fissureman quits (~quassel@c-73-163-84-25.hsd1.dc.comcast.net) (*.net *.split)
00:03:27 × dan64 quits (~dan64@dannyadam.com) (*.net *.split)
00:03:27 × alx741 quits (~alx741@186.178.110.154) (*.net *.split)
00:03:27 × aidecoe quits (~aidecoe@unaffiliated/aidecoe) (*.net *.split)
00:03:27 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (*.net *.split)
00:03:27 × ep1ctetus quits (~epictetus@ip184-187-162-163.sb.sd.cox.net) (*.net *.split)
00:03:27 × Rudd0 quits (~Rudd0@185.189.115.103) (*.net *.split)
00:03:27 × carlomagno1 quits (~cararell@148.87.23.10) (*.net *.split)
00:03:27 × hololeap quits (~hololeap@unaffiliated/hololeap) (*.net *.split)
00:03:27 × Foritus quits (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (*.net *.split)
00:03:27 × rotaerk quits (~rotaerk@ender.afternet.org) (*.net *.split)
00:03:27 × xerox_ quits (~xerox@unaffiliated/xerox) (*.net *.split)
00:03:27 × jmsx_ quits (~jordan@li1158-85.members.linode.com) (*.net *.split)
00:03:27 × Athas quits (athas@sigkill.dk) (*.net *.split)
00:03:27 × MrMobius quits (~MrMobius@208.58.206.154) (*.net *.split)
00:03:27 × tomku quits (~tomku@unaffiliated/tomku) (*.net *.split)
00:03:27 × phaul quits (~phaul@ruby/staff/phaul) (*.net *.split)
00:03:27 × pounce quits (~pounce@ns379743.ip-5-196-70.eu) (*.net *.split)
00:03:27 × andrew_znc quits (~andrew@andrewyu.org) (*.net *.split)
00:03:27 × RecursiveG quits (~recursive@li810-210.members.linode.com) (*.net *.split)
00:03:27 × Kaiepi quits (~Kaiepi@47.54.252.148) (*.net *.split)
00:03:27 × cyphase quits (~cyphase@unaffiliated/cyphase) (*.net *.split)
00:03:27 × nitrix quits (~nitrix@haskell/developer/nitrix) (*.net *.split)
00:03:27 × haritz quits (~hrtz@unaffiliated/haritz) (*.net *.split)
00:03:27 × Mzg quits (Mzg@s1.ct8.pl) (*.net *.split)
00:03:27 × xwvvvvwx quits (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (*.net *.split)
00:03:27 × hive-mind quits (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) (*.net *.split)
00:03:27 × Chobbes quits (~Chobbes@unaffiliated/chobbes) (*.net *.split)
00:03:27 × amiri quits (~amiri@cpe-76-91-154-9.socal.res.rr.com) (*.net *.split)
00:03:27 × petersen quits (~petersen@redhat/juhp) (*.net *.split)
00:03:27 × BIG_JIMMY_D quits (~jim@108.61.185.76) (*.net *.split)
00:03:27 × cohn quits (~noone@unaffiliated/cohn) (*.net *.split)
00:03:27 × dlam quits (~dlam@dlam.me) (*.net *.split)
00:03:27 × seanparsons quits (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (*.net *.split)
00:03:27 × incertia quits (~incertia@d4-50-26-103.nap.wideopenwest.com) (*.net *.split)
00:03:27 × gawen quits (~gawen@movzbl.root.sx) (*.net *.split)
00:03:27 × rembo10 quits (~rembo10@wally.codeshy.com) (*.net *.split)
00:03:27 × centril quits (~centril@213-66-146-92-no250.tbcn.telia.com) (*.net *.split)
00:03:27 × texasmynsted quits (~texasmyns@99.96.221.112) (*.net *.split)
00:03:27 × ps-auxw quits (~arneb@p548c6e54.dip0.t-ipconnect.de) (*.net *.split)
00:03:27 × nrdmn9 quits (~nrdmn@95.129.53.118) (*.net *.split)
00:03:27 × tasuki quits (~tasuki@198.211.120.27) (*.net *.split)
00:03:27 × bcmiller quits (~bm3719@66.42.95.185) (*.net *.split)
00:03:27 × afx237_ quits (~afx237@107.170.10.178) (*.net *.split)
00:03:27 × zyeri quits (zyeri@tilde.team/users/zyeri) (*.net *.split)
00:03:27 × nek0 quits (~nek0@mail.nek0.eu) (*.net *.split)
00:03:27 × lnx quits (~irssi@167.71.7.27) (*.net *.split)
00:03:27 × joel135 quits (sid136450@gateway/web/irccloud.com/x-vyyhxnmonposoqmu) (*.net *.split)
00:03:27 × xff0x quits (~xff0x@2001:1a81:528c:9f00:3c4e:11e3:52e1:1997) (*.net *.split)
00:03:27 × berberman quits (~berberman@unaffiliated/berberman) (*.net *.split)
00:03:27 × howdoi quits (uid224@gateway/web/irccloud.com/x-ikuobcyybrkdaaee) (*.net *.split)
00:03:27 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (*.net *.split)
00:03:27 × Alleria_ quits (~AllahuAkb@2603-7000-3040-0000-21c5-c900-9e1d-bf71.res6.spectrum.com) (*.net *.split)
00:03:27 × fiQ2 quits (~fiQ@mirkk.ninja) (*.net *.split)
00:03:27 × yorick quits (~yorick@oftn/oswg-member/yorick) (*.net *.split)
00:03:27 × echoreply quits (~echoreply@unaffiliated/echoreply) (*.net *.split)
00:03:27 × kini quits (~kini@unaffiliated/kini) (*.net *.split)
00:03:27 × tabemann quits (~travisb@2600:1700:7990:24e0:46fa:9bf1:e3c9:a6a) (*.net *.split)
00:03:27 × whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
00:03:27 × Orbstheorem quits (~roosember@hellendaal.orbstheorem.ch) (*.net *.split)
00:03:27 × sphalerite quits (~sphalerit@NixOS/user/lheckemann) (*.net *.split)
00:03:27 × hsiktas[m] quits (hsiktasmat@gateway/shell/matrix.org/x-ghuclucmencaeidc) (*.net *.split)
00:03:28 × dh quits (dh@bsd.ee) (*.net *.split)
00:03:28 × recon_-_ quits (~quassel@2602:febc:0:b6::6ca2) (*.net *.split)
00:03:28 × elvishjerricco quits (sid237756@NixOS/user/ElvishJerricco) (*.net *.split)
00:03:28 × orcus- quits (~orcus@unaffiliated/orcus) (*.net *.split)
00:03:28 × pierrot quits (~pi@unaffiliated/pierrot) (*.net *.split)
00:03:28 × dequbed quits (~dequbed@2001:bc8:3f24:100::1) (*.net *.split)
00:03:28 × gOOgler quits (uid125351@gateway/web/irccloud.com/x-jdvndeteehxffire) (*.net *.split)
00:03:28 × dwt quits (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (*.net *.split)
00:03:28 × noCheese quits (~nocheese@unaffiliated/nocheese) (*.net *.split)
00:03:28 × bandali quits (bandali@fsf/emeritus/bandali) (*.net *.split)
00:03:28 × dani- quits (sid341953@gateway/web/irccloud.com/x-ntpllqrkvsgxojfo) (*.net *.split)
00:03:28 × Kamuela quits (sid111576@gateway/web/irccloud.com/x-sygmzwyrzcdkakla) (*.net *.split)
00:03:28 × parseval quits (sid239098@gateway/web/irccloud.com/x-xrspdpklffjsbdan) (*.net *.split)
00:03:28 × liszt quits (sid336875@gateway/web/irccloud.com/x-vjevhjtgitwwbjkb) (*.net *.split)
00:03:28 × stass quits (~stas@2a00:13c0:63:7195::beef) (*.net *.split)
00:03:28 × ibloom quits (sid350277@gateway/web/irccloud.com/x-qvdyimokdwsnoffs) (*.net *.split)
00:03:28 × noan quits (~noan@2604:a880:400:d0::12fc:5001) (*.net *.split)
00:03:28 × Klumben quits (Nsaiswatch@gateway/shell/panicbnc/x-fomxhgfovyvqanep) (*.net *.split)
00:03:28 × xacktm quits (xacktm@gateway/shell/panicbnc/x-jvtlirfmskjbwohd) (*.net *.split)
00:03:28 × JSharp quits (sid4580@wikia/JSharp) (*.net *.split)
00:03:28 × mankyKitty quits (sid31287@gateway/web/irccloud.com/x-sisdzlgwpycrovxr) (*.net *.split)
00:03:28 × whez quits (sid470288@gateway/web/irccloud.com/x-bovdnbstucgyrclj) (*.net *.split)
00:03:28 × adamse quits (sid72084@gateway/web/irccloud.com/x-ntgmpqkvdscewbqi) (*.net *.split)
00:03:28 × twk- quits (~thewormki@unaffiliated/twk-) (*.net *.split)
00:03:28 × enemeth79 quits (sid309041@gateway/web/irccloud.com/x-lvirpivflnhgtbsh) (*.net *.split)
00:03:28 × ajmcmiddlin quits (sid284402@gateway/web/irccloud.com/x-cjcxesxeodrcvgsk) (*.net *.split)
00:03:28 × chessai quits (sid225296@gateway/web/irccloud.com/x-yhjyupxhhvdvkdtd) (*.net *.split)
00:03:28 × phaazon quits (~phaazon@2001:41d0:a:fe76::1) (*.net *.split)
00:03:28 × stylewarning quits (stylewarni@gateway/web/irccloud.com/x-qyrbdxfrgqvtmbve) (*.net *.split)
00:03:28 × pja quits (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) (*.net *.split)
00:03:28 × ephemient quits (uid407513@gateway/web/irccloud.com/x-niqthzebbrwzruhe) (*.net *.split)
00:03:28 × iphy quits (sid67735@gateway/web/irccloud.com/x-mauksswncovsmglx) (*.net *.split)
00:03:28 × copypasteque quits (~copypaste@2001:41d0:8:b325::1) (*.net *.split)
00:03:28 × ProofTechnique quits (sid79547@gateway/web/irccloud.com/x-svkesokyijyfonih) (*.net *.split)
00:03:28 × runeks quits (sid21167@gateway/web/irccloud.com/x-ryjozvleeapnxzus) (*.net *.split)
00:03:28 × alexknvl quits (sid259568@gateway/web/irccloud.com/x-jnvjyffojwxkuwuh) (*.net *.split)
00:03:28 × trevorriles quits (sid469656@gateway/web/irccloud.com/x-cfgejkqvovtgjbpt) (*.net *.split)
00:03:28 × sveit quits (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) (*.net *.split)
00:03:28 × newhoggy quits (sid198874@gateway/web/irccloud.com/x-qhmnnfjnjtcmfiay) (*.net *.split)
00:03:28 × idnar quits (sid12240@gateway/web/irccloud.com/x-nahgmbtmyvioqrjv) (*.net *.split)
00:03:28 × scav quits (sid309693@gateway/web/irccloud.com/x-jqpiftkzlvsswiha) (*.net *.split)
00:03:28 × absence quits (IfjEGObaTi@hildring.pvv.ntnu.no) (*.net *.split)
00:03:28 × entel quits (uid256215@botters/entel) (*.net *.split)
00:03:28 × angerman quits (sid209936@gateway/web/irccloud.com/x-mlhkemfvngmbvuol) (*.net *.split)
00:03:28 × alunduil quits (alunduil@gateway/web/irccloud.com/x-uvppjsitsccsdxlk) (*.net *.split)
00:03:28 × drbrule quits (sid395654@gateway/web/irccloud.com/x-vjqqnrysmaxqrzkw) (*.net *.split)
00:03:28 × carter quits (sid14827@gateway/web/irccloud.com/x-ibvrelberchglxhy) (*.net *.split)
00:03:28 × koankeeper quits (sid216950@gateway/web/irccloud.com/x-hjizfwywoqrskybo) (*.net *.split)
00:03:28 × wildsebastian quits (sid324688@gateway/web/irccloud.com/x-ectvsfeiiygtpxsd) (*.net *.split)
00:03:28 × edmundnoble quits (sid229620@gateway/web/irccloud.com/x-ehmqsocqyidpgjbk) (*.net *.split)
00:03:28 × nlofaro quits (sid258233@gateway/web/irccloud.com/x-euteclalytxdvjpl) (*.net *.split)
00:03:28 × ^[ quits (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep) (*.net *.split)
00:03:28 × FMJz____ quits (sid279245@gateway/web/irccloud.com/x-obdwznzoluazipat) (*.net *.split)
00:03:28 × sclv quits (sid39734@haskell/developer/sclv) (*.net *.split)
00:03:28 × NemesisD quits (sid24071@gateway/web/irccloud.com/x-djyvkklsuqfzcevy) (*.net *.split)
00:03:28 × rizary quits (sid220347@gateway/web/irccloud.com/x-kpnwyrewkhnqnyhk) (*.net *.split)
00:03:28 × jetpack_joe quits (sid146137@gateway/web/irccloud.com/x-vmgmkyseyzxdizaw) (*.net *.split)
00:03:28 × pasukon quits (sid49097@gateway/web/irccloud.com/x-naqadmmjejtzyxsk) (*.net *.split)
00:03:28 × dexterfoo quits (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (*.net *.split)
00:03:28 × tomferon[m] quits (tomferonmo@gateway/shell/matrix.org/x-noglbyofnphhclbb) (*.net *.split)
00:03:28 × jamesfielder[m] quits (jamesfield@gateway/shell/matrix.org/x-hodgerwioachkctf) (*.net *.split)
00:03:28 × ViCi quits (daniel@10PLM.ro) (*.net *.split)
00:03:28 × srid quits (sridmatrix@gateway/shell/matrix.org/x-kurgtyubfeavcpuk) (*.net *.split)
00:03:28 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-ompxpchgmuwlofwe) (*.net *.split)
00:03:28 × rab24ack[m] quits (rab24ackma@gateway/shell/matrix.org/x-iypkxumuyyhmektk) (*.net *.split)
00:03:28 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-psbwjgmwhnbfxpvd) (*.net *.split)
00:03:28 × ThaEwat quits (thaewraptm@gateway/shell/matrix.org/x-zzghdaahzrfpgpjd) (*.net *.split)
00:03:28 × polux200137 quits (~polux@51.15.169.172) (*.net *.split)
00:03:28 × operand quits (~operand@is.altijd.moe) (*.net *.split)
00:03:28 × jbetz quits (sid283648@gateway/web/irccloud.com/x-mtknylhkbpwnovev) (*.net *.split)
00:03:28 × metadave quits (sid28102@gateway/web/irccloud.com/x-ifeexfgbnrtdfxvo) (*.net *.split)
00:03:28 × bulters quits (uid408399@gateway/web/irccloud.com/x-wpbfictwjpuyhkie) (*.net *.split)
00:03:28 × bsima quits (~bsima@simatime.com) (*.net *.split)
00:03:28 × isacl___ quits (uid13263@gateway/web/irccloud.com/x-zatkgdiubqivrbyl) (*.net *.split)
00:03:28 × yushyin quits (bSs9syBAug@karif.server-speed.net) (*.net *.split)
00:03:28 × fl0_id quits (~fl0_id@2a01:4f8:171:4de::40:2) (*.net *.split)
00:03:36 conal joins (~conal@89.187.164.95)
00:03:49 × tessier quits (~treed@kernel-panic/copilotco) (Ping timeout: 260 seconds)
00:04:21 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
00:04:28 × systemfault quits (sid267009@gateway/web/irccloud.com/x-doohdrkwzcmqbspf) (Ping timeout: 272 seconds)
00:04:32 Codaraxis joins (~Codaraxis@91.193.4.10)
00:04:50 tabemann joins (~travisb@2600:1700:7990:24e0:9229:ae6e:bc97:9587)
00:04:59 pounce joins (~pounce@ns379743.ip-5-196-70.eu)
00:05:06 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
00:05:21 tessier joins (~treed@98.171.210.130)
00:05:21 × tessier quits (~treed@98.171.210.130) (Changing host)
00:05:21 tessier joins (~treed@kernel-panic/copilotco)
00:05:23 RusAlex joins (~Chel@unaffiliated/rusalex)
00:05:48 joel135 joins (sid136450@gateway/web/irccloud.com/x-vyyhxnmonposoqmu)
00:05:48 xff0x joins (~xff0x@2001:1a81:528c:9f00:3c4e:11e3:52e1:1997)
00:05:48 berberman joins (~berberman@unaffiliated/berberman)
00:05:48 howdoi joins (uid224@gateway/web/irccloud.com/x-ikuobcyybrkdaaee)
00:05:48 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
00:05:48 Alleria_ joins (~AllahuAkb@2603-7000-3040-0000-21c5-c900-9e1d-bf71.res6.spectrum.com)
00:05:48 fiQ2 joins (~fiQ@mirkk.ninja)
00:05:48 yorick joins (~yorick@oftn/oswg-member/yorick)
00:05:48 echoreply joins (~echoreply@unaffiliated/echoreply)
00:05:48 kini joins (~kini@unaffiliated/kini)
00:05:48 whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:05:48 Orbstheorem joins (~roosember@hellendaal.orbstheorem.ch)
00:05:48 sphalerite joins (~sphalerit@NixOS/user/lheckemann)
00:05:48 dh joins (dh@bsd.ee)
00:05:48 recon_-_ joins (~quassel@2602:febc:0:b6::6ca2)
00:05:48 elvishjerricco joins (sid237756@NixOS/user/ElvishJerricco)
00:05:48 orcus- joins (~orcus@unaffiliated/orcus)
00:05:48 pierrot joins (~pi@unaffiliated/pierrot)
00:05:48 dequbed joins (~dequbed@2001:bc8:3f24:100::1)
00:05:48 gOOgler joins (uid125351@gateway/web/irccloud.com/x-jdvndeteehxffire)
00:05:48 dwt joins (~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
00:05:48 noCheese joins (~nocheese@unaffiliated/nocheese)
00:05:48 bandali joins (bandali@fsf/emeritus/bandali)
00:05:48 dani- joins (sid341953@gateway/web/irccloud.com/x-ntpllqrkvsgxojfo)
00:05:48 Kamuela joins (sid111576@gateway/web/irccloud.com/x-sygmzwyrzcdkakla)
00:05:48 parseval joins (sid239098@gateway/web/irccloud.com/x-xrspdpklffjsbdan)
00:05:48 liszt joins (sid336875@gateway/web/irccloud.com/x-vjevhjtgitwwbjkb)
00:05:48 stass joins (~stas@2a00:13c0:63:7195::beef)
00:05:48 ibloom joins (sid350277@gateway/web/irccloud.com/x-qvdyimokdwsnoffs)
00:05:48 noan joins (~noan@2604:a880:400:d0::12fc:5001)
00:05:48 Klumben joins (Nsaiswatch@gateway/shell/panicbnc/x-fomxhgfovyvqanep)
00:05:48 xacktm joins (xacktm@gateway/shell/panicbnc/x-jvtlirfmskjbwohd)
00:05:48 JSharp joins (sid4580@wikia/JSharp)
00:05:48 mankyKitty joins (sid31287@gateway/web/irccloud.com/x-sisdzlgwpycrovxr)
00:05:48 whez joins (sid470288@gateway/web/irccloud.com/x-bovdnbstucgyrclj)
00:05:48 adamse joins (sid72084@gateway/web/irccloud.com/x-ntgmpqkvdscewbqi)
00:05:48 twk- joins (~thewormki@unaffiliated/twk-)
00:05:48 enemeth79 joins (sid309041@gateway/web/irccloud.com/x-lvirpivflnhgtbsh)
00:05:48 ajmcmiddlin joins (sid284402@gateway/web/irccloud.com/x-cjcxesxeodrcvgsk)
00:05:48 chessai joins (sid225296@gateway/web/irccloud.com/x-yhjyupxhhvdvkdtd)
00:05:48 phaazon joins (~phaazon@2001:41d0:a:fe76::1)
00:05:48 stylewarning joins (stylewarni@gateway/web/irccloud.com/x-qyrbdxfrgqvtmbve)
00:05:48 pja joins (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9)
00:05:48 ephemient joins (uid407513@gateway/web/irccloud.com/x-niqthzebbrwzruhe)
00:05:48 iphy joins (sid67735@gateway/web/irccloud.com/x-mauksswncovsmglx)
00:05:48 copypasteque joins (~copypaste@2001:41d0:8:b325::1)
00:05:48 ProofTechnique joins (sid79547@gateway/web/irccloud.com/x-svkesokyijyfonih)
00:05:48 runeks joins (sid21167@gateway/web/irccloud.com/x-ryjozvleeapnxzus)
00:05:48 alexknvl joins (sid259568@gateway/web/irccloud.com/x-jnvjyffojwxkuwuh)
00:05:48 trevorriles joins (sid469656@gateway/web/irccloud.com/x-cfgejkqvovtgjbpt)
00:05:48 sveit joins (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f)
00:05:48 newhoggy joins (sid198874@gateway/web/irccloud.com/x-qhmnnfjnjtcmfiay)
00:05:48 idnar joins (sid12240@gateway/web/irccloud.com/x-nahgmbtmyvioqrjv)
00:05:48 scav joins (sid309693@gateway/web/irccloud.com/x-jqpiftkzlvsswiha)
00:05:48 absence joins (IfjEGObaTi@hildring.pvv.ntnu.no)
00:05:48 entel joins (uid256215@botters/entel)
00:05:48 angerman joins (sid209936@gateway/web/irccloud.com/x-mlhkemfvngmbvuol)
00:05:48 alunduil joins (alunduil@gateway/web/irccloud.com/x-uvppjsitsccsdxlk)
00:05:48 drbrule joins (sid395654@gateway/web/irccloud.com/x-vjqqnrysmaxqrzkw)
00:05:48 carter joins (sid14827@gateway/web/irccloud.com/x-ibvrelberchglxhy)
00:05:48 koankeeper joins (sid216950@gateway/web/irccloud.com/x-hjizfwywoqrskybo)
00:05:48 ^[ joins (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep)
00:05:48 wildsebastian joins (sid324688@gateway/web/irccloud.com/x-ectvsfeiiygtpxsd)
00:05:48 nlofaro joins (sid258233@gateway/web/irccloud.com/x-euteclalytxdvjpl)
00:05:48 edmundnoble joins (sid229620@gateway/web/irccloud.com/x-ehmqsocqyidpgjbk)
00:05:48 sclv joins (sid39734@haskell/developer/sclv)
00:05:48 FMJz____ joins (sid279245@gateway/web/irccloud.com/x-obdwznzoluazipat)
00:05:48 rizary joins (sid220347@gateway/web/irccloud.com/x-kpnwyrewkhnqnyhk)
00:05:48 jetpack_joe joins (sid146137@gateway/web/irccloud.com/x-vmgmkyseyzxdizaw)
00:05:48 NemesisD joins (sid24071@gateway/web/irccloud.com/x-djyvkklsuqfzcevy)
00:05:48 pasukon joins (sid49097@gateway/web/irccloud.com/x-naqadmmjejtzyxsk)
00:05:48 dexterfoo joins (dexter@2a01:7e00::f03c:91ff:fe86:59ec)
00:05:50 tomferon[m] joins (tomferonmo@gateway/shell/matrix.org/x-noglbyofnphhclbb)
00:05:50 jamesfielder[m] joins (jamesfield@gateway/shell/matrix.org/x-hodgerwioachkctf)
00:05:50 ViCi joins (daniel@10PLM.ro)
00:05:50 rab24ack[m] joins (rab24ackma@gateway/shell/matrix.org/x-iypkxumuyyhmektk)
00:05:50 srid joins (sridmatrix@gateway/shell/matrix.org/x-kurgtyubfeavcpuk)
00:05:50 siraben joins (sirabenmat@gateway/shell/matrix.org/x-ompxpchgmuwlofwe)
00:05:50 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-psbwjgmwhnbfxpvd)
00:05:50 polux200137 joins (~polux@51.15.169.172)
00:05:50 operand joins (~operand@is.altijd.moe)
00:05:50 jbetz joins (sid283648@gateway/web/irccloud.com/x-mtknylhkbpwnovev)
00:05:50 metadave joins (sid28102@gateway/web/irccloud.com/x-ifeexfgbnrtdfxvo)
00:05:50 bulters joins (uid408399@gateway/web/irccloud.com/x-wpbfictwjpuyhkie)
00:05:50 bsima joins (~bsima@simatime.com)
00:05:50 isacl___ joins (uid13263@gateway/web/irccloud.com/x-zatkgdiubqivrbyl)
00:05:50 yushyin joins (bSs9syBAug@karif.server-speed.net)
00:05:50 fl0_id joins (~fl0_id@2a01:4f8:171:4de::40:2)
00:06:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
00:06:02 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
00:06:40 Wuzzy joins (~Wuzzy@p5790eb14.dip0.t-ipconnect.de)
00:06:40 ericholscher joins (~ericholsc@185.163.110.126)
00:06:40 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
00:06:40 alx741 joins (~alx741@186.178.110.154)
00:06:40 aidecoe joins (~aidecoe@unaffiliated/aidecoe)
00:06:40 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
00:06:40 ep1ctetus joins (~epictetus@ip184-187-162-163.sb.sd.cox.net)
00:06:40 phasespace joins (~sar@89-162-33-21.fiber.signal.no)
00:06:40 sm2n_ joins (~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca)
00:06:40 Rudd0 joins (~Rudd0@185.189.115.103)
00:06:40 carlomagno1 joins (~cararell@148.87.23.10)
00:06:40 jmchael joins (~jmchael@87.112.235.234)
00:06:40 cheater joins (~user@unaffiliated/cheater)
00:06:40 hololeap joins (~hololeap@unaffiliated/hololeap)
00:06:40 Foritus joins (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
00:06:40 jle` joins (~mstksg@unaffiliated/mstksg)
00:06:40 rotaerk joins (~rotaerk@ender.afternet.org)
00:06:40 proteusguy joins (~proteusgu@cm-58-10-154-202.revip7.asianet.co.th)
00:06:40 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
00:06:40 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
00:06:40 xerox_ joins (~xerox@unaffiliated/xerox)
00:06:40 jmsx_ joins (~jordan@li1158-85.members.linode.com)
00:06:40 Athas joins (athas@sigkill.dk)
00:06:40 MrMobius joins (~MrMobius@208.58.206.154)
00:06:40 tomku joins (~tomku@unaffiliated/tomku)
00:06:40 phaul joins (~phaul@ruby/staff/phaul)
00:06:40 andrew_znc joins (~andrew@andrewyu.org)
00:06:40 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
00:06:40 plateau joins (~plateau@51.194.80.91)
00:06:40 RecursiveG joins (~recursive@li810-210.members.linode.com)
00:06:40 Kaiepi joins (~Kaiepi@47.54.252.148)
00:06:40 cyphase joins (~cyphase@unaffiliated/cyphase)
00:06:40 juri_ joins (~juri@178.63.35.222)
00:06:40 tv joins (~tv@unaffiliated/tv)
00:06:40 is_null joins (~jpic@pdpc/supporter/professional/is-null)
00:06:40 nitrix joins (~nitrix@haskell/developer/nitrix)
00:06:40 lep-delete joins (~lep@94.31.81.93)
00:06:40 daGrevis joins (~daGrevis@unaffiliated/dagrevis)
00:06:40 guest111` joins (~user@49.5.6.87)
00:06:40 haritz joins (~hrtz@unaffiliated/haritz)
00:06:40 SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net)
00:06:40 Mzg joins (Mzg@s1.ct8.pl)
00:06:40 xwvvvvwx joins (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
00:06:40 hive-mind joins (~hivemind@rrcs-67-53-148-69.west.biz.rr.com)
00:06:40 gentauro joins (~gentauro@unaffiliated/gentauro)
00:06:40 Chobbes joins (~Chobbes@unaffiliated/chobbes)
00:06:40 Profpatsch joins (~Profpatsc@static.88-198-193-255.clients.your-server.de)
00:06:40 Ishutin joins (~Ishutin@92-249-179-46.pool.digikabel.hu)
00:06:40 amiri joins (~amiri@cpe-76-91-154-9.socal.res.rr.com)
00:06:40 dlam joins (~dlam@dlam.me)
00:06:40 petersen joins (~petersen@redhat/juhp)
00:06:40 BIG_JIMMY_D joins (~jim@108.61.185.76)
00:06:40 cohn joins (~noone@unaffiliated/cohn)
00:06:40 troydm joins (~troydm@unaffiliated/troydm)
00:06:40 seanparsons joins (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
00:06:40 datajerk joins (~datajerk@sense.net)
00:06:40 aldum joins (~vishera@aldum.pw)
00:06:40 incertia joins (~incertia@d4-50-26-103.nap.wideopenwest.com)
00:06:40 gawen joins (~gawen@movzbl.root.sx)
00:06:40 sajith joins (~sajith@fsf/member/nonzen)
00:06:40 quintasan joins (~quassel@ubuntu/member/quintasan)
00:06:40 rembo10 joins (~rembo10@wally.codeshy.com)
00:06:40 centril joins (~centril@213-66-146-92-no250.tbcn.telia.com)
00:06:40 afx237_ joins (~afx237@107.170.10.178)
00:06:40 dave_uy joins (~david@108.61.193.26)
00:06:40 texasmynsted joins (~texasmyns@99.96.221.112)
00:06:40 thecoffemaker joins (~thecoffem@unaffiliated/thecoffemaker)
00:06:40 lordyod joins (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net)
00:06:40 ps-auxw joins (~arneb@p548c6e54.dip0.t-ipconnect.de)
00:06:40 zfnmxt joins (~zfnmxt@unaffiliated/zfnmxt)
00:06:40 nrdmn9 joins (~nrdmn@95.129.53.118)
00:06:40 drewolson joins (~drewolson@64.227.24.16)
00:06:40 tasuki joins (~tasuki@198.211.120.27)
00:06:40 so joins (~so@unaffiliated/so)
00:06:40 bcmiller joins (~bm3719@66.42.95.185)
00:06:40 orhan89 joins (~orhan89@151.91.188.35.bc.googleusercontent.com)
00:06:40 tureba joins (~tureba@tureba.org)
00:06:40 nshepperd2 joins (~nshepperd@li364-218.members.linode.com)
00:06:40 duckonomy joins (~duckonomy@177.ip-144-217-84.net)
00:06:40 todda7 joins (~torstein@ppp-2-84-17-53.home.otenet.gr)
00:06:40 zyeri joins (zyeri@tilde.team/users/zyeri)
00:06:40 sdressel joins (~sdressel@pwning.de)
00:06:40 nek0 joins (~nek0@mail.nek0.eu)
00:06:40 fissureman joins (~quassel@c-73-163-84-25.hsd1.dc.comcast.net)
00:06:40 dan64 joins (~dan64@dannyadam.com)
00:06:40 lnx joins (~irssi@167.71.7.27)
00:06:48 × pedrorubster[m] quits (pedrorubst@gateway/shell/matrix.org/x-vlkedizifqmvzfxx) (Ping timeout: 246 seconds)
00:06:48 × VarikValefor[m] quits (varikvalef@gateway/shell/matrix.org/x-vnnpwgfssdqwbqfu) (Ping timeout: 246 seconds)
00:06:48 × sajith[m] quits (sajithmatr@gateway/shell/matrix.org/x-xzxvlmzgkorbwysi) (Ping timeout: 246 seconds)
00:06:48 × shutendoji[m] quits (shutendoji@gateway/shell/matrix.org/x-xkkwzcxdpnysvaec) (Ping timeout: 244 seconds)
00:06:49 × majjoha quits (majjohamat@gateway/shell/matrix.org/x-jifgtzsbvkjppkpw) (Ping timeout: 244 seconds)
00:06:49 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-qvbwsusysmmnlxwa) (Ping timeout: 244 seconds)
00:06:49 × unclechu quits (unclechuma@gateway/shell/matrix.org/x-hiknotexkoisqxxl) (Ping timeout: 244 seconds)
00:07:05 × jamesfielder[m] quits (jamesfield@gateway/shell/matrix.org/x-hodgerwioachkctf) (Ping timeout: 240 seconds)
00:07:09 × Lurkki[m]1 quits (lurkkipriv@gateway/shell/matrix.org/x-nywvecrjcupkppty) (Ping timeout: 246 seconds)
00:07:09 × doct0rhu[m] quits (doct0rhumo@gateway/shell/matrix.org/x-xqcgpfxdrrdasugy) (Ping timeout: 246 seconds)
00:07:10 × Hatsue[m] quits (berbermanm@gateway/shell/matrix.org/x-uluzliuxxqhqsyle) (Ping timeout: 246 seconds)
00:07:10 × metamod[m] quits (metamodmat@gateway/shell/matrix.org/x-qkyweymrjkgyfpfo) (Ping timeout: 246 seconds)
00:07:10 × psydruid quits (psydruidma@gateway/shell/matrix.org/x-sjzobmayhhdrnyrp) (Ping timeout: 246 seconds)
00:07:13 aplainze1akind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
00:07:15 × falling-edge[m] quits (falling-ed@gateway/shell/matrix.org/x-pckulybifhkfiaod) (Ping timeout: 258 seconds)
00:07:15 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-jkwgveuwpobvzxsf) (Ping timeout: 258 seconds)
00:07:19 × alvinsj[m] quits (alvinsjmat@gateway/shell/matrix.org/x-aiymaqlzfwokexyh) (Ping timeout: 244 seconds)
00:07:19 × freeman42x[m] quits (freeman42x@gateway/shell/matrix.org/x-tgneiyxcgqrblnuy) (Ping timeout: 244 seconds)
00:07:20 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-erpehckoekyivhyz) (Ping timeout: 244 seconds)
00:07:20 × lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-zcpsgkhlxjrtufan) (Ping timeout: 244 seconds)
00:07:20 × Ericson2314 quits (ericson231@gateway/shell/matrix.org/x-eycjxzyzybmehehh) (Ping timeout: 244 seconds)
00:07:21 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Remote host closed the connection)
00:07:21 × howdoi quits (uid224@gateway/web/irccloud.com/x-ikuobcyybrkdaaee) (Ping timeout: 272 seconds)
00:07:21 × elvishjerricco quits (sid237756@NixOS/user/ElvishJerricco) (Ping timeout: 272 seconds)
00:07:21 × entel quits (uid256215@botters/entel) (Ping timeout: 272 seconds)
00:07:21 × rizary quits (sid220347@gateway/web/irccloud.com/x-kpnwyrewkhnqnyhk) (Ping timeout: 272 seconds)
00:07:21 × jetpack_joe quits (sid146137@gateway/web/irccloud.com/x-vmgmkyseyzxdizaw) (Ping timeout: 272 seconds)
00:07:21 aplainze1akind is now known as aplainzetakind
00:07:22 jmsx joins (~jordan@li1158-85.members.linode.com)
00:07:25 × srid quits (sridmatrix@gateway/shell/matrix.org/x-kurgtyubfeavcpuk) (Ping timeout: 240 seconds)
00:07:26 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-ompxpchgmuwlofwe) (Ping timeout: 240 seconds)
00:07:26 × rab24ack[m] quits (rab24ackma@gateway/shell/matrix.org/x-iypkxumuyyhmektk) (Ping timeout: 240 seconds)
00:07:26 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-psbwjgmwhnbfxpvd) (Ping timeout: 240 seconds)
00:07:30 × maralorn quits (maralornma@gateway/shell/matrix.org/x-kxmvzacxixldobru) (Ping timeout: 246 seconds)
00:07:30 × MrMuffles[m] quits (mrmufflesm@gateway/shell/matrix.org/x-ocqxcgfxuorbepel) (Ping timeout: 246 seconds)
00:07:30 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-dntagevwjtsssopc) (Ping timeout: 246 seconds)
00:07:30 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-ppnwgolzqhsbjxqk) (Ping timeout: 246 seconds)
00:07:30 × Wraul[m] quits (wraulmatri@gateway/shell/matrix.org/x-ocrsiypemiiqameo) (Ping timeout: 246 seconds)
00:07:30 × Lurkki[m] quits (lurkkifene@gateway/shell/matrix.org/x-tqwpdpxocqfxaqic) (Ping timeout: 246 seconds)
00:07:30 × jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-bqcuakapvvkhqvyh) (Ping timeout: 246 seconds)
00:07:31 × AmitLevy[m] quits (amitmostly@gateway/shell/matrix.org/x-baxosktqaxjrlryv) (Ping timeout: 272 seconds)
00:07:35 × jmsx_ quits (~jordan@li1158-85.members.linode.com) (Ping timeout: 246 seconds)
00:07:35 × lordyod quits (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (Max SendQ exceeded)
00:07:37 × svc0[m] quits (svc0matrix@gateway/shell/matrix.org/x-cgayodjircveqtkr) (Ping timeout: 268 seconds)
00:07:37 × pythag76[m] quits (pythag76ma@gateway/shell/matrix.org/x-uokvpcmzafuiszqm) (Ping timeout: 260 seconds)
00:07:37 × peterstorm[m] quits (peterstorm@gateway/shell/matrix.org/x-hslfrrbtahiybhio) (Ping timeout: 260 seconds)
00:07:37 × bitonic quits (bitonicmat@gateway/shell/matrix.org/x-dbuvsguzqiivdtvd) (Ping timeout: 258 seconds)
00:07:37 × cnmne[m] quits (cnmnematri@gateway/shell/matrix.org/x-sjfvuxbdraxbtjzp) (Ping timeout: 268 seconds)
00:07:37 × floatingpoint[m] quits (floating5@gateway/shell/matrix.org/x-cjdgttiluqrdsali) (Ping timeout: 260 seconds)
00:07:37 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-ygixxwauoonufenh) (Ping timeout: 258 seconds)
00:07:37 × Poscat[m] quits (poscatmatr@gateway/shell/matrix.org/x-vcoicgxvllexrrii) (Ping timeout: 268 seconds)
00:07:37 × bsima[m] quits (bensimatim@gateway/shell/matrix.org/x-ktajiadhtjvptkuy) (Ping timeout: 268 seconds)
00:07:37 × fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-ilhbhnqcmreoygeu) (Ping timeout: 268 seconds)
00:07:37 × boistordu quits (boistordum@gateway/shell/matrix.org/x-uxzyryrlcsuoeixd) (Ping timeout: 258 seconds)
00:07:38 × psamim quits (samimpmatr@gateway/shell/matrix.org/x-zcokmttvseaiorus) (Ping timeout: 260 seconds)
00:07:38 × domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Ping timeout: 260 seconds)
00:07:50 × Noughtmare[m] quits (naughtmare@gateway/shell/matrix.org/x-elhpevndlmaavbwt) (Ping timeout: 244 seconds)
00:07:51 × berberman[T] quits (berberma4@gateway/shell/matrix.org/x-ydntbnxvrquqngkp) (Ping timeout: 244 seconds)
00:07:51 × lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-qnuenoqqycybdvsq) (Ping timeout: 244 seconds)
00:07:53 × sawmon-and-natal quits (sawmon-and@gateway/shell/matrix.org/x-xtzpbggeyumafmmb) (Ping timeout: 260 seconds)
00:07:53 × joshualit140[m] quits (joshualit1@gateway/shell/matrix.org/x-whhblwmaoulboefx) (Ping timeout: 260 seconds)
00:07:59 lordyod joins (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net)
00:08:00 × agentofuser quits (agentofuse@gateway/shell/matrix.org/x-haotbgmijlnmxwen) (Ping timeout: 258 seconds)
00:08:00 × noIOBeforeBedtim quits (dissatisfi@gateway/shell/matrix.org/x-pljvxnigkfwhdutt) (Ping timeout: 258 seconds)
00:08:01 × Wuzzy quits (~Wuzzy@p5790eb14.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
00:08:09 × sigmacool[m] quits (sigmacoolm@gateway/shell/matrix.org/x-fywwkproowrcadql) (Ping timeout: 272 seconds)
00:08:14 × immae quits (immaematri@gateway/shell/matrix.org/x-sofszfynxwfdycbe) (Ping timeout: 268 seconds)
00:08:14 × jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-ztgnpizlmfjqozxc) (Ping timeout: 268 seconds)
00:08:14 × pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-yrqbzcfvvgvhihqp) (Ping timeout: 268 seconds)
00:08:14 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-ddtyjxliegbymllk) (Ping timeout: 268 seconds)
00:08:24 × tomferon[m] quits (tomferonmo@gateway/shell/matrix.org/x-noglbyofnphhclbb) (Ping timeout: 249 seconds)
00:08:25 × isacl___ quits (uid13263@gateway/web/irccloud.com/x-zatkgdiubqivrbyl) (Ping timeout: 249 seconds)
00:08:29 × ulidtko quits (~ulidtko@193.111.48.79) (Ping timeout: 260 seconds)
00:08:51 × PotatoGim quits (sid99505@gateway/web/irccloud.com/x-rzrxvalmasmuxemd) (Ping timeout: 268 seconds)
00:09:14 Kaeipi joins (~Kaiepi@47.54.252.148)
00:09:14 × SlackIntegration quits (slackbotma@gateway/shell/matrix.org/x-fhaqgxbsmcjmdpgv) (Ping timeout: 246 seconds)
00:09:15 × itai33[m] quits (itai33matr@gateway/shell/matrix.org/x-erpojaoftljshoya) (Ping timeout: 246 seconds)
00:09:15 × alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-byegcjtdnwjrjstz) (Ping timeout: 246 seconds)
00:09:15 × albethere quits (sid457088@gateway/web/irccloud.com/x-mnpwzrwlirbhrtwo) (Ping timeout: 246 seconds)
00:09:16 isacl___ joins (sid13263@gateway/web/irccloud.com/x-bkkmkmnuzgolneku)
00:09:17 epicte7us joins (~epictetus@ip184-187-162-163.sb.sd.cox.net)
00:09:23 × kadoban quits (kadobanmat@gateway/shell/matrix.org/x-tvbkdchltyihqohm) (Ping timeout: 244 seconds)
00:09:29 kibe joins (52214e53@cpc104892-live32-2-0-cust594.17-2.cable.virginm.net)
00:09:36 × Hanma[m] quits (hanmamatri@gateway/shell/matrix.org/x-hqagbkflkardbeyb) (Ping timeout: 246 seconds)
00:09:38 × parseval quits (sid239098@gateway/web/irccloud.com/x-xrspdpklffjsbdan) (Ping timeout: 274 seconds)
00:09:38 × mankyKitty quits (sid31287@gateway/web/irccloud.com/x-sisdzlgwpycrovxr) (Ping timeout: 274 seconds)
00:09:38 × adamse quits (sid72084@gateway/web/irccloud.com/x-ntgmpqkvdscewbqi) (Ping timeout: 274 seconds)
00:09:38 × ajmcmiddlin quits (sid284402@gateway/web/irccloud.com/x-cjcxesxeodrcvgsk) (Ping timeout: 274 seconds)
00:09:38 × chessai quits (sid225296@gateway/web/irccloud.com/x-yhjyupxhhvdvkdtd) (Ping timeout: 274 seconds)
00:09:39 × ProofTechnique quits (sid79547@gateway/web/irccloud.com/x-svkesokyijyfonih) (Ping timeout: 274 seconds)
00:09:39 × alexknvl quits (sid259568@gateway/web/irccloud.com/x-jnvjyffojwxkuwuh) (Ping timeout: 274 seconds)
00:09:39 × newhoggy quits (sid198874@gateway/web/irccloud.com/x-qhmnnfjnjtcmfiay) (Ping timeout: 274 seconds)
00:09:39 × scav quits (sid309693@gateway/web/irccloud.com/x-jqpiftkzlvsswiha) (Ping timeout: 274 seconds)
00:09:39 × angerman quits (sid209936@gateway/web/irccloud.com/x-mlhkemfvngmbvuol) (Ping timeout: 274 seconds)
00:09:39 × FMJz____ quits (sid279245@gateway/web/irccloud.com/x-obdwznzoluazipat) (Ping timeout: 274 seconds)
00:09:44 × bulters quits (uid408399@gateway/web/irccloud.com/x-wpbfictwjpuyhkie) (Ping timeout: 240 seconds)
00:09:49 × plateau quits (~plateau@51.194.80.91) (Ping timeout: 254 seconds)
00:09:49 × SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 254 seconds)
00:09:56 Wuzzy joins (~Wuzzy@p5790eb14.dip0.t-ipconnect.de)
00:09:58 alexknvl joins (sid259568@gateway/web/irccloud.com/x-bsooitzjcuntpber)
00:10:03 scav joins (sid309693@gateway/web/irccloud.com/x-jxtbysqgjpxwlabe)
00:10:04 × Kaiepi quits (~Kaiepi@47.54.252.148) (Write error: Broken pipe)
00:10:05 × plumenator[m] quits (plumenator@gateway/shell/matrix.org/x-lvykfzzrvmqptvzq) (Ping timeout: 268 seconds)
00:10:05 × ep1ctetus quits (~epictetus@ip184-187-162-163.sb.sd.cox.net) (Remote host closed the connection)
00:10:05 × petersen quits (~petersen@redhat/juhp) (Remote host closed the connection)
00:10:10 mankyKitty joins (sid31287@gateway/web/irccloud.com/x-trleelmrumtoacfc)
00:10:12 ProofTechnique joins (sid79547@gateway/web/irccloud.com/x-xkwpvqwpcxzbqliv)
00:10:14 × stylewarning quits (stylewarni@gateway/web/irccloud.com/x-qyrbdxfrgqvtmbve) (Ping timeout: 264 seconds)
00:10:14 × alunduil quits (alunduil@gateway/web/irccloud.com/x-uvppjsitsccsdxlk) (Ping timeout: 264 seconds)
00:10:14 × carter quits (sid14827@gateway/web/irccloud.com/x-ibvrelberchglxhy) (Ping timeout: 264 seconds)
00:10:14 × wildsebastian quits (sid324688@gateway/web/irccloud.com/x-ectvsfeiiygtpxsd) (Ping timeout: 264 seconds)
00:10:14 × nlofaro quits (sid258233@gateway/web/irccloud.com/x-euteclalytxdvjpl) (Ping timeout: 264 seconds)
00:10:14 × ^[ quits (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep) (Ping timeout: 264 seconds)
00:10:14 × sclv quits (sid39734@haskell/developer/sclv) (Ping timeout: 264 seconds)
00:10:14 × NemesisD quits (sid24071@gateway/web/irccloud.com/x-djyvkklsuqfzcevy) (Ping timeout: 264 seconds)
00:10:14 × pasukon quits (sid49097@gateway/web/irccloud.com/x-naqadmmjejtzyxsk) (Ping timeout: 264 seconds)
00:10:15 bulters joins (sid408399@gateway/web/irccloud.com/x-sdqeovzhlllgyfxc)
00:10:16 parseval joins (sid239098@gateway/web/irccloud.com/x-dptvijkmopmshrsp)
00:10:30 ajmcmiddlin joins (sid284402@gateway/web/irccloud.com/x-szkbydrrgjdkqwdg)
00:10:32 FMJz____ joins (sid279245@gateway/web/irccloud.com/x-praqwrhcblptjscb)
00:10:35 SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net)
00:10:36 angerman joins (sid209936@gateway/web/irccloud.com/x-xtkvrytwrycxizka)
00:10:41 chessai joins (sid225296@gateway/web/irccloud.com/x-eojxzrwdmpbxajck)
00:10:41 newhoggy joins (sid198874@gateway/web/irccloud.com/x-jdnuyfbxfnsiohki)
00:10:42 × materialfuture[m quits (materialfu@gateway/shell/matrix.org/x-himioyqaldoiauxa) (Ping timeout: 268 seconds)
00:10:45 wildsebastian joins (sid324688@gateway/web/irccloud.com/x-nvmlmfurbdxhppbr)
00:10:46 PotatoGim joins (sid99505@gateway/web/irccloud.com/x-nkelvwmwfteegkul)
00:10:50 × liszt quits (sid336875@gateway/web/irccloud.com/x-vjevhjtgitwwbjkb) (Ping timeout: 264 seconds)
00:10:50 × drbrule quits (sid395654@gateway/web/irccloud.com/x-vjqqnrysmaxqrzkw) (Ping timeout: 264 seconds)
00:11:03 sclv joins (sid39734@haskell/developer/sclv)
00:11:04 adamse joins (sid72084@gateway/web/irccloud.com/x-ddpddrljstsxhjtp)
00:11:09 nlofaro joins (sid258233@gateway/web/irccloud.com/x-zedxjapmpevpowdw)
00:11:11 × PotatoGim quits (sid99505@gateway/web/irccloud.com/x-nkelvwmwfteegkul) (Excess Flood)
00:11:13 alunduil joins (alunduil@gateway/web/irccloud.com/x-raqtcjrhwuisweda)
00:11:14 entel joins (uid256215@botters/entel)
00:11:20 NemesisD joins (sid24071@gateway/web/irccloud.com/x-ideplfgvbdrmtjvk)
00:11:21 × Vanilla[m] quits (danielm14@gateway/shell/matrix.org/x-hwrkmoboegngyxlc) (Ping timeout: 246 seconds)
00:11:24 pasukon joins (sid49097@gateway/web/irccloud.com/x-rfyegaueofgzvrku)
00:11:33 carter joins (sid14827@gateway/web/irccloud.com/x-acshkzobizuejnrw)
00:11:34 PotatoGim joins (sid99505@gateway/web/irccloud.com/x-yiylpgitlafelbpb)
00:11:37 liszt joins (sid336875@gateway/web/irccloud.com/x-wowcorjcypctgmpg)
00:11:42 albethere joins (sid457088@gateway/web/irccloud.com/x-mlojfqddwapqjmhc)
00:11:49 ^[ joins (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep)
00:11:52 drbrule joins (sid395654@gateway/web/irccloud.com/x-nywfvliqiepvgwkr)
00:11:58 jetpack_joe joins (sid146137@gateway/web/irccloud.com/x-nrokewanbpijouah)
00:12:41 rizary joins (sid220347@gateway/web/irccloud.com/x-ebqpgocdyubyodty)
00:12:42 stylewarning joins (stylewarni@gateway/web/irccloud.com/x-smhyaldbfgzvkuwe)
00:12:55 howdoi joins (uid224@gateway/web/irccloud.com/x-ctamwhdrfdasswkk)
00:13:45 hiroaki_ joins (~hiroaki@ip4d166c42.dynamic.kabel-deutschland.de)
00:14:12 elvishjerricco joins (sid237756@NixOS/user/ElvishJerricco)
00:14:13 × lnx quits (~irssi@167.71.7.27) (Ping timeout: 246 seconds)
00:14:21 plateau joins (~plateau@51.194.80.91)
00:14:30 dandels joins (~dandels@unaffiliated/dandels)
00:15:12 Sonderblade joins (~helloman@94.191.152.250)
00:15:14 × tessier quits (~treed@kernel-panic/copilotco) (Ping timeout: 272 seconds)
00:15:21 systemfault joins (sid267009@gateway/web/irccloud.com/x-tudigexavdjrhlgn)
00:17:06 × hiroaki quits (~hiroaki@ip4d16b6b9.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
00:17:35 × jameekim1 quits (~jameekim@mx.nodaplife.me) (Ping timeout: 260 seconds)
00:19:01 × Kaeipi quits (~Kaiepi@47.54.252.148) (Read error: Connection timed out)
00:19:26 Kaeipi joins (~Kaiepi@47.54.252.148)
00:25:42 × conal quits (~conal@89.187.164.95) (Quit: Computer has gone to sleep.)
00:26:26 conal joins (~conal@89.187.164.95)
00:27:02 × xff0x quits (~xff0x@2001:1a81:528c:9f00:3c4e:11e3:52e1:1997) (Ping timeout: 264 seconds)
00:27:35 xff0x joins (~xff0x@2001:1a81:528c:9f00:a5d9:337c:1e59:6b2b)
00:28:02 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
00:28:31 × conal quits (~conal@89.187.164.95) (Client Quit)
00:28:32 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 272 seconds)
00:30:16 conal joins (~conal@89.187.164.95)
00:30:40 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
00:31:06 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
00:31:16 banner joins (~banner@116-255-17-44.ip4.superloop.com)
00:31:42 dmytrish joins (~mitra@2a02:8084:a82:d900:f0a2:b911:b958:c991)
00:32:18 × conal quits (~conal@89.187.164.95) (Remote host closed the connection)
00:32:26 majjoha joins (majjohamat@gateway/shell/matrix.org/x-ubqqebrcaaxwnaxx)
00:32:32 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
00:32:33 <koz_> Am I missing something here, but I don't see why left distribution is mutually incompatible with left catch: https://hackage.haskell.org/package/semigroupoids-5.3.5/docs/Data-Functor-Alt.html#t:Alt
00:32:55 × borne quits (~fritjof@200116b86496e00002b34828c30df1e8.dip.versatel-1u1.de) (Ping timeout: 258 seconds)
00:33:03 <koz_> And I assume that 'ReaderT r Maybe' behaves the same way as 'Maybe' vis-a-vis Alt?
00:33:04 doct0rhu[m] joins (doct0rhumo@gateway/shell/matrix.org/x-odftfjmtqtwyxokt)
00:33:07 jpds joins (~jpds@gateway/tor-sasl/jpds)
00:33:16 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
00:33:19 <koz_> (in terms of satisfying laws)
00:33:41 conal joins (~conal@89.187.164.95)
00:34:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:35:41 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Remote host closed the connection)
00:35:55 × knupfer quits (~Thunderbi@i5E86B4A3.versanet.de) (Ping timeout: 240 seconds)
00:35:58 <koz_> (OK, having checked, question 2's answer is indeed 'yes')
00:37:39 × hiroaki_ quits (~hiroaki@ip4d166c42.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
00:37:55 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:31dc:e698:c1fb:a61d) (Ping timeout: 272 seconds)
00:38:00 × dmytrish quits (~mitra@2a02:8084:a82:d900:f0a2:b911:b958:c991) (Remote host closed the connection)
00:38:37 tessier joins (~treed@kernel-panic/copilotco)
00:38:37 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
00:39:50 VarikValefor[m] joins (varikvalef@gateway/shell/matrix.org/x-eylmreqwdhhozxey)
00:39:51 pedrorubster[m] joins (pedrorubst@gateway/shell/matrix.org/x-xmousjrxjbsyclop)
00:39:53 sajith[m] joins (sajithmatr@gateway/shell/matrix.org/x-eqzgxqmphsvloqjo)
00:39:53 shutendoji[m] joins (shutendoji@gateway/shell/matrix.org/x-zoldmulhczmedykw)
00:39:55 Hatsue[m] joins (berbermanm@gateway/shell/matrix.org/x-mlzdnsgtcngfpuwt)
00:40:24 unclechu joins (unclechuma@gateway/shell/matrix.org/x-qcqpphiakkjzwsak)
00:40:35 × LKoen quits (~LKoen@100.170.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
00:40:39 PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-cyzehinlocfsvrli)
00:41:03 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
00:41:31 <dolio> The only way you can satisfy both is if `(a <$> c) <!> (b <.> c) = a <$> c`, essentially.
00:42:50 × dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 256 seconds)
00:43:05 jamesfielder[m] joins (jamesfield@gateway/shell/matrix.org/x-aggwlzqjynbvqpuj)
00:43:13 immae joins (immaematri@gateway/shell/matrix.org/x-xtsuhftrskviqduc)
00:43:41 noIOBeforeBedtim joins (dissatisfi@gateway/shell/matrix.org/x-wxmtqlszaquuclla)
00:43:51 metamod[m] joins (metamodmat@gateway/shell/matrix.org/x-eeteqiiuwhgqhhan)
00:43:51 fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-fkqvrdzzwmylyzim)
00:43:53 Lurkki[m]1 joins (lurkkipriv@gateway/shell/matrix.org/x-bgjxblelcopynrls)
00:44:58 psydruid joins (psydruidma@gateway/shell/matrix.org/x-lsgbiiyqrdcofzca)
00:45:21 bitonic joins (bitonicmat@gateway/shell/matrix.org/x-mvvtiwcsgwujegzo)
00:45:21 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-ezaslszscjsugiki)
00:45:33 jkaye[m] joins (jkayematri@gateway/shell/matrix.org/x-yzgfllsjqvkerepq)
00:45:37 jameekim1 joins (~jameekim@mx.nodaplife.me)
00:45:40 joshualit140[m] joins (joshualit1@gateway/shell/matrix.org/x-yxzwvqpdotpectlc)
00:45:45 sawmon-and-natal joins (sawmon-and@gateway/shell/matrix.org/x-nyvbfbbnahcoivhx)
00:45:52 freeman42x[m] joins (freeman42x@gateway/shell/matrix.org/x-qbgiejvcqhrrqkmt)
00:46:09 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-kekhkdqeipbmemdk)
00:46:31 AmitLevy[m] joins (amitmostly@gateway/shell/matrix.org/x-nqntfdhgjhucnvvb)
00:46:33 sigmacool[m] joins (sigmacoolm@gateway/shell/matrix.org/x-seyfmdqkjjunrcnm)
00:47:26 falling-edge[m] joins (falling-ed@gateway/shell/matrix.org/x-ofbrzhcmlwbldycc)
00:47:57 domenkozar[m] joins (domenkozar@NixOS/user/domenkozar)
00:48:00 rajivr joins (uid269651@gateway/web/irccloud.com/x-gknvnupcsrvhzqnh)
00:48:00 pythag76[m] joins (pythag76ma@gateway/shell/matrix.org/x-xavdsfqcujgvcvww)
00:48:11 floatingpoint[m] joins (floating5@gateway/shell/matrix.org/x-ibjdxwlefaqmbsbe)
00:49:01 × thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202)
00:49:48 <ezzieyguywuf> hm, how do I deal with ambiguous module names? Control.Monad.Extra, https://hoogle.haskell.org/?hoogle=Control.Monad.Extra&scope=set%3Astackage
00:50:00 <ezzieyguywuf> it was found in multiple packages: extra-1.7.8 monad-extras-0.6.0
00:50:21 <L29Ah> you can hide a package
00:51:10 xirhtogal joins (~lagothrix@unaffiliated/lagothrix)
00:51:10 × lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Killed (wolfe.freenode.net (Nickname regained by services)))
00:51:10 xirhtogal is now known as lagothrix
00:51:24 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-ezaslszscjsugiki) (Ping timeout: 240 seconds)
00:51:26 × bitonic quits (bitonicmat@gateway/shell/matrix.org/x-mvvtiwcsgwujegzo) (Ping timeout: 240 seconds)
00:51:26 × psydruid quits (psydruidma@gateway/shell/matrix.org/x-lsgbiiyqrdcofzca) (Ping timeout: 240 seconds)
00:51:44 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-yzgfllsjqvkerepq) (Ping timeout: 240 seconds)
00:51:45 × unclechu quits (unclechuma@gateway/shell/matrix.org/x-qcqpphiakkjzwsak) (Ping timeout: 240 seconds)
00:51:45 × majjoha quits (majjohamat@gateway/shell/matrix.org/x-ubqqebrcaaxwnaxx) (Ping timeout: 240 seconds)
00:51:45 × AmitLevy[m] quits (amitmostly@gateway/shell/matrix.org/x-nqntfdhgjhucnvvb) (Ping timeout: 244 seconds)
00:51:45 × immae quits (immaematri@gateway/shell/matrix.org/x-xtsuhftrskviqduc) (Ping timeout: 244 seconds)
00:51:53 <ezzieyguywuf> how?
00:51:55 × falling-edge[m] quits (falling-ed@gateway/shell/matrix.org/x-ofbrzhcmlwbldycc) (Ping timeout: 240 seconds)
00:51:56 × sigmacool[m] quits (sigmacoolm@gateway/shell/matrix.org/x-seyfmdqkjjunrcnm) (Ping timeout: 240 seconds)
00:51:56 × freeman42x[m] quits (freeman42x@gateway/shell/matrix.org/x-qbgiejvcqhrrqkmt) (Ping timeout: 240 seconds)
00:51:56 × pedrorubster[m] quits (pedrorubst@gateway/shell/matrix.org/x-xmousjrxjbsyclop) (Ping timeout: 240 seconds)
00:51:57 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-cyzehinlocfsvrli) (Ping timeout: 246 seconds)
00:52:04 × metamod[m] quits (metamodmat@gateway/shell/matrix.org/x-eeteqiiuwhgqhhan) (Ping timeout: 240 seconds)
00:52:05 × sajith[m] quits (sajithmatr@gateway/shell/matrix.org/x-eqzgxqmphsvloqjo) (Ping timeout: 240 seconds)
00:52:05 × sawmon-and-natal quits (sawmon-and@gateway/shell/matrix.org/x-nyvbfbbnahcoivhx) (Ping timeout: 258 seconds)
00:52:05 × joshualit140[m] quits (joshualit1@gateway/shell/matrix.org/x-yxzwvqpdotpectlc) (Ping timeout: 258 seconds)
00:52:11 × mmmattyx quits (uid17782@gateway/web/irccloud.com/x-jnccgurzyfdhopjk) (Quit: Connection closed for inactivity)
00:52:13 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
00:52:16 × Lurkki[m]1 quits (lurkkipriv@gateway/shell/matrix.org/x-bgjxblelcopynrls) (Ping timeout: 244 seconds)
00:52:16 × noIOBeforeBedtim quits (dissatisfi@gateway/shell/matrix.org/x-wxmtqlszaquuclla) (Ping timeout: 244 seconds)
00:52:16 × shutendoji[m] quits (shutendoji@gateway/shell/matrix.org/x-zoldmulhczmedykw) (Ping timeout: 244 seconds)
00:52:24 × floatingpoint[m] quits (floating5@gateway/shell/matrix.org/x-ibjdxwlefaqmbsbe) (Ping timeout: 240 seconds)
00:52:25 × pythag76[m] quits (pythag76ma@gateway/shell/matrix.org/x-xavdsfqcujgvcvww) (Ping timeout: 240 seconds)
00:52:26 × domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Ping timeout: 240 seconds)
00:52:26 × fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-fkqvrdzzwmylyzim) (Ping timeout: 240 seconds)
00:52:26 × jamesfielder[m] quits (jamesfield@gateway/shell/matrix.org/x-aggwlzqjynbvqpuj) (Ping timeout: 240 seconds)
00:52:28 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-kekhkdqeipbmemdk) (Ping timeout: 258 seconds)
00:52:30 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
00:52:32 × Hatsue[m] quits (berbermanm@gateway/shell/matrix.org/x-mlzdnsgtcngfpuwt) (Ping timeout: 260 seconds)
00:52:36 <monochrom> Perhaps you don't need both packages.
00:52:38 × VarikValefor[m] quits (varikvalef@gateway/shell/matrix.org/x-eylmreqwdhhozxey) (Ping timeout: 268 seconds)
00:52:38 × doct0rhu[m] quits (doct0rhumo@gateway/shell/matrix.org/x-odftfjmtqtwyxokt) (Ping timeout: 268 seconds)
00:53:18 <ezzieyguywuf> monochrom: you think maybe the two are mutually exclusive?
00:53:31 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
00:54:33 × epicte7us quits (~epictetus@ip184-187-162-163.sb.sd.cox.net) (Quit: Leaving)
00:54:42 justsomeguy parts (~justsomeg@unaffiliated/--/x-3805311) ("WeeChat 2.9")
00:55:07 × jmchael quits (~jmchael@87.112.235.234) (Remote host closed the connection)
00:55:08 <monochrom> No, I think these "extra utilities" libraries are just a lot of one-liners you could have handcoded yourself and you only need maybe 3 out of 100 such one-liners.
00:57:18 <ezzieyguywuf> monochrom: makes sense. what about in other cases though? specifically I'm running in to this packaging haskell stuff in gentoo - if two packages depend on different libraries with ambiguous module names...how do you deal with it?
00:58:00 <yushyin> ezzieyguywuf: so hardcode the function you need, hide/rename package with mixins: cabal-feature or use ghc's package-qualified imports extension
00:58:29 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:3656:8d15:34a2:c515:f802)
00:59:03 <ezzieyguywuf> yushyin: this sounds right, but you threw a lot at me that's new that I don't understand :-P
00:59:18 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
00:59:22 <ezzieyguywuf> i.e. "mixins", "cabal-feature", and "package-qualified imports extension"
00:59:33 <ezzieyguywuf> can you point me to a man-page or some documentation?
00:59:45 <yushyin> sure
00:59:51 <yushyin> https://cabal.readthedocs.io/en/3.4/cabal-package.html?highlight=mixins#pkg-field-mixins
00:59:54 nineonine joins (~nineonine@50.216.62.2)
00:59:58 <yushyin> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#package-qualified-imports
01:01:25 × dandels quits (~dandels@unaffiliated/dandels) (Ping timeout: 240 seconds)
01:02:34 sigmacool[m] joins (sigmacoolm@gateway/shell/matrix.org/x-mdwbqjiwxrqtfkyd)
01:02:37 <ezzieyguywuf> yushyin: thanks!
01:03:22 ph88 joins (~ph88@2a02:8109:9e00:7e5c:31dc:e698:c1fb:a61d)
01:04:42 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
01:04:59 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:08:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
01:09:04 <ezzieyguywuf> hm, ok now I can see how either mixins or package-qualified imports would resolve this (or hard-coding the function)
01:09:55 <ezzieyguywuf> is this issue that I'm running into gentoo-specific, though, or is it truly something that I should expect 'upstream' i.e. the haskell package to resolve?
01:10:56 lnx joins (~irssi@167.71.7.27)
01:12:49 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
01:13:23 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
01:14:58 <ezzieyguywuf> but really, i guess I'm still not understanding how this conflict occurs - [this](https://github.com/simonmichael/hledger/blob/master/hledger-lib/hledger-lib.cabal#L117) is the line giving me "trouble", but really, everything should be hidden unless it's listed in this cabal file, right? and so since monad-extras isnt't listed, it doesn't seem like there should be a problem
01:16:02 × p-core quits (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Ping timeout: 244 seconds)
01:16:16 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-jwbioiwchujqjxlm)
01:16:16 <sm[m]> what conflict, ezzieyguywuf ?
01:17:58 <ezzieyguywuf> sm[m]: well, I'm not sure how to duplicate the issue outside of gentoo :-P here's some info https://github.com/gentoo-haskell/gentoo-haskell/commit/ef6a2b2d63b1931f3404e02cd351a1af0cc48969#r45978197
01:18:58 <ezzieyguywuf> sm[m]: but in short - since the `extra` package *and* the `monad-extras` packages each have a `Control.Monad.Extra` module, an "Ambiguous module" error pops up if both are "installed"
01:19:21 <ezzieyguywuf> sm[m]: I think we're going to deal with it by removing `monad-extras`, since that looks old and unmaintained and doesn't seem to have any reverse dependencies
01:19:53 <ezzieyguywuf> but then I'm left wondering two things: (1) how to deal with it in the future (I think yushyin set me straight on this), but also (2) why the heck is it even an issue if `monad-extras` should be hidden
01:21:48 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
01:22:44 majjoha joins (majjohamat@gateway/shell/matrix.org/x-vizrtqswjwjmnnvt)
01:22:45 plumenator[m] joins (plumenator@gateway/shell/matrix.org/x-xteumsediorkkida)
01:22:45 shutendoji[m] joins (shutendoji@gateway/shell/matrix.org/x-pcdiwvbldmijnjsr)
01:22:45 alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-nxewwfiqygjuitsm)
01:22:45 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-fljvprayxammalyd)
01:22:45 Ericson2314 joins (ericson231@gateway/shell/matrix.org/x-vjbzspbyybhkijcr)
01:22:45 alvinsj[m] joins (alvinsjmat@gateway/shell/matrix.org/x-knlqpcazouaxyrms)
01:22:45 freeman42x[m] joins (freeman42x@gateway/shell/matrix.org/x-tmohfkxwvposgmkk)
01:22:45 hsiktas[m] joins (hsiktasmat@gateway/shell/matrix.org/x-mpdjbrfpxquezqnj)
01:22:45 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-lhghtamdmfcigeuj)
01:22:45 pythag76[m] joins (pythag76ma@gateway/shell/matrix.org/x-fqwwvbqdmrpyfpme)
01:22:45 Hatsue[m] joins (berbermanm@gateway/shell/matrix.org/x-jfqtcejyrmidtigo)
01:22:45 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-kklwlhhtroaldxii)
01:22:46 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-mdpxrkceozqnbnvt)
01:22:46 jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-csnjpailzaiaxbid)
01:22:46 psamim joins (samimpmatr@gateway/shell/matrix.org/x-cuwklhplbamkxghk)
01:22:46 noIOBeforeBedtim joins (dissatisfi@gateway/shell/matrix.org/x-dpzgelpmgtzaopdc)
01:22:46 pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-rvesdbtaijactapq)
01:22:46 immae joins (immaematri@gateway/shell/matrix.org/x-btvogldsfndylfum)
01:22:46 cnmne[m] joins (cnmnematri@gateway/shell/matrix.org/x-nzmrelpxjrvshdco)
01:22:46 unclechu joins (unclechuma@gateway/shell/matrix.org/x-ihwqdoosusxrclkm)
01:22:46 bitonic joins (bitonicmat@gateway/shell/matrix.org/x-metwivhpxaujumkh)
01:22:47 rab24ack[m] joins (rab24ackma@gateway/shell/matrix.org/x-psfptiosqomyptjf)
01:22:47 berberman[T] joins (berberma4@gateway/shell/matrix.org/x-ejbwxnmnivsaykpy)
01:22:47 falling-edge[m] joins (falling-ed@gateway/shell/matrix.org/x-mdagccdrqkzhxoyn)
01:22:47 lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-dfumjpmhgjjrokyl)
01:22:47 kadoban joins (kadobanmat@gateway/shell/matrix.org/x-wpraxjggsxhnloks)
01:22:47 maralorn joins (maralornma@gateway/shell/matrix.org/x-gbyceipyfdkumcfo)
01:22:47 siraben joins (sirabenmat@gateway/shell/matrix.org/x-jucvqrunhvhrwair)
01:22:47 jkaye[m] joins (jkayematri@gateway/shell/matrix.org/x-cwxloaoopccwhafn)
01:22:47 Noughtmare[m] joins (naughtmare@gateway/shell/matrix.org/x-lzdlfmtcvofdybcb)
01:22:47 fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-hgnuaxnlyjfrynyg)
01:22:47 lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-pmsnpgdqdgdrtjbn)
01:22:47 SlackIntegration joins (slackbotma@gateway/shell/matrix.org/x-xfprwmnaewtujqaw)
01:22:47 domenkozar[m] joins (domenkozar@NixOS/user/domenkozar)
01:22:48 PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-rlkpwzqyjculsyrl)
01:22:48 metamod[m] joins (metamodmat@gateway/shell/matrix.org/x-xfwtkfxwyystdnpb)
01:22:48 bsima[m] joins (bensimatim@gateway/shell/matrix.org/x-zafytodychrvjxwz)
01:22:48 ThaEwat joins (thaewraptm@gateway/shell/matrix.org/x-gqxuozjrrepvlmfp)
01:22:48 VarikValefor[m] joins (varikvalef@gateway/shell/matrix.org/x-dwnvehwebfmuqknj)
01:22:48 srid joins (sridmatrix@gateway/shell/matrix.org/x-ohbftpyekflqutne)
01:22:48 tomferon[m] joins (tomferonmo@gateway/shell/matrix.org/x-dodjzsgkkcctfhjs)
01:22:48 sajith[m] joins (sajithmatr@gateway/shell/matrix.org/x-smrjdwfdywihjlbm)
01:22:48 Poscat[m] joins (poscatmatr@gateway/shell/matrix.org/x-ebjpmkbyptcfrkby)
01:22:48 Hanma[m] joins (hanmamatri@gateway/shell/matrix.org/x-xibwtazmlorhvlak)
01:22:48 doct0rhu[m] joins (doct0rhumo@gateway/shell/matrix.org/x-sofiodtjhgbkukgv)
01:22:48 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-pqdubrrqsciedjkz)
01:22:48 svc0[m] joins (svc0matrix@gateway/shell/matrix.org/x-fzpzyolkdsgkuasb)
01:22:48 michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-cufdgsqqlgsifkfo)
01:22:48 boistordu joins (boistordum@gateway/shell/matrix.org/x-suypkumwavpowhpu)
01:22:49 psydruid joins (psydruidma@gateway/shell/matrix.org/x-mhamjlslfwlsceyz)
01:22:50 joshualit140[m] joins (joshualit1@gateway/shell/matrix.org/x-vnlszjxsiqmfmjyh)
01:22:51 itai33[m] joins (itai33matr@gateway/shell/matrix.org/x-tutmwxwkzcqqbmgy)
01:22:52 Wraul[m] joins (wraulmatri@gateway/shell/matrix.org/x-oaykxwwyyooccwad)
01:22:52 Vanilla[m] joins (danielm14@gateway/shell/matrix.org/x-uldilkivfzntlfty)
01:22:52 floatingpoint[m] joins (floating5@gateway/shell/matrix.org/x-nlbpryfzkzgxjafn)
01:22:52 AmitLevy[m] joins (amitmostly@gateway/shell/matrix.org/x-csdqoyezivpsmkra)
01:22:52 Lurkki[m] joins (lurkkipriv@gateway/shell/matrix.org/x-wryvoutmljopirtz)
01:22:52 pedrorubster[m] joins (pedrorubst@gateway/shell/matrix.org/x-ptgumbiukerdwwrm)
01:22:53 jamesfielder[m] joins (jamesfield@gateway/shell/matrix.org/x-mbtycevoimthkkti)
01:22:53 Lurkki[m]1 joins (lurkkifene@gateway/shell/matrix.org/x-yyxkihhpivitadru)
01:22:54 MrMuffles[m] joins (mrmufflesm@gateway/shell/matrix.org/x-vcwutvcdeerrzxfc)
01:22:54 sawmon-and-natal joins (sawmon-and@gateway/shell/matrix.org/x-bllgaqfjammxmfum)
01:22:54 materialfuture[m joins (materialfu@gateway/shell/matrix.org/x-aqhixpzgkhbmmtgo)
01:22:55 peterstorm[m] joins (peterstorm@gateway/shell/matrix.org/x-agdwdndygjfbxasv)
01:22:55 agentofuser joins (agentofuse@gateway/shell/matrix.org/x-xdrgvktasdrdhynq)
01:23:04 × columbarius1 quits (~columbari@i5E86B385.versanet.de) (Ping timeout: 256 seconds)
01:24:17 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 258 seconds)
01:24:19 <sm[m]> ezzieyguywuf: that sounds easiest indeed.
01:24:47 <sm[m]> I'm not sure if not listing a dep in the cabal file actually hides it, if it's installed. ghc-pkg has hide and expose commands for some reason. I did successfully build hledger-lib just now after also installing monad-extras, but that's with stack
01:24:53 columbarius1 joins (~columbari@i5E86B3FB.versanet.de)
01:25:38 <sm[m]> packaging is quite a rabbit hole isn't it
01:25:47 <ezzieyguywuf> I tried duplicating the issue with just cabal-install, but `cabal-install monad-extras` doesn't seem to do anything.
01:25:55 <ezzieyguywuf> sm[m]: also, the issue pops up when compiling the tests.
01:26:07 <ezzieyguywuf> sm[m]: hah, yea quite the rabit hole indeed. but fun :)
01:27:02 <ephemient> first time digging into Gentoo's Haskell packaging, but https://github.com/gentoo-haskell/gentoo-haskell/blob/master/eclass/haskell-cabal.eclass looks like it uses `./setup build`, not `cabal build`
01:27:36 <sm[m]> ah well cabal is complicated. Also it's not cabal-install :)
01:28:22 <sm[m]> gentoo sounds like it's somewhere between homebrew and nix
01:28:30 <ezzieyguywuf> ephemient: yes we use ./setup build
01:28:49 <ezzieyguywuf> sm[m]: hah, I meant `cabal install...`
01:29:14 <ezzieyguywuf> I've tried to get into the habit of specifying cabal-install when I'm talking about the *executable* versus the library, mostly for my own sanity
01:29:43 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
01:29:50 <sm[m]> I've given up on that. And it's fine
01:30:04 <ephemient> is the package isolation stuff in cabal-install or cabal-lib?
01:34:28 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
01:36:53 × loli quits (~loli@024-171-017-003.res.spectrum.com) (Quit: WeeChat 3.0)
01:37:38 <ephemient> yeah I don't understand Cabal very well but I don't think https://github.com/haskell/cabal/blob/master/Cabal/src/Distribution/Simple/Build.hs has any sandboxing, only https://github.com/haskell/cabal/blob/master/cabal-install/src/Distribution/Client/CmdBuild.hs
01:37:54 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
01:38:22 <ephemient> why doesn't gentoo use cabal-install?
01:38:29 <ezzieyguywuf> ephemient: I dunno about sandboxing, but doesn't ghc-pkg by default hide anything that isn't explictly listed in the cabal file?
01:38:43 <ezzieyguywuf> well, now I'm showing my ignorance, I dunno who does what in this scenareo...
01:38:44 loli joins (~loli@024-171-017-003.res.spectrum.com)
01:39:26 <ezzieyguywuf> ephemient: I asked, and received what appeared to be a reasonable response. I forget all the specifics, but part of it had to do with the larger dependency footprint of cabal-install versus just cabal-lib
01:39:47 <ezzieyguywuf> i could try to dig up the answer in my irc logs...
01:42:40 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
01:44:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:46:50 <ephemient> it's not ghc-pkg that does it, it's how cabal invokes ghc that has that effect
01:47:08 × banner quits (~banner@116-255-17-44.ip4.superloop.com) (Quit: Leaving)
01:49:04 × haritz quits (~hrtz@unaffiliated/haritz) (Ping timeout: 246 seconds)
01:49:15 <ezzieyguywuf> hrm, I think we do invoke ghc with the appropriate flag. let me check.
01:49:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
01:50:00 × kibe quits (52214e53@cpc104892-live32-2-0-cust594.17-2.cable.virginm.net) (Quit: Connection closed)
01:50:20 kibe joins (52214e53@cpc104892-live32-2-0-cust594.17-2.cable.virginm.net)
01:51:22 <ezzieyguywuf> hrm, maybe we don't...
01:51:36 <ezzieyguywuf> I guess --hide-all-packages is the appropriate ghc option?
01:53:22 <ephemient> running `build --verbose=3` here, I see it invoke `/usr/bin/ghc --make -fbuilding-cabal-package ... -hide-all-packages ... -no-user-package-db -package-db dist/package.conf.inplace -package-id base-4.14.1.0 ...`
01:53:45 <ephemient> so at least one of those options, probably
01:54:31 haritz joins (~hrtz@62.3.70.206)
01:54:31 × haritz quits (~hrtz@62.3.70.206) (Changing host)
01:54:31 haritz joins (~hrtz@unaffiliated/haritz)
01:54:44 × Guest67673 quits (~textual@2603-7000-3040-0000-91cc-b7a0-b6bf-1a42.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:55:56 × Wuzzy quits (~Wuzzy@p5790eb14.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
01:56:21 × kibe quits (52214e53@cpc104892-live32-2-0-cust594.17-2.cable.virginm.net) (Quit: Connection closed)
01:58:43 × acidjnk_new quits (~acidjnk@p200300d0c704e7817426bb844d6a6b27.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
01:59:49 <ezzieyguywuf> ephemient: thanks for your help, this gives me enough info to have some conversations with the gentoo folks
02:00:30 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
02:00:40 × conal quits (~conal@89.187.164.95) (Quit: Computer has gone to sleep.)
02:01:22 × brisbin quits (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 256 seconds)
02:02:18 conal joins (~conal@89.187.164.95)
02:02:31 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
02:05:03 Wuzzy joins (~Wuzzy@p549c9d1f.dip0.t-ipconnect.de)
02:07:44 bitmapper joins (uid464869@gateway/web/irccloud.com/x-vuttdldiuuoxfimh)
02:07:45 tropico joins (~tropico@unaffiliated/tropico)
02:09:28 vappend joins (~ezrakilty@75-172-99-84.tukw.qwest.net)
02:13:07 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:3656:8d15:34a2:c515:f802) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:16:08 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:3656:64d3:d9bb:432e:acbc)
02:17:33 nineonine joins (~nineonine@50.216.62.2)
02:20:10 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Remote host closed the connection)
02:20:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:25:04 acidjnk_new joins (~acidjnk@p200300d0c704e79940e641953fd44719.dip0.t-ipconnect.de)
02:25:39 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
02:26:18 × darjeeling_ quits (~darjeelin@122.245.120.137) (Ping timeout: 256 seconds)
02:31:55 × xff0x quits (~xff0x@2001:1a81:528c:9f00:a5d9:337c:1e59:6b2b) (Ping timeout: 240 seconds)
02:33:35 × acidjnk_new quits (~acidjnk@p200300d0c704e79940e641953fd44719.dip0.t-ipconnect.de) (Remote host closed the connection)
02:33:51 xff0x joins (~xff0x@2001:1a81:52c6:7f00:29e8:57ce:ba2b:1f46)
02:34:02 acidjnk_new joins (~acidjnk@p200300d0c704e79940e641953fd44719.dip0.t-ipconnect.de)
02:35:21 × conal quits (~conal@89.187.164.95) (Quit: Computer has gone to sleep.)
02:40:07 × ericsagnes quits (~ericsagne@2405:6580:0:5100:a508:836d:e92e:17f2) (Ping timeout: 260 seconds)
02:44:40 ADG1089 joins (~adg1089@122.163.165.143)
02:44:59 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
02:46:24 darjeeling_ joins (~darjeelin@122.245.120.137)
02:46:25 × ADG1089 quits (~adg1089@122.163.165.143) (Read error: Connection reset by peer)
02:48:14 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
02:51:56 × Wuzzy quits (~Wuzzy@p549c9d1f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
02:52:21 × vappend quits (~ezrakilty@75-172-99-84.tukw.qwest.net) (Remote host closed the connection)
02:52:40 ericsagnes joins (~ericsagne@2405:6580:0:5100:6bc2:e498:a980:d2bd)
02:54:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
02:59:30 ADG1089 joins (~adg1089@122.163.165.143)
02:59:46 maerwald joins (~maerwald@mail.hasufell.de)
03:05:55 conal joins (~conal@89.187.164.95)
03:10:24 drbean joins (~drbean@TC210-63-209-154.static.apol.com.tw)
03:11:22 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
03:14:06 × acidjnk_new quits (~acidjnk@p200300d0c704e79940e641953fd44719.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
03:15:54 Jd007 joins (~Jd007@162.156.11.151)
03:16:18 threestrikes joins (~threestri@cpe-24-243-229-2.hot.res.rr.com)
03:16:25 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 264 seconds)
03:18:17 × slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection)
03:22:25 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 264 seconds)
03:22:34 × livvy quits (~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection)
03:23:54 livvy joins (~livvy@gateway/tor-sasl/livvy)
03:24:43 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:26:33 × _xor quits (~xor@74.215.46.133) (Quit: brb)
03:28:16 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
03:30:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
03:30:23 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
03:33:11 × conal quits (~conal@89.187.164.95) (Quit: Computer has gone to sleep.)
03:36:05 plutoniix joins (~q@184.82.197.202)
03:37:16 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
03:39:10 ADG1089_ joins (~adg1089@171.76.134.49)
03:41:36 × ADG1089 quits (~adg1089@122.163.165.143) (Ping timeout: 240 seconds)
03:41:37 × ADG1089_ quits (~adg1089@171.76.134.49) (Read error: Connection reset by peer)
03:41:44 ADG1089_ joins (~adg1089@183.83.47.213)
03:42:16 × theDon quits (~td@muedsl-82-207-238-218.citykom.de) (Ping timeout: 265 seconds)
03:44:03 theDon joins (~td@muedsl-82-207-238-172.citykom.de)
03:47:46 × ADG1089_ quits (~adg1089@183.83.47.213) (Read error: Connection reset by peer)
03:54:45 × threestrikes quits (~threestri@cpe-24-243-229-2.hot.res.rr.com) (Ping timeout: 240 seconds)
03:55:42 xirhtogal joins (~lagothrix@unaffiliated/lagothrix)
03:55:42 × lagothrix quits (~lagothrix@unaffiliated/lagothrix) (Killed (verne.freenode.net (Nickname regained by services)))
03:55:42 xirhtogal is now known as lagothrix
03:55:50 × ericholscher quits (~ericholsc@185.163.110.126) (Remote host closed the connection)
04:00:04 Alleria joins (~textual@2603-7000-3040-0000-91cc-b7a0-b6bf-1a42.res6.spectrum.com)
04:00:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:00:28 Alleria is now known as Guest11631
04:00:58 ADG1089_ joins (~adg1089@171.76.134.49)
04:05:35 × tabemann quits (~travisb@2600:1700:7990:24e0:9229:ae6e:bc97:9587) (Remote host closed the connection)
04:05:49 tabemann joins (~travisb@2600:1700:7990:24e0:9229:ae6e:bc97:9587)
04:06:25 × plateau quits (~plateau@51.194.80.91) (Ping timeout: 240 seconds)
04:07:43 × forell quits (~forell@unaffiliated/forell) (Quit: ZNC - https://znc.in)
04:08:13 Stanley00 joins (~stanley00@unaffiliated/stanley00)
04:08:32 forell joins (~forell@unaffiliated/forell)
04:16:27 _xor joins (~xor@74.215.46.133)
04:16:41 <hololeap> ugh, why does cabal place upper-bounds on dependency versions by default?
04:17:04 <hololeap> i understand why in theory, but 99% of the time nothing bad happens if you remove them
04:20:29 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:21:19 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
04:23:41 × plutoniix quits (~q@184.82.197.202) (Ping timeout: 256 seconds)
04:25:07 <hololeap> i'm also making packages for gentoo, and i don't know how many times i've had to remove those upper bounds because a dependency got bumped and whatever is depending on it hasn't updated their cabal file
04:26:12 superstar64 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net)
04:27:35 Tario joins (~Tario@201.192.165.173)
04:27:40 <superstar64> are there any non bottom values for this type? `data Not a = Not ( a => Void )`
04:29:27 <hololeap> i don't see how there could be. are there any non bottom values for Void?
04:29:30 <ephemient> is `a => Void` any different from `Void`?
04:30:02 <ephemient> also `Not ⟂` is not quite the same as `⟂`
04:30:11 <superstar64> well for if `data Not a = Not (a -> Void)`, `Not id` is valid
04:30:26 <superstar64> i'm just wondering if there's a typeclass equivalent
04:30:50 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
04:33:03 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
04:34:05 <superstar64> actually, maybe there aren't it would allow you to call this function:
04:34:05 <superstar64> `f :: a => Not a -> Void`
04:34:06 <superstar64> `f (Not x) = x`
04:34:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
04:35:46 Distance_ joins (~Distance@51.194.80.91)
04:36:33 plutoniix joins (~q@ppp-223-24-191-164.revip6.asianet.co.th)
04:36:50 <hololeap> superstar64: are you trying to make a constraint that's the inversion of the constraint a?
04:37:10 <superstar64> i'm not really trying to do anything
04:37:42 <hololeap> fair enough, i was just checking
04:37:58 <superstar64> oh also, are zero parameter typeclasses useful in anyway?
04:39:35 × mtae quits (uid179115@gateway/web/irccloud.com/x-zvlrypoijsiqdave) (Quit: Connection closed for inactivity)
04:39:57 Saukk joins (~Saukk@83-148-239-3.dynamic.lounea.fi)
04:40:24 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Remote host closed the connection)
04:40:55 pcmanus1 joins (~pcmanus@184.75.223.203)
04:40:56 × slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Ping timeout: 240 seconds)
04:43:55 <superstar64> they kinda remind me of C's forward declarations https://pastebin.com/raw/3V06qF24
04:48:17 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
04:49:28 Wuzzy joins (~Wuzzy@p5b0df7fc.dip0.t-ipconnect.de)
04:50:15 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
04:53:10 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
04:54:22 × mirrorbird_ quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Quit: Leaving)
04:55:14 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
04:59:15 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
05:01:00 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
05:03:23 <superstar64> i can't find any resources on zero parameter typeclasses. are they actually useless or just unexplored?
05:04:06 <superstar64> in theory, you don't need global bindings if you have zero parameter typeclasses right?
05:05:12 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
05:05:23 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 260 seconds)
05:05:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:07:20 iridescent joins (2fe3e53b@047-227-229-059.res.spectrum.com)
05:07:58 <Axman6> :kind HasCallStack
05:08:20 <Axman6> % :kind HasCallStack
05:08:20 <yahb> Axman6: ; <interactive>:1:1: error: Not in scope: type constructor or class `HasCallStack'
05:08:28 <Axman6> % :kind HasCallstack
05:08:28 <yahb> Axman6: ; <interactive>:1:1: error: Not in scope: type constructor or class `HasCallstack'
05:08:31 <Axman6> :(
05:09:10 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
05:09:47 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
05:10:09 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
05:10:26 Tario joins (~Tario@201.192.165.173)
05:10:42 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
05:10:46 <superstar64> i'm surprised this works https://pastebin.com/raw/d2nAyNdy
05:10:49 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
05:11:01 × texasmynsted quits (~texasmyns@99.96.221.112) (Ping timeout: 246 seconds)
05:13:04 <superstar64> you get this if you leave out the instance: `    • No instance for Main arising from a use of ‘main’`
05:13:54 <glguy> I don't think nullary type classes are generally that useful, but they make sense to exist so they are allowed too
05:14:35 × howdoi quits (uid224@gateway/web/irccloud.com/x-ctamwhdrfdasswkk) (Quit: Connection closed for inactivity)
05:15:14 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 256 seconds)
05:15:38 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
05:16:02 <superstar64> oh that's what they're called, thanks
05:22:43 × Wuzzy quits (~Wuzzy@p5b0df7fc.dip0.t-ipconnect.de) (Remote host closed the connection)
05:24:36 × plutoniix quits (~q@ppp-223-24-191-164.revip6.asianet.co.th) (Ping timeout: 240 seconds)
05:25:16 × pcmanus1 quits (~pcmanus@184.75.223.203) (Ping timeout: 240 seconds)
05:29:21 × m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 256 seconds)
05:31:19 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
05:31:20 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
05:31:26 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
05:33:06 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
05:34:15 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
05:34:44 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
05:35:30 ADG1089__ joins (~aditya@122.163.165.143)
05:36:17 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 260 seconds)
05:37:29 plutoniix joins (~q@184.82.197.202)
05:38:15 grawity1 joins (~grawity@84.39.117.57)
05:41:44 × b4er quits (~b4er@193.27.14.141) (Quit: leaving)
05:41:46 × ADG1089_ quits (~adg1089@171.76.134.49) (Read error: Connection reset by peer)
05:42:02 × iridescent quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Quit: Connection closed)
05:42:09 ADG1089_ joins (~adg1089@122.163.165.143)
05:42:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:44:44 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
05:46:34 texasmynsted joins (~texasmyns@99.96.221.112)
05:46:58 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 265 seconds)
05:47:09 × Profpatsch quits (~Profpatsc@static.88-198-193-255.clients.your-server.de) (Quit: WeeChat 2.9)
05:47:26 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9)
05:49:12 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
05:56:08 b4er joins (~b4er@193.27.14.77)
06:02:18 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:03:29 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
06:04:32 × grawity1 quits (~grawity@84.39.117.57) (Remote host closed the connection)
06:05:01 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 264 seconds)
06:09:16 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
06:10:23 × noecho quits (~noecho@2a01:4f8:1c0c:80ee::4223) (Quit: ZNC - http://znc.in)
06:10:55 noecho joins (~noecho@2a01:4f8:1c0c:80ee::4223)
06:12:11 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
06:14:01 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
06:14:19 <superstar64> is there a typeclass where you can implement this? `lambda :: (a -> m c) -> m (a -> c)`
06:15:10 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
06:16:15 pfurla joins (~pfurla@2607:fb90:7ae4:d59c:fd3d:6aba:85b7:1892)
06:16:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
06:17:59 ukari joins (~ukari@unaffiliated/ukari)
06:18:29 zx joins (637ce278@99-124-226-120.lightspeed.rcsntx.sbcglobal.net)
06:19:04 × echoreply quits (~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1)
06:19:32 echoreply joins (~echoreply@unaffiliated/echoreply)
06:21:20 <jle`> superstar64: hm, Alternative?
06:21:27 <jle`> lambda _ = empty
06:22:10 <superstar64> well, something meaning full, like flip, where `m` is the reader monad
06:22:34 <c_wraith> In general, that type only works for things that are the reader monad
06:22:35 × Saukk quits (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection)
06:22:46 <jle`> so, you're looking for maybe a generalized version of flip?
06:23:16 <jle`> are you looking to find an abstraction, or are you asking about a specific 'm' you are thinking of?
06:23:22 <superstar64> give me a second, i'll show you how i derived this
06:24:37 <superstar64> https://imgur.com/a/FSf14pq
06:24:40 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
06:24:59 <superstar64> and the matching haskell https://pastebin.com/raw/rueeReGy
06:26:24 <superstar64> is there anything other then the reader monad that can inhabit `Marshallable`?
06:26:36 <jle`> do you have any laws?
06:26:46 <jle`> lambda _ = Nothing, for Maybe
06:26:48 <superstar64> i haven't though of any
06:27:28 <jle`> NonEmpty list, lambda f = (NE.head . f) :| []
06:27:40 <jle`> but yeah without knowing what sort of behavior or laws you are thinking of, it's hard to answer in a meaningful way
06:28:12 <superstar64> i'm trying to generalize typeclasses
06:28:22 <superstar64> if that's even possible
06:28:59 pfurla_ joins (~pfurla@2607:fb90:7ae4:d59c:e58e:b09b:b088:aa2b)
06:29:05 <jle`> first think about what sort of properties you'd expect to hold
06:29:09 <jle`> aka laws
06:29:21 <jle`> what properties about the Reader version are important to you
06:29:26 × pfurla quits (~pfurla@2607:fb90:7ae4:d59c:fd3d:6aba:85b7:1892) (Ping timeout: 264 seconds)
06:29:36 × b4er quits (~b4er@193.27.14.77) (Quit: Lost terminal)
06:30:06 <superstar64> well, i guess `(\x -> e1)(e2)` = `e1[x := e2]` is a pretty important one
06:30:57 <superstar64> what other laws does the lambda calculus have?
06:32:18 × riatre quits (~quassel@2001:310:6000:f::5198:1) (Ping timeout: 260 seconds)
06:34:27 b4er joins (~b4er@193.27.14.109)
06:34:29 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Ping timeout: 272 seconds)
06:34:51 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
06:35:32 × vst quits (~vst@2406:3003:2004:2e8a:bd6b:578b:4351:fd57) (Ping timeout: 260 seconds)
06:36:01 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:37:14 × pfurla_ quits (~pfurla@2607:fb90:7ae4:d59c:e58e:b09b:b088:aa2b) (Ping timeout: 264 seconds)
06:38:18 rmk236 joins (~lcampos@2a02:908:3616:b100:1800:1cb7:353d:300d)
06:40:25 × phasespace quits (~sar@89-162-33-21.fiber.signal.no) (Ping timeout: 264 seconds)
06:44:40 superstar6447 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net)
06:44:58 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Remote host closed the connection)
06:45:19 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
06:45:25 × ADG1089_ quits (~adg1089@122.163.165.143) (Ping timeout: 240 seconds)
06:45:32 × superstar6447 quits (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Client Quit)
06:46:12 superstar6455 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net)
06:46:34 superstar6455 parts (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) ()
06:47:48 superstar6455 joins (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net)
06:48:01 × superstar64 quits (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Ping timeout: 248 seconds)
06:48:08 <superstar6455> kiwi is being buggy today, anyway is marshallable a good name for that typeclass?
06:49:52 <superstar6455> on the laws, i'm not sure if this cuts it `lam' e <*> (pure e') = e e'`
06:52:25 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 264 seconds)
06:52:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:53:03 × roconnor quits (~roconnor@host-104-157-225-60.dyn.295.ca) (Quit: Konversation terminated!)
06:55:00 <superstar6455> ok it's on reddit now too https://old.reddit.com/r/haskell/comments/kxp65a/applicatives_where_a_m_c_m_a_c_is_sensible/?
06:57:37 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
06:58:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
07:01:40 phasespace joins (~sar@80-89-47-117.inet.signal.no)
07:05:50 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
07:10:25 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
07:12:32 × zx quits (637ce278@99-124-226-120.lightspeed.rcsntx.sbcglobal.net) (Quit: Connection closed)
07:15:48 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:21:08 <b4er> Is this not co-applicative?
07:21:49 <b4er> Identity can also be an instance btw, but it's not really interesting ;P
07:22:05 × jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds)
07:22:07 <b4er> Ah no, you also need pure too
07:22:44 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 272 seconds)
07:23:26 chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de)
07:23:27 knupfer joins (~Thunderbi@200116b82c666e00a07dcffffebc6b68.dip.versatel-1u1.de)
07:23:43 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
07:24:07 × knupfer quits (~Thunderbi@200116b82c666e00a07dcffffebc6b68.dip.versatel-1u1.de) (Remote host closed the connection)
07:24:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:24:20 knupfer joins (~Thunderbi@200116b82c666e00f1263aa23e408b12.dip.versatel-1u1.de)
07:25:13 jespada joins (~jespada@90.254.245.49)
07:25:58 <mniip> b4er, the "f (a -> b) -> f a -> f b" formulation of applicative is merely a convenient description in haskell. From the category theory PoV, this description is only available in a cartesian closed category. The more general description involves arbitrary monoidal categories and so is not really up for dualization
07:26:27 dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
07:26:51 <idnar> @hoogle .#
07:26:51 <lambdabot> Network.AWS.Data.Headers (.#) :: FromText a => ResponseHeaders -> HeaderName -> Either String a
07:26:52 <lambdabot> Network.AWS.Prelude (.#) :: FromText a => ResponseHeaders -> HeaderName -> Either String a
07:26:52 <lambdabot> Data.Profunctor.Unsafe (.#) :: forall a b c q . (Profunctor p, Coercible b a) => p b c -> q a b -> p a c
07:27:29 <idnar> huh why is that unsafe?
07:27:43 <mniip> because it ignores q
07:28:04 <mniip> it assumes the second argument to be the identity
07:29:43 × tzh quits (~xax@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:30:12 <idnar> oh I see, it's a class method (and also not quite what I wanted)
07:32:18 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
07:34:35 <idnar> @hoogle #.
07:34:35 <lambdabot> Data.Profunctor.Unsafe ( #. ) :: forall a b c q . (Profunctor p, Coercible c b) => q b c -> p a b -> p a c
07:34:35 <lambdabot> Lens.Micro.Internal ( #. ) :: Coercible c b => (b -> c) -> (a -> b) -> a -> c
07:34:35 <lambdabot> Linear.Affine ( #. ) :: Coercible c b => (b -> c) -> (a -> b) -> a -> c
07:38:43 <b4er> mniip, I did not know about that. if there's Comonad there must be Coapplicative but guess not.
07:39:16 <b4er> What is the reason we got Applicative then?
07:39:38 <b4er> I agree, it's convenient but that's probably not the reason
07:40:05 <mniip> monads are a monoid object in the category of endofunctors
07:40:12 <mniip> it's very easy to switch in "comonoid object"
07:40:14 <mniip> and get comonads
07:40:21 <mniip> applicatives not so much
07:40:54 <mniip> applicatives can be seen as lax monoidal functors from the cartesian structure on hask to itself
07:41:03 <mniip> it's not immediately clear what we want to dualize here
07:41:31 <mniip> cocartesian structure? all functors are lax monoidal with respect to it
07:41:56 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
07:42:00 <mniip> (the comonad class has a note about it)
07:42:06 <idnar> @hoogle (a -> b) -> (a -> c) -> a -> (b, c)
07:42:08 <lambdabot> Data.Tuple.Extra (&&&) :: (a -> b) -> (a -> c) -> a -> (b, c)
07:42:08 <lambdabot> Extra (&&&) :: (a -> b) -> (a -> c) -> a -> (b, c)
07:42:08 <lambdabot> Control.Wire.Core (&&&!) :: (a -> b) -> (a -> c) -> (a -> (b, c))
07:42:39 <b4er> I should look at laxity (or whatever the real name is), I don't think I ever read something proper about it=
07:43:09 <mniip> there's the notion of a monoidal functor
07:43:14 <mniip> a functor that preserves monoidal structure
07:43:29 <b4er> I know a bit about these, yeah but not what the lax part means
07:43:31 × matryoshka` quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
07:43:32 <mniip> "lax monoidal functor" is a weaker notion
07:43:48 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
07:44:31 <mniip> instead of a natural isomorphism F A x F B = F (A x B) you look at a mere natural transformation in the forward direction
07:45:29 cfricke joins (~cfricke@unaffiliated/cfricke)
07:46:13 <mniip> there's also something called day convolution
07:46:43 <mniip> it creates a monoidal structure
07:46:43 ulidtko joins (~ulidtko@193.111.48.79)
07:46:50 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
07:46:55 <mniip> and a monoid object in this structure is precisely a lax monoidal functor
07:47:30 <mniip> there's a somewhat dual notion of day convolution of contravariant functors
07:47:32 <b4er> Pierce (the book I'm currently working through) never mentions "laxity" or "day convolutions" it seems but maybe he'll just use different nomenclature
07:48:19 <mniip> which book
07:48:47 <b4er> Pierce's "Basic Category Theory for Computer Scientists"
07:48:57 ulidtko|k joins (~ulidtko@194.54.80.38)
07:49:02 <mniip> :S
07:49:25 <b4er> What?
07:49:38 <mniip> not a fan of that type of literature
07:50:44 <b4er> Makes sense it's got Computer Scientist in its title
07:50:49 <mniip> looking at the contents, this may be a bit above that book's pay grade
07:51:25 × ulidtko quits (~ulidtko@193.111.48.79) (Ping timeout: 240 seconds)
07:52:03 <mniip> (my general sentiment is that in attempting to "dumb down" category theory you lose crucial details, at least, I haven't seen a source that doesn't)
07:53:59 <b4er> It's the feeling I got with all the material from Bartosz who seems fairly popular in Haskell world. But I do like this book
07:54:05 dandels joins (~dandels@unaffiliated/dandels)
07:54:20 × superstar6455 quits (6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Quit: Connection closed)
07:54:32 <mniip> some of bartosz's material is hacked together without any rigor :(
07:54:55 × ericsagnes quits (~ericsagne@2405:6580:0:5100:6bc2:e498:a980:d2bd) (Ping timeout: 272 seconds)
07:55:16 <b4er> It is meant as a light introduction though and I am aware that it is not a proper introduction to category theory. I think it's a good book especially coupled with the exercises
07:55:55 <mniip> have you come across examples of non-concrete non-thin categories
07:56:25 × tsrt^ quits (~hph@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 240 seconds)
07:57:02 tsrt^ joins (~hph@ip98-184-89-2.mc.at.cox.net)
07:57:51 <b4er> If you got a good (book) suggestion I am all ears
07:58:12 <b4er> mniip: I don't think I did
07:58:25 <mniip> unfortunately I don't
07:58:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
07:59:00 <mniip> I read mac lane's book, and it is very pure math heavy, which caused me to learn a ton of pure math (which I found I liked)
07:59:06 <b4er> I had a meeting last week where I got two suggestions, but I forgot the second
07:59:08 <mniip> but I anticipate many won't
07:59:31 <b4er> It's everytime I use Zoom and someone puts it into chat, "yay meeting's over" - logout and stuff's gone ^^
07:59:41 <mniip> there's emily riehl's more recent book which is still pure maths but less "heavey"
08:00:11 <b4er> I'll ask next time I get a chance for a meeting but that'll be a while I think
08:01:20 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
08:01:53 bitmagie joins (~Thunderbi@200116b8066e11002810c42dd768e9a0.dip.versatel-1u1.de)
08:01:58 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
08:02:20 Vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
08:02:30 <mniip> in pure math, category theory is orinally used to formalize some notions of algebraic topology
08:02:52 <mniip> which is why a lot of introductions assume knowledge of topology and algebra
08:03:33 <mniip> on the other hand, category theory is the study of structure, abstraction and generalization. And you can't appreciate an abstraction if you don't have a variety of examples fitting that abstraction
08:03:41 <mniip> which there's plenty in pure math, not so much in cs
08:04:11 <mniip> this is why it's impossible to explain what a monad is
08:04:16 <mniip> you have to toy around with examples
08:05:41 <b4er> It's always Set, arrows over Set and so on (okay, not always but mostly) yah
08:06:57 ericsagnes joins (~ericsagne@2405:6580:0:5100:ac2c:af5:4276:675d)
08:07:06 × Vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
08:10:34 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
08:12:57 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
08:13:33 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
08:15:22 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
08:16:03 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
08:17:26 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
08:17:26 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:3656:64d3:d9bb:432e:acbc) (Ping timeout: 264 seconds)
08:19:24 ADG1089_ joins (~adg1089@122.163.165.143)
08:20:33 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
08:22:48 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
08:24:48 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:3a8e:d956:f43e:d9a3:9155)
08:24:54 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
08:27:48 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 260 seconds)
08:28:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:28:13 niko joins (~niko@freenode/staff/ubuntu.member.niko)
08:28:57 × knupfer quits (~Thunderbi@200116b82c666e00f1263aa23e408b12.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
08:30:13 × proteusguy quits (~proteusgu@cm-58-10-154-202.revip7.asianet.co.th) (Ping timeout: 264 seconds)
08:30:44 kritzefitz joins (~kritzefit@fw-front.credativ.com)
08:32:01 <ukari> why there is some code that can run correctly in ghci but occurs "Overlapping instances" error when compile from file? https://gist.github.com/ukari/edddcd04ca0da3068460a34bb050d736
08:32:35 LKoen joins (~LKoen@119.169.9.109.rev.sfr.net)
08:32:57 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
08:33:16 yoneda joins (~mike@193.206.102.122)
08:34:16 <ukari> And I fix the compile error by change OVERLAPPABLE to INCOHERENT, but get another weird behaviour that type signature of `testRaw` in ghci is different from signature in file
08:34:33 × danso quits (~dan@23-233-104-25.cpe.pppoe.ca) (Quit: WeeChat 3.0)
08:36:12 <int-e> ukari: as a guess, ghci's extended defaulting kicks in, so it picks `Integer` as the type for that 0
08:36:24 <int-e> And indeed testNumber = foo (0 :: Integer) works
08:37:48 <ukari> maybe
08:37:50 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
08:40:54 nineonine joins (~nineonine@50.216.62.2)
08:41:04 <int-e> But that seems to need ExtendedDefaultRules. I thought ghci enabled that, but :show language doesn't report it. Anyway, the module compiles if you add {-# LANGUAGE ExtendedDefaultRules #-}
08:41:51 <ukari> :show language returns NoDatatypeContexts, NondecreasingIndentation
08:42:04 <int-e> I can't fully explain why that makes a difference.
08:42:32 proteusguy joins (~proteusgu@cm-58-10-154-202.revip7.asianet.co.th)
08:43:12 <int-e> ukari: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#type-defaulting-in-ghci "At the GHCi prompt, or with GHC if the ExtendedDefaultRules flag is given, [...]"
08:43:27 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:43:49 × bitmagie quits (~Thunderbi@200116b8066e11002810c42dd768e9a0.dip.versatel-1u1.de) (Quit: bitmagie)
08:44:05 <ukari> int-e, thank you, I compile with {-# LANGUAGE ExtendedDefaultRules #-} and it works as same as ghci
08:44:14 nbloomf joins (~nbloomf@2600:1700:ad14:3020:d8c5:1dbb:568:768a)
08:46:21 knupfer joins (~Thunderbi@200116b82c666e00c4a266fffebc8aba.dip.versatel-1u1.de)
08:46:47 × knupfer quits (~Thunderbi@200116b82c666e00c4a266fffebc8aba.dip.versatel-1u1.de) (Remote host closed the connection)
08:47:01 knupfer joins (~Thunderbi@200116b82c666e00540ca7b495fcd41e.dip.versatel-1u1.de)
08:47:12 pera joins (pera@gateway/vpn/mullvad/pera)
08:48:38 Varis joins (~Tadas@unaffiliated/varis)
08:49:46 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Ping timeout: 246 seconds)
08:51:26 × knupfer quits (~Thunderbi@200116b82c666e00540ca7b495fcd41e.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
08:52:05 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
08:52:24 <dminuoso> Can GHCi tell me which rules exist for a binding?
08:54:41 michalz joins (~user@185.246.204.80)
08:54:47 nineonine joins (~nineonine@50.216.62.2)
08:57:00 kritzefitz joins (~kritzefit@fw-front.credativ.com)
08:57:08 borne joins (~fritjof@200116b864d9bb00b67b1043029333d3.dip.versatel-1u1.de)
08:57:52 wonko7 joins (~wonko7@91.151.74.79)
08:59:19 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
09:01:34 <int-e> dminuoso: oh that would be useful (but I don't think ghci displays rules at all)
09:05:41 jb55 joins (~jb55@gateway/tor-sasl/jb55)
09:05:48 sord937 joins (~sord937@gateway/tor-sasl/sord937)
09:08:08 jpds joins (~jpds@gateway/tor-sasl/jpds)
09:10:20 × dandels quits (~dandels@unaffiliated/dandels) (Ping timeout: 256 seconds)
09:10:25 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Remote host closed the connection)
09:10:42 poljar joins (~poljar@93-139-54-120.adsl.net.t-com.hr)
09:10:56 × drbean quits (~drbean@TC210-63-209-154.static.apol.com.tw) (Ping timeout: 240 seconds)
09:11:22 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-womepahugemfqphs) (Quit: Connection closed for inactivity)
09:13:25 × poljar1 quits (~poljar@93-143-187-222.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
09:17:07 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
09:17:36 mastarija joins (~mastarija@93-136-6-188.adsl.net.t-com.hr)
09:18:49 p-core joins (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
09:22:02 × p-core quits (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Client Quit)
09:22:23 p-core joins (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
09:24:31 × niko quits (~niko@freenode/staff/ubuntu.member.niko) (Ping timeout: 606 seconds)
09:26:43 × xff0x quits (~xff0x@2001:1a81:52c6:7f00:29e8:57ce:ba2b:1f46) (Ping timeout: 260 seconds)
09:27:12 xff0x joins (~xff0x@2001:1a81:52c6:7f00:782f:7bae:5710:c758)
09:27:21 kuribas joins (~user@ptr-25vy0iacr2x8efujlkt.18120a2.ip6.access.telenet.be)
09:28:03 <kuribas> is creating closures expensive in ghc? For example, I want to parse a query into an applicative action, but it has to first parse and validate the whole query before it can apply the action.
09:28:30 <kuribas> So I wonder if the overhead of creating the applicative closure is negligible or not.
09:28:58 <opqdonut> it's cheap
09:29:19 <kuribas> right :)
09:29:20 <opqdonut> the haskell runtime isn't "creating closures" in the same way as an imperative runtime would
09:29:33 christo joins (~chris@81.96.113.213)
09:30:03 <opqdonut> it's graph reduction so closing over some variables is pretty much automatic
09:30:24 nineonine joins (~nineonine@50.216.62.2)
09:30:51 <kuribas> The nice thing with this method is that there is no need for a separate validation step.
09:31:07 <opqdonut> but of course if you have two different options you can measure the performance (perhaps with criterion)
09:31:33 <kuribas> I suppose I'd need to benchmark it first.
09:31:38 <kuribas> I mean profile
09:31:54 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:3a8e:d956:f43e:d9a3:9155) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:34:44 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:35:11 <kuribas> I would think the IO and database access would dominate the runtime. However in this article, they claim that parsing the JSON would be a bottleck: https://hasura.io/blog/architecture-of-a-high-performance-graphql-to-sql-server-58d9944b8a87/
09:35:14 <dminuoso> Is there a name for binary trees in which the second-to-outermost nodes cannot be binary?
09:35:25 <dminuoso> (i.e. the parent of each leaf may not be binary)
09:35:52 <dminuoso> Im thinking of a particular take of a PATRICIA trie
09:36:04 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 265 seconds)
09:36:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
09:37:28 <kuribas> I find it strange that generating JSON using Aeson would be slower than reading stuff from a database.
09:37:49 <kuribas> perhaps there where using toJson, instead of toEncoding?
09:38:07 <dminuoso> It's possible
09:38:20 <dminuoso> But also, aeson isn't exactly high performance
09:38:28 <dminuoso> Despite of what it claims
09:39:13 <kuribas> is there a faster alternative?
09:39:20 <dminuoso> Yes.
09:39:46 <kuribas> toEncoding goes straight to a bytestring builder, so how can you improve that?
09:39:54 <kuribas> dminuoso: which is?
09:41:01 <dminuoso> Ah well, both directions or just encoding?
09:42:13 × troydm quits (~troydm@unaffiliated/troydm) (Ping timeout: 264 seconds)
09:43:00 <kuribas> just encoding
09:43:10 <dminuoso> Even then, aeson uses Text for string data.
09:43:13 <mniip> kuribas, there's very little difference between code and data in the RTS
09:43:26 <dminuoso> That requires conversion from UTF16 to UTF6
09:43:52 <mniip> the only performance difference between (x, y) and (\p -> p x y) is the fact that the former memoizes (sometimes)
09:44:16 × darjeeling_ quits (~darjeelin@122.245.120.137) (Ping timeout: 240 seconds)
09:44:22 niko joins (~niko@freenode/staff/ubuntu.member.niko)
09:45:06 <mniip> oh I guess and the fact that projections out of (,) (selectors) are slightly more optimized
09:45:15 troydm joins (~troydm@unaffiliated/troydm)
09:48:44 <kuribas> dminuoso: I get that it's slower than say directly writing to a buffer in C++, but I just find it hard to believe it's slower than reading from disk.
09:50:16 <kuribas> from the article: "From our benchmarks this approach is roughly 3–6x faster than the transformation function in Haskell"
09:50:29 <kuribas> that includes parsing the query result also...
09:51:26 <kuribas> dminuoso: still curious for the fast Aeson alternative ...
09:51:38 gaussian joins (8cb4f058@gateway/web/cgi-irc/kiwiirc.com/ip.140.180.240.88)
09:52:38 <dminuoso> kuribas: Mmm, I guess for just going into encoding there's just the UTF16 of Text in the way
09:53:01 <dminuoso> Either way, the problem is JSON. :p
09:53:55 <kuribas> dminuoso: not using Text means that my library would need to take ByteString for text fields, which is rather ugly...
09:54:23 <kuribas> but then, how hard can it be to generate JSON?
09:54:25 <dminuoso> You could use text-utf8 I guess?
09:54:52 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
09:54:57 × mastarija quits (~mastarija@93-136-6-188.adsl.net.t-com.hr) (Quit: Leaving)
09:55:24 <kuribas> ah, I didn't about that package.
09:55:36 zar joins (~zar@fw1.ciirc.cvut.cz)
09:55:44 <kuribas> Why not merge it with Text?
09:56:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:56:13 × gaussian quits (8cb4f058@gateway/web/cgi-irc/kiwiirc.com/ip.140.180.240.88) (Client Quit)
09:56:50 <kritzefitz> I think UTF16 performs better than UTF8 in cases, when you don't need UTF8 for external reasons. For example, indexing on UTF16 is O(1), while on UTF8 it is O(n).
09:56:52 <kuribas> then again, mysql-haskell uses normal Text, and most other packages do.
09:57:14 <kuribas> So converting to Utf-8 will not improve things...
09:57:23 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Quit: Leaving)
09:57:26 <kuribas> kritzefitz: indeixing on UTF16 is not O(1)
09:57:31 <mniip> >indexing on UTF16 is O(1)
09:57:34 <mniip> that's a bad, bad lie
09:57:35 <merijn> Text is UTF16 because ICU uses UTF-16 and anyone who needs *serious* unicode processing needs ICU
09:57:45 <kritzefitz> It is not?
09:57:48 <merijn> kritzefitz: No
09:57:54 <merijn> UTF-16 is a variable length encoding
09:57:58 <kritzefitz> Then I stand corrected.
09:58:06 <merijn> Because there are more than 2^16 unicode codepoints
09:58:23 <merijn> kritzefitz: And even if you use UTF-32 you don't get *sensible* O(1) indexing
09:58:23 × hekkaidekapus{ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
09:58:34 <merijn> Because there is no such thing as *sensible* indexing of unicode
09:58:36 <mniip> I mean you can index "codepoints" in O(1)
09:58:38 <merijn> It's literally impossible
09:58:48 <mniip> however "codepoints" are not "characters"
09:58:50 <dminuoso> kuribas: The same thing as usual: We dont have any company who hires 2 experiences Haskellers full time to take care of text-utf8.
09:58:54 <merijn> mniip: Which is why I said *sensible*
09:58:56 <dminuoso> Which would probably be necessary
09:59:04 <merijn> dminuoso: But also, who really cares?
09:59:06 MorrowM joins (~Moshe@bzq-110-168-31-106.red.bezeqint.net)
09:59:26 <merijn> for something like 95% of applications the internals of Text are irrelevant
09:59:44 <mniip> I had a fun time working around wchar_t in C++ the other day
09:59:52 <kuribas> merijn: for performance?
10:00:05 <mniip> now super salty whenever someone goes "look we have 16-bit chars we did it we solved unicode"
10:00:10 <merijn> kuribas: What performance, *exactly*?
10:00:18 darjeeling_ joins (~darjeelin@122.245.120.137)
10:00:26 <merijn> mniip: The width of wchar_t isn't specified to be 16-bit
10:00:28 <kuribas> merijn: writing Text to bytestrings
10:00:31 × LKoen quits (~LKoen@119.169.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
10:00:32 <mniip> it happens to be that though
10:00:46 <merijn> kuribas: How do you think that will be faster?
10:00:53 <mniip> I ended up writing a bunch of code that processes std::basic_string<char32_t>
10:01:05 <mniip> and you'd be surprised by how bad the stdlib support for that is
10:01:07 <merijn> You need to copy anyway, since Text isn't pinned and ByteString is, so you don't get to skip the copy
10:01:17 <kuribas> merijn: because you need to process less data?
10:01:22 <kuribas> merijn: more cache locality?
10:01:26 × p-core quits (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Ping timeout: 240 seconds)
10:01:30 <merijn> And I find it hard to believe that recoding UTF-16 to UTF-8 is that computationally intensive
10:02:08 <merijn> kuribas: I stand by my claim that for 95% of applications (conservative estimate) this doesn't matter shit
10:02:26 <kritzefitz> So what exactly is the reason for using UTF16? I guess (or at least hope) there is some reason why ICU works on UTF16 instead of the more ubiquitous UTF8?
10:02:28 <merijn> kuribas: both your network connections *and* your hard disk are going to be slower than your encoding will be
10:02:46 <kuribas> merijn: perhaps... I am still confused about their claim that Aeson was the bottleneck...
10:02:46 <merijn> kritzefitz: Because ICU predates utf-8 being near universal
10:03:16 <merijn> kuribas: I call BS on that claim without hard and well defined benchmarks
10:03:23 <mniip> kritzefitz, I might be wrong here but it might come from microsoft's sloppy implementation of unicode?
10:03:25 <dminuoso> kritzefitz: Actually UTF-16 is very prevalent.
10:03:39 <merijn> kritzefitz: Same reason Java uses UTF-16 as do the old macOS filesystem and MicroSoft's NTFS
10:04:13 <merijn> mniip: UTF-8 was invented later and not by the unicode consortium
10:04:18 <dminuoso> Java for example internally encodes strings as UTF-16 too.
10:04:35 Rudd0 joins (~Rudd0@185.189.115.103)
10:04:36 <mniip> ah
10:04:45 <kuribas> merijn: indeed, and I am conjecturing that they did something inefficient, like using toJson instead of toEncoding.
10:05:03 <kuribas> merijn: and perhaps an expensive query postprocessing step
10:05:08 <aldum> I remember when I heard about that in Java
10:05:25 <mniip> we had a problem with aeson performance once
10:05:33 <mniip> but that's when we were running aeson on ghcjs
10:05:36 <aldum> I was like "wait, a minute, I can name variables with kanji?" turns out I can
10:05:38 <mniip> so like, understandable have a nice day
10:06:08 <merijn> aldum: Haskell is clearly superior!
10:06:08 <dminuoso> merijn: Anyway, if you deal with large strings in Haskell, then you waste quite a bif of memory.
10:06:20 <opqdonut> json is surprisingly inefficient
10:06:23 <merijn> > let x ☃ y = x*x + y*y in 2 ☃ 3
10:06:24 <lambdabot> 13
10:06:31 <merijn> opqdonut++
10:06:40 <opqdonut> we made a service (in clojure though) that was processing large json requests and responses, and the serde time dominated everything
10:06:42 <merijn> Anyone who gives a shit about encoding performance shouldn't be using JSON anyway
10:06:51 <opqdonut> even though we did db access and computation
10:07:09 <mniip> > let (😼) = (<>) in "hello" 😼 "world"
10:07:11 <lambdabot> "helloworld"
10:07:14 <kuribas> mniip: I wouldn't use ghcjs if I needed even a small bit of performance.
10:07:24 <ph88> hey guys, do you know a few examples when making things strict hurts the code? when is it better to leave things lazy ?
10:07:29 <dminuoso> UTF-8 is space efficient, and if you do string operations you get better locality of reference
10:07:37 <mniip> kuribas, yea but when your ghcjs webapp needs to query some data from the backend, and the data happens to be 100KB of json
10:07:39 <kuribas> ph88: right folds
10:07:44 <merijn> dminuoso: Also, robust to dumbass C code!
10:07:57 <ph88> kuribas, what is it with right folds ?
10:08:19 <merijn> ph88: There are lots of cases where making things strict hurts code
10:08:24 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
10:08:35 × Guest11631 quits (~textual@2603-7000-3040-0000-91cc-b7a0-b6bf-1a42.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:08:50 <merijn> ph88: A strict program will *at best* do the same number of operations as a lazy one, but on average it will do much, much more.
10:08:52 <dminuoso> ph88: "hurts the code" is so generic. Is this just a question "why is lazyness useful"?
10:09:01 Franciman joins (~francesco@host-82-48-174-127.retail.telecomitalia.it)
10:09:06 christo joins (~chris@81.96.113.213)
10:09:17 <kritzefitz> Yes, I was aware that many things use UTF16. But most of the cases I know are only “local” to some component and once you interchange data between different components it is usually done in UTF8. Apparently I assumed there was some non-historic reason for that, but maybe that was wrong.
10:09:31 <dminuoso> kritzefitz: http://utf8everywhere.org/
10:09:35 <dminuoso> You might find this website enlightening.
10:09:36 <mniip> merijn, asymptotically
10:09:47 <ph88> dminuoso, ye but i would like to have it phrased the other way around -- how can strictness be bad and have some good examples
10:09:48 <mniip> in practice the constant might bite
10:09:53 <merijn> ph88: Now there are some space leak scenarios where the laziness costs you more than you save due GHC's implementation, but those aren't nearly as common as some people make it out to be
10:09:53 <kuribas> ph88: right folds are quite efficient, and don't require an accumulator to be efficient, unlike in scheme.
10:10:22 <merijn> kritzefitz: Well, you can't interchange Text, so ;)
10:10:23 × ddere quits (uid110888@gateway/web/irccloud.com/x-nzqxoujubybhmaoy) (Quit: Connection closed for inactivity)
10:10:47 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
10:11:00 <merijn> kritzefitz: That was my earlier point, the internals of Text (like it being UTF-16) are irrelevant to users
10:11:27 <merijn> Unless you're a MagicHash and unsafeX adept
10:11:50 <kuribas> ph88: that is, if the thing you fold is also lazy, like a list
10:12:03 <kuribas> ph88: like map, filter, etc...
10:12:11 <ph88> merijn, i get the idea conceptually i have some problems coming up with good examples to show this point
10:12:12 <dminuoso> Or if the memory efficiency impacts you negatively
10:12:37 <dminuoso> ph88: One example where strictness hurts is lists.
10:12:42 <opqdonut> a strict pipeline of map-filter-map-filter will keep all of your data in memory
10:12:47 <opqdonut> a lazy one is O(1)
10:12:51 <kritzefitz> Sure, from an interface perspective its mostly irrelevant. But the people who implemented those systems that use UTF16 (e.g. the authors of ICU) had to have some reason to use UTF16 instead of UTF8. I just assumed that the reason was, that UTF16 is better suited for the task than UTF8, but apparently that was wrong.
10:12:56 <kritzefitz> merijn, ^
10:13:08 <opqdonut> in a strict world you need something like iteratees to get nice streaming behaviour
10:13:11 <ph88> opqdonut, ah thanks ! that's a good example
10:13:16 <kuribas> ph88: however, lazyness is mostly a design feature, not a performance feature.
10:13:20 <mniip> in the modern world, a truly modern solution would be UTF32
10:13:21 <dminuoso> ph88: In Haskell, we often tend to think of lists as encoding control flow (rather than data). So it being lazy makes it more modular
10:13:22 <opqdonut> I guess even in haskell if you want reliable/provable streaming, you need conduits/pipes
10:13:29 <mniip> "just buy more memory"
10:13:32 <merijn> mniip: >:(
10:13:35 <ph88> thanks dminuoso
10:13:40 <dminuoso> merijn: And buy larger cache lines too? :)
10:13:45 <dminuoso> Err mniip ^-
10:13:49 <mniip> sure
10:13:54 p-core joins (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
10:14:01 × christo quits (~chris@81.96.113.213) (Ping timeout: 264 seconds)
10:14:04 <merijn> kritzefitz: Well, "better suited for the task at the time the task was implemented" ;)
10:14:48 <kuribas> ph88: the goal of lazyness is to make elegant code, without having to sacrifice to much efficiency. However if you want supreme performance, than you better write ugly ass low level C code.
10:15:25 <dminuoso> ph88: Another example where lazyness is beneficial, is bindings that are possibly not used.
10:15:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Ping timeout: 264 seconds)
10:16:33 <MorrowM> head . sort comes to mind
10:17:18 <mniip> my CPU cache fits my entire kernel and loaded modules
10:17:37 <ph88> MorrowM, cool example =)
10:17:41 <mniip> (their text)
10:18:05 <kuribas> ph88: the tradeoff that haskell and lazyness gives you is high level code with fairly good performance. Other languages give you the choice between very good performance and low level code, or very bad performance and high level code.
10:18:29 <dminuoso> I mean the cache line bit is quite interesting actually. In a worst case, where we assume UTF-16 to waste *half* the memory, you waste half your cache too, and it doubles memory accesses..
10:18:46 <mniip> easy
10:18:49 <mniip> just transpose your string
10:18:52 <dminuoso> haha
10:19:18 <ph88> kuribas, how is that done in other languages that you can't have high level code with fairly good performancce? I thought other languages also have good solutions
10:19:28 christo joins (~chris@81.96.113.213)
10:19:35 <kuribas> ph88: I see this in common lisp, our code is supposed to be high level, but it is littered with small hacks for "performance", which make the code a lot less readable.
10:19:55 <dminuoso> ph88: You'd implement the lazyness ad-hoc manually by means of conditional code execution
10:20:02 <dminuoso> Or maybe not at all
10:20:25 <mniip> makes me wonder if writing a byte to a cacheline that is already there marks the cacheline as modified
10:20:31 <kuribas> ph88: what a java programmer considers "good" and "high level" is different from what a haskell programmer does.
10:20:46 <dminuoso> Consider writing something like `f x s t = if x > 10 then s else t` where the second argument to `f` is a very expensive computation
10:21:03 <dminuoso> In Haskell you dont even have to think about it, and you pay for the price of the second argument only when you need it
10:21:13 <dminuoso> In strict world, this needs to be done explicitly
10:21:16 <opqdonut> yeah, laziness obviates macros
10:21:23 <opqdonut> for implementing basic flow-control
10:21:38 zangi joins (~azure@103.154.230.250)
10:21:44 LKoen joins (~LKoen@119.169.9.109.rev.sfr.net)
10:21:53 <kuribas> opqdonut: good point, I find that most macros in lisp can be just done using the language in haskell.
10:22:10 <kuribas> and are also way more readable
10:22:13 <kuribas> and easier to debug
10:22:32 <opqdonut> yes
10:22:37 <opqdonut> cheap HOFs and laziness
10:23:26 <zangi> can anyone explain why f keeps going on forever `f = [1..9] <|> f`, while g stops at first sequence `g = (pure [1..9]) <|> g`?
10:23:29 <kuribas> the lisp way of making DSLs is using macros and lists with symbols.
10:23:30 <dminuoso> mniip: Mmm, that would introduce latency to all writes, wouldn't it?
10:23:48 <dminuoso> Unless there was specialized circuitry that would detect a copy-write
10:23:51 <merijn> zangi: Those use different Alternative instances
10:23:55 × christo quits (~chris@81.96.113.213) (Ping timeout: 246 seconds)
10:24:06 <kuribas> :t let g = pure [1..9] <|> g in g
10:24:08 <lambdabot> (Alternative f, Num a, Enum a) => f [a]
10:24:17 christo joins (~chris@81.96.113.213)
10:24:23 <merijn> zangi: in ghci?
10:24:24 × xsperry quits (~as@unaffiliated/xsperry) ()
10:24:37 merijn puts $10 on "uses the Alternative of IO"
10:24:47 <zangi> merijn: yeah
10:25:19 <kuribas> opqdonut: but then, unlike haskell, lisp doesn't provide any way to describe how these macros or symbol lists need to be formed.
10:25:38 <opqdonut> indeed
10:25:38 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
10:26:15 <merijn> zangi: The 'g' example is using pure to "put" a list into *an* Alternative and ghci just happens to pick IO (which succeeds and ends)
10:26:15 <zangi> merijn: how do I make `g` last forever?
10:26:34 <kuribas> opqdonut: in the end, you mess around on the repl, and dig in the source code, but IMO that's not "high level programming".
10:26:36 <merijn> zangi: The first version uses the Alternative instance of "[]" which is just concat
10:26:48 <merijn> So 'f' is just 'f = [1..9] ++ f'
10:27:26 <zangi> merijn: is there (++) for `IO [Int]`?
10:27:39 <dibblego> @liftA2 (++)
10:27:40 <lambdabot> Unknown command, try @list
10:27:43 <dibblego> @type liftA2 (++)
10:27:44 <lambdabot> Applicative f => f [a] -> f [a] -> f [a]
10:27:46 <merijn> What are you trying to *actually* do
10:27:49 <kuribas> opqdonut: or in other words, people have different opinions on what "high level code" means.
10:28:08 <merijn> What does "making 'g' go forever" even mean?
10:28:13 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-exqmmrztjppnvoxd) (Quit: Connection closed for inactivity)
10:28:42 <kuribas> maybe he wants liftA2 (<|>) ?
10:28:53 <merijn> Maybe
10:28:58 <merijn> Maybe he wants a pony
10:29:06 <merijn> I'm not psychic
10:29:12 <zangi> merijn: I want to generate random numbers which consists of [1..9]s
10:29:19 <kuribas> :t let g = liftA2 (<|>) (pure [1..9]) g in g
10:29:20 <lambdabot> (Applicative f, Num a, Enum a) => f [a]
10:29:25 <merijn> I can come up within infinitely many expressions that match his type
10:29:46 <mniip> merijn, how many non-extensionally-equivalent :P
10:29:46 <merijn> > randomRs (1,9) (mkStdgen 42)
10:29:48 <lambdabot> error:
10:29:48 <lambdabot> • Variable not in scope: mkStdgen :: t0 -> g0
10:29:48 <lambdabot> • Perhaps you meant ‘mkStdGen’ (imported from System.Random)
10:29:52 <merijn> bah
10:29:57 <kritzefitz> merijn, yes I don't want to say it was a bad choice. But when looking at design a choice that was good at the time, it makes a difference if the choice would still be good today or if you would make a different choice today. As I understand it now, UTF16 for ICu seems to fall in the second category.
10:30:00 <merijn> > randomRs (1,9) (System.Random.mkStdgen 42)
10:30:05 <lambdabot> error:
10:30:05 <lambdabot> Not in scope: ‘System.Random.mkStdgen’
10:30:05 <lambdabot> Perhaps you meant one of these:
10:30:09 <mniip> capital G
10:30:11 <mniip> it even tells you
10:30:14 <merijn> oh, doh
10:30:18 <merijn> > randomRs (1,9) (System.Random.mkStdGen 42)
10:30:20 <lambdabot> [1,8,1,3,2,8,5,3,6,9,3,9,2,1,3,3,9,3,3,9,1,7,9,8,6,7,4,2,7,1,3,2,7,4,8,5,3,8...
10:30:26 <merijn> mniip: Pfft, who reads errors?
10:30:32 <mniip> I do :<
10:30:34 <kuribas> let g = liftA2 (<|>) (pure [1..9]) g in g :: Const "pony"
10:30:39 <kuribas> > let g = liftA2 (<|>) (pure [1..9]) g in g :: Const "pony"
10:30:41 <lambdabot> error:
10:30:41 <lambdabot> • Expecting one more argument to ‘Const "pony"’
10:30:41 <lambdabot> Expected a type, but ‘Const "pony"’ has kind ‘k0 -> *’
10:30:55 <kuribas> > let g = liftA2 (<|>) (pure [1..9]) g in g :: Const "pony" [Int]
10:30:57 <lambdabot> error:
10:30:58 <lambdabot> • Expected a type, but ‘"pony"’ has kind ‘GHC.Types.Symbol’
10:30:58 <lambdabot> • In the first argument of ‘Const’, namely ‘"pony"’
10:30:58 <merijn> zangi: If you want random numbers you want randomRs
10:31:04 <merijn> :t randomRs
10:31:05 <lambdabot> (Random a, RandomGen g) => (a, a) -> g -> [a]
10:31:27 <mniip> I think they mean generating the sequence of all finite sequences of [1..9]
10:31:50 <ph88> what are the tradeoffs between Map and HashMap ?
10:32:10 <zangi> each [1..9] has to be unique, i.e [6,9,2,4,3,8,1,7,5] and not [8,9,8,4,8,8,1,8,5]
10:32:37 <merijn> ph88: The trade-offs are "just use Map, because unless you know why you should there's no real reason to use HashMap"
10:33:04 <ph88> please tell me why i should
10:33:13 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
10:33:29 fendor joins (~fendor@178.115.129.78.wireless.dyn.drei.com)
10:33:43 <merijn> "Your key doesn't have an Ord instance" and possibly "you have a hash function that's cheaper than compare"
10:34:02 × guest111` quits (~user@49.5.6.87) (Remote host closed the connection)
10:34:32 <ph88> thanks
10:35:57 <merijn> The worst case complexity of HashMaps is worse, their space usage is worse, seems like they'd be tricky to implement immutably too (but that's a problem for the implementers)
10:36:18 <merijn> And in general "balanced search trees" are just "pretty damn good and everone should stop hating on them"
10:36:47 <opqdonut> for slightly better performance it's best to have k-ary trees with a nice k
10:36:54 <opqdonut> e.g. IntMap does this
10:36:55 <mniip> a lot of the time I even use Map instead of Array
10:37:06 <opqdonut> yeah, same here
10:37:06 <kuribas> merijn: hashmap is also a balanced search tree
10:37:13 <kuribas> merijn: it just hashes first
10:37:26 <mniip> hashmap is more like IntMap than like Map
10:37:43 <int-e> zangi: to produce a random permutation of a list, select one of its elements at random as the first element, then append a random permutation of the remaining elements. Or use a ready-made implementation like https://hackage.haskell.org/package/random-shuffle-0.0.4/docs/System-Random-Shuffle.html
10:37:55 <mniip> which, I forget, is there an Integer-keyed radix tree somewhere on hackage?
10:38:21 <merijn> mniip: lol, so it doesn't even have the (oversold, underdelivering) O(1) best case complexity?
10:38:28 <int-e> https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle is relevant as well, but not too friendly towards a language with immutable data like Haskell.
10:38:41 <merijn> Fisher-Yates!
10:38:51 mastarija joins (~mastarija@93-136-6-188.adsl.net.t-com.hr)
10:38:51 <merijn> One of the most useful and easy algorithms I've learned
10:38:59 thc202 joins (~thc202@unaffiliated/thc202)
10:39:05 <int-e> merijn: of course it does, since the word size and hence the depth of the trie is bounded by a constant
10:39:17 <mniip> "Many operations have a average-case complexity of O(log n). The implementation uses a large base (i.e. 16) so in practice these operations are constant time."
10:39:20 int-e has a terrible feeling of deja vu
10:39:39 <merijn> int-e: By that logic any operation is O(1)
10:39:44 <opqdonut> merijn: I was surprised that it has a fancy name, feels like the obvious way
10:39:47 <int-e> . o O ( On a real computer, everything either fails to terminate or is O(1). )
10:39:48 <merijn> int-e: All data structures are bounded by memory!
10:39:50 <mniip> hashmaps with "O"("1") access are inherently not persistent
10:39:58 <int-e> merijn: I was getting there.
10:40:03 <opqdonut> merijn: or rather, I remember being surprised - -
10:40:06 <mniip> and thus can only exist in State#
10:40:27 <int-e> mniip: DiffArray ... *runs*
10:41:26 <int-e> (Those are no longer popular, fortunately. They're such a terrible, and amazingly expensive, hack.)
10:41:52 <merijn> Fisher-Yates + STVector works well, though
10:42:30 <int-e> opqdonut: what's interesting about hashmap is that it has its own implementation of a Word-indexed map instead of using Data.IntMap, presumably for performance reason.
10:42:33 <int-e> *s
10:43:30 <mniip> I wonder, is union-find inherently non-persistent as well
10:43:32 <kuribas> merijn: any O(log(n)) where n is a physical quantity is O(1).
10:43:46 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
10:44:09 <kuribas> merijn: because physical quantities are limited, and the logarithm is a small upper bound.
10:44:09 <mniip> kuribas, all algorithms are Omega(sqrt(n)) where n is input size
10:44:24 pevby joins (5fa87469@95.168.116.105)
10:45:11 × pevby quits (5fa87469@95.168.116.105) (Client Quit)
10:45:39 Alleria joins (~textual@zrcout.mskcc.org)
10:45:41 <mniip> combining the Bekenshtein bound with the Swarzchild bound with the speed of light bound, if you have n bits of memory it takes at least sqrt(n) time to access them
10:45:47 ubert joins (~Thunderbi@p200300ecdf1ee06ce6b318fffe838f33.dip0.t-ipconnect.de)
10:45:56 <kuribas> mniip: how is sum x O(sqrt(n)) ?
10:46:03 Alleria is now known as Guest57013
10:46:06 <mniip> otherwise your computer collapses into a black hole
10:46:11 <kuribas> mniip: wouldn't that be at least O(n) ?
10:46:17 <int-e> merijn: On a real computer the idea that hashtables have O(1) access is silly given the profound effect that an increased working set size has on caches, and hence memory access time. A trie will be somewhat worse, but you can expect the top levels to be cached, so it's not *much* worse.
10:46:46 <merijn> On a *real* computer big O is all a bunch of hokum and lies
10:46:49 <dminuoso> mniip: Mmm, we had this discussions a few times in here now. I heard some convincing arguments, that the blackhole idea is misleading in the wrong way.
10:47:09 <merijn> "Oh, my entire model is predicated on assumptions that fundamentally untrue and have been over 3 decades!"
10:47:48 <dminuoso> The blog articles (which Im sure you're referring to) make some arguments that this notion of memmory access is sqrt(n) has merits, because it matches real world data.
10:48:03 <merijn> Big O is all lies! It's a conspiracy for math nerds to ask you tricky math questions instead of real world...
10:48:16 merijn is dragged of my the men in white suits and non-descript vans
10:48:25 <mniip> dminuoso, not really
10:48:26 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 240 seconds)
10:48:34 <int-e> merijn: The actual argument should be that hashtables are expected to be faster because they usually get an access done in a single memory access where traversing a trie needs several.
10:48:35 <mniip> I'm just referring to three formulas from physics
10:48:42 <int-e> No O(), just plain numbers.
10:48:43 <merijn> Big O is fake news (fake theorems?)
10:49:12 <int-e> (ignoring the computation of the hash, which both hash tables and hashmap will have to do anyway)
10:49:37 <int-e> (and a couple of other things, like checking the key, which again, both approaches have to do)
10:51:43 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
10:52:00 <mniip> bekenshtein bound gives R > k1 I / M, swarzchild bound gives M < k2 R; together R > k1 I / k2 R, i.e. R^2 > k1 I / k2. Light speed bound gives t > c R, giving t > c sqrt(k1 I / k2)
10:52:08 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:3a8e:d956:f43e:d9a3:9155)
10:52:53 <mniip> where k1 = hbar ln2 / 2 pi c, k2 = c^2 / 2G
10:53:42 <dminuoso> mniip: So the entire argument revolves around the idea, that we should use the physical laws as a model, because that's where be build computers in. So complexity analysis should take them into account, because they tell us about bounds of algorithms, executed on computers built in this reality. Right?
10:53:51 <mniip> not really
10:53:59 <mniip> I'm not being 100% serious here
10:54:08 <dminuoso> Oh.
10:54:27 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
10:54:49 <mniip> the unironical issue here is that asymptotic analysis gives behavior "at infinity" and some functions behave differently at different scales before settling down to some behavior at infinity, and we don't really have the tools to talk about intermediate behaviors
10:54:55 <mniip> at least not commonly known tools
10:56:38 <merijn> mniip: I think my issue is even more crucial :p
10:57:00 <merijn> Which is that *asymptotic behaviour of big O is absolute bogus on any computer anyone actually uses*
10:57:11 <mniip> that's kinda what I said?
10:57:29 <mniip> you wanna know how your function behaves in the 1-1e12 range or so
10:57:46 <merijn> mniip: Well, your comment is "we don't have the tools to talk at range smaller then the asymptotic"
10:58:10 <merijn> My comment is "the asymptotic is a lie, so we don't even have ways to talk about stuff 'at infinity' *either*"
10:58:21 <mniip> we don't?
10:58:31 <nshepperd> in practical engineering big O is just an excuse to do what we normally do, which is dropping terms which look like they'd be small enough to not matter at the values of n we care about
10:58:43 <merijn> mniip: Well no, because Big O asymptotics assume uniform random access, which we don't have
10:58:43 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
10:58:53 <mniip> ah
10:58:54 <mniip> that
10:58:55 <merijn> mniip: And you can't approximate it by averaging either
10:59:17 <mniip> yea I wasn't including a computation model as part of the problem
10:59:18 <merijn> Because you (can) get non-linear affects based on your access pattern
10:59:26 <mniip> I was thinking about just functions N -> N
10:59:26 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
10:59:46 <merijn> In which case it all just crumbles to pieces leaving almost nothing useful :p
10:59:55 <kuribas> merijn: but O notation doesn't measure time, does it?
11:00:03 <kuribas> merijn: it measures number of operations
11:00:12 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Read error: Connection reset by peer)
11:00:12 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
11:00:12 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
11:00:12 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
11:00:12 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
11:00:12 × srk quits (~sorki@gateway/tor-sasl/sorki) (Write error: Broken pipe)
11:00:12 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Write error: Broken pipe)
11:00:12 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Write error: Broken pipe)
11:00:12 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Write error: Broken pipe)
11:00:12 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Write error: Broken pipe)
11:00:12 × livvy quits (~livvy@gateway/tor-sasl/livvy) (Write error: Broken pipe)
11:00:12 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Write error: Broken pipe)
11:00:12 × ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
11:00:13 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Write error: Broken pipe)
11:00:15 <mniip> that depends on your computation model
11:00:17 <merijn> kuribas: Yes, but it assume operations take the same time
11:00:18 <kuribas> or space
11:00:26 <merijn> kuribas: and generally the operation is "memory access"
11:00:33 <kuribas> merijn: I don't think it does, because it's a mathematial model
11:00:39 <merijn> kuribas: But neither our operations *nor* our memory access are uniform
11:00:58 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:01:00 <mniip> we assume that memory access and operations are bounded by a constant
11:01:10 <mniip> which is problematic for large enough n
11:01:10 <merijn> kuribas: If you don't assume operations correspond to some time (or other cost) what does "f(x) > g(x)" tell you?
11:01:44 <kuribas> merijn: that f(x) is bigger than g(x)?
11:01:46 <merijn> kuribas: If f(x) does less operations, but they all take 10x the time as the operations of g(x), the entire comparison is useless
11:01:57 <merijn> kuribas: Right, but that assumes the numbers are comparable
11:02:08 <kuribas> merijn: what is f(x) here?
11:02:13 <merijn> Which is only the case if there is a constant or uniform cost
11:02:29 <kuribas> merijn: that formula tells me nothing
11:02:42 <kuribas> because I don't know what f does, what the type of f or x is...
11:02:42 livvy joins (~livvy@gateway/tor-sasl/livvy)
11:02:48 srk joins (~sorki@gateway/tor-sasl/sorki)
11:02:48 hexo joins (~hexo@gateway/tor-sasl/hexo)
11:02:59 <merijn> kuribas: We have algorithm 'f' which has some asymptotic and algorithm 'g' which has a "worse" asymptotic (i.e. does more operations)
11:03:05 ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
11:03:06 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
11:03:10 <nshepperd> big O notation can measure whatever you want
11:03:12 fradet joins (~glenda@216.252.75.247)
11:03:13 sord937 joins (~sord937@gateway/tor-sasl/sord937)
11:03:25 <opqdonut> like with all theory, you have to squint a bit to make the analogies with the real world work
11:03:25 gxt joins (~gxt@gateway/tor-sasl/gxt)
11:03:26 jb55 joins (~jb55@gateway/tor-sasl/jb55)
11:03:27 <merijn> kuribas: How can you compare these asymptotic results if you don't assume the cost of operations is constant for 'f' and 'g'?
11:03:34 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
11:03:39 jpds joins (~jpds@gateway/tor-sasl/jpds)
11:03:51 <mniip> you can compare them if you know that the cost of operations is bounded
11:03:53 <merijn> kuribas: If you *don't* assume constant cost (as you said) you can't compare these and the asymptotic is useless
11:03:58 <opqdonut> something like O(n) is just short hand for thinking about how much work something does
11:03:59 <kuribas> merijn: you cannot, without benchmarking it.
11:04:01 <merijn> mniip: Right, but you don't know that either!
11:04:03 <opqdonut> if you're a programmer, that is
11:04:17 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
11:04:27 <opqdonut> staring too finely at the asymptotics of fancy datastructures will probably go wrong, but everybody kinda knows that, right?
11:04:27 <merijn> opqdonut: That's the only semi-useful thing about big O, sloppy programmer shorthand :p
11:04:33 <kuribas> merijn: however, it does make sense to try convert O(n) to O(log n), and then check that the second is faster.
11:04:37 <merijn> opqdonut: Lol, optimist
11:04:43 <opqdonut> at least everybody I talk to
11:04:46 <merijn> opqdonut: There's tons of people these things are true
11:04:52 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 246 seconds)
11:04:59 <merijn> opqdonut: You must be talking to the upper quantile of programmers ;)
11:05:03 <merijn> anyway, lunch
11:05:09 <kuribas> merijn: I mean, O notation isn't the whole story, but it's still part of the story...
11:05:10 <mniip> sorting a list of 200 elements is very hard
11:05:26 <kuribas> merijn: and still something programmers should know
11:05:37 <int-e> kuribas: in the end you benchmark and pick the code that is fastest, hoping that the benchmarks were a good model of the real life applications you'll encounter.
11:05:57 <opqdonut> indeed
11:06:32 <kuribas> int-e: and you also want to take malicious attacks into account.
11:06:37 <int-e> You may use big O for extrapolation, while keeping an eye on the memory hierarchy.
11:06:40 <mniip> how did we go from hashtables to philosophy of mathematical modeling
11:06:54 <int-e> kuribas: I don't *want* to! ;-)
11:07:14 <kuribas> int-e: you can say, it's O(n^2), but the input is small. But what if someone deliberately sends you a large input set to bring down the service?
11:07:27 <int-e> kuribas: use UDP ;-)
11:07:29 <kuribas> int-e: right, you may need to then...
11:07:41 × ubert quits (~Thunderbi@p200300ecdf1ee06ce6b318fffe838f33.dip0.t-ipconnect.de) (Quit: ubert)
11:07:48 <kuribas> int-e: how does that solve it?
11:07:56 <int-e> kuribas: limited package size ;)
11:08:02 ubert joins (~Thunderbi@p200300ecdf1ee06ce02324fb94e406b3.dip0.t-ipconnect.de)
11:08:03 <int-e> packet, I mean
11:08:03 hekkaidekapus{ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
11:08:11 <kuribas> ok, you could truncate the input if it gets to big...
11:08:16 <mniip> imagine offering turing incomplete services
11:08:32 <int-e> mniip: ...you mean like in real life?
11:09:02 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
11:09:13 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 264 seconds)
11:11:13 <int-e> . o O ( "sorting a list of 200 elements is very hard" -- you could start practicing with a deck of 52 cards and then work your way up to 200 )
11:12:13 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
11:12:16 × pera quits (pera@gateway/vpn/mullvad/pera) (Quit: leaving)
11:12:30 <mniip> I mean like, doing it efficiently
11:12:54 × daGrevis quits (~daGrevis@unaffiliated/dagrevis) (Remote host closed the connection)
11:13:00 <mniip> it's in that weird area between precomputed sort nets and when logarithmic asymptotic of quicksort kicks in
11:13:22 <int-e> kuribas: well, thanks to you I'm now reminiscing about a pattern matching incident where I asked for matches of foo********bar... which turned out to be handled by a backtracking regexp implementation.
11:13:52 <int-e> It wasn't even deliberate.
11:13:57 <ph88> merijn, here it says that HashMap has more efficient space and time performance http://dev.stephendiehl.com/hask/#unordered-containers
11:14:02 <kuribas> int-e: what was that supposed to do?
11:14:23 <int-e> kuribas: the same as foo*bar, of course
11:14:35 <kuribas> int-e: did you cat run over the keyboard?
11:14:53 <int-e> kuribas: emacs was involved, I hit M-8 instead of S-8 so the * came out 8 times in a row
11:15:07 <mniip> a `concat <$> many (many p)` will generally perform worse than `many p`
11:15:08 <int-e> I glanced at it, decided it should be equivalent.
11:15:11 <mniip> even though the two are equivalent
11:15:27 <int-e> And waited. And waited. And then realization dawned :)
11:16:09 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
11:16:13 vgtw joins (~vgtw@gateway/tor-sasl/vgtw)
11:16:50 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Ping timeout: 264 seconds)
11:21:53 × andrew_znc quits (~andrew@andrewyu.org) (Changing host)
11:21:53 andrew_znc joins (~andrew@unaffiliated/andrew-znc)
11:24:41 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
11:24:46 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
11:25:05 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
11:25:19 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
11:25:50 son0p joins (~son0p@181.58.39.182)
11:25:59 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
11:27:00 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
11:27:17 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:29:48 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 260 seconds)
11:30:23 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 256 seconds)
11:31:03 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
11:32:10 andrew_znc parts (~andrew@unaffiliated/andrew-znc) ("WeeChat 2.3")
11:32:12 gxt joins (~gxt@gateway/tor-sasl/gxt)
11:32:50 petersen joins (~petersen@redhat/juhp)
11:33:16 × jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds)
11:33:31 nullifidian joins (~nullifidi@unaffiliated/nullifidian)
11:34:14 × cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 264 seconds)
11:34:29 jespada joins (~jespada@90.254.245.49)
11:37:44 jmchael joins (~jmchael@87.112.235.234)
11:38:40 <L29Ah> is it me or cabal-install ignores --package-db=clear? https://dpaste.com/2YYAQ8FBF
11:42:02 × kini quits (~kini@unaffiliated/kini) (Ping timeout: 264 seconds)
11:42:22 kini joins (~kini@unaffiliated/kini)
11:44:43 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
11:45:02 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
11:47:55 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 246 seconds)
11:49:36 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 246 seconds)
11:49:50 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Ping timeout: 264 seconds)
11:50:11 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
11:50:23 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
11:53:40 × plutoniix quits (~q@184.82.197.202) (Quit: Leaving)
11:54:20 × borne quits (~fritjof@200116b864d9bb00b67b1043029333d3.dip.versatel-1u1.de) (Quit: WeeChat 3.0)
11:56:32 borne joins (~fritjof@200116b864d9bb00a1d8c9ac4a9e7a6d.dip.versatel-1u1.de)
11:56:34 berberman_ joins (~berberman@unaffiliated/berberman)
11:57:02 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
11:59:24 × borne quits (~fritjof@200116b864d9bb00a1d8c9ac4a9e7a6d.dip.versatel-1u1.de) (Client Quit)
11:59:41 whyworxbutok joins (a7072803@167.7.40.3)
12:01:50 × ericsagnes quits (~ericsagne@2405:6580:0:5100:ac2c:af5:4276:675d) (Ping timeout: 264 seconds)
12:06:52 __monty__ joins (~toonn@unaffiliated/toonn)
12:09:49 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 264 seconds)
12:12:47 drbean joins (~drbean@TC210-63-209-49.static.apol.com.tw)
12:13:02 × MorrowM quits (~Moshe@bzq-110-168-31-106.red.bezeqint.net) (Quit: Leaving)
12:14:20 MorrowM joins (~Moshe@bzq-110-168-31-106.red.bezeqint.net)
12:14:27 ericsagnes joins (~ericsagne@2405:6580:0:5100:7035:540:bf28:536c)
12:15:17 × ubert quits (~Thunderbi@p200300ecdf1ee06ce02324fb94e406b3.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
12:18:28 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
12:18:44 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
12:23:20 <zangi> is there a way to do `f (IO []) = IO []` like `f [] = []`?
12:23:54 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
12:24:08 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
12:24:24 Stanley00 joins (~stanley00@unaffiliated/stanley00)
12:25:30 <c_wraith> zangi: are you look for a function of type [IO a] -> IO [a] ?
12:26:07 <c_wraith> zangi: IO isn't a constructor, so I'm not really sure what you're asking for.
12:28:56 <kritzefitz> zangi, sounds to me like you want `f` to be polymorphic so it can be both `IO [a] -> IO [b]` or `[a] -> [b]`, depending on the type of its argument, correct?
12:29:06 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 265 seconds)
12:29:52 <zangi> something like this https://0x0.st/-z0F.txt
12:30:02 tsaka__ joins (~torstein@athedsl-316921.home.otenet.gr)
12:30:47 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
12:30:49 × todda7 quits (~torstein@ppp-2-84-17-53.home.otenet.gr) (Ping timeout: 264 seconds)
12:31:01 zaquest joins (~notzaques@5.128.210.178)
12:31:24 <kritzefitz> zangi, if you're trying to apply `f` to a value of type `getXs :: IO [a]`, you probably want `fmap f getXs`.
12:33:02 ADG1089__ joins (~aditya@122.163.165.143)
12:33:06 <zangi> I mean inside the f definition contains IO code
12:34:31 <zangi> `f (x:xs) = x : f (turnsToIO xs)`
12:39:37 <MorrowM> perhaps you want mapM/traverse
12:39:56 <MorrowM> @type traverse
12:39:58 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
12:40:06 geekosaur joins (ac3a3b75@172.58.59.117)
12:43:21 cfricke joins (~cfricke@unaffiliated/cfricke)
12:44:32 xsperry joins (~as@unaffiliated/xsperry)
12:45:42 × cfricke quits (~cfricke@unaffiliated/cfricke) (Client Quit)
12:45:51 cfricke joins (~cfricke@unaffiliated/cfricke)
12:48:15 <kritzefitz> zangi, to me it also sounds like you want to use `traverse` or at least something similar. But your example doesn't really give me an idea of what your actual real-world problem is. So I can't make a more specific recommendation.
12:52:04 × mastarija quits (~mastarija@93-136-6-188.adsl.net.t-com.hr) (Ping timeout: 260 seconds)
12:53:06 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
12:54:12 <zangi> kritzefitz: something like this https://0x0.st/-zGT.txt
12:54:56 _Alleria joins (~AllahuAkb@2603-7000-3040-0000-70d9-022a-866f-2250.res6.spectrum.com)
12:55:03 mouseghost joins (~draco@wikipedia/desperek)
12:56:44 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
12:57:38 × Alleria_ quits (~AllahuAkb@2603-7000-3040-0000-21c5-c900-9e1d-bf71.res6.spectrum.com) (Ping timeout: 264 seconds)
12:58:00 ADG1089__ joins (~aditya@122.163.165.143)
12:58:13 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-fieuoudgdzkiaysv)
13:01:34 × xsperry quits (~as@unaffiliated/xsperry) ()
13:01:54 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
13:02:04 ArConan joins (9de62a69@157.230.42.105)
13:03:01 ADG1089__ joins (~aditya@122.163.165.143)
13:03:03 urodna joins (~urodna@unaffiliated/urodna)
13:03:06 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
13:05:56 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
13:06:26 × son0p quits (~son0p@181.58.39.182) (Quit: Lost terminal)
13:07:01 ADG1089__ joins (~aditya@122.163.165.143)
13:08:01 × zangi quits (~azure@103.154.230.250) (Ping timeout: 264 seconds)
13:08:23 zangi joins (~azure@103.154.230.250)
13:11:03 <kritzefitz> zangi, from a type perspective https://gitlab.com/-/snippets/2061706 should work. However, I don't really understand what the function is supposed to do and when I try to run it, it either fails on the `!!` or doesn't terminate at all.
13:11:38 <MorrowM> Are you trying to move a random element to the front of the list?
13:11:59 pera joins (~pera@unaffiliated/pera)
13:12:37 cfricke joins (~cfricke@unaffiliated/cfricke)
13:13:22 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
13:13:43 <MorrowM> Consider separating your pure logic into a function, something like `baz :: Eq a => Int -> [a] -> [a]` and then use bind `(>>=)` to pass in a random number
13:14:31 ubert joins (~Thunderbi@p200300ecdf1ee06ce02324fb94e406b3.dip0.t-ipconnect.de)
13:16:02 <ukari> I found there is a hack way to overlapping instance with constraint for only two types, which could write `foo 0`,`foo "abc"` instead of `foo (0::Int)` `foo ("abc"::String)` . but is this a bad smell?
13:16:13 <ukari> https://gist.github.com/ukari/a0715787899455e593edc4e7f790ef52
13:16:41 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:3a8e:d956:f43e:d9a3:9155) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:17:15 Sheilong joins (uid293653@gateway/web/irccloud.com/x-yybsiwkkxmipzuww)
13:18:10 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Remote host closed the connection)
13:18:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Ping timeout: 264 seconds)
13:18:45 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
13:26:25 brisbin joins (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
13:27:16 Tario joins (~Tario@201.192.165.173)
13:28:43 × Mzg quits (Mzg@s1.ct8.pl) (Ping timeout: 246 seconds)
13:29:54 threestrikes joins (~threestri@cpe-24-243-229-2.hot.res.rr.com)
13:30:39 jfe joins (~user@pool-71-184-149-134.bstnma.fios.verizon.net)
13:31:57 <merijn> ph88: Citation needed
13:33:08 <ph88> merijn, haha :D
13:34:43 <idnar> merijn: https://docs.google.com/spreadsheet/oimg?key=0AiZ8xw4sxde1dDJhSGxGXzdhYzlVS2lZNjNZZEpSZ3c&oid=18&zx=p7xpm3rjnsp2 ;)
13:34:50 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
13:35:13 <merijn> idnar: That is for String types, mostly due to hashing ones then doing lookups being faster than compare every time
13:35:16 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
13:35:43 <merijn> idnar: Generalising that to every key is dangerous
13:36:01 <merijn> Also, still not relevant for most applications
13:36:06 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
13:36:22 <zangi> MorrowM: I'm trying to randomly shuffle a list, e.g. [1,2,3] -> [2,3,1], [3,1,2], [1,3,2], etc
13:36:49 <zangi> kritzefitz: wow, never thought about using do notation
13:36:54 <lortabac> ukari: what is the purpose of this "hack"? avoiding ambiguous types?
13:38:53 <lortabac> ukari: can't you just do 'instance Foo Int where foo = Number' ?
13:40:45 <lortabac> I don't think Foo would be ambiguous, because the type of 'a' can be determined from the argument of 'foo'
13:40:58 Spiff joins (~quassel@102.160.161.107)
13:42:55 <merijn> lortabac: It's ambiguous if you do "foo 1" :p
13:43:05 <merijn> Because 1 *could* be String
13:43:32 <lortabac> I don't understand
13:44:18 <geekosaur> nothig stops you from defining a Num instance for String, and numeric literals get fromIntegral applied to them
13:44:40 <lortabac> oh ok, but this is a different problem
13:44:43 <merijn> lortabac: Yes
13:44:46 <geekosaur> (whether it makes sense is another question, but the compiler doesn't do "makes sense")
13:44:50 <merijn> It's unrelated to overlapping
13:45:15 × drbean quits (~drbean@TC210-63-209-49.static.apol.com.tw) (Ping timeout: 256 seconds)
13:45:15 <lortabac> it's about how to specialize literal integers to 'Int'
13:45:47 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
13:45:57 <geekosaur> sorry, fromInteger
13:46:39 <lortabac> I am not sure avoiding 6 extra chars is worth an incoherent instance
13:47:37 × ADG1089_ quits (~adg1089@122.163.165.143) (Ping timeout: 264 seconds)
13:47:38 <lortabac> especially if the type of the argument can be inferred to be an Int somewhere else in the code
13:49:13 × rmk236 quits (~lcampos@2a02:908:3616:b100:1800:1cb7:353d:300d) (Quit: Leaving.)
13:49:45 <ArConan> @where paste
13:49:45 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
13:51:38 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Remote host closed the connection)
13:51:44 Vulfe_ joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
13:52:24 <ArConan> https://paste.tomsmeding.com/NTX1IjGD
13:53:06 <ArConan> why we use `fmap f` in haskell?
13:53:25 <ArConan> why not use `fmap Tree`?
13:53:45 <__monty__> ArConan: Do you mean the order of arguments?
13:53:53 Mzg joins (Mzg@s1.ct8.pl)
13:54:20 <geekosaur> because you are mapping a function over a Tree, not mapping a Tree over a function
13:54:38 × berberman_ quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
13:54:48 <geekosaur> (I assume you meant Functor instead of Function in that paste)
13:55:02 berberman joins (~berberman@unaffiliated/berberman)
13:55:46 <ArConan> geekosaur: ah ,yes
13:56:13 <ArConan> problem sovled
13:56:20 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
13:56:59 berberman joins (~berberman@unaffiliated/berberman)
13:57:24 vicfred joins (~vicfred@unaffiliated/vicfred)
14:02:02 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
14:03:04 berberman joins (~berberman@unaffiliated/berberman)
14:04:28 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
14:04:41 da39a3ee5e6b4b0d joins (~da39a3ee5@67.23.55.162)
14:05:08 berberman joins (~berberman@unaffiliated/berberman)
14:05:40 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
14:06:36 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
14:06:59 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
14:07:34 berberman joins (~berberman@unaffiliated/berberman)
14:07:45 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
14:07:46 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
14:08:18 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
14:09:06 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
14:10:38 <itai33[m]> is there a program that automatically weakens your dependencies to the largest thing that will compile in haskell/cabal?
14:10:58 <ij> when backtracking and trying to do fairness, does that count as heuristic? is there any similarity between that and A*?
14:11:35 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
14:12:28 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 246 seconds)
14:12:32 <__monty__> itai33[m]: Hackage does have a build matrix which is generated by CI supposedly so the mechanism exists afaict. You'd have to run a ton of builds though.
14:13:40 <__monty__> If you just want a policy to adhere to "package ^>= current-version" and then relaxing it when users report your bounds are too strict is a common way of going about it.
14:14:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
14:15:20 ep1ctetus joins (~epictetus@ip184-187-162-163.sb.sd.cox.net)
14:15:37 <itai33[m]> __monty__: this kind of assumes that my package actually has users though
14:15:46 <itai33[m]> however if it doesn't really i guess this matters a lot less
14:16:12 <__monty__> Yeah, if you're the only consumer you'll just be the one reporting to yourself your bounds are too strict : )
14:16:29 <__monty__> It's also less important for executables than libraries.
14:16:51 <itai33[m]> true true
14:17:12 <itai33[m]> however it seems that getting on the CI is nontrivial
14:17:26 <itai33[m]> idiii asked like 2 months ago and isn't on
14:18:00 <__monty__> What do you mean? Get your package built by hackage CI without publishing to hackage?
14:18:09 × tropico quits (~tropico@unaffiliated/tropico) (Quit: WeeChat 3.0)
14:18:29 <itai33[m]> __monty__: no you have to ask explicitly even if is on hackage already
14:18:46 <__monty__> Ah. Understandable, like I said it's a *lot* of builds.
14:18:46 × carlomagno1 quits (~cararell@148.87.23.10) (Remote host closed the connection)
14:18:58 <__monty__> I imagine only somewhat popular libraries get added.
14:18:59 <itai33[m]> true, maybe they only do it for popular packages
14:19:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Ping timeout: 264 seconds)
14:19:19 × Vulfe_ quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Remote host closed the connection)
14:19:39 <__monty__> I didn't mean use hackage CI btw. I meant hackage CI does it somehow so presumably there's code somewhere which you'd then need to adapt to run conveniently.
14:20:18 <itai33[m]> hmm yeah i'll look into it
14:20:27 <kritzefitz> I think I recently read somewhere that matrix CI should automatically build new packages on Hackage, but in reality it doesn't seem to happen. Unfortunately I couldn't find a reliable information on what is the intended behavior.
14:21:04 Vulfe joins (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8)
14:21:52 Stanley00 joins (~stanley00@unaffiliated/stanley00)
14:23:03 <texasmynsted> I looked on reddit, so, haskell.org, the haskell wiki, etc... What is a good option for hosting prototype haskell web apps? Right now the only thing that I can think of is Amazon EC2.
14:25:12 × jchia__ quits (~jchia@58.32.32.252) (Read error: Connection reset by peer)
14:25:17 × berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
14:25:30 jchia__ joins (~jchia@58.32.32.252)
14:25:45 berberman joins (~berberman@unaffiliated/berberman)
14:27:17 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
14:27:24 MaxRos joins (~MaxRos@bzq-110-168-31-106.red.bezeqint.net)
14:27:31 × MaxRos quits (~MaxRos@bzq-110-168-31-106.red.bezeqint.net) (Client Quit)
14:27:55 berberman joins (~berberman@unaffiliated/berberman)
14:27:56 MaxRos joins (~MorrowM@bzq-110-168-31-106.red.bezeqint.net)
14:28:07 gaussian joins (~gaussian@nat-wireless-140-180-240-88.princeton.edu)
14:28:18 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 260 seconds)
14:29:10 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
14:29:26 carlomagno joins (~cararell@148.87.23.5)
14:29:37 berberman joins (~berberman@unaffiliated/berberman)
14:30:54 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
14:31:28 berberman joins (~berberman@unaffiliated/berberman)
14:31:41 <ij> maybe heroku with custom build packs? just a guess, I haven't tried it
14:32:24 gaussian95 joins (8cb4f058@gateway/web/cgi-irc/kiwiirc.com/ip.140.180.240.88)
14:32:34 <texasmynsted> Good idea. I have not tried heroku in years.
14:32:46 × gaussian95 quits (8cb4f058@gateway/web/cgi-irc/kiwiirc.com/ip.140.180.240.88) (Client Quit)
14:33:13 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 264 seconds)
14:33:22 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
14:35:18 × da39a3ee5e6b4b0d quits (~da39a3ee5@67.23.55.162) (Ping timeout: 272 seconds)
14:37:18 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
14:38:06 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
14:38:35 × gaussian quits (~gaussian@nat-wireless-140-180-240-88.princeton.edu) (Quit: Leaving)
14:38:38 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
14:38:53 gaussian joins (~gaussian@nat-wireless-140-180-240-72.princeton.edu)
14:38:58 gaussian_ joins (~gaussian@nat-wireless-140-180-240-88.princeton.edu)
14:38:59 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
14:39:17 × gaussian_ quits (~gaussian@nat-wireless-140-180-240-88.princeton.edu) (Remote host closed the connection)
14:40:58 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:43:36 cheater joins (~user@unaffiliated/cheater)
14:43:50 <travv0> I use heroku for that, works well
14:48:43 × geekosaur quits (ac3a3b75@172.58.59.117) (Quit: Connection closed)
14:49:43 <itai33[m]> does adding more summed options to a sum type count as a breaking change?
14:50:20 <merijn> itai33[m]: Luckily for you, there is a helpful flowchart!
14:50:27 <merijn> itai33[m]: https://pvp.haskell.org/
14:50:30 <itai33[m]> neat!
14:51:32 <itai33[m]> cool so it does count if the constructors are visible
14:52:04 <itai33[m]> merijn: thanks for the link, is the flowchart new? i feel like i haven't seen it before
14:52:16 <merijn> itai33[m]: Well, depends how you define new :p
14:52:27 <merijn> It's certainly *at least* 2 years old by now
14:52:32 <itai33[m]> i may have only read the pvp faq and not the spec itself
14:52:48 <itai33[m]> yeah okay i just missed the fact that the spec is also there
14:56:13 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
14:56:36 matryoshka joins (~matryoshk@184.75.223.227)
14:59:20 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
15:01:51 × alexelcu quits (~alexelcu@142.93.180.198) (Quit: ZNC 1.8.2 - https://znc.in)
15:02:29 alexelcu joins (~alexelcu@142.93.180.198)
15:04:59 × alexelcu quits (~alexelcu@142.93.180.198) (Client Quit)
15:05:29 alexelcu joins (~alexelcu@142.93.180.198)
15:05:39 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 260 seconds)
15:06:15 xsperry joins (~as@unaffiliated/xsperry)
15:06:23 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
15:07:35 <maralorn> People always complain about the quadratic instances problem of monad stacks. But isn‘t that essentially solved by the MonadTrans class?
15:07:58 <merijn> maralorn: No
15:08:09 <merijn> maralorn: How would that solve it?
15:08:54 sord937 joins (~sord937@gateway/tor-sasl/sord937)
15:09:06 <merijn> maralorn: Sure, you can manually write 'lift' 5 times for each operation, but that's hard "solved"
15:10:59 <maralorn> In this article I got the impression that one instance of the form (MyClass m a, MonadTrans t, Monad m) => MyClass (t m) a, solves it. https://lukasz-golebiewski.github.io/haskell/effects/2021/01/06/overlappable-instances.html
15:11:26 <maralorn> Is that a crazy new idea? Does everyone already do that?
15:11:27 <maralorn> What are the downsides?
15:11:51 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
15:13:06 <merijn> maralorn: It overlaps every possible transformer? :)
15:13:38 <merijn> maralorn: So you can't instantiate the instance for ReaderT, because if overlaps with that one
15:14:10 <maralorn> It does?
15:14:16 <merijn> Well yes
15:14:22 × lawid quits (~quassel@dslb-090-186-127-244.090.186.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
15:14:24 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
15:14:26 <maralorn> You mean I can‘t write this instance for ReaderT?
15:14:30 <merijn> Unless you wanna not define a MonadTrans instance for ReaderT?
15:14:44 <maralorn> Or you I can‘t use that instance with t = ReaderT?
15:15:12 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
15:15:27 <maralorn> Why would there be another instance for MyClass (ReaderT m) a?
15:15:43 <merijn> maralorn: "instance Monad m => MonadReader r (ReaderT r m) where..." overlaps with instance "instance (MonadReader r m, MonadTrans t, Monad m) => MonadReader r (t m)"
15:15:46 <maralorn> And would it be a problem? I mean it would overlap our instance, right?
15:16:11 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
15:16:12 <merijn> maralorn: Why would there be another instance? Because you just defined another instance...
15:16:58 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-fieuoudgdzkiaysv) (Quit: Connection closed for inactivity)
15:16:59 lawid joins (~quassel@dslb-178-005-066-239.178.005.pools.vodafone-ip.de)
15:18:40 <maralorn> Well the blog post says those instances overlap. That‘s why they use OVERLAPPABLE.
15:19:43 <merijn> maralorn: That doesn't solve your problem, because you can get in positions where it's hard to predict what goes on
15:19:59 <merijn> "ReaderT Int (ReaderT Bool m)" How is this resolved
15:20:06 kupi joins (uid212005@gateway/web/irccloud.com/x-ljwqugooccinbszd)
15:20:06 dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net)
15:20:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Ping timeout: 264 seconds)
15:20:49 <maralorn> I don‘t know. Does it get resolved at all?
15:20:50 <merijn> maralorn: Oh, also
15:20:55 <dolio> The `ReaderT Int m` instance is used.
15:21:00 <kupi> is there any way to inline f in the expression a `f` b while still being infix?
15:21:00 <merijn> maralorn: That class still requires multiple lifts
15:21:14 <merijn> Maybe?
15:21:15 <merijn> Anyway
15:21:27 <merijn> Hot take: The mtl classes are bad and you should not use them anyway!
15:21:47 <merijn> kupi: Put an INLINE pragma on 'f'? :p
15:22:07 <merijn> kupi: You can't make composite expressions infix with ``, no
15:22:26 <merijn> kupi: Although I'm curious why it'd matter?
15:23:44 <kupi> because i think "t (div `on` floor) nominalDay" looks better than "(div `on` floor) t nominalDay"
15:23:57 <maralorn> merijn: So how do you stack effects?
15:24:24 Jd007 joins (~Jd007@162.156.11.151)
15:24:31 <merijn> maralorn: The classes are too general to count as useful effects
15:24:33 × phasespace quits (~sar@80-89-47-117.inet.signal.no) (Ping timeout: 265 seconds)
15:25:18 <merijn> The class style polymorphism is great for higher level, DSL-like operations that are unique (like logging, database access, etc.)
15:25:18 <kupi> hmm i can "(t & (div `on` floor)) nominalDay"
15:25:23 <maralorn> Ah, I remember that point. You prefer a (ReadMyAppState m) Constraint?
15:25:25 knupfer joins (~Thunderbi@87.123.206.193)
15:26:19 <merijn> maralorn: MonadReader isn't close to unique, lots of different things use that and libraries that expose MonadReader as part of their API are automatically incompatible on account of having conflicting requirements on MonadReader
15:26:35 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:14ba:8187:11f3:2cd8) (Remote host closed the connection)
15:27:24 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
15:27:35 pera joins (pera@gateway/vpn/mullvad/pera)
15:27:37 gaussian_ joins (uid482612@gateway/web/irccloud.com/x-wvvzwlxqofinemam)
15:27:46 × gaussian quits (~gaussian@nat-wireless-140-180-240-72.princeton.edu) (Quit: Leaving)
15:27:47 mmmattyx joins (uid17782@gateway/web/irccloud.com/x-vpawruibcbfaslfq)
15:27:47 gaussian_ is now known as gaussian
15:27:58 <merijn> maralorn: In my own code I have stuff like MonadX classes, but specific for my application
15:28:14 idups joins (~pandora@business-90-187-28-109.pool2.vodafone-ip.de)
15:28:29 <merijn> maralorn: And where possible you should not be exposing "monad stacks" as part of your API, they should just be an opaque newtype
15:28:48 <maralorn> Yeah.
15:30:59 azure1 joins (~azure@103.154.230.250)
15:31:05 Deide joins (~Deide@217.155.19.23)
15:32:24 <maralorn> One of the annoyances of MonadReader is that you cannot use mapReaderT on (MonadReader r m => m)
15:33:02 idups parts (~pandora@business-90-187-28-109.pool2.vodafone-ip.de) ()
15:33:06 Vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
15:34:12 × zangi quits (~azure@103.154.230.250) (Ping timeout: 256 seconds)
15:34:15 <dolio> It doesn't necessarily make any sense.
15:34:37 <dolio> You can have instances that only work for a fixed `r`.
15:38:55 × azure1 quits (~azure@103.154.230.250) (Ping timeout: 246 seconds)
15:39:10 danso joins (~dan@23-233-104-25.cpe.pppoe.ca)
15:39:18 azure1 joins (~azure@103.154.230.250)
15:40:27 jamm joins (~jamm@unaffiliated/jamm)
15:41:41 × xff0x quits (~xff0x@2001:1a81:52c6:7f00:782f:7bae:5710:c758) (Ping timeout: 272 seconds)
15:41:42 phasespace joins (~sar@89-162-33-21.fiber.signal.no)
15:42:27 xff0x joins (~xff0x@2001:1a81:52c6:7f00:785f:53ed:cde5:7b1a)
15:45:47 <maralorn> Fair enough
15:46:41 <maralorn> Well than maybe I am looking for a class which is more restrictive in that sense …
15:47:00 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds)
15:48:38 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
15:52:25 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
15:53:23 jonathanx_ joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
15:53:30 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: No route to host)
15:55:22 × Vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
15:58:21 × jonathanx_ quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds)
16:00:35 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:01:14 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
16:01:21 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
16:01:35 <texasmynsted> thank you travv0 and ij.
16:02:12 × ericsagnes quits (~ericsagne@2405:6580:0:5100:7035:540:bf28:536c) (Ping timeout: 260 seconds)
16:03:57 × atraii quits (~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Quit: ZNC 1.7.5 - https://znc.in)
16:04:21 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
16:05:43 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
16:05:46 atraii joins (~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
16:08:57 × ArConan quits (9de62a69@157.230.42.105) (Quit: Connection closed)
16:10:28 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
16:11:36 niekvand_ joins (~niekvande@89.205.135.50)
16:11:56 × Spiff quits (~quassel@102.160.161.107) (Ping timeout: 240 seconds)
16:13:39 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
16:13:51 mastarija joins (~mastarija@188.252.196.94)
16:14:37 ericsagnes joins (~ericsagne@2405:6580:0:5100:5879:2dc6:16a6:5fa5)
16:15:00 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 256 seconds)
16:16:10 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
16:18:10 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
16:20:18 × ubert quits (~Thunderbi@p200300ecdf1ee06ce02324fb94e406b3.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:20:30 × niekvand_ quits (~niekvande@89.205.135.50) (Read error: Connection reset by peer)
16:20:50 × jamm quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
16:20:51 ubert joins (~Thunderbi@p200300ecdf1ee03ee02324fb94e406b3.dip0.t-ipconnect.de)
16:21:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Ping timeout: 264 seconds)
16:21:57 Spiff joins (~quassel@102.160.161.107)
16:23:12 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
16:23:58 × michalz quits (~user@185.246.204.80) (Remote host closed the connection)
16:24:08 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
16:28:40 × threestrikes quits (~threestri@cpe-24-243-229-2.hot.res.rr.com) (Ping timeout: 272 seconds)
16:29:10 × atraii quits (~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Ping timeout: 256 seconds)
16:29:12 hiroaki_ joins (~hiroaki@ip4d166c42.dynamic.kabel-deutschland.de)
16:29:23 alexcleac joins (~alexcleac@213.111.86.105)
16:31:43 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
16:32:46 ciderpunx[m] joins (ciderpunxm@gateway/shell/matrix.org/x-wtxjlxxcorbdpyii)
16:38:49 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
16:41:27 threestrikes joins (~threestri@cpe-24-243-229-2.hot.res.rr.com)
16:43:53 roconnor joins (~roconnor@host-104-157-225-60.dyn.295.ca)
16:45:23 Saukk joins (~Saukk@83-148-239-3.dynamic.lounea.fi)
16:46:25 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
16:46:26 <ezzieyguywuf> hah, ok back to my "ambiguous module" thing from yesterday - I think it may actually be related to doctests? `cabal unpack pcre-heavy; cd pcre-heavy-1.0.0.2; cabal test` will result in "Ambiguous module" error if both "base-compat" and "base-compat-batteries" are listed in `ghc-pkg list`
16:46:48 <ezzieyguywuf> so I'm using cabal-install now, which I think _should_ use `-hide-all-packages`
16:46:53 <ezzieyguywuf> so something wonky is happening!
16:48:03 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
16:48:16 × roconnor quits (~roconnor@host-104-157-225-60.dyn.295.ca) (Ping timeout: 240 seconds)
16:48:22 roconnor_ joins (~roconnor@host-104-157-225-60.dyn.295.ca)
16:49:01 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
16:49:44 tzh joins (~xax@c-24-21-73-154.hsd1.wa.comcast.net)
16:50:16 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
16:50:56 Lord_of_Life_ is now known as Lord_of_Life
16:56:15 geekosaur joins (42d52137@66.213.33.55)
17:00:47 _noblegas joins (uid91066@gateway/web/irccloud.com/x-nggbacvcifzzsyid)
17:02:13 × Spiff quits (~quassel@102.160.161.107) (Ping timeout: 246 seconds)
17:04:36 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
17:06:49 jamm joins (~jamm@unaffiliated/jamm)
17:07:00 × threestrikes quits (~threestri@cpe-24-243-229-2.hot.res.rr.com) (Remote host closed the connection)
17:07:17 <ezzieyguywuf> `ghc-pkg hide base-compat-batteries` fixes things, but I don't really understand why this is needed, and seems fragile
17:07:34 <ezzieyguywuf> I'd love to file a bug report if that's appropriate, but I could use some help first understanding what's going on.
17:08:20 plutoniix joins (~q@node-uib.pool-125-24.dynamic.totinternet.net)
17:09:22 <merijn> ezzieyguywuf: Which version of cabal-install?
17:09:53 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
17:10:17 <ezzieyguywuf> merijn: 3.2.0.0
17:10:22 <ezzieyguywuf> I believe that's the latest...
17:10:32 <ezzieyguywuf> cabal v3.2.1.0
17:11:12 <merijn> And you didn't have to specify a database location for ghc-pkg? Because that sounds like you somehow got something in your global package db (which, iirc, causes cabal-install to pin that version)
17:11:26 × jamm quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
17:12:07 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:8cf9:a684:8b01:4d31)
17:12:09 × azure1 quits (~azure@103.154.230.250) (Quit: WeeChat 2.9)
17:12:13 <ezzieyguywuf> merijn: I have ghc installed using my package manager, as well as all the dependencies of prce-heavy
17:12:34 <ezzieyguywuf> so `cabal test --dry-run` says it only needs to build pcre-heavy, everything else comes from the system-wide package db
17:13:14 <merijn> hmm, I'm not sure why that'd happen and it's dinner time now, so someone else will have to guess
17:13:48 <ezzieyguywuf> merijn: thanks for trying!
17:14:00 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:d8c5:1dbb:568:768a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:14:07 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 246 seconds)
17:14:30 × pera quits (pera@gateway/vpn/mullvad/pera) (Ping timeout: 256 seconds)
17:15:05 × CindyLinz quits (~cindy_utf@112.121.78.20) (Ping timeout: 240 seconds)
17:15:57 nbloomf joins (~nbloomf@2600:1700:ad14:3020:989c:f9b9:87c4:db9d)
17:19:42 × veverak quits (~squirrel@ip-89-102-98-161.net.upcbroadband.cz) (Quit: WeeChat 2.3)
17:20:23 conal joins (~conal@64.71.133.70)
17:20:54 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
17:22:48 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
17:22:53 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
17:23:10 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
17:23:51 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
17:24:40 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
17:25:25 × mastarija quits (~mastarija@188.252.196.94) (Quit: Leaving)
17:25:38 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
17:26:52 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
17:29:05 × geekosaur quits (42d52137@66.213.33.55) (Ping timeout: 248 seconds)
17:29:13 Tops2 joins (~Tobias@dyndsl-095-033-020-049.ewe-ip-backbone.de)
17:29:55 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
17:30:09 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds)
17:31:43 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
17:32:04 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
17:32:43 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
17:33:18 nineonine joins (~nineonine@50.216.62.2)
17:37:17 conal joins (~conal@64.71.133.70)
17:39:04 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:39:12 × Saukk quits (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection)
17:39:59 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Remote host closed the connection)
17:40:59 ashepelev joins (~ashepelev@217.146.82.202)
17:42:33 geekosaur joins (42d52137@66.213.33.55)
17:43:10 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
18:00:23 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
18:01:40 Noldorin joins (~noldorin@unaffiliated/noldorin)
18:07:04 × slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Ping timeout: 260 seconds)
18:11:36 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
18:12:40 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
18:14:28 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (Quit: leaving)
18:15:29 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
18:16:41 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
18:17:10 carthia joins (~carthia@gateway/tor-sasl/carthia)
18:17:22 × rajivr quits (uid269651@gateway/web/irccloud.com/x-gknvnupcsrvhzqnh) (Quit: Connection closed for inactivity)
18:18:50 <ezzieyguywuf> hm, this seems like a clue...https://github.com/ekmett/lens/commit/d2459a012b5d9c2ae011814143ffcba4e9324ea9
18:19:30 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds)
18:19:48 christo joins (~chris@81.96.113.213)
18:22:44 × knupfer quits (~Thunderbi@87.123.206.193) (Quit: knupfer)
18:22:48 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
18:22:49 knupfer1 joins (~Thunderbi@200116b82c666e004c059dad5af23240.dip.versatel-1u1.de)
18:23:10 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
18:23:37 × wonko7 quits (~wonko7@91.151.74.79) (Ping timeout: 264 seconds)
18:24:57 × knupfer1 quits (~Thunderbi@200116b82c666e004c059dad5af23240.dip.versatel-1u1.de) (Read error: Connection reset by peer)
18:25:07 knupfer joins (~Thunderbi@200116b82c666e001d22309f07016899.dip.versatel-1u1.de)
18:26:23 × knupfer quits (~Thunderbi@200116b82c666e001d22309f07016899.dip.versatel-1u1.de) (Client Quit)
18:26:27 knupfer1 joins (~Thunderbi@200116b82c666e0049063d7826f1d858.dip.versatel-1u1.de)
18:26:41 × knupfer1 quits (~Thunderbi@200116b82c666e0049063d7826f1d858.dip.versatel-1u1.de) (Client Quit)
18:26:58 knupfer joins (~Thunderbi@200116b82c666e00c43fa4a0f4acdbbe.dip.versatel-1u1.de)
18:27:24 knupfer1 joins (~Thunderbi@87.123.206.193)
18:27:28 × knupfer quits (~Thunderbi@200116b82c666e00c43fa4a0f4acdbbe.dip.versatel-1u1.de) (Read error: Connection reset by peer)
18:27:33 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
18:27:34 × knupfer1 quits (~Thunderbi@87.123.206.193) (Read error: Connection reset by peer)
18:27:38 knupfer joins (~Thunderbi@200116b82c666e004ddb2b2b9fc7da22.dip.versatel-1u1.de)
18:28:15 Spiff joins (~quassel@102.160.161.107)
18:29:12 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
18:29:44 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
18:30:10 coot joins (~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl)
18:30:12 vicfred joins (~vicfred@unaffiliated/vicfred)
18:30:27 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
18:31:25 <ezzieyguywuf> hm, I think I'm starting to understand, my issue is not at compile-time it is at run-time
18:34:00 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
18:36:40 × whyworxbutok quits (a7072803@167.7.40.3) (Quit: Connection closed)
18:37:03 christo joins (~chris@81.96.113.213)
18:38:12 <ezzieyguywuf> I believe this is the issue I'm seeing!!! https://github.com/sol/doctest/issues/119
18:38:50 <glguy> that does look like a pretty tight fit to what you've described
18:38:57 × geekosaur quits (42d52137@66.213.33.55) (Ping timeout: 248 seconds)
18:39:41 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
18:40:18 <ezzieyguywuf> yea, especially this comment describes it exactly https://github.com/sol/doctest/issues/119#issuecomment-415820972
18:40:54 × Spiff quits (~quassel@102.160.161.107) (Ping timeout: 260 seconds)
18:44:15 × tsaka__ quits (~torstein@athedsl-316921.home.otenet.gr) (Read error: Connection reset by peer)
18:44:46 <ezzieyguywuf> nice: so `cabal v1-configure; cabal v1-build; cabal v1-doctest` resolves the problem
18:45:05 <ezzieyguywuf> I'm still left wondering why it hasn't (yet?) been ported to v2, but it def seems I'm on the right path
18:45:28 tsaka__ joins (~torstein@athedsl-316921.home.otenet.gr)
18:45:30 <merijn> doctest is *hard*
18:46:29 <ezzieyguywuf> lol
18:46:49 <ezzieyguywuf> it seems to be more hard than it's worth honestly, I wonder what the payoff is
18:47:01 <merijn> I think it works in v1 because, essentially, v1 is pretty unprincipled and ad hoc
18:50:08 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-mbazhcqiqbqsbhaw)
18:54:28 geekosaur joins (42d52137@66.213.33.55)
18:55:30 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
18:55:30 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
18:55:30 mouseghost joins (~draco@wikipedia/desperek)
18:56:01 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
18:56:35 gzj joins (~gzj@unaffiliated/gzj)
18:58:40 × carthia quits (~carthia@gateway/tor-sasl/carthia) (Quit: carthia)
19:00:57 ChanServ sets mode +o monochrom
19:01:25 monochrom sets mode -b Smerdyakov!*@*
19:01:26 smerdyakov joins (~dan@5.146.195.145)
19:01:26 ChanServ sets mode +b Smerdyakov!*@*
19:01:26 smerdyakov is kicked by ChanServ (Banned: don't*pick*on*newbies)
19:01:34 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
19:01:46 ChanServ sets mode -b Smerdyakov!*@*
19:02:44 niekvand_ joins (~niekvande@89.205.135.50)
19:02:44 smerdyakov joins (~dan@5.146.195.145)
19:03:35 berberman_ joins (~berberman@unaffiliated/berberman)
19:04:13 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
19:04:36 × recon_-_ quits (~quassel@2602:febc:0:b6::6ca2) (Quit: No Ping reply in 180 seconds.)
19:05:20 conal joins (~conal@64.71.133.70)
19:05:33 × conal quits (~conal@64.71.133.70) (Client Quit)
19:05:54 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 256 seconds)
19:05:55 recon_- joins (~quassel@2602:febc:0:b6::6ca2)
19:06:44 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
19:07:00 jamm joins (~jamm@unaffiliated/jamm)
19:07:25 × mmmattyx quits (uid17782@gateway/web/irccloud.com/x-vpawruibcbfaslfq) (Quit: Connection closed for inactivity)
19:07:39 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
19:07:58 christo joins (~chris@81.96.113.213)
19:09:01 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
19:09:34 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
19:10:02 rwdrich joins (560395a9@cpc159427-cmbg20-2-0-cust424.5-4.cable.virginm.net)
19:10:32 hyperisco joins (~hyperisco@d24-57-249-233.home.cgocable.net)
19:10:48 conal joins (~conal@64.71.133.70)
19:11:01 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 264 seconds)
19:11:22 × jamm quits (~jamm@unaffiliated/jamm) (Ping timeout: 246 seconds)
19:12:12 <hyperisco> I have a list xs , and I have takeWhile p xs and dropWhile p xs … if takeWhile p xs evaluates first, I already know where dropWhile p xs starts. How can I share this knowledge?
19:12:12 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
19:12:44 christo joins (~chris@81.96.113.213)
19:13:01 <merijn> eh, there was one in Data.List
19:13:25 Tario joins (~Tario@201.192.165.173)
19:13:27 <merijn> Ah
19:13:29 <merijn> :t span
19:13:30 <lambdabot> (a -> Bool) -> [a] -> ([a], [a])
19:13:36 <hyperisco> operationally, reaching the end of takeWhile p xs should assign the tail to a variable, and dropWhile p xs should read that variable or force takeWhile p xs if it is not assigned
19:13:57 <merijn> hyperisco: It even mentions takeWhile + dropWhile in the docs :p
19:15:02 <c_wraith> and the implementation is careful to be lazy enough to meet that operational guideline
19:15:18 <xerox_> @src span
19:15:18 <lambdabot> span _ xs@[] = (xs, xs)
19:15:18 <lambdabot> span p xs@(x:xs') | p x = let (ys,zs) = span p xs' in (x:ys,zs)
19:15:18 <lambdabot> | otherwise = ([],xs)
19:15:38 <c_wraith> that's actually the implementation in base, which is uncommon. :P
19:15:46 × dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 256 seconds)
19:15:54 <c_wraith> The @src command doesn't usually give back the real implementation
19:16:15 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
19:16:16 × cyphase quits (~cyphase@unaffiliated/cyphase) (Ping timeout: 246 seconds)
19:16:19 <hyperisco> is that stack safe?
19:16:25 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
19:16:50 ukari joins (~ukari@unaffiliated/ukari)
19:17:01 christo joins (~chris@81.96.113.213)
19:17:06 cyphase joins (~cyphase@unaffiliated/cyphase)
19:17:28 <hyperisco> I guess the recursion is guarded as long as the tuple pattern match is lazy, but I don't think it is
19:18:06 <c_wraith> I don't see a case on the tuple
19:18:27 <hyperisco> do you know how let patterns are desugared?
19:18:31 <c_wraith> yes
19:18:39 <c_wraith> they're irrefutable matches
19:18:47 <hyperisco> oh, okay
19:19:06 × kupi quits (uid212005@gateway/web/irccloud.com/x-ljwqugooccinbszd) (Quit: Connection closed for inactivity)
19:20:56 <jfe> hi all. has anyone thought of building a "big data" frontend for haskell? seems like lazy evaluation would be a good fit for that space.
19:21:19 <merijn> Define "big data"
19:21:30 <merijn> In my experience basically no one has big data to begin with >.>
19:21:30 <jfe> no.
19:21:34 <jfe> :)
19:21:47 × christo quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
19:21:50 <merijn> Oh well, then it's easy
19:21:57 <merijn> "Yes, no, maybe, it depends"
19:22:19 <jfe> i agree with you, hardly anyone has the scale of data necessary to justify the tools.
19:22:50 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
19:22:51 <jfe> that's a separate topic though. i'm saying, for those who do...
19:22:59 <jfe> s/saying/asking/
19:23:16 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:23:38 <merijn> tbh, laziness isn't really that desirable for that anyway. You'd sooner want something like the streaming libraries instead
19:23:46 × sakirious quits (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Quit: The Lounge - https://thelounge.chat)
19:25:03 sakirious joins (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
19:25:03 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Remote host closed the connection)
19:25:06 × sakirious quits (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Client Quit)
19:25:30 dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net)
19:25:36 × fradet quits (~glenda@216.252.75.247) (Ping timeout: 240 seconds)
19:25:47 <dminuoso> Re "big data". It kind of reminds me how often I hear people talking about "we have this big database", just to realize they have talkes with a few hundred thousand rows...
19:26:12 <dminuoso> *tables
19:26:36 <merijn> dminuoso: Oh, my SQLite database is big data, then \o/
19:27:43 <dminuoso> merijn: Well the term "big data" is just a buzzword people throw around with their circlejerk buddies. It has no coherent meaning, but managers do like it because they confuse correlation and causality, hoping that if they too accumulate data like Google, they will become a tech giant..
19:28:03 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
19:28:07 <dminuoso> And you can just use it everywhere and impress the other folks who are just as clueless are you.
19:28:12 × iteratee quits (~kyle@162.211.154.4) (Read error: Connection reset by peer)
19:28:39 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
19:29:12 <dminuoso> On a technical level, it frequently is about people having terribly inefficient programs and datahousing, and lack of algorithmic skills...
19:29:12 <c_wraith> It's fun that even people who are tech-savvy in general seem to not understand just how fast computers are. A million records? That's nothing for a linear scan!
19:29:28 <dminuoso> But hey, if you can just throw machine learning on it, you have two cyber technologies now.
19:29:28 <__monty__> Can we at least posit a lower bound, something like "If it fits on a single machine, it's not big data."
19:30:27 <monochrom> Yes, I usually do that.
19:31:03 <monochrom> Note that it is time varying (every year, even new PCs get a larger disk). But it's OK.
19:31:19 iteratee joins (~kyle@162.211.154.4)
19:31:30 <c_wraith> reminds me of an older book on managing large datasets. It's actually a pretty good book. But it's old enough that the title is "Managing Gigabytes". These days, you do that by "loading it into RAM".
19:31:50 <dminuoso> My main problem with "big data" is how relative it is. Say you have two datasets of a billion rows, and you want to find some common dataset between them, you could either be smart and perhaps sort them in some manner or put them into a datastructure and operate on them..
19:32:13 <dminuoso> Or you just give up, do the naive brute force attempt, and fail because its computationally too expensive, label it as "big data", and have your reason to buy expensive "big data analyst tool"
19:32:50 <MrMobius> I dont think thats what they mean by big data
19:33:00 <monochrom> I also want to point out that serious, professional, niche big data exists. It is just that average people want to look impressive by hijacking the name for their puny problem domains, spoiling the whole thing.
19:33:18 kritzefitz joins (~kritzefit@212.86.56.80)
19:33:32 <dminuoso> Right.
19:33:33 <monochrom> At the scale of Google, Microsoft, and NSA, they do have big data.
19:33:49 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 264 seconds)
19:34:04 <monochrom> But every one-person company is also going to claim "I have big data" and "I want to motivate my employees like Google does".
19:34:21 wonko7 joins (~wonko7@2a01:e35:2ffb:7040:55a5:81b6:6cbc:13ed)
19:34:32 <merijn> monochrom: By crushing any rumours of unionization? >.>
19:34:32 <monochrom> Fact: If you don't spend big money, you don't have big data and you have nothing to motivate your employees.
19:34:59 <monochrom> Heh, but they also free gourmet food and free game rooms.
19:35:10 <monochrom> s/also/offer/
19:35:54 <monochrom> probably better wording: "I want my employees to be as motivated as Google employees"
19:36:19 <dminuoso> monochrom: Id phrase it differently: big data is when you have highly skilled teams that just can't engineer solutions for the amount of data your business already needs (!) anymore.
19:36:36 <dminuoso> Most companies meddling with "big data" have neither skilled teams, nor do they rely on the data to begin with
19:37:17 <merijn> I think we have drifted offtopic :p
19:37:19 <dminuoso> (that was incomplete, "engineer solutions using regular algorithms and computers")
19:37:20 <monochrom> nor do they provide gourmet food or game rooms
19:39:01 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 246 seconds)
19:39:22 × xsperry quits (~as@unaffiliated/xsperry) (Ping timeout: 246 seconds)
19:39:35 <monochrom> nor "20% of your time can be on personal projects such as learning Haskell" to bring us back :)
19:40:31 <hyperisco> not sure why I was having such a difficult time conceiving of how span works… thanks
19:44:24 cheater joins (~user@unaffiliated/cheater)
19:45:02 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds)
19:45:50 petrus_ joins (~petrus@unaffiliated/petrus)
19:47:59 × jespada quits (~jespada@90.254.245.49) (Quit: Leaving)
19:51:29 × geekosaur quits (42d52137@66.213.33.55) (Ping timeout: 248 seconds)
19:51:45 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
19:53:00 <ski> hyperisco : that tuple pattern match is not strict
19:55:06 × dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Remote host closed the connection)
19:55:29 dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net)
19:57:21 stef204 joins (~stef204@unaffiliated/stef-204/x-384198)
19:59:06 × maerwald quits (~maerwald@mail.hasufell.de) (Quit: gone)
19:59:25 maerwald joins (~maerwald@mail.hasufell.de)
19:59:58 brodie joins (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691)
20:00:32 tomsen joins (~tomsen@2a02:908:1862:49e0::3)
20:01:25 × tomsen_ quits (~tomsen@ip-95-222-214-213.hsi15.unitymediagroup.de) (Read error: Connection reset by peer)
20:02:26 geekosaur joins (42d52137@66.213.33.55)
20:03:39 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
20:04:46 <MrMuffles[m]> <monochrom "Heh, but they also free gourmet "> Gourmet food != motivation
20:05:42 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
20:06:13 tomsen_ joins (~tomsen@2a02:908:1862:49e0::3)
20:08:57 × tomsen quits (~tomsen@2a02:908:1862:49e0::3) (Ping timeout: 272 seconds)
20:09:53 <Kronic> Does anyone know why I might be facing this issue? https://dpaste.org/yqv1 I setup a new IHP project after following the install instructions and generating a default hie.yaml using gen-hie, however it just explodes everytime I try to run the language server resulting in redlines everywhere in neovim
20:10:16 <adamCS> I'm trying to serialize a set of things (in this case vinyl records) to a ByteString. I'm discovering that it is...difficult to do this in a way that doesn't leak memory. I'm using a streamly stream which reads lines from csv, parses the fields and constructs a vinyl Record. Each Record is serialized using cereal (toBS !x = runPut x $! put x). Given that, I've tried various things:
20:10:39 <adamCS> 1. Convert each directly to strict ByteString and concatenate those directly. Slow but doesn't leak.
20:11:09 × rwdrich quits (560395a9@cpc159427-cmbg20-2-0-cust424.5-4.cable.virginm.net) (Quit: Connection closed)
20:11:11 <adamCS> 2. Convert each, then use fast-builder. That does leak.
20:11:48 <adamCS> 3. Use the builder in the bytestring package. That leaks more! Thought I might be doing something very silly with strict vs. lazy bytestrings there.
20:13:05 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
20:13:07 <adamCS> I've even tried to use "deepseq" to force the vinyl Record to be converted somehow more strictly but that doesn't change anything, clarifying that I don't really understand what's happening.
20:14:51 <adamCS> So my question, I guess, is if there is some way to get the memory footprint/no leak of the direct concatenation but the speed of something like the builder? Because my actual data is large enough that the leaky versions are bad.
20:15:18 <adamCS> But also, I would just like to understand what is happening...
20:15:44 × Tops2 quits (~Tobias@dyndsl-095-033-020-049.ewe-ip-backbone.de) (Read error: Connection reset by peer)
20:16:25 × alx741 quits (~alx741@186.178.110.154) (Quit: alx741)
20:16:39 × Noldorin quits (~noldorin@unaffiliated/noldorin) (Read error: Connection reset by peer)
20:17:05 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds)
20:17:56 alx741 joins (~alx741@186.178.110.154)
20:21:30 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
20:21:59 howdoi joins (uid224@gateway/web/irccloud.com/x-vqsmakxboqrscwtf)
20:25:39 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
20:25:51 × knupfer quits (~Thunderbi@200116b82c666e004ddb2b2b9fc7da22.dip.versatel-1u1.de) (Quit: knupfer)
20:26:00 knupfer joins (~Thunderbi@200116b82c666e002d3d942c4792ec8d.dip.versatel-1u1.de)
20:26:13 mmmattyx joins (uid17782@gateway/web/irccloud.com/x-apbaqdtxhenyxhsr)
20:27:55 × knupfer quits (~Thunderbi@200116b82c666e002d3d942c4792ec8d.dip.versatel-1u1.de) (Client Quit)
20:28:03 knupfer joins (~Thunderbi@200116b82c666e00b88474aa382ddc75.dip.versatel-1u1.de)
20:28:29 phittacus joins (bklmatrixo@gateway/shell/matrix.org/x-gtuyyovhujfsszlo)
20:29:07 × knupfer quits (~Thunderbi@200116b82c666e00b88474aa382ddc75.dip.versatel-1u1.de) (Client Quit)
20:29:28 knupfer joins (~Thunderbi@200116b82c666e00cdfc3c5562c54d9e.dip.versatel-1u1.de)
20:29:40 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
20:30:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2) (Ping timeout: 264 seconds)
20:31:30 <nshepperd> isn't the Put type already a builder-like thing
20:31:39 Nahra joins (~Nahra@unaffiliated/nahra)
20:31:48 <merijn> yes
20:32:20 <merijn> Also
20:32:27 <merijn> Consider using binary?
20:32:28 <nshepperd> so why not directly traverse over the list with put
20:33:28 <adamCS> nshepperd: I'll try directly with put. I've been on quite a wander so I might've missed that option.
20:33:43 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
20:33:58 <adamCS> merijn: Why try binary for this?
20:34:02 <nshepperd> what's the difference between binary and cereal
20:34:22 <nshepperd> I've used both before and they seemed basically identical
20:34:34 <glguy> cereal is more or less unmaintained and existed because binary didn't have the features it has now
20:35:30 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
20:35:39 <merijn> cereal serialised to lazy ByteString
20:35:49 <merijn> or was it strict?
20:35:52 <merijn> I forget
20:35:54 <glguy> cereal had a copy of binary's Put
20:36:00 <merijn> either way, one was strict, the other was lazy
20:36:05 <merijn> Now binary does both
20:36:17 <merijn> And cereal is, indeed, mostly unmaintained afaik
20:36:23 <glguy> cereal was for strict bytestrings and had support for isolating subregions with better error reporting
20:36:48 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
20:36:50 <glguy> and then binary stopped being as lazy and exposed a chunk-based interface
20:37:17 <glguy> It came out of an IPsec implementation we did
20:42:28 <adamCS> nsheppard: Using put directly is much leakier!
20:42:40 <adamCS> I thnshepperd: ^
20:42:48 <adamCS> nshepperd ^^
20:43:05 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
20:44:38 <adamCS> using fast-builder, I think it's just the builder stuff itself that is accumulating? I don't see types from the Records themselves. Using put directly, I see acumulating bits os he records. The data, once a single bytestring, is about 10MB. The leaky version using fast builder grows to about 20MB. The put version grows to 115MB.
20:45:00 <merijn> measured how?
20:45:11 <glguy> Is the code online somewhere?
20:45:13 <adamCS> Using heap profiling.
20:45:21 <merijn> Also
20:45:24 <merijn> Define leak :p
20:45:29 <adamCS> It is but it is so very messy.
20:45:50 × geekosaur quits (42d52137@66.213.33.55) (Quit: Connection closed)
20:46:04 <adamCS> Right. Maybe that is just the cost I need to pay for the speed of the builder?
20:46:14 <merijn> maybe?
20:47:31 <adamCS> Though the put thing seems like a leak in the sense that my 100,000 records, which make a 10MB bytestring, generate 40MB of "&:" (a Record constructor) while the bytestring is being built.
20:47:32 dedede joins (~david@81.61.242.182.dyn.user.ono.com)
20:47:32 <nshepperd> maybe you have too many !s
20:48:11 <adamCS> And I'm pretty sure that I've done the biographical thing and a lot of those are "void" which, I think, means never used.
20:48:18 <adamCS> But to be fair, that was a while back.
20:48:38 <adamCS> nshepperd: ?
20:49:53 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
20:49:54 geekosaur joins (42d52137@66.213.33.55)
20:49:55 × tomsen_ quits (~tomsen@2a02:908:1862:49e0::3) (Remote host closed the connection)
20:50:14 kw joins (d4662d5d@212.102.45.93)
20:50:14 heatsink joins (~heatsink@2600:1700:bef1:5e10:d4d8:4447:1149:eaf2)
20:50:16 tomsen_ joins (~tomsen@2a02:908:1862:49e0::2)
20:50:18 × thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202)
20:51:05 <nshepperd> using bang patterns to make things strict sometimes makes memory usage worse
20:52:00 <adamCS> More generally, I have assorted situations where I have a stream of Records. Some folds of those streams do not "leak" (fair point that I am not defining that precisely), like a fold which uses mutable vectors to build a "Frame". But this fold to bytestring does, unless I concatenate each bytestring directly. And another which tries to put them in something like and Boxed vector (a streamly array type).
20:53:09 <adamCS> nshepperd: so far, adding the "!" has resulted in the leaks being smaller, in the sense of peak memory reached to do the same task is overshooting the "no-leak" case by less.
20:53:22 <adamCS> But I haven't tried all possible combinations.
20:53:25 <adamCS> :)
20:53:35 × dedede quits (~david@81.61.242.182.dyn.user.ono.com) (Quit: Leaving)
20:53:46 conal joins (~conal@64.71.133.70)
20:53:46 × conal quits (~conal@64.71.133.70) (Client Quit)
20:53:49 <kw> Does the Functor law `forall f g. fmap g . fmap f  =  fmap (g . f)` conventionally include the case of `g _ = ()` and `f = undefined`? Or are strict tuple Functor instances given a pass?
20:54:08 conal joins (~conal@64.71.133.70)
20:54:08 × conal quits (~conal@64.71.133.70) (Client Quit)
20:54:59 conal joins (~conal@64.71.133.70)
20:55:05 <nshepperd> maybe the problem is that streamly isn't lazy enough
20:55:11 × conal quits (~conal@64.71.133.70) (Client Quit)
20:55:19 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
20:55:23 × philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
20:55:31 notzmv joins (~user@unaffiliated/zmv)
20:56:03 <merijn> kw: Laws are generally specified as being in a total language
20:56:14 <adamCS> nshepperd: I think I can test that...I can fold the stream to a lazy list and then mconcat that?
20:56:15 <merijn> kw: See also "Fast and Loose Reasoning is Morally Correct"
20:57:10 <kw> Thanks, merijn.
20:57:26 <nshepperd> that probably won't help
20:57:49 <monochrom> `g _ = ()` and `f = undefined` still satisfies the functor law for [] and Maybe.
20:57:51 <merijn> kw: So no one (except a tiny handful of people) cares about strictness of laws, since (at worst) some code that shouldn't work, works anyway
20:58:12 <monochrom> strict tuple can be the oddball here, depending on which category you have in mind.
20:58:51 conal joins (~conal@64.71.133.70)
20:59:14 <monochrom> In most categories that fit well with Haskell's non-strictness, strict tuple is the ignored one because it doesn't stand for product. (vanilla tuple does.)
20:59:52 × slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Ping timeout: 246 seconds)
21:01:11 <nshepperd> adamCS: try folding over your stream with foldr to create the Put action
21:01:20 <kw> @monochrom: Aside from being able to use `seq` to test whether `x :: Vanilla (a, b)` is `undefined` or `Vanilla (undefined, undefined)`.
21:01:20 <lambdabot> Unknown command, try @list
21:01:29 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
21:01:40 <merijn> adamCS: Anyway, if you're serialising 100k records you probably wanna use some streaming solution anyway
21:01:49 <adamCS> nshepperd: Okay..couple minutes...
21:03:05 <nshepperd> actually no, you need to produce the bytestring within that fold too somehow i think
21:03:20 <merijn> binary-conduit or something like that
21:03:22 <adamCS> merijn: Yes. Although loading to Frame works and I often have the much larger (25 Million records) data set in that form. It's these other conversions that cause issues.
21:03:47 Noldorin joins (~noldorin@unaffiliated/noldorin)
21:03:49 × conal quits (~conal@64.71.133.70) (Ping timeout: 264 seconds)
21:04:01 × petrus_ quits (~petrus@unaffiliated/petrus) (Quit: WeeChat 3.0)
21:04:10 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
21:04:52 <adamCS> merijn: Not everything that I do with the data can happen in streaming form.
21:05:51 Vulfe joins (~vulfe@rrcs-23-246-119-132.nys.biz.rr.com)
21:06:36 <adamCS> And once I get the data as a frame, it's fine. But I'm also trying to cache it, on disk and in memory, and that requires rare-but-not-unique loading from csv to records to bytestring, etc.
21:07:20 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
21:08:36 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
21:08:47 <nshepperd> foldr (\x xs -> let b = runPut (put x) in seq b (ByteString.fromStrict b <> xs)) or something
21:09:17 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:10:10 <nshepperd> nah, that won't work either
21:10:12 <adamCS> nshepperd: I'll try that. Lazy list was very bad!
21:10:19 <adamCS> nshepperd: Okay!
21:10:22 <nshepperd> streaming libraries are the worst
21:11:02 <adamCS> nshepperd: why?
21:12:01 <nshepperd> because they're not lazy lists lol
21:12:45 <adamCS> nshepperd: you were thinking foldr because it's like composing functions rather than accumulating results?
21:13:02 <adamCS> which is what the Builders are doing also, somehow?
21:13:17 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
21:13:22 son0p joins (~son0p@181.136.122.143)
21:13:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
21:14:08 <kw> Could be wrong about this but I think Builders just perform unsafe IO on a large mutable buffer.
21:15:10 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
21:15:47 awk joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
21:15:54 <kw> :)
21:16:07 <adamCS> kw: Then the "leak" is more confusing. Then I'd think the heap profile would step up as that buffer is grown and then stop. But it goes up linearly.
21:17:02 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
21:17:28 <adamCS> When I concatenate the strict bytestrings I get the stepping, which makes sense to me. But the linear thing is something allocating as each record is processed.
21:17:46 <Kronic> Anyone catch my question from earlier?
21:17:53 ADG1089_ joins (~adg1089@27.63.60.143)
21:18:52 × p-core quits (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Quit: p-core)
21:18:53 × ADG1089_ quits (~adg1089@27.63.60.143) (Read error: Connection reset by peer)
21:18:55 <nshepperd> your stream is like a reified loop in IO
21:19:25 p-core joins (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
21:19:29 <nshepperd> you need to somehow interleave writing the output bytestring with the io that reads the input
21:20:19 × niekvand_ quits (~niekvande@89.205.135.50) (Remote host closed the connection)
21:21:37 × _noblegas quits (uid91066@gateway/web/irccloud.com/x-nggbacvcifzzsyid) (Quit: Connection closed for inactivity)
21:22:06 mctpyt joins (~mctpyt@unaffiliated/mctpyt)
21:22:08 niekvand_ joins (~niekvande@dhcp-077-249-088-250.chello.nl)
21:22:14 <adamCS> nshepperd: That almost makes sense to me! But why?
21:22:41 × kw quits (d4662d5d@212.102.45.93) (Ping timeout: 248 seconds)
21:25:08 <adamCS> nshepperd: I mean, that's kind of what happens in the direct concat case, right? I'm just building it one record worth of ByteString at a time.
21:26:28 × niekvand_ quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 246 seconds)
21:28:22 <nshepperd> in theory yes, but i dunno if that will automatically evaluate things in the right order
21:30:57 × Noldorin quits (~noldorin@unaffiliated/noldorin) (Quit: Textual IRC Client: www.textualapp.com)
21:31:05 <nshepperd> foldl' (\acc x -> let b = runPut (put x) in seq b (acc <> toBuilder b)) mempty
21:32:13 × brodie quits (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691) (Quit: brodie)
21:32:23 fnurglewitz joins (uid263868@gateway/web/irccloud.com/x-yezkpczvtftthifl)
21:33:39 <nshepperd> this one should result in all the bytestrings existing in memory at once, but not the records
21:33:50 <nshepperd> (use strict bytestring)
21:34:02 <itai33[m]> is a @since haddock appropriate when you just change the type of a function?
21:34:04 <adamCS> nshepperd: I'm going to try it!
21:38:37 brodie joins (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691)
21:42:03 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:43:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:45:01 jneira joins (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64)
21:45:21 <adamCS> nshepperd: fascinating. It does the right thing until, I think, I call the function to get the bytes from the builder. Then it spikes up to even higher than the version I had before. Slow direct concatenation steps up to about 10MB. My previous builder folds go linearly up to about 20MB. This one steps up to about 9MB, then goes fast linear to almost 30MB.
21:45:59 <adamCS> nshepperd: But maybe that's an artifact of something else. Lemme try it all in IO...
21:46:45 <fnurglewitz> hi, I'm trying to use servant's hoistServer to pass (with a reader) a context which could have more than 1 database implementations (eg. a TVar with a Map or a connection pool of a sql database), I defined a typeclass that defines the operations that this "DB" admits but I'm unsure on how I could put them inside the context type, can anyone point me to some code that does this pls?
21:46:50 × ericsagnes quits (~ericsagne@2405:6580:0:5100:5879:2dc6:16a6:5fa5) (Ping timeout: 264 seconds)
21:48:14 × brodie quits (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691) (Quit: brodie)
21:48:21 × fangyrn quits (uid481529@gateway/web/irccloud.com/x-qtoesenwjedcxvhm) (Quit: Connection closed for inactivity)
21:49:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
21:49:10 brodie joins (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691)
21:49:12 × brodie quits (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691) (Client Quit)
21:50:29 × son0p quits (~son0p@181.136.122.143) (Ping timeout: 260 seconds)
21:50:30 <nshepperd> how mysterious
21:51:18 × geekosaur quits (42d52137@66.213.33.55) (Quit: Connection closed)
21:52:10 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
21:53:10 usr25 joins (~usr25@unaffiliated/usr25)
21:55:19 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
21:56:07 usr25 parts (~usr25@unaffiliated/usr25) ()
21:56:51 <mctpyt> hello! a question regarding internationalization, I've been trying to use hgettext but its dependencies seems to be broken, and I also found haskell-gettext and Shakespeare; are there any recommendations on which to use?, I'm not using Yesod and I'd prefer to have gettext, but I wonder which is the most popular approach on Haskell (I only found that Pandoc uses Shakespeare a little bit)
21:58:18 <adamCS> nshepperd: Even weirder. In IO, that version looks like the others, linear growth to about 20MB. Previous version was in a Polysemy stack. Hadn't imagined that would matter but I may as well stay directly in IO for simplicity.
21:58:40 ericsagnes joins (~ericsagne@2405:6580:0:5100:3abe:a88c:1b2d:b08c)
21:59:38 × Inoperable quits (~PLAYER_1@fancydata.science) (Excess Flood)
22:00:43 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
22:01:07 × awk quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 246 seconds)
22:02:03 brodie joins (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691)
22:03:23 Inoperable joins (~PLAYER_1@fancydata.science)
22:04:35 Rudd0 joins (~Rudd0@185.189.115.108)
22:07:25 × ubert quits (~Thunderbi@p200300ecdf1ee03ee02324fb94e406b3.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
22:07:49 polyrain joins (~polyrain@2001:8003:e501:6901:1dd9:2fe6:ccd8:6fc9)
22:13:02 DataComputist joins (~lumeng@50.43.26.251)
22:13:56 × stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Ping timeout: 240 seconds)
22:14:12 <ij> can I add {-# UNPACK #-}s in named records?
22:15:02 × alx741 quits (~alx741@186.178.110.154) (Quit: alx741)
22:15:18 <dolio> Yes.
22:16:02 vst joins (~vst@2406:3003:2004:2e8a:eca7:1543:921c:b50a)
22:16:04 <monochrom> Pretty sure the GHC user's guide has examples of exactly how to do it.
22:16:09 <ij> ah, the unpacks and bangs go before types no matter how
22:16:11 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
22:16:17 stef204 joins (~stef204@unaffiliated/stef-204/x-384198)
22:16:26 <ij> monochrom, yeah, but only on unnamed records – couldn't connect the dots
22:16:51 <adamCS> nshepperd: That version was using fast-builder and strict bytestrings. Switched out for the builder in the bytestring package--thus building with lazy bytestrings--that one is much worse, as I think you knew it would be. Thanks for all the help! I'm just going to have to try more things or put up with the slowness of direct concatenation...
22:18:00 <monochrom> Yikes, it doesn't.
22:19:16 × notzmv quits (~user@unaffiliated/zmv) (Ping timeout: 240 seconds)
22:20:55 alx741 joins (~alx741@181.196.68.16)
22:21:55 son0p joins (~son0p@181.136.122.143)
22:22:03 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
22:22:36 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
22:23:44 × coot quits (~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
22:23:52 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:24:11 × kuribas quits (~user@ptr-25vy0iacr2x8efujlkt.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
22:26:29 Tario joins (~Tario@201.192.165.173)
22:26:59 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
22:29:00 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 256 seconds)
22:31:30 × knupfer quits (~Thunderbi@200116b82c666e00cdfc3c5562c54d9e.dip.versatel-1u1.de) (Remote host closed the connection)
22:31:39 knupfer joins (~Thunderbi@200116b82c666e0028b6767136b5847d.dip.versatel-1u1.de)
22:32:13 <ij> does haskell language server support sorting imports?
22:32:45 × polyrain quits (~polyrain@2001:8003:e501:6901:1dd9:2fe6:ccd8:6fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:34:01 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 246 seconds)
22:34:30 <ij> formatOnImportOn is probably not related
22:35:47 × mmmattyx quits (uid17782@gateway/web/irccloud.com/x-apbaqdtxhenyxhsr) (Quit: Connection closed for inactivity)
22:36:31 Spiff joins (~quassel@102.160.161.107)
22:37:42 <ep1ctetus> can anyone recommend a library to print record types nicely?
22:38:09 × conjunctive quits (sid433686@gateway/web/irccloud.com/x-mvhsqhdjquopssnl) (Ping timeout: 246 seconds)
22:38:09 × kip quits (sid71464@gateway/web/irccloud.com/x-pvovbezbvedanksd) (Ping timeout: 246 seconds)
22:38:30 × affinespaces quits (sid327561@gateway/web/irccloud.com/x-topqtuxrgvpqgael) (Ping timeout: 246 seconds)
22:38:48 × mudri quits (sid317655@gateway/web/irccloud.com/x-yceixeaikwokfiut) (Read error: Connection reset by peer)
22:38:49 × dsal quits (sid13060@gateway/web/irccloud.com/x-uhinxzkjykjyzztk) (Read error: Connection reset by peer)
22:38:49 × Boarders quits (sid425905@gateway/web/irccloud.com/x-smstehzqejvxsgsx) (Read error: Connection reset by peer)
22:38:49 × dsturnbull quits (sid347899@gateway/web/irccloud.com/x-lybuwhzmiqnxosyj) (Read error: Connection reset by peer)
22:38:58 kip joins (sid71464@gateway/web/irccloud.com/x-iqwkdxaxsukyalqa)
22:38:58 dsturnbull joins (sid347899@gateway/web/irccloud.com/x-uwydaeimpczksxke)
22:39:01 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:989c:f9b9:87c4:db9d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:39:05 Boarders joins (sid425905@gateway/web/irccloud.com/x-vslsedkkixwoisme)
22:39:05 conjunctive joins (sid433686@gateway/web/irccloud.com/x-mcpxbchitcsdjuun)
22:39:05 dsal joins (sid13060@gateway/web/irccloud.com/x-xcmmksyfygnrhaeu)
22:39:11 affinespaces joins (sid327561@gateway/web/irccloud.com/x-kwfevmsqfemkgjuy)
22:39:41 mudri joins (sid317655@gateway/web/irccloud.com/x-tykowpwgevxgkhqt)
22:40:15 × bitonic quits (bitonicmat@gateway/shell/matrix.org/x-metwivhpxaujumkh) (Ping timeout: 246 seconds)
22:40:36 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-jucvqrunhvhrwair) (Ping timeout: 246 seconds)
22:40:37 × sajith[m] quits (sajithmatr@gateway/shell/matrix.org/x-smrjdwfdywihjlbm) (Ping timeout: 246 seconds)
22:40:37 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-mdpxrkceozqnbnvt) (Ping timeout: 246 seconds)
22:40:37 × noIOBeforeBedtim quits (dissatisfi@gateway/shell/matrix.org/x-dpzgelpmgtzaopdc) (Ping timeout: 246 seconds)
22:40:52 <ij> so if I do stuff in IO and I want a MVector, then it's going to be MVector RealWorld a, because PrimState IO is RealWorld?
22:40:57 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-pqdubrrqsciedjkz) (Ping timeout: 246 seconds)
22:40:57 × Poscat[m] quits (poscatmatr@gateway/shell/matrix.org/x-ebjpmkbyptcfrkby) (Ping timeout: 246 seconds)
22:40:57 × sigmacool[m] quits (sigmacoolm@gateway/shell/matrix.org/x-mdwbqjiwxrqtfkyd) (Ping timeout: 246 seconds)
22:41:18 × Spiff quits (~quassel@102.160.161.107) (Ping timeout: 256 seconds)
22:42:00 × drupol quits (sid117588@gateway/web/irccloud.com/x-eyueysrhujknypzd) (Ping timeout: 246 seconds)
22:42:43 <sm[m]> ep1ctetus: pretty-simple
22:44:19 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
22:44:48 nbloomf joins (~nbloomf@2600:1700:ad14:3020:989c:f9b9:87c4:db9d)
22:45:14 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
22:45:23 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
22:45:38 × brodie quits (~brodie@2607:f598:b992:f800:bd82:b9a4:7938:2691) (Quit: brodie)
22:46:22 × jess quits (jess@freenode/staff/jess) (Quit: Leaving)
22:46:27 <ij> why does the MVector need (PrimState m) as a type argument?
22:47:17 <ij> (type parameters is the accepted terminology, I guess)
22:48:08 <ep1ctetus> sm[m], thank you
22:49:24 <ep1ctetus> this is excellent
22:53:44 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:989c:f9b9:87c4:db9d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:53:48 bitonic joins (bitonicmat@gateway/shell/matrix.org/x-zzyfhzjahtjmslqn)
22:53:50 noIOBeforeBedtim joins (dissatisfi@gateway/shell/matrix.org/x-miyoqdfcixkdjcae)
22:54:17 × Franciman quits (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving)
22:55:03 sajith[m] joins (sajithmatr@gateway/shell/matrix.org/x-btcvxzbdjqkrkiwi)
22:55:06 drupol joins (sid117588@gateway/web/irccloud.com/x-lkgibdqlgsuwbeph)
22:55:14 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-bjzclgwfdthdnzpg)
22:55:55 Codaraxis_ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
22:56:43 siraben joins (sirabenmat@gateway/shell/matrix.org/x-pjokmvoqmjklmznu)
22:56:44 × Codaraxis quits (~Codaraxis@91.193.4.10) (Read error: Connection reset by peer)
22:56:48 × qz quits (~quetzal@li272-85.members.linode.com) (Quit: WeeChat 2.9)
22:57:09 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer)
22:57:25 sigmacool[m] joins (sigmacoolm@gateway/shell/matrix.org/x-wncuswjxghpgivhm)
22:57:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
22:57:51 × rawles quits (~r@unaffiliated/rawles) (Ping timeout: 268 seconds)
22:57:51 × gluegadget quits (sid22336@gateway/web/irccloud.com/x-msgsyimkpfzfdplm) (Ping timeout: 268 seconds)
22:57:51 × srhb quits (sid400352@NixOS/user/srhb) (Ping timeout: 268 seconds)
22:57:51 × kristjansson quits (sid126207@gateway/web/irccloud.com/x-kjqkrwfhxeyivisw) (Ping timeout: 268 seconds)
22:57:51 × jonrh quits (sid5185@gateway/web/irccloud.com/x-hntqrgohvgwoczvy) (Ping timeout: 268 seconds)
22:57:51 × zzz quits (~zzz@2a03:b0c0:3:d0::3095:3001) (Ping timeout: 268 seconds)
22:58:16 × kyagrd__ quits (sid102627@gateway/web/irccloud.com/x-ypgrgcqphmltykqe) (Read error: Connection reset by peer)
22:58:16 × milessabin quits (sid86799@gateway/web/irccloud.com/x-tvcbhvvpnfvrhwif) (Read error: Connection reset by peer)
22:58:16 × taktoa[c] quits (sid282096@gateway/web/irccloud.com/x-qzdgtblpiialqhic) (Read error: Connection reset by peer)
22:58:16 × natim87 quits (sid286962@gateway/web/irccloud.com/x-nksbbmqvaevagztw) (Read error: Connection reset by peer)
22:58:16 × wpcarro_ quits (sid397589@gateway/web/irccloud.com/x-cihesreymldlqpdf) (Read error: Connection reset by peer)
22:58:16 × ebutleriv quits (sid217783@gateway/web/irccloud.com/x-snsrtsqpsqwwbfgf) (Write error: Connection reset by peer)
22:58:16 × AndreasK quits (uid320732@gateway/web/irccloud.com/x-vdseamlbfcbchsil) (Write error: Connection reset by peer)
22:58:16 × joshmeredith quits (sid387798@gateway/web/irccloud.com/x-fznswsrrgymxksrk) (Read error: Network is unreachable)
22:58:16 × edwinb quits (sid69486@gateway/web/irccloud.com/x-vtbwkodqpgkvptre) (Read error: Connection reset by peer)
22:58:17 × brown121407 quits (~brown1214@fsf/member/brown121407) (Remote host closed the connection)
22:58:18 × cemerick quits (sid54985@gateway/web/irccloud.com/x-hvytxjnfgkcybten) (Read error: Connection reset by peer)
22:58:19 × Kronic quits (sid480486@gateway/web/irccloud.com/x-yefsgwxmddskyzbm) (Read error: Connection reset by peer)
22:58:19 × alanz quits (sid110616@gateway/web/irccloud.com/x-prwdeyzwdytgtxkp) (Read error: Connection reset by peer)
22:58:19 × d0liver quits (sid363046@gateway/web/irccloud.com/x-tttmhfenawofeixc) (Read error: Connection reset by peer)
22:58:20 × typetetris quits (sid275937@gateway/web/irccloud.com/x-wukxokdildxlsinc) (Read error: Connection reset by peer)
22:58:21 × ocharles quits (sid30093@musicbrainz/user/ocharles) (Read error: Connection reset by peer)
22:58:21 × hazard-pointer quits (sid331723@gateway/web/irccloud.com/x-nmwklpcxqbimwbcx) (Read error: Connection reset by peer)
22:58:21 × kozowu quits (uid44796@gateway/web/irccloud.com/x-lmrzkgcwuiqfijer) (Read error: Connection reset by peer)
22:58:22 × johs quits (sid246410@gateway/web/irccloud.com/x-tafdqtulgzplanux) (Write error: Connection reset by peer)
22:58:22 × PyroLagus quits (PyroLagus@i.have.ipv6.on.coding4coffee.org) (Quit: ZNC / WeeChat)
22:58:24 × betawaffle quits (sid2730@gateway/web/irccloud.com/x-iqipatfmsyxtpnsb) (Read error: Connection reset by peer)
22:58:24 × graingert quits (sid128301@gateway/web/irccloud.com/x-pvrbspgvxauvbmrf) (Read error: Connection reset by peer)
22:58:24 × agander_m quits (sid407952@gateway/web/irccloud.com/x-godagyxukcquqjck) (Read error: Connection reset by peer)
22:58:27 milessabin joins (sid86799@gateway/web/irccloud.com/x-tsfirmfaeyltehov)
22:58:27 taktoa[c] joins (sid282096@gateway/web/irccloud.com/x-pvznddqjvryzvklu)
22:58:27 srhb joins (sid400352@NixOS/user/srhb)
22:58:29 jonrh joins (sid5185@gateway/web/irccloud.com/x-xhkeplnurjzdkwie)
22:58:30 cemerick joins (sid54985@gateway/web/irccloud.com/x-uyhbshivnlrcdkep)
22:58:30 alanz joins (sid110616@gateway/web/irccloud.com/x-dtfqgsafddbupptz)
22:58:31 wpcarro_ joins (sid397589@gateway/web/irccloud.com/x-muqwknpzlwpmqqkn)
22:58:31 joshmeredith joins (sid387798@gateway/web/irccloud.com/x-ywduelldbxnktgum)
22:58:31 ocharles joins (sid30093@musicbrainz/user/ocharles)
22:58:32 d0liver joins (sid363046@gateway/web/irccloud.com/x-yxldiyijvvvoeqdg)
22:58:35 typetetris joins (sid275937@gateway/web/irccloud.com/x-mbcxqikjwssppdzb)
22:58:36 agander_m joins (sid407952@gateway/web/irccloud.com/x-cybrydutbcgtnfpa)
22:58:36 brown121407 joins (~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc)
22:58:36 × brown121407 quits (~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc) (Changing host)
22:58:36 brown121407 joins (~brown1214@fsf/member/brown121407)
22:58:43 × Bigcheese_ quits (~quassel@unaffiliated/bigcheese) (Remote host closed the connection)
22:58:54 kristjansson joins (sid126207@gateway/web/irccloud.com/x-yoqynwwbabnncebd)
22:59:02 × kristjansson quits (sid126207@gateway/web/irccloud.com/x-yoqynwwbabnncebd) (Excess Flood)
22:59:04 edwinb joins (sid69486@gateway/web/irccloud.com/x-yclnpdvebbvtgqcs)
22:59:08 AndreasK joins (uid320732@gateway/web/irccloud.com/x-bidajccraqzbxuat)
22:59:10 natim87 joins (sid286962@gateway/web/irccloud.com/x-icmknatlznhqfdmc)
22:59:11 hazard-pointer joins (sid331723@gateway/web/irccloud.com/x-yjgnwgppjbnutxrc)
22:59:12 Kronic joins (sid480486@gateway/web/irccloud.com/x-mmcorpzvbrtyqkwx)
22:59:13 johs joins (sid246410@gateway/web/irccloud.com/x-anopdybklwkzjevp)
22:59:14 kozowu joins (uid44796@gateway/web/irccloud.com/x-fbpunzzcmbyaebte)
22:59:14 kyagrd__ joins (sid102627@gateway/web/irccloud.com/x-zawyiultvziwhzkq)
22:59:19 Poscat[m] joins (poscatmatr@gateway/shell/matrix.org/x-fdhyfndynnizckdt)
22:59:30 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:59:31 Tario joins (~Tario@201.192.165.173)
22:59:34 betawaffle joins (sid2730@gateway/web/irccloud.com/x-utpaisavhixlsaex)
22:59:36 graingert joins (sid128301@gateway/web/irccloud.com/x-zrbkfaqykndgofin)
22:59:45 kristjansson joins (sid126207@gateway/web/irccloud.com/x-lhbgfhvnarwdylff)
22:59:46 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-qbszcvejqtcqwzfd)
22:59:48 ebutleriv joins (sid217783@gateway/web/irccloud.com/x-verpyznohhsayxxo)
22:59:49 × kristjansson quits (sid126207@gateway/web/irccloud.com/x-lhbgfhvnarwdylff) (Excess Flood)
22:59:49 gluegadget joins (sid22336@gateway/web/irccloud.com/x-gpdwingfejgfufvv)
22:59:50 × beaky quits (~beaky@2a03:b0c0:0:1010::17cf:7003) (Read error: Connection reset by peer)
22:59:51 Bigcheese joins (~quassel@unaffiliated/bigcheese)
22:59:52 PyroLagus joins (PyroLagus@i.have.ipv6.on.coding4coffee.org)
23:00:19 × MrMuffles[m] quits (mrmufflesm@gateway/shell/matrix.org/x-vcwutvcdeerrzxfc) (Ping timeout: 268 seconds)
23:00:19 × Vanilla[m] quits (danielm14@gateway/shell/matrix.org/x-uldilkivfzntlfty) (Ping timeout: 268 seconds)
23:00:19 × falling-edge[m] quits (falling-ed@gateway/shell/matrix.org/x-mdagccdrqkzhxoyn) (Ping timeout: 268 seconds)
23:00:20 × doct0rhu[m] quits (doct0rhumo@gateway/shell/matrix.org/x-sofiodtjhgbkukgv) (Ping timeout: 268 seconds)
23:00:20 × Noughtmare[m] quits (naughtmare@gateway/shell/matrix.org/x-lzdlfmtcvofdybcb) (Ping timeout: 268 seconds)
23:00:20 × alvinsj[m] quits (alvinsjmat@gateway/shell/matrix.org/x-knlqpcazouaxyrms) (Ping timeout: 268 seconds)
23:00:20 × bwe quits (~bwe@unaffiliated/bwe) (Ping timeout: 268 seconds)
23:00:36 kristjansson joins (sid126207@gateway/web/irccloud.com/x-xcyevdgolibuieja)
23:00:44 × kristjansson quits (sid126207@gateway/web/irccloud.com/x-xcyevdgolibuieja) (Excess Flood)
23:00:50 bwe joins (~bwe@unaffiliated/bwe)
23:00:52 beaky joins (~beaky@2a03:b0c0:0:1010::17cf:7003)
23:00:52 × kawzeg quits (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) (Remote host closed the connection)
23:00:55 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Remote host closed the connection)
23:00:56 × sajith[m] quits (sajithmatr@gateway/shell/matrix.org/x-btcvxzbdjqkrkiwi) (Ping timeout: 268 seconds)
23:00:56 × sawmon-and-natal quits (sawmon-and@gateway/shell/matrix.org/x-bllgaqfjammxmfum) (Ping timeout: 268 seconds)
23:00:56 × materialfuture[m quits (materialfu@gateway/shell/matrix.org/x-aqhixpzgkhbmmtgo) (Ping timeout: 268 seconds)
23:00:56 × Hanma[m] quits (hanmamatri@gateway/shell/matrix.org/x-xibwtazmlorhvlak) (Ping timeout: 268 seconds)
23:00:57 × lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-pmsnpgdqdgdrtjbn) (Ping timeout: 268 seconds)
23:00:57 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-kklwlhhtroaldxii) (Ping timeout: 268 seconds)
23:01:12 nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
23:01:13 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Ping timeout: 272 seconds)
23:01:22 × alunduil quits (alunduil@gateway/web/irccloud.com/x-raqtcjrhwuisweda) (Ping timeout: 260 seconds)
23:01:22 × ProofTechnique quits (sid79547@gateway/web/irccloud.com/x-xkwpvqwpcxzbqliv) (Ping timeout: 260 seconds)
23:01:22 × isacl___ quits (sid13263@gateway/web/irccloud.com/x-bkkmkmnuzgolneku) (Ping timeout: 260 seconds)
23:01:46 × drbrule quits (sid395654@gateway/web/irccloud.com/x-nywfvliqiepvgwkr) (Read error: Connection reset by peer)
23:01:46 × wildsebastian quits (sid324688@gateway/web/irccloud.com/x-nvmlmfurbdxhppbr) (Read error: Connection reset by peer)
23:01:47 × elvishjerricco quits (sid237756@NixOS/user/ElvishJerricco) (Read error: Connection reset by peer)
23:01:47 × stylewarning quits (stylewarni@gateway/web/irccloud.com/x-smhyaldbfgzvkuwe) (Read error: Connection reset by peer)
23:01:47 × carter quits (sid14827@gateway/web/irccloud.com/x-acshkzobizuejnrw) (Read error: Connection reset by peer)
23:01:47 × mankyKitty quits (sid31287@gateway/web/irccloud.com/x-trleelmrumtoacfc) (Read error: Connection reset by peer)
23:01:47 × ^[ quits (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep) (Read error: Connection reset by peer)
23:01:47 × rizary quits (sid220347@gateway/web/irccloud.com/x-ebqpgocdyubyodty) (Read error: Connection reset by peer)
23:01:47 × rann quits (sid175221@gateway/web/irccloud.com/x-ovijerzeskjjnqsz) (Read error: Connection reset by peer)
23:01:56 ProofTechnique joins (sid79547@gateway/web/irccloud.com/x-pmqmzdrywyfedcmh)
23:01:57 elvishjerricco joins (sid237756@NixOS/user/ElvishJerricco)
23:01:57 wildsebastian joins (sid324688@gateway/web/irccloud.com/x-bafxvnndztgfgfui)
23:02:06 mankyKitty joins (sid31287@gateway/web/irccloud.com/x-hctbyoqvgdiooxxe)
23:02:10 stylewarning joins (stylewarni@gateway/web/irccloud.com/x-bmlukciwectpljam)
23:02:10 rizary joins (sid220347@gateway/web/irccloud.com/x-dexviposroeqsrhu)
23:02:17 rann joins (sid175221@gateway/web/irccloud.com/x-xwahqxromasxkjoj)
23:02:17 carter joins (sid14827@gateway/web/irccloud.com/x-yzuqmgfbbztyjtak)
23:02:28 kristjansson joins (sid126207@gateway/web/irccloud.com/x-sanqodgoszddhcwu)
23:02:34 × fendor quits (~fendor@178.115.129.78.wireless.dyn.drei.com) (Remote host closed the connection)
23:02:35 alunduil joins (alunduil@gateway/web/irccloud.com/x-sqnctghbnvfuohxv)
23:02:38 × kristjansson quits (sid126207@gateway/web/irccloud.com/x-sanqodgoszddhcwu) (Excess Flood)
23:02:42 kawzeg joins (~kawzeg@li2046-66.members.linode.com)
23:02:57 ^[ joins (sid43445@ircpuzzles/2015/april-fools/sixth/zgrep)
23:03:19 drbrule joins (sid395654@gateway/web/irccloud.com/x-paaykgotjsetujxc)
23:03:26 isacl___ joins (sid13263@gateway/web/irccloud.com/x-tnlyhkgqjdclicde)
23:03:28 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
23:03:43 × pythag76[m] quits (pythag76ma@gateway/shell/matrix.org/x-fqwwvbqdmrpyfpme) (Ping timeout: 260 seconds)
23:03:45 × maralorn quits (maralornma@gateway/shell/matrix.org/x-gbyceipyfdkumcfo) (Ping timeout: 260 seconds)
23:03:45 × domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Ping timeout: 260 seconds)
23:03:45 × lambda quits (~xiretza@mail.xiretza.xyz) (Ping timeout: 260 seconds)
23:04:17 × phittacus quits (bklmatrixo@gateway/shell/matrix.org/x-gtuyyovhujfsszlo) (Ping timeout: 260 seconds)
23:04:18 × hsiktas[m] quits (hsiktasmat@gateway/shell/matrix.org/x-mpdjbrfpxquezqnj) (Ping timeout: 260 seconds)
23:04:18 × psydruid quits (psydruidma@gateway/shell/matrix.org/x-mhamjlslfwlsceyz) (Ping timeout: 260 seconds)
23:04:29 zzz joins (~zzz@2a03:b0c0:3:d0::3095:3001)
23:04:32 rawles joins (~r@unaffiliated/rawles)
23:04:53 zzz is now known as Guest59238
23:05:22 × Err quits (err@unaffiliated/err) (Quit: the sky is changing colour,I'll see you in a while)
23:05:52 dandels joins (~dandels@unaffiliated/dandels)
23:06:13 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
23:06:30 HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
23:07:45 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
23:08:15 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
23:09:50 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
23:10:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
23:10:37 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
23:11:07 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-sckbprnefemvixcm)
23:11:09 materialfuture[m joins (materialfu@gateway/shell/matrix.org/x-zwndgfsbftbeyqqn)
23:11:41 sawmon-and-natal joins (sawmon-and@gateway/shell/matrix.org/x-zjrrlukfwxenslqi)
23:11:49 sajith[m] joins (sajithmatr@gateway/shell/matrix.org/x-wblqmagzhjdcytyz)
23:12:43 × knupfer quits (~Thunderbi@200116b82c666e0028b6767136b5847d.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
23:12:59 doct0rhu[m] joins (doct0rhumo@gateway/shell/matrix.org/x-wyhypeimltjpjuek)
23:13:36 gzj joins (~gzj@unaffiliated/gzj)
23:13:38 Err joins (err@gateway/shell/ircnow/x-kalejmfkanqpstxp)
23:13:57 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
23:14:19 Noughtmare[m] joins (naughtmare@gateway/shell/matrix.org/x-zgldqcreqyxeasat)
23:17:01 × son0p quits (~son0p@181.136.122.143) (Ping timeout: 264 seconds)
23:17:16 polyrain joins (~polyrain@2001:8003:e501:6901:1dd9:2fe6:ccd8:6fc9)
23:17:53 lambda_ joins (~xiretza@213-47-232-21.cable.dynamic.surfer.at)
23:18:18 × Nahra quits (~Nahra@unaffiliated/nahra) (Ping timeout: 256 seconds)
23:18:36 MrMuffles[m] joins (mrmufflesm@gateway/shell/matrix.org/x-uwmrwubwvzkpiesw)
23:18:49 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 264 seconds)
23:19:09 <ij> unpacking a mutable unboxed vector is probably not possible
23:19:15 alvinsj[m] joins (alvinsjmat@gateway/shell/matrix.org/x-dcynrngbwhjoubxb)
23:19:25 <ij> because you would have to have a modify/set that mutates the whole record
23:20:14 <justsomeguy> Can I use let..in inside a do block? Or is there something like it that I can use?
23:20:17 Nahra joins (~Nahra@unaffiliated/nahra)
23:20:20 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:20:52 × Nahra quits (~Nahra@unaffiliated/nahra) (*.net *.split)
23:20:52 × HiRE quits (~HiRE@104.128.237.40) (*.net *.split)
23:20:52 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (*.net *.split)
23:20:52 × byorgey quits (~byorgey@155.138.238.211) (*.net *.split)
23:20:52 × koluacik quits (~koluacik@134.122.28.77) (*.net *.split)
23:20:52 × infinity0 quits (~infinity0@freenet/developer/infinity0) (*.net *.split)
23:20:52 × Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (*.net *.split)
23:20:52 × w1gz quits (~do@159.89.11.133) (*.net *.split)
23:20:52 × matijja quits (~matijja@193.77.181.208) (*.net *.split)
23:20:52 × kaol quits (~kaol@178.62.241.234) (*.net *.split)
23:20:52 × energizer quits (~energizer@unaffiliated/energizer) (*.net *.split)
23:20:52 × Tene_ quits (~tene@mail.digitalkingdom.org) (*.net *.split)
23:20:52 × d-q-d quits (id@wikipedia/dqd) (*.net *.split)
23:20:52 × Majoo quits (~Majiir@pool-96-237-149-35.bstnma.fios.verizon.net) (*.net *.split)
23:20:52 × clynamen_ quits (~clynamen@net-93-71-86-202.cust.vodafonedsl.it) (*.net *.split)
23:20:52 × blissful quits (~blissful@unaffiliated/azuline) (*.net *.split)
23:20:52 × rowbee quits (~augh@theguntretort.com) (*.net *.split)
23:20:52 × brettgilio quits (~brettgili@brettgilio.com) (*.net *.split)
23:20:52 × concept2 quits (~concept2@unaffiliated/tubo) (*.net *.split)
23:20:52 × ornxka quits (~ornxka@unaffiliated/ornx) (*.net *.split)
23:20:52 × adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split)
23:20:52 × koz_ quits (~koz@121.99.240.58) (*.net *.split)
23:20:52 × wraithm quits (~wraithm@unaffiliated/wraithm) (*.net *.split)
23:20:52 × aib quits (~aib@unaffiliated/aib42) (*.net *.split)
23:20:52 × irclogger_com quits (~irclogger@li659-42.members.linode.com) (*.net *.split)
23:20:52 × bob_twinkles quits (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) (*.net *.split)
23:20:52 × Papa quits (~papa@unaffiliated/papa) (*.net *.split)
23:20:52 × dixie quits (~dixie@real.wilbury.sk) (*.net *.split)
23:20:52 × relrod quits (~relrod@redhat/ansible.staff.relrod) (*.net *.split)
23:20:52 × dale quits (dale@unaffiliated/dale) (*.net *.split)
23:20:58 <ij> justsomeguy, likely, just make sure it returns an IO
23:21:00 dixie joins (~dixie@real.wilbury.sk)
23:21:01 Tene joins (~tene@mail.digitalkingdom.org)
23:21:01 × Tene quits (~tene@mail.digitalkingdom.org) (Changing host)
23:21:01 Tene joins (~tene@poipu/supporter/slacker/tene)
23:21:01 dqd joins (id@wikipedia/dqd)
23:21:02 relrod- joins (~relrod@origin.elrod.me)
23:21:08 aib joins (~aib@unaffiliated/aib42)
23:21:09 bob_twinkles joins (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com)
23:21:11 clynamen joins (~clynamen@net-93-71-86-202.cust.vodafonedsl.it)
23:21:12 koz joins (~koz@121.99.240.58)
23:21:13 blissful joins (~blissful@unaffiliated/azuline)
23:21:24 Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus)
23:21:24 Papa joins (~papa@unaffiliated/papa)
23:21:25 × Papa quits (~papa@unaffiliated/papa) (Max SendQ exceeded)
23:21:26 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
23:21:27 Majiir joins (~Majiir@pool-96-237-149-35.bstnma.fios.verizon.net)
23:21:28 concept2 joins (~concept2@unaffiliated/tubo)
23:21:29 HiRE joins (~HiRE@104.128.237.40)
23:21:31 ornxka joins (~ornxka@unaffiliated/ornx)
23:21:31 matijja joins (~matijja@193.77.181.208)
23:21:39 Papa joins (~papa@unaffiliated/papa)
23:21:44 Vanilla[m] joins (danielm14@gateway/shell/matrix.org/x-ytqxiemjjodblfyn)
23:21:46 w1gz joins (~do@159.89.11.133)
23:21:51 lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-wkhvxlkbvzlninbo)
23:21:59 falling-edge[m] joins (falling-ed@gateway/shell/matrix.org/x-sjbfmhcasyxvdhmu)
23:22:00 dale joins (dale@unaffiliated/dale)
23:22:01 koluacik joins (~koluacik@134.122.28.77)
23:22:02 Hanma[m] joins (hanmamatri@gateway/shell/matrix.org/x-xtsgwrmeukmswscz)
23:22:03 wraithm joins (~wraithm@unaffiliated/wraithm)
23:22:09 pavonia joins (~user@unaffiliated/siracusa)
23:22:51 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
23:23:09 adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
23:23:10 brettgilio joins (~brettgili@brettgilio.com)
23:24:13 pythag76[m] joins (pythag76ma@gateway/shell/matrix.org/x-vbgdvobnaendmqgr)
23:24:35 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
23:24:56 energizer joins (~energizer@unaffiliated/energizer)
23:25:03 irclogger_com joins (~irclogger@li659-42.members.linode.com)
23:25:04 rowbee joins (~augh@theguntretort.com)
23:25:07 infinity0 joins (~infinity0@freenet/developer/infinity0)
23:25:11 Nahra joins (~Nahra@unaffiliated/nahra)
23:25:58 byorgey joins (~byorgey@155.138.238.211)
23:26:00 kaol joins (~kaol@178.62.241.234)
23:26:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:26:19 conal joins (~conal@64.71.133.70)
23:26:39 maralorn joins (maralornma@gateway/shell/matrix.org/x-qrcszlfutgykcoyw)
23:27:11 domenkozar[m] joins (domenkozar@NixOS/user/domenkozar)
23:27:18 <lyxia> there's a dedicated "let" syntax in do blocks
23:27:36 phittacus joins (bklmatrixo@gateway/shell/matrix.org/x-gjldajjnsymtpsnu)
23:28:18 hsiktas[m] joins (hsiktasmat@gateway/shell/matrix.org/x-nwwzkbjiooypwjzh)
23:28:52 psydruid joins (psydruidma@gateway/shell/matrix.org/x-mgassrythqmhhsug)
23:30:01 × AWizzArd quits (~code@gehrels.uberspace.de) (Changing host)
23:30:01 AWizzArd joins (~code@unaffiliated/awizzard)
23:31:03 <justsomeguy> I ended up using that.
23:31:16 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
23:31:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
23:32:26 <ij> :t fmap join . traverse
23:32:27 <lambdabot> (Monad m, Traversable m) => (a1 -> m a2) -> m a1 -> m a2
23:33:06 Codaraxis__ joins (~Codaraxis@91.193.4.36)
23:36:16 × Codaraxis_ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 240 seconds)
23:41:42 monochrom sets mode -o monochrom
23:43:56 × stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Ping timeout: 240 seconds)
23:50:56 × hyperisco quits (~hyperisco@d24-57-249-233.home.cgocable.net) (Ping timeout: 240 seconds)
23:51:36 × Vulfe quits (~vulfe@rrcs-23-246-119-132.nys.biz.rr.com) (Remote host closed the connection)
23:54:43 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
23:55:06 <unclechu> about lenses. how could i set a deep nested value with lenses if there is none?
23:55:07 <unclechu> e.g. i use lens-aeson and trying to `object [] & key "foo" . key "bar" . _Array .~ [Number 123]`
23:55:12 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
23:55:20 <unclechu> i’d like to get `object ["foo" .= object ["bar" .= Array [Number 123]]]` as a result
23:55:48 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
23:55:49 <unclechu> the point is that i already have a lens, i’m updating the existing value but in case there is none i want to add it
23:55:51 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
23:56:02 <unclechu> and to add the whole path
23:56:05 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
23:56:13 <unclechu> maybe just "foo" exists
23:57:13 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds)
23:58:28 worc3131 joins (~quassel@2a02:c7f:dcc4:6500:cf0e:3346:8766:ab20)
23:59:56 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds)

All times are in UTC on 2021-01-15.