Home liberachat/#haskell: Logs Calendar

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

00:00:28 hyiltiz joins (~quassel@31.220.5.250)
00:02:16 CiaoSen joins (~Jura@p5dcc1303.dip0.t-ipconnect.de)
00:05:03 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
00:06:35 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:07:05 idris joins (~idris@184.105.6.88)
00:07:57 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
00:08:06 idris is now known as hippoid
00:08:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:08:22 × hippoid quits (~idris@184.105.6.88) (Client Quit)
00:12:11 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
00:12:27 × mestre quits (~mestre@191.177.175.57) (Quit: leaving)
00:16:08 <sm> ansi-terminal-game is in https://www.stackage.org/nightly-2021-10-12
00:16:52 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
00:17:10 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 260 seconds)
00:17:39 hyiltiz joins (~quassel@31.220.5.250)
00:23:51 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
00:25:37 × xsperry quits (~xs@user/xsperry) (Ping timeout: 252 seconds)
00:27:04 × favonia quits (~favonia@user/favonia) (Quit: Leaving)
00:27:32 × unmanbearpig quits (~unmanbear@user/unmanbearpig) (Remote host closed the connection)
00:27:55 unmanbearpig joins (~unmanbear@user/unmanbearpig)
00:29:07 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 250 seconds)
00:29:19 × emf quits (~emf@2620:10d:c090:400::5:a45e) (Quit: emf)
00:31:48 vonfry joins (~user@240e:688:3:1010:fb9f:32db:ad0d:434a)
00:40:47 vonfry parts (~user@240e:688:3:1010:fb9f:32db:ad0d:434a) (ERC (IRC client for Emacs 27.2))
00:41:06 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
00:41:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
00:44:37 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
00:45:56 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
00:50:02 brainfreeze joins (~brainfree@2a03:1b20:4:f011::20d)
00:53:59 hammock joins (~Hammock@2600:1700:19a1:3330::588)
00:56:52 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
01:01:55 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
01:05:14 × xff0x quits (~xff0x@2001:1a81:538c:f300:a5c4:ad00:4a33:e2f4) (Ping timeout: 260 seconds)
01:06:48 xff0x joins (~xff0x@2001:1a81:53cb:ff00:da98:35c:1f74:ca19)
01:07:38 gaussrz joins (~gaussrz@59.78.13.186)
01:08:00 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:08:00 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
01:08:00 wroathe joins (~wroathe@user/wroathe)
01:10:06 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
01:12:44 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
01:13:31 hyiltiz joins (~quassel@31.220.5.250)
01:17:50 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 260 seconds)
01:20:44 <sm> and I have persuaded hls to work on my thing
01:21:46 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
01:22:27 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
01:22:44 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
01:24:28 × gaussrz quits (~gaussrz@59.78.13.186) (Ping timeout: 252 seconds)
01:26:21 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Ping timeout: 245 seconds)
01:26:40 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
01:27:20 hyiltiz joins (~quassel@31.220.5.250)
01:30:23 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
01:33:43 lavaman joins (~lavaman@98.38.249.169)
01:35:26 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
01:45:18 <sm> oops. Wrong chan.
01:45:47 mjrosenb joins (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net)
01:46:49 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
01:48:45 gaussrz joins (~gaussrz@58.247.22.226)
01:50:28 Null_A joins (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489)
01:51:46 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
01:53:37 × gaussrz quits (~gaussrz@58.247.22.226) (Ping timeout: 252 seconds)
01:54:10 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
02:00:07 × Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 250 seconds)
02:00:14 × euandreh quits (~euandreh@2804:14c:33:9fe5:ce7f:4e93:4cc4:1ccd) (Ping timeout: 265 seconds)
02:03:37 × xff0x quits (~xff0x@2001:1a81:53cb:ff00:da98:35c:1f74:ca19) (Ping timeout: 265 seconds)
02:05:01 xff0x joins (~xff0x@2001:1a81:53d3:ff00:e392:be3b:ed73:128b)
02:05:32 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
02:05:46 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:05:46 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
02:05:46 wroathe joins (~wroathe@user/wroathe)
02:09:45 × gentauro quits (~gentauro@user/gentauro) (Ping timeout: 265 seconds)
02:10:31 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 250 seconds)
02:10:43 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
02:14:47 cheater joins (~Username@user/cheater)
02:16:35 gentauro joins (~gentauro@user/gentauro)
02:17:35 × alx741 quits (~alx741@186.178.108.69) (Quit: alx741)
02:22:31 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
02:27:43 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
02:29:06 VoidNoir0 joins (~VoidNoir0@72.80.203.52)
02:33:49 euandreh joins (~euandreh@2804:14c:33:9fe5:11fc:225b:3e1b:f83b)
02:36:06 justsomeguy joins (~justsomeg@user/justsomeguy)
02:38:46 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
02:38:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:43:04 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
02:44:04 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
02:50:21 × td_ quits (~td@muedsl-82-207-238-248.citykom.de) (Ping timeout: 265 seconds)
02:52:09 td_ joins (~td@94.134.91.240)
02:52:28 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
02:53:06 × Null_A quits (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489) (Remote host closed the connection)
02:54:04 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:57:12 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
03:01:37 × hammock quits (~Hammock@2600:1700:19a1:3330::588) (Ping timeout: 265 seconds)
03:02:22 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 260 seconds)
03:03:03 × chisui quits (~chisui@200116b8648f8d00a938aca15f200b22.dip.versatel-1u1.de) (Ping timeout: 256 seconds)
03:03:39 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
03:10:40 × CiaoSen quits (~Jura@p5dcc1303.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
03:11:06 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
03:12:36 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
03:13:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
03:15:02 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
03:19:58 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
03:21:18 mbuf joins (~Shakthi@122.178.210.71)
03:26:08 × slack1256 quits (~slack1256@45.4.2.52) (Remote host closed the connection)
03:33:05 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
03:38:12 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
03:45:52 × tabemann quits (~tabemann@2600:1700:7990:24e0:3cc6:48ac:847e:27f3) (Ping timeout: 252 seconds)
03:49:46 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
03:52:09 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
03:53:16 Null_A joins (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489)
03:54:41 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
03:57:13 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
03:57:26 lavaman joins (~lavaman@98.38.249.169)
03:57:34 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:04:33 falafel joins (~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com)
04:04:55 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds)
04:06:50 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
04:07:22 Neuromancer joins (~Neuromanc@user/neuromancer)
04:11:10 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
04:14:14 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
04:14:19 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:14:20 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
04:14:20 wroathe joins (~wroathe@user/wroathe)
04:24:26 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
04:27:36 × falafel quits (~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com) (Ping timeout: 245 seconds)
04:28:06 lavaman joins (~lavaman@98.38.249.169)
04:29:10 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
04:29:16 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
04:29:46 × Null_A quits (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489) (Remote host closed the connection)
04:32:34 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
04:37:35 fernand joins (~fernand@179.156.35.4)
04:39:56 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
04:42:27 fernand is now known as Fernanda
04:43:32 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
04:46:40 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
04:48:46 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
04:49:44 betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be)
04:52:49 Null_A joins (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489)
04:53:38 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:55:21 jinsun_ joins (~jinsun@user/jinsun)
04:57:19 × Fernanda quits (~fernand@179.156.35.4) (Ping timeout: 252 seconds)
05:01:51 vaginaldischarge joins (b9dc66f8@67.205.143.82)
05:02:15 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
05:04:28 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
05:04:49 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
05:06:27 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 250 seconds)
05:09:26 vaginaldischarge parts (b9dc66f8@67.205.143.82) (The Lounge - https://thelounge.chat)
05:09:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:18:07 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
05:23:18 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 260 seconds)
05:30:59 biberu joins (~biberu@user/biberu)
05:35:34 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
05:40:13 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
05:42:48 gehmehgeh joins (~user@user/gehmehgeh)
05:44:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
05:44:09 × Null_A quits (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489) (Remote host closed the connection)
05:51:07 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
05:53:22 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
05:53:37 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
05:53:54 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
05:55:00 fendor joins (~fendor@178.165.172.248.wireless.dyn.drei.com)
05:56:57 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:56:58 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
05:56:58 wroathe joins (~wroathe@user/wroathe)
05:58:22 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
06:00:56 coot joins (~coot@37.30.52.44.nat.umts.dynamic.t-mobile.pl)
06:02:14 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
06:03:21 benin03693230163 joins (~benin@183.82.29.30)
06:08:16 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
06:10:26 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
06:12:12 Null_A joins (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489)
06:12:36 falafel joins (~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com)
06:12:48 × Null_A quits (~null_a@2601:645:8700:2290:cca9:9e4e:f1d8:3489) (Client Quit)
06:14:55 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
06:19:46 × falafel quits (~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com) (Ping timeout: 260 seconds)
06:25:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:27:04 × Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:27:18 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
06:30:31 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 250 seconds)
06:30:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
06:32:15 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 250 seconds)
06:33:01 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 245 seconds)
06:36:25 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
06:37:20 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
06:40:57 × dsrt^ quits (~dsrt@wsip-70-165-23-55.mc.at.cox.net) (Remote host closed the connection)
06:45:20 lavaman joins (~lavaman@98.38.249.169)
06:45:54 michalz joins (~michalz@185.246.204.73)
06:46:06 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
06:50:00 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
06:50:35 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 260 seconds)
06:53:23 on^ joins (~on@wsip-70-165-23-55.mc.at.cox.net)
06:55:09 × mjrosenb quits (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (Remote host closed the connection)
06:59:55 fawful joins (~guy@c-76-104-217-93.hsd1.wa.comcast.net)
07:04:10 arjun joins (~user@user/arjun)
07:04:43 <arjun> uhm, so, what's the prefered way set bounds on the packages when starting a new project
07:05:02 <arjun> can't really be manually go to hackage and check the latest version ?
07:05:15 <arjun> RITE
07:05:47 × brainfreeze quits (~brainfree@2a03:1b20:4:f011::20d) (Remote host closed the connection)
07:06:38 jtomas_ joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
07:07:31 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
07:08:36 nschoe joins (~quassel@178.251.84.79)
07:08:57 <sm> arjun: it depends how much you want building your thing to be hassle-free
07:09:01 max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
07:09:56 <sm> ..and compatible with a wide range of libs/ghcs
07:11:06 <arjun> sm: lol wut
07:11:47 <arjun> those both sound like good desirable things
07:11:53 <sm> how much work do you want to put in ?
07:12:01 <arjun> =.=
07:12:33 <arjun> uhm, low - to fair amount i guess ?
07:12:35 <sm> (as I'm writing, I'm realising it's not a simple topic)
07:12:37 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
07:13:36 <sm> it's a good idea prioritise. Focus on lower bounds, and the GHC version you're using, first
07:14:26 <arjun> by manually going to hackage and checking the vesion number ?
07:14:30 <sm> in fact, focus on base bounds (lower and upper) first. That also constrains the GHC version.
07:14:52 <sm> https://wiki.haskell.org/Base_package tells which base versions go with which GHC
07:14:57 <arjun> i meant to ask. that's how this stuff is usually done ?
07:15:25 <arjun> i want say time, text, bytestring, optparse-applicative etc
07:15:50 <arjun> i'd put them in cabal, and then lower bound them by hackage searches ?
07:16:26 <sm> this is how I do it, but as I say there's quite a lot to it. I'd start with the GHC version you're using, and set base bounds that fit that. Then add some bounds to other deps. Prioritise the ones that have incompatible api changes more often.
07:17:10 <sm> once you have a robust (tight) set of bounds, as you have time and desire you can test with older/newer versions of things and widen the bounds
07:17:20 chele joins (~chele@user/chele)
07:17:26 <sm> that's the conservative, I-want-my-thing-to-always-build approach
07:17:43 <sm> the other way is don't bother, add bounds when people report build failures
07:20:11 <sm> some people take a middle road: provide a stack.yaml specifying a stackage snapshot, so even without bounds it's likely to build
07:21:14 azimut joins (~azimut@gateway/tor-sasl/azimut)
07:21:19 statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
07:21:29 xsperry joins (~xs@user/xsperry)
07:22:06 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
07:22:13 <sm> it's not the simplest of tasks, but with practice it gets easy. There might also be tools to help, but if so they're not much used
07:22:17 jonathanx__ joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
07:22:22 × endless quits (~endlessed@51.81.211.147) (Quit: Ping timeout (120 seconds))
07:22:32 nshepperd28 joins (~nshepperd@li364-218.members.linode.com)
07:22:54 polux9 joins (~polux@51.15.169.172)
07:23:16 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
07:23:18 × Inoperable quits (~PLAYER_1@fancydata.science) (Quit: All your buffer are belong to us!)
07:23:24 stevenxl_ joins (sid133530@id-133530.uxbridge.irccloud.com)
07:23:29 ralu0 joins (~ralu@static.211.245.203.116.clients.your-server.de)
07:23:36 pavonia_ joins (~user@user/siracusa)
07:23:44 cln_ joins (sid336875@id-336875.ilkley.irccloud.com)
07:23:46 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
07:23:48 Trattue- joins (~Trattue@152.70.182.158)
07:23:51 × duckonomy quits (~duckonomy@177.ip-144-217-84.net) (Quit: z.z)
07:23:57 Flonk4 joins (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
07:24:09 × choucavalier quits (~choucaval@2001:41d0:a:2158::1) (Quit: ZNC 1.8.2 - https://znc.in)
07:24:11 bbear_ joins (~znc@21212.s.t4vps.eu)
07:24:18 sa1_ joins (sid7690@id-7690.ilkley.irccloud.com)
07:24:19 azimut joins (~azimut@gateway/tor-sasl/azimut)
07:24:26 nonzen_ joins (~nonzen@user/nonzen)
07:24:35 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
07:24:40 terrorjack4 joins (~terrorjac@static.3.200.12.49.clients.your-server.de)
07:24:46 × andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
07:24:46 dsf joins (~dsf@cpe-66-75-56-205.san.res.rr.com)
07:24:46 Logio joins (em@kapsi.fi)
07:24:51 betelgeuse7 joins (~betelgeus@94-225-47-8.access.telenet.be)
07:24:52 nurupo_ joins (~nurupo.ga@user/nurupo)
07:24:52 × SIben_ quits (~SIben@ns3106586.ip-5-135-191.eu) (Ping timeout: 252 seconds)
07:24:53 lstor joins (~lstor@user/lstor)
07:25:06 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 276 seconds)
07:25:06 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds)
07:25:06 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
07:25:06 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
07:25:06 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds)
07:25:06 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 276 seconds)
07:25:08 chexum_ joins (~quassel@gateway/tor-sasl/chexum)
07:25:09 × asm quits (~alexander@user/asm) (Ping timeout: 268 seconds)
07:25:10 abrar_ joins (~abrar@static-108-2-152-54.phlapa.fios.verizon.net)
07:25:12 <sm> and yes, when choosing bounds for a package you'd look at its versions on hackage, and their upload dates and base bounds and especially the changelog
07:25:17 × pippijn quits (~pippijn@ra.xinutec.org) (Ping timeout: 264 seconds)
07:25:31 shapr` joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
07:25:31 × m1dnight quits (~christoph@188.ip-51-91-158.eu) (Ping timeout: 265 seconds)
07:25:39 orcus- joins (~orcus@user/brprice)
07:25:42 tomsmeding_ joins (~tomsmedin@tomsmeding.com)
07:25:44 jassob2 joins (~jassob@korrob.vth.sgsnet.se)
07:25:47 × orzo quits (joe@lasker.childrenofmay.org) (Ping timeout: 240 seconds)
07:25:52 × lyxia quits (~lyxia@poisson.chat) (Ping timeout: 250 seconds)
07:25:52 × meridion quits (~meridion@punt.hetgrotebos.org) (Ping timeout: 250 seconds)
07:25:53 × emergence quits (~emergence@vm0.max-p.me) (Ping timeout: 246 seconds)
07:25:58 × shane_ quits (~shane@ana.rch.ist) (Ping timeout: 252 seconds)
07:25:58 × djanatyn quits (~djanatyn@vps-7f49a6b0.vps.ovh.ca) (Ping timeout: 252 seconds)
07:26:01 shriekingnoise_ joins (~shrieking@186.137.144.80)
07:26:02 defanor_ joins (~defanor@tart.uberspace.net)
07:26:04 × phaazon quits (~phaazon@2001:41d0:a:fe76::1) (Remote host closed the connection)
07:26:10 × peutri quits (~peutri@ns317027.ip-94-23-46.eu) (Ping timeout: 260 seconds)
07:26:17 blades_ joins (~blades@204.48.29.163)
07:26:18 turlando_ joins (~turlando@93-42-250-112.ip89.fastwebnet.it)
07:26:23 wolfshappen joins (~waff@irc.furworks.de)
07:26:32 Taneb0 joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
07:26:38 carbolymer_ joins (~carbolyme@dropacid.net)
07:26:43 ptrcmd_ joins (~ptrcmd@user/ptrcmd)
07:26:51 micro_ joins (~micro@user/micro)
07:26:54 Ekho- joins (~Ekho@user/ekho)
07:26:54 ChaiTRex joins (~ChaiTRex@user/chaitrex)
07:27:03 hendursaga joins (~weechat@user/hendursaga)
07:27:05 heath1 joins (~heath@user/heath)
07:27:12 cross_ joins (~cross@spitfire.i.gajendra.net)
07:27:19 gehmehgeh joins (~user@user/gehmehgeh)
07:27:20 dtman34_ joins (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
07:27:22 jacks2 joins (~bc8165b6@217.29.117.252)
07:27:24 <jacks2> hi
07:27:28 obfusk_ joins (~quassel@a82-161-150-56.adsl.xs4all.nl)
07:27:31 × Hafydd quits (~Hafydd@user/hafydd) (Ping timeout: 252 seconds)
07:27:53 <fawful> hello
07:27:55 <jacks2> isn't it possible to derive Random for a simple sum type?
07:27:57 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
07:28:10 × drlkf quits (~drlkf@2001:41d0:a:62bb::1) (Ping timeout: 252 seconds)
07:28:12 <jacks2> for example data T = Foo | Bar | Baz
07:28:26 vgtw_ joins (~vgtw@c-6a60205c.07-348-756d651.bbcust.telenor.se)
07:28:57 <jacks2> there were some deriving language extensions, but I can't google the extension name. maybe that would help
07:28:58 <fawful> I'm new to haskell but I thought derive only worked for Show, Read, Ord, and a couple of others
07:29:01 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 250 seconds)
07:29:28 <jacks2> I recall deriving Functor automatically a while ago, but I forgot what is the extension's name
07:29:35 Unode_ joins (~Unode@194.94.44.220)
07:29:46 <fawful> I think it's literally "derivingfunctor"
07:29:54 <fawful> or something similar
07:29:58 pie__ joins (~pie_bnc@user/pie/x-2818909)
07:30:01 anderson_ joins (~ande@user/anderson)
07:30:04 dme2_ joins (~dme2@67.205.140.199)
07:30:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:30:41 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
07:31:12 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (*.net *.split)
07:31:12 × vito quits (sid1962@user/vito) (*.net *.split)
07:31:12 × sa1 quits (sid7690@id-7690.ilkley.irccloud.com) (*.net *.split)
07:31:12 × rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (*.net *.split)
07:31:12 × cln quits (sid336875@id-336875.ilkley.irccloud.com) (*.net *.split)
07:31:12 × eruditass quits (uid248673@id-248673.uxbridge.irccloud.com) (*.net *.split)
07:31:12 × mrianbloom quits (sid350277@id-350277.ilkley.irccloud.com) (*.net *.split)
07:31:12 × zaquest quits (~notzaques@5.128.210.178) (*.net *.split)
07:31:12 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split)
07:31:12 × terrorjack quits (~terrorjac@static.3.200.12.49.clients.your-server.de) (*.net *.split)
07:31:12 × Skyfire quits (~pyon@user/pyon) (*.net *.split)
07:31:12 × tomsmeding quits (~tomsmedin@tomsmeding.com) (*.net *.split)
07:31:12 × dka quits (~code-is-a@ns3059207.ip-193-70-33.eu) (*.net *.split)
07:31:12 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (*.net *.split)
07:31:12 × stoicswe[m] quits (~deadlette@2001:470:69fc:105::d277) (*.net *.split)
07:31:12 × tsmc[m] quits (~tsmcmatri@2001:470:69fc:105::1:7e1) (*.net *.split)
07:31:12 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (*.net *.split)
07:31:12 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (*.net *.split)
07:31:13 × shiraeeshi[m] quits (~shiraeesh@2001:470:69fc:105::1:77) (*.net *.split)
07:31:13 × dagi53949 quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (*.net *.split)
07:31:13 × lstor_ quits (~lstor@user/lstor) (*.net *.split)
07:31:13 × haritz quits (~hrtz@user/haritz) (*.net *.split)
07:31:13 × Xnuk quits (~xnuk@45.76.202.58) (*.net *.split)
07:31:13 × DigitalKiwi quits (~kiwi@2604:a880:400:d0::12fc:5001) (*.net *.split)
07:31:13 × mrkajetanp_ quits (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (*.net *.split)
07:31:13 × energizer quits (~energizer@user/energizer) (*.net *.split)
07:31:13 × Trattue quits (~Trattue@152.70.182.158) (*.net *.split)
07:31:13 × micro quits (~micro@user/micro) (*.net *.split)
07:31:13 × jassob1 quits (~jassob@korrob.vth.sgsnet.se) (*.net *.split)
07:31:13 × tomjaguarpaw quits (~tom@li367-225.members.linode.com) (*.net *.split)
07:31:13 × dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (*.net *.split)
07:31:13 × oats quits (~thomas@user/oats) (*.net *.split)
07:31:13 × abrar quits (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (*.net *.split)
07:31:13 × Flow quits (~none@gentoo/developer/flow) (*.net *.split)
07:31:13 × welterde quits (welterde@thinkbase.srv.welterde.de) (*.net *.split)
07:31:13 terrorjack4 is now known as terrorjack
07:31:13 sa1_ is now known as sa1
07:31:13 cln_ is now known as cln
07:31:33 eldritch__ joins (~eldritch@user/eldritch/x-9272577)
07:31:33 lortabac joins (~lortabac@2a01:e0a:541:b8f0:dab6:cf7c:8c9c:e1b7)
07:31:35 choucavalier joins (~choucaval@2001:41d0:a:2158::1)
07:31:44 jpds joins (~jpds@gateway/tor-sasl/jpds)
07:31:52 tomjaguarpaw joins (~tom@li367-225.members.linode.com)
07:31:54 × benin03693230163 quits (~benin@183.82.29.30) (*.net *.split)
07:31:54 × coot quits (~coot@37.30.52.44.nat.umts.dynamic.t-mobile.pl) (*.net *.split)
07:31:54 × betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (*.net *.split)
07:31:54 × pavonia quits (~user@user/siracusa) (*.net *.split)
07:31:55 × Flonk quits (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (*.net *.split)
07:31:55 × jonathanx_ quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (*.net *.split)
07:31:55 × shriekingnoise quits (~shrieking@186.137.144.80) (*.net *.split)
07:31:55 × hnOsmium0001 quits (uid453710@id-453710.hampstead.irccloud.com) (*.net *.split)
07:31:55 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (*.net *.split)
07:31:55 × vgtw quits (~vgtw@c-6a60205c.07-348-756d651.bbcust.telenor.se) (*.net *.split)
07:31:55 × defanor quits (~defanor@tart.uberspace.net) (*.net *.split)
07:31:55 × hook54321 quits (sid149355@user/hook54321) (*.net *.split)
07:31:55 × Taneb quits (~Taneb@runciman.hacksoc.org) (*.net *.split)
07:31:55 × pepeiborra quits (sid443799@ilkley.irccloud.com) (*.net *.split)
07:31:55 × ph88 quits (~ph88@2a02:8109:9e00:7e5c::3d56) (*.net *.split)
07:31:55 × shailangsa quits (~shailangs@host217-39-45-200.range217-39.btcentralplus.com) (*.net *.split)
07:31:55 × bbear quits (~znc@21212.s.t4vps.eu) (*.net *.split)
07:31:55 × tv quits (~tv@user/tv) (*.net *.split)
07:31:55 × pie_ quits (~pie_bnc@user/pie/x-2818909) (*.net *.split)
07:31:55 × turlando quits (~turlando@user/turlando) (*.net *.split)
07:31:55 × zzz quits (~z@user/zero) (*.net *.split)
07:31:55 × NemesisD quits (sid24071@lymington.irccloud.com) (*.net *.split)
07:31:55 × ysh quits (sid6017@ilkley.irccloud.com) (*.net *.split)
07:31:55 × stevenxl quits (sid133530@uxbridge.irccloud.com) (*.net *.split)
07:31:55 × dsf_ quits (~dsf@cpe-66-75-56-205.san.res.rr.com) (*.net *.split)
07:31:55 × lechner quits (~lechner@debian/lechner) (*.net *.split)
07:31:55 × wolfshappen_ quits (~waff@irc.furworks.de) (*.net *.split)
07:31:55 × carbolymer quits (~carbolyme@dropacid.net) (*.net *.split)
07:31:55 × Logio_ quits (em@kapsi.fi) (*.net *.split)
07:31:55 × statusbot2 quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split)
07:31:55 × zopsi quits (zopsi@2600:3c00::f03c:91ff:fe14:551f) (*.net *.split)
07:31:55 × averell quits (~averell@user/averell) (*.net *.split)
07:31:55 × mht-wtf quits (~mht@2a03:b0c0:3:e0::1e2:c001) (*.net *.split)
07:31:55 × Unode quits (~Unode@194.94.44.220) (*.net *.split)
07:31:55 × aji quits (~alex@prickle.ajitek.net) (*.net *.split)
07:31:55 × eldritch_ quits (~eldritch@user/eldritch/x-9272577) (*.net *.split)
07:31:55 × dme2 quits (~dme2@67.205.140.199) (*.net *.split)
07:31:55 × polux quits (~polux@51.15.169.172) (*.net *.split)
07:31:55 × frobnicator quits (~frobnicat@185-227-75-147.dsl.cambrium.nl) (*.net *.split)
07:31:55 × earthy quits (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (*.net *.split)
07:31:55 × Guest6642 quits (~mike@2406:d500:6:1:216:3cff:fe36:651) (*.net *.split)
07:31:55 × arkeet quits (arkeet@moriya.ca) (*.net *.split)
07:31:55 × rbocquet quits (~weechat@2001:bc8:47a8:44e::1) (*.net *.split)
07:31:55 × tito quits (tito@tilde.team) (*.net *.split)
07:31:55 × Ferdirand quits (~somebody@2001:4c78:2012:5000::2) (*.net *.split)
07:31:55 × obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split)
07:31:56 × ddb quits (~ddb@ipv6two.tilde.club) (*.net *.split)
07:31:56 × landonf quits (landonf@mac68k.info) (*.net *.split)
07:31:56 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (*.net *.split)
07:31:56 × blades quits (~blades@204.48.29.163) (*.net *.split)
07:31:56 × ptrcmd quits (~ptrcmd@user/ptrcmd) (*.net *.split)
07:31:56 × cross quits (~cross@spitfire.i.gajendra.net) (*.net *.split)
07:31:56 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split)
07:31:56 × ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (*.net *.split)
07:31:56 × ellie quits (~ellie@user/ellie) (*.net *.split)
07:31:56 × nurupo quits (~nurupo.ga@user/nurupo) (*.net *.split)
07:31:56 × derelict quits (derelict@user/derelict) (*.net *.split)
07:31:56 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (*.net *.split)
07:31:56 × heath quits (~heath@user/heath) (*.net *.split)
07:31:56 × nonzen quits (~nonzen@user/nonzen) (*.net *.split)
07:31:56 × sajith quits (~sajith@user/sajith) (*.net *.split)
07:31:56 × Ekho quits (~Ekho@user/ekho) (*.net *.split)
07:31:56 × hugo quits (znc@verdigris.lysator.liu.se) (*.net *.split)
07:31:56 × h_ quits (rootvegeta@fsf/member/hays) (*.net *.split)
07:31:56 × orcus quits (~orcus@user/brprice) (*.net *.split)
07:31:56 × anderson quits (~ande@user/anderson) (*.net *.split)
07:31:56 betelgeuse7 is now known as betelgeuse
07:31:56 Flonk4 is now known as Flonk
07:31:56 Unode_ is now known as Unode
07:31:56 polux9 is now known as polux
07:31:56 stevenxl_ is now known as stevenxl
07:31:56 nshepperd28 is now known as nshepperd2
07:31:56 ralu0 is now known as ralu
07:31:56 nurupo_ is now known as nurupo
07:32:08 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
07:32:33 anderson_ is now known as anderson
07:32:51 gehmehgeh joins (~user@user/gehmehgeh)
07:33:18 <jacks2> ah
07:33:21 <jacks2> {-# Language DeriveAnyClass #-}
07:33:23 <jacks2> it works!
07:33:34 <fawful> oh that's cool
07:33:47 <jacks2> data Suit = Heart | Diamond | Spade | Club deriving (Show, Read, Eq, Ord, Bounded, Enum, Random)
07:33:56 Xnuk joins (~xnuk@45.76.202.58)
07:35:00 <fawful> that seems like it would make playing around with simple types like taht soo much quicker
07:35:15 <jacks2> yes
07:35:44 <jacks2> I'm impressed, it even works for data Card = Card Rank Suit deriving (Show, Read, Eq, Ord, Bounded, Random)
07:36:16 energizer joins (~energizer@user/energizer)
07:37:13 stiell joins (~stiell@gateway/tor-sasl/stiell)
07:37:22 Ekho- is now known as Ekho
07:37:37 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
07:37:48 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
07:37:48 rubin55 joins (sid175221@id-175221.hampstead.irccloud.com)
07:37:48 vito joins (sid1962@user/vito)
07:37:48 mrianbloom joins (sid350277@id-350277.ilkley.irccloud.com)
07:37:48 mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es)
07:37:48 Skyfire joins (~pyon@user/pyon)
07:37:48 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
07:37:48 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
07:37:48 tsmc[m] joins (~tsmcmatri@2001:470:69fc:105::1:7e1)
07:37:48 shiraeeshi[m] joins (~shiraeesh@2001:470:69fc:105::1:77)
07:37:48 stoicswe[m] joins (~deadlette@2001:470:69fc:105::d277)
07:37:48 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
07:37:48 dagi53949 joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da)
07:37:48 haritz joins (~hrtz@user/haritz)
07:37:48 DigitalKiwi joins (~kiwi@2604:a880:400:d0::12fc:5001)
07:37:48 mrkajetanp_ joins (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88)
07:37:48 oats joins (~thomas@user/oats)
07:37:48 Flow joins (~none@gentoo/developer/flow)
07:37:48 welterde joins (welterde@thinkbase.srv.welterde.de)
07:38:02 × mrkajetanp_ quits (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (Max SendQ exceeded)
07:38:21 mrkajetanp joins (~mrkajetan@88.98.245.28)
07:38:25 zaquest joins (~notzaques@5.128.210.178)
07:38:26 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
07:38:38 <jacks2> odd, it didn't actually work.
07:38:44 frobnicator joins (~frobnicat@185-227-75-147.dsl.cambrium.nl)
07:39:01 ysh joins (sid6017@id-6017.ilkley.irccloud.com)
07:39:08 tv joins (~tv@user/tv)
07:39:09 <jacks2> No explicit implementation for �randomR� and �random� In the instance declaration for �Random Suit�
07:39:26 <jacks2> and randomIO :: IO Suit gives me No instance nor default method for class operation random
07:39:39 <jacks2> am I missing some additional code?
07:40:36 hyiltiz joins (~quassel@31.220.5.250)
07:40:56 <lortabac> jacks2: DeriveAnyClass doesn't do anything special, it's just syntactic sugar for an empty instance declaration
07:41:26 <jacks2> https://paste.tomsmeding.com/bjJ6XpZa
07:41:27 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Ping timeout: 240 seconds)
07:41:27 × ormaaj quits (~ormaaj@user/ormaaj) (Ping timeout: 240 seconds)
07:41:30 <jacks2> lortabac oh
07:41:38 × codygman[m] quits (~codygman@2001:470:69fc:105::b4ba) (Ping timeout: 246 seconds)
07:41:38 × wysteriary[m] quits (~wysteriar@2001:470:69fc:105::a42e) (Ping timeout: 246 seconds)
07:41:38 × IgnatInsarov[m] quits (~kindaroma@2001:470:69fc:105::f5d9) (Ping timeout: 246 seconds)
07:41:38 × razor[m] quits (~razormone@2001:470:69fc:105::f048) (Ping timeout: 246 seconds)
07:41:38 × zwro[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Ping timeout: 246 seconds)
07:41:38 × YoungChiefBTW quits (~youngchie@user/youngchiefbtw) (Ping timeout: 246 seconds)
07:41:47 <jacks2> so it only works with typeclasses that have default implementation
07:41:48 × jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Ping timeout: 240 seconds)
07:41:52 <lortabac> yes
07:41:56 × ilkecan[m] quits (~ilkecanma@2001:470:69fc:105::1:79b) (Ping timeout: 252 seconds)
07:41:56 × afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (Ping timeout: 252 seconds)
07:42:01 × xosdy[m] quits (~xosdyalet@2001:470:69fc:105::31f7) (Ping timeout: 250 seconds)
07:42:01 × Deide quits (~deide@user/deide) (Ping timeout: 250 seconds)
07:42:32 <fawful> haskell is so cool
07:42:35 <lortabac> also, DeriveAnyClass can be very confusing, please don't use it unless you make the strategy explicit with DerivingStrategies
07:43:01 <jacks2> so what should I do, just manually implement Random instance? I can't take advantage of the fact that type is Enum and Bounded?
07:43:19 <lortabac> but honestly I don't see the point of this extension, it just saves you a couple of characters
07:43:44 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
07:44:07 <fawful> are enum and bounded instances of random?
07:44:42 × Kabouik quits (~Kabouik@user/kabouik) (Remote host closed the connection)
07:44:43 <jacks2> no. they are their own typeclasses. they allow you to do: [Heart .. Club] => [Heart,Diamond,Spade,Club]
07:45:05 porphyry joins (~porphyry@223.235.196.22)
07:45:44 <lortabac> sorry I am not familiar with this library, maybe there is some function that helps you make a Random instance for types that are Enum and Bounded?
07:45:46 <jacks2> or more generically, [minBound .. ] :: [Suit]
07:45:59 porphyry parts (~porphyry@223.235.196.22) ()
07:46:04 schuelermine[m] joins (~schuelerm@user/schuelermine)
07:46:48 <lortabac> anyway it should be easy to make one, thanks to Enum you can easily map an Int to a constructor
07:46:54 <jacks2> yeah
07:47:36 wysteriary[m] joins (~wysteriar@2001:470:69fc:105::a42e)
07:47:37 IgnatInsarov[m] joins (~kindaroma@2001:470:69fc:105::f5d9)
07:47:38 codygman[m] joins (~codygman@2001:470:69fc:105::b4ba)
07:48:32 wonko joins (~wjc@62.115.229.50)
07:48:47 <fawful> I think I want to learn more about enum and bounded. I feel like they are exactly what I need for something
07:49:18 jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae)
07:49:19 razor[m] joins (~razormone@2001:470:69fc:105::f048)
07:49:42 <fawful> anyway just poking my head in, bye bye
07:50:01 <jacks2> bye
07:50:08 pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee)
07:50:11 × fawful quits (~guy@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: WeeChat 3.2)
07:50:18 zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4)
07:52:08 YoungChiefBTW joins (~youngchie@2001:470:69fc:105::214c)
07:53:10 ilkecan[m] joins (~ilkecanma@2001:470:69fc:105::1:79b)
07:53:10 afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b)
07:53:22 kuribas joins (~user@2a02:1810:481b:1200:fc72:85c4:4606:568a)
07:54:15 xosdy[m] joins (~xosdyalet@2001:470:69fc:105::31f7)
07:54:22 Deide joins (~deide@user/deide)
07:54:45 × shriekingnoise_ quits (~shrieking@186.137.144.80) (Quit: Quit)
07:55:04 Taneb0 is now known as Taneb
07:56:28 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
07:58:49 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
08:00:18 shailangsa_ joins (~shailangs@host217-39-45-200.range217-39.btcentralplus.com)
08:01:10 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
08:03:19 jgeerds joins (~jgeerds@55d4da80.access.ecotel.net)
08:03:19 <jacks2> I got it working. https://paste.tomsmeding.com/yZYEIvu9
08:04:47 <jacks2> nd just as I posted, I figured I could replace genericRandom definition with: genericRandom = genericRandomR (minBound, maxBound)
08:05:21 × Guest372 quits (~xxx@47.245.54.240) (Remote host closed the connection)
08:05:48 hendursa1 joins (~weechat@user/hendursaga)
08:06:28 Guest372 joins (~xxx@47.245.54.240)
08:07:46 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:08:00 hyiltiz joins (~quassel@31.220.5.250)
08:08:39 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
08:09:45 × azeem quits (~azeem@2a00:801:447:9f40:238c:6510:b7a3:82be) (Read error: Connection reset by peer)
08:10:25 azeem joins (~azeem@emp-85-170.eduroam.uu.se)
08:12:32 <jacks2> this is so cool.. :). allCards = (,) <$> [Two ..] <*> [Heart ..]
08:13:02 ocramz_ joins (~user@c80-216-51-213.bredband.tele2.se)
08:14:46 <cads> type Kaleidoscope a s = ProfOptic Any (->) Any (->) Applicative Nat Compose Identity App App a a s s
08:15:13 cads proposes we should call this a thick type, because it has that a a s s
08:15:13 benin joins (~benin@183.82.29.30)
08:15:54 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:15:57 cfricke joins (~cfricke@user/cfricke)
08:16:00 <cads> in other news how can a type be this unspeakably cursed / how can we rewrite this sort of thing to be more prosaic and readable?
08:16:22 × ocramz_ quits (~user@c80-216-51-213.bredband.tele2.se) (Remote host closed the connection)
08:16:26 <cads> more fun examples here: https://github.com/maxsu/vitrea/blob/master/source/Optics.hs
08:17:13 <cads> I guess part of why this seems so cursed, on the surface, is that tambara modules are at play, and those are pretty cursed, from a syntax perspective
08:18:49 benin0 joins (~benin@183.82.29.30)
08:19:01 × davetapley quits (sid666@uxbridge.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × whez quits (sid470288@lymington.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × ephemient quits (uid407513@lymington.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × rune quits (sid21167@ilkley.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × hamishmack quits (sid389057@hampstead.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × evertedsphere quits (sid434122@hampstead.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × SethTisue__ quits (sid14912@ilkley.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × angerman quits (sid209936@ilkley.irccloud.com) (Read error: Connection reset by peer)
08:19:01 × ProofTechnique quits (sid79547@ilkley.irccloud.com) (Write error: Connection reset by peer)
08:19:02 × integral quits (sid296274@user/integral) (Ping timeout: 265 seconds)
08:19:02 × systemfault quits (sid267009@uxbridge.irccloud.com) (Ping timeout: 265 seconds)
08:19:02 × lightandlight quits (sid135476@helmsley.irccloud.com) (Ping timeout: 265 seconds)
08:19:02 × scav quits (sid309693@helmsley.irccloud.com) (Ping timeout: 265 seconds)
08:19:03 × tnks quits (sid412124@helmsley.irccloud.com) (Read error: Connection reset by peer)
08:19:09 × obviyus quits (sid415299@user/obviyus) (Read error: Connection reset by peer)
08:19:09 rune joins (sid21167@id-21167.ilkley.irccloud.com)
08:19:09 × nrr quits (sid20938@lymington.irccloud.com) (Read error: Connection reset by peer)
08:19:09 × Pent quits (sid313808@lymington.irccloud.com) (Write error: Connection reset by peer)
08:19:10 lightandlight joins (sid135476@id-135476.helmsley.irccloud.com)
08:19:10 ephemient joins (uid407513@id-407513.lymington.irccloud.com)
08:19:10 angerman joins (sid209936@id-209936.ilkley.irccloud.com)
08:19:10 hamishmack joins (sid389057@id-389057.hampstead.irccloud.com)
08:19:10 evertedsphere joins (sid434122@id-434122.hampstead.irccloud.com)
08:19:11 × bjs quits (sid190364@user/bjs) (Read error: Connection reset by peer)
08:19:13 × jakesyl quits (sid56879@hampstead.irccloud.com) (Read error: Connection reset by peer)
08:19:14 × caasih quits (sid13241@ilkley.irccloud.com) (Read error: Connection reset by peer)
08:19:15 × bw quits (sid2730@user/betawaffle) (Read error: Connection reset by peer)
08:19:15 × NiKaN quits (sid385034@helmsley.irccloud.com) (Read error: Connection reset by peer)
08:19:23 bjs joins (sid190364@user/bjs)
08:19:23 Pent joins (sid313808@id-313808.lymington.irccloud.com)
08:19:25 systemfault joins (sid267009@id-267009.uxbridge.irccloud.com)
08:19:28 integral joins (sid296274@user/integral)
08:19:40 djanatyn joins (~djanatyn@vps-7f49a6b0.vps.ovh.ca)
08:19:48 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:19:48 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:19:51 allbery_b is now known as geekosaur
08:19:53 NiKaN joins (sid385034@id-385034.helmsley.irccloud.com)
08:19:55 <cads> but I feel like there should be some way to refactor these types so that they don't just read like raging hell symbols
08:20:07 LiaoTao_ joins (~LiaoTao@gateway/tor-sasl/liaotao)
08:20:21 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds)
08:20:54 pippijn joins (~pippijn@ra.xinutec.org)
08:21:31 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
08:21:58 duckonomy joins (~duckonomy@177.ip-144-217-84.net)
08:22:04 peutri joins (~peutri@ns317027.ip-94-23-46.eu)
08:22:10 × carter quits (sid14827@helmsley.irccloud.com) (Ping timeout: 260 seconds)
08:22:12 Inoperable joins (~PLAYER_1@fancydata.science)
08:22:16 × idnar quits (sid12240@debian/mithrandi) (Read error: Connection reset by peer)
08:22:17 × alinab quits (sid468903@helmsley.irccloud.com) (Read error: Connection reset by peer)
08:22:17 × gaze___ quits (sid387101@helmsley.irccloud.com) (Read error: Connection reset by peer)
08:22:17 × cbarrett quits (sid192934@helmsley.irccloud.com) (Read error: Connection reset by peer)
08:22:18 × JSharp quits (sid4580@lymington.irccloud.com) (Read error: Connection reset by peer)
08:22:18 × pjlsergeant quits (sid143467@hampstead.irccloud.com) (Read error: Connection reset by peer)
08:22:25 idnar joins (sid12240@debian/mithrandi)
08:22:26 gaze___ joins (sid387101@id-387101.helmsley.irccloud.com)
08:22:26 alinab joins (sid468903@id-468903.helmsley.irccloud.com)
08:22:28 cbarrett joins (sid192934@id-192934.helmsley.irccloud.com)
08:22:28 pjlsergeant joins (sid143467@id-143467.hampstead.irccloud.com)
08:22:30 uGest372 joins (~xxx@47.245.54.240)
08:22:38 JSharp joins (sid4580@id-4580.lymington.irccloud.com)
08:22:51 carter joins (sid14827@id-14827.helmsley.irccloud.com)
08:23:34 m1dnight joins (~christoph@188.ip-51-91-158.eu)
08:23:41 dka joins (~code-is-a@ns3059207.ip-193-70-33.eu)
08:24:22 SIben joins (~SIben@ns3106586.ip-5-135-191.eu)
08:24:45 shane joins (~shane@ana.rch.ist)
08:25:07 endless joins (~endlessed@51.81.211.147)
08:25:07 drlkf joins (~drlkf@2001:41d0:a:62bb::1)
08:25:25 orzo joins (~joe@lasker.childrenofmay.org)
08:25:33 × LiaoTao_ quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds)
08:25:42 emergence joins (~emergence@vm0.max-p.me)
08:26:11 ubert joins (~Thunderbi@178.165.161.120.wireless.dyn.drei.com)
08:26:42 hook54321 joins (sid149355@user/hook54321)
08:27:00 × benin quits (~benin@183.82.29.30) (*.net *.split)
08:27:00 × Guest372 quits (~xxx@47.245.54.240) (*.net *.split)
08:27:00 × kuribas quits (~user@2a02:1810:481b:1200:fc72:85c4:4606:568a) (*.net *.split)
08:27:00 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (*.net *.split)
08:27:00 × rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (*.net *.split)
08:27:00 × vito quits (sid1962@user/vito) (*.net *.split)
08:27:00 × mrianbloom quits (sid350277@id-350277.ilkley.irccloud.com) (*.net *.split)
08:27:00 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split)
08:27:00 × Skyfire quits (~pyon@user/pyon) (*.net *.split)
08:27:00 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (*.net *.split)
08:27:00 × stoicswe[m] quits (~deadlette@2001:470:69fc:105::d277) (*.net *.split)
08:27:00 × tsmc[m] quits (~tsmcmatri@2001:470:69fc:105::1:7e1) (*.net *.split)
08:27:00 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (*.net *.split)
08:27:00 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (*.net *.split)
08:27:01 × shiraeeshi[m] quits (~shiraeesh@2001:470:69fc:105::1:77) (*.net *.split)
08:27:01 × dagi53949 quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (*.net *.split)
08:27:01 × haritz quits (~hrtz@user/haritz) (*.net *.split)
08:27:01 × DigitalKiwi quits (~kiwi@2604:a880:400:d0::12fc:5001) (*.net *.split)
08:27:01 × oats quits (~thomas@user/oats) (*.net *.split)
08:27:01 × Flow quits (~none@gentoo/developer/flow) (*.net *.split)
08:27:01 × welterde quits (welterde@thinkbase.srv.welterde.de) (*.net *.split)
08:27:01 benin0 is now known as benin
08:27:18 <cads> here is an another example of a more primitive code listing written in what I'll call this "profunctorially hectic" style. It /should/ be easier to understand https://github.com/maxsu/vitrea/blob/master/source/CategoriesInstances.hs
08:28:14 ellie joins (~ellie@user/ellie)
08:28:19 × m1dnight quits (~christoph@188.ip-51-91-158.eu) (Client Quit)
08:28:23 <cads> What could I do to improve the code? One idea is that I could research and document the undocumented instances.
08:28:23 jakesyl_ joins (sid56879@id-56879.hampstead.irccloud.com)
08:30:40 hyiltiz joins (~quassel@31.220.5.250)
08:31:14 acidjnk joins (~acidjnk@pd9e0b933.dip0.t-ipconnect.de)
08:31:35 lyxia joins (~lyxia@poisson.chat)
08:31:42 meridion joins (~meridion@punt.hetgrotebos.org)
08:31:51 × tcard quits (~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 250 seconds)
08:33:42 acidjnk is now known as 029AAIVLU
08:33:42 acidjnk joins (~acidjnk@2003:d0:c703:cb80:b958:3c85:bdde:ce73)
08:33:42 bw__ joins (sid2730@2a03:5180:f:3::aaa)
08:33:42 obviyus_ joins (sid415299@2a03:5180:f:5::6:5643)
08:33:42 nrr_ joins (sid20938@2a03:5180:f:2::51ca)
08:33:42 caasih joins (sid13241@2a03:5180:f:3::33b9)
08:33:42 scav joins (sid309693@2a03:5180:f:1::4:b9bd)
08:33:42 tnks joins (sid412124@2a03:5180:f:1::6:49dc)
08:33:42 ProofTechnique joins (sid79547@2a03:5180:f:3::1:36bb)
08:33:42 davetapley joins (sid666@2a03:5180:f:5::29a)
08:33:42 whez joins (sid470288@2a03:5180:f:2::7:2d10)
08:33:42 SethTisue__ joins (sid14912@2a03:5180:f:3::3a40)
08:33:42 kuribas joins (~user@2a02:1810:481b:1200:fc72:85c4:4606:568a)
08:33:42 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
08:33:42 rubin55 joins (sid175221@id-175221.hampstead.irccloud.com)
08:33:42 vito joins (sid1962@user/vito)
08:33:42 mrianbloom joins (sid350277@id-350277.ilkley.irccloud.com)
08:33:42 mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es)
08:33:43 Skyfire joins (~pyon@user/pyon)
08:33:43 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
08:33:43 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
08:33:43 tsmc[m] joins (~tsmcmatri@2001:470:69fc:105::1:7e1)
08:33:43 shiraeeshi[m] joins (~shiraeesh@2001:470:69fc:105::1:77)
08:33:43 stoicswe[m] joins (~deadlette@2001:470:69fc:105::d277)
08:33:43 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
08:33:43 dagi53949 joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da)
08:33:43 haritz joins (~hrtz@user/haritz)
08:33:43 DigitalKiwi joins (~kiwi@2604:a880:400:d0::12fc:5001)
08:33:43 oats joins (~thomas@user/oats)
08:33:43 Flow joins (~none@gentoo/developer/flow)
08:33:43 welterde joins (welterde@thinkbase.srv.welterde.de)
08:33:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
08:35:03 × acidjnk quits (~acidjnk@2003:d0:c703:cb80:b958:3c85:bdde:ce73) (Ping timeout: 268 seconds)
08:36:02 andreas303 joins (andreas303@ip227.orange.bnc4free.com)
08:36:22 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
08:37:07 × IgnatInsarov[m] quits (~kindaroma@2001:470:69fc:105::f5d9) (Ping timeout: 240 seconds)
08:37:07 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (Ping timeout: 240 seconds)
08:37:07 × fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Ping timeout: 240 seconds)
08:37:07 × fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (Ping timeout: 240 seconds)
08:37:07 × rednaZ[m] quits (~r3dnazmat@2001:470:69fc:105::ba70) (Ping timeout: 240 seconds)
08:37:07 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Ping timeout: 240 seconds)
08:39:09 m1dnight joins (~christoph@xvm-104-119.dc0.ghst.net)
08:39:45 IgnatInsarov[m] joins (~kindaroma@2001:470:69fc:105::f5d9)
08:39:45 fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd)
08:39:48 wildsebastian joins (~wildsebas@2001:470:69fc:105::1:14b1)
08:39:48 fcortesi joins (~fcortesi@2001:470:69fc:105::f3a9)
08:39:49 rednaZ[m] joins (~r3dnazmat@2001:470:69fc:105::ba70)
08:39:49 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
08:43:32 jneira_ joins (~jneira_@212.8.115.226)
08:45:36 × meridion quits (~meridion@punt.hetgrotebos.org) (Ping timeout: 265 seconds)
08:45:43 meridion joins (~meridion@punt.hetgrotebos.org)
08:47:06 retro_ joins (~retro@2e41e9c8.skybroadband.com)
08:47:07 DNH joins (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2)
08:47:40 ubert1 joins (~Thunderbi@178.165.161.120.wireless.dyn.drei.com)
08:49:28 × retroid_ quits (~retro@2e41e9c8.skybroadband.com) (Ping timeout: 252 seconds)
08:50:05 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:6420:8c41:7572:e762)
08:50:28 Ferdirand joins (~somebody@2001:4c78:2012:5000::2)
08:50:32 hays joins (rootvegeta@fsf/member/hays)
08:50:32 landonf joins (landonf@mac68k.info)
08:50:32 NemesisD joins (sid24071@id-24071.lymington.irccloud.com)
08:50:35 tito joins (tito@tilde.team)
08:50:35 phaazon joins (~phaazon@2001:41d0:a:fe76::1)
08:50:35 rbocquet joins (~weechat@2001:bc8:47a8:44e::1)
08:50:35 mht joins (~mht@2a03:b0c0:3:e0::1e2:c001)
08:50:36 arkeet joins (arkeet@moriya.ca)
08:50:38 averell joins (~averell@irc.nf3.eu)
08:50:38 zopsi joins (zopsi@2600:3c00::f03c:91ff:fe14:551f)
08:50:42 pepeiborra joins (sid443799@id-443799.ilkley.irccloud.com)
08:50:43 × averell quits (~averell@irc.nf3.eu) (Changing host)
08:50:43 averell joins (~averell@user/averell)
08:50:43 ph88 joins (~ph88@2a02:8109:9e00:7e5c::3d56)
08:50:51 earthy joins (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0)
08:50:56 ddb joins (~ddb@ipv6two.tilde.club)
08:50:57 Guest6642 joins (~mike@2406:d500:6:1:216:3cff:fe36:651)
08:50:59 lechner joins (~lechner@letbox-vps.us-core.com)
08:51:00 zero joins (~z@user/zero)
08:51:00 Raito_Bezarius joins (~Raito@2a01:e0a:5f9:9681:a0a0:bb76:611f:9da7)
08:51:02 derelict joins (derelict@user/derelict)
08:51:03 × Guest6642 quits (~mike@2406:d500:6:1:216:3cff:fe36:651) (Signing in (Guest6642))
08:51:03 Guest6642 joins (~mike@user/feetwind)
08:51:06 × lechner quits (~lechner@letbox-vps.us-core.com) (Changing host)
08:51:06 lechner joins (~lechner@debian/lechner)
08:51:06 × Raito_Bezarius quits (~Raito@2a01:e0a:5f9:9681:a0a0:bb76:611f:9da7) (Signing in (Raito_Bezarius))
08:51:06 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
08:51:17 hugo joins (znc@verdigris.lysator.liu.se)
08:51:22 sajith joins (~sajith@user/sajith)
08:51:22 eruditass_ joins (uid248673@id-248673.uxbridge.irccloud.com)
08:51:37 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
08:52:01 Hafydd joins (~Hafydd@user/hafydd)
08:54:09 × quintasan quits (~quassel@quintasan.pl) (Quit: No Ping reply in 180 seconds.)
08:54:29 asm_ joins (~alexander@burner.asm89.io)
08:55:06 tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
08:55:17 quintasan joins (~quassel@quintasan.pl)
08:58:12 fendor_ joins (~fendor@178.115.40.84.wireless.dyn.drei.com)
09:00:21 <kuribas> jacks2: welcome to haskell :)
09:01:04 × fendor quits (~fendor@178.165.172.248.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
09:03:46 × MQ-17J quits (~MQ-17J@8.6.144.117) (Ping timeout: 252 seconds)
09:04:46 LiaoTao_ joins (~LiaoTao@gateway/tor-sasl/liaotao)
09:05:11 hyiltiz joins (~quassel@31.220.5.250)
09:05:12 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds)
09:06:38 × shailangsa_ quits (~shailangs@host217-39-45-200.range217-39.btcentralplus.com) ()
09:06:57 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d130:ee1a:7e8:282d) (Remote host closed the connection)
09:07:29 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
09:11:11 famubu joins (~famubu@user/famubu)
09:12:03 <famubu> i was trying to a 'shift' an ascii character by a specified number of positions (like a caesar cipher for a single character) and came up with `shift ch n = chr ((mod (((ord ch) - (ord 'a')) + n) 26) + (ord 'a'))`
09:12:15 <famubu> Is there a way to reduce the number of parenthesis here?
09:12:16 <kuribas> Does there exist a Monad over Categories? Then bind' :: someCat (m a) (someCat (someCat a (m b)) (m b))
09:13:01 <famubu> Had heard of `$` but couldn't figure out how it would be used when there are functions with multiple arguments.
09:13:23 <dminuoso> cads: You can take a look at optics to get an idea, perhaps
09:13:30 <kuribas> famubu: shift ch n = chr $ (ord ch - ord 'a' + n) `mod` 26 + ord 'a'
09:14:58 <famubu> kuribas: Thanks. Much more readable now.
09:15:01 <famubu> Would there be any advantage in moving the `ord 'a'` part into a `let variable in` section?
09:15:30 <nshepperd2> kuribas: i think that `mod` is going to have the wrong precedence there...
09:15:52 × tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
09:15:57 <kuribas> :i mod
09:16:01 <jacks2> kuribas thanks. I am not that new actually, just don't use haskell regularly, and I enjoy seeing concise code like that
09:16:09 <nshepperd2> oh, it has an explicit infixl, huh
09:16:37 <kuribas> "infixl 7 `mod`" "infixl 6 +"
09:17:02 <kuribas> nshepperd2: otherwise infix is more tight, no?
09:18:08 <nshepperd2> > 5 `mod` 2 + 3
09:18:10 <lambdabot> 4
09:18:35 <nshepperd2> scary
09:18:42 <kuribas> > let foo = mod in 5 `foo` 2 + 3
09:18:44 <lambdabot> 4
09:19:27 <kuribas> nshepperd2: so it would only fail if mod was made explicitly less strong than (+)
09:19:44 <kuribas> but mod has same fixity as (*)
09:20:04 tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
09:20:44 <kuribas> but if it is hard to reason about fixity, maybe parens are better.
09:20:47 <nshepperd2> i thought `backticks` were pretty low precedence by default
09:21:26 <nshepperd2> apparently not
09:21:52 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
09:24:43 <kuribas> nope, high precendence :)
09:25:53 <cads> dminuoso, there's still a lot of cryptic types here
09:25:59 <cads> default conjoined__ :: Coercible (p i s t) (p j s t) => (p i a b -> p i s t) -> (p i a b -> p j s t) -> (p i a b -> p j s t)
09:26:36 <cads> the only thing I understand about this code is the (p i s t) part, because that is the emotion I feel when I see this sort of code, lol
09:30:33 × obviyus_ quits (sid415299@2a03:5180:f:5::6:5643) (Changing host)
09:30:33 obviyus_ joins (sid415299@user/obviyus)
09:30:58 <kuribas> nshepperd2: higher than any operator IIRC
09:31:11 × obviyus_ quits (sid415299@user/obviyus) ()
09:31:32 obviyus_ joins (sid415299@id-415299.uxbridge.irccloud.com)
09:34:24 <dminuoso> cads: Not in optics
09:34:27 <arjun> sm: turns out you can just name build depends without bounds and install
09:34:29 <dminuoso> cads: There it's `conjoined :: forall (is :: IxList) i k s t a b . HasSingleIndex is i => Optic k NoIx s t a b -> Optic k is s t a b -> Optic k is s t a b`
09:34:33 <arjun> and then run cabal gen-bounds
09:34:38 <dminuoso> Which is fairly well readable
09:34:50 × bw__ quits (sid2730@2a03:5180:f:3::aaa) ()
09:35:21 bw__ joins (sid2730@id-2730.ilkley.irccloud.com)
09:35:36 <sm> arjun: nice, did it work well ?
09:36:05 <arjun> sm: it did for what i had.
09:36:16 <arjun> i had half of them bounded and half just named
09:36:21 <arjun> it bounded all
09:36:27 <cads> dminuoso, that I think I can agree with. It uses a meaningful constructor Optic, rather than the anonymous p
09:36:38 <arjun> i'll have to try with all of them unbounded and see if _that_ workds
09:37:08 bw__ is now known as bw
09:37:10 <cads> Coercible (prof i s t) (prof j s t) => (prof i a b -> prof i s t) -> (prof i a b -> prof j s t) -> (prof i a b -> prof j s t)
09:37:20 × bw quits (sid2730@id-2730.ilkley.irccloud.com) (Changing host)
09:37:20 bw joins (sid2730@user/betawaffle)
09:37:27 <dminuoso> cads: Arguably, you can even sort of deduce its behavior from the type!
09:37:44 <cads> ^ I feel even this would be an improvement
09:37:45 <sm> from https://cabal.readthedocs.io/en/latest/cabal-package.html?highlight=gen-bounds#generating-dependency-version-bounds, it seems to expand pinned versions to full major version ranges. Does it do more than that ?
09:38:12 <cads> though it stretches my ability to "book-keep" that index type
09:38:31 <sm> it picks the latest major version I guess ?
09:39:26 <sm> that sounds useful, even if you might want to expand the range later
09:43:09 shailangsa joins (~shailangs@host217-39-45-200.range217-39.btcentralplus.com)
09:43:41 × notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer)
09:43:54 <cads> dminuoso, I just finished the second read of the type you displayed, and I think I'm at 30% comprehension. Now I am trying to understand forall (is :: IxList) i k s t a b. I will assume that the ikstab in question is the corona vaccine, and the statement is really a statement about lens mappings between different classes of antivaxxers
09:44:17 <cads> So that forall is just quantifying over all these variables, plus constraining the `is` variable to be an IxList
09:44:53 × Flonk quits (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (Quit: Ping timeout (120 seconds))
09:45:10 × pavonia_ quits (~user@user/siracusa) (Quit: Bye!)
09:45:18 Flonk joins (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
09:45:31 × bbear_ quits (~znc@21212.s.t4vps.eu) (Ping timeout: 245 seconds)
09:46:22 bbear joins (~znc@21212.s.t4vps.eu)
09:46:30 × chele quits (~chele@user/chele) (Ping timeout: 265 seconds)
09:46:37 × Alex_test quits (~al_test@178.34.161.78) (Ping timeout: 252 seconds)
09:46:55 Alex_test joins (~al_test@178.34.161.78)
09:48:13 notzmv joins (~zmv@user/notzmv)
09:48:51 <cads> then, if the IxList has a single index x, we have a function that takes an unindexed optic and an is-indexed optic with otherwise matching type parameters, and returns an is-indexed optic with the same other type parameters
09:49:38 agile` joins (~user@185-11-210-43.s1networks.fi)
09:50:08 <cads> I think I'm at 50% understanding now - I have to learn about ixlists, the NoIx constant, and the Optic constructor
09:50:33 agile` parts (~user@185-11-210-43.s1networks.fi) ()
09:52:52 agile joins (~user@185-11-210-43.s1networks.fi)
09:54:13 <cads> dminuoso, could we take `Optic k NoIx s t a b -> Optic k is s t a b -> Optic k is s t a b` and write it as `NoIndexOptic -> IndexedOptic -> IndexedOptic where NoIndexOptic = k NoIx s t a b, IndexedOptic = Optic k is s t a b` ?
09:54:49 <cads> err
09:55:06 <cads> that would be `NoIndexOptic = Optic k NoIx s t a b`
09:57:15 × agile quits (~user@185-11-210-43.s1networks.fi) (Quit: ERC (IRC client for Emacs 27.2))
09:58:17 × _xor quits (~xor@72.49.199.147) (Read error: Connection reset by peer)
09:58:22 <cads> I think in the end it's more characters, but could make the line easier to interpret by itself. I would see `NoIndexOptic -> IndexedOptic -> IndexedOptic` and think 'oh, it's a function between these things the author is temporarily calling indexed and noindex optics
09:59:16 × siraben quits (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
09:59:16 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Quit: Bridge terminating on SIGTERM)
09:59:16 × peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
09:59:16 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM)
09:59:16 × shiraeeshi[m] quits (~shiraeesh@2001:470:69fc:105::1:77) (Quit: Bridge terminating on SIGTERM)
09:59:16 × kadoban quits (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
09:59:16 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
09:59:16 × sm quits (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
09:59:16 × Arathorn quits (~arathorn@2001:470:69fc:105::1f) (Quit: Bridge terminating on SIGTERM)
09:59:16 × psydroid quits (~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
09:59:16 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
09:59:16 × quantum quits (~quantum@user/quantum/x-8556232) (Quit: Bridge terminating on SIGTERM)
09:59:16 × Tisoxin quits (~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
09:59:16 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
09:59:17 × denbrahe[m] quits (~denbrahem@2001:470:69fc:105::19c0) (Quit: Bridge terminating on SIGTERM)
09:59:17 × PotatoHatsue quits (~berberman@2001:470:69fc:105::b488) (Quit: Bridge terminating on SIGTERM)
09:59:17 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM)
09:59:17 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
09:59:17 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
09:59:17 × ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM)
09:59:17 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM)
09:59:17 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM)
09:59:17 × the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM)
09:59:17 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM)
09:59:17 × hsek[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
09:59:17 × jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM)
09:59:17 × jophish quits (~jophish@2001:470:69fc:105::670) (Quit: Bridge terminating on SIGTERM)
09:59:17 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Bridge terminating on SIGTERM)
09:59:17 × Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (Quit: Bridge terminating on SIGTERM)
09:59:17 × reddishblue[m] quits (~reddishbl@2001:470:69fc:105::21eb) (Quit: Bridge terminating on SIGTERM)
09:59:17 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
09:59:17 × Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Quit: Bridge terminating on SIGTERM)
09:59:17 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM)
09:59:17 × SawyerBergeron[m quits (~sawyerber@2001:470:69fc:105::3036) (Quit: Bridge terminating on SIGTERM)
09:59:17 × Topik[m] quits (~topikmatr@2001:470:69fc:105::a082) (Quit: Bridge terminating on SIGTERM)
09:59:17 × jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
09:59:17 × jinsun_ quits (~jinsun@user/jinsun) (Quit: Bridge terminating on SIGTERM)
09:59:17 × jmcantrell quits (~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM)
09:59:17 × kevin[m]1 quits (~pnotequal@2001:470:69fc:105::a54) (Quit: Bridge terminating on SIGTERM)
09:59:17 × tsmc[m] quits (~tsmcmatri@2001:470:69fc:105::1:7e1) (Quit: Bridge terminating on SIGTERM)
09:59:17 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
09:59:17 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
09:59:17 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
09:59:17 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Quit: Bridge terminating on SIGTERM)
09:59:17 × moats quits (~oats@user/oats) (Quit: Bridge terminating on SIGTERM)
09:59:18 × santiagopim[m] quits (~santiagop@2001:470:69fc:105::e57d) (Quit: Bridge terminating on SIGTERM)
09:59:18 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM)
09:59:18 × hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Quit: Bridge terminating on SIGTERM)
09:59:18 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM)
09:59:18 × Drew[m] quits (~drewefenw@2001:470:69fc:105::c8c4) (Quit: Bridge terminating on SIGTERM)
09:59:18 × srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
09:59:18 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Quit: Bridge terminating on SIGTERM)
09:59:18 × Magnus[m] quits (~magthetch@2001:470:69fc:105::d1a7) (Quit: Bridge terminating on SIGTERM)
09:59:18 × hughjfchen[m] quits (~hughjfche@2001:470:69fc:105::c29d) (Quit: Bridge terminating on SIGTERM)
09:59:18 × bakinonion[m] quits (~bakinonio@2001:470:69fc:105::ddb3) (Quit: Bridge terminating on SIGTERM)
09:59:18 × gdhffd[m] quits (~gdhffdmat@2001:470:69fc:105::1:799) (Quit: Bridge terminating on SIGTERM)
09:59:18 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM)
09:59:18 × ManofLetters[m] quits (~manoflett@2001:470:69fc:105::3be) (Quit: Bridge terminating on SIGTERM)
09:59:18 × soft quits (~soft-matr@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM)
09:59:18 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
09:59:18 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
09:59:18 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
09:59:18 × aidy quits (~aidy@2001:470:69fc:105::c7b4) (Quit: Bridge terminating on SIGTERM)
09:59:18 × cloudy quits (~cloudy@2001:470:69fc:105::50c0) (Quit: Bridge terminating on SIGTERM)
09:59:18 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM)
09:59:18 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Quit: Bridge terminating on SIGTERM)
09:59:18 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
09:59:18 × fakehacker[m] quits (~fakehacke@2001:470:69fc:105::b5f0) (Quit: Bridge terminating on SIGTERM)
09:59:18 × alex[m]1234567 quits (~alexchete@2001:470:69fc:105::1:1001) (Quit: Bridge terminating on SIGTERM)
09:59:18 × dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (Quit: Bridge terminating on SIGTERM)
09:59:19 × stoicswe[m] quits (~deadlette@2001:470:69fc:105::d277) (Quit: Bridge terminating on SIGTERM)
09:59:19 × mekeor[m] quits (~mekeormat@2001:470:69fc:105::17e4) (Quit: Bridge terminating on SIGTERM)
09:59:19 × craige[m] quits (~craigemcw@2001:470:69fc:105::35f1) (Quit: Bridge terminating on SIGTERM)
09:59:19 × asdofindia-m quits (~akshaymat@2001:470:69fc:105::831) (Quit: Bridge terminating on SIGTERM)
09:59:19 × kar1 quits (~kar1@2001:470:69fc:105::c308) (Quit: Bridge terminating on SIGTERM)
09:59:19 × dexmad[m] quits (~dexmadmat@2001:470:69fc:105::e056) (Quit: Bridge terminating on SIGTERM)
09:59:19 × monadfritz[m] quits (~ahdytmatr@2001:470:69fc:105::e1f1) (Quit: Bridge terminating on SIGTERM)
09:59:19 × sam[m]12 quits (~sammtopoi@2001:470:69fc:105::e887) (Quit: Bridge terminating on SIGTERM)
09:59:19 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (Quit: Bridge terminating on SIGTERM)
09:59:19 × ftzm[m] quits (~ftzmmatri@2001:470:69fc:105::1:dfc) (Quit: Bridge terminating on SIGTERM)
09:59:19 × Tavi[m] quits (~factoidde@2001:470:69fc:105::1:819) (Quit: Bridge terminating on SIGTERM)
09:59:21 × TomasJakl[m] quits (~jaklttchn@2001:470:69fc:105::a42) (Quit: Bridge terminating on SIGTERM)
09:59:22 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
09:59:22 × codygman[m] quits (~codygman@2001:470:69fc:105::b4ba) (Quit: Bridge terminating on SIGTERM)
09:59:22 × wysteriary[m] quits (~wysteriar@2001:470:69fc:105::a42e) (Quit: Bridge terminating on SIGTERM)
09:59:22 × razor[m] quits (~razormone@2001:470:69fc:105::f048) (Quit: Bridge terminating on SIGTERM)
09:59:22 × jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Quit: Bridge terminating on SIGTERM)
09:59:22 × YoungChiefBTW quits (~youngchie@2001:470:69fc:105::214c) (Quit: Bridge terminating on SIGTERM)
09:59:22 × ilkecan[m] quits (~ilkecanma@2001:470:69fc:105::1:79b) (Quit: Bridge terminating on SIGTERM)
09:59:22 × afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM)
09:59:22 × Deide quits (~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
09:59:22 × zwro[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM)
09:59:22 × xosdy[m] quits (~xosdyalet@2001:470:69fc:105::31f7) (Quit: Bridge terminating on SIGTERM)
09:59:23 × rednaZ[m] quits (~r3dnazmat@2001:470:69fc:105::ba70) (Quit: Bridge terminating on SIGTERM)
09:59:23 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (Quit: Bridge terminating on SIGTERM)
09:59:23 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM)
09:59:23 × fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (Quit: Bridge terminating on SIGTERM)
09:59:23 × fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Quit: Bridge terminating on SIGTERM)
09:59:23 × IgnatInsarov[m] quits (~kindaroma@2001:470:69fc:105::f5d9) (Quit: Bridge terminating on SIGTERM)
09:59:24 <cads> then I would look to the next lines and see the types of NoIndexOptic and IndexedOptic, which would hopefully be easier, because I've been prompted to think about indexes
10:00:21 _xor joins (~xor@72.49.199.147)
10:01:14 <jacks2> what's the proper syntax? foo :: forall a. (T1 a, T2 m) => String -> m a?
10:01:31 <jacks2> I am getting Not in scope: type variable �m�
10:02:17 <cads> how are you currently quantifying over m?
10:02:57 <cads> I see that you are constraining m to be in typeclass T2, right? But where is m being introduced as a type variable?
10:03:25 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
10:03:39 Farzad joins (~FarzadBek@178.131.31.129)
10:03:42 jchia[m] joins (~jchiamatr@2001:470:69fc:105::c50b)
10:04:16 × xff0x quits (~xff0x@2001:1a81:53d3:ff00:e392:be3b:ed73:128b) (Ping timeout: 252 seconds)
10:05:11 lavaman joins (~lavaman@98.38.249.169)
10:05:11 xff0x joins (~xff0x@2001:1a81:53d3:ff00:3e1e:c821:8716:28f6)
10:05:21 × akspecs__ quits (~akspecs@user/akspecs) (Ping timeout: 265 seconds)
10:05:22 hyiltiz joins (~quassel@31.220.5.250)
10:05:57 <cads> > type foo :: forall a. (T1 a, T2 m) => String -> m a
10:05:58 <lambdabot> <hint>:1:1: error: parse error on input ‘type’
10:06:04 akspecs__ joins (~akspecs@136-24-181-20.cab.webpass.net)
10:06:05 × akspecs__ quits (~akspecs@136-24-181-20.cab.webpass.net) (Changing host)
10:06:05 akspecs__ joins (~akspecs@user/akspecs)
10:06:12 <cads> > type foo :: forall a, m. (T1 a, T2 m) => String -> m a
10:06:14 <lambdabot> <hint>:1:1: error: parse error on input ‘type’
10:06:18 dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7)
10:06:20 MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22)
10:06:21 fgaz joins (~fgaz@2001:470:69fc:105::842)
10:06:22 peddie joins (~peddie@2001:470:69fc:105::25d)
10:06:26 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
10:06:26 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
10:06:27 hsek[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
10:06:27 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
10:06:40 <cads> jacks2, help :(
10:06:48 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
10:07:14 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
10:07:21 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35)
10:07:26 gdhffd[m] joins (~gdhffdmat@2001:470:69fc:105::1:799)
10:07:26 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
10:07:26 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
10:07:26 the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f)
10:07:26 moats joins (~oats@user/oats)
10:07:26 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
10:07:37 <cads> I think the second line will typecheck, but I don't know how to get labmdabot to confirm this
10:07:38 soft joins (~soft-matr@2001:470:69fc:105::c75)
10:07:39 kadoban joins (~kadoban@user/kadoban)
10:07:39 bitonic joins (~bitonic@2001:470:69fc:105::1812)
10:07:53 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
10:07:53 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
10:07:53 jophish joins (~jophish@2001:470:69fc:105::670)
10:07:53 Arathorn joins (~arathorn@2001:470:69fc:105::1f)
10:07:53 PotatoHatsue joins (~berberman@2001:470:69fc:105::b488)
10:07:54 Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5)
10:08:08 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
10:08:09 unclechu joins (~unclechu@2001:470:69fc:105::354)
10:08:09 Deewiant joins (~deewiant@2001:470:69fc:105::2fd3)
10:08:09 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
10:08:09 rednaZ[m] joins (~r3dnazmat@2001:470:69fc:105::ba70)
10:08:09 maralorn joins (~maralorn@2001:470:69fc:105::251)
10:08:10 denbrahe[m] joins (~denbrahem@2001:470:69fc:105::19c0)
10:08:22 jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae)
10:08:30 × arjun quits (~user@user/arjun) (Remote host closed the connection)
10:08:35 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
10:08:35 quantum joins (~quantum@user/quantum/x-8556232)
10:08:35 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
10:08:35 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
10:08:45 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:08:49 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
10:09:01 craige[m] joins (~craigemcw@2001:470:69fc:105::35f1)
10:09:13 afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b)
10:09:13 schuelermine[m] joins (~schuelerm@user/schuelermine)
10:09:13 razor[m] joins (~razormone@2001:470:69fc:105::f048)
10:09:13 sm joins (~sm@plaintextaccounting/sm)
10:09:13 reddishblue[m] joins (~reddishbl@2001:470:69fc:105::21eb)
10:09:25 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
10:09:25 kevin[m]1 joins (~pnotequal@2001:470:69fc:105::a54)
10:09:25 Deide joins (~deide@user/deide)
10:09:26 hughjfchen[m] joins (~hughjfche@2001:470:69fc:105::c29d)
10:09:39 fakehacker[m] joins (~fakehacke@2001:470:69fc:105::b5f0)
10:09:39 Artem[m] joins (~artemtype@2001:470:69fc:105::75b)
10:09:42 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
10:09:51 IgnatInsarov[m] joins (~kindaroma@2001:470:69fc:105::f5d9)
10:09:51 srid[m] joins (~sridmatri@2001:470:69fc:105::1c2)
10:09:51 psydroid joins (~psydroid@user/psydroid)
10:09:51 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
10:09:51 YoungChiefBTW joins (~youngchie@2001:470:69fc:105::214c)
10:10:05 wysteriary[m] joins (~wysteriar@2001:470:69fc:105::a42e)
10:10:05 zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4)
10:10:17 stoicswe[m] joins (~deadlette@2001:470:69fc:105::d277)
10:10:17 sam[m]12 joins (~sammtopoi@2001:470:69fc:105::e887)
10:10:17 Topik[m] joins (~topikmatr@2001:470:69fc:105::a082)
10:10:17 kar1 joins (~kar1@2001:470:69fc:105::c308)
10:10:17 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
10:10:17 ongy[m] joins (~ongymatri@2001:470:69fc:105::5018)
10:10:17 asdofindia-m joins (~akshaymat@2001:470:69fc:105::831)
10:10:17 hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd)
10:10:17 Drew[m] joins (~drewefenw@2001:470:69fc:105::c8c4)
10:10:17 jneira[m] joins (~jneiramat@2001:470:69fc:105::d729)
10:10:17 Magnus[m] joins (~magthetch@2001:470:69fc:105::d1a7)
10:10:17 siraben joins (~siraben@user/siraben)
10:10:30 dexmad[m] joins (~dexmadmat@2001:470:69fc:105::e056)
10:10:30 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
10:10:30 SawyerBergeron[m joins (~sawyerber@2001:470:69fc:105::3036)
10:10:30 Tisoxin joins (~ikosit@user/ikosit)
10:10:42 monadfritz[m] joins (~ahdytmatr@2001:470:69fc:105::e1f1)
10:10:42 bakinonion[m] joins (~bakinonio@2001:470:69fc:105::ddb3)
10:10:43 alex[m]1234567 joins (~alexchete@2001:470:69fc:105::1:1001)
10:10:43 fcortesi joins (~fcortesi@2001:470:69fc:105::f3a9)
10:10:43 ManofLetters[m] joins (~manoflett@2001:470:69fc:105::3be)
10:10:57 cloudy joins (~cloudy@2001:470:69fc:105::50c0)
10:10:57 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
10:10:57 fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd)
10:10:57 aidy joins (~aidy@2001:470:69fc:105::c7b4)
10:11:09 shiraeeshi[m] joins (~shiraeesh@2001:470:69fc:105::1:77)
10:11:09 TomasJakl[m] joins (~jaklttchn@2001:470:69fc:105::a42)
10:11:10 × superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 265 seconds)
10:11:22 ilkecan[m] joins (~ilkecanma@2001:470:69fc:105::1:79b)
10:11:22 tsmc[m] joins (~tsmcmatri@2001:470:69fc:105::1:7e1)
10:11:30 <jacks2> I don't know how to introduce T2 with forall syntax
10:11:35 superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net)
10:11:37 codygman[m] joins (~codygman@2001:470:69fc:105::b4ba)
10:11:49 xosdy[m] joins (~xosdyalet@2001:470:69fc:105::31f7)
10:11:49 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
10:11:49 santiagopim[m] joins (~santiagop@2001:470:69fc:105::e57d)
10:11:50 <jacks2> ^^ cads
10:11:58 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35) (Ping timeout: 252 seconds)
10:12:01 Tavi[m] joins (~factoidde@2001:470:69fc:105::1:819)
10:12:01 mekeor[m] joins (~mekeormat@2001:470:69fc:105::17e4)
10:12:01 jmcantrell joins (~jmcantrel@user/jmcantrell)
10:12:01 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
10:12:13 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
10:12:13 ftzm[m] joins (~ftzmmatri@2001:470:69fc:105::1:dfc)
10:12:13 wildsebastian joins (~wildsebas@2001:470:69fc:105::1:14b1)
10:12:13 jinsun_ joins (~jinsun@user/jinsun)
10:13:09 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
10:13:34 <jacks2> I used to have just (T1 a, T2 m) => String -> m a, but I need to use forall syntax because I am using ScopedTypeVariables
10:13:35 × xff0x quits (~xff0x@2001:1a81:53d3:ff00:3e1e:c821:8716:28f6) (Ping timeout: 260 seconds)
10:15:13 arjun joins (~user@103.57.87.77)
10:16:43 × betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Ping timeout: 250 seconds)
10:18:06 <cads> jacks2, I don't know about scoped type variables. However, the compiler is complaining about not finding m. Have you tried including m in the forall, like forall a m. (T1 a, T2 m) => String -> m a ?
10:18:39 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
10:18:46 <jacks2> that was it! thanks
10:19:31 <cads> also, can you write forall (a::T1) (m::T2). String -> m a ?
10:19:38 azimut joins (~azimut@gateway/tor-sasl/azimut)
10:20:07 <cads> I'm too lazy to install haskell or learn how to talk to lambdabot, so if you'll allow, I am using use as my interactive haskell interpreter
10:20:11 cheater joins (~Username@user/cheater)
10:20:27 xff0x joins (~xff0x@2001:1a81:53d3:ff00:3e1e:c821:8716:28f6)
10:20:43 × rembo10 quits (~rembo10@remulis.com) (Ping timeout: 252 seconds)
10:20:46 <jacks2> no. it asked for a bunch of extensions, and then gave a cryptic error
10:20:59 rembo10 joins (~rembo10@remulis.com)
10:22:52 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:6420:8c41:7572:e762) (Remote host closed the connection)
10:24:30 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Client Quit)
10:25:40 <cads> Oh, right, the library I am looking at is rocking extensions that let it use that a constrained forall quantifier.
10:26:24 mestre joins (~mestre@191.177.175.57)
10:30:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:31:25 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:6420:8c41:7572:e762)
10:31:44 × famubu quits (~famubu@user/famubu) (Ping timeout: 246 seconds)
10:33:26 o1lo01ol_ joins (~o1lo01ol1@2001:8a0:6d7a:df01:b112:1739:45df:bd59)
10:35:37 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:6420:8c41:7572:e762) (Ping timeout: 252 seconds)
10:38:07 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Quit: Reconnecting)
10:38:28 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 252 seconds)
10:38:32 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
10:38:55 × o1lo01ol_ quits (~o1lo01ol1@2001:8a0:6d7a:df01:b112:1739:45df:bd59) (Ping timeout: 252 seconds)
10:39:18 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Client Quit)
10:39:32 × mestre quits (~mestre@191.177.175.57) (Quit: leaving)
10:39:45 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
10:39:46 mestre joins (~mestre@191.177.175.57)
10:40:13 azimut joins (~azimut@gateway/tor-sasl/azimut)
10:41:06 abrantesasf joins (~abrantesa@187.36.170.211)
10:42:28 × abrantesasf quits (~abrantesa@187.36.170.211) (Remote host closed the connection)
10:42:56 abrantesasf joins (~abrantesa@187.36.170.211)
10:43:10 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:fddd:11b:323b:740b)
10:43:25 × abrantesasf quits (~abrantesa@187.36.170.211) (Remote host closed the connection)
10:43:56 <kuribas> Is there liftIO for applicatives?
10:43:59 abrantesasf joins (~abrantesa@187.36.170.211)
10:44:03 <kuribas> as in Applicatives which aren't Monads?
10:44:22 gawen_ joins (~gawen@user/gawen)
10:44:41 × gawen quits (~gawen@user/gawen) (Ping timeout: 245 seconds)
10:45:07 <dminuoso> What would that mean?
10:45:07 timCF joins (~timCF@200-149-20-81.sta.estpak.ee)
10:45:16 <kuribas> https://stackoverflow.com/questions/26064297/is-there-an-applicativeio-class/26070251#26070251
10:45:19 <dminuoso> kuribas: IO is inherently monadic.
10:45:32 <kuribas> dminuoso: it's also inherently Applicative :)
10:45:57 <timCF> Hello! Is there any way to have some extension globally in default-extensions, but disable just in one particular file?
10:46:24 <kuribas> hmm: "So, even in a world with AMP, ApplicativeIO m and MonadIO m are really different things, even when m is a Monad"
10:47:23 <timCF> I have a problem with StrictData in one particular file, but I still like how it works and want data be strict by default in other files https://gitlab.haskell.org/ghc/ghc/-/issues/16141
10:47:27 <kuribas> dminuoso: but yeah, it probably would not order the IO actions...
10:48:03 × mestre quits (~mestre@191.177.175.57) (Quit: leaving)
10:48:17 mestre joins (~mestre@191.177.175.57)
10:49:38 <kuribas> dminuoso: wait, Applicative actions can be ordered. They just cannot depend on each other.
10:50:09 <dminuoso> kuribas: I see, so you're asking for a generalization of say `cacheResult :: Request r a => r a -> IO a -> GenHaxl u w a`?
10:52:20 <kuribas> dminuoso: yeah, that was actually my usecase :)
10:52:38 <kuribas> well, not using Haxl
10:52:40 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:fddd:11b:323b:740b) (Ping timeout: 252 seconds)
10:52:47 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
10:55:37 × akspecs__ quits (~akspecs@user/akspecs) (Ping timeout: 265 seconds)
10:55:46 × mestre quits (~mestre@191.177.175.57) (Quit: leaving)
10:56:02 mestre joins (~mestre@191.177.175.57)
10:56:20 akspecs__ joins (~akspecs@136.24.181.20)
10:56:20 × akspecs__ quits (~akspecs@136.24.181.20) (Changing host)
10:56:20 akspecs__ joins (~akspecs@user/akspecs)
10:56:25 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820) (Remote host closed the connection)
10:56:47 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
10:56:50 gaussrz joins (~gaussrz@58.247.22.226)
10:58:31 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 265 seconds)
10:59:22 × ubert quits (~Thunderbi@178.165.161.120.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
10:59:23 ubert1 is now known as ubert
11:00:54 alx741 joins (~alx741@186.178.108.69)
11:01:08 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:01:20 × mestre quits (~mestre@191.177.175.57) (Quit: leaving)
11:01:25 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 260 seconds)
11:01:58 × frobnicator quits (~frobnicat@185-227-75-147.dsl.cambrium.nl) (Ping timeout: 252 seconds)
11:02:22 frobnicator joins (~frobnicat@185-227-75-147.dsl.cambrium.nl)
11:03:19 mestre joins (~mestre@191.177.175.57)
11:03:47 <byorgey> timCF: you should be able to enable StrictData in default-extensions and then say {-# LANGUAGE NoStrictData #-} in the one file
11:04:23 × mestre quits (~mestre@191.177.175.57) (Client Quit)
11:04:49 <timCF> byorgey: That's what I needed, thanks a lot!
11:04:57 mestre joins (~mestre@191.177.175.57)
11:05:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
11:06:14 × asm_ quits (~alexander@burner.asm89.io) (Quit: WeeChat 1.7.1)
11:06:28 asm joins (~alexander@burner.asm89.io)
11:06:46 × asm quits (~alexander@burner.asm89.io) (Changing host)
11:06:46 asm joins (~alexander@user/asm)
11:08:55 zer0bitz joins (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi)
11:14:03 ArctVaulMarsHMPJ joins (~pjetcetal@2.95.44.252)
11:15:31 × vgtw_ quits (~vgtw@c-6a60205c.07-348-756d651.bbcust.telenor.se) (Ping timeout: 245 seconds)
11:16:20 hyiltiz joins (~quassel@31.220.5.250)
11:16:42 vgtw joins (~vgtw@c-6a60205c.07-348-756d651.bbcust.telenor.se)
11:17:07 × otulp quits (~otulp@ti0187q162-3172.bb.online.no) (Remote host closed the connection)
11:18:44 nazrhom joins (~nazrhom@cpc144080-walt20-2-0-cust40.13-2.cable.virginm.net)
11:21:07 __monty__ joins (~toonn@user/toonn)
11:23:11 × piele quits (~piele@tbonesteak.creativeserver.net) (Remote host closed the connection)
11:24:23 piele joins (~piele@tbonesteak.creativeserver.net)
11:27:21 <lortabac> kuribas: you can use 'Compose IO MyType'
11:27:42 <kuribas> lortabac: but that's a different type :)
11:27:55 <kuribas> lortabac: MonadIO is a typeclass.
11:29:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
11:29:45 cfricke joins (~cfricke@user/cfricke)
11:31:03 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
11:32:07 fendor_ is now known as fendor
11:32:24 <lortabac> alternatively, you can define your own monomorphic liftIO
11:39:45 × ByronJohnson quits (~bairyn@mail.digitalkingdom.org) (Ping timeout: 265 seconds)
11:40:27 <kuribas> yeah
11:41:46 ByronJohnson joins (~bairyn@mail.digitalkingdom.org)
11:55:04 × max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 265 seconds)
11:56:15 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 260 seconds)
11:56:20 × timCF quits (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
11:57:02 × nazrhom quits (~nazrhom@cpc144080-walt20-2-0-cust40.13-2.cable.virginm.net) (Quit: Client closed)
11:58:09 × awpr quits (uid446117@lymington.irccloud.com) (Quit: Connection closed for inactivity)
11:58:59 hyiltiz joins (~quassel@31.220.5.250)
12:01:31 × roconnor quits (~roconnor@host-45-58-217-8.dyn.295.ca) (Quit: Konversation terminated!)
12:02:43 shapr` is now known as shapr
12:03:26 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820) (Remote host closed the connection)
12:04:07 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
12:04:42 xiongxin joins (~quassel@113.116.224.79)
12:05:53 × jgeerds quits (~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 246 seconds)
12:08:49 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
12:10:52 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
12:11:04 nsilv joins (~nsilv@212.103.198.210)
12:15:25 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
12:17:55 lbseale_ joins (~lbseale@user/ep1ctetus)
12:18:02 × lbseale_ quits (~lbseale@user/ep1ctetus) (Client Quit)
12:21:17 × lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 246 seconds)
12:21:39 hyiltiz joins (~quassel@31.220.5.250)
12:21:52 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
12:22:31 lbseale joins (~lbseale@user/ep1ctetus)
12:24:07 × dtman34_ quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 250 seconds)
12:25:40 dtman34 joins (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
12:28:46 × ubert quits (~Thunderbi@178.165.161.120.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
12:34:29 stef204 joins (~stef204@user/stef204)
12:39:51 × yaroot quits (~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat)
12:40:23 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:40:43 yaroot joins (~yaroot@6.3.30.125.dy.iij4u.or.jp)
12:42:39 blades_ is now known as blades
12:42:40 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
12:42:53 MQ-17J joins (~MQ-17J@8.6.144.117)
12:44:27 cheater joins (~Username@user/cheater)
12:44:29 × xlei quits (akans@pool-68-129-84-118.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
12:46:22 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:47:18 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820) (Remote host closed the connection)
12:49:27 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
12:49:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:49:47 stiell joins (~stiell@gateway/tor-sasl/stiell)
12:52:45 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
12:52:48 <kritzefitz> If I have a `TVar (Map k v)` and many transactions only change specific keys of the Map, is it beneficial for perfomance to make it `TVar (Map k (TVar v))` instead?
12:53:57 × nsilv quits (~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1)
12:54:04 <kritzefitz> While most transactions only change the values of specific keys, some others might change the structure of the map by removing or adding keys.
12:55:29 × jneira_ quits (~jneira_@212.8.115.226) (Quit: Client closed)
12:57:17 lbseale_ joins (~lbseale@user/ep1ctetus)
12:58:18 CiaoSen joins (~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
12:58:56 × abrantesasf quits (~abrantesa@187.36.170.211) (Remote host closed the connection)
12:59:47 justsomeguy joins (~justsomeg@user/justsomeguy)
12:59:52 abrantesasf joins (~abrantesa@187.36.170.211)
13:01:22 × lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 252 seconds)
13:01:43 <kuribas> kritzefitz: probably not. TVar's aren't free.
13:02:59 <kuribas> kritzefitz: if you only have one TVar, you could use MVar as well.
13:03:13 <kuribas> That will perform better.
13:03:27 <kritzefitz> Good point.
13:04:38 <kuribas> TVars have less chance to deadlock than MVars, but at a performance cost.
13:05:25 <vaibhavsagar[m]> kritzefitz: have you seen https://hackage.haskell.org/package/stm-containers already?
13:06:19 × ArctVaulMarsHMPJ quits (~pjetcetal@2.95.44.252) (Quit: EXIT)
13:07:05 <kuribas> that seems rather unnecessary. "but also scale well on concurrent access patterns". immutable Maps are very good for concurrency, because lazy update takes almost no time.
13:07:30 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
13:07:31 <kritzefitz> I had not. It looks interesting. But I noticed that each key in my map is only worked on by one thread, so I can probably omit the map entirely.
13:07:48 <kuribas> and then lookup becomes a mutable operation.
13:08:51 × qwedfg quits (~qwedfg@user/qwedfg) (Ping timeout: 245 seconds)
13:10:17 slack1256 joins (~slack1256@45.4.2.52)
13:10:55 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Read error: Connection reset by peer)
13:10:59 qwedfg joins (~qwedfg@user/qwedfg)
13:13:37 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
13:17:57 × abrantesasf quits (~abrantesa@187.36.170.211) (Remote host closed the connection)
13:19:49 ubert joins (~Thunderbi@178.165.161.120.wireless.dyn.drei.com)
13:20:08 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 265 seconds)
13:21:06 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 265 seconds)
13:21:44 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
13:24:58 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Ping timeout: 252 seconds)
13:25:20 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
13:27:34 xlei joins (akans@pool-68-129-84-118.nycmny.fios.verizon.net)
13:28:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
13:28:49 × lbseale_ quits (~lbseale@user/ep1ctetus) (Ping timeout: 252 seconds)
13:29:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:34:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
13:35:07 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 265 seconds)
13:35:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:35:58 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 252 seconds)
13:37:01 <justsomeguy> How would you describe what a base case is? I'm struggling to come up with a good explanation of the idea.
13:37:04 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
13:38:48 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
13:39:09 __monty__ joins (~toonn@user/toonn)
13:39:21 <cigsender> justsomeguy: it's nonrecursive. so maybe just, "it's a case where the result is direct, instead of dependent on further compputation"?
13:40:37 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:40:51 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
13:40:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
13:41:17 hendursaga joins (~weechat@user/hendursaga)
13:41:54 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:43:45 <shapr> justsomeguy: when to stop? I think of washing dishes in the sink 0. If there aren't any dirty dishes, we're done 1. if there are dirty dishes, put one in the sink 2. rinse that dirty dish in clean water 3. put the rinsed dish in the rack
13:45:13 <shapr> or also matching pairs of socks out of the dryer 0. if there are zero socks, we're done 1. pick up a sock, try to find its matche 1a. if you do not find a match, put the sock in your graveyard 1b. if you find a match, put the pair in the done pile
13:47:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
13:47:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:48:44 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
13:49:10 × MQ-17J quits (~MQ-17J@8.6.144.117) (Ping timeout: 252 seconds)
13:50:05 MQ-17J joins (~MQ-17J@8.6.144.117)
13:51:55 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
13:51:59 × gaussrz quits (~gaussrz@58.247.22.226) (Quit: WeeChat 3.3)
13:52:58 × _xor quits (~xor@72.49.199.147) (Read error: Connection reset by peer)
13:53:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
13:53:31 <hippoid> :t fmap
13:53:32 <lambdabot> Functor f => (a -> b) -> f a -> f b
13:53:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:55:21 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
13:55:33 _xor joins (~xor@72.49.199.147)
13:58:37 shriekingnoise joins (~shrieking@186.137.144.80)
14:02:41 wroathe joins (~wroathe@user/wroathe)
14:05:40 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 252 seconds)
14:07:30 lavaman joins (~lavaman@98.38.249.169)
14:08:44 ArctVaulMarsHMPJ joins (~pjetcetal@2.95.44.252)
14:09:34 × CiaoSen quits (~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:10:24 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:dab6:cf7c:8c9c:e1b7) (Quit: WeeChat 2.8)
14:10:26 × jacks2 quits (~bc8165b6@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
14:10:44 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35)
14:11:21 × xsperry quits (~xs@user/xsperry) (Remote host closed the connection)
14:12:16 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
14:14:37 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
14:15:23 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35) (Ping timeout: 265 seconds)
14:15:41 <hippoid> :t (<>)
14:15:43 <lambdabot> Semigroup a => a -> a -> a
14:17:47 alzgh joins (~alzgh@user/alzgh)
14:21:32 zebrag joins (~chris@user/zebrag)
14:22:32 wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:23:05 × on^ quits (~on@wsip-70-165-23-55.mc.at.cox.net) (Remote host closed the connection)
14:24:26 visortelle joins (~visortell@37.214.28.39)
14:24:38 Sgeo joins (~Sgeo@user/sgeo)
14:25:06 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
14:25:13 xsperry joins (~xs@user/xsperry)
14:25:31 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:25:46 × visortelle quits (~visortell@37.214.28.39) (Remote host closed the connection)
14:25:56 × Sgeo quits (~Sgeo@user/sgeo) (Remote host closed the connection)
14:26:21 Sgeo joins (~Sgeo@user/sgeo)
14:26:23 visortelle joins (~visortell@37.214.28.39)
14:28:15 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Quit: leaving)
14:28:31 × visortelle quits (~visortell@37.214.28.39) (Remote host closed the connection)
14:30:30 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
14:30:38 hnOsmium0001 joins (uid453710@id-453710.hampstead.irccloud.com)
14:31:02 stiell joins (~stiell@gateway/tor-sasl/stiell)
14:32:52 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
14:32:53 × benin quits (~benin@183.82.29.30) (Ping timeout: 246 seconds)
14:34:14 <hippoid> I'm trying to do this first exercise on Typeclassopedia
14:34:14 <hippoid> Implement Functor instances for Either e and ((->) e).
14:35:26 benin joins (~benin@183.82.29.30)
14:35:34 <hippoid> I start out wiht "instance Function (Either a) where" ...
14:35:39 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
14:35:57 <hippoid> but I get a duplicate instance declaration as it's defined in 'Data.Either'
14:36:09 <hippoid> what am i doing wrong here
14:36:25 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
14:38:21 <__monty__> hippoid: Simplest solution is probably to not import Data.Either and just define your own Either type.
14:38:26 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 265 seconds)
14:39:02 <hippoid> __monty__: that makes sense. I'm not explicitly import Data.Either. I think it's coming in through prelude
14:39:03 visortelle joins (~visortell@37.214.28.39)
14:39:17 <geekosaur> yeh, was about to say that one comes fromthe Prelude
14:39:27 × EvanR quits (~evan@user/evanr) (Ping timeout: 240 seconds)
14:39:40 <geekosaur> so you may have to either define your own Functor-liuke typeclass, or use NoImplicitPrelude
14:39:56 × visortelle quits (~visortell@37.214.28.39) (Remote host closed the connection)
14:40:01 <hippoid> geekosaur: that makes sense.
14:40:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
14:41:24 o1lo01ol_ joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
14:41:39 <__monty__> Maybe the wiki could be updated with some info about how to reproduce it for yourself?
14:43:47 <hippoid> or a note that you're going to run into this problem if you do it right
14:43:55 dsrt^ joins (~dsrt@wsip-70-165-23-55.mc.at.cox.net)
14:45:19 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820) (Ping timeout: 252 seconds)
14:46:25 × wroathe_ quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
14:46:55 × benin quits (~benin@183.82.29.30) (Ping timeout: 252 seconds)
14:47:08 × 029AAIVLU quits (~acidjnk@pd9e0b933.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
14:47:48 rekahsoft joins (~rekahsoft@52.129.35.150)
14:49:58 × rekahsoft quits (~rekahsoft@52.129.35.150) (Remote host closed the connection)
14:50:35 rekahsoft joins (~rekahsoft@52.129.35.150)
14:55:57 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35)
14:57:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:57:37 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
14:57:37 wroathe joins (~wroathe@user/wroathe)
15:02:19 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
15:02:43 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
15:02:43 × alzgh quits (~alzgh@user/alzgh) (Ping timeout: 256 seconds)
15:03:46 mei6 joins (~mei@user/mei)
15:04:05 img joins (~img@user/img)
15:04:30 × DNH quits (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:05:30 × Farzad quits (~FarzadBek@178.131.31.129) (Ping timeout: 265 seconds)
15:05:52 benin joins (~benin@183.82.29.30)
15:06:41 jakalx parts (~jakalx@base.jakalx.net) ()
15:08:22 alzgh joins (~alzgh@user/alzgh)
15:09:16 × haveo quits (~haveo@sl35.iuwt.fr) (Quit: leaving)
15:09:22 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35) (Remote host closed the connection)
15:09:26 haveo joins (~haveo@sl35.iuwt.fr)
15:11:07 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 252 seconds)
15:11:09 gaff joins (~gaff@49.207.217.147)
15:12:13 × xiongxin quits (~quassel@113.116.224.79) (Ping timeout: 252 seconds)
15:13:04 xiongxin joins (~quassel@113.116.224.79)
15:13:42 <gaff> I am using GHC 8.10.4, and in GHCi, `Ratio` is defined as `data Ratio a = !a GHC.Real.:% !a`. what is `GHC.Real` in this constructor?
15:14:21 × fendor quits (~fendor@178.115.40.84.wireless.dyn.drei.com) (Remote host closed the connection)
15:15:19 jakalx joins (~jakalx@base.jakalx.net)
15:15:27 <geekosaur> it's an internal module
15:15:50 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/libraries/base-4.15.0.0/GHC-Real.html
15:15:59 max22- joins (~maxime@2a01cb08833598002f94a8658ae72434.ipv6.abo.wanadoo.fr)
15:16:14 <geekosaur> basically, the :% constructor is not exported, so ghci shows its full name
15:16:16 <gaff> yeah, i know. but i am wondering about the syntax in the constructor
15:16:24 <gaff> ah ok
15:16:40 <gaff> ok, got it
15:16:57 justsomeguy joins (~justsomeg@user/justsomeguy)
15:17:05 <geekosaur> % is not actually a constructor, it's an operator which reduces the ratio to lowest terms before feeding it to :%
15:17:05 <yahb> geekosaur: ; <interactive>:45:30: error: parse error on input `,'
15:17:16 <geekosaur> bah
15:17:25 <geekosaur> shaddap stupid bit :þ
15:17:29 <geekosaur> *bot
15:18:01 <geekosaur> anyway we call that a "smart constructor"
15:19:04 <geekosaur> you'll find those in a few other places, for example Data.Map.fromList sorts and uniquifies the list before constructing the Map so it obeys the internal constraints on the Map's structure
15:20:34 <geekosaur> as for the colon, operators don't have uppercase so a constructor operator always starts with a colon
15:20:54 <geekosaur> this basically borrows from list syntax where : is a constructor operator
15:20:56 × rekahsoft quits (~rekahsoft@52.129.35.150) (Remote host closed the connection)
15:21:40 rekahsoft joins (~rekahsoft@52.129.35.150)
15:23:00 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
15:23:11 <gaff> sure, thanks. also, fromRational :: Fractional a => Rational -> a, but this works: fromRational 8.987678. how come?
15:25:12 <maralorn> Huh, yesterday. I asked about how to represent my "tree" in a config file. I decided to use json. Now my implementation is finished. I am really satisfied. But aeson throws away the order of leaves in my json. ☹️
15:25:37 × Franciman quits (~Franciman@mx1.fracta.dev) (Remote host closed the connection)
15:25:51 \dev\ice joins (~benner@2a01:4f8:1c1c:2178::1)
15:26:37 <geekosaur> because a Fractional literal is represented as a Rational when compiled
15:27:05 <gaff> geekosaur: ok, as a ratio of two Integers?
15:27:08 <geekosaur> it won't work for a variable, just for a literal
15:27:09 <geekosaur> yes
15:27:22 CiaoSen joins (~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
15:27:36 <gaff> geekosaur: but surely you would lose some precision, won't you, if you do that?
15:27:44 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
15:27:59 <geekosaur> nope, it can always represent exactly what you entered as a Rational
15:28:11 azimut joins (~azimut@gateway/tor-sasl/azimut)
15:28:16 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
15:28:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:28:21 <geekosaur> because you can't enter a literal irrational number, only a rational approximation of it
15:28:35 zmt00 joins (~zmt00@user/zmt00)
15:28:46 <gaff> geekosaur: so that comes from math ... you can represent any fractional as a ratio of two integers?
15:29:02 <gaff> geekosaur: oh ok
15:29:09 <geekosaur> you could enter an expression which computes an irrational, but then fromRational would fail because it's not operating on a literal any more
15:29:42 × xiongxin quits (~quassel@113.116.224.79) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
15:30:00 <geekosaur> 8.987678 is 8987678 % 10000000
15:30:17 <geekosaur> sorry knock one of those zeroes off
15:30:28 <gaff> geekosaur: and any rational approximation of an irrational number you can represent as a ratio of two integers, i suppose.
15:30:39 <gaff> geekosaur: ah got it
15:30:47 <geekosaur> that;s what "rational" means
15:30:53 <gaff> ok
15:30:59 <gaff> geekosaur: thanks much
15:31:05 <geekosaur> it's alwaysy a ratio of two integers
15:31:24 Franciman joins (~Franciman@mx1.fracta.dev)
15:32:32 RunRun joins (RunRun@c-24-127-7-249.hsd1.mi.comcast.net)
15:32:44 <RunRun> Hello Helo
15:32:52 gaff parts (~gaff@49.207.217.147) (Leaving...)
15:33:26 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 245 seconds)
15:35:34 RunRun parts (RunRun@c-24-127-7-249.hsd1.mi.comcast.net) ()
15:35:41 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
15:36:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
15:37:20 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
15:40:20 gaff joins (~gaff@49.207.217.147)
15:40:24 visortelle joins (~visortell@37.214.28.39)
15:40:29 × gaff quits (~gaff@49.207.217.147) (Client Quit)
15:40:53 × visortelle quits (~visortell@37.214.28.39) (Remote host closed the connection)
15:42:28 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 252 seconds)
15:43:59 Farzad joins (~FarzadBek@37.49.148.79)
15:46:26 lavaman joins (~lavaman@98.38.249.169)
15:50:36 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
15:51:58 × mestre quits (~mestre@191.177.175.57) (Quit: Lost terminal)
15:54:48 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
15:55:06 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 245 seconds)
15:55:34 <__monty__> maralorn: JSON imposes no order on objects. You'd have to use lists or add identifiers that can be used to restore the order later.
15:55:40 gehmehgeh joins (~user@user/gehmehgeh)
15:55:49 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35)
15:56:21 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Ping timeout: 245 seconds)
15:58:32 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
15:58:46 lbseale joins (~lbseale@user/ep1ctetus)
16:00:25 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
16:01:14 <maralorn> __monty__: Yeah, I know that now.
16:01:32 <maralorn> I actually probably already knew it. But I conveniently forgot.^^
16:02:52 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 252 seconds)
16:03:19 <monochrom> > toRational pi -- >:)
16:03:21 <lambdabot> 884279719003555 % 281474976710656
16:06:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:08:12 DNH joins (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2)
16:09:31 dextaa6 joins (~DV@user/dextaa)
16:10:56 × dextaa quits (~DV@user/dextaa) (Ping timeout: 245 seconds)
16:10:56 dextaa6 is now known as dextaa
16:11:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
16:14:10 FarzadBekran_ joins (~FarzadBek@37.49.148.79)
16:14:20 econo joins (uid147250@user/econo)
16:15:53 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
16:16:46 × Farzad quits (~FarzadBek@37.49.148.79) (Ping timeout: 245 seconds)
16:16:47 twitu joins (~twitu@122.163.88.222)
16:16:55 gaussrz joins (~gaussrz@59.78.13.186)
16:21:29 <dminuoso> monochrom: Squaring the circle, finally.
16:21:59 <dminuoso> Given that there were proofs of its impossibility, Id say you have unraveled an inconsistency in mathematics. Let's call it the trebla paradox.
16:23:43 × MQ-17J quits (~MQ-17J@8.6.144.117) (Read error: Connection reset by peer)
16:23:51 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 245 seconds)
16:24:00 × CiaoSen quits (~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:24:35 CiaoSen joins (~Jura@p5dcc1303.dip0.t-ipconnect.de)
16:25:55 × FarzadBekran_ quits (~FarzadBek@37.49.148.79) (Ping timeout: 252 seconds)
16:29:06 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
16:29:51 × rekahsoft quits (~rekahsoft@52.129.35.150) (Remote host closed the connection)
16:30:27 rekahsoft joins (~rekahsoft@52.129.35.150)
16:30:39 × gaussrz quits (~gaussrz@59.78.13.186) (Quit: #haskell)
16:32:25 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35) (Remote host closed the connection)
16:36:38 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
16:36:43 <tomsmeding_> > take 5 $ fix(\s(w:a)g->let d@(e:_)=dropWhile(on(>) denominator w)g in w/e:s a d)(map(9801/2/)(scanl1(+)[fromInteger(product[1..4*k]*(1103+26390*k))/fromInteger(product[1..k]^4*396^(4*k))|k<-[0..]]))(iterate(\x->(x+2/x)/2)1)
16:36:45 <lambdabot> [2307312216 % 734440271,5583528839414195121176657929876644864 % 177729242937...
16:36:56 fizzsegfaultbuzz joins (~segfaultf@135-180-0-138.static.sonic.net)
16:37:03 <tomsmeding_> TIL lambdabot has a difference in truncation behaviour between personal chat and #haskell
16:37:25 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 260 seconds)
16:38:26 <tomsmeding_> > map ((1.0*) . realToFrac) $ fix(\s(w:a)g->let d@(e:_)=dropWhile(on(>) denominator w)g in w/e:s a d)(map(9801/2/)(scanl1(+)[fromInteger(product[1..4*k]*(1103+26390*k))/fromInteger(product[1..k]^4*396^(4*k))|k<-[0..]]))(iterate(\x->(x+2/x)/2)1)
16:38:28 <lambdabot> [3.1415927300097626,3.141592653589794,3.141592653589793,3.141592653589793,3....
16:38:43 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
16:39:00 tomsmeding_ is now known as tomsmeding
16:41:19 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 252 seconds)
16:47:24 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:47:45 <geekosaur> yep
16:48:51 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
16:49:41 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35)
16:50:29 cfricke joins (~cfricke@user/cfricke)
16:50:29 × azeem quits (~azeem@emp-85-170.eduroam.uu.se) (Read error: Connection reset by peer)
16:51:10 azeem joins (~azeem@emp-85-170.eduroam.uu.se)
16:53:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:53:45 × benin quits (~benin@183.82.29.30) (Read error: Connection reset by peer)
16:53:58 <monochrom> dminuoso: https://xkcd.com/816/ :)
16:55:42 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
16:56:48 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 268 seconds)
17:00:01 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 252 seconds)
17:01:12 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
17:03:15 saolsen joins (sid26430@lymington.irccloud.com)
17:03:55 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
17:05:31 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 245 seconds)
17:06:04 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
17:08:07 × CiaoSen quits (~Jura@p5dcc1303.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
17:10:15 waleee joins (~waleee@h-98-128-228-119.na.cust.bahnhof.se)
17:12:07 × azeem quits (~azeem@emp-85-170.eduroam.uu.se) (Ping timeout: 252 seconds)
17:12:07 hyiltiz joins (~quassel@31.220.5.250)
17:12:51 azeem joins (~azeem@2a00:801:238:8585:a976:a6c:e179:1344)
17:16:15 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
17:19:17 × twitu quits (~twitu@122.163.88.222) (Ping timeout: 256 seconds)
17:20:31 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 245 seconds)
17:24:56 visortelle joins (~visortell@37.214.28.39)
17:26:13 × visortelle quits (~visortell@37.214.28.39) (Remote host closed the connection)
17:27:00 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 276 seconds)
17:27:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
17:27:53 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
17:28:09 gehmehgeh joins (~user@user/gehmehgeh)
17:29:23 Sgeo_ joins (~Sgeo@user/sgeo)
17:29:34 twitu joins (~twitu@122.163.88.222)
17:30:19 × o1lo01ol_ quits (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820) (Ping timeout: 252 seconds)
17:30:31 × DNH quits (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:31:25 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
17:31:27 Sgeo__ joins (~Sgeo@user/sgeo)
17:31:53 × twitu quits (~twitu@122.163.88.222) (Client Quit)
17:33:45 jgeerds joins (~jgeerds@55d4da80.access.ecotel.net)
17:34:07 × Sgeo_ quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
17:34:20 <shapr> I still wish hoogle could search for typeclass instances
17:42:20 × Natch quits (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection)
17:43:34 emf joins (~emf@2620:10d:c090:400::5:c416)
17:44:36 awpr joins (uid446117@id-446117.lymington.irccloud.com)
17:48:18 ec joins (~ec@gateway/tor-sasl/ec)
17:49:00 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
17:49:39 emf_ joins (~emf@2620:10d:c090:400::5:c416)
17:51:13 <cigsender> shapr: something in particular you're looking for?
17:51:46 × emf quits (~emf@2620:10d:c090:400::5:c416) (Ping timeout: 245 seconds)
17:53:22 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 252 seconds)
17:53:55 × mbuf quits (~Shakthi@122.178.210.71) (Quit: Leaving)
17:54:34 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
17:55:03 Axma53541 joins (~Axman6@user/axman6)
17:56:18 <shapr> cigsender: yeah, I followed this post https://stackoverflow.com/questions/32975116/how-to-search-for-typeclass-instances-on-hoogle
17:56:59 <shapr> I was looking for an Arbitrary instance for ByteString, because we're converting our cryptohash code to cryptonite
17:57:27 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 260 seconds)
17:58:51 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 245 seconds)
17:59:42 DNH joins (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2)
18:00:06 × arjun quits (~user@103.57.87.77) (Remote host closed the connection)
18:01:11 <cads> kuribas, if we have a monadic instance of MonadIO / LiftIO, can't we sort of yell loudly to /forget/ that we're dealing with a monad? And doing this forgetful thing, can't we derive a "for free" applicative version?
18:01:27 <cigsender> shapr: looks like cryptonite defines its own instance Arbitrary ByteString
18:02:19 <shapr> oh, didn't see that
18:02:54 <cads> kuribas, I don't know precisely why, but I feel like there is a forgetful functor from the category of monadic functors to the category of applicative functors
18:03:11 <cigsender> shapr: it's in a test module though: https://github.com/haskell-crypto/cryptonite/blob/master/tests/Hash.hs
18:04:55 <shapr> thanks for pointing that out, didn't know about it.
18:05:54 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
18:06:04 alzgh joins (~alzgh@user/alzgh)
18:06:50 hexfive joins (~eric@50.35.83.177)
18:07:36 <cads> kuribas, this is in regards to your question "Is there liftIO for applicatives?"
18:08:22 × hexfive quits (~eric@50.35.83.177) (Client Quit)
18:08:51 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 245 seconds)
18:12:41 <cads> Like, say F is the forgetful functor from from Monad to Applicative. Can F translate liftIO for applicatives that we "forget" from monads?
18:12:42 hippoid joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
18:13:10 <cads> it seems like this approach does not help us for those applicative that are not also monads.
18:23:04 <monochrom> https://github.com/treblacy/cabalgc \∩/
18:24:16 <[exa]> this is some high quality material
18:25:20 × max22- quits (~maxime@2a01cb08833598002f94a8658ae72434.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
18:32:15 × NieDzejkob quits (~quassel@212.87.13.106) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
18:32:42 <cads> hrm, it's not immediately obvious that I should be able to take an ordinary monad and derive from it an applicative (a lax functor and a tensorial strength). There is a slight impedance mismatch.
18:37:53 × jgeerds quits (~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 264 seconds)
18:41:56 Guest|15 joins (~Guest|15@46.248.69.125)
18:44:05 Farzad joins (~FarzadBek@37.49.148.79)
18:44:05 × Farzad quits (~FarzadBek@37.49.148.79) (Client Quit)
18:45:07 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820) (Remote host closed the connection)
18:48:07 <tomsmeding> cads: you probably already know this, but with Haskell's concept of Applicative and Monad, you of course can: pure = return; (<*>) = ap
18:49:40 <cads> I don't know that - I have not worked with haskell in a decade, lol
18:49:53 <tomsmeding> @src ap
18:49:53 <lambdabot> ap = liftM2 id
18:49:58 <tomsmeding> lol that's not helpful
18:50:03 <cads> I will verify what you say
18:50:29 <tomsmeding> https://hackage.haskell.org/package/base-4.15.0.0/docs/src/GHC-Base.html#ap
18:50:35 <monochrom> It really means liftM2 ($)
18:51:03 <monochrom> And you could use liftM2 for liftA2, too.
18:51:48 <shapr> cads: want a job?
18:51:50 <tomsmeding> :t (. ((. (return .)) . (>>=))) . (>>=)
18:51:52 <lambdabot> Monad m => m (a1 -> a2) -> m a1 -> m a2
18:52:15 × drdo quits (~drdo@overlord0.drdo.eu) (Quit: ...)
18:52:23 <monochrom> hahaha
18:52:27 <cigsender> :D
18:52:35 <tomsmeding> "pointfree!"
18:53:06 drdo joins (~drdo@overlord0.drdo.eu)
18:53:44 <monochrom> @quote monochrom 17-ary
18:53:44 <lambdabot> monochrom says: I am 17-ary, going on 18-ary, I can take curry of you
18:54:08 <tomsmeding> you mean I can cook for you?
18:54:33 <monochrom> Naw, it was referring to id being 17-ary and can be 18-ary too.
18:54:34 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
18:54:56 <monochrom> And currying plays a role.
18:55:52 <monochrom> And one of the songs in The Sound of Music.
18:56:10 <tomsmeding> very important role, that one
18:56:31 <tomsmeding> a nominal one, I think
19:05:19 tom_ joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
19:06:45 <hippoid> How do I increase the number of tests QuickCheck runs? Google and SO is failing me.
19:07:30 <tomsmeding> hippoid: quickCheckWith stdArgs { maxSuccess = 9999 } ?
19:07:36 × Guest7926 quits (~tom@2a00:23c8:970c:4801:69d2:4473:99ea:fb45) (Ping timeout: 245 seconds)
19:07:39 <cigsender> hippoid: withMaxSuccess?
19:07:58 <tomsmeding> ah
19:08:28 <hippoid> tomsmeding: yes, thanks!
19:08:32 <tomsmeding> (note that Tasty has a different thing for this)
19:09:59 max22- joins (~maxime@2a01cb0883359800e21c21519a7e8938.ipv6.abo.wanadoo.fr)
19:10:59 × mei6 quits (~mei@user/mei) (Read error: Connection reset by peer)
19:16:39 aegon joins (~mike@174.127.249.180)
19:19:18 <hippoid> :t ->
19:19:19 <lambdabot> error: parse error on input ‘->’
19:19:22 <hippoid> :t (->)
19:19:23 <lambdabot> error: parse error on input ‘->’
19:19:30 <tomsmeding> :k (->)
19:19:31 <lambdabot> * -> * -> *
19:20:08 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
19:22:45 × cigsender quits (~cigsender@74.124.58.162) (Quit: #irssi)
19:23:02 cigsender joins (~cigsender@74.124.58.162)
19:23:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:24:17 × DNH quits (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:24:21 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
19:25:15 hippoid_ joins (~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
19:25:26 <hippoid_> I'm trying to understand this Functorz definition of (Either a). The 'kind' of Either is *->*->*, but on line 4 I only have to provide one type variable, a. Why don't I have to provide a second type variable, like (Either a, b)? https://paste.tomsmeding.com/VGGwMBV6
19:25:49 <tomsmeding> :k Functor
19:25:50 <monochrom> Because a Functor instance has kind * -> *
19:25:50 <lambdabot> (* -> *) -> Constraint
19:25:56 <tomsmeding> :k Either a
19:25:58 <lambdabot> error: Not in scope: type variable ‘a’
19:26:00 <tomsmeding> :k Either Int
19:26:01 <lambdabot> * -> *
19:26:17 <monochrom> You don't say "instance Functor (Maybe a)", you say "instance Functor Maybe".
19:26:23 pavonia joins (~user@user/siracusa)
19:26:35 <geekosaur> you can think of this as meaning you have no controil nor access to the other type variable; your definition has to work for any type the user chooses for the other type variable
19:26:35 <monochrom> For the same reason it is not going to be "instance Functor (Either x y)"
19:27:01 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds)
19:27:12 <hippoid_> I have to ponder this, I think I might get it. Also the 'a' is not used at all, so it's just there to satisfy the kind signature?
19:27:25 <tomsmeding> you could imagine that you should be able to write something like "instance Functor (\y -> Either x y)", but you can't write type-level lambdas in Haskell
19:27:43 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35) (Remote host closed the connection)
19:27:51 <monochrom> It is used. Write out the type of fmap for Either a.
19:27:51 <tomsmeding> hippoid_: you're now defining a Functor instance for 'Either a' for all values of 'a'
19:28:04 <cigsender> it means that for any type `a`, (Either a) is a Functor, i.e. you can fmap :: (x -> y) -> Either a x -> Either a y
19:28:37 <tomsmeding> you could also have created an instance just for 'Either Int', for example
19:29:27 <monochrom> And by the time you write "fmap f (Left x) = Left x", and ask yourself what's the type of x, the answer is a.
19:29:50 <monochrom> All these are pointing towards more writing code and less armchair philosophizing.
19:30:26 <shapr> yeah, I need to do that
19:32:37 nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263)
19:33:37 × nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Client Quit)
19:33:50 nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263)
19:35:19 <kuribas> :t concatMap sequence
19:35:20 <lambdabot> (Traversable t1, Foldable t2) => t2 (t1 [a]) -> [t1 a]
19:35:26 Sgeo joins (~Sgeo@user/sgeo)
19:35:44 <hippoid_> ok get it, at least more than I did before. Functor can vary on one type, while Either varies on two, so to match the kind of Either to Functor, one type must be held constant. Apologies for all the wrong terminology
19:38:13 LiaoTao_ is now known as LiaoTao
19:38:24 <tomsmeding> hippoid_: that's actually not a bad way to put it I think, even if it's not the standard way of speaking
19:38:29 × Sgeo__ quits (~Sgeo@user/sgeo) (Ping timeout: 264 seconds)
19:38:59 <tomsmeding> the thing that's missing in your description is that the "varying" type must be the _last_ one in the list of type variables of the type that you're implementing Functor for
19:39:15 <shapr> speaking of which, I was trying to find a type level flip recently
19:39:25 <tomsmeding> you can't without a newtype, right?
19:40:15 <shapr> I found a reddit post that linked to a bifunctor ... ok, I'll go find it
19:40:27 <monochrom> A type alias and FlexibleSomething can get you some distance but not all.
19:40:41 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ac5a:4bd6:3f7c:fb35)
19:41:24 <tomsmeding> monochrom: won't you run into the fact that you can't partially apply a type synonym?
19:41:28 <geekosaur> I thought Control.Category defined Flip
19:41:43 <monochrom> Ah.
19:42:12 <tomsmeding> geekosaur: this thing? https://hackage.haskell.org/package/bifunctors-5.5.11/docs/Data-Bifunctor-Flip.html#t:Flip
19:42:28 ub joins (~Thunderbi@178.165.161.120.wireless.dyn.drei.com)
19:42:46 <geekosaur> yeh, that was what I was thinking of. C.Category turns out to be very minimal, sorry
19:42:51 <shapr> oh yeah, this was it https://www.reddit.com/r/haskellquestions/comments/pxy6tz/like_flip_but_with_types/
19:43:20 <shapr> one of the comments mentioned Data.Bifunctor.Flip, which I haven't tried yet
19:43:43 <tomsmeding> that looks to be literally the same type as the one in OP
19:43:49 <tomsmeding> with a different record field name
19:43:54 <shapr> I was trying to specify the types to cryptonite's Crypto.Hash.hash and I was using @_ and @ByteString and wondered if there was a flip
19:44:08 coot joins (~coot@37.30.52.44.nat.umts.dynamic.t-mobile.pl)
19:44:17 <geekosaur> probably not for that
19:44:23 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 265 seconds)
19:44:40 <geekosaur> this is one of the recurring issues with TypeApplications
19:44:54 × nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3)
19:45:03 <awpr> that might actually be a good use for the type alias version
19:45:04 <geekosaur> well, that and a reasonably small (and non-PVP-reflected) change can break all your type applications
19:45:09 nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263)
19:45:31 <awpr> actually not so much, you'd still have to write extra _s
19:45:34 <dolio> That's another thing that would just work if type applications were sugar for proxy arguments. :þ
19:45:51 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
19:46:06 Sgeo joins (~Sgeo@user/sgeo)
19:46:16 <awpr> as in, value-level flip would then capture the type parameters?
19:46:24 <hippoid_> doing this helped cement the idea... though not sure if it's a valid functor https://paste.tomsmeding.com/bbPLfG5b
19:46:24 <monochrom> Haha nice
19:46:28 <dolio> Yeah.
19:46:49 Pickchea joins (~private@user/pickchea)
19:46:53 <monochrom> It is a valid functor.
19:47:11 <tomsmeding> hippoid_: that's a great example, going to steal that
19:47:18 <hippoid_> please do
19:48:35 × nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Client Quit)
19:48:48 nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263)
19:51:05 × xff0x quits (~xff0x@2001:1a81:53d3:ff00:3e1e:c821:8716:28f6) (Ping timeout: 260 seconds)
19:51:51 xff0x joins (~xff0x@2001:1a81:53d3:ff00:1ad7:b60d:185b:4b6b)
19:52:29 × ubert quits (~Thunderbi@178.165.161.120.wireless.dyn.drei.com) (Remote host closed the connection)
19:52:30 ub is now known as ubert
19:56:15 cfricke joins (~cfricke@user/cfricke)
19:58:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
19:58:30 dsp joins (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net)
20:02:08 × nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3)
20:03:27 × ph88 quits (~ph88@2a02:8109:9e00:7e5c::3d56) (Ping timeout: 240 seconds)
20:05:10 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 265 seconds)
20:07:15 juhp joins (~juhp@128.106.188.220)
20:07:31 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:09:06 <sm> hi glguy, Is there any complete example of reading and writing a config file with config-value ?
20:09:13 × kuribas quits (~user@2a02:1810:481b:1200:fc72:85c4:4606:568a) (Quit: ERC (IRC client for Emacs 26.3))
20:09:24 ph88 joins (~ph88@2a02:8109:9e00:7e5c::3d56)
20:10:20 × slack1256 quits (~slack1256@45.4.2.52) (Ping timeout: 260 seconds)
20:12:09 sm figures it out
20:15:42 <sm> in my mind, at least. We shall see.
20:17:09 × ph88 quits (~ph88@2a02:8109:9e00:7e5c::3d56) (Remote host closed the connection)
20:18:14 × dsrt^ quits (~dsrt@wsip-70-165-23-55.mc.at.cox.net) (Ping timeout: 265 seconds)
20:18:31 CiaoSen joins (~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
20:19:57 zebrag joins (~chris@user/zebrag)
20:21:07 × hippoid quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Quit: leaving)
20:21:07 × hippoid_ quits (~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Quit: leaving)
20:21:42 dsrt^ joins (~dsrt@wsip-70-165-23-55.mc.at.cox.net)
20:21:48 <ghoulguy> sm: hi
20:22:33 ph88 joins (~ph88@2a02:8109:9e00:7e5c::3d56)
20:23:14 <ghoulguy> sm: the first real-world, public examples that come to mind can be found in https://github.com/glguy/irc-core/blob/v2/src/Client/Configuration/Colors.hs and other modules in this directory
20:23:39 × ph88 quits (~ph88@2a02:8109:9e00:7e5c::3d56) (Remote host closed the connection)
20:24:11 ph88 joins (~ph88@2a02:8109:9e00:7e5c::3d56)
20:25:41 hippoid joins (~idris@184.105.6.88)
20:26:40 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 260 seconds)
20:28:25 <shapr> sm: I use config-value and config-schema in flm: https://github.com/shapr/fermatslastmargin/blob/master/src/Lib.hs#L412
20:28:51 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
20:28:55 <sm> thanks ghoulguy , shapr!
20:31:25 × dsrt^ quits (~dsrt@wsip-70-165-23-55.mc.at.cox.net) (Remote host closed the connection)
20:34:27 acidjnk_new joins (~acidjnk@p200300d0c703cb80045a72a6c330f226.dip0.t-ipconnect.de)
20:46:08 lavaman joins (~lavaman@98.38.249.169)
20:46:14 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.3)
20:48:03 × jtomas_ quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
20:50:31 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
20:54:07 × motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit)
20:55:44 jtomas_ joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
20:59:12 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Quit: Lost terminal)
20:59:39 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
21:05:22 × dsp quits (~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Ping timeout: 252 seconds)
21:06:04 DNH joins (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2)
21:10:52 × zer0bitz quits (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Ping timeout: 252 seconds)
21:11:19 × ph88 quits (~ph88@2a02:8109:9e00:7e5c::3d56) (Remote host closed the connection)
21:12:29 ph88 joins (~ph88@2a02:8109:9e00:7e5c::3d56)
21:14:01 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:14:01 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
21:14:01 wroathe joins (~wroathe@user/wroathe)
21:18:26 × statusbot quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection)
21:18:28 <monochrom> Ah, System.Directory.getAppUserDataDirectory is the one I should use that unifies over unix $HOME/.cabal and windows %APPDATA%\cabal
21:18:41 statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
21:19:15 <monochrom> But maerwald is right, just use cabal-install-parsers (which calls that) and be done with it.
21:22:05 × DNH quits (~DNH@2a02:8108:1100:16d8:90d3:5ed9:9947:2fe2) (Ping timeout: 260 seconds)
21:24:16 <maerwald> monochrom: it's even more complicated... there's also CABAL_DIR and CABAL_CONFIG and then a store-dir setting in said config
21:24:28 <monochrom> Yeah.
21:24:35 <maerwald> you could be setting all 3 :D
21:25:21 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
21:25:26 <monochrom> Next version!
21:25:52 <monochrom> Err, I mean I procrastinate but it will be done in the next version.
21:25:54 <maerwald> there's an issue about removing CABAL_DIR at least, but I find it's kinda convenient
21:26:07 <monochrom> I'm just surprised that some packages don't have the "depends" field...
21:26:29 <maerwald> monochrom: `fail`
21:26:41 <maerwald> https://hackage.haskell.org/package/fail
21:26:45 <maerwald> it's just base, which isn't in there
21:27:05 <maerwald> not sure why
21:27:16 <maerwald> https://hackage.haskell.org/package/fail-4.9.0.0/fail.cabal
21:27:49 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
21:28:02 <maerwald> right, so empty depends is indeed valid
21:30:09 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:31:15 <monochrom> Yikes, a package that builds to no code whatsoever. Not even a library-dirs field...
21:31:40 <monochrom> Damn stupid degenerate corner cases.
21:31:54 <maerwald> and it's a popular package
21:32:00 <maerwald> 108682 downloads
21:32:42 <hpc> a true follower of the codeless code :D
21:33:45 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Remote host closed the connection)
21:34:03 <hpc> there's always going to be some package with empty dependencies, btw
21:34:08 <hpc> unless we allow circular dependencies
21:34:17 <hpc> something has to be at the root of the DAG
21:34:49 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
21:35:55 <maerwald> it seems people call `fail` way too often
21:36:20 <maerwald> why can't we have something nice at the root
21:40:53 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:43:09 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Ping timeout: 268 seconds)
21:52:14 MQ-17J joins (~MQ-17J@8.6.144.117)
21:53:13 × jtomas_ quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
21:54:10 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
21:58:50 × ArctVaulMarsHMPJ quits (~pjetcetal@2.95.44.252) (Quit: EXIT)
21:59:37 × michalz quits (~michalz@185.246.204.73) (Remote host closed the connection)
21:59:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:02:51 × coot quits (~coot@37.30.52.44.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
22:08:01 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
22:08:52 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
22:10:35 cheater joins (~Username@user/cheater)
22:13:31 × ubert quits (~Thunderbi@178.165.161.120.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
22:13:47 mestre joins (~mestre@191.177.175.57)
22:15:11 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
22:19:22 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:19:22 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
22:19:22 wroathe joins (~wroathe@user/wroathe)
22:21:09 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:21:49 × MQ-17J quits (~MQ-17J@8.6.144.117) (Ping timeout: 252 seconds)
22:23:58 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
22:25:26 × aku quits (~aku@eagleflow.fi) (Remote host closed the connection)
22:26:00 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
22:27:33 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:28:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
22:28:37 ec joins (~ec@gateway/tor-sasl/ec)
22:31:11 <koz> What is the correct wrapper for Maybe such that <> two Nothings gives a Nothing, Just beats nothing, and first Just wins?
22:31:26 <koz> (this is for 8.10's base in case it matters)
22:33:11 <Hecate> koz: with a rapid test in ghci, I think Alternative does what you want
22:33:21 <Hecate> % Nothing <|> Nothing
22:33:22 <yahb> Hecate: Nothing
22:33:24 ArctVaulMarsHMPJ joins (~pjetcetal@2.95.44.252)
22:33:31 <Hecate> % Nothing <|> Just 3
22:33:31 <yahb> Hecate: Just 3
22:33:35 <Hecate> % Just 1 <|> Just 3
22:33:36 <yahb> Hecate: Just 1
22:33:58 <koz> So I need a wrapper which just translates 'mempty = empty' and '(<>) = (<|>)'.
22:34:16 <koz> Alt I think?
22:34:23 <Hecate> koz: sounds like it yeah, if you have no choice but to use (<>)
22:34:26 <c_wraith> You want either (Data.Monoid.First a) or Maybe (Data.Semigroup.First a)
22:34:27 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
22:34:52 <koz> c_wraith: I don't think First (Maybe a) does what I want here.
22:34:54 <Hecate> koz: oh, Alt gives an interesting vibe. What do you think c_wraith ?
22:35:13 <c_wraith> the former has been around longer, the latter is cleaner
22:35:13 × o1lo01ol1o quits (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820) (Read error: Connection reset by peer)
22:35:31 × Guest|15 quits (~Guest|15@46.248.69.125) (Ping timeout: 245 seconds)
22:35:36 <c_wraith> koz: Maybe (First a), not First (Maybe a)
22:35:40 <koz> Ah.
22:35:49 <koz> Would Alt Maybe a work?
22:35:57 <koz> (even if it's 'too strong')
22:36:02 × drdo quits (~drdo@overlord0.drdo.eu) (Quit: ...)
22:36:07 <c_wraith> yes, it's just less idiomatic
22:36:38 drdo joins (~drdo@overlord0.drdo.eu)
22:38:06 o1lo01ol1o joins (~o1lo01ol1@2001:8a0:6d7a:df01:74db:7502:a3aa:3820)
22:39:30 <koz> Also, is there a version of Last that wraps an 'a' (as opposed to a 'Maybe a'), but which isn't a Monoid?
22:40:01 <koz> Ah lol, imported from wrong place.
22:41:29 × Ram-Z_ quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 264 seconds)
22:41:43 <c_wraith> yes, those are the Data.Semigroup ones, rather than the Data.Monoid ones.
22:41:49 <c_wraith> that name collision is a bit a problem
22:42:05 <c_wraith> +of
22:42:30 Ram-Z joins (~Ram-Z@li1814-254.members.linode.com)
22:42:37 <koz> Firster and Laster, lol.
22:44:13 [Kalisto] joins (~nico@user/kalisto/x-8968079)
22:44:31 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
22:47:35 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
22:50:11 Psybur joins (~Psybur@mobile-166-170-32-197.mycingular.net)
22:52:38 pierrot_ is now known as pierrot
22:52:54 pierrot is now known as info
22:53:17 info is now known as pierrot
22:55:31 × CiaoSen quits (~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
22:58:49 tdaeayusr^ joins (~tdaeayusr@70.166.66.234)
23:00:24 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
23:00:58 azimut joins (~azimut@gateway/tor-sasl/azimut)
23:04:47 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
23:06:39 geekosaur joins (~geekosaur@xmonad/geekosaur)
23:07:41 jollygood2 joins (~bc8165b6@217.29.117.252)
23:08:07 <jollygood2> hi. what xml reader is usually recommended? I found several on hackage
23:10:10 tired joins (~tired@user/tired)
23:10:40 <Axma53541> might depend what you want to do. I usually start by searching hackage and sorting by downloads to get a rough idea of at least what's being used
23:11:05 <dsal> jollygood2: it doesn't come up much. Heh. Depends on what you're doing, though. I used xeno last time I needed to do XML
23:13:17 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
23:13:27 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
23:13:29 <jollygood2> I just wanted to read someone elses xml file. ist is pretty basic, and not too large, about 200 kB
23:13:47 × max22- quits (~maxime@2a01cb0883359800e21c21519a7e8938.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
23:14:31 <jollygood2> so I'd take simplicity and ease of use over, say, performance
23:15:39 × acidjnk_new quits (~acidjnk@p200300d0c703cb80045a72a6c330f226.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
23:18:25 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
23:18:38 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
23:28:01 × xff0x quits (~xff0x@2001:1a81:53d3:ff00:1ad7:b60d:185b:4b6b) (Ping timeout: 245 seconds)
23:29:02 xff0x joins (~xff0x@2001:1a81:53d3:ff00:5c0b:f69b:2ab5:cb4c)
23:29:02 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
23:30:27 × emf_ quits (~emf@2620:10d:c090:400::5:c416) (Quit: emf_)
23:31:28 emf joins (~emf@2620:10d:c090:400::5:c416)
23:32:03 <Axma53541> Those are rookie numbers, if you read that in using String, you can easilt make that 200kB 2GB+!
23:32:25 × emf quits (~emf@2620:10d:c090:400::5:c416) (Client Quit)
23:32:30 Axma53541 is now known as Axman6
23:36:02 <jollygood2> some xml libraries use strings? I am looking at xeno, tagsoup, xml and xaml
23:36:16 <jollygood2> s/xaml/haxml
23:37:59 <monochrom> tagsoup and xml are pretty simple, perhaps simplistic.
23:38:09 <jollygood2> am I misunderstanding this, or is tagsoup converting everything to String? https://hackage.haskell.org/package/tagsoup-0.14.8/docs/src/Text.HTML.TagSoup.Manual.html#parseTagsOptions
23:38:31 <jollygood2> meaning that there's no benefit in using Text?
23:39:01 <monochrom> StringLike has ByteString and Text instances.
23:39:23 <jollygood2> right. but they are calling toString, which converts everything to String. I see that all over the place
23:43:06 <jollygood2> maybe I'm jumping the gun, but I experienced something similar a couple of years ago with scalpel web scraping lib. It also had similar StringLike data type, and internally worked with String everywhere. and when I converted my code to use Text over String, it made everything slightly slower
23:44:04 <monochrom> I think your assessment is right.
23:45:01 <monochrom> If one goes "fromString . parse . toString", the parser in the middle is usually too complicated for the compiler to say "I understand, I'll do fusion".
23:48:12 <jollygood2> I don't actually care about speed, I'm doing it at program startup, and the file is relatively small. but high memory use could be a concern
23:49:13 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
23:49:19 <jollygood2> so maybe conversion is not an issue for memory use, if String in the middle is picked up by garbage collector
23:50:16 × mestre quits (~mestre@191.177.175.57) (Quit: Lost terminal)
23:51:25 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
23:55:56 hyiltiz joins (~quassel@31.220.5.250)
23:55:57 <dsal> If you're reading a 200 kB piece of XML once at startup, I don't know that I'd worry about performance or memory use.
23:56:55 <jollygood2> I wasn't worrying until Axma mentioned 200kB turning into 2GB+. maybe he was sarcastic, so I'll just give tagsoup a try
23:57:17 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
23:57:53 emf joins (~emf@2620:10d:c090:400::5:c416)

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