Home freenode/#haskell: Logs Calendar

Logs on 2021-04-22 (freenode/#haskell)

00:00:47 Guest78317 joins (~laudiacay@67.176.215.84)
00:02:19 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-mucvjdtabxcscdzz) (Quit: Connection closed for inactivity)
00:03:41 × DavidEichmann quits (~david@147.136.46.217.dyn.plus.net) (Ping timeout: 245 seconds)
00:12:05 hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube)
00:12:32 Jd007 joins (~Jd007@162.156.11.151)
00:14:23 × puke quits (~vroom@217.138.252.184) (Quit: puke)
00:17:51 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
00:18:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:18:31 xsperry joins (~as@unaffiliated/xsperry)
00:19:20 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 268 seconds)
00:22:00 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
00:22:48 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
00:28:03 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
00:30:26 × myShoggoth quits (~myShoggot@75.164.11.109) (Ping timeout: 240 seconds)
00:33:04 × nineonin_ quits (~nineonine@50.216.62.2) (Ping timeout: 252 seconds)
00:34:04 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
00:42:32 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (Ping timeout: 240 seconds)
00:42:57 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
00:43:41 × geiger_ quits (~geiger@0543f40b.skybroadband.com) (Ping timeout: 252 seconds)
00:49:01 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
00:49:42 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
00:51:26 × earthy_ quits (~arthurvl@deban2.xs4all.space) (Ping timeout: 260 seconds)
00:52:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
00:53:29 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
00:57:12 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
00:58:27 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:00:35 × ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Read error: Connection reset by peer)
01:03:14 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
01:03:19 × minoru_shiraeesh quits (~shiraeesh@46.34.207.53) (Ping timeout: 252 seconds)
01:03:56 jb55 joins (~jb55@gateway/tor-sasl/jb55)
01:06:52 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
01:10:02 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Ping timeout: 240 seconds)
01:12:09 jijimofo joins (~cmo@S010610561191f5d6.lb.shawcable.net)
01:14:37 × conal quits (~conal@64.71.133.70) (Read error: Connection reset by peer)
01:15:56 conal joins (~conal@64.71.133.70)
01:17:03 <jijimofo> hi all, can anyone tell me why this puts up a black screen and then exits? it's sdl2 and sdl-cairo
01:17:07 <jijimofo> https://pastebin.com/XRX8CsFW
01:17:30 <jijimofo> i know it's not strictly a haskell problem
01:17:55 <jijimofo> hmm, i should've tried a c version before posting, sorry
01:18:08 <jijimofo> will do that
01:19:26 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
01:21:15 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
01:23:07 × ericsagnes quits (~ericsagne@2405:6580:0:5100:d0df:45b4:dde8:f059) (Ping timeout: 260 seconds)
01:24:37 × hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Quit: WeeChat 3.1)
01:25:49 nineonine joins (~nineonine@50.216.62.2)
01:26:11 × xff0x quits (~xff0x@2001:1a81:5253:e800:55a6:95d0:743f:3c74) (Ping timeout: 245 seconds)
01:28:17 xff0x joins (~xff0x@2001:1a81:5291:ee00:8d5:6829:975f:eb62)
01:32:55 rajivr joins (uid269651@gateway/web/irccloud.com/x-poljwzteeqldftix)
01:33:25 × loller_ quits (uid358106@gateway/web/irccloud.com/x-gvifcnmgsfzryozd) (Quit: Connection closed for inactivity)
01:34:07 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:bdc9:711a:32b8:207e) (Remote host closed the connection)
01:34:23 quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
01:35:31 nicholasbulka joins (~nicholasb@2601:900:4301:da0:bdc9:711a:32b8:207e)
01:35:54 ericsagnes joins (~ericsagne@2405:6580:0:5100:a379:3b67:4750:2ccb)
01:36:43 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-dwdeqarjvkrgtrrf) ()
01:36:52 <wrunt> do you need to put 't' into 'r' somehow?
01:37:26 <wrunt> ah sorry, you create it with 'r'
01:38:50 <jijimofo> wrunt: yeah, r is the renderer from which i get a texture, t
01:42:34 <wrunt> is there any kind of double-buffering going on, and you're looking at the blank buffer?
01:42:51 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:bdc9:711a:32b8:207e) (Ping timeout: 245 seconds)
01:43:08 <jijimofo> hmm, running 'cabal update' and then trying again results in the sdl funs working as they should but not the sdl-cairo funs
01:43:15 myShoggoth joins (~myShoggot@75.164.11.109)
01:43:55 <jijimofo> wrunt, i think that's what present is supposed to do. you draw with the api and then call present to make the calls actually happen, or at least that's my understanding
01:47:01 vv8 joins (~egp_@2.95.117.163)
01:52:54 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
01:56:54 <jijimofo> wrunt: you weren't far off, i forgot to copy the texture back into the renderer before presenting it
01:57:37 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 265 seconds)
01:58:01 × myShoggoth quits (~myShoggot@75.164.11.109) (Remote host closed the connection)
01:58:03 <jijimofo> thanks for being my rubber duck guys
01:58:27 myShoggoth joins (~myShoggot@75.164.11.109)
01:59:21 <wrunt> \o/
01:59:59 × myShoggoth quits (~myShoggot@75.164.11.109) (Client Quit)
02:02:33 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
02:04:32 × jijimofo quits (~cmo@S010610561191f5d6.lb.shawcable.net) (Ping timeout: 240 seconds)
02:13:23 × jao quits (~jao@pdpc/supporter/professional/jao) (Ping timeout: 246 seconds)
02:16:40 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
02:27:48 earthy_ joins (~arthurvl@deban2.xs4all.space)
02:29:04 × _xor quits (~xor@74.215.46.133) (Quit: brb)
02:29:28 _xor joins (~xor@74.215.46.133)
02:32:50 Lycurgus joins (~niemand@98.4.118.65)
02:34:58 lawr3nce joins (~lawr3nce@gateway/tor-sasl/lawr3nce)
02:36:41 × lawr3nce quits (~lawr3nce@gateway/tor-sasl/lawr3nce) (Remote host closed the connection)
02:36:47 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
02:37:55 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
02:38:16 × theDon quits (~td@94.134.91.185) (Ping timeout: 245 seconds)
02:38:39 × lawid quits (~quassel@2a02:8109:b5c0:5334:265e:beff:fe2a:dde8) (Quit: lawid)
02:40:17 theDon joins (~td@94.134.91.246)
02:41:54 lawr3nce joins (~lawr3nce@gateway/tor-sasl/lawr3nce)
02:43:45 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
02:43:45 finn_elija is now known as Guest414
02:43:45 FinnElija is now known as finn_elija
02:47:09 × Guest414 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
02:49:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:52:13 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 252 seconds)
02:53:21 × carlomagno quits (~cararell@148.87.23.7) (Quit: Leaving.)
02:55:23 lawr3nce_ joins (~lawr3nce@gateway/tor-sasl/lawr3nce)
02:56:21 × lawr3nce quits (~lawr3nce@gateway/tor-sasl/lawr3nce) (Ping timeout: 240 seconds)
02:56:35 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds)
02:57:08 hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube)
02:58:46 × hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Client Quit)
03:00:01 drbean_ joins (~drbean@TC210-63-209-150.static.apol.com.tw)
03:07:17 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
03:09:01 × aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds)
03:11:37 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 250 seconds)
03:22:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
03:24:22 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
03:31:28 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
03:53:39 Guest78317 joins (~laudiacay@67.176.215.84)
03:56:05 plutoniix joins (~q@ppp-58-8-174-127.revip2.asianet.co.th)
03:56:39 gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
03:58:13 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds)
03:59:50 hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube)
04:02:22 × lawr3nce_ quits (~lawr3nce@gateway/tor-sasl/lawr3nce) (Remote host closed the connection)
04:05:33 × roconnor quits (~roconnor@host-45-58-216-246.dyn.295.ca) (Ping timeout: 260 seconds)
04:09:34 × faustind quits (0e0843e1@gateway/web/cgi-irc/kiwiirc.com/ip.14.8.67.225) (Ping timeout: 265 seconds)
04:33:30 × snowflake quits (~snowflake@gateway/tor-sasl/snowflake) (Remote host closed the connection)
04:35:55 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:39:37 × howdoi quits (uid224@gateway/web/irccloud.com/x-bfpmhrutqdycibjm) (Quit: Connection closed for inactivity)
04:40:40 nineonine joins (~nineonine@50.216.62.2)
04:40:52 × nineonine quits (~nineonine@50.216.62.2) (Remote host closed the connection)
04:41:14 nineonine joins (~nineonine@50.216.62.2)
04:42:30 × Wuzzy quits (~Wuzzy@p5790e74f.dip0.t-ipconnect.de) (Remote host closed the connection)
04:42:55 × waleee-cl quits (uid373333@gateway/web/irccloud.com/x-bpfgsdmlrafbmgyu) (Quit: Connection closed for inactivity)
04:43:45 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer)
04:43:55 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:45:02 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-62.dsl.bell.ca) (Remote host closed the connection)
04:45:12 malumore joins (~malumore@151.62.117.136)
04:45:16 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-62.dsl.bell.ca)
04:45:53 snowflake joins (~snowflake@gateway/tor-sasl/snowflake)
04:46:22 Jd007 joins (~Jd007@162.156.11.151)
05:02:41 rj__ joins (~x@gateway/tor-sasl/rj)
05:02:45 × rj_ quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
05:05:30 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
05:06:26 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
05:11:14 × drbean_ quits (~drbean@TC210-63-209-150.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
05:13:08 sord937 joins (~sord937@gateway/tor-sasl/sord937)
05:14:04 × kiweun quits (~kiweun@2607:fea8:2a62:9600:68a0:cf01:7577:43eb) (Remote host closed the connection)
05:19:25 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:19:37 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 252 seconds)
05:24:51 × unyu quits (~pyon@unaffiliated/pyon) (Remote host closed the connection)
05:24:58 moduli-of-pyon joins (~pyon@unaffiliated/pyon)
05:26:15 × ericsagnes quits (~ericsagne@2405:6580:0:5100:a379:3b67:4750:2ccb) (Ping timeout: 260 seconds)
05:29:52 × Lycurgus quits (~niemand@98.4.118.65) (Ping timeout: 240 seconds)
05:31:56 Aquazi joins (uid312403@gateway/web/irccloud.com/x-osbdsklzblynzobo)
05:38:35 ericsagnes joins (~ericsagne@2405:6580:0:5100:17c1:9e20:deae:8139)
05:39:01 × marinelli quits (~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
05:54:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
05:55:43 × Spanktar quits (~Spanktar@195.140.213.38) (Remote host closed the connection)
05:55:49 ashesham` joins (~user@d8D87D1B0.access.telenet.be)
05:56:36 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
06:00:04 chele joins (~chele@5.53.222.202)
06:01:36 wonko7 joins (~wonko7@62.115.229.50)
06:02:18 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
06:03:19 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:05:58 × jassob quits (~jassob@korrob.vth.sgsnet.se) (Ping timeout: 240 seconds)
06:07:09 jassob joins (~jassob@korrob.vth.sgsnet.se)
06:07:26 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
06:07:37 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
06:11:12 thc202 joins (~thc202@unaffiliated/thc202)
06:11:52 gzj joins (~gzj@unaffiliated/gzj)
06:12:37 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
06:12:55 gzj joins (~gzj@unaffiliated/gzj)
06:16:24 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:20:29 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 246 seconds)
06:21:09 knupfer joins (~Thunderbi@200116b82b4d2f00f5d1796d1da5bdee.dip.versatel-1u1.de)
06:24:41 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
06:28:10 Varis joins (~Tadas@unaffiliated/varis)
06:28:27 michalz joins (~user@185.246.204.56)
06:29:31 × knupfer quits (~Thunderbi@200116b82b4d2f00f5d1796d1da5bdee.dip.versatel-1u1.de) (Ping timeout: 245 seconds)
06:30:41 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
06:32:12 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
06:35:14 coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
06:42:46 × dilinger quits (~dilinger@spindle.queued.net) (Remote host closed the connection)
06:44:13 bitmagie joins (~Thunderbi@200116b8066f180081bca216285e01e4.dip.versatel-1u1.de)
06:44:47 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
06:48:32 Sornaensis joins (~Sornaensi@077213200034.dynamic.telenor.dk)
06:51:05 Sorna joins (~Sornaensi@79.142.232.102.static.router4.bolignet.dk)
06:53:02 × gzj quits (~gzj@unaffiliated/gzj) (Quit: Leaving)
06:53:32 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
06:53:41 × Sornaensis quits (~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 245 seconds)
06:54:08 Lowl3v3l joins (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de)
06:57:41 earthy_ is now known as earthy
06:58:14 nineonine joins (~nineonine@50.216.62.2)
07:00:46 × timCF quits (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving)
07:01:18 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
07:01:43 × aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds)
07:02:32 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
07:03:06 × bitmagie quits (~Thunderbi@200116b8066f180081bca216285e01e4.dip.versatel-1u1.de) (Quit: bitmagie)
07:03:11 Synthetica joins (uid199651@gateway/web/irccloud.com/x-ycrvxeagazjstjgn)
07:04:32 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-zaklydynoasermoj) (Quit: Connection closed for inactivity)
07:05:38 cfricke joins (~cfricke@unaffiliated/cfricke)
07:14:08 dilinger joins (~dilinger@spindle.queued.net)
07:15:38 × limbo quits (ar@45.63.9.236) (Ping timeout: 240 seconds)
07:17:33 limbo joins (ar@45.63.9.236)
07:18:49 nicholasbulka joins (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net)
07:22:52 × nicholasbulka quits (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net) (Ping timeout: 240 seconds)
07:27:08 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
07:30:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:35:40 nckx is now known as raghavgururajan9
07:35:50 raghavgururajan9 is now known as nckx
07:45:42 kritzefitz joins (~kritzefit@212.86.56.80)
07:52:14 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
08:02:51 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 245 seconds)
08:03:11 idhugo__ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
08:03:19 kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49)
08:04:17 gzj joins (~gzj@unaffiliated/gzj)
08:05:15 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
08:05:54 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds)
08:07:10 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
08:07:56 × hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 246 seconds)
08:09:09 × hendursa1 quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
08:11:28 sgibber2018 joins (d055ed90@208.85.237.144)
08:13:58 × plutoniix quits (~q@ppp-58-8-174-127.revip2.asianet.co.th) (Ping timeout: 252 seconds)
08:14:13 faustind joins (8508bb0b@gateway/web/cgi-irc/kiwiirc.com/ip.133.8.187.11)
08:19:31 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
08:20:19 × RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 268 seconds)
08:20:42 aidecoe joins (~aidecoe@unaffiliated/aidecoe)
08:25:43 RusAlex joins (~Chel@unaffiliated/rusalex)
08:27:44 × Tene quits (~tene@poipu/supporter/slacker/tene) (Ping timeout: 268 seconds)
08:28:37 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (Ping timeout: 252 seconds)
08:32:14 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
08:32:40 × earthy quits (~arthurvl@deban2.xs4all.space) (Ping timeout: 252 seconds)
08:33:45 guest421` joins (~user@49.5.6.87)
08:34:24 Tene joins (~tene@poipu/supporter/slacker/tene)
08:34:27 ByronJohnson joins (~bairyn@unaffiliated/bob0)
08:35:06 × sgibber2018 quits (d055ed90@208.85.237.144) (Quit: Connection closed)
08:35:09 earthy joins (~arthurvl@deban2.xs4all.space)
08:35:45 <guest421`> MaybeT IO a, MaybeT IO is a monad, but to value [MaybeT IO a], is there a monad for it?
08:36:04 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
08:36:19 <guest421`> there's a List Transformer?
08:36:51 <guest421`> data ListT m a = ListT m [a]?
08:37:29 <guest421`> so we could have ListT (MaybeT IO) a?
08:38:16 <guest421`> or data ListT m a = ListT [m a]?
08:38:45 <merijn> You could, yes. But the semantics of ListT are...tricky
08:39:05 <merijn> guest421`: When you're looking for ListT you might want conduit/pipes instead
08:39:08 <merijn> @hackage conduit
08:39:09 <lambdabot> https://hackage.haskell.org/package/conduit
08:39:12 <merijn> @hackage pipes
08:39:12 <lambdabot> https://hackage.haskell.org/package/pipes
08:40:06 <guest421`> merijn: actually I'm thnking about using `traverse` to IO actions, for example there's [Url], and fetchUrl :: Url -> MaybeT IO ByteString,
08:40:09 jess joins (jess@freenode/staff/jess)
08:40:09 Lycurgus joins (~niemand@98.4.118.65)
08:40:29 <guest421`> traverse fetchUrl [Url]
08:41:40 <merijn> That doesn't need ListT, though?
08:41:59 <merijn> like, "traverse fetchUrl" works just fine on a list of URLs
08:43:00 <guest421`> merijn: but `traverse` "collect" that result, it product a type MaybeT IO (Maybe [a])
08:43:17 <guest421`> merijn: what if I'd like [IO-Actions-Results]
08:43:31 <merijn> eh, that's just map?
08:43:45 <merijn> That doesn't look, right though
08:43:46 <guest421`> merijn: yes, but fmap doesn't do IO
08:44:22 <merijn> if "fetchUrl :: Url -> MaybeT IO ByteString" then "traverse fetchUrl :: MaybeT IO [ByteString]"
08:44:31 <merijn> eh
08:44:38 <merijn> Missing list argument, but you get the idea
08:45:13 <guest421`> merijn: <guest421`> traverse fetchUrl [Url]
08:45:28 <merijn> :t traverse `asAppliedTo` (undefined :: () -> MaybeT IO ByteString)
08:45:29 <lambdabot> error:
08:45:29 <lambdabot> Not in scope: type constructor or class ‘ByteString’
08:45:29 <lambdabot> Perhaps you meant one of these:
08:45:35 <merijn> :t traverse `asAppliedTo` (undefined :: () -> MaybeT IO String)
08:45:36 <lambdabot> Traversable t => (() -> MaybeT IO String) -> t () -> MaybeT IO (t String)
08:46:29 <guest421`> merijn: why ListT is tricky?
08:46:39 <merijn> Well, what does it mean?
08:47:11 <guest421`> <merijn> You could, yes. But the semantics of ListT are...tricky
08:47:57 <guest421`> there's MaybeT, EitherT, StateT blabla, even ContT, but no ListT?
08:48:28 <merijn> There is a ListT, but it's definition is questionable
08:58:13 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
08:59:33 × dsrt^ quits (dsrt@ip98-184-89-2.mc.at.cox.net) ()
09:00:05 <lovesegfault> Hi everyone, could someone review this small exercise program I wrote? https://github.com/lovesegfault/exercism/blob/main/haskell/leap/src/LeapYear.hs
09:00:05 × addem[m] quits (addemmatri@gateway/shell/matrix.org/x-dihufvgbnekkaxvh) (Quit: Idle for 30+ days)
09:00:28 <lovesegfault> Not sure if I'm doing this the right way :P
09:00:46 <lovesegfault> it works, I'm more concerned about it being idiomatic
09:00:52 <guest421`> merijn: traverse fetchUrl [Url] , when one of those IO actions return a MaybeT (return Nothing) :: MaybeT IO ByteString, what traverse will return?
09:02:35 <merijn> Nothing, but if you don't want that, then don't use MaybeT?
09:02:47 <merijn> Like, that's literally the only purpose of MaybeT
09:03:12 <guest421`> merijn: I should use fetchUrl :: Url -> IO (Maybe a)?
09:03:37 <guest421`> merijn: IO is too difficult on value level to express
09:08:49 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
09:10:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
09:10:15 Sorny joins (~Sornaensi@077213200034.dynamic.telenor.dk)
09:10:26 gzj joins (~gzj@unaffiliated/gzj)
09:11:18 × malumore quits (~malumore@151.62.117.136) (Remote host closed the connection)
09:12:22 jakalx joins (~jakalx@base.jakalx.net)
09:12:31 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
09:13:11 × Sorna quits (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds)
09:13:54 <wrunt> lovesegfault: Looks ok. You may want to use Int rather than Integer, unless you anticipate the year exceeding 'maxBound :: Int'. You could also use logic rather than pattern matching, and use 'isDiv' infix, i.e. 'isLeapYear year = year `isDiv` 4 || (not $ year `isDiv` 100) || year `isDiv` 400'
09:14:27 minoru_shiraeesh joins (~shiraeesh@46.34.207.53)
09:15:02 <lovesegfault> woah, what is $ in haskell?
09:15:12 kiweun joins (~kiweun@2607:fea8:2a62:9600:5d11:937f:5f24:4c8b)
09:15:13 <wrunt> hm, my logic may be off there...
09:15:56 <wrunt> $ is called apply, and basically says evaluate everything on my right before passing it to the function on my left
09:16:09 malumore joins (~malumore@151.62.117.136)
09:16:19 <xsperry> @src ($)
09:16:20 <lambdabot> f $ x = f x
09:16:33 <wrunt> (not $ year `isDiv` 100) is equivalent to (not (year `isDiv` 100))
09:16:36 jakalx joins (~jakalx@base.jakalx.net)
09:17:07 <wrunt> er, $ is not called apply, I must be tired :)
09:17:22 <merijn> I wouldn't use $ there, just use parens...
09:17:24 <xsperry> it works the way it does because of it its low precedence, infixr 0 $
09:17:41 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
09:17:47 <merijn> Like "(not $ year `isDiv` 100)" is just "not (year `isDiv` 100)" but worse >.>
09:17:59 <lovesegfault> do I need to create that leapMatch in order to pattern match? or can I do it all with only isLeapYear?
09:18:08 <wrunt> lovesegfault: listen to merijn :)
09:18:17 nfip^ joins (nfip@ip98-184-89-2.mc.at.cox.net)
09:18:47 <lovesegfault> I like this `` infix business, makes things more readable
09:18:53 zaquest joins (~notzaques@5.128.210.178)
09:19:29 <xsperry> lovesegfault, you can pattern match without creating a new function, with case
09:19:31 × kiweun quits (~kiweun@2607:fea8:2a62:9600:5d11:937f:5f24:4c8b) (Ping timeout: 250 seconds)
09:19:46 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection)
09:19:49 <lovesegfault> xsperry: Oh, nice, /me googles how
09:20:15 <merijn> > case even 3 of True -> "Yay!"; False -> "Nay!"
09:20:17 <lambdabot> "Nay!"
09:21:50 <lovesegfault> oh, nice!
09:21:53 lovesegfault rewrites it
09:22:34 <lovesegfault> updated version: https://github.com/lovesegfault/exercism/blob/main/haskell/leap/src/LeapYear.hs
09:23:11 × minoru_shiraeesh quits (~shiraeesh@46.34.207.53) (Ping timeout: 240 seconds)
09:23:49 <lovesegfault> Hm, what is the standard code formatting tool for haskell?
09:23:59 <olligobber> :t isDiv
09:24:00 <lambdabot> error: Variable not in scope: isDiv
09:24:17 <merijn> lovesegfault: There is none
09:24:59 × moduli-of-pyon quits (~pyon@unaffiliated/pyon) (Quit: See ya.)
09:25:07 <lovesegfault> merijn: Oh, interesting, is there a leading one at least? (e.g. Black for Python)
09:25:12 <merijn> No
09:25:18 <lovesegfault> fascinating
09:25:31 sammyh parts (~sammyh@vps-15813cea.vps.ovh.net) ()
09:25:40 <merijn> and tbh, auto-formatters are a bad crutch
09:26:08 <merijn> As summarised by: https://twitter.com/comerijn/status/1257804634833420292
09:27:14 <lovesegfault> fair enough :)
09:27:25 <maerwald> there are plenty of formatters though
09:27:37 <lovesegfault> I'm playing with ormolu right now
09:27:41 <maerwald> brittany, ormolu and stylish-haskell are common
09:28:46 <lovesegfault> So, in Rust I tend to do these chains of Iterator ops: https://github.com/lovesegfault/exercism/blob/5a7f942130c82e60025d9a8787fb7eae8efd0c0e/rust/acronym/src/lib.rs#L2-L11
09:28:52 <lovesegfault> what does this look like in Haskell?
09:33:46 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
09:35:41 × Guest5350 quits (~textual@2603-7000-3040-0000-3d14-5885-3d03-0546.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:36:01 × totte quits (~totte@chakra/totte) (Quit: ZNC - http://znc.in)
09:37:02 ClaudiusMaximus joins (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net)
09:37:19 Pickchea joins (~private@unaffiliated/pickchea)
09:37:21 × ClaudiusMaximus quits (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host)
09:37:21 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
09:41:41 slaterr joins (~bc8134e3@199.204.85.195)
09:41:43 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
09:42:51 Sornaensis joins (~Sornaensi@79.142.232.102.static.router4.bolignet.dk)
09:44:36 fendor joins (~fendor@178.165.129.61.wireless.dyn.drei.com)
09:44:40 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
09:45:39 Guest78317 joins (~laudiacay@67.176.215.84)
09:45:49 <slaterr> lovesegfault, you could use function composition: https://paste.tomsmeding.com/DxpWsvlW . alternatively, you can use (&) function to get left to right chaining
09:46:02 × Sorny quits (~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 268 seconds)
09:46:20 <lovesegfault> @src (&)
09:46:20 <lambdabot> Source not found. Sorry about this, I know it's a bit silly.
09:46:28 <slaterr> @hoogle (&)
09:46:28 <lambdabot> Data.Function (&) :: a -> (a -> b) -> b
09:46:28 <lambdabot> Control.Lens.Lens (&) :: () => a -> (a -> b) -> b
09:46:28 <lambdabot> Control.Lens.Operators (&) :: () => a -> (a -> b) -> b
09:46:41 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
09:46:47 <slaterr> you want Data.Function.(&)
09:47:31 <lovesegfault> Ah, nice
09:48:57 <slaterr> > "oh my god" & splitWhen (\c -> isSpace c || c `elem` ['-', '_']) & concatMap (take 1) & map toUpper
09:48:59 <lambdabot> "OMG"
09:49:14 zva joins (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de)
09:49:17 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
09:49:17 <lovesegfault> Super cool
09:49:57 <tomsmeding> concatMap (take 1) == map head
09:49:58 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 260 seconds)
09:50:09 <slaterr> head will error on an empty list
09:50:15 <tomsmeding> hm, unless yes that
09:52:48 <lovesegfault> where does splitWhen come from? Looking here: https://hoogle.haskell.org/?hoogle=splitwhen I would imagine I just had to do `import Data.List (splitWhen)`?
09:53:19 <slaterr> split package, https://hackage.haskell.org/package/split-0.2.3.4/docs/Data-List-Split.html
09:53:45 DavidEichmann joins (~david@147.136.46.217.dyn.plus.net)
09:55:15 <slaterr> for serious work, you want Text over String, so you'd use https://hackage.haskell.org/package/text-1.2.4.1/docs/Data-Text.html#v:splitOn. but I took this question to be more about functions chaining than about string processing
09:57:17 <slaterr> or rather, Data.Text.split
09:57:26 <lovesegfault> Yup
10:02:43 <lovesegfault> Why doesn't this work? https://gist.github.com/4e5242468f437d571cd3a2e2968e8cc5
10:03:02 <lovesegfault> (not as a solution to the acronym thing, but rather that it fails to typecheck altogether)
10:03:28 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
10:03:29 <lovesegfault> error: https://gist.github.com/5199c7b058be9e3666c2751a4ad31b88
10:04:35 <slaterr> swap the order of concat and split
10:05:00 <lovesegfault> Oh :D
10:05:10 <lovesegfault> so the pipelines go backwards
10:05:29 <slaterr> also it is common do something like this, import qualified Data.Text as T, then you can do T.concat
10:05:34 <slaterr> yes
10:05:37 <slaterr> @src (.)
10:05:37 <lambdabot> (f . g) x = f (g x)
10:06:37 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
10:07:46 <xsperry> . is basically ascii equivalent of ∘ in math. https://en.wikipedia.org/wiki/Function_composition
10:07:53 <lovesegfault> what's the right way to verbalize this: map :: (Char -> Char) -> Text -> Text
10:08:07 <lovesegfault> i.e. how do I say that out loud
10:09:04 × idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
10:10:51 <slaterr> I'm not sure about the "official" version, but I'd say that map takes a function from char to char, text, and returns text.
10:11:19 <slaterr> (even though, technically, it takes char to char function, and returns a function from Text to Text)
10:12:07 <lovesegfault> Ah, yes, I like the second version :D
10:12:27 Alleria joins (~textual@zrcout.mskcc.org)
10:12:34 <lovesegfault> is Rust's skip_while Haskell's span, kind of?
10:12:34 <dibblego> Optic' Text Char
10:12:45 <lovesegfault> Optic?
10:12:51 Alleria is now known as Guest94131
10:14:28 <slaterr> maybe dropWhile?
10:14:34 <slaterr> > dropWhile (<5) [1..10]
10:14:36 <lambdabot> [5,6,7,8,9,10]
10:16:08 <slaterr> or T.drop for Text
10:16:36 <slaterr> :t T.dropWhile
10:16:37 <lambdabot> (Char -> Bool) -> T.Text -> T.Text
10:16:38 philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
10:16:42 <lovesegfault> oh, nice!
10:19:08 <lovesegfault> Is there a .chain() that lets me concat iterators? is is it just concat?
10:19:55 × unlink_ quits (~unlink2@p57b8541f.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
10:20:05 unlink2 joins (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de)
10:20:55 <slaterr> example of input and output?
10:22:45 <lovesegfault> word = "abcd"; word.chars().take(1).chain(word.chars().skip(2)).collect() -> "acd"
10:23:22 <lovesegfault> word.chars().take(1).chain(word.chars().take(2)).collect() -> "aab"
10:23:44 minoru_shiraeesh joins (~shiraeesh@46.34.207.53)
10:26:24 <slaterr> > let word = "abcd" in T.concat [T.take 1 word, T.drop 2 word]
10:26:26 <lambdabot> error:
10:26:26 <lambdabot> • Couldn't match expected type ‘T.Text’ with actual type ‘[Char]’
10:26:26 <lambdabot> • In the second argument of ‘T.take’, namely ‘word’
10:27:15 <slaterr> it should work with OverloadedStrings extension
10:27:46 × nfip^ quits (nfip@ip98-184-89-2.mc.at.cox.net) ()
10:27:54 lovesegfault googles extension
10:28:29 <idnar> > let word = T.pack "abcd" in T.concat [T.take 1 word, T.drop 2 word]
10:28:31 <lambdabot> "acd"
10:28:38 <slaterr> {-# LANGUAGE OverloadedStrings #-} on top of .hs file, or Extensions: OverloadedStrings in cabal so that you can use it in all the files in that project
10:29:37 <opqdonut> btw does OverloadedStrings give you pattern matching on Text?
10:29:56 <opqdonut> (I expect not, but I'm willing to be surprised :)
10:29:57 <slaterr> this makes string literals polymorphic, so "abcd" is Data.String.IsString t => t, not String
10:30:46 <slaterr> opqdonut it does
10:30:51 <opqdonut> cool
10:30:59 <idnar> > let word = T.pack "abcd" in mconcat [T.take 1, T.drop 2] word
10:31:02 <lambdabot> "acd"
10:31:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:32:21 <lovesegfault> Sweet
10:32:46 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:33:07 <idnar> (that is possibly too cute)
10:34:12 <xsperry> :t mconcat
10:34:14 <lambdabot> Monoid a => [a] -> a
10:35:21 <idnar> the Monoid/Semigroup instance for functions gives f <> g = \x -> f x <> g x
10:35:47 <olligobber> > (drop <> take) 3 "anagram"
10:35:49 <lambdabot> "gramana"
10:37:30 <slaterr> > let word = T.pack "abcd" in (T.take 1 <> T.drop 2) word
10:37:32 <lambdabot> "acd"
10:37:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:38:10 <lovesegfault> what do I do if I want to map on [Text] ? I keep getting Expected type: Text -> [[Char]]
10:38:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:39:14 <slaterr> > map _ (undefined :: [Text])
10:39:16 <lambdabot> error:
10:39:16 <lambdabot> Not in scope: type constructor or class ‘Text’
10:39:16 <lambdabot> Perhaps you meant ‘T.Text’ (imported from Data.Text)
10:39:23 <slaterr> > map _ (undefined :: [T.Text])
10:39:28 <lambdabot> error:
10:39:28 <lambdabot> • Found hole: _ :: T.Text -> b
10:39:28 <lambdabot> Where: ‘b’ is a rigid type variable bound by
10:39:41 <idnar> lovesegfault: sounds like you have Text vs String confusion
10:39:45 <slaterr> it will work, just give it a Text -> Text function
10:39:47 <lovesegfault> https://gist.github.com/e4d2141f1c7846972f2a967b18c234e5
10:40:02 <lovesegfault> I thought my map here was giving me a Text?
10:43:18 <idnar> `\w -> T.pack (take 1 w + (filter isUpper . dropWhile isUpper) w)` is String -> Text
10:43:49 <slaterr> map (\w -> T.take 1 w `T.append` (T.filter isUpper . T.dropWhile isUpper) w)
10:43:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
10:44:01 <lovesegfault> :O
10:44:12 <slaterr> :t filter
10:44:14 <lambdabot> (a -> Bool) -> [a] -> [a]
10:44:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:44:30 <slaterr> w is Text, not [Char] (aka String)
10:45:30 <lovesegfault> A bit annoying that I need to T. everything :(
10:45:43 <idnar> <> is nicer than `T.append` imo
10:46:07 <lovesegfault> idnar: is there a name for that operator?
10:46:19 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
10:47:14 <lovesegfault> woohoo the tests pass!
10:47:15 <idnar> not sure
10:47:41 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:47:52 <lovesegfault> any suggestions? https://gist.github.com/c858a83b4960a8bbc11ca9c5229b1983
10:48:10 <lovesegfault> or, rather, how may I improve?
10:48:39 <slaterr> :t (<>)
10:48:40 <lambdabot> Semigroup a => a -> a -> a
10:48:46 <ClaudiusMaximus> @check (<>) == (mappend :: String -> String -> String)
10:48:47 <lambdabot> error:
10:48:48 <lambdabot> • No instance for (Eq (String -> String -> String)) arising from a use of ‘=...
10:49:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:50:20 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:52:01 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
10:53:35 <slaterr> @pl (\c -> isSpace c || c `elem` ['-', '_'])
10:53:35 <lambdabot> liftM2 (||) isSpace (`elem` "-_")
10:53:45 <slaterr> yeah, probably not an improvement
10:53:58 <lovesegfault> What's this @pl business?
10:54:33 <slaterr> it rewrites the function using pointfree style
10:55:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
10:55:29 <slaterr> @pl (\xs -> map (take 10) xs)
10:55:29 <lambdabot> map (take 10)
10:55:39 <lovesegfault> Ah, I see
10:55:41 <lovesegfault> nice
10:55:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:57:02 <idnar> (\w -> T.take 1 w <> (T.filter isUpper . T.dropWhile isUpper) w) is (T.take 1 <> (T.filter isUpper . T.dropWhile isUpper))
10:57:51 gzj joins (~gzj@unaffiliated/gzj)
10:58:04 <idnar> extra parens maybe unneeded
10:58:21 <lovesegfault> oh, nic
10:59:31 <lovesegfault> Alright, time for bed
10:59:40 <lovesegfault> thanks everyone for all the help today, I learned a bunch and had fun!
10:59:56 <slaterr> good night!
11:00:36 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
11:01:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
11:01:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:05:44 mastarija joins (~mastarija@78-3-215-13.adsl.net.t-com.hr)
11:05:48 jk1006 joins (~jk1006@193.16.224.5)
11:06:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
11:06:41 jk1006 parts (~jk1006@193.16.224.5) ()
11:07:17 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:07:31 <xsperry> idnar, indeed, parens aren't need, this works: map (T.take 1 <> T.filter isUpper . T.dropWhile isUpper)
11:07:56 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:09:43 idhugo__ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
11:10:22 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
11:10:53 × ericsagnes quits (~ericsagne@2405:6580:0:5100:17c1:9e20:deae:8139) (Ping timeout: 250 seconds)
11:12:02 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds)
11:12:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:12:51 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
11:12:59 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 268 seconds)
11:13:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:14:20 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
11:15:46 kiweun joins (~kiweun@2607:fea8:2a62:9600:3d40:49bb:2ec6:f11e)
11:17:01 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 245 seconds)
11:18:19 <gnumonic> why would something not typecheck if I fully apply a type-level function with an explicit argument, yet typecheck perfectly fine if I use a type family that does the same thing? (not sure if i'm asking that right)
11:18:20 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
11:19:28 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:19:56 × kiweun quits (~kiweun@2607:fea8:2a62:9600:3d40:49bb:2ec6:f11e) (Ping timeout: 245 seconds)
11:21:43 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
11:22:22 zmijunkie joins (~Adium@87.122.210.20)
11:22:29 <gnumonic> example: https://gist.github.com/gnumonik/9eff3523012ace3b9e6f7c21710ba89a
11:22:57 ericsagnes joins (~ericsagne@2405:6580:0:5100:4c23:9944:9bc8:e9ca)
11:23:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
11:23:26 gzj joins (~gzj@unaffiliated/gzj)
11:23:41 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 245 seconds)
11:26:24 <merijn> oof
11:26:33 <merijn> That needs a content warning >.>
11:26:52 <merijn> What's the appropriate media rating for -XKitchenSink ? :p
11:29:07 <gnumonic> if the math gods didn't want me to use every compiler extension at once they wouldn't have given them to me :P
11:33:59 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
11:35:30 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
11:39:17 <Lycurgus> math gods
11:39:34 <merijn> Yeah, you know
11:40:04 <merijn> Chtulhu, Yog-Sothoth
11:41:27 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection)
11:41:40 <Lycurgus> lovecraft is gonna be cancelled
11:42:17 <Lycurgus> in the queue if not already in process
11:43:08 <merijn> uh
11:43:37 <merijn> Lovecraft was cancelled decades ago, but since he's dead nobody really cares anyway
11:43:46 <Lycurgus> the kipling, conrad, et. al. queue;that is if cancel culture doesn't get cancelled first
11:44:14 <merijn> Anyway, that's solidly offtopic
11:44:47 <Lycurgus> yeah I was about to reach for math/fp figures likely to be cancelled
11:44:51 <hpc> cancel culture is secretly call-cc culture :D
11:44:55 Lycurgus looks around the room
11:45:07 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:46:31 totte joins (~totte@chakra/totte)
11:47:03 × seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Ping timeout: 260 seconds)
11:47:33 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
11:47:43 × Irenes quits (~irenes@NixOS/user/irenes) (Ping timeout: 250 seconds)
11:47:50 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
11:48:07 seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
11:51:04 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:54:34 <Lycurgus> merijn, did you infer the ghc flags from that gist?
11:54:57 berberman_ joins (~berberman@unaffiliated/berberman)
11:55:26 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
11:55:50 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:55:51 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer)
11:55:55 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
11:58:00 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
11:58:30 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
11:58:41 vgtw_ joins (~vgtw@gateway/tor-sasl/vgtw)
11:59:09 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Ping timeout: 240 seconds)
11:59:10 vgtw_ is now known as vgtw
12:01:10 Irenes joins (~irenes@NixOS/user/irenes)
12:02:27 nan` joins (~nan`@unaffiliated/nan/x-5405850)
12:04:28 wavemode_ joins (~wavemode@097-070-075-143.res.spectrum.com)
12:04:50 × wavemode quits (~wavemode@097-070-075-143.res.spectrum.com) (Read error: Connection reset by peer)
12:07:47 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
12:08:04 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
12:08:16 × dsal quits (sid13060@gateway/web/irccloud.com/x-rdrbgbyktkhrytkf) (Ping timeout: 245 seconds)
12:08:41 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 245 seconds)
12:09:11 dsal joins (sid13060@gateway/web/irccloud.com/x-qtgpxhcseaxflmxx)
12:09:34 × dexterlb quits (~dexterlb@2a01:9e40:2:2::2) (Read error: Connection reset by peer)
12:10:02 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
12:16:08 × Lycurgus quits (~niemand@98.4.118.65) (Quit: Exeunt)
12:18:41 × Kaeipi quits (~Kaiepi@47.54.252.148) (Ping timeout: 240 seconds)
12:22:50 Kaiepi joins (~Kaiepi@47.54.252.148)
12:24:06 × sagax quits (~sagax_nb@213.138.71.146) (Ping timeout: 245 seconds)
12:24:26 stree joins (~stree@68.36.8.116)
12:25:12 × tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds)
12:25:44 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
12:25:47 cheater1 joins (~user@unaffiliated/cheater)
12:25:50 × faustind quits (8508bb0b@gateway/web/cgi-irc/kiwiirc.com/ip.133.8.187.11) (Quit: Connection closed)
12:26:25 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 252 seconds)
12:30:04 urodna joins (~urodna@unaffiliated/urodna)
12:30:47 LKoen_ joins (~LKoen@11.160.9.109.rev.sfr.net)
12:31:36 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
12:32:00 roconnor joins (~roconnor@host-45-58-225-218.dyn.295.ca)
12:32:22 Kaeipi joins (~Kaiepi@47.54.252.148)
12:32:27 × albethere quits (sid457088@gateway/web/irccloud.com/x-bchjzdmqztgxrmnd) (Ping timeout: 245 seconds)
12:32:53 × darthThorik quits (sid39589@gateway/web/irccloud.com/x-agxewrbiyijpmjiw) (Ping timeout: 245 seconds)
12:33:01 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Ping timeout: 252 seconds)
12:33:27 × mastarija quits (~mastarija@78-3-215-13.adsl.net.t-com.hr) (Quit: Leaving)
12:34:40 albethere joins (sid457088@gateway/web/irccloud.com/x-egqhysbcgqwwryxs)
12:35:03 darthThorik joins (sid39589@gateway/web/irccloud.com/x-oqamjdqpvpmmnlft)
12:36:46 × Kaeipi quits (~Kaiepi@47.54.252.148) (Ping timeout: 245 seconds)
12:39:30 timCF joins (~i.tkachuk@200-149-20-81.sta.estpak.ee)
12:40:40 Kaiepi joins (~Kaiepi@47.54.252.148)
12:41:11 × theDon quits (~td@94.134.91.246) (Ping timeout: 245 seconds)
12:41:27 theDon joins (~td@94.134.91.246)
12:42:03 <timCF> Hello! Is there any standard function like `foldM` to work with `ExceptT Text m acc` values? Where `m` is some IO-like monad and every iteration of fold might return `throwE e` and interrupt all computation sequence?
12:45:59 <Ferdirand> :t foldM
12:46:01 <lambdabot> (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
12:47:14 <Ferdirand> :t foldM (flip id)
12:47:16 <lambdabot> (Foldable t, Monad m) => b -> t (b -> m b) -> m b
12:47:50 <Ferdirand> disclaimer: I have no idea what I'm doing
12:48:41 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 245 seconds)
12:48:55 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
12:49:55 <Ferdirand> or maybe that's not what you meant
12:52:11 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:53:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
12:54:24 gzj joins (~gzj@unaffiliated/gzj)
12:56:20 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
12:59:06 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
12:59:25 dexterlb joins (~dexterlb@2a01:9e40:2:2::2)
13:01:15 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
13:04:06 × Irenes quits (~irenes@NixOS/user/irenes) (*.net *.split)
13:04:06 × seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (*.net *.split)
13:04:07 × jess quits (jess@freenode/staff/jess) (*.net *.split)
13:04:07 × aidecoe quits (~aidecoe@unaffiliated/aidecoe) (*.net *.split)
13:04:07 × limbo quits (ar@45.63.9.236) (*.net *.split)
13:04:07 × dilinger quits (~dilinger@spindle.queued.net) (*.net *.split)
13:04:07 × cfricke quits (~cfricke@unaffiliated/cfricke) (*.net *.split)
13:04:07 × coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (*.net *.split)
13:04:08 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (*.net *.split)
13:04:08 × tabemann quits (~travisb@2600:1700:7990:24e0:1797:6b66:735:4572) (*.net *.split)
13:04:08 × codedmart quits (codedmart@2600:3c01::f03c:92ff:fefe:8511) (*.net *.split)
13:04:08 × juri_ quits (~juri@178.63.35.222) (*.net *.split)
13:04:09 × alx741 quits (~alx741@186.178.109.231) (*.net *.split)
13:04:09 × sdrodge_ quits (~sdrodge@unaffiliated/sdrodge) (*.net *.split)
13:04:09 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (*.net *.split)
13:04:09 × mrchampion quits (~mrchampio@38.18.109.23) (*.net *.split)
13:04:10 × Forlorn_ quits (~Forlorn@unaffiliated/forlorn) (*.net *.split)
13:04:10 × caasih quits (sid13241@gateway/web/irccloud.com/x-ywhvuyflycmojjfa) (*.net *.split)
13:04:11 × ibloom quits (sid350277@gateway/web/irccloud.com/x-yhokoaaxqmoudodu) (*.net *.split)
13:04:11 × alexknvl quits (sid259568@gateway/web/irccloud.com/x-wdxobfzstmpkvclf) (*.net *.split)
13:04:11 × beaky quits (~beaky@2a03:b0c0:0:1010::17cf:7003) (*.net *.split)
13:04:11 × ahf quits (ahf@irssi/staff/ahf) (*.net *.split)
13:04:11 × kaletaa quits (~kaletaa@188.34.177.83) (*.net *.split)
13:04:11 × kloeri quits (~kloeri@freenode/staff/exherbo.kloeri) (*.net *.split)
13:04:11 × joeytwiddle quits (~joeytwidd@162.243.115.31) (*.net *.split)
13:04:12 × lovesegfault quits (~bemeurer@37.219.94.34.bc.googleusercontent.com) (*.net *.split)
13:04:12 × TMA quits (tma@twin.jikos.cz) (*.net *.split)
13:05:36 Irenes joins (~irenes@NixOS/user/irenes)
13:05:36 seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
13:05:36 jess joins (jess@freenode/staff/jess)
13:05:36 aidecoe joins (~aidecoe@unaffiliated/aidecoe)
13:05:36 limbo joins (ar@45.63.9.236)
13:05:36 dilinger joins (~dilinger@spindle.queued.net)
13:05:36 cfricke joins (~cfricke@unaffiliated/cfricke)
13:05:36 coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
13:05:36 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
13:05:36 tabemann joins (~travisb@2600:1700:7990:24e0:1797:6b66:735:4572)
13:05:36 codedmart joins (codedmart@2600:3c01::f03c:92ff:fefe:8511)
13:05:36 juri_ joins (~juri@178.63.35.222)
13:05:36 alx741 joins (~alx741@186.178.109.231)
13:05:36 sdrodge_ joins (~sdrodge@unaffiliated/sdrodge)
13:05:36 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
13:05:36 mrchampion joins (~mrchampio@38.18.109.23)
13:05:36 Forlorn_ joins (~Forlorn@unaffiliated/forlorn)
13:05:36 caasih joins (sid13241@gateway/web/irccloud.com/x-ywhvuyflycmojjfa)
13:05:36 lovesegfault joins (~bemeurer@37.219.94.34.bc.googleusercontent.com)
13:05:36 ibloom joins (sid350277@gateway/web/irccloud.com/x-yhokoaaxqmoudodu)
13:05:36 alexknvl joins (sid259568@gateway/web/irccloud.com/x-wdxobfzstmpkvclf)
13:05:36 ahf joins (ahf@irssi/staff/ahf)
13:05:36 kloeri joins (~kloeri@freenode/staff/exherbo.kloeri)
13:05:36 kaletaa joins (~kaletaa@188.34.177.83)
13:05:36 joeytwiddle joins (~joeytwidd@162.243.115.31)
13:05:36 TMA joins (tma@twin.jikos.cz)
13:05:47 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
13:06:01 beaky joins (~beaky@2a03:b0c0:0:1010::17cf:7003)
13:06:11 × Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 240 seconds)
13:08:41 × ahf quits (ahf@irssi/staff/ahf) (Ping timeout: 245 seconds)
13:09:05 × gzj quits (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
13:09:26 gzj joins (~gzj@unaffiliated/gzj)
13:09:34 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
13:10:17 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
13:10:41 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 240 seconds)
13:12:17 Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net)
13:13:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:13:25 ahf joins (ahf@irssi/staff/ahf)
13:13:27 gzj joins (~gzj@unaffiliated/gzj)
13:14:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:14:25 gzj joins (~gzj@unaffiliated/gzj)
13:14:51 × jess quits (jess@freenode/staff/jess) (Quit: Reconnecting)
13:15:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:15:13 jess joins (jess@freenode/staff/jess)
13:15:27 gzj joins (~gzj@unaffiliated/gzj)
13:15:31 × limbo quits (ar@45.63.9.236) (Max SendQ exceeded)
13:16:01 limbo joins (ar@45.63.9.236)
13:16:06 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:16:26 gzj joins (~gzj@unaffiliated/gzj)
13:16:37 kiweun joins (~kiweun@2607:fea8:2a62:9600:c959:9dca:1ed1:e2e8)
13:17:06 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:17:26 gzj joins (~gzj@unaffiliated/gzj)
13:18:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:18:18 son0p joins (~ff@181.136.122.143)
13:18:47 gzj joins (~gzj@unaffiliated/gzj)
13:19:06 × cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 245 seconds)
13:19:06 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:19:25 gzj joins (~gzj@unaffiliated/gzj)
13:21:06 × kiweun quits (~kiweun@2607:fea8:2a62:9600:c959:9dca:1ed1:e2e8) (Ping timeout: 258 seconds)
13:21:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:21:28 gzj joins (~gzj@unaffiliated/gzj)
13:21:48 Tario joins (~Tario@201.192.165.173)
13:22:29 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
13:22:35 × tomboy64 quits (~tomboy64@unaffiliated/tomboy64) (Ping timeout: 246 seconds)
13:25:39 psydruid[m] joins (psydruidma@gateway/shell/matrix.org/x-dvmwnhqcosgmszks)
13:26:06 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds)
13:29:15 tomboy64 joins (~tomboy64@unaffiliated/tomboy64)
13:34:11 carlomagno joins (~cararell@148.87.23.9)
13:40:55 × aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 260 seconds)
13:46:12 Guest78317 joins (~laudiacay@67.176.215.84)
13:46:23 mmfood joins (~mmfood@185.176.246.69)
13:50:35 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 246 seconds)
13:58:16 × minoru_shiraeesh quits (~shiraeesh@46.34.207.53) (Ping timeout: 252 seconds)
14:00:06 × zva quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
14:01:43 waleee-cl joins (uid373333@gateway/web/irccloud.com/x-hagaqbxuugljakul)
14:02:52 dvdp73 joins (59736826@38.104.115.89.rev.vodafone.pt)
14:03:16 × LKoen_ quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
14:05:01 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
14:07:05 unyu joins (~pyon@unaffiliated/pyon)
14:07:25 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
14:07:47 zva joins (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de)
14:12:21 frozenErebus joins (~frozenEre@37.231.244.249)
14:14:56 × timCF quits (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving)
14:14:58 × unlink2 quits (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de) (Remote host closed the connection)
14:16:08 unlink2 joins (~unlink2@p57b8541f.dip0.t-ipconnect.de)
14:18:47 howdoi joins (uid224@gateway/web/irccloud.com/x-kxxbpbiihnerjfdd)
14:22:23 × sleblanc quits (~sleblanc@unaffiliated/sebleblanc) (Quit: Leaving)
14:24:20 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
14:24:58 gzj joins (~gzj@unaffiliated/gzj)
14:26:38 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
14:27:04 Jd007 joins (~Jd007@162.156.11.151)
14:30:06 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds)
14:30:11 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:30:42 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection)
14:31:07 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
14:32:12 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
14:33:04 × dvdp73 quits (59736826@38.104.115.89.rev.vodafone.pt) (Quit: Connection closed)
14:39:44 bedforddriggs joins (60fa4ff9@pool-96-250-79-249.nycmny.fios.verizon.net)
14:40:12 × alx741 quits (~alx741@186.178.109.231) (Quit: alx741)
14:42:15 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 265 seconds)
14:45:20 TheCavalry joins (~TheCavalr@217.146.82.202)
14:45:37 Deide joins (~Deide@217.155.19.23)
14:46:00 stree joins (~stree@68.36.8.116)
14:51:43 bitmapper joins (uid464869@gateway/web/irccloud.com/x-ggwmryvnqwlsouwu)
14:52:20 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
14:52:55 tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr)
14:54:21 cybai joins (~cybai@2400:4050:3122:900:f13a:fdb8:499e:2b92)
14:56:09 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
14:58:45 × idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
15:02:47 × zmijunkie quits (~Adium@87.122.210.20) (Ping timeout: 252 seconds)
15:05:23 × ericsagnes quits (~ericsagne@2405:6580:0:5100:4c23:9944:9bc8:e9ca) (Ping timeout: 260 seconds)
15:06:05 lawid joins (~quassel@2a02:8109:b5c0:5334:265e:beff:fe2a:dde8)
15:06:57 zmijunkie joins (~Adium@87.122.210.20)
15:08:30 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:4447:2758:9838:e84a)
15:11:58 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
15:12:42 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
15:13:24 <zzz> i was playing with ghc and "quickly and dirtly" measuring performance of simple variations on functions, and something sparked my curiosity. i made 3 versions of a function that run as expected when compiled, but ghci intrigues me
15:13:36 <zzz> https://gist.github.com/jrvieira/2820b46856ba1ec89453946557b0f427
15:14:13 <zzz> the second function runs faster than the third in ghci. anyone knows why? this is pure curiosity
15:17:03 <c_wraith> zzz: ghci will use compiled code if it already exists, but interprets code if it can't find a compiled version.
15:17:17 kiweun joins (~kiweun@2607:fea8:2a62:9600:a107:fd5c:d069:77e4)
15:17:25 <c_wraith> zzz: this matters because it knows where to find compiled code for map, which saves it from having to interpret all those list manipulations
15:18:04 ericsagnes joins (~ericsagne@2405:6580:0:5100:f641:c40f:5016:aacb)
15:18:24 <zzz> nice
15:19:01 <zzz> thanks, that was a uch simple answer than what i expected
15:19:11 <zzz> much simpler
15:19:32 × Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 240 seconds)
15:21:51 × kiweun quits (~kiweun@2607:fea8:2a62:9600:a107:fd5c:d069:77e4) (Ping timeout: 258 seconds)
15:22:24 <merijn> And the interpreted bytecode doesn't get the same level of optimisation as compiled code, which is why benchmarking stuff in ghci is also generally unwise if you care about real answers :)
15:23:36 <merijn> zzz: Also a plug for benchmarking stuff with some degree of accuracy: http://www.serpentine.com/criterion/ https://hackage.haskell.org/package/criterion
15:24:08 <zzz> i am aware! as i said, i was just playing around
15:24:21 <merijn> Sure, just pointing it out for the future :)
15:26:55 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
15:27:53 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
15:28:10 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 265 seconds)
15:28:54 <zzz> follow up question, while we are at it: any reason not to automate this optimization (from the 2nd to the 3rd function)?
15:30:31 <zzz> my intuition is that it would be something the compiler could do fairly straight forwardly
15:30:33 nineonine joins (~nineonine@2604:3d08:7785:9600:5c9e:8d21:d745:3944)
15:31:05 × nineonine quits (~nineonine@2604:3d08:7785:9600:5c9e:8d21:d745:3944) (Remote host closed the connection)
15:31:11 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
15:31:55 nineonine joins (~nineonine@2604:3d08:7785:9600:5c9e:8d21:d745:3944)
15:32:27 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:32:31 <tomsmeding> zzz: your second and third function do something different, they produce the result list in a different order
15:33:53 <tomsmeding> % let s1 [] = [[]]; s1 (x:xs) = let ss = s1 xs in map (x :) ss ++ ss
15:33:54 <yahb> tomsmeding:
15:33:57 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 252 seconds)
15:34:01 <tomsmeding> % let s2 [] = [[]]; s2 (x:xs) = let ss2 _ [] = [] ; ss2 x (y:ys) = (x:y) : y : ss2 x ys in ss2 x (s2 xs)
15:34:01 <yahb> tomsmeding:
15:34:02 Sheilong joins (uid293653@gateway/web/irccloud.com/x-qhaitevlgmfrqfwo)
15:34:11 <tomsmeding> % s1 [1..3]
15:34:12 <yahb> tomsmeding: [[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
15:34:15 <tomsmeding> % s2 [1..3]
15:34:15 <yahb> tomsmeding: [[1,2,3],[2,3],[1,3],[3],[1,2],[2],[1],[]]
15:34:29 <tomsmeding> ghc isn't going to do optimisations that change semantics :p
15:35:39 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:36:14 × nineonine quits (~nineonine@2604:3d08:7785:9600:5c9e:8d21:d745:3944) (Ping timeout: 245 seconds)
15:36:14 <zzz> i knew that would be the answer :) you can rewrite it so that it would be the same though, can't you?
15:36:27 × Kaiepi quits (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer)
15:36:38 <tomsmeding> incidentally this is why I like let-expressions better than while blocks for smaller things (excepting large helper methods); you can much more easily rewrite stuff because everything is compositional
15:36:42 Kaiepi joins (~Kaiepi@47.54.252.148)
15:36:58 <tomsmeding> zzz: can you?
15:37:24 <c_wraith> let's see what the list monad says!
15:37:26 <c_wraith> > filterM (const [True, False]) [1,2,3]
15:37:27 <lambdabot> [[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
15:37:38 <c_wraith> ok, yeah, that makes sense
15:39:15 vicfred joins (~vicfred@unaffiliated/vicfred)
15:43:06 × malumore quits (~malumore@151.62.117.136) (Ping timeout: 240 seconds)
15:43:11 knupfer joins (~Thunderbi@200116b82b4d2f00ccb7bffffea9a8f6.dip.versatel-1u1.de)
15:43:54 × knupfer quits (~Thunderbi@200116b82b4d2f00ccb7bffffea9a8f6.dip.versatel-1u1.de) (Remote host closed the connection)
15:44:02 knupfer joins (~Thunderbi@200116b82b4d2f00a98dd2f64b7ff0a2.dip.versatel-1u1.de)
15:44:31 nineonine joins (~nineonine@2604:3d08:7785:9600:5c9e:8d21:d745:3944)
15:44:36 <zzz> thank you for that
15:44:41 × TheCavalry quits (~TheCavalr@217.146.82.202) (Ping timeout: 260 seconds)
15:44:59 <c_wraith> it's exactly the same algorithm as your second version
15:45:08 <c_wraith> It just uses more built-in tooling
15:46:28 <zzz> tomsmeding: i don't get your let vs while argument. can you clarify?
15:46:44 × chele quits (~chele@5.53.222.202) (Remote host closed the connection)
15:46:51 <c_wraith> But yeah... when micro-optimizing things in this neighborhood, you usually get the best performance by carefully working to maximize sharing between adjacent results. this results in less garbage collection drag.
15:47:17 <tomsmeding> zzz: completely subjective argument, don't attach too much value to it :)
15:47:34 <tomsmeding> point was that in let-form, I can inline stuff so that it becomes a one-liner without thinking
15:47:50 <tomsmeding> in where-form, the scoping of that where block is very much unclear to me
15:47:52 <c_wraith> but that requires being careful about the order results are produced in. You can't just change the order without affecting the performance.
15:47:58 <zzz> tomsmeding: ah ok! you said "composition" and it confused me
15:48:13 <tomsmeding> "compositional" != "composition"
15:48:29 <zzz> got it
15:48:30 <tomsmeding> compositional = subexpressions have the same form as the whole expression
15:48:33 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.1)
15:48:38 <tomsmeding> "you can compose stuff arbitrarily"
15:48:56 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:49:31 × nineonine quits (~nineonine@2604:3d08:7785:9600:5c9e:8d21:d745:3944) (Ping timeout: 250 seconds)
15:50:18 <tomsmeding> fun fact, my ghc realises that the first and second versions are really the same thing and does no work at all for the second function if you evaluate them one after another
15:50:23 <tomsmeding> oh the joys of benchmarking
15:50:32 nineonine joins (~nineonine@50.216.62.2)
15:50:55 <c_wraith> like, an order optimizing sharing might look like [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
15:51:32 <c_wraith> (admittedly, not much sharing to be found when looking at a max of 3 elements)
15:54:54 <zzz> > filterM (const [False,True]) [1,2,3]
15:54:56 <lambdabot> [[],[3],[2],[2,3],[1],[1,3],[1,2],[1,2,3]]
15:55:04 <zzz> :(
15:55:21 <c_wraith> ... ok, that particular order probably doesn't have great algorithms for. There are other ways to approach it that probably get you better results.
15:55:44 <c_wraith> But it does have shared sublists as adjacent as possible, which was my goal
15:57:47 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
15:57:49 <c_wraith> I think it'd be easier to write an algorithm for [[3],[2,3],[1,2,3],[1,3],[2],[1,2],[1],[]]
15:58:03 <tomsmeding> I have a function that produces [[3,2,1],[2,1],[3,1],[1],[3,2],[2],[3],[]]
15:58:36 <tomsmeding> but it's only marginally faster than the map version, and zzz's third function is a lot faster still
15:58:51 <zzz> for this particular problem i would just generate 2^n binary numbers where 000 => [] , 001 => [1] , 010 => [2] , ... 110 => [2,3] , 111 => [1,2,3]
15:59:39 <tomsmeding> c_wraith: s4 input = let go base [] = [base] ; go base (x:xs) = go (x : base) xs ++ go base xs in go [] input
16:00:16 × slaterr quits (~bc8134e3@199.204.85.195) (Quit: CGI:IRC (Session timeout))
16:00:27 <c_wraith> It's true, I was maintaining the subsequence property, instead of allowing myself to go to subset as the name implies
16:01:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
16:01:32 Rudd0 joins (~Rudd0@185.189.115.103)
16:04:54 × Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 265 seconds)
16:10:43 × conal quits (~conal@64.71.133.70) (Read error: Connection reset by peer)
16:12:04 <zzz> filterM is fun
16:13:23 conal joins (~conal@64.71.133.70)
16:14:27 malumore joins (~malumore@151.62.117.136)
16:15:48 ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
16:16:24 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection)
16:16:47 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
16:21:20 × bedforddriggs quits (60fa4ff9@pool-96-250-79-249.nycmny.fios.verizon.net) (Quit: Connection closed)
16:22:54 × kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
16:22:58 Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net)
16:28:00 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:28:05 × haasn quits (~nand@mpv/developer/haasn) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
16:29:02 band joins (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net)
16:29:19 haasn joins (~nand@mpv/developer/haasn)
16:30:43 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:31:35 kritzefitz joins (~kritzefit@212.86.56.80)
16:31:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:32:46 <band> new haskell / cabal user here: installing pdftotext with cabal yields poppler.cc C++ extension errors. suggestions for fixing?
16:33:21 <band> er, that it "C++11 extensions" errors
16:33:40 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
16:36:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
16:40:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:45:13 <fendor> band, maybe pdftotext requires an old poppler version? So, it might need updating
16:45:32 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
16:45:33 elfets_ joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
16:46:30 <fendor> seems like pdftotext compiles some c++ sources. not sure there is an easy fix
16:46:40 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:47:21 puke joins (~vroom@217.138.252.184)
16:48:00 <band> fendor, thanks for the response -- much appreciated.
16:48:51 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
16:51:31 kupi joins (uid212005@gateway/web/irccloud.com/x-wwoexcijnelowmiu)
16:51:50 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
16:53:45 hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube)
16:54:10 × stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds)
16:56:43 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
16:57:34 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
16:58:49 <fendor> band, compilation worked for me out of the box for the pdftotext
16:58:53 <fendor> maybe share your errors?
17:01:09 <geekosaur> and what platform (Macs with clang may report different things from Linux or Windows with gcc)
17:02:49 Pickchea joins (~private@unaffiliated/pickchea)
17:03:04 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
17:03:25 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
17:03:49 Inexes joins (5534d86f@111.pool85-52-216.static.orange.es)
17:03:57 × band quits (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net) (Ping timeout: 260 seconds)
17:04:01 <Inexes> Hi all!!
17:04:12 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
17:05:00 <hyperisco> hi
17:05:00 danso joins (~dan@23-233-111-52.cpe.pppoe.ca)
17:06:10 <Inexes> Can I ask a question about an exercise that I have?
17:07:01 stree joins (~stree@68.36.8.116)
17:07:13 <geekosaur> generally you should just ask instead of asking to ask
17:10:02 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 268 seconds)
17:10:14 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
17:12:22 <Inexes> Ok, so I have a list of lists a = [[1,1,1,1], [1,2,3,1], [1,2,3,1], [1,1,1,1] ], and I need to take them out 2 by 2 to take them to a function that compares them. (sorry for my English, I use google translator), for example. -fx (x1: x2: xs) = compare x1 x2 ... but I no longer know how to make it compare the following lists ...
17:13:22 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
17:13:34 <Inexes> the idea is to compare x1 x2, next x2 x3, and finally x3 x4
17:14:45 <hpc> Inexes: think about how to make a list that has x2 and x3 as its first elements
17:14:56 <hpc> Inexes: you can pass that list to fx, and then do something to combine all the results
17:15:00 Sorna joins (~Sornaensi@077213200034.dynamic.telenor.dk)
17:17:22 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
17:18:06 × Sornaensis quits (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds)
17:18:17 jamm_ joins (~jamm@unaffiliated/jamm)
17:19:35 <Inexes> My idea is that when comparing x1 and x2 this is added to another list, "list x", for example, and when comparing with the rest, the whole result is added to "list x". The other functions I have already created and they work, but I don't know how to do this ...
17:19:35 <hpc> Inexes: you may also want to try one of the channels on https://wiki.haskell.org/IRC_channel#Language.2FCountry_specific
17:20:50 <Inexes> Hpc, I tried my native language channel, but nobody answered me :(
17:20:55 <hpc> :(
17:22:35 <hpc> one way to approach it is
17:23:01 <hpc> say you have your input list [w, x, y, z]
17:23:12 <hpc> or, w : x : y : z : []
17:23:36 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:23:38 <hpc> the output would be compare w x : compare x y : compare y z : []
17:23:49 <hpc> but what happens if the input list is just [x, y, z]?
17:24:16 <hpc> and think about how those output lists relate to each other
17:25:01 <hpc> or if the input list is just [y, z]
17:25:37 <hpc> with [w, x, y, z], when you pass that to fx, x1 = w, x2 = x, and xs = [y, z]
17:25:56 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
17:26:20 gzj joins (~gzj@unaffiliated/gzj)
17:26:37 × vicfred quits (~vicfred@unaffiliated/vicfred) (Remote host closed the connection)
17:27:09 vicfred joins (~vicfred@unaffiliated/vicfred)
17:27:52 × nan` quits (~nan`@unaffiliated/nan/x-5405850) (Quit: leaving)
17:27:58 × vicfred quits (~vicfred@unaffiliated/vicfred) (Max SendQ exceeded)
17:28:04 <Inexes> Ok I will try that solution, for this exercise it can help me. Thank you hpc
17:29:02 vicfred joins (~vicfred@unaffiliated/vicfred)
17:29:43 × vicfred quits (~vicfred@unaffiliated/vicfred) (Max SendQ exceeded)
17:31:07 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 252 seconds)
17:31:11 aveltras joins (uid364989@gateway/web/irccloud.com/x-cudhvvtoyvyrmfsp)
17:33:10 kiweun joins (~kiweun@2607:fea8:2a62:9600:890d:2e48:a6a5:21d5)
17:34:05 × jneira quits (501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182) (Ping timeout: 268 seconds)
17:34:46 <zzz> c_wraith: filterM is terribly inneficient. more so than the naive solution
17:34:48 <zzz> https://gist.github.com/jrvieira/2820b46856ba1ec89453946557b0f427
17:35:17 <zzz> i must be doing something wrong
17:35:59 band joins (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net)
17:36:38 <c_wraith> nah, I wouldn't expect it to be efficient compared to something more direct.
17:37:33 × kiweun quits (~kiweun@2607:fea8:2a62:9600:890d:2e48:a6a5:21d5) (Ping timeout: 258 seconds)
17:37:44 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
17:38:45 Sgeo_ joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
17:39:20 unlink_ joins (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de)
17:39:25 wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:40:05 smerdyakov3 joins (~dan@5.146.195.164)
17:40:12 MidAutumnHotaru7 joins (~MidAutumn@unaffiliated/midautumnhotaru)
17:40:14 haya0 joins (~haya@ec2-18-231-117-140.sa-east-1.compute.amazonaws.com)
17:40:16 texasmynsted_ joins (~texasmyns@99.96.221.112)
17:40:30 L1Cafe9 joins (~L1Cafe@kydara.com)
17:40:33 dcoutts joins (~duncan@94.186.125.91.dyn.plus.net)
17:40:58 jrm2 joins (~jrm@freebsd/developer/jrm)
17:41:05 dminuoso joins (~dminuoso@static.88-198-218-68.clients.your-server.de)
17:41:15 haasn` joins (~nand@mpv/developer/haasn)
17:41:18 carbolymer_ joins (~carbolyme@dropacid.net)
17:41:20 rann_ joins (sid175221@gateway/web/irccloud.com/x-htpbeywwyvgnitzj)
17:41:38 amosbird_ joins (~amosbird@13.75.119.182)
17:41:52 dmj`_ joins (sid72307@gateway/web/irccloud.com/x-hiydzdvhdibdbilo)
17:41:57 glamas_ joins (~glamas@107.182.17.237)
17:42:12 seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net)
17:42:24 ephemera__ joins (~E@122.34.1.187)
17:42:25 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
17:42:31 × band quits (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net) (Ping timeout: 260 seconds)
17:42:40 charukiewicz_ joins (~quassel@irouteince04.i.subnet.rcn.com)
17:42:41 <seven_three> is a function partial if it uses `error`?
17:42:45 <zzz> ah ok. i was expecting similar performance, being the same algorithm. but i get why it's not
17:42:48 vilarinux joins (~vilarinux@2804:1b3:3080:8d7:d8fb:9884:f9f1:feb1)
17:43:01 <zzz> seven_three: i would say so
17:43:17 malthe_ joins (~mborch@46.101.103.63)
17:43:18 falsifia1 joins (~falsifian@exoco.falsifian.org)
17:43:23 bob_twinkles_ joins (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com)
17:43:29 machined1od joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
17:43:34 <seven_three> zzz: ok thanks
17:43:38 SIben_ joins (~SIben@ns3106586.ip-5-135-191.eu)
17:43:57 tms__ joins (thomaav@cassarossa.samfundet.no)
17:43:58 × vilarinux quits (~vilarinux@2804:1b3:3080:8d7:d8fb:9884:f9f1:feb1) (Client Quit)
17:44:00 cohn_ joins (~noone@23.239.18.252)
17:44:06 oleks_ joins (~oleks@188.166.34.97)
17:44:10 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
17:45:31 dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net)
17:47:11 <fresheyeball> with a standard Setup.hs
17:47:18 <fresheyeball> how can I install one executable?
17:47:22 <monochrom> Yes seven_three.
17:47:34 <fresheyeball> cabal install myTarget works
17:47:52 <fresheyeball> ./Setup install myTarget fails, it' thinks myTarget is suppoed to be a flag
17:47:55 wraithm joins (~wraithm@unaffiliated/wraithm)
17:48:12 <monochrom> Right, I think Setup.hs doesn't support this.
17:48:34 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (*.net *.split)
17:48:34 × stree quits (~stree@68.36.8.116) (*.net *.split)
17:48:34 × haasn quits (~nand@mpv/developer/haasn) (*.net *.split)
17:48:34 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (*.net *.split)
17:48:34 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (*.net *.split)
17:48:34 × unlink2 quits (~unlink2@p57b8541f.dip0.t-ipconnect.de) (*.net *.split)
17:48:35 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (*.net *.split)
17:48:36 × notzmv quits (~zmv@unaffiliated/zmv) (*.net *.split)
17:48:36 × ephemera_ quits (~E@122.34.1.187) (*.net *.split)
17:48:36 × glamas quits (~glamas@107.182.17.237) (*.net *.split)
17:48:36 × davros quits (~davros@host86-185-126-190.range86-185.btcentralplus.com) (*.net *.split)
17:48:37 × ukari quits (~ukari@unaffiliated/ukari) (*.net *.split)
17:48:38 × cohn quits (~noone@unaffiliated/cohn) (*.net *.split)
17:48:38 × charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (*.net *.split)
17:48:39 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (*.net *.split)
17:48:39 × tms_ quits (thomaav@cassarossa.samfundet.no) (*.net *.split)
17:48:39 × jrm quits (~jrm@freebsd/developer/jrm) (*.net *.split)
17:48:40 × L1Cafe quits (~L1Cafe@kydara.com) (*.net *.split)
17:48:40 × dcoutts__ quits (~duncan@94.186.125.91.dyn.plus.net) (*.net *.split)
17:48:40 × apoc quits (~apoc@49.12.13.193) (*.net *.split)
17:48:41 × malthe quits (~mborch@46.101.103.63) (*.net *.split)
17:48:41 × carbolymer quits (~carbolyme@dropacid.net) (*.net *.split)
17:48:41 × L29Ah quits (~L29Ah@unaffiliated/l29ah) (*.net *.split)
17:48:42 × rann quits (sid175221@gateway/web/irccloud.com/x-jkryvxnehqtlncpj) (*.net *.split)
17:48:42 × dmj` quits (sid72307@gateway/web/irccloud.com/x-crrlyvbcezdwisgb) (*.net *.split)
17:48:42 × smerdyakov quits (~dan@5.146.195.164) (*.net *.split)
17:48:42 × bob_twinkles quits (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) (*.net *.split)
17:48:42 × amosbird quits (~amosbird@13.75.119.182) (*.net *.split)
17:48:42 × xlei quits (znc@unaffiliated/xlei) (*.net *.split)
17:48:43 × haya quits (~haya@ec2-18-231-117-140.sa-east-1.compute.amazonaws.com) (*.net *.split)
17:48:43 × oleks quits (~oleks@188.166.34.97) (*.net *.split)
17:48:43 × wraithm_ quits (~wraithm@unaffiliated/wraithm) (*.net *.split)
17:48:43 × texasmynsted quits (~texasmyns@99.96.221.112) (*.net *.split)
17:48:43 × dminuoso_ quits (~dminuoso@static.88-198-218-68.clients.your-server.de) (*.net *.split)
17:48:43 × falsifian quits (~falsifian@exoco.falsifian.org) (*.net *.split)
17:48:43 × SIben quits (~SIben@ns3106586.ip-5-135-191.eu) (*.net *.split)
17:48:44 × Khisanth quits (~Khisanth@11.sub-174-244-147.myvzw.com) (*.net *.split)
17:48:44 carbolymer_ is now known as carbolymer
17:48:45 jrm2 is now known as jrm
17:48:45 L1Cafe9 is now known as L1Cafe
17:48:45 haasn` is now known as haasn
17:48:45 dmj`_ is now known as dmj`
17:48:45 rann_ is now known as rann
17:48:46 MidAutumnHotaru7 is now known as MidAutumnHotaru
17:48:49 smerdyakov3 is now known as smerdyakov
17:48:50 xlei joins (znc@unaffiliated/xlei)
17:48:56 conal joins (~conal@64.71.133.70)
17:48:57 haya0 is now known as haya
17:48:57 <fresheyeball> monochrom: how does it know where to install to?
17:49:05 <fresheyeball> https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/haskell-modules/generic-builder.nix#L467
17:49:09 <monochrom> How about "Setup build"? Does it accept targets?
17:49:11 <fresheyeball> I am trying to make this work for a single exe
17:49:20 <fresheyeball> monochrom: yes it does
17:49:34 <monochrom> Then perhaps that's what you need.
17:49:38 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:49:51 <fresheyeball> well I still need the exe copied over
17:50:19 <monochrom> "Setup install" won't build anything.
17:50:30 × Inexes quits (5534d86f@111.pool85-52-216.static.orange.es) (Quit: Connection closed)
17:50:36 <fresheyeball> monochrom: I know, but currenlty it's copying the right spot atleast
17:50:41 × gawen_ quits (~gawen@163.172.122.128) (Ping timeout: 240 seconds)
17:50:41 <fresheyeball> I just need to know how it knows
17:50:44 <fresheyeball> env var?
17:50:59 <monochrom> "Setup configure --prefix foo".
17:51:12 gawen joins (~gawen@movzbl.root.sx)
17:51:17 <monochrom> If you don't have "--prefix=foo", there are defaults
17:52:17 <fresheyeball> monochrom: ok --prefix, got it
17:53:14 <monochrom> I still don't understand how "what is built, what is skipped" is related to "where to install to".
17:53:26 × ashesham` quits (~user@d8D87D1B0.access.telenet.be) (Ping timeout: 240 seconds)
17:53:47 <fresheyeball> monochrom: if I run ./Setup build myTarget
17:53:51 <fresheyeball> and then ./Setup install
17:54:03 <fresheyeball> it fails because the other targets are not built
17:54:13 <Zemyla> Is there a way to compile GHC to DJGPP so we can have DOS Haskell programs?
17:54:23 × wroathe_ quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
17:54:39 <monochrom> Ah OK. Does "Setup copy" exist? Maybe it is less strict about this.
17:54:39 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:55:03 stree joins (~stree@68.36.8.116)
17:55:04 Khisanth joins (~Khisanth@11.sub-174-244-147.myvzw.com)
17:55:21 davros joins (~davros@host86-185-126-190.range86-185.btcentralplus.com)
17:55:22 <monochrom> But Setup has a very different use case in mind. Basically for linux distro people, not developers.
17:55:36 <monochrom> neither developers nor users.
17:56:20 apoc joins (~apoc@49.12.13.193)
17:57:13 <fresheyeball> it does exist, no idea what it does though
17:58:01 <monochrom> If you go configure->build->haddock->copy, basically you never need install.
17:58:18 <geekosaur> Zemyla, non-release builds of ghc can target ANSI C, then take it to the target platform and compile. but it'll be slow
17:58:23 <monochrom> Yes that was the workflow of a previous life.
17:58:33 <fresheyeball> monochrom: what does the copy command look like?
17:58:44 <monochrom> "./Setup copy"
17:58:59 <fresheyeball> I mean can I do "./Setup copy mytarget" ?
17:59:15 <monochrom> You know that "./Setup foo --help" is a thing, right? For foo in configure, build, etc etc
17:59:55 <geekosaur> "unregisterised builds"
18:00:28 <geekosaur> (ghc itself hasn't targeted C since 6.12 or thenabouts)
18:02:46 <Zemyla> What is the oldest version of GHC that can compile current GHC?
18:03:19 <geekosaur> 2 versions back
18:04:11 alx741 joins (~alx741@186.178.109.231)
18:04:23 solidus-river joins (~mike@174.127.249.180)
18:04:41 <monochrom> And it is still possible that you can build but you can't use the build production.
18:04:46 <monochrom> s/production/product/
18:04:47 <geekosaur> so if you want 8.10.4 the oldest ghc that can build it is 8.6.5
18:05:14 <monochrom> If a GHC exe doesn't support -fvia-C then it doesn't. It doesn't matter who built it.
18:05:33 <geekosaur> I think you will have problems getting ghc onto DOS in any way
18:05:36 <solidus-river> hey all, i'm getting a cryptic error from stack that i don't understand. I've read the available docs and bug reports and they all seem old and i can't understand the answers. I'm building a app that has one executable and a test suite using hspec
18:05:44 <solidus-river> when i try to see coverage it says no code is considered
18:06:21 <monochrom> Well, it is 32-bit extended DOS since DJGPP is brought up.
18:06:27 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
18:06:42 <monochrom> Oh right, the RTS doesn't know DOS syscalls. Nevermind.
18:06:54 <monochrom> Or DJGPP syscalls for that matter.
18:07:48 <monochrom> It doesn't even know how to ask the OS for memory. (Answer: "don't worry about that" >:) )
18:08:18 <monochrom> Once again your best bet is with Hugs.
18:08:41 <monochrom> This is becoming a trend. Everyday, some problem can be easily solved by going Hugs.
18:09:20 <geekosaur> …provided it's compatible, since it's barely maintained these days
18:09:24 monochrom hugs Hugs
18:09:57 <monochrom> Yes I imagine whether GHC or Hugs, you will have to hack on them first. But much easier in the case of Hugs.
18:11:12 <monochrom> Is there a javascript-capable web browser on DOS? You would go GHCJS...
18:11:13 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
18:11:23 <monochrom> s/would/could/
18:12:07 band joins (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net)
18:12:13 mcglk joins (~textual@131.191.49.120)
18:12:23 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
18:12:30 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 265 seconds)
18:15:24 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
18:15:52 × rajivr quits (uid269651@gateway/web/irccloud.com/x-poljwzteeqldftix) (Quit: Connection closed for inactivity)
18:16:23 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
18:16:26 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
18:16:41 × band quits (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net) (Ping timeout: 240 seconds)
18:17:08 pthariensflame joins (~pthariens@2600:6c52:727f:4200:f91c:1561:8a9d:5bd1)
18:17:22 × philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:17:28 × pthariensflame quits (~pthariens@2600:6c52:727f:4200:f91c:1561:8a9d:5bd1) (Client Quit)
18:19:36 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
18:20:54 redmp joins (~redmp@172.58.22.204)
18:21:24 × falsifia1 quits (~falsifian@exoco.falsifian.org) (Quit: leaving)
18:21:44 × hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Quit: WeeChat 3.1)
18:21:44 band joins (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net)
18:22:19 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-ggwmryvnqwlsouwu) (Quit: Connection closed for inactivity)
18:22:35 falsifian joins (~falsifian@exoco.falsifian.org)
18:24:07 kiweun joins (~kiweun@2607:fea8:2a62:9600:64af:faf0:9188:52bf)
18:26:07 × band quits (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net) (Ping timeout: 252 seconds)
18:27:20 epicte7us joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
18:30:19 × ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds)
18:30:56 invaser joins (~Thunderbi@31.148.23.125)
18:31:17 <invaser> Hi guys! Is there a way to do the thing on screenshot without writing the expression twice? https://i.imgur.com/wGPuDio.png
18:31:51 <invaser> The only way I see now is to make a boolean function that will return true on pattern-matches with App and Lam
18:32:48 <invaser> And if I understand correctly, with pattern guards I can only match several patterns separated by comma, and it essentialy works as && while I need ||
18:33:35 jijimofo joins (~cmo@S010610561191f5d6.lb.shawcable.net)
18:36:14 <monochrom> showP ctx t | theBooleanFunction t =
18:36:57 <monochrom> In this particular case, there is one more factoring you can do.
18:37:25 minoru_shiraeesh joins (~shiraeesh@46.34.207.53)
18:37:27 <monochrom> parenthesize :: Bool -> String -> String
18:37:28 <solidus-river> or showP ctx t; | (x _ _) <- t, t `elem` [Lam, App] = blah
18:37:43 remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca)
18:37:45 <monochrom> parenthesize True s = "(" ++ s ++ ")"; parenthesize False s = s
18:38:25 <monochrom> showP ctx t = parenthesize (theBooleanFunction t) (show' ctx t)
18:38:56 <monochrom> No, solidus-river, there is no "(x _ _)" pattern.
18:39:43 <invaser> yeah, I also don't think that (x _ _) is possible
18:40:11 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
18:41:13 <invaser> thanks for the suggestion with parenthesize, didn't know it exists
18:41:28 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:41:45 <invaser> but with the new boolean function, I don't know. Seems to me that it won't make code easier to read in this case
18:42:08 <monochrom> s/theBooleanFunction/lamOrApp/
18:42:20 <invaser> yeah, I got it
18:42:24 <monochrom> in which the only unreadability is due to the camel case religion
18:42:25 × darjeeling_ quits (~darjeelin@122.245.209.158) (Ping timeout: 260 seconds)
18:42:35 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Read error: No route to host)
18:42:36 <monochrom> Yes that's right it's a religion.
18:42:43 <monochrom> lam_or_app is more readable.
18:43:06 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
18:43:07 <invaser> I mean, that introducing a new function only for it to be used one time seems like an overkill
18:43:21 <monochrom> Make it a local function.
18:44:18 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:45:55 band joins (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net)
18:46:00 <band> quit
18:46:04 × band quits (~band@104-57-176-102.lightspeed.austtx.sbcglobal.net) (Client Quit)
18:47:28 × Sorna quits (~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 268 seconds)
18:49:43 × minoru_shiraeesh quits (~shiraeesh@46.34.207.53) (Ping timeout: 265 seconds)
18:50:15 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
18:53:27 ph88 joins (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258)
18:56:50 darjeeling_ joins (~darjeelin@122.245.216.145)
19:00:17 minoru_shiraeesh joins (~shiraeesh@46.34.207.53)
19:02:58 electricityZZZZ joins (~electrici@135-180-3-82.static.sonic.net)
19:05:32 <dmj`> quit
19:06:05 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
19:06:06 <geekosaur> nope
19:06:48 × fendor quits (~fendor@178.165.129.61.wireless.dyn.drei.com) (Remote host closed the connection)
19:08:15 fendor joins (~fendor@178.165.129.61.wireless.dyn.drei.com)
19:09:46 forgottenone joins (~forgotten@176.42.21.81)
19:10:31 <maerwald> please stay
19:11:55 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
19:13:19 <dmj`> okay
19:15:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
19:15:45 pavonia joins (~user@unaffiliated/siracusa)
19:17:32 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
19:23:05 × elfets_ quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 246 seconds)
19:23:48 × DavidEichmann quits (~david@147.136.46.217.dyn.plus.net) (Remote host closed the connection)
19:24:52 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
19:26:31 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
19:26:44 __minoru__shirae joins (~shiraeesh@46.34.206.15)
19:27:11 × minoru_shiraeesh quits (~shiraeesh@46.34.207.53) (Ping timeout: 240 seconds)
19:27:17 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:27:53 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
19:29:28 ep1ctetus_ joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
19:30:56 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
19:31:46 × jijimofo quits (~cmo@S010610561191f5d6.lb.shawcable.net) (Remote host closed the connection)
19:32:17 × epicte7us quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds)
19:33:17 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:36:58 redmp_ joins (~redmp@172.58.22.224)
19:37:39 jakalx joins (~jakalx@base.jakalx.net)
19:37:58 × Kaivo quits (~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 260 seconds)
19:38:10 jneira joins (501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182)
19:38:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
19:39:26 epicte7us joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
19:39:46 × redmp quits (~redmp@172.58.22.204) (Ping timeout: 240 seconds)
19:40:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:41:03 kenanmarasli joins (1fdf0934@31.223.9.52)
19:42:01 × invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 252 seconds)
19:42:33 × ep1ctetus_ quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds)
19:42:56 Wo[m] parts (lykos-2021@gateway/shell/matrix.org/x-tfamvfkpyyipdlgr) ("User left")
19:44:23 <kenanmarasli> What's the proper way to use a list comprehension with record types? I want to apply some changes on a specific field of a record with a function that takes an array of these records:
19:44:24 <kenanmarasli> https://paste.tomsmeding.com/vHebaVIs
19:44:34 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
19:44:49 × tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 265 seconds)
19:46:13 <c_wraith> you're combining record update syntax with non-record syntax in a syntactically invalid way.
19:47:29 <c_wraith> You should pick one or the other. In this case, since you're really close to the non-record syntax: https://paste.tomsmeding.com/kbhOlxIa
19:47:59 <c_wraith> that's a fine way to do things. You can access constructor fields positionally, even with records
19:48:28 <kenanmarasli> OH, you are right! Why did I put those curly braces there!?
19:48:53 <c_wraith> With record update syntax, it'd look like this: https://paste.tomsmeding.com/Ep1EO360
19:49:31 <kenanmarasli> Thank you c_wraith. It's all clear to me now
19:49:41 <c_wraith> you're welcome. ==
19:49:58 <c_wraith> (ok, those equals signs were a typo and probably a sign I need lunch)
19:50:11 notzmv joins (~zmv@unaffiliated/zmv)
19:50:41 <lovesegfault> I'm trying to write a function aliquotSum :: Int -> Int, and I did this: aliquotSum = \n -> sum . filter (\i -> n `mod` i == 0) . [1..(n / 2 + 1)]
19:51:05 <lovesegfault> but I'm now in typecheck hell, can't really understand why :/
19:51:26 <Rembane> lovesegfault: What does the typechecker say?
19:51:41 <lovesegfault> • Couldn't match expected type ‘Int’ with actual type ‘a0 -> Int’
19:52:06 × aveltras quits (uid364989@gateway/web/irccloud.com/x-cudhvvtoyvyrmfsp) (Ping timeout: 258 seconds)
19:52:09 <lovesegfault> applying both to the whole function, and then I get the same error but just regarding [1..(n / 2 + 1)]
19:52:23 × wpcarro_ quits (sid397589@gateway/web/irccloud.com/x-sldapopyxsudveqd) (Ping timeout: 260 seconds)
19:52:23 × natim87 quits (sid286962@gateway/web/irccloud.com/x-zjxraovaekqnvloq) (Ping timeout: 260 seconds)
19:52:23 × joshmeredith quits (sid387798@gateway/web/irccloud.com/x-uxsrlglojomperah) (Ping timeout: 260 seconds)
19:52:35 <Rembane> lovesegfault: Remove the dot before the list
19:52:37 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-ycrvxeagazjstjgn) (Ping timeout: 250 seconds)
19:52:41 × totbwf quits (sid402332@gateway/web/irccloud.com/x-jgucijbluktlkqeh) (Read error: Connection reset by peer)
19:52:43 × ebutleriv quits (sid217783@gateway/web/irccloud.com/x-kcykiaawmgqipkin) (Read error: Connection reset by peer)
19:52:44 × systemfault quits (sid267009@gateway/web/irccloud.com/x-vjyxibauadwbmonn) (Read error: Connection reset by peer)
19:52:45 × cemerick quits (sid54985@gateway/web/irccloud.com/x-kwtgvqjjvamnvimg) (Read error: Connection reset by peer)
19:52:46 × eruditass quits (uid248673@gateway/web/irccloud.com/x-rmgyvfwfwnnqqsta) (Read error: Connection reset by peer)
19:52:46 × jared-w quits (uid405292@gateway/web/irccloud.com/x-keywjzriwtlueymw) (Ping timeout: 240 seconds)
19:52:46 × d0liver quits (sid363046@gateway/web/irccloud.com/x-bijzbspzjskqwcir) (Read error: Connection reset by peer)
19:52:48 × benwr____ quits (sid372383@gateway/web/irccloud.com/x-ynyqxqvppapkphki) (Ping timeout: 246 seconds)
19:52:51 × liquorice quits (sid267884@gateway/web/irccloud.com/x-gifxlxspxpkuruyr) (Read error: Connection reset by peer)
19:52:51 × ryjm quits (sid383513@gateway/web/irccloud.com/x-xahyphcnhjupdxdl) (Read error: Connection reset by peer)
19:52:51 × luite quits (sid387799@gateway/web/irccloud.com/x-xdgiulydxgunnqir) (Read error: Connection reset by peer)
19:52:51 × ReinH quits (sid179972@gateway/web/irccloud.com/x-yfquzpeultndckwv) (Read error: Connection reset by peer)
19:52:51 × alanz quits (sid110616@gateway/web/irccloud.com/x-qjhghsxjfupjbdeb) (Read error: Connection reset by peer)
19:52:51 × b20n quits (sid115913@gateway/web/irccloud.com/x-fxwwqjclpbrawyzj) (Read error: Connection reset by peer)
19:52:51 × davetapley quits (sid666@gateway/web/irccloud.com/x-ohjwsogbmepwkutt) (Read error: Connection reset by peer)
19:52:51 × bradparker quits (sid262931@gateway/web/irccloud.com/x-usqfoiaovgpgwnbj) (Read error: Connection reset by peer)
19:52:51 × SrPx quits (sid108780@gateway/web/irccloud.com/x-fmknnxofuaimdify) (Read error: Connection reset by peer)
19:52:51 × sz0 quits (uid110435@gateway/web/irccloud.com/x-zwmbhzhzwgqqzplk) (Read error: Connection reset by peer)
19:53:03 × AndreasK quits (sid320732@gateway/web/irccloud.com/x-gcnznttjjbhixeuo) (Read error: Connection reset by peer)
19:53:19 × aristid quits (sid1599@gateway/web/irccloud.com/x-xoxalrdohmfrqftu) (Ping timeout: 260 seconds)
19:53:22 <Rembane> lovesegfault: You can replace it with a $ if you want to, otherwise you need parentheses
19:53:48 × lally quits (sid388228@gateway/web/irccloud.com/x-jtlutemywqmachbj) (Ping timeout: 260 seconds)
19:53:50 <lovesegfault> Ah :D
19:53:52 × remby quits (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) (Quit: Going offline, see ya! (www.adiirc.com))
19:54:56 <c_wraith> You will still have a problem, though.
19:55:09 <c_wraith> > 4 / 2 :: Int
19:55:10 <lambdabot> error:
19:55:11 <lambdabot> • No instance for (Fractional Int) arising from a use of ‘/’
19:55:12 <lambdabot> • In the expression: 4 / 2 :: Int
19:55:25 <Rembane> lovesegfault: And you can put the argument to the function before the equal sign. Like this: aliquotSum n = ...
19:55:27 <lovesegfault> I did n `div` 2
19:55:40 <lovesegfault> Rembane: Ah, that is way nicer :D
19:56:03 × etrepum quits (sid763@gateway/web/irccloud.com/x-uvgwvvfyhdnxohap) (Ping timeout: 248 seconds)
19:56:23 <Rembane> lovesegfault: Good! ^^
19:56:27 <lovesegfault> what do I do if I want to bind a value to a name locally to a function? like `let limit = (n `div` 2) + 1`
19:56:36 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Quit: Leaving)
19:56:52 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
19:56:59 <Rembane> lovesegfault: f = let limit = (...) in {- the more exciting expression -}
19:57:11 <lovesegfault> Oh, perfection
19:57:29 natim87 joins (sid286962@gateway/web/irccloud.com/x-ozyrmmcfkllsqxsu)
19:57:31 AndreasK joins (sid320732@gateway/web/irccloud.com/x-spqgtdrtcwqozgos)
19:57:34 totbwf joins (sid402332@gateway/web/irccloud.com/x-evcibzlipwnkayzd)
19:57:35 aveltras joins (uid364989@gateway/web/irccloud.com/x-eamssxdveirheeam)
19:57:43 Synthetica joins (uid199651@gateway/web/irccloud.com/x-pljewtuwfmzflrit)
19:57:50 benwr____ joins (sid372383@gateway/web/irccloud.com/x-mijbqpsjqwboudpc)
19:57:53 luite joins (sid387799@gateway/web/irccloud.com/x-jstlojjciwjquony)
19:57:54 × coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
19:58:05 lally joins (sid388228@gateway/web/irccloud.com/x-ilucbequfappbwaf)
19:58:07 <Rembane> lovesegfault: Another version is to use a where-expression. f = {- the more exciting expression -} where f = (...)
19:58:12 liquorice joins (sid267884@gateway/web/irccloud.com/x-nzkqxgdtfgechhzd)
19:58:13 alanz joins (sid110616@gateway/web/irccloud.com/x-zzsuvrgaohwilheu)
19:58:14 joshmeredith joins (sid387798@gateway/web/irccloud.com/x-puyeogwrdolrmxnl)
19:58:14 systemfault joins (sid267009@gateway/web/irccloud.com/x-weqjiwsrsizmsttb)
19:58:14 ebutleriv joins (sid217783@gateway/web/irccloud.com/x-kdwwbglqjsasvtqj)
19:58:16 cemerick joins (sid54985@gateway/web/irccloud.com/x-dmosxtcpbaaxlpbx)
19:58:20 ryjm joins (sid383513@gateway/web/irccloud.com/x-mfvpahefkuhsmhxj)
19:58:22 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
19:58:24 d0liver joins (sid363046@gateway/web/irccloud.com/x-nemzonvlsnfdjkyk)
19:58:25 aristid joins (sid1599@gateway/web/irccloud.com/x-iysthznfdzhconze)
19:58:27 davetapley joins (sid666@gateway/web/irccloud.com/x-zjajcgkktmcxzflu)
19:58:29 ReinH joins (sid179972@gateway/web/irccloud.com/x-yupwkseagmcsclao)
19:58:29 b20n joins (sid115913@gateway/web/irccloud.com/x-wvurqfbcjkkidela)
19:58:37 jared-w joins (uid405292@gateway/web/irccloud.com/x-qitlcehrrgjsxmby)
19:58:41 wpcarro_ joins (sid397589@gateway/web/irccloud.com/x-ahewuhnoiijbwpmc)
19:58:52 etrepum joins (sid763@gateway/web/irccloud.com/x-kbeiueugazaifuth)
19:58:56 SrPx joins (sid108780@gateway/web/irccloud.com/x-yhksykcahzlylxhe)
19:59:02 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-osbdsklzblynzobo) (Quit: Connection closed for inactivity)
19:59:04 eruditass joins (uid248673@gateway/web/irccloud.com/x-xevwmrtrjszgvhcb)
19:59:06 sz0 joins (uid110435@gateway/web/irccloud.com/x-cbtqvvpmzwwkflbr)
19:59:22 <lovesegfault> is the only difference that one comes before and the other after?
19:59:25 bradparker joins (sid262931@gateway/web/irccloud.com/x-ipktkzcrditobyzs)
19:59:45 <lovesegfault> Another Q: In Rust, I can perform a match on std::cmp::Ordering like this: https://github.com/lovesegfault/exercism/blob/5a7f942130c82e60025d9a8787fb7eae8efd0c0e/rust/perfect-numbers/src/lib.rs#L18-L22
20:00:00 <lovesegfault> I know in Haskell a match is called case, but does a similar Ordering enum exist?
20:00:16 <monochrom> case xxx of { EQ -> ... ; GT -> ... ; LT -> ... }
20:00:25 <monochrom> can also use layout to replace {;}
20:00:45 <lovesegfault> Oh, are EQ,GT,LT just in the prelude?
20:00:50 usr25 joins (~usr25@unaffiliated/usr25)
20:01:10 <tomsmeding> :t EQ
20:01:13 <lambdabot> Ordering
20:01:22 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds)
20:01:22 Lord_of_Life_ is now known as Lord_of_Life
20:01:25 <c_wraith> @src Ordering
20:01:25 <lambdabot> data Ordering = LT | EQ | GT
20:01:27 <tomsmeding> :t compare
20:01:28 <lambdabot> Ord a => a -> a -> Ordering
20:02:14 <monochrom> I use "compare" in binary search tree algorithms.
20:02:21 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:03:20 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
20:05:12 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 240 seconds)
20:07:13 petersen joins (~petersen@redhat/juhp)
20:07:55 <lovesegfault> Okay, I got it :D
20:07:56 <lovesegfault> https://github.com/lovesegfault/exercism/blob/main/haskell/perfect-numbers/src/PerfectNumbers.hs
20:08:05 × redmp_ quits (~redmp@172.58.22.224) (Quit: reboot)
20:08:12 <lovesegfault> any feedback or ways I can improve?
20:08:35 <lovesegfault> side-note: I really like how "Just" reads in code "Just Perfect", "Just Deficient", lol
20:09:20 redmp joins (~redmp@172.58.19.67)
20:10:40 <tomsmeding> % let number = 42 in if even number then print "yes" else print "no"
20:10:40 <yahb> tomsmeding: "yes"
20:10:47 <tomsmeding> almost readable
20:11:11 × forgottenone quits (~forgotten@176.42.21.81) (Quit: Konversation terminated!)
20:11:24 <geekosaur> an = id -- :p
20:12:35 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
20:13:39 <tomsmeding> % let is = flip id ; the = id
20:13:39 <yahb> tomsmeding:
20:13:50 <tomsmeding> % let number = 42 in if the number `is` even then print "yes" else print "no"
20:13:50 <yahb> tomsmeding: "yes"
20:16:08 stree joins (~stree@68.36.8.116)
20:18:22 pfurla_ joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
20:18:27 × jess quits (jess@freenode/staff/jess) ()
20:18:35 × puke quits (~vroom@217.138.252.184) (Quit: puke)
20:18:40 jess joins (jess@freenode/staff/jess)
20:20:53 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 260 seconds)
20:21:11 × gnumonic quits (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
20:21:33 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
20:23:32 × alanz quits (sid110616@gateway/web/irccloud.com/x-zzsuvrgaohwilheu) (Ping timeout: 258 seconds)
20:26:08 alanz joins (sid110616@gateway/web/irccloud.com/x-wrkjabizodqmlyrt)
20:26:45 × sm quits (~user@li229-222.members.linode.com) (Remote host closed the connection)
20:30:31 × kupi quits (uid212005@gateway/web/irccloud.com/x-wwoexcijnelowmiu) (Quit: Connection closed for inactivity)
20:31:31 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
20:32:08 safinaskar joins (~user@109.252.90.136)
20:32:09 <safinaskar> hi
20:32:54 <Rembane> Hi!
20:33:27 × nineonine quits (~nineonine@50.216.62.2) (Remote host closed the connection)
20:33:52 <safinaskar> is there some way to embed tests to my sources? something like this: https://paste.debian.net/1194756/ ?
20:34:00 nineonine joins (~nineonine@50.216.62.2)
20:34:49 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
20:37:36 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:38:39 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
20:39:43 <geekosaur> @hackage cabal-doctest
20:39:43 <lambdabot> https://hackage.haskell.org/package/cabal-doctest
20:40:24 ep1ctetus_ joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
20:42:03 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Quit: Leaving)
20:42:11 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
20:42:28 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
20:42:46 <geekosaur> and http://hackage.haskell.org/package/doctest is the actual tests, as opposed to how to run them
20:42:56 ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
20:44:01 puke joins (~vroom@217.138.252.56)
20:44:02 × epicte7us quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 268 seconds)
20:45:03 pierrot is now known as canopus
20:45:12 × ep1ctetus_ quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 240 seconds)
20:45:12 canopus is now known as pierrot
20:49:37 <safinaskar> geekosaur: thanks
20:50:27 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
20:50:43 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
20:51:01 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:52:32 × nek0 quits (~nek0@mail.nek0.eu) (Remote host closed the connection)
20:52:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
20:53:52 elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
20:55:27 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
20:56:10 nek0 joins (~nek0@mail.nek0.eu)
20:57:25 × kenanmarasli quits (1fdf0934@31.223.9.52) (Quit: Connection closed)
20:57:32 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
21:04:16 pthariensflame joins (~pthariens@2600:6c52:727f:4200:d1a2:91f7:7953:5009)
21:04:21 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
21:04:51 Kaiepi joins (~Kaiepi@47.54.252.148)
21:05:16 × knupfer quits (~Thunderbi@200116b82b4d2f00a98dd2f64b7ff0a2.dip.versatel-1u1.de) (Ping timeout: 276 seconds)
21:05:22 × pthariensflame quits (~pthariens@2600:6c52:727f:4200:d1a2:91f7:7953:5009) (Client Quit)
21:07:26 × elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Quit: WeeChat 3.1)
21:09:41 elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
21:12:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:13:16 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
21:13:51 × alx741 quits (~alx741@186.178.109.231) (Quit: alx741)
21:15:09 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
21:15:54 alx741 joins (~alx741@186.178.109.231)
21:18:33 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
21:21:58 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 265 seconds)
21:24:15 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:26:50 × Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving)
21:27:03 jamm_ joins (~jamm@unaffiliated/jamm)
21:27:39 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
21:28:17 codygman__ joins (~user@47.186.207.161)
21:28:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
21:31:55 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 276 seconds)
21:39:43 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
21:41:06 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
21:41:38 hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube)
21:42:02 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
21:42:17 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:4447:2758:9838:e84a) (Quit: Leaving)
21:43:39 hexfive joins (~hexfive@50.35.83.177)
21:46:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
21:46:30 safinaskar parts (~user@109.252.90.136) ()
21:49:39 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
21:50:43 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
21:51:27 <sm[m]> You can also use ordinary hunit tests in the same file
21:57:02 DavidEichmann joins (~david@147.136.46.217.dyn.plus.net)
22:01:21 bor0 joins (~boro@unaffiliated/boro/x-000000001)
22:02:01 Rudd0 joins (~Rudd0@185.189.115.108)
22:03:07 × solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection)
22:03:27 <bor0> I have a data type as follows: `data Arith = Z | S Arith | Plus Arith Arith`. I have two functions: one of them does `f [GoLeft:xs] r (Plus x y) = Plus (f xs r x) y` (so it kinda applies a function to every term), and another function `g [GoLeft:xs] (Plus x y) = x`. is there a better name for these functions? the first one seems to be some kind of a fold but I'm not sure
22:04:31 <bor0> basically the first one kinda "modifies" the terms while the second one just "reads" them. I named them `applyX` and `getX` to start with
22:05:50 × michalz quits (~user@185.246.204.56) (Remote host closed the connection)
22:12:30 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
22:13:32 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
22:16:31 × elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
22:16:41 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:17:22 solidus-river joins (~fuag1@174.127.249.180)
22:17:41 × bor0 quits (~boro@unaffiliated/boro/x-000000001) (Quit: Leaving)
22:18:10 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection)
22:18:22 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 268 seconds)
22:18:53 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
22:20:18 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
22:21:14 <solidus-river> is there any reason I wouldn't be able to pass a data structure with filled out partially applied callback functions over an MVar between threads?
22:21:17 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
22:21:23 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
22:22:55 × zva quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.0)
22:23:19 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 245 seconds)
22:24:06 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
22:24:15 fendor_ joins (~fendor@178.115.128.219.wireless.dyn.drei.com)
22:25:22 × codygman__ quits (~user@47.186.207.161) (Ping timeout: 252 seconds)
22:25:41 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
22:27:37 × fendor quits (~fendor@178.165.129.61.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
22:29:37 × howdoi quits (uid224@gateway/web/irccloud.com/x-kxxbpbiihnerjfdd) (Quit: Connection closed for inactivity)
22:30:42 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
22:31:46 <monochrom> No reason.
22:32:27 <monochrom> But words are always more misleading than actual code examples.
22:33:32 × guest421` quits (~user@49.5.6.87) (Ping timeout: 240 seconds)
22:35:47 × fendor_ quits (~fendor@178.115.128.219.wireless.dyn.drei.com) (Read error: Connection reset by peer)
22:35:57 × dsrt^ quits (dsrt@ip98-184-89-2.mc.at.cox.net) ()
22:36:42 stree joins (~stree@68.36.8.116)
22:36:45 <solidus-river> i have a library process i want to run in another thread but that process needs to start some sub threads and pass back signaling functions for the main program
22:39:18 <solidus-river> i could always make the call a 2 part handshake but going the mvar route seems harder for someone not interested in the libraries implementation details to mess up
22:39:25 tsandstr joins (~user@nat-130-132-173-221.central.yale.edu)
22:39:25 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
22:40:46 × redmp quits (~redmp@172.58.19.67) (Ping timeout: 252 seconds)
22:40:58 × aveltras quits (uid364989@gateway/web/irccloud.com/x-eamssxdveirheeam) (Quit: Connection closed for inactivity)
22:41:44 <tsandstr> I have a question about writing Haskell in emacs. I want to use lsp-haskell, and I recall that I had it working at one point in time, but now I can't get it to do anything. It claims to be running, but whenever I try to jump to a definition or view the type information of an identifier, it fails with a message along the lines of "LSP :: Not found for: fname". Any ideas on what is wrong? If this is the wrong place to
22:41:44 <tsandstr> ask, I apologize.
22:42:18 redmp joins (~redmp@172.58.19.67)
22:42:58 <geekosaur> #haskell-language-server might be more helpful
22:43:38 <tsandstr> Thank you!
22:44:02 elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
22:46:38 <solidus-river> why is recognizing a co-monadic pattern useful code wise? if things swap back and forth from one monad to another is there an optimization that can be done at the compiler level? or am I misunderstanding what a co monad is?
22:47:02 <solidus-river> trying to decipher why its an interesting topic from a coding standpoint, it kinda seems like pointing out that there are 2 modes of computation being done
22:47:17 <solidus-river> but i think i'm missing an "aha" there
22:48:19 <geekosaur> "comonad" is something different from that. monad has return/pure and bind; comonad has extract and extend
22:48:58 <geekosaur> so it's kind of the "opposite" of a monad
22:49:59 <geekosaur> https://stackoverflow.com/questions/8428554/what-is-the-comonad-typeclass-in-haskell might be of interest
22:51:49 <solidus-river> geekosaur, thanks! :) reading
22:52:16 mekeor joins (~user@2001:a61:2508:9601:50e:85a3:5209:cb06)
22:53:02 × tsandstr quits (~user@nat-130-132-173-221.central.yale.edu) (Remote host closed the connection)
22:54:03 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
22:57:55 finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
23:00:05 × jneira quits (501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182) (Quit: Connection closed)
23:06:22 nrh^ joins (nrh@ip98-184-89-2.mc.at.cox.net)
23:10:18 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:10:35 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
23:11:34 × elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
23:15:48 × son0p quits (~ff@181.136.122.143) (Remote host closed the connection)
23:16:12 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
23:17:32 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
23:18:01 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 250 seconds)
23:18:24 berberman joins (~berberman@unaffiliated/berberman)
23:19:14 curiousgay joins (~gay@178.217.208.8)
23:20:03 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 260 seconds)
23:20:46 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:21:25 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
23:22:01 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
23:22:51 × xff0x quits (~xff0x@2001:1a81:5291:ee00:8d5:6829:975f:eb62) (Ping timeout: 260 seconds)
23:26:35 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-pljewtuwfmzflrit) (Quit: Connection closed for inactivity)
23:28:36 × {abby} quits (~{abby}@unaffiliated/demhydraz) (Quit: Ping timeout (120 seconds))
23:30:33 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
23:30:51 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
23:35:14 Guest78317 joins (~laudiacay@67.176.215.84)
23:37:05 <edwardk> geekosaur: comonads and monads serve very different purposes in haskell. i find monads tend to build up to a nice throw-everything-and-the-kitchen-sink-in coding pattern, where you gather up all the functionality you want in one place. because monads are easy to get into and hard to get out of.
23:37:08 <edwardk> er solidus-river
23:37:49 <edwardk> on the other hand comonads are super easy to 'get out of' but hard to build/keep around. so you tend to wind up with lots of little comonads helping you out in your code base, if you know to look for them
23:39:04 <edwardk> sure there are a few extra interesting ones, comonads for cellular automata, or streaming calculations, but mostly they wind up being little thin wrappers around some data type that give you an extra bit of functionality. e.g. the Ur comonad for unrestricted use in linear-base, or some kind of Env comonad that gives you a piece of extra data
23:42:18 <solidus-river> thanks, those links are dense to parse but i'll keep readin em and check back if nothings clicking next week, really want to grok comonads and arrows or kleisli composition
23:42:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:43:10 <solidus-river> I got scared off from using stateT in things after hearing about the leak problems is this reasonable or are those leaks edge cases that are easily avoided
23:43:35 × haritz quits (~hrtz@unaffiliated/haritz) (Ping timeout: 250 seconds)
23:44:01 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 258 seconds)
23:44:54 xff0x joins (~xff0x@2001:1a81:52cf:7d00:b2d0:1364:2669:3f2f)
23:45:05 haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
23:45:05 × haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
23:45:05 haritz joins (~hrtz@unaffiliated/haritz)
23:47:38 philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
23:48:10 × tabaqui1 quits (~tabaqui@2604:a880:800:c1::21b:3001) (Quit: WeeChat 3.1-dev)
23:48:19 tabaqui joins (~tabaqui@2604:a880:800:c1::21b:3001)
23:52:09 × puke quits (~vroom@217.138.252.56) (Quit: puke)
23:53:55 × rj__ quits (~x@gateway/tor-sasl/rj) (Quit: rj__)
23:54:10 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
23:57:07 <solidus-river> these comonad posts are very interesting but sound like intense use cases, whats a pedestrian example of a comonad. Cellular automata are cool but also seem really abstract
23:59:45 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)

All times are in UTC on 2021-04-22.