Home liberachat/#haskell: Logs Calendar

Logs on 2021-10-25 (liberachat/#haskell)

00:00:31 <AWizzArd> c_wraith: always surprising how difficult strings can be :)
00:00:37 <Axman6> you I've thought about that problem a lot, and using succinct structures you can got away with something like less than 1% overhead
00:00:53 platz joins (~platz@40.122.118.113)
00:00:53 × platz quits (~platz@40.122.118.113) (Changing host)
00:00:53 platz joins (~platz@user/platz)
00:01:12 <c_wraith> My solution is to either write a full text editor or not edit text.
00:01:20 <c_wraith> there is no in-between that works well
00:04:16 <AWizzArd> yeah
00:09:38 <pavonia> Axman6: How would such a stucture look like?
00:10:40 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
00:13:20 lavaman joins (~lavaman@98.38.249.169)
00:13:43 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
00:13:43 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
00:13:43 wroathe joins (~wroathe@user/wroathe)
00:15:07 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 252 seconds)
00:16:22 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
00:17:09 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
00:18:05 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
00:18:40 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
00:18:54 × cads quits (~asdf@ip-64-72-99-234.lasvegas.net) (Quit: Leaving)
00:19:30 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
00:19:38 cads joins (~cads@ip-64-72-99-234.lasvegas.net)
00:21:48 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
00:26:30 × fluffyballoon quits (~user@131.93.208.196) (Ping timeout: 244 seconds)
00:26:47 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 264 seconds)
00:27:01 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 244 seconds)
00:33:12 D4v1d joins (~D4v1d@user/d4v1d)
00:35:00 × burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
00:35:14 <D4v1d> Hello I am trying to install glirc but I encountered the error as shown in https://paste.tomsmeding.com/zsunUhIt ; however I already have openssl installed via homebrew and has linked them. Would you please help? Thank you.
00:37:19 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
00:38:31 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
00:39:06 <geekosaur> ghoulguy, ^^ thta looks a rather custom error message, presumably you know what else it might be doing?
00:41:46 zebrag joins (~chris@user/zebrag)
00:44:38 <D4v1d> He may be busy 'cause he is a staffer
00:48:06 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
00:49:08 <awpr> liskin: actually I think this is likely to be it; I do have caching of the Hackage index but no explicit update step. will try right now
00:50:13 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
00:51:49 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
00:53:13 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
00:58:55 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
00:59:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:00:36 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 244 seconds)
01:03:12 × juand quits (~a@p200300ef973db1c64086f0a6a24fc4dd.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1)
01:03:30 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
01:04:14 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
01:08:47 × iqubic quits (~user@2601:602:9502:c70:3ba1:e05a:f13:1fa6) (Ping timeout: 264 seconds)
01:12:03 <Axman6> pavonia: take a look at rank/sleect operations over succinct structures - I couldn't find a good liunk in 2 mins of googling but I might come back to it
01:13:25 × argento quits (~argent0@168-227-96-26.ptr.westnet.com.ar) (Quit: leaving)
01:13:33 × D4v1d quits (~D4v1d@user/d4v1d) (Quit: Client closed)
01:15:42 D4v1d joins (~D4v1d@user/d4v1d)
01:17:09 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Ping timeout: 244 seconds)
01:17:23 <awpr> no luck, Stack thinks there are no updates available
01:18:41 lavaman joins (~lavaman@98.38.249.169)
01:20:38 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:22:20 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
01:25:14 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
01:28:59 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
01:33:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
01:36:07 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
01:36:58 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Read error: Connection reset by peer)
01:37:15 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
01:37:37 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
01:38:33 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:38:33 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
01:38:33 wroathe joins (~wroathe@user/wroathe)
01:40:55 × mvk quits (~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 252 seconds)
01:44:14 × D4v1d quits (~D4v1d@user/d4v1d) (Quit: updating Firefox)
01:44:47 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
01:46:35 Player001 joins (~Player001@user/player001)
01:46:38 × alx741 quits (~alx741@186.178.108.74) (Quit: alx741)
01:46:47 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
01:48:59 × xff0x quits (~xff0x@2001:1a81:52fb:1200:6ff2:1757:36ee:1f2f) (Ping timeout: 264 seconds)
01:50:33 xff0x joins (~xff0x@2001:1a81:538f:ce00:2246:a77f:21ad:4c1c)
01:50:42 × rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
01:53:17 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
01:57:25 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 252 seconds)
01:59:04 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 252 seconds)
01:59:58 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
02:02:01 rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
02:04:57 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
02:12:43 D4v1d joins (~D4v1d@user/d4v1d)
02:13:22 <D4v1d> My issue has been solved! I solved it by building OpenSSL from the canonical master branch instead of using Homebrew and the error message disappears!
02:13:55 <D4v1d> *The HSOpenSSL build error disappeared
02:16:56 <kronicmage> does anyone know if there's a 4 bit word/int type?
02:17:06 <kronicmage> trying to limit inputs to a single base 16 digit
02:18:36 <ski> <https://hackage.haskell.org/package/leancheck-0.9.10/docs/Test-LeanCheck-Utils-Types.html#t:Int4>,<https://hackage.haskell.org/package/leancheck-0.9.10/docs/Test-LeanCheck-Utils-Types.html#t:Word4> apparently
02:18:51 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
02:19:35 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 264 seconds)
02:22:43 × econo quits (uid147250@user/econo) (Read error: Connection reset by peer)
02:22:44 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Read error: Connection reset by peer)
02:24:13 econo joins (uid147250@user/econo)
02:24:14 bitmapper joins (uid464869@lymington.irccloud.com)
02:24:30 × D4v1d quits (~D4v1d@user/d4v1d) (Quit: D4v1d)
02:29:49 <jophish> <kronicmage> "does anyone know if there's a..." <- Also, `Unsigned 4` (or `Signed 4`) from `clash-prelude`
02:32:06 <jophish> Or https://hackage.haskell.org/package/finite-typelits-0.1.4.2/docs/Data-Finite.html#t:Finite
02:32:13 jkaye joins (~jkaye@2601:281:8300:7530:bdc6:f088:1acd:1c4a)
02:32:36 <awpr> also https://hackage.haskell.org/package/fin-int along the same lines, you could do `Fin 16`
02:32:50 <awpr> (and it's an `Int` rather than `Integer` under the hood)
02:33:33 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
02:34:05 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
02:36:24 emf joins (~emf@2620:10d:c090:400::5:b46d)
02:38:05 × td_ quits (~td@muedsl-82-207-238-060.citykom.de) (Ping timeout: 260 seconds)
02:39:34 td_ joins (~td@94.134.91.68)
02:41:22 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 244 seconds)
02:43:32 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:45:41 <awpr> liskin: you were right after all, I just had to make sure the `stack update` was before the `stack setup`, because apparently the latter chooses all the deps and writes a `stack.yaml.lock`, so by having them in the wrong order, it chose the stale .cabal file before the update downloaded it. thanks!
02:50:30 × Player001 quits (~Player001@user/player001) (Quit: read Deleuze)
02:53:22 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 258 seconds)
03:00:29 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
03:01:08 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
03:08:10 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
03:08:41 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
03:11:14 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
03:12:50 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
03:23:08 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
03:23:47 × jkaye quits (~jkaye@2601:281:8300:7530:bdc6:f088:1acd:1c4a) (Ping timeout: 264 seconds)
03:25:17 × paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds)
03:25:20 × segfaultfizzbuzz quits (~segfaultf@135-180-0-138.static.sonic.net) (Ping timeout: 260 seconds)
03:26:03 × rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
03:30:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:32:17 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:33:20 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:33:35 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
03:39:43 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
03:40:11 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
03:56:11 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:56:11 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
03:56:11 wroathe joins (~wroathe@user/wroathe)
04:00:50 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
04:03:30 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
04:03:54 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
04:06:28 × Cajun quits (~Cajun@user/cajun) (Ping timeout: 256 seconds)
04:06:51 Player001 joins (~Player001@user/player001)
04:09:23 × MQ-17J quits (~MQ-17J@8.21.10.17) (Ping timeout: 264 seconds)
04:09:49 mei joins (~mei@user/mei)
04:10:08 × cjb quits (~cjbayliss@user/cjb) ()
04:11:05 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
04:20:43 <dsal> Ick, looks like an attoparsec upgrade is coming and breaks a library I depend on.
04:23:09 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
04:27:37 delYsid joins (~user@62-178-101-151.cable.dynamic.surfer.at)
04:27:43 delYsid parts (~user@62-178-101-151.cable.dynamic.surfer.at) ()
04:28:21 MQ-17J joins (~MQ-17J@8.21.10.17)
04:31:00 mbuf joins (~Shakthi@122.174.32.225)
04:32:15 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
04:32:26 mcglk joins (~mcglk@131.191.49.120)
04:34:45 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
04:38:41 <Axman6> what's changed in it?
04:39:14 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
04:43:34 zaquest joins (~notzaques@5.128.210.178)
04:44:05 × peterhil quits (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) (Ping timeout: 260 seconds)
04:44:47 × Inst quits (~Inst@2601:6c4:4080:3f80:5872:8a70:85c4:9bd4) (Ping timeout: 264 seconds)
04:52:35 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
04:54:41 tommd joins (~tommd@75-164-130-101.ptld.qwest.net)
04:56:13 × benin quits (~benin@183.82.207.116) (Ping timeout: 244 seconds)
04:57:03 <dsal> I'm not entirely sure. It broke websockets and I've got a library that depends on that.
04:57:19 <dsal> I should figure out how to make my library not depend on websockets, but use it if you want it. That sounds complicated.
04:58:50 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
05:00:25 × TomasJakl[m] quits (~jaklttchn@2001:470:69fc:105::a42) (*.net *.split)
05:00:25 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (*.net *.split)
05:00:25 × soft quits (~soft-matr@2001:470:69fc:105::c75) (*.net *.split)
05:00:25 × dexmad[m] quits (~dexmadmat@2001:470:69fc:105::e056) (*.net *.split)
05:00:25 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (*.net *.split)
05:00:25 × srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (*.net *.split)
05:00:25 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (*.net *.split)
05:00:25 × hsek[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (*.net *.split)
05:00:25 × jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (*.net *.split)
05:00:25 × reddishblue[m] quits (~reddishbl@2001:470:69fc:105::21eb) (*.net *.split)
05:00:25 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (*.net *.split)
05:00:25 × rednaZ[m] quits (~r3dnazmat@2001:470:69fc:105::ba70) (*.net *.split)
05:00:25 × quantum quits (~quantum@user/quantum/x-8556232) (*.net *.split)
05:00:25 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (*.net *.split)
05:00:25 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (*.net *.split)
05:00:25 × fgaz quits (~fgaz@2001:470:69fc:105::842) (*.net *.split)
05:00:25 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (*.net *.split)
05:00:25 × tomjaguarpaw quits (~tom@li367-225.members.linode.com) (*.net *.split)
05:00:25 × choucavalier quits (~choucaval@2001:41d0:a:2158::1) (*.net *.split)
05:00:25 × pie__ quits (~pie_bnc@user/pie/x-2818909) (*.net *.split)
05:00:25 × Unode quits (~Unode@194.94.44.220) (*.net *.split)
05:00:25 × micro_ quits (~micro@user/micro) (*.net *.split)
05:00:25 × ptrcmd quits (~ptrcmd@user/ptrcmd) (*.net *.split)
05:00:25 × carbolymer quits (~carbolyme@dropacid.net) (*.net *.split)
05:00:25 × Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
05:00:25 × defanor quits (~defanor@tart.uberspace.net) (*.net *.split)
05:00:25 × jassob2 quits (~jassob@korrob.vth.sgsnet.se) (*.net *.split)
05:00:25 × orcus- quits (~orcus@user/brprice) (*.net *.split)
05:00:25 × Ekho quits (~Ekho@user/ekho) (*.net *.split)
05:00:25 × lstor quits (~lstor@user/lstor) (*.net *.split)
05:00:25 × nurupo quits (~nurupo.ga@user/nurupo) (*.net *.split)
05:00:25 × nonzen_ quits (~nonzen@user/nonzen) (*.net *.split)
05:00:25 × terrorjack quits (~terrorjac@static.3.200.12.49.clients.your-server.de) (*.net *.split)
05:00:25 × ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (*.net *.split)
05:00:25 × polux quits (~polux@51.15.169.172) (*.net *.split)
05:00:25 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (*.net *.split)
05:00:25 × jiribenes quits (~jiribenes@rosa.jiribenes.com) (*.net *.split)
05:00:25 × immae quits (~immae@2a01:4f8:141:53e7::) (*.net *.split)
05:00:25 × xerox quits (~edi@user/edi) (*.net *.split)
05:00:25 × SquidDev quits (~SquidDev@autoclave.squiddev.cc) (*.net *.split)
05:00:25 × SoF quits (~skius@user/skius) (*.net *.split)
05:00:25 × liskin quits (~liskin@xmonad/liskin) (*.net *.split)
05:00:25 × oxytocat quits (~alloca@user/suppi) (*.net *.split)
05:00:25 × farn quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split)
05:00:25 × ft quits (~ft@shell.chaostreff-dortmund.de) (*.net *.split)
05:00:25 × jocke-l quits (jocke-l@a.x0.is) (*.net *.split)
05:00:32 tomjaguarpaw joins (~tom@li367-225.members.linode.com)
05:00:34 xerox joins (~edi@user/edi)
05:00:34 lstor joins (~lstor@user/lstor)
05:00:34 ptrcmd joins (~ptrcmd@user/ptrcmd)
05:00:34 micro joins (~micro@user/micro)
05:00:35 ralu joins (~ralu@static.211.245.203.116.clients.your-server.de)
05:00:36 choucavalier joins (~choucaval@peanutbuttervibes.com)
05:00:38 nshepperd2 joins (~nshepperd@li364-218.members.linode.com)
05:00:39 defanor joins (~defanor@tart.uberspace.net)
05:00:40 Unode joins (~Unode@194.94.44.220)
05:00:41 carbolymer joins (~carbolyme@dropacid.net)
05:00:42 ft joins (~ft@shell.chaostreff-dortmund.de)
05:00:47 jassob2 joins (~jassob@korrob.vth.sgsnet.se)
05:00:51 pie_ joins (~pie_bnc@user/pie/x-2818909)
05:00:51 SquidDev joins (~SquidDev@autoclave.squiddev.cc)
05:00:52 polux joins (~polux@51.15.169.172)
05:00:55 oxytocat joins (~alloca@2a03:4000:f:7ca:7407:d1ff:fe34:8cd0)
05:00:55 liskin joins (~liskin@ackle.nomi.cz)
05:00:56 × liskin quits (~liskin@ackle.nomi.cz) (Signing in (liskin))
05:00:56 liskin joins (~liskin@xmonad/liskin)
05:00:57 × oxytocat quits (~alloca@2a03:4000:f:7ca:7407:d1ff:fe34:8cd0) (Signing in (oxytocat))
05:00:57 oxytocat joins (~alloca@user/suppi)
05:00:58 farn joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
05:01:00 nurupo joins (~nurupo.ga@user/nurupo)
05:01:02 jocke-l joins (jocke-l@a.x0.is)
05:01:16 immae joins (~immae@2a01:4f8:141:53e7::)
05:01:20 orcus joins (~orcus@user/brprice)
05:01:22 jiribenes joins (~jiribenes@rosa.jiribenes.com)
05:01:26 Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
05:01:28 nonzen joins (~nonzen@user/nonzen)
05:01:43 quantum joins (~quantum@user/quantum/x-8556232)
05:01:46 reddishblue[m] joins (~reddishbl@2001:470:69fc:105::21eb)
05:01:48 terrorjack joins (~terrorjac@static.3.200.12.49.clients.your-server.de)
05:02:44 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Client Quit)
05:03:17 jneira[m] joins (~jneiramat@2001:470:69fc:105::d729)
05:03:23 × dsrt^ quits (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 264 seconds)
05:03:25 hsek[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
05:04:16 Ekho joins (~Ekho@user/ekho)
05:04:44 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
05:04:52 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
05:04:54 wildsebastian joins (~wildsebas@2001:470:69fc:105::1:14b1)
05:04:55 fgaz joins (~fgaz@2001:470:69fc:105::842)
05:05:05 rednaZ[m] joins (~r3dnazmat@2001:470:69fc:105::ba70)
05:05:15 Deewiant joins (~deewiant@2001:470:69fc:105::2fd3)
05:05:19 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
05:05:33 srid[m] joins (~sridmatri@2001:470:69fc:105::1c2)
05:06:59 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:07:10 MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22)
05:07:24 dexmad[m] joins (~dexmadmat@2001:470:69fc:105::e056)
05:07:36 soft joins (~soft@2001:470:69fc:105::c75)
05:07:42 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
05:08:05 TomasJakl[m] joins (~jaklttchn@2001:470:69fc:105::a42)
05:17:47 × tommd quits (~tommd@75-164-130-101.ptld.qwest.net) (Ping timeout: 264 seconds)
05:23:38 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
05:28:16 nfip^ joins (~nfip@wsip-68-227-92-38.mc.at.cox.net)
05:34:56 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:38:31 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
05:39:42 peterhil joins (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi)
05:48:30 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
05:49:06 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
05:49:47 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
05:54:10 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Client Quit)
05:58:37 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
06:01:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:02:50 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
06:05:23 <kronicmage> is there any way to set over two lens setters at once? something like `set (_1 && _2) 5 (undefined, undefined)` to get `(5, 5)`
06:09:47 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
06:11:41 <Axman6> % set (_1 <> _2) (undefined, undefined) 5 -- I don't think this will work, but works for getters/traversals
06:11:42 <yahb> Axman6: ; <interactive>:142:1: error:; * Could not deduce (Field1 s0 t a0 (a1, b)); from the context: (Semigroup t, Field1 s t a (a1, b), Field2 s t a (a1, b), Num s); bound by the inferred type for `it':; forall {t} {s} {a} {a1} {b}. (Semigroup t, Field1 s t a (a1, b), Field2 s t a (a1, b), Num s) => t; at <interactive>:142:1-39; The type variables `s0', `a0' a
06:12:02 <Axman6> % set (_1 <> _2) 5 (undefined, undefined)
06:12:02 <yahb> Axman6: ; <interactive>:143:1: error:; * Ambiguous type variable `b0' arising from a use of `print'; prevents the constraint `(Show b0)' from being solved.; Probable fix: use a type annotation to specify what `b0' should be.; These potential instances exist:; instance Show a => Show (ZipList a) -- Defined in `Control.Applicative'; instance Show NestedAtomically -- Defined in
06:12:12 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
06:12:31 <Axman6> % set (_1 <> _2) 5 (True, False) :: (Int,Int)
06:12:31 <yahb> Axman6: ; <interactive>:144:6: error:; * Couldn't match type `Int' with `Bool'; arising from a functional dependency between:; constraint `Field1 (Bool, Bool) (Int, Int) Bool Int' arising from a use of `_1'; instance Field1 (a, b) (a', b) a a' at <no location info>; * In the first argument of `(<>)', namely `_1'; In the first argument of `set', namely `(_1 <> _2)';
06:13:27 × a6a45081-2b83 quits (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Read error: Connection reset by peer)
06:13:53 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
06:16:29 lavaman joins (~lavaman@98.38.249.169)
06:16:52 lortabac joins (~lortabac@abayonne-651-1-57-12.w92-156.abo.wanadoo.fr)
06:18:27 fendor joins (~fendor@77.119.214.28.wireless.dyn.drei.com)
06:19:20 alzgh joins (~alzgh@user/alzgh)
06:20:56 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
06:24:32 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
06:24:54 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
06:24:57 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
06:26:37 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
06:34:31 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
06:39:26 <jackdk> Conduit question: I have a ConduitT () ByteString m r representing a large file, and I want to process it in chunks, where each chunk is between some minimum and maximum (constant) number of bytes. I feel like I would want to write a function like `chunksBetween :: Monad m => Integer -> Integer -> ConduitT i ByteString m r -> ConduitT i (ConduitT i ByteString m ()) m r` that streams smoothly from the input conduit.
06:39:31 <jackdk> Axman6: ;-)
06:40:41 <jackdk> Pipes appears to have this operator as in pipes-group, as some kind of crazy lens that lets you look at it as a FreeT or something, and I can't make heads or tails of it
06:41:07 <jackdk> Streaming should give you a Stream (Of (Stream (Of o))) ...
06:41:48 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
06:41:49 <Axman6> yeah that pretty much sums up my question, ta :P
06:42:45 <jackdk> It would be sufficient to ignore i; I'm happy to work over `ConduitT () ByteString m ()`
06:43:05 hyiltiz joins (~quassel@31.220.5.250)
06:46:37 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
06:48:44 <Axman6> streaming does it in a slight weird way, where it has splitAt :: Monad m => Int64 -> ByteStream m r -> ByteStream m (ByteStream m r) (where ByteStream is basically Stream (Of ByteString) m r)
06:49:19 Midjak joins (~Midjak@82-65-111-221.subs.proxad.net)
06:49:21 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
06:49:55 hyiltiz joins (~quassel@31.220.5.250)
06:53:12 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
06:55:30 janus34 joins (~janus@84-107-171-239.cable.dynamic.v4.ziggo.nl)
06:55:42 mc47 joins (~mc47@xmonad/TheMC47)
06:57:08 michalz joins (~michalz@185.246.204.41)
06:59:13 <janus34> Been studying haskell the last couple of weekends and yesterday I thought: "How do you print from a haskell program?"
07:00:27 <janus34> So a quick search showed that printing is popular and most of it is pretty! : ) After filtering out all the pretty-printers the search came up with ... nothing.
07:01:35 <janus34> I can come up with some ways to create files that would print pretty, but how do you print to a printer from haskell?
07:01:57 <jackdk> Axman6: I think you need to seal the conduit and the use Data.Conduit.List.unconsM but that's as far as I've managed
07:03:49 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
07:08:47 ubert joins (~Thunderbi@77.119.171.187.wireless.dyn.drei.com)
07:12:23 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
07:13:19 <Axman6> jackdk: I don't know hwo to print to a printer in any language - personally I would generate HTML or a PDF and then use my OS. There's probably ways to use postscript... but that sounds like not a lot of fun. this is not a simple problem IMO
07:13:30 <Axman6> uh, janus34
07:13:33 <jackdk> I think you mean the other `ja<tab>`
07:13:45 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
07:13:51 <Axman6> `j<tab>`, because I'm a monster, but yeah
07:17:25 <janus34> I have done PostScript in the past and that is one of the ways I was thinking about. I think I was mostly surprised that a search for it turned up nothing.
07:18:22 dschrempf joins (~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu)
07:19:54 <jackdk> Axman6: the other problem is that we want to pass a `ConduitT () ByteString (ResourceT IO) ()` into `chunkedBody`
07:20:50 <janus34> People are doing financial backend stuff, so I would have expected invoices or inventory or something. It was just a thought, not a need.
07:21:44 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
07:21:50 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:23:33 ub joins (~Thunderbi@77.119.171.187.wireless.dyn.drei.com)
07:23:48 <lortabac> janus34: I guess most people delegate printing to the operating system or the browser
07:24:37 <lortabac> it's something you generally try to avoid because of all the details that are hard to get right and the differences between OS's
07:24:40 opqdonut_ is now known as opqdonut
07:26:35 chele joins (~chele@user/chele)
07:28:26 <janus34> Yes and with pandoc you can convert them to multiple other formats. Thank you and I think I will pop in here some more in the future.
07:29:31 <lortabac> janus34: the only time I really needed to print directly from an application I used QZTray, which gives you a simple API you can call from your browser
07:30:10 <lortabac> but it was a very specific use case, most of the time you can just let users download the PS/PDF and print it themselves
07:30:28 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:31:05 max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
07:31:13 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:31:31 × dschrempf quits (~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu) (Quit: WeeChat 3.3)
07:32:13 gehmehgeh joins (~user@user/gehmehgeh)
07:32:44 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
07:33:20 stiell joins (~stiell@gateway/tor-sasl/stiell)
07:39:32 <janus34> lortabac: I can see how that will be useful. Conclusion: Generate something printable and delegate.
07:40:08 × brainfreeze quits (~brainfree@2a03:1b20:4:f011::20d) (Quit: Leaving)
07:49:21 × zincy quits (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Quit: Leaving)
07:49:37 zincy joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
07:51:36 × janus34 quits (~janus@84-107-171-239.cable.dynamic.v4.ziggo.nl) (Quit: janus34)
07:53:01 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
07:54:27 Feuermagier joins (~Feuermagi@user/feuermagier)
07:54:59 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
07:56:46 × jess quits (~jess@libera/staff/jess) (Quit: Lost terminal)
07:59:12 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Read error: Connection reset by peer)
08:00:05 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
08:02:57 jess joins (~jess@libera/staff/jess)
08:03:19 × echoSMILE quits (~echoSMILE@user/echosmile) (Ping timeout: 256 seconds)
08:03:24 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Client Quit)
08:03:51 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 245 seconds)
08:05:10 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
08:05:16 acidjnk_new3 joins (~acidjnk@p200300d0c703cb935575e56a44659e48.dip0.t-ipconnect.de)
08:05:44 hendursaga joins (~weechat@user/hendursaga)
08:08:54 × hendursa1 quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
08:10:40 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
08:10:59 CiaoSen joins (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
08:11:39 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
08:13:17 matsurago joins (~matsurago@p0602591-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp)
08:15:22 <merijn> English question: "converges on" or "converges to"?
08:16:31 <zincy> I like "converges to".
08:17:34 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:17:34 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:37 allbery_b is now known as geekosaur
08:18:15 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
08:20:44 <zincy> For building a turn based card game I can't choose between Machines or Streamly to implement the Mealy machines for game state
08:20:50 <zincy> I am a bit lost in this design space.
08:21:06 puffnfresh[m] joins (~puffnfres@2001:470:69fc:105::1:22da)
08:21:40 <zincy> What is the overlap between Machines and libraries like Streamly/Conduit/Pipes?
08:22:18 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
08:26:47 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
08:31:11 jumper149 joins (~jumper149@80.240.31.34)
08:31:36 vonfry joins (~user@116.236.75.238)
08:32:59 × bitmapper quits (uid464869@lymington.irccloud.com) (Quit: Connection closed for inactivity)
08:33:13 dschrempf joins (~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu)
08:34:53 <tomsmeding> merijn: in maths it's "converges to"
08:35:03 <tomsmeding> not sure how mathy your sentence is
08:38:09 jstolarek joins (~jstolarek@137.220.120.162)
08:38:31 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
08:40:23 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
08:41:38 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
08:43:19 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
08:43:35 × dschrempf quits (~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu) (Ping timeout: 264 seconds)
08:48:02 seiryn joins (~seiryn@pop.92-184-118-190.mobile.abo.orange.fr)
08:55:48 vonfry parts (~user@116.236.75.238) (ERC (IRC client for Emacs 27.2))
08:56:11 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
08:58:55 × juhp quits (~juhp@128.106.188.220) (Quit: juhp)
09:03:05 × max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 260 seconds)
09:04:06 juhp joins (~juhp@128.106.188.220)
09:07:44 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
09:08:59 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
09:12:24 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
09:14:11 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
09:17:05 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
09:19:29 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:19:57 × matsurago quits (~matsurago@p0602591-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving)
09:25:18 cfricke joins (~cfricke@user/cfricke)
09:29:44 SoF joins (~skius@user/skius)
09:33:10 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
09:33:38 fendor_ joins (~fendor@178.115.73.9.wireless.dyn.drei.com)
09:36:23 × fendor quits (~fendor@77.119.214.28.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
09:46:01 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
09:48:48 max22- joins (~maxime@2a01cb08833598009d6e8b94d9b3ffbb.ipv6.abo.wanadoo.fr)
09:50:32 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
09:53:30 dschrempf joins (~dominik@2a01-036d-0118-8903-1af3-00e0-6f62-6528.pool6.digikabel.hu)
10:00:18 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
10:00:33 jgeerds joins (~jgeerds@55d40de2.access.ecotel.net)
10:00:36 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
10:00:52 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:01:18 <liskin> awpr: glad to hear that :-)
10:02:41 <kuribas> Once again, haskell tooling is driving me completely crazy.
10:03:01 × dschrempf quits (~dominik@2a01-036d-0118-8903-1af3-00e0-6f62-6528.pool6.digikabel.hu) (Ping timeout: 245 seconds)
10:03:04 <kuribas> "eff is not a visible construtor field name"
10:03:08 <kuribas> Yes in fact it is.
10:03:33 <kuribas> and running with stack gives me other errors.
10:03:34 bens_ is now known as bens
10:04:16 <kuribas> But emacs flycheck (which also runs stack) gives another (wrong) error.
10:04:24 __monty__ joins (~toonn@user/toonn)
10:04:32 fendor_ is now known as fendor
10:07:42 <jneira[m]> the first error is thrown by cabal?
10:07:50 × pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 260 seconds)
10:08:05 pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee)
10:09:04 <kuribas> nope, both stack.
10:09:25 <kuribas> maybe solving the errors on the other modules first will help this.
10:09:48 <jneira[m]> so the error is shown in editor using lsp and hls?
10:10:06 × CiaoSen quits (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
10:11:01 <kuribas> nah, this is flycheck-emacs
10:11:03 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
10:12:03 <jneira[m]> hmm hls has problems with stack and exe/test components if the main lib does not build
10:12:27 <jneira[m]> due to known `stack repl` limitations, so maybe it is affecting you too
10:12:45 <jneira[m]> in the hls case make the lib build and restarting the editor helps
10:13:07 <xsperry> what stack repl limitations?
10:13:31 kritzefitz joins (~kritzefit@212.86.56.80)
10:14:28 <jneira[m]> mainly https://github.com/commercialhaskell/stack/issues/4616
10:14:49 <jneira[m]> but also https://github.com/commercialhaskell/stack/issues/5380
10:15:08 <kuribas> jneira[m]: this is all in the lib.
10:15:33 <jneira[m]> oh, so it might be not the same issue, sorry
10:15:58 <kuribas> maybe it has to do with how the modules are loaded.
10:16:12 <kuribas> Because the relevant records are generated using TH.
10:17:19 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
10:18:14 lavaman joins (~lavaman@98.38.249.169)
10:19:02 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
10:19:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
10:20:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:21:55 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
10:22:02 kritzefitz joins (~kritzefit@212.86.56.80)
10:22:44 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
10:23:47 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
10:25:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
10:26:24 Inst joins (~Inst@2601:6c4:4080:3f80:34d9:c297:fec0:5e7)
10:26:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:26:45 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
10:27:56 kritzefitz joins (~kritzefit@212.86.56.80)
10:31:29 skn2 is now known as skn
10:32:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
10:32:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:32:47 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
10:33:14 gehmehgeh joins (~user@user/gehmehgeh)
10:33:34 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
10:37:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
10:38:21 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
10:38:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:38:34 jakalx parts (~jakalx@base.jakalx.net) ()
10:38:51 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 245 seconds)
10:39:00 CiaoSen joins (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:40:35 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 264 seconds)
10:40:47 × jgeerds quits (~jgeerds@55d40de2.access.ecotel.net) (Ping timeout: 265 seconds)
10:41:09 × max22- quits (~maxime@2a01cb08833598009d6e8b94d9b3ffbb.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
10:41:48 max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
10:42:17 Janus86 joins (~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40)
10:42:51 × max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection)
10:43:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
10:43:49 max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
10:43:55 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
10:44:13 stef204 joins (~stef204@user/stef204)
10:44:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:46:40 jakalx joins (~jakalx@base.jakalx.net)
10:49:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
10:50:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:54:56 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
10:54:57 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
10:55:05 kritzefitz joins (~kritzefit@212.86.56.80)
10:55:44 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
10:56:20 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
11:00:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
11:01:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:02:30 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.3)
11:02:44 × Janus86 quits (~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40) (Quit: Client closed)
11:03:05 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
11:03:58 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
11:07:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:07:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:07:31 × lortabac quits (~lortabac@abayonne-651-1-57-12.w92-156.abo.wanadoo.fr) (Ping timeout: 260 seconds)
11:08:33 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
11:09:03 lortabac joins (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr)
11:10:32 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
11:13:07 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
11:14:25 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
11:18:18 × seiryn quits (~seiryn@pop.92-184-118-190.mobile.abo.orange.fr) (Read error: Connection reset by peer)
11:24:13 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
11:25:44 × nfip^ quits (~nfip@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 265 seconds)
11:26:44 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
11:28:27 seiryn joins (~seiryn@pop.92-184-118-190.mobile.abo.orange.fr)
11:28:54 jgeerds joins (~jgeerds@55d40de2.access.ecotel.net)
11:31:01 Guest199 joins (~Guest19@wificampus-098233.grenet.fr)
11:31:12 × Guest199 quits (~Guest19@wificampus-098233.grenet.fr) (Client Quit)
11:31:35 Guest85 joins (~Guest85@wificampus-098233.grenet.fr)
11:35:56 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 245 seconds)
11:40:03 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:40:20 Cajun joins (~Cajun@user/cajun)
11:40:42 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
11:41:28 <maerwald> why are you usint stack again?
11:41:57 kritzefitz joins (~kritzefit@212.86.56.80)
11:44:56 rond_ joins (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438)
11:45:06 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 245 seconds)
11:51:16 Janus86 joins (~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40)
11:58:40 × Janus86 quits (~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40) (Quit: Client closed)
12:04:09 × Guest85 quits (~Guest85@wificampus-098233.grenet.fr) (Ping timeout: 256 seconds)
12:06:37 Guest9608 is now known as deni
12:08:45 × deni quits (~deni@mail.denibertovic.com) (Changing host)
12:08:45 deni joins (~deni@user/deni)
12:15:11 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
12:15:59 zcombinator joins (~zcombinat@37.162.185.3)
12:17:09 × zcombinator quits (~zcombinat@37.162.185.3) (Client Quit)
12:19:51 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
12:22:25 wren^ joins (~wren@wsip-68-227-92-38.mc.at.cox.net)
12:24:40 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
12:25:19 hyiltiz joins (~quassel@31.220.5.250)
12:35:41 cedeon joins (~cedeon@97e55b5b.skybroadband.com)
12:36:27 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
12:41:11 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 264 seconds)
12:46:06 zer0bitz joins (~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi)
12:46:18 lavaman joins (~lavaman@98.38.249.169)
12:47:18 × seiryn quits (~seiryn@pop.92-184-118-190.mobile.abo.orange.fr) (Quit: WeeChat 3.3)
12:47:20 slowButPresent joins (~slowButPr@user/slowbutpresent)
12:50:30 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
12:50:31 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
12:54:40 × MQ-17J quits (~MQ-17J@8.21.10.17) (Ping timeout: 260 seconds)
12:55:35 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
12:56:00 ub1 joins (~Thunderbi@178.165.171.196.wireless.dyn.drei.com)
12:56:43 × max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 260 seconds)
12:57:01 max22- joins (~maxime@2a01cb0883359800bc3e28b13c9f1130.ipv6.abo.wanadoo.fr)
12:57:05 × ub quits (~Thunderbi@77.119.171.187.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
12:57:12 × ubert quits (~Thunderbi@77.119.171.187.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
12:57:12 ub1 is now known as ubert
12:58:32 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
13:03:54 × max22- quits (~maxime@2a01cb0883359800bc3e28b13c9f1130.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
13:04:07 max22- joins (~maxime@2a01cb08833598009b46fcde5e7728d6.ipv6.abo.wanadoo.fr)
13:06:53 juand joins (~a@p200300ef973db1c64086f0a6a24fc4dd.dip0.t-ipconnect.de)
13:07:43 × mbuf quits (~Shakthi@122.174.32.225) (Quit: Leaving)
13:09:51 acidjnk_new joins (~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de)
13:11:21 × CiaoSen quits (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
13:13:31 × acidjnk_new3 quits (~acidjnk@p200300d0c703cb935575e56a44659e48.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:14:50 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:19:05 × deni quits (~deni@user/deni) (Quit: WeeChat 2.3)
13:19:13 Guest81 joins (~Guest81@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
13:20:12 guniberas joins (~guniberas@42.191.188.121)
13:22:40 × max22- quits (~maxime@2a01cb08833598009b46fcde5e7728d6.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
13:23:20 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
13:27:59 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
13:28:15 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
13:29:37 echoSMILE joins (~echoSMILE@user/echosmile)
13:29:46 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
13:31:21 mmhat joins (~mmh@55d48723.access.ecotel.net)
13:31:51 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:32:24 × connrs quits (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
13:32:40 connrs joins (~connrs@user/connrs)
13:36:51 × mmhat quits (~mmh@55d48723.access.ecotel.net) (Ping timeout: 260 seconds)
13:39:09 zebrag joins (~chris@user/zebrag)
13:42:46 × Guest81 quits (~Guest81@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
13:42:59 deni joins (~deni@user/deni)
13:50:14 mmhat joins (~mmh@55d48723.access.ecotel.net)
13:54:41 × Inst quits (~Inst@2601:6c4:4080:3f80:34d9:c297:fec0:5e7) (Ping timeout: 245 seconds)
13:56:04 max22- joins (~maxime@2a01cb0883359800961d59787a71faaa.ipv6.abo.wanadoo.fr)
13:59:38 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
14:02:22 × ByronJohnson quits (~bairyn@mail.digitalkingdom.org) (Ping timeout: 260 seconds)
14:03:21 Sgeo joins (~Sgeo@user/sgeo)
14:03:40 Inst joins (~Inst@2601:6c4:4080:3f80:c90e:2355:f46b:5a5f)
14:04:35 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
14:05:43 ub joins (~Thunderbi@178.115.41.93.wireless.dyn.drei.com)
14:07:29 × ubert quits (~Thunderbi@178.165.171.196.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
14:07:30 ub is now known as ubert
14:12:21 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
14:13:44 × echoSMILE quits (~echoSMILE@user/echosmile) (Quit: Client closed)
14:14:07 × jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
14:14:11 × Inst quits (~Inst@2601:6c4:4080:3f80:c90e:2355:f46b:5a5f) (Ping timeout: 264 seconds)
14:14:24 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
14:16:54 <AWizzArd> I have a function `foo :: Text -> Either String Bool` and `bar` which has the same sig but `Double` instead of `Bool`. Now I would like to put both into a `Typeable a => Map Text (Either Text a)`. How can I do this?
14:16:58 <AWizzArd> I.e. let myMap = M.fromList [("foo", foo), ("bar", bar)]
14:17:27 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 260 seconds)
14:18:59 <merijn> You can't, the Typeable constraint on Map doesn't change that all values should have the same 'a'
14:19:20 × jgeerds quits (~jgeerds@55d40de2.access.ecotel.net) (Ping timeout: 260 seconds)
14:19:22 echoSMILE joins (~echoSMILE@user/echosmile)
14:19:23 <merijn> You could use a newtype wrapper with an existential quantification, but that's a mess
14:19:47 <AWizzArd> When I make foo and bar return `... -> Either String Dynamic` then I can get this running. It would change the implementation of foo and bar, as they would have to make a toDyn call.
14:20:03 <merijn> Yes
14:21:54 <AWizzArd> merijn: why would that existential q around a newtype wrapper be messy?
14:22:06 <merijn> AWizzArd: I mean, Dynamic is an existential wrapper
14:22:32 <merijn> So, it's messy for the same reason that "modifying everything to wrap/unwrap is messy"
14:22:42 <AWizzArd> k
14:22:44 <lortabac> I would only choose the existential solution if I wanted an extensible solution
14:22:54 <AWizzArd> lortabac: exactly
14:23:02 <lortabac> that is, if I am making a library
14:23:11 <AWizzArd> lortabac: yes, this is my usecase.
14:23:39 <lortabac> however if users of foo and bar have access to the source code, a plain sum type is better
14:24:05 <AWizzArd> My initial thought tho was that foo and bar could just stay as they are, without a toDyn call.
14:24:33 <AWizzArd> lortabac: here definitly no sum type as there are infinitely many solutions. I seriously want dynamic typing here.
14:27:44 <lortabac> depending on what you need to do with these values, you might use Data.Dynamic or introduce a type-class and require users to define an instance
14:28:38 × solomon quits (~solomon@cpe-76-168-7-139.socal.res.rr.com) (Quit: Ping timeout (120 seconds))
14:28:47 ByronJohnson joins (~bairyn@173-13-139-238-sfba.hfc.comcastbusiness.net)
14:29:09 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
14:30:04 × acidjnk_new quits (~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
14:35:14 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
14:35:55 × wren^ quits (~wren@wsip-68-227-92-38.mc.at.cox.net) (Remote host closed the connection)
14:37:51 Inst joins (~Inst@2601:6c4:4080:3f80:c4ab:4275:2f29:1458)
14:37:52 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
14:38:01 × ByronJohnson quits (~bairyn@173-13-139-238-sfba.hfc.comcastbusiness.net) (Ping timeout: 245 seconds)
14:39:59 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
14:42:23 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 264 seconds)
14:43:33 mvk joins (~mvk@2607:fea8:5cc1:300::7f76)
14:43:55 shriekingnoise joins (~shrieking@186.137.144.80)
14:44:48 <AWizzArd> Can I combine the import of specific names and make that module qualified? I.e. import Data.Map.Strict (Map, fromList) qualified as M
14:45:29 <AWizzArd> (putting `qualified` at the end, cause this now works from 8.10 on or so)
14:45:39 <merijn> Sadly, no
14:45:48 <merijn> You need two separate imports
14:46:04 <merijn> I would also recommend against postfix qualified, tbh
14:46:15 <AWizzArd> merijn: okay, will continue doing two. Thanks for confirming.
14:46:15 <sshine> #tosoon?
14:46:23 <merijn> It's a bad extension, imo
14:46:30 <AWizzArd> merijn: why?
14:46:41 × jstolarek quits (~jstolarek@137.220.120.162) (Quit: leaving)
14:46:52 <merijn> AWizzArd: It does nothing, essentially
14:46:59 <geekosaur> encourages sloppiness
14:47:18 <merijn> Would Haskell have been nicer if the import syntax had been more elegantly designed (for example with postfix qualified?)? Yes
14:47:36 <sshine> I guess it makes the library names align because half of them don't have 'qualified' in front of them.
14:47:48 <merijn> However, gratuitous "custom syntax" extensions with no gain in expressivity just fracture the "real syntax" anyone has to learn for no gain in power
14:47:57 <geekosaur> and at this point all it accomplishes is to force a limit on the number of ghc versions you can support
14:48:15 <merijn> Various syntactic sugar extensions have a *real* cost
14:48:18 <merijn> In terms of maintenance
14:48:22 <sshine> merijn, I agree with that. I remember when someone lent me a scala book, and I realized I need to lift weights to hold the book, just because of the syntactic variation.
14:48:26 <merijn> In terms of making Haskell harder to learn for beginners
14:48:36 <merijn> In terms of making people memorise a billion syntax tweaks
14:48:41 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:48:41 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
14:48:41 wroathe joins (~wroathe@user/wroathe)
14:48:51 <AWizzArd> merijn: haha, a billion :)
14:49:07 <merijn> A consistent, unchanging (albeit slightly clunky/awkward) syntax is better than infinite optional variations
14:49:47 <merijn> Any syntactical extension should really provide. A considerable gain in expressivity/power to be worth it.
14:49:53 <geekosaur> AWizzArd, there are quite a few redundant syntaxes even in basic Haskell 98, to say nothing of some of the extensions
14:50:14 <merijn> This is also why I think RecordDotSyntax, etc. are a mess
14:50:22 <shapr> I think rarely used extensions need to be deprecated, even if they're really cool.
14:50:24 <geekosaur> there are people who dislike view patterns because they don't really get you anything, for exanple
14:50:32 <merijn> They do nothing, but make things worth
14:50:46 <merijn> geekosaur: And trivially replaceable with pattern guards
14:51:05 <merijn> shapr: Yeah, but who gets to decide that?
14:51:11 <shapr> merijn: I'll do it!
14:51:15 <merijn> Especially since the odds of a new Haskell Report are unlikely
14:51:24 <shapr> first I shall vote TransformListComp off the island
14:51:30 <merijn> So any random syntactical extension is likely to just hang around indefinitely
14:51:39 marinelli joins (~marinelli@gateway/tor-sasl/marinelli)
14:51:56 <merijn> I vote for -XNoFieldSelectors -XNamedFieldPuns to become the default Haskell behaviour
14:52:06 Profpatsch parts (~Profpatsc@static.88-198-193-255.clients.your-server.de) (WeeChat 3.3)
14:53:16 jkaye joins (~jkaye@2601:281:8300:7530:b96c:a192:af21:58d1)
14:54:45 × michalz quits (~michalz@185.246.204.41) (Read error: No route to host)
14:56:05 tommd joins (~tommd@75-164-130-101.ptld.qwest.net)
15:03:17 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds)
15:03:50 dschrempf joins (~dominik@188-143-59-231.pool.digikabel.hu)
15:03:59 × mvk quits (~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 264 seconds)
15:05:22 mvk joins (~mvk@2607:fea8:5cc1:300::7f76)
15:05:50 <shapr> merijn: we can make a Haskell IRC Report 2021 and just go with it.
15:06:09 <shapr> like an RFC or whatever
15:06:25 <geekosaur> not sure fragmenting the language even more is a win either
15:06:26 <shapr> "We have found these extensions work well together, and these others are inoffensive, and these are never used, so don't use 'em"
15:06:39 <geekosaur> we already have ghc2021
15:06:44 <shapr> oh really?
15:06:46 shapr searches
15:06:56 <geekosaur> it's in 9.2
15:06:56 <sshine> Haskell 1459 Report
15:07:18 <shapr> oh, it's this one? https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0380-ghc2021.rst
15:08:15 <shapr> geekosaur: as long as someone's doing it
15:10:58 × lortabac quits (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) (Quit: WeeChat 2.8)
15:11:26 <sshine> what's that extension for allowing 1.3e4 for integers as long as it's actually an integer?
15:11:56 <merijn> NumDecimals
15:11:59 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
15:12:07 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/num_decimals.html
15:13:03 <sshine> thanks
15:13:32 <dminuoso> Im onto a real strange thing here. It seems diffBy in Diff has some fundamental bug.. I get this bizarre behavior of two items being equal in the predicate being listed as *both* First and Second. If I filter the input lists to singleton lists containing the offending items, I get a Both..
15:13:38 dminuoso is starting to get headaches
15:14:03 <dminuoso> Maybe I violated some precondition?
15:15:26 × fendor quits (~fendor@178.115.73.9.wireless.dyn.drei.com) (Remote host closed the connection)
15:16:35 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
15:16:35 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
15:16:39 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
15:16:59 MQ-17J joins (~MQ-17J@8.21.10.17)
15:19:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:19:48 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
15:19:48 wroathe joins (~wroathe@user/wroathe)
15:24:30 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
15:26:04 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
15:26:48 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:27:59 × juand quits (~a@p200300ef973db1c64086f0a6a24fc4dd.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
15:28:21 juand joins (~a@p200300ef973db1624086f0a6a24fc4dd.dip0.t-ipconnect.de)
15:31:33 × mvk quits (~mvk@2607:fea8:5cc1:300::7f76) (Quit: Konversation terminated!)
15:31:58 mvk joins (~mvk@2607:fea8:5cc1:300::7f76)
15:39:58 × mvk quits (~mvk@2607:fea8:5cc1:300::7f76) (Quit: Konversation terminated!)
15:40:18 mvk joins (~mvk@2607:fea8:5cc1:300::7f76)
15:41:49 MasseR joins (~MasseR@51.15.143.128)
15:41:55 × MQ-17J quits (~MQ-17J@8.21.10.17) (Ping timeout: 260 seconds)
15:42:08 segfaultfizzbuzz joins (~segfaultf@135-180-0-138.static.sonic.net)
15:42:08 <dminuoso> Yeah, I pretty much confirmed it now.
15:42:17 <dminuoso> Diff seems to have a fundamental bug.
15:42:22 <dminuoso> Uh this hurts.
15:42:31 MQ-17J joins (~MQ-17J@8.21.10.17)
15:42:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
15:44:06 × dschrempf quits (~dominik@188-143-59-231.pool.digikabel.hu) (Ping timeout: 244 seconds)
15:46:52 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
15:50:02 × rond_ quits (~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed)
15:51:19 × mvk quits (~mvk@2607:fea8:5cc1:300::7f76) (Remote host closed the connection)
15:51:22 <kritzefitz> is there a version of `traverse` for `Alternative` that ignores `empty` results in the result?
15:51:23 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
15:51:35 <janus> which diff package is that?
15:51:39 <dminuoso> Diff
15:51:42 mvk joins (~mvk@2607:fea8:5cc1:300::7f76)
15:52:17 <dminuoso> Or I have some pretty deep `text` bug creeping up here.
15:52:25 <dminuoso> Let me try switching this to string
15:55:53 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
15:58:11 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving)
15:58:44 <janus> kritzefitz: wouldn't it be possible to do "traverse (\x -> do y <- myFun x; guard (y /= empty); pure y)" or is there something more to it?
16:00:00 <dminuoso> kritzefitz: Yes, it's called Witherable
16:00:13 <dminuoso> With the contained class method `wither`
16:00:21 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
16:00:35 <dminuoso> wither :: (Witherable t, Applicative f) => (a -> f (Maybe b)) -> t a -> f (t b)
16:00:42 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:00:42 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:00:42 wroathe joins (~wroathe@user/wroathe)
16:01:15 <dminuoso> janus: And no you cant
16:01:17 <dminuoso> % :t guard
16:01:18 <yahb> dminuoso: Alternative f => Bool -> f ()
16:01:21 <dminuoso> % :t traverse
16:01:21 <yahb> dminuoso: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
16:01:29 <janus> ah bummeeeeeer
16:01:41 <dminuoso> janus: traverse in its laws guarantees that you cant change its chape
16:01:43 <dminuoso> *shape
16:02:01 <dminuoso> But Witherable roughly fits what kritzefitz asked for, though it doesnt quite work with Alternative.
16:02:10 <kritzefitz> Hmm, maybe I'm asking for a too general case. Let me rephrase.
16:02:52 <dminuoso> Hooray. Okay, I managed to reduce the Diff bug to a test case of comparing two string lists of 5 elements each.
16:03:28 <dminuoso> And in that degenerate case, I roughly get [First "foo", Second "foo"] as a sublist.
16:03:31 <dminuoso> This is so broken...
16:03:41 <kritzefitz> I have a bunch of STM actions (currently in a Set, but I could live with using a list) actions and I want to run them all and get all results that don't retry.
16:03:53 <janus> to bad the project is on darcs so you'll never find out how many other people emailed Sterling Clover about the same issue ;)
16:05:11 × xff0x quits (~xff0x@2001:1a81:538f:ce00:2246:a77f:21ad:4c1c) (Ping timeout: 264 seconds)
16:05:12 <dminuoso> I think Im using it wrong.
16:05:13 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
16:05:17 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds)
16:05:35 <dminuoso> This is more likely than me discovering a fundamental bug in Diff which seems to drive thousands of projects.
16:05:46 xff0x joins (~xff0x@2001:1a81:538f:ce00:3337:5557:9d4:4565)
16:05:48 <dminuoso> Time to read the paper I guess
16:05:54 jakalx joins (~jakalx@base.jakalx.net)
16:06:59 <janus> 79 reverse deps: https://packdeps.haskellers.com/reverse/Diff
16:07:00 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
16:07:14 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
16:07:41 <dminuoso> janus: The download count suggests this appears on many many projects.
16:07:46 <dminuoso> Even if transitively
16:07:47 Hecate just posted a controversial message on libraries@
16:07:49 neurocyte0132889 joins (~neurocyte@212.232.86.211)
16:07:49 × neurocyte0132889 quits (~neurocyte@212.232.86.211) (Changing host)
16:07:49 neurocyte0132889 joins (~neurocyte@user/neurocyte)
16:07:52 <Hecate> pray for my soul
16:08:05 <dminuoso> Hecate: Are there non-controversial messages on that ml?
16:08:08 <janus> well aeson depends on Diff. that alone should account for it
16:08:38 <dminuoso> janus: haha careful
16:08:40 <janus> but most people probably do not rely on that part of aeson ;)
16:08:46 <Hecate> dminuoso: hahahaha
16:08:49 <dminuoso> This is just used in its test suite, in just a single occurence
16:09:13 <janus> ok, maybe it is from dhall, fourmolu, hledger or pandoc then :P
16:09:39 <geekosaur> well. nice big bikeshed for everyone to paint
16:10:03 <geekosaur> flip side, this one actually has a reason, unlike the original proposal
16:10:17 <Hecate> dminuoso: I've posted about the "single-method Eq" change
16:10:51 Null_A joins (~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9)
16:11:18 janus opens ML expecting to read about HoTT
16:11:26 <geekosaur> then, as Ord needs to be changed anyway, might as well go all the way and introduce PartialOrd at the same time
16:11:29 <Hecate> janus: no, thank go no
16:11:33 <Hecate> *god
16:11:39 <dminuoso> janus: Okay, I think Im just holding it wrong.
16:11:47 <dminuoso> at the very least this is a documentation bug.
16:12:00 × cedeon quits (~cedeon@97e55b5b.skybroadband.com) (Quit: leaving)
16:12:09 <Hecate> https://mail.haskell.org/pipermail/libraries/2021-October/031492.html <- this is my email
16:13:03 <geekosaur> or, since Ord is apparently documented to be a partial order, introduce TotalOrd and let the next wave of bikeshedding wait until it's settled a few versions on
16:14:04 dschrempf joins (~dominik@2a01-036d-0118-8903-cceb-e4ad-7ffa-bf77.pool6.digikabel.hu)
16:14:06 <Hecate> geekosaur: ;_;
16:14:10 <Hecate> nuh
16:20:11 × xff0x quits (~xff0x@2001:1a81:538f:ce00:3337:5557:9d4:4565) (Ping timeout: 260 seconds)
16:20:17 <fryguybob> kritzefitz: All in one transation or running separately?
16:20:29 <kritzefitz> All in one transaction.
16:20:57 xff0x joins (~xff0x@2001:1a81:538f:ce00:ef89:3777:7c2d:5013)
16:22:09 <Hecate> /2
16:24:07 <kritzefitz> Ah, now I understand dminuoso's comment. I not only need "Witherable" but also "optional".
16:24:11 <shapr> /3
16:25:27 <fryguybob> kritzefitz: Something like: atomically . mapM (\t -> (Just <$> t) `orElse` pure Nothing)
16:26:36 <dminuoso> kritzefitz: wither + optional sounds fairly expressive :)
16:26:47 × dschrempf quits (~dominik@2a01-036d-0118-8903-cceb-e4ad-7ffa-bf77.pool6.digikabel.hu) (Ping timeout: 264 seconds)
16:27:21 <kritzefitz> Yeah, but I'd like to avoid the additional dependency on witherable, so I'm probably gonna go with catMaybes + optional.
16:27:33 <dminuoso> Absolutely, catMaybes is just wither monomorphized to list.
16:27:43 <janus> kritzefitz: have you seen `withered` here https://chrispenner.ca/posts/witherable-optics
16:28:00 <dminuoso> In our project I simply defined `wither` on the spot for the datatype I used rather than depend on witherable too
16:28:06 <dminuoso> Personally I think `Witherable` should have been in base.
16:29:11 × marinelli quits (~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
16:29:24 <dminuoso> kritzefitz: Hold on, the above characterization is wrong.
16:29:42 <dminuoso> wither f t = catMaybes <$> traverse f t
16:29:44 <dminuoso> witherAlt f = wither (optional . f)
16:29:48 <dminuoso> kritzefitz: ^- haha. I even wrote witherAlt too! :)
16:29:58 <dminuoso> This is straight from our largest project
16:30:24 <janus> (witherAlt is withered from Chris Penner)
16:30:58 <dsal> I saw a thing once that described the difference between adding data and functionality in OO vs. FP and can't remember it. I need that right now for someone who's wanting to "extend" data types. Anyone have any idea what I'm thinking of?
16:31:34 <fryguybob> kritzefitz: Note that the order you are running these actions can have an effect on what result you get.
16:31:37 <dminuoso> dsal: Mmm, sounds like the expressibility problem?
16:31:44 <dminuoso> Or expression problem its called
16:32:02 <kritzefitz> fryguybob: even if all the actions are read-only?
16:32:14 <dsal> dminuoso: Yeah, thanks!
16:32:44 <dminuoso> kritzefitz: Potentially, yes.
16:32:51 <fryguybob> kritzefitz: Read-only actions commute with each other.
16:32:52 <dminuoso> If there's other threads working these things in parallel
16:33:07 mvk_ joins (~mvk@2607:fea8:5cc1:300::7f76)
16:33:20 <dminuoso> That is, even if your wither on the structure causes read-only, if there's mutation operations outside, it could alter the behavior evidently
16:33:26 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
16:33:32 <fryguybob> kritzefitz: But say one action has a lot of reads, if that is at the end, there is a higher probability that the whole transction will succeed, so the performance can change.
16:33:41 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
16:33:54 <dminuoso> kritzefitz: Also, since STM is monadic, the read output can influence the further action selection...
16:34:04 <dminuoso> So yeah. The order can still have an impact.
16:34:17 <dminuoso> Ah but hold on
16:34:20 <dminuoso> Nevermin dme
16:34:20 <janus> dminuoso: where is optional from?
16:34:26 <dminuoso> janus: base
16:34:30 <dminuoso> % :i optional
16:34:31 <yahb> dminuoso: optional :: Alternative f => f a -> f (Maybe a) -- Defined in `Control.Applicative'
16:34:35 × mvk quits (~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 264 seconds)
16:34:50 <dminuoso> Very useful in parser combinators and STM
16:35:04 × dajoer quits (~david@user/gvx) (Quit: leaving)
16:35:27 <janus> oh i hadn't realized that :info puts a comment on the type
16:35:29 <janus> how rare
16:35:47 <Franciman> mundane ^^
16:35:57 <Franciman> ah no
16:36:00 <Franciman> not mundane
16:36:03 <Franciman> ^^
16:36:09 <Franciman> false friends
16:36:13 <Franciman> fancy
16:36:16 <Franciman> I meant
16:37:09 <janus> Franciman: which language is the false friend in?
16:37:22 <kritzefitz> Now I'm confused. Does the order of read-only actions in STM matter or does it not?
16:38:10 <kritzefitz> Apart from performance. I don't think that matters a lot in my case, because the whole transaction is read-only.
16:38:21 <Franciman> I thought it meant mondano, janus in italian, which means: brillantly and clostly refined
16:38:23 hyiltiz joins (~quassel@31.220.5.250)
16:39:40 <fryguybob> kritzefitz: The only difference if they are all read only would be performance.
16:42:39 <kritzefitz> Do you have an example of when performance would be affected?
16:44:36 × Null_A quits (~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9) (Remote host closed the connection)
16:44:43 <fryguybob> kritzefitz: The one I gave above. You can think of every transaction as having a probability of committing. Each read has a probability that the value seen gets overwritten. If highly likely to be overwritten reads happen first, that decresses the probability of commit vs if they happen last.
16:46:23 <fryguybob> Failing ot commit means the transaction has to be run again (this is not the same as retry ) and that takes time.
16:47:20 <kritzefitz> Ok, sure. But is there actually a possibility that a transactions has to be run again, if it never "retry"s?
16:47:35 <fryguybob> kritzefitz: Absolutely.
16:47:52 <fryguybob> kritzefitz: Any observation of a change in the read leads to running the transaction again.
16:48:02 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:48:02 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:48:02 wroathe joins (~wroathe@user/wroathe)
16:48:06 lavaman joins (~lavaman@98.38.249.169)
16:48:08 <kritzefitz> Ah, right.
16:49:48 <kritzefitz> Would running multiple transactions actually be better in this case?
16:50:13 <fryguybob> If you can get a way with it is almost always better to have more smaller transactions than one big one.
16:50:41 <fryguybob> But there is per-transaction overhead.
16:51:38 <fryguybob> There is also readTVarIO which is much faster than atomically . readTVar
16:52:49 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 244 seconds)
16:52:51 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
16:52:57 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
16:58:07 ByronJohnson joins (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net)
16:58:51 × mvk_ quits (~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 245 seconds)
16:58:56 dyeplexer joins (~dyeplexer@user/dyeplexer)
17:00:26 econo joins (uid147250@user/econo)
17:21:46 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
17:23:51 waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
17:35:48 × guniberas quits (~guniberas@42.191.188.121) (Ping timeout: 260 seconds)
17:35:50 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
17:36:31 chisui joins (~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de)
17:37:46 jgeerds joins (~jgeerds@55d40de2.access.ecotel.net)
17:42:27 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
17:46:19 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
17:47:43 justsomeguy joins (~justsomeg@user/justsomeguy)
17:47:56 × MQ-17J quits (~MQ-17J@8.21.10.17) (Ping timeout: 260 seconds)
17:48:01 × hendursaga quits (~weechat@user/hendursaga) (Quit: hendursaga)
17:48:31 hendursaga joins (~weechat@user/hendursaga)
17:49:05 ubert1 joins (~Thunderbi@178.115.41.93.wireless.dyn.drei.com)
17:55:18 <justsomeguy> I'm getting -Wincomplete-patterns warnings on this function https://github.com/kingparra/hpfp/blob/master/08_-_recursion/exercises/8.6.3_-_recursion.rst.d/sum-to/src/Lib.hs
17:55:39 <justsomeguy> How do I figure out which type it is partial for?
17:55:59 <monochrom> The same type "a".
17:56:02 <monochrom> @type signum
17:56:03 <lambdabot> Num a => a -> a
17:56:34 Heisen joins (~Heisen@77.240.67.20)
17:56:41 <monochrom> It is very unclear that 0, 1, -1 cover all cases, even to humans.
17:56:45 <awpr> GHC doesn't understand that signum can only ever return {0, 1, -1}, it's just Int
17:56:55 <monochrom> Indeed, try signum on Complex Double.
17:57:06 <geekosaur> this is in a way a shortcoming of signum, it should really use an ADT
17:57:20 <geekosaur> although there is that, yeh
17:57:48 <awpr> is it a unit vector of the same direction as the input?
17:57:53 <awpr> (or zero)
17:58:18 <monochrom> Let's try!
17:58:37 <monochrom> > signum (3.0 :+ 4.0)
17:58:39 <lambdabot> 0.6 :+ 0.8
17:58:52 <monochrom> > 0.6^2 + 0.8^2
17:58:53 <lambdabot> 1.0
17:59:05 <justsomeguy> Ok, intersting, I didn't know that Data.Complex existed until just now.
17:59:20 <awpr> that one worked out pleasingly well as far as decimal arithmetic goes
17:59:40 <monochrom> I chose pleasing examples :)
18:00:04 <monochrom> 3,4,5 is a well-known Pythagorean triple :)
18:00:45 <dolio> Yeah, but is dividing by 5 known to not cause eventual results like 1.000000001?
18:01:01 × jassob2 quits (~jassob@korrob.vth.sgsnet.se) (Ping timeout: 244 seconds)
18:01:05 <dolio> :)
18:01:29 dschrempf joins (~dominik@2a01-036d-0118-8903-0da8-d413-8f1a-53ab.pool6.digikabel.hu)
18:01:57 <monochrom> > magnitude (signum (3.0 :+ 4.0))
18:01:58 <lambdabot> 1.0
18:02:03 <monochrom> > magnitude (signum (3.0 :+ 4.0)) - 1
18:02:04 <lambdabot> 0.0
18:02:11 <monochrom> I'm lucky!
18:05:00 × max22- quits (~maxime@2a01cb0883359800961d59787a71faaa.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
18:05:41 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
18:06:23 × dschrempf quits (~dominik@2a01-036d-0118-8903-0da8-d413-8f1a-53ab.pool6.digikabel.hu) (Ping timeout: 264 seconds)
18:06:42 hendursaga joins (~weechat@user/hendursaga)
18:07:42 <Heisen> Good evening, could someone help me get this to work? Ive been stuck for a while. https://paste.tomsmeding.com/m4s9flyC
18:08:42 <Heisen> Also I am new to IO so no complicated functions
18:10:01 <monochrom> In what sense does it "not" "work"?
18:10:20 × ubert1 quits (~Thunderbi@178.115.41.93.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
18:11:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:13:17 <dminuoso> Also what is "copyAll"?
18:14:12 mvk_ joins (~mvk@2607:fea8:5cc1:300::4a62)
18:15:13 × mvk_ quits (~mvk@2607:fea8:5cc1:300::4a62) (Client Quit)
18:15:30 mvk joins (~mvk@2607:fea8:5cc1:300::4a62)
18:16:24 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds)
18:16:24 <Heisen> It only saves the contents from the first file (x) monochrom
18:16:32 <Heisen> not the other ones
18:18:34 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
18:21:30 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
18:21:36 mc47 joins (~mc47@xmonad/TheMC47)
18:21:47 <monochrom> I think dminuoso's question is also relevant.
18:22:25 aplainze1akind is now known as aplainzetakind
18:22:43 <Heisen> It takes a couple of .txt files and add the contents together in a new file
18:23:02 <monochrom> files? filenames?
18:23:48 alx741 joins (~alx741@186.178.108.74)
18:24:47 <dminuoso> Best to share its definition in a paste.
18:25:13 <monochrom> dminuoso, it is a recursive call.
18:25:21 <geekosaur> they pasted it earlier
18:25:22 <dminuoso> Oh.,
18:25:26 <Heisen> I pasted it already?
18:25:33 dlss^ joins (~dlss@wsip-68-227-92-38.mc.at.cox.net)
18:25:33 <dminuoso> Haha, sorry I actually did not realize that.
18:25:45 <monochrom> But what's in xs and is it what copyAll should expect?
18:27:02 <yin> what do we call the ability of a language's function containing references to itself?
18:27:15 <monochrom> recursion
18:27:31 <geekosaur> explicit recursion, to be more precise
18:27:54 <geekosaur> (as distinct from, say, using fix to achieve recursion)
18:27:59 × jkaye quits (~jkaye@2601:281:8300:7530:b96c:a192:af21:58d1) (Ping timeout: 264 seconds)
18:28:04 <yin> geekosaur: that's it
18:28:10 <Heisen> For example you have three .txt files, a.txt has hello, b.txt has help, c.txt has me. We call copyAll ["a.txt","b.txt","c.txt"] "d.txt"
18:28:21 <Heisen> and we should expect d.txt to have hello help me
18:29:05 <monochrom> Have you printed out xs to verify that it looks like ["b.txt", "c.txt"] for example?
18:29:34 <monochrom> Or rather, more succintly, you evaded my question.
18:30:02 <monochrom> My questions are guiding questions, if you evade them you learn nothing, you're just stuck with your confirmation bias.
18:30:45 <maerwald> `(x:xs) <- sequence $ map readFile fromFiles`
18:31:06 <awpr> #haskell corollary to Betteridge's law: when a question is answered with the question, the answer is the opposite of what you think
18:31:07 <maerwald> that looks like a partial pattern match
18:31:19 <awpr> with a question*
18:31:36 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:32:57 <maerwald> but yeah, it makes no sense
18:33:29 <monochrom> The whole thing makes no sense, really. For example I wonder why not sequence_
18:34:19 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
18:34:31 <monochrom> But let's stab this existing solution bit by bit to a slow death first. >:)
18:34:36 <maerwald> you could fix it by unsafeInterleaveIO xD
18:34:50 <maerwald> in order to not read unnecessary files
18:34:55 <monochrom> I think readFile already contains the necessary unsafeInterleaveIO.
18:35:34 <maerwald> monochrom: well, it causes an open syscall still
18:35:41 <maerwald> just the contents are lazy
18:35:52 <maerwald> afaik
18:36:04 <monochrom> Yes.
18:36:29 <maerwald> lazy IO in Prelude was a mistak
18:36:33 <maerwald> lazy IO is hard
18:37:54 <Heisen> xs <- sequence $ map readFile fromFiles
18:37:54 <Heisen> writeFile toFile (concat xs)
18:38:04 <Heisen> solved, thanks anyway.
18:38:07 <maerwald> Heisen: what?
18:38:19 <maerwald> do you know what that does?
18:38:30 <Heisen> Yep
18:38:34 <maerwald> what does it do?
18:39:20 <monochrom> Uh, I wouldn't ask that question, because any answer would be informationless anyway, in the same sense as...
18:39:25 tinhatcat joins (~manjaro-g@2620:103:a000:2201:8e4c:af6a:e11c:11a1)
18:39:35 <monochrom> <Q> Did you lie? <A> No.
18:39:41 × chele quits (~chele@user/chele) (Remote host closed the connection)
18:39:52 <maerwald> Heisen: please check the contents after you've written the files :)
18:40:06 × tinhatcat quits (~manjaro-g@2620:103:a000:2201:8e4c:af6a:e11c:11a1) (Client Quit)
18:40:35 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
18:43:19 dschrempf joins (~dominik@2a01-036d-0118-8903-19ca-cfaa-56ae-bb18.pool6.digikabel.hu)
18:44:45 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
18:45:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
18:46:23 <Inst> why do I keep on getting parse error on input |?
18:46:38 <dminuoso> Inst: Share your code.
18:47:19 <monochrom> "It depends." :)
18:47:20 <Inst> It's utter noob crap
18:47:21 <Inst> https://cdn.discordapp.com/attachments/528863657363505159/902267069444292608/unknown.png
18:47:46 <monochrom> I don't see the parse error.
18:47:47 <dminuoso> monochrom: haha, I was intent on writing the same thing as a conclusion from the chat in -ot
18:48:14 <monochrom> In addition to why do you still think a screen crop is a good idea.
18:48:16 <geekosaur> not` x
18:48:28 <geekosaur> ` should perhaps be '
18:49:14 <dminuoso> Mmm, this would require a more sophisticated lexer to error out better right?
18:49:22 <geekosaur> yeh
18:50:56 × Heisen quits (~Heisen@77.240.67.20) (Quit: Client closed)
18:51:47 <Inst> ah, thanks
18:51:56 <Inst> Still new, can't remember to use grave instead of single quote
18:52:24 <Inst> oh wait, it should be single quote, not grave, right?
18:52:40 <dminuoso> Indeed.
18:52:53 <Inst> thanks
18:54:30 × zer0bitz quits (~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) (Read error: Connection reset by peer)
18:58:05 × dschrempf quits (~dominik@2a01-036d-0118-8903-19ca-cfaa-56ae-bb18.pool6.digikabel.hu) (Ping timeout: 260 seconds)
18:58:11 max22- joins (~maxime@2a01cb088335980089ed6f978d54394c.ipv6.abo.wanadoo.fr)
18:58:12 jakalx parts (~jakalx@base.jakalx.net) ()
19:00:23 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
19:00:24 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
19:03:44 jakalx joins (~jakalx@base.jakalx.net)
19:03:46 hippoid joins (~idris@184.105.6.88)
19:03:51 <hippoid> :t fmap.return
19:03:53 <lambdabot> Functor f => b -> f a -> f b
19:04:16 <hippoid> why is that type class restraint Functor f and not Monad m?
19:04:24 <hippoid> :t return
19:04:24 <dminuoso> hippoid: the name is utterly misleading.
19:04:25 <lambdabot> Monad m => a -> m a
19:04:41 <dminuoso> Probably some historical accident, something from our dark past better not mentioned.
19:04:50 <dminuoso> return = <$
19:04:57 <dminuoso> % :t (<$)
19:04:57 <yahb> dminuoso: Functor f => a -> f b -> f a
19:05:29 <hippoid> dminuoso: what name is utterly misleading?
19:05:32 <monochrom> No, instead, I think a particular Monad instance is forced.
19:05:53 <tomsmeding> :t \x -> fmap . x
19:05:54 <lambdabot> Functor f => (a1 -> a2 -> b) -> a1 -> f a2 -> f b
19:05:54 <dminuoso> Ohh hold on. Somehow I read this as `Data.Functor.return`
19:05:58 <dminuoso> My mind is playing tricks on me today
19:06:09 <tomsmeding> :t return :: a -> b -> c
19:06:10 <lambdabot> error:
19:06:10 <lambdabot> • Couldn't match type ‘a1’ with ‘c1’
19:06:10 <lambdabot> ‘a1’ is a rigid type variable bound by
19:06:31 <tomsmeding> :t return :: a -> b -> a
19:06:32 <lambdabot> a -> b -> a
19:07:00 <monochrom> Consider in "\x -> fmap (return x)", consider unifying "a -> b" with "return x :: Monad m => m c"
19:07:25 d0ku joins (~d0ku@178.43.15.137.ipv4.supernova.orange.pl)
19:07:38 <tomsmeding> yeah, 'return' here is the return of the ((->) b) monad; i.e. it's a -> m b where "m" is "b ->"
19:07:59 <tomsmeding> :t fmap . const
19:08:00 <lambdabot> Functor f => b -> f a -> f b
19:08:03 <tomsmeding> same thing
19:09:14 <yin> i'm trying to "really" understand the y combinator and i have a question. would this be a good place to ask?
19:09:16 <Boarders> in my hlint file I have: -ignore: {name: "Move brackets to avoid $"}
19:09:21 <tomsmeding> :t return :: a -> b -> a
19:09:22 <lambdabot> a -> b -> a
19:09:23 <tomsmeding> :t (<*>) :: (a -> b -> c) -> (a -> b) -> (a -> c)
19:09:24 <lambdabot> (a -> b -> c) -> (a -> b) -> a -> c
19:09:26 <Boarders> but I keep getting that suggestion, is there something different I am supposed to write?
19:09:30 <tomsmeding> K and S combinators anyone?
19:10:03 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
19:10:16 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
19:10:18 <tomsmeding> yin: probably :)
19:10:52 <yin> here it goes
19:10:53 <yin> Y = λf.(λx.f(x x))(λx.f(x x))
19:10:53 <yin> Y = λf.(λx. x x )(λx.f(x x))
19:10:53 <yin> ^
19:10:54 <monochrom> I wouldn't "understand" the Y combinator. I would understand the diagonal trick first, e.g., my http://www.cs.utoronto.ca/~trebla/CSCC24-2021-Summer/09-semantics-1.html#rec
19:10:55 <yin> what difference does this f make?
19:11:18 unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
19:11:26 <tomsmeding> yin: have you tried just writing out what "Y(f)" evaluates to?
19:11:41 <tomsmeding> it should be f(f(f(f(....))))
19:12:05 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
19:13:15 × xff0x quits (~xff0x@2001:1a81:538f:ce00:ef89:3777:7c2d:5013) (Ping timeout: 260 seconds)
19:13:21 <monochrom> Or Oleg's https://okmij.org/ftp/Computation/fixed-point-combinators.html#Self-application
19:14:08 xff0x joins (~xff0x@2001:1a81:538f:ce00:2234:349c:dfdf:94b7)
19:16:02 <yin> tomsmeding: yes
19:16:13 <yin> so there is no difference
19:16:38 <yin> theoretially at least
19:16:47 <tomsmeding> well, with the additional 'f' you have "one extra f"
19:16:52 <yin> is there any advantage of using one form over the other?
19:16:56 <tomsmeding> which doesn't make a difference because there's infinitely many anyway
19:17:26 <tomsmeding> yin: to speak about advantages, you have to give a use case :)
19:17:30 <yin> i'm guessing one can be more performant than the other when applied to some language, depending on the implementation?
19:17:41 <tomsmeding> I don't know any practical of this form of the fixpoint combinator
19:17:48 <tomsmeding> s/practical/practical uses/
19:18:07 <hippoid> so how does fmap.const and fmap.return have the same type? const is a->b->a, and return is a -> M a. Should I think of return as taking two parameters?
19:18:17 <hippoid> :t fmap.const
19:18:18 <lambdabot> Functor f => b -> f a -> f b
19:18:21 <hippoid> :t fmap.return
19:18:22 <tomsmeding> any language that cares about performance is going to implement the fixpoint combinator differently
19:18:23 <lambdabot> Functor f => b -> f a -> f b
19:18:29 <monochrom> <monochrom> Consider in "\x -> fmap (return x)", consider unifying "a -> b" with "return x :: Monad m => m c"
19:18:52 <monochrom> After that, consider how, for that Monad instance, return = const.
19:19:05 <tomsmeding> another hint: note that "a -> b" is the same as "(->) a b"
19:19:14 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 260 seconds)
19:19:22 <hippoid> ok good stuff, need to chew on that
19:19:55 <tomsmeding> partial application of (->), always sparkly the first time you taste it :)
19:20:12 <hippoid> lol
19:20:24 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
19:20:27 <geekosaur> not to say mind-warping
19:20:43 × chisui quits (~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de) (Quit: Client closed)
19:20:44 <geekosaur> don't feel bad that it isn't clicking, people always have prolems the first time they hit this
19:20:58 <geekosaur> and it takes a while to get used to
19:21:06 chisui joins (~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de)
19:21:10 <hippoid> and i assume it's worth understanding?
19:21:17 <monochrom> YES
19:21:18 <geekosaur> it is, yes
19:21:28 <tomsmeding> the ((->) a) instance is very useful for pointfree code golfing :p
19:21:58 <tomsmeding> but disregarding that, understanding this will help a lot in getting a better feel for how Haskell's type system orks
19:22:00 <tomsmeding> *works
19:22:11 <tomsmeding> even if you won't use this instance often in particular
19:22:34 <monochrom> And enriching what you know what "monad" means.
19:22:50 <hippoid> good to know the path is a worthy one
19:22:51 <monochrom> Since every surprising example enriches it.
19:23:16 <zincy> Are there any alternatives to the Machines library if I want a Mealy machine?
19:24:01 <monochrom> People keep asking "where to read yet another wordy intuition of monad" and miss the mark. To build intuition you confront a million examples, not a million essays.
19:24:16 <monochrom> Actually true of learning anything.
19:24:22 <tomsmeding> yeah
19:24:56 <tomsmeding> I achieved some decent working understanding of Monad after I'd implemented a state monad and then a parser combinator monad
19:25:13 <monochrom> Another enrichment is to, for example, see the equivalence between "data P a = MkP a a" and "((->) Bool) a". I put that on the exam.
19:25:14 <tomsmeding> understanding at least for the common cases, that is
19:26:04 <Inst> why do people claim that pattern matching is hard to learn?
19:26:06 <tomsmeding> monochrom: where does the monad come in there?
19:26:29 <geekosaur> Inst, because people expect to compare values, not match structure
19:26:38 <monochrom> You will be surprised that you write >>= for P the same way you would write >>= for (->)e in general, and then just set e=Bool.
19:26:43 <Inst> is there something I don't understand about pattern matching?
19:26:53 <Inst> like, I'm treating it as effectively an overloaded function
19:26:57 <Inst> it should be intuitive
19:26:59 <monochrom> And then the even bigger surprise is that this is the only lawful solution for P.
19:26:59 <geekosaur> in fact "structure" throws them off because this is where ADTs start to show their power
19:27:07 <monochrom> (I learned it the hard way.)
19:27:17 <tomsmeding> Inst: maybe because the control flow through pattern matching is non-linear? Like, you go into a pattern, perhaps fail a match, then back outward again and try the next
19:27:23 <geekosaur> they just look like funny type declarations until you strat to understand this
19:27:38 <geekosaur> *start to
19:27:48 <Inst> yeah it's probably because my first language is basic and i haven't done this for years
19:27:50 Psybur joins (~Psybur@mobile-166-170-29-12.mycingular.net)
19:27:51 <tomsmeding> monochrom: ooh, nice, Monad instance for P
19:28:00 <monochrom> Inst: I claim that pattern matching is easy to learn. Now please ask those other people back "why do people claim that pattern matching is easy to learn?"
19:28:05 <Inst> ~"Haskell Is The Best Imperative Language"~
19:28:29 <monochrom> Pattern matching is so easy to learn, Racket has it.
19:28:49 <tomsmeding> C has pattern matching!
19:29:00 <tomsmeding> on all the sum types that it supports, which is only integral values
19:29:16 Null_A joins (~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9)
19:29:17 <dminuoso> tomsmeding: What c has is not real pattern matching.
19:29:28 <monochrom> I love vacuously true statements :)
19:29:34 <Inst> Pattern Matching is a better or worse written "Switch", I suppose
19:29:36 <tomsmeding> okay disregarding that you can goto random places in a switch statement
19:29:37 <dminuoso> It's way more complex than that because of fallthrough and additional control flow that can easily interrupt it.
19:29:45 <Inst> the annoying thing about pattern matching seems to be having to type in the function over and over again
19:29:46 <yin> Inst: nooo
19:30:01 <dminuoso> tomsmeding: even then, fallthrough is a disgusting thing.
19:30:01 <tomsmeding> Inst: f x y = case x of
19:30:04 <monochrom> Also disregard that duff-something device heh
19:30:09 <tomsmeding> or if it's the last parameter, use \case
19:30:22 <Inst> oh so there's syntax to avoid having to type all the damn patterns
19:30:28 <yin> Inst: use pattern guards
19:30:32 <tomsmeding> Inst: well, just use a case expression :p
19:30:35 <Inst> yeah i prefer guards to pattern matching
19:30:42 <monochrom> Yeah people hate "f x = case x of" because it seems to have to type in the "x" over and over again haha
19:30:55 <yin> Inst: with pattern guards, you get the best of both worlds
19:30:59 × hippoid quits (~idris@184.105.6.88) (Quit: leaving)
19:31:03 <Inst> idgi, how bad are commodity coders
19:31:05 <dminuoso> tomsmeding: and fallthru is problematic because you can create unreadably complex code with it, by carefully placing breaks and interleaving it with effects..
19:31:08 <dminuoso> And this is repeatedly done.
19:31:12 <yin> i did ONLY pattern guards for everything for a while. it was "My style" :p
19:31:18 <tomsmeding> dminuoso: to be honest, Haskell's pattern matching could do with disjunctive patterns, like f (X a | Y a) = ... a ...
19:31:35 × mei quits (~mei@user/mei) (Ping timeout: 264 seconds)
19:31:36 <tomsmeding> dminuoso: yes I'm personally guilty of writing such code at some point
19:31:38 <dminuoso> tomsmeding: Sure, but because C interleaves that with effects, its horrid.
19:32:04 <monochrom> More seriously, I think the Haskell designers consciously preferred saying "f" over and over again. There is an aesthetic to it when you're the reader.
19:32:24 <Inst> repetition is an important element of poetry
19:32:26 <Inst> and prose
19:32:32 <dminuoso> You can attach side effects to the X case, the Y case, and if the X branch has a fallthrough, then if you provide an X then you have two combined effects, in case of Y you have one.
19:32:33 vicfred joins (~vicfred@user/vicfred)
19:32:35 <tomsmeding> yeah, though that aesthetic quickly wears down when the repeating part is long enough
19:32:45 <dminuoso> And suddenly you have this non-obvious thing
19:32:46 <tomsmeding> dminuoso: it's beautiful
19:32:46 <monochrom> Right? Because like, even when writing factorial, "f 0 = 1; f (n+1) = ..." looks really nice.
19:32:56 <dminuoso> tomsmeding: If you dont have to maintain that code, sure.
19:32:57 motherfsck joins (~motherfsc@user/motherfsck)
19:33:01 <monochrom> nice to read, of course.
19:33:02 <tomsmeding> :D
19:33:13 <tomsmeding> monochrom: is that an NplusKpatterns?
19:33:22 <monochrom> Yeah that too.
19:33:26 <monochrom> Old times.
19:33:29 <tomsmeding> juicy
19:33:52 <monochrom> We now understand that the computer should simply be telepathic so we need write nothing.
19:33:55 <tomsmeding> I feel like if I'd confront students with NplusKpatterns, they'd just get more confused
19:34:36 <monochrom> The only obstacle is that we are still not telepathic so you wouldn't be able to ESP the code that I ESP'ed into the computer!
19:34:53 × phma quits (~phma@host-67-44-209-31.hnremote.net) (Read error: Connection reset by peer)
19:35:04 tomsmeding reads EFI system partition
19:35:12 <monochrom> Yeah no worries I am not teaching "f (n+1) = ..." to students.
19:35:45 phma joins (~phma@host-67-44-208-220.hnremote.net)
19:37:21 <dminuoso> monochrom: We dont need to be telepathic, we *are* all part of a gigantic planet sized computer built for hyperintelligent, pan-dimensional beings.
19:37:21 × chisui quits (~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de) (Quit: Client closed)
19:37:58 <dminuoso> Speaking of which, weechat keeps writing your name in yellow. Mmmm.
19:38:20 tomsmeding 's weechat doesn't
19:38:35 <tomsmeding> is that machine-dependent?
19:38:42 <dminuoso> Curious question.
19:38:44 <geekosaur> inverse bikeshedding!
19:39:02 <dminuoso> tomsmeding: Go on a journey and find out?
19:39:07 tomsmeding goes
19:39:22 <byorgey> is there a library function to do Monad m => [m (Maybe a)] -> m (Maybe a), which runs the computations until the first one which returns Just?
19:39:44 chisui joins (~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de)
19:40:12 <monochrom> Some kind of msum or asum may be involved.
19:40:24 <maerwald> I'd also expect Alternative rather than Maybe a
19:40:29 <dminuoso> byorgey: `iterateWhile isJust` from monad-loops?
19:40:36 <dminuoso> Ah not quite
19:40:55 <dminuoso> Indeed, asum with an appropriate instance seems likely
19:41:36 <monochrom> If you convert "m (Maybe a)" to "MaybeT m a" you have "sequence :: [MaybeT m a] -> MaybeT m a"
19:41:50 × Cajun quits (~Cajun@user/cajun) (Quit: Client closed)
19:41:52 <monochrom> Err no, not sequence.
19:42:05 <dminuoso> I'd expect it to have a shape of `(Traversable t, Alternative f) => t a -> (a -> f (Maybe b)) -> f b` perhaps?
19:42:25 <geekosaur> wouldnm't it be asum at that point?
19:42:33 <monochrom> @type asum
19:42:34 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
19:42:49 <monochrom> asum :: [MaybeT m a] -> MaybeT m a
19:42:52 <byorgey> ah, asum at MaybeT might do it.
19:42:58 <monochrom> :)
19:43:16 <byorgey> thanks!
19:43:48 <maerwald> https://hackage.haskell.org/package/transformers-0.6.0.2/docs/src/Control.Monad.Trans.Maybe.html#line-165
19:43:50 <maerwald> looks like it
19:43:56 <monochrom> You may also like: unsafeCoerce bwhaahahah
19:44:11 <maerwald> some Alternative instances propagate into the inner monad
19:44:16 <maerwald> you can never trust classes
19:44:29 <monochrom> Sure, I said MaybeT very concretely.
19:44:36 <dminuoso> :s/classes/code/
19:44:49 <monochrom> s/code//
19:44:54 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
19:45:05 <maerwald> no, I mean classes... I don't trust classes :)
19:45:09 <dminuoso> Now we have a trailing space. :(
19:45:20 <dminuoso> M-x delete-trailing-whitespace
19:45:24 <dminuoso> Done now?
19:45:24 <monochrom> "to be continued"
19:45:29 <maerwald> can't even trust them to be lawful
19:45:48 <maerwald> and once you enter transformers, is there anything really lawful?
19:45:57 <monochrom> Yes.
19:46:01 <tomsmeding> dminuoso: weechat.look.nick_color_hash determines a hash function that indexes into weechat.color.chat_nick_colors
19:46:06 <tomsmeding> so it's config dependent
19:46:15 <monochrom> Err, nevermind, I'm not ready to back it up.
19:46:19 <maerwald> heh
19:46:27 <maerwald> that was my point
19:46:47 <dminuoso> tomsmeding: djb2 for me
19:46:50 <tomsmeding> me too
19:47:00 <tomsmeding> cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue
19:47:01 <dminuoso> tomsmeding: Does it perhaps insert ones own name into the hash?
19:47:20 <monochrom> Do you trust parametricity?
19:47:26 <dminuoso> tomsmeding: Ohh that's it
19:47:27 <dminuoso> I have more.
19:47:36 <tomsmeding> oh pardon weechat.look.nick_color_hash_salt is also included
19:47:59 <tomsmeding> dminuoso: looks like it's just the salt and the nickname to be printed https://github.com/weechat/weechat/blob/950c2bb8985a7c4eccf1c43d34045337fffd3714/src/gui/gui-nick.c#L134
19:48:15 <dminuoso> We might have different salts too
19:48:24 <tomsmeding> my salt is an empty string lol
19:48:31 <dminuoso> Same as well
19:48:33 <dminuoso> But I have more colors
19:48:39 <monochrom> Right? Much as you say about uncertainty over "StateT s m" for example, since m is parametric, since StateT's >>= can't even ask "which m am I talking about here?", its naughtiness is very much restricted.
19:48:42 <dminuoso> weechat.color.chat_nick_colors string "red,lightred,162,167,204,green,lightgreen,035,042,047,084,120,154,148,yellow,brown,165,191,222,208,cyan,045,051,087,117,123,159,lightmagenta,128,171,176,213,111,148"
19:48:55 <tomsmeding> now that I realise that I could use more colours because my terminal is cool I want more colours, but I'm afraid of getting different colours for nicks I know
19:49:19 <maerwald> monochrom: that would be fantastic... behavior bubbling up lol
19:49:44 <maerwald> well
19:49:46 <maerwald> we can do that
19:49:57 <maerwald> overlapping instances
19:50:09 tfeb joins (~tfb@88.98.95.237)
19:50:30 <monochrom> You can do that in Java.
19:50:49 <tomsmeding> haskell too, but you need to explicitly say you want RTTI (i.e. Typeable)
19:50:50 <monochrom> Yes even when only using the generics part of Java.
19:53:21 <maerwald> playing hide and seek
19:53:36 <maerwald> that sums up my experience with Java
19:53:48 Guest79 joins (~textual@77.252.63.98)
19:54:15 <maerwald> I like trees... I can reason about trees.
19:54:46 <Franciman> maerwald: they also absorb co_2
19:54:57 <maerwald> depends on the time of the day, no?
19:54:59 <monochrom> trees are a social construct
19:55:04 <Franciman> yep
19:55:24 <Franciman> they also help regulating temperature in their ecosystem
19:55:33 <maerwald> even on the command line, I have a mind map of trees...
19:55:46 <maerwald> like, `gcc` won't invoke `make`, right?
19:56:12 <maerwald> we can't do without trees
19:56:39 <Franciman> they also make shadow
19:56:48 <Franciman> Literally awesome objects
19:57:21 × chisui quits (~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de) (Quit: Client closed)
19:57:22 lavaman joins (~lavaman@98.38.249.169)
19:58:03 <ski> monochrom : oh, curious. i've usually seen it called ⌜ω⌝, never `diagonal'
19:58:06 chisui joins (~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de)
19:58:18 <monochrom> OK here is what backs me up: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.90.2560
19:58:46 <monochrom> has laws and theorems. includes transformers, e.g., StateT
19:59:31 <maerwald> but you can't know whether an inner monad of your stack will be lawful :p
19:59:35 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
19:59:44 <maerwald> there's no typeclass "LawfulMonad m"
20:00:11 <monochrom> ski: Well OK, Oleg says delta, didn't say why. So I tried to guess why, eventually I guessed diagonal because the halting problem diagonalization proof also does "run this program with its encoding as input"
20:00:29 <monochrom> I am aware of that.
20:00:47 <maerwald> and some instances are deliberately unlawful and so we say "yeah, don't use it this or that way"
20:01:34 <ski> monochrom : yea, it's reasonable. just i can't recall seeing it before
20:01:36 <monochrom> You know, I don't even know that mathematics as we know it is consistent.
20:01:51 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
20:01:59 <tomsmeding> me neither
20:02:00 <monochrom> But I can work with "if it's consistent, then my code makes some kind of sense"
20:02:26 × Null_A quits (~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9) (Remote host closed the connection)
20:02:55 × Guest79 quits (~textual@77.252.63.98) (Quit: Textual IRC Client: www.textualapp.com)
20:03:07 <shapr> ghoulguy: Have you ever written a document on tools for competitive programming?
20:03:17 <shapr> or is there one you'd suggest?
20:03:18 <maerwald> monochrom: I've heard that even the "mathematical induction" proof method is questioned by some.
20:03:24 Guest79 joins (~textual@77.252.63.98)
20:04:41 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 245 seconds)
20:04:44 × Guest79 quits (~textual@77.252.63.98) (Client Quit)
20:04:51 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
20:05:35 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 260 seconds)
20:05:54 <maerwald> but as long as the laws of mathematics make my rice cooker work, I think I'm fine with it
20:06:46 <maerwald> although I'm not sure... they might be running embedded java these days
20:07:54 juhp joins (~juhp@128.106.188.220)
20:10:47 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
20:12:19 hololeap joins (~hololeap@user/hololeap)
20:12:51 Hayek joins (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
20:14:05 × tfeb quits (~tfb@88.98.95.237) (Quit: died)
20:14:28 jkaye joins (~jkaye@2601:281:8300:7530:289e:28f2:97ea:9bd4)
20:14:30 × alx741 quits (~alx741@186.178.108.74) (Ping timeout: 265 seconds)
20:14:38 wrengr_away is now known as wrengr
20:15:53 × mvk quits (~mvk@2607:fea8:5cc1:300::4a62) (Quit: Konversation terminated!)
20:17:03 lavaman joins (~lavaman@98.38.249.169)
20:17:16 mvk joins (~mvk@2607:fea8:5cc1:300::4a62)
20:19:04 pavonia joins (~user@user/siracusa)
20:19:49 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:25:06 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
20:26:46 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
20:27:02 alx741 joins (~alx741@181.196.69.72)
20:32:09 acidjnk_new joins (~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de)
20:33:05 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:34:10 <ghoulguy> shapr: I don't remember writing anything permanent. I talked to someone about my thoughts and they included them in *their* own post to reddit for AoC. I'd probably tell someone to start by not using Haskell for it :3
20:36:59 acidjnk_new3 joins (~acidjnk@p200300d0c7161c688059c98d990f394c.dip0.t-ipconnect.de)
20:37:26 × chisui quits (~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de) (Quit: Client closed)
20:39:54 d0ku is now known as dezeroku
20:40:07 × acidjnk_new quits (~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
20:42:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:43:03 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
20:43:26 hendursaga joins (~weechat@user/hendursaga)
20:46:55 Cajun joins (~Cajun@user/cajun)
20:50:06 × Midjak quits (~Midjak@82-65-111-221.subs.proxad.net) (Quit: This computer has gone to sleep)
20:56:29 <yin> /f yin
20:58:53 <yin> f is for fail
20:59:17 <ski> \t yang
20:59:18 <ski> ?
21:00:21 <yin> |φ unit
21:03:12 <shapr> hi yin, how you doin?
21:03:38 <yin> take 1 . tails -- the "one with everything" function
21:03:41 <yin> shapr: hey
21:04:11 shapr hops cheerfully
21:06:54 <Rembane_> Happy beer! \o/
21:10:07 × dezeroku quits (~d0ku@178.43.15.137.ipv4.supernova.orange.pl) (Ping timeout: 244 seconds)
21:14:10 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:16:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
21:19:20 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
21:21:57 <monochrom> > (take 1 . tails) [1,2,3,4]
21:21:58 <lambdabot> [[1,2,3,4]]
21:23:26 <geekosaur> > (:[]) [1,2,3,4]
21:23:28 <lambdabot> [[1,2,3,4]]
21:23:47 <geekosaur> hungry monkey makes you one with everything!
21:27:32 <monochrom> why you exploit hungry monkey labour?!
21:27:35 <monochrom> >:)
21:29:53 <maerwald> :t (flip id $) . (:[]) . (>=>)
21:29:54 <lambdabot> Monad m => (a -> m b) -> ([(b -> m c1) -> a -> m c1] -> c2) -> c2
21:30:02 <maerwald> ah, like I thought
21:30:16 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
21:30:27 acidjnk joins (~acidjnk@p200300d0c7161c68f8633ce8ef67c5a5.dip0.t-ipconnect.de)
21:31:54 <monochrom> That looks like some nested CPS goodness :)
21:32:15 <maerwald> that's what I was aiming for, yeah... right...
21:32:44 tim1 joins (~tim@dslb-088-070-254-249.088.070.pools.vodafone-ip.de)
21:33:19 × acidjnk_new3 quits (~acidjnk@p200300d0c7161c688059c98d990f394c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:33:56 <carbolymer> anyone tried to escape +RTS in systemd unit file?
21:34:12 <carbolymer> that seems to break my unit file
21:34:24 <maerwald> wrap it in a shell script
21:34:45 <geekosaur> or use $GHCRTS instead
21:35:35 <carbolymer> yeah, GHCRTS looks cleaner
21:35:39 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
21:35:52 <carbolymer> geekosaur: thx
21:36:03 <maerwald> make sure it's not set globally :p
21:36:09 <carbolymer> ;]
21:41:47 × mvk quits (~mvk@2607:fea8:5cc1:300::4a62) (Ping timeout: 264 seconds)
21:43:42 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 244 seconds)
21:44:14 hyiltiz joins (~quassel@31.220.5.250)
21:44:48 cjb joins (~cjbayliss@user/cjb)
21:46:05 × tim1 quits (~tim@dslb-088-070-254-249.088.070.pools.vodafone-ip.de) (Quit: WeeChat 3.3)
21:47:11 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
21:54:04 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 265 seconds)
21:57:08 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
22:00:40 × euandreh quits (~euandreh@2804:14c:33:9fe5:299b:88e7:728b:a92) (Ping timeout: 260 seconds)
22:00:40 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
22:01:13 MQ-17J joins (~MQ-17J@8.21.10.17)
22:02:04 × dlss^ quits (~dlss@wsip-68-227-92-38.mc.at.cox.net) (Remote host closed the connection)
22:02:44 × kilolympus quits (~kilolympu@185.65.135.177) (Read error: Connection reset by peer)
22:04:21 tafama joins (~tafa@2a04:52c0:101:85c::1)
22:05:04 × ubert quits (~Thunderbi@178.115.41.93.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
22:05:13 kilolympus joins (~kilolympu@185.65.135.177)
22:05:18 × tafa quits (~tafa@5.2.76.31) (Read error: Connection reset by peer)
22:06:41 × max22- quits (~maxime@2a01cb088335980089ed6f978d54394c.ipv6.abo.wanadoo.fr) (Quit: Leaving)
22:09:06 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
22:10:43 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
22:11:03 geekosaur joins (~geekosaur@xmonad/geekosaur)
22:12:46 mvk joins (~mvk@2607:fea8:5cc1:300::4a62)
22:13:41 × cheater quits (~Username@user/cheater) (Ping timeout: 244 seconds)
22:13:58 cheater joins (~Username@user/cheater)
22:14:23 × jgeerds quits (~jgeerds@55d40de2.access.ecotel.net) (Ping timeout: 260 seconds)
22:17:40 acidjnk_new joins (~acidjnk@p200300d0c7161c688c4a7961f19179a9.dip0.t-ipconnect.de)
22:20:08 × echoSMILE quits (~echoSMILE@user/echosmile) (Ping timeout: 256 seconds)
22:21:24 × acidjnk quits (~acidjnk@p200300d0c7161c68f8633ce8ef67c5a5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:24:39 × MQ-17J quits (~MQ-17J@8.21.10.17) (Ping timeout: 260 seconds)
22:25:32 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
22:25:37 acidjnk_new3 joins (~acidjnk@p200300d0c7161c6868001932eceb2d10.dip0.t-ipconnect.de)
22:27:17 × Hayek quits (~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Quit: WeeChat 3.3)
22:28:00 euandreh joins (~euandreh@2804:14c:33:9fe5:33f9:2578:2f6:368f)
22:28:45 × jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
22:29:19 × acidjnk_new quits (~acidjnk@p200300d0c7161c688c4a7961f19179a9.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:31:33 × jess quits (~jess@libera/staff/jess) ()
22:31:33 ubert joins (~Thunderbi@178.115.41.93.wireless.dyn.drei.com)
22:34:11 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:36:52 Ranhir joins (~Ranhir@157.97.53.139)
22:44:08 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:44:09 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
22:45:35 × whatif quits (~xxx@47.245.54.240) (Remote host closed the connection)
22:51:31 burnsidesLlama joins (~burnsides@dhcp168-053.wadham.ox.ac.uk)
22:53:54 × sprout_ quits (~quassel@86-82-44-193.fixed.kpn.net) (Ping timeout: 260 seconds)
22:55:42 whatif joins (~xxx@47.245.54.240)
22:56:35 × whatif quits (~xxx@47.245.54.240) (Remote host closed the connection)
23:01:23 sprout joins (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b)
23:04:11 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
23:04:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:04:54 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
23:04:54 wroathe joins (~wroathe@user/wroathe)
23:06:00 × sprout quits (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b) (Ping timeout: 260 seconds)
23:06:11 azimut joins (~azimut@gateway/tor-sasl/azimut)
23:06:14 × dextaa quits (~DV@user/dextaa) (Ping timeout: 258 seconds)
23:06:40 × euandreh quits (~euandreh@2804:14c:33:9fe5:33f9:2578:2f6:368f) (Ping timeout: 260 seconds)
23:06:42 whatif joins (~xxx@47.245.54.240)
23:07:36 × whatif quits (~xxx@47.245.54.240) (Remote host closed the connection)
23:09:14 × Psybur quits (~Psybur@mobile-166-170-29-12.mycingular.net) (Remote host closed the connection)
23:12:44 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:16:46 × zebrag quits (~chris@user/zebrag) (Ping timeout: 245 seconds)
23:17:44 whatif joins (~xxx@47.245.54.240)
23:18:36 × whatif quits (~xxx@47.245.54.240) (Remote host closed the connection)
23:20:45 sprout joins (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b)
23:24:50 dextaa joins (~DV@user/dextaa)
23:25:06 × sprout quits (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b) (Ping timeout: 245 seconds)
23:26:54 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
23:28:44 whatif joins (~xxx@47.245.54.240)
23:29:18 euandreh joins (~euandreh@2804:14c:33:9fe5:b9d3:55ff:4c84:c8cf)
23:29:37 × whatif quits (~xxx@47.245.54.240) (Remote host closed the connection)
23:39:44 whatif joins (~xxx@47.245.54.240)
23:40:37 × whatif quits (~xxx@47.245.54.240) (Remote host closed the connection)
23:44:35 × polux quits (~polux@51.15.169.172) (Quit: Ping timeout (120 seconds))
23:44:50 polux joins (~polux@51.15.169.172)
23:47:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
23:49:54 × kilolympus quits (~kilolympu@185.65.135.177) (Ping timeout: 260 seconds)
23:50:11 × jkaye quits (~jkaye@2601:281:8300:7530:289e:28f2:97ea:9bd4) (Ping timeout: 264 seconds)
23:50:45 whatif joins (~xxx@47.245.54.240)
23:51:37 × whatif quits (~xxx@47.245.54.240) (Remote host closed the connection)
23:52:48 sprout joins (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b)
23:55:40 × acidjnk_new3 quits (~acidjnk@p200300d0c7161c6868001932eceb2d10.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
23:59:05 × sprout quits (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b) (Ping timeout: 260 seconds)

All times are in UTC on 2021-10-25.