Home liberachat/#haskell: Logs Calendar

Logs on 2021-06-05 (liberachat/#haskell)

00:01:53 × ddellacosta quits (~ddellacos@86.106.121.82) (Ping timeout: 268 seconds)
00:11:50 renzhi joins (~xp@2607:fa49:6500:bc00::e7b)
00:13:36 × pritambaral quits (~pritam@user/pritambaral) (Ping timeout: 268 seconds)
00:16:15 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:dc99:9b3a:b6b8:6bb9) (Quit: Leaving)
00:20:42 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
00:22:47 UpstreamSalmon joins (uid12077@id-12077.stonehaven.irccloud.com)
00:22:47 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
00:22:55 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
00:23:32 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
00:25:22 × stardust1p quits (~sd@45.12.220.116) (Ping timeout: 272 seconds)
00:26:55 pe200012 joins (~pe200012@183.63.73.33)
00:27:10 ddellacosta joins (~ddellacos@86.106.121.108)
00:27:59 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
00:31:21 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
00:31:35 × ddellacosta quits (~ddellacos@86.106.121.108) (Ping timeout: 245 seconds)
00:34:05 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 245 seconds)
00:35:59 novasenco is now known as nova
00:37:50 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
00:38:08 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
00:39:39 ddellacosta joins (~ddellacos@89.45.224.118)
00:40:45 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
00:40:59 <arahael> Do we have a good library that can, for the english locale only, convert ISO 8601 dates to something like "15th June"? (Discarding the year)
00:42:02 ddellaco_ joins (~ddellacos@107.182.237.18)
00:42:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:43:56 <arahael> Well, I'd settle with "appropriate" suffixes for a number, eg, 3 -> "3rd", and 15 -> "15th", I suppose I could code that myself, there's only 10 possible digits anyway...
00:44:26 × ddellacosta quits (~ddellacos@89.45.224.118) (Ping timeout: 268 seconds)
00:46:30 <geekosaur> that's the one part that's missing from the time library (otherwise what you asked for is format "%e %B")
00:46:54 × ddellaco_ quits (~ddellacos@107.182.237.18) (Ping timeout: 268 seconds)
00:48:23 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds)
00:49:27 kadoban[m] joins (~kadobanem@2001:470:69fc:105::f34)
00:50:20 kadoban is now known as mud
00:51:06 × kadoban[m] quits (~kadobanem@2001:470:69fc:105::f34) (Client Quit)
00:51:13 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
00:51:19 kadoban[m] joins (~kadoban@user/kadoban)
00:51:25 kadoban[m] is now known as kadoban
00:52:57 <arahael> So what's the "simplest" way to do this in haskell?
00:53:04 <arahael> Code my own routine, or?
00:57:14 hmmmas joins (~chenqisu1@183.217.202.217)
01:00:36 ddellacosta joins (~ddellacos@86.106.121.87)
01:02:25 × waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
01:04:17 <geekosaur> I'd just code it up myself over the output of the standard date formatting stuff
01:04:36 × alx741 quits (~alx741@186.178.108.209) (Quit: alx741)
01:04:55 × ddellacosta quits (~ddellacos@86.106.121.87) (Ping timeout: 245 seconds)
01:05:17 alx741 joins (~alx741@186.178.108.209)
01:09:26 <arahael> pragmatic :)
01:10:55 mud is now known as kadobanana
01:10:57 × xff0x_ quits (~xff0x@2001:1a81:5380:1300:997a:5bba:2f5a:1c40) (Ping timeout: 268 seconds)
01:11:17 xff0x_ joins (~xff0x@2001:1a81:5380:1300:de6d:d78:3575:a268)
01:13:26 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
01:14:18 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
01:16:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
01:17:32 ddellacosta joins (~ddellacos@89.46.62.39)
01:19:22 ddellaco_ joins (~ddellacos@89.46.62.17)
01:19:26 × epolanski quits (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
01:22:30 × ddellacosta quits (~ddellacos@89.46.62.39) (Ping timeout: 264 seconds)
01:24:19 haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt)
01:26:04 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
01:26:30 nosewings joins (~ncoltharp@2603-8081-3e05-e2d0-79b7-155e-fe6f-5897.res6.spectrum.com)
01:30:45 × xff0x_ quits (~xff0x@2001:1a81:5380:1300:de6d:d78:3575:a268) (Ping timeout: 244 seconds)
01:30:56 ddellacosta joins (~ddellacos@86.106.121.235)
01:32:30 xff0x_ joins (~xff0x@2001:1a81:53bd:ad00:33b8:39e3:482a:7de0)
01:35:05 × zeenk quits (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
01:38:14 × learner-monad quits (~ehanneken@user/learner-monad) (Quit: WeeChat 3.1)
01:41:26 machinedgod joins (~machinedg@24.105.81.50)
01:42:38 learner-monad joins (~ehanneken@user/learner-monad)
01:45:54 × geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 264 seconds)
01:51:10 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 245 seconds)
01:51:46 × listofoptions quits (~haha@047-005-156-009.res.spectrum.com) (Read error: Connection reset by peer)
01:55:32 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
01:57:37 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 244 seconds)
02:00:05 biberu\ joins (~biberu@user/biberu)
02:00:26 × ddellaco_ quits (~ddellacos@89.46.62.17) (Remote host closed the connection)
02:00:55 ddellaco_ joins (~ddellacos@89.46.62.17)
02:03:18 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 244 seconds)
02:03:18 × biberu quits (~biberu@user/biberu) (Ping timeout: 244 seconds)
02:03:18 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
02:03:18 biberu\ is now known as biberu
02:03:30 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
02:03:35 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
02:03:35 ddellac__ joins (~ddellacos@89.46.62.48)
02:03:46 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
02:03:47 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 272 seconds)
02:04:13 × Chobbes quits (~Chobbes@user/chobbes) (Ping timeout: 272 seconds)
02:04:19 × dy quits (~dy@user/dy) (Excess Flood)
02:04:51 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
02:05:03 Chobbes joins (~Chobbes@user/chobbes)
02:05:42 × ddellaco_ quits (~ddellacos@89.46.62.17) (Ping timeout: 264 seconds)
02:07:02 dy joins (~dy@user/dy)
02:10:04 × learner-monad quits (~ehanneken@user/learner-monad) (Quit: WeeChat 3.1)
02:10:11 × bilegeek quits (~bilegeek@2600:1008:b06d:65ed:93d7:e6a:a06d:9e4) (Quit: Leaving)
02:12:54 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 264 seconds)
02:14:03 × ddellac__ quits (~ddellacos@89.46.62.48) (Remote host closed the connection)
02:14:14 aerona joins (~aerona@2600:6c54:4600:f300:68ad:c2aa:4825:fdf8)
02:14:20 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:14:33 ddellaco_ joins (~ddellacos@89.46.62.48)
02:16:12 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
02:16:36 dwt_ joins (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net)
02:16:53 × derelict quits (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com) (Ping timeout: 272 seconds)
02:18:40 × ddellaco_ quits (~ddellacos@89.46.62.48) (Ping timeout: 245 seconds)
02:21:44 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
02:23:50 × tcard quits (~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
02:24:20 × xff0x_ quits (~xff0x@2001:1a81:53bd:ad00:33b8:39e3:482a:7de0) (Ping timeout: 268 seconds)
02:24:42 xff0x_ joins (~xff0x@2001:1a81:53bd:ad00:e0a5:9b7f:4056:a56c)
02:28:14 × td_ quits (~td@94.134.91.156) (Ping timeout: 272 seconds)
02:28:37 × kw quits (~user@2605:a601:a615:f600:601:15f2:ebf9:271) (Ping timeout: 244 seconds)
02:29:20 td_ joins (~td@muedsl-82-207-238-014.citykom.de)
02:37:17 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
02:42:42 pfurla_ joins (~pfurla@65.15.195.173.client.static.strong-in52.as13926.net)
02:43:17 Guest31 joins (~Guest31@187.83.249.216.dyn.smithville.net)
02:44:35 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:45:09 ddellaco_ joins (~ddellacos@86.106.121.82)
02:45:58 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 272 seconds)
02:49:06 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:50:06 × ddellaco_ quits (~ddellacos@86.106.121.82) (Ping timeout: 264 seconds)
02:50:27 dunkeln joins (~dunkeln@94.129.65.28)
02:52:42 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
02:54:18 × Guest31 quits (~Guest31@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
03:00:01 × haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
03:01:27 haasn joins (~nand@haasn.dev)
03:02:12 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 244 seconds)
03:03:28 derelict joins (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com)
03:03:33 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:08:24 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
03:10:07 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
03:12:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:13:14 × Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
03:15:31 × nosewings quits (~ncoltharp@2603-8081-3e05-e2d0-79b7-155e-fe6f-5897.res6.spectrum.com) (Ping timeout: 268 seconds)
03:17:02 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
03:18:54 × sheepduck quits (~sheepduck@2607:fea8:2a60:b700::8a94) (Remote host closed the connection)
03:19:24 Erutuon joins (~Erutuon@user/erutuon)
03:19:58 × alx741 quits (~alx741@186.178.108.209) (Quit: alx741)
03:24:34 sheepduck joins (~sheepduck@2607:fea8:2a60:b700::8a94)
03:26:10 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
03:28:28 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
03:28:28 Lord_of_Life_ is now known as Lord_of_Life
03:30:56 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
03:31:07 × xff0x_ quits (~xff0x@2001:1a81:53bd:ad00:e0a5:9b7f:4056:a56c) (Ping timeout: 265 seconds)
03:31:54 xff0x_ joins (~xff0x@2001:1a81:53bd:ad00:a03e:d591:6a58:dc1c)
03:31:58 × pe200012 quits (~pe200012@183.63.73.33) (Quit: Konversation terminated!)
03:33:55 Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net)
03:35:26 ddellaco_ joins (~ddellacos@89.46.62.43)
03:38:11 otto_s_ joins (~user@p5de2f70a.dip0.t-ipconnect.de)
03:40:06 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
03:40:11 × ddellaco_ quits (~ddellacos@89.46.62.43) (Ping timeout: 268 seconds)
03:41:35 × otto_s quits (~user@p5de2f806.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
03:43:16 × pfurla_ quits (~pfurla@65.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 268 seconds)
03:46:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
03:48:22 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:53:21 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
03:54:06 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
03:56:01 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
03:56:19 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
03:56:54 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
03:58:51 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
03:59:42 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
04:00:18 chaosite joins (~chaosite@user/chaosite)
04:00:57 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
04:03:55 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
04:05:28 × chaosite quits (~chaosite@user/chaosite) (Ping timeout: 268 seconds)
04:06:43 machinedgod joins (~machinedg@24.105.81.50)
04:07:27 ikex joins (~ash@user/ikex)
04:08:30 × monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER)
04:11:49 bilegeek joins (~bilegeek@2600:1008:b06d:65ed:93d7:e6a:a06d:9e4)
04:15:21 monochrom joins (trebla@216.138.220.146)
04:23:48 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
04:24:26 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
04:25:12 lavaman joins (~lavaman@98.38.249.169)
04:30:46 guest65 joins (~user@114.250.138.169)
04:30:59 <guest65> how to do sleep or delay in async?
04:31:00 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:31:31 <guest65> Control.Cocurrent.Async
04:34:03 <glguy> There isn't an async specific way
04:34:11 <glguy> You can use Control.Concurrent.threadDelay
04:35:58 Bartosz joins (~textual@24.35.90.211)
04:36:15 × hmmmas quits (~chenqisu1@183.217.202.217) (Quit: Leaving.)
04:37:24 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
04:38:12 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
04:38:18 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
04:41:35 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
04:41:52 pe200012 joins (~pe200012@183.63.73.33)
04:48:54 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
04:54:43 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:55:15 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:59:57 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:00:01 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
05:02:48 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
05:03:05 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
05:03:50 justsomeguy joins (~justsomeg@user/justsomeguy)
05:04:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
05:07:47 tose joins (~tose@ip-85-160-8-254.eurotel.cz)
05:10:36 × tose quits (~tose@ip-85-160-8-254.eurotel.cz) (Client Quit)
05:11:11 tose joins (~tose@ip-85-160-8-254.eurotel.cz)
05:12:44 × guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection)
05:14:42 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
05:15:18 × renzhi quits (~xp@2607:fa49:6500:bc00::e7b) (Ping timeout: 264 seconds)
05:16:55 × lucky quits (~joel@user/lucky) (Read error: No route to host)
05:17:50 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
05:18:01 guest61 joins (~xxx@47.245.54.240)
05:18:01 hughjfchen joins (~hughjfche@vmi556545.contaboserver.net)
05:18:40 × ikex quits (~ash@user/ikex) (Ping timeout: 245 seconds)
05:18:47 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Client Quit)
05:18:49 × guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection)
05:19:19 guest61 joins (~xxx@47.245.54.240)
05:22:33 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
05:22:34 ikex joins (~ash@user/ikex)
05:24:29 <guest65> could ghc run on debian 10 on arm?
05:24:57 <guest65> I see there's only a version available on debian 9
05:25:03 × bilegeek quits (~bilegeek@2600:1008:b06d:65ed:93d7:e6a:a06d:9e4) (Quit: Leaving)
05:25:14 <guest65> llvm9 is specified
05:27:11 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:32:32 × UpstreamSalmon quits (uid12077@id-12077.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
05:36:29 ddellaco_ joins (~ddellacos@89.46.62.25)
05:40:45 × ddellaco_ quits (~ddellacos@89.46.62.25) (Ping timeout: 245 seconds)
05:41:06 × guest65 quits (~user@114.250.138.169) (Quit: ERC (IRC client for Emacs 26.3))
05:43:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:53:06 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 264 seconds)
05:57:26 × curiousgay quits (~quassel@178.217.208.8) (Ping timeout: 252 seconds)
05:58:19 × derelict quits (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com) (Ping timeout: 268 seconds)
06:05:27 kluk joins (~kluk@2603-7000-9b3f-6934-dcad-778f-416c-181b.res6.spectrum.com)
06:06:25 Bartosz joins (~textual@24.35.90.211)
06:06:43 node-sh joins (~node-sh@223.228.227.129)
06:06:59 × fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 272 seconds)
06:08:03 × o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
06:08:36 × tose quits (~tose@ip-85-160-8-254.eurotel.cz) (Quit: WeeChat 3.0)
06:15:27 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Read error: Connection reset by peer)
06:16:00 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
06:16:00 × kluk quits (~kluk@2603-7000-9b3f-6934-dcad-778f-416c-181b.res6.spectrum.com) (Read error: Connection reset by peer)
06:17:35 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
06:17:35 × node-sh quits (~node-sh@223.228.227.129) (Read error: Connection reset by peer)
06:17:42 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
06:18:17 node-sh joins (~node-sh@2401:4900:3b31:9a25:5489:f4a4:3182:a2f0)
06:27:34 rk04 joins (~rk04@user/rajk)
06:29:06 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
06:31:11 mc47 joins (~yecinem@89.246.239.190)
06:31:27 × mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection)
06:31:51 mc47 joins (~yecinem@89.246.239.190)
06:34:51 × TheRAt quits (~TheRAt@user/therat) (Ping timeout: 272 seconds)
06:35:14 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:36:55 × notzmv quits (~zmv@user/notzmv) (Remote host closed the connection)
06:37:07 × aerona quits (~aerona@2600:6c54:4600:f300:68ad:c2aa:4825:fdf8) (Quit: Leaving)
06:38:39 × img quits (~img@2405:6580:b1c0:2500:836a:9768:6f91:445b) (Quit: ZNC 1.8.1 - https://znc.in)
06:38:57 tcard joins (~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
06:40:24 hmmmas joins (~chenqisu1@183.217.202.217)
06:40:28 notzmv joins (~zmv@user/notzmv)
06:40:55 img joins (~img@2405:6580:b1c0:2500:9987:109a:ace3:e76f)
06:41:39 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
06:42:25 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 245 seconds)
06:43:00 chomwitt joins (~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5)
06:43:39 kluk joins (~kluk@2603-7000-9b3f-6934-dcad-778f-416c-181b.res6.spectrum.com)
06:44:02 × rk04 quits (~rk04@user/rajk) (Quit: rk04)
06:44:36 <kluk> Hi all. I am having a hard time getting started using a resizable array. I tried vector, I did cabal install vector, I go to ghci, I do import Data.Vector, it doesn't work - what am I missing?
06:44:52 rk04 joins (~rk04@user/rajk)
06:45:58 dunkeln joins (~dunkeln@94.129.65.28)
06:47:43 reumeth joins (~reumeth@user/reumeth)
06:48:44 × mthvedt quits (uid501949@id-501949.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
06:49:35 <pavonia> kluk: Define "doesn't work"
06:49:58 <kluk> pavonia : "Could not find module ‘Data.Vector.Mutable’"
06:50:42 <pavonia> The cabal compilation was without errors?
06:52:39 wonko joins (~wjc@62.115.229.50)
06:52:59 <kluk> pavonia : ah, I was missing "cabal install --lib vector". Thanks!
06:56:10 × fabfianda quits (~fabfianda@net-93-148-121-206.cust.vodafonedsl.it) (Ping timeout: 245 seconds)
06:57:00 fabfianda joins (~fabfianda@mob-5-90-247-94.net.vodafone.it)
07:03:03 × kluk quits (~kluk@2603-7000-9b3f-6934-dcad-778f-416c-181b.res6.spectrum.com) (Read error: Connection reset by peer)
07:11:59 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
07:13:21 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
07:13:40 × fabfianda quits (~fabfianda@mob-5-90-247-94.net.vodafone.it) (Ping timeout: 245 seconds)
07:14:13 fabfianda joins (~fabfianda@net-93-148-121-206.cust.dsl.teletu.it)
07:14:56 helby joins (~x@alpine/moderator/helby)
07:16:00 <[exa]> is there any good tool for generating static sites where the input is more like "generated" than sourced from *.md files lying around?
07:16:42 <maerwald> like an actual DSL?
07:18:01 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
07:18:02 <[exa]> not really sure
07:18:25 <[exa]> I've got a bunch of functions to document, each with variants, these will likely be specified in some very concise machine-friendly format
07:18:46 <[exa]> I need to expand that to pages for each variant of the functions + reasonable crosslinks and preferably an index
07:20:25 <[exa]> (side story: I even tried sphinx for rendering because "community standard" right, but it died with "error: popping from empty list" or something when I tried to reference a function. So I erased it again as it should be)
07:20:30 ukari joins (~ukari@user/ukari)
07:22:36 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 244 seconds)
07:23:27 <[exa]> What I wanted to avoid is making sure that the links and paths and everything is allright manually
07:23:53 <[exa]> kinda guessing that I could hack this into hakyll or some other existing generator but there's no howto going in that direction
07:27:10 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
07:29:29 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
07:30:20 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
07:32:18 [exa] eyes `slick`
07:36:34 dunkeln joins (~dunkeln@94.129.65.28)
07:37:42 ddellaco_ joins (~ddellacos@107.182.237.15)
07:38:02 gehmehgeh joins (~user@user/gehmehgeh)
07:40:06 × malvo quits (~malvo@malvo.org) (Read error: Connection reset by peer)
07:41:06 × oxide quits (~lambda@user/oxide) (Ping timeout: 264 seconds)
07:41:42 bfrk joins (~Thunderbi@200116b845406c003a5dd7b952e89ac0.dip.versatel-1u1.de)
07:42:14 × ddellaco_ quits (~ddellacos@107.182.237.15) (Ping timeout: 244 seconds)
07:42:25 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
07:46:37 fendor joins (~fendor@91.141.0.144.wireless.dyn.drei.com)
07:48:49 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
07:53:23 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
07:58:40 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
08:00:10 × pe200012 quits (~pe200012@183.63.73.33) (Remote host closed the connection)
08:00:12 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:00:40 pe200012 joins (~pe200012@183.63.73.33)
08:01:04 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:02:02 mpt joins (~tom@p57a566f5.dip0.t-ipconnect.de)
08:04:33 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:c4cd:bb0f:bbfb:d57f)
08:06:46 dunkeln joins (~dunkeln@94.129.65.28)
08:08:15 × rk04 quits (~rk04@user/rajk) (Ping timeout: 245 seconds)
08:09:04 hendursa1 joins (~weechat@user/hendursaga)
08:09:41 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
08:09:58 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:10:49 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds)
08:11:24 neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
08:11:41 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 244 seconds)
08:12:45 × mpt quits (~tom@p57a566f5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
08:17:26 <sm[m]> [exa], maybe Shake + (blaze-html or lucid)
08:18:10 <sm[m]> also, for rendering md files I can recommend mdbook as a simpler sphinx
08:23:15 <[exa]> yeah I found slick which is basically shake + some template renderer
08:23:31 <[exa]> kinda expecting I'll just factor out slick to end up with shake+something
08:23:43 <[exa]> (likely pandoc and ginger)
08:25:00 <[exa]> mdbook look cool thanks
08:25:46 RatSalad joins (~saravana@183.82.176.150)
08:26:04 RatSalad parts (~saravana@183.82.176.150) ()
08:27:39 imdoor joins (~imdoor@balticom-142-78-50.balticom.lv)
08:29:59 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
08:31:52 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
08:34:37 nosewings joins (~ncoltharp@2603-8081-3e05-e2d0-cd7e-03b0-df99-c405.res6.spectrum.com)
08:35:58 × nosewings quits (~ncoltharp@2603-8081-3e05-e2d0-cd7e-03b0-df99-c405.res6.spectrum.com) (Remote host closed the connection)
08:41:42 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 264 seconds)
08:46:30 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 264 seconds)
08:46:58 azeem joins (~azeem@176.200.249.211)
08:53:15 × azeem quits (~azeem@176.200.249.211) (Ping timeout: 245 seconds)
08:53:41 azeem joins (~azeem@176.200.249.211)
08:54:58 <sm[m]> perhaps just enough custom code to generate your reference markdown, then mdbook to render all nicely, do the link checking etc.
08:55:06 helby parts (~x@alpine/moderator/helby) ()
08:57:09 × node-sh quits (~node-sh@2401:4900:3b31:9a25:5489:f4a4:3182:a2f0) (Ping timeout: 244 seconds)
08:57:34 <sm[m]> or will it be less work to write it all yourself to do just what you need ? tough call
08:58:21 × azeem quits (~azeem@176.200.249.211) (Read error: Connection reset by peer)
08:59:21 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
09:03:05 jakalx joins (~jakalx@base.jakalx.net)
09:03:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
09:17:27 zeenk joins (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41)
09:19:45 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
09:24:35 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 272 seconds)
09:26:19 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
09:27:46 × pe200012 quits (~pe200012@183.63.73.33) (Remote host closed the connection)
09:28:18 pe200012 joins (~pe200012@120.236.162.25)
09:38:43 ddellaco_ joins (~ddellacos@89.46.62.127)
09:43:15 × ddellaco_ quits (~ddellacos@89.46.62.127) (Ping timeout: 245 seconds)
09:50:04 × psydroid quits (~psydroidm@2001:470:69fc:105::165) (Changing host)
09:50:04 psydroid joins (~psydroidm@user/psydroid)
09:50:24 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
09:51:33 <[exa]> sm[m]: yeah, tough. I'm staying with shake it seems, I might need to generate more stuff and that does it just right
09:54:30 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
09:54:54 × chomwitt quits (~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5) (Ping timeout: 264 seconds)
09:57:55 tubogram joins (~tubogram@203.86.197.210)
10:02:06 × river quits (~river@tilde.team/user/river) (Quit: Leaving)
10:05:39 wei2912 joins (~wei2912@112.199.250.21)
10:11:35 × tubogram quits (~tubogram@203.86.197.210) (Changing host)
10:11:35 tubogram joins (~tubogram@user/tubogram)
10:12:46 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
10:13:13 dunkeln joins (~dunkeln@94.129.65.28)
10:13:25 gehmehgeh joins (~user@user/gehmehgeh)
10:14:15 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:21:10 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
10:21:10 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 245 seconds)
10:21:18 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
10:23:56 grepcake joins (~artyom@77.234.209.96)
10:26:06 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 264 seconds)
10:30:21 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
10:32:12 oxide joins (~lambda@user/oxide)
10:32:48 ukari joins (~ukari@user/ukari)
10:38:25 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 244 seconds)
10:41:51 azeem joins (~azeem@176.200.210.238)
10:42:47 Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr)
10:47:05 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:51:29 malvo joins (~malvo@malvo.org)
10:52:23 tremon joins (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl)
10:52:25 × azeem quits (~azeem@176.200.210.238) (Ping timeout: 245 seconds)
10:53:24 dhil joins (~dhil@195.213.192.47)
10:53:48 × GIANTWORLDKEEPER quits (~pjetcetal@2.95.204.25) (Read error: Connection reset by peer)
10:55:19 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
10:56:05 × Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 252 seconds)
10:56:19 GIANTWORLDKEEPER joins (~pjetcetal@2.95.204.25)
10:58:44 dunkeln joins (~dunkeln@94.129.65.28)
10:59:34 Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr)
11:00:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:03:46 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
11:04:38 node-sh joins (~node-sh@2401:4900:3b31:9a25:5489:f4a4:3182:a2f0)
11:09:07 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer)
11:09:18 × grepcake quits (~artyom@77.234.209.96) (Ping timeout: 264 seconds)
11:16:52 grepcake joins (~artyom@77.234.209.96)
11:19:28 amahl joins (~amahl@dxv5skyjrs0nnb65v1dgy-3.rev.dnainternet.fi)
11:24:48 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
11:27:18 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
11:32:02 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer)
11:32:51 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
11:34:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
11:39:48 ddellaco_ joins (~ddellacos@89.46.62.66)
11:40:30 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds)
11:44:19 rk04 joins (~rk04@user/rajk)
11:44:23 __monty__ joins (~toonn@user/toonn)
11:44:36 pritambaral joins (~pritam@user/pritambaral)
11:44:42 × ddellaco_ quits (~ddellacos@89.46.62.66) (Ping timeout: 264 seconds)
11:46:05 × malvo quits (~malvo@malvo.org) (Remote host closed the connection)
11:46:21 malvo joins (~malvo@malvo.org)
11:46:28 Deide joins (~Deide@wire.desu.ga)
11:46:29 × Deide quits (~Deide@wire.desu.ga) (Changing host)
11:46:29 Deide joins (~Deide@user/deide)
11:47:06 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 264 seconds)
11:48:20 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
11:49:34 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
11:49:42 henninb joins (~henninb@63-226-165-91.mpls.qwest.net)
11:49:50 azeem joins (~azeem@176.200.210.238)
11:50:20 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
11:52:39 × hmmmas quits (~chenqisu1@183.217.202.217) (Quit: Leaving.)
11:52:47 × rk04 quits (~rk04@user/rajk) (Ping timeout: 272 seconds)
11:53:48 BestSteve joins (~beststeve@220-135-3-239.HINET-IP.hinet.net)
11:58:37 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 265 seconds)
12:02:09 × xff0x_ quits (~xff0x@2001:1a81:53bd:ad00:a03e:d591:6a58:dc1c) (Ping timeout: 268 seconds)
12:02:37 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
12:02:47 xff0x joins (~xff0x@2001:1a81:53bd:ad00:17e2:a38d:f46d:1b9f)
12:04:05 × pe200012 quits (~pe200012@120.236.162.25) (Ping timeout: 245 seconds)
12:04:09 pe200012_ joins (~pe200012@120.236.162.25)
12:14:29 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 268 seconds)
12:22:41 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
12:23:52 boxscape joins (~boxscape@user/boxscape)
12:24:49 <boxscape> % sizeOf 0
12:24:49 <yahb> boxscape: 8
12:25:02 <boxscape> I'm quite surprised that ghc is able to figure out that this is supposed to be Int
12:25:12 <boxscape> rather than saying "ambiguous type variable"
12:26:32 <boxscape> If there's a Storable instance for Integer, it chooses that instead
12:27:18 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 264 seconds)
12:31:35 × azeem quits (~azeem@176.200.210.238) (Ping timeout: 245 seconds)
12:32:18 × skn quits (~znc@sec.nimmagadda.net) (Quit: ZNC 1.8.2 - https://znc.in)
12:33:17 skn joins (~znc@2001:19f0:5:701:5400:ff:fe7c:4e5c)
12:34:00 × node-sh quits (~node-sh@2401:4900:3b31:9a25:5489:f4a4:3182:a2f0) (Quit: Leaving)
12:35:43 × haltux quits (~haltux@a89-154-181-47.cpe.netcabo.pt) (Remote host closed the connection)
12:35:58 azeem joins (~azeem@176.200.210.238)
12:36:05 bfrk parts (~Thunderbi@200116b845406c003a5dd7b952e89ac0.dip.versatel-1u1.de) ()
12:40:20 × azeem quits (~azeem@176.200.210.238) (Ping timeout: 245 seconds)
12:42:55 dunkeln joins (~dunkeln@94.129.65.28)
12:44:44 azeem joins (~azeem@176.200.210.238)
12:45:38 Xnuk joins (~xnuk@45.76.202.58)
12:46:23 chomwitt joins (~Pitsikoko@athedsl-20549.home.otenet.gr)
12:46:29 <Xnuk> >> unwords ["Hello", "world"]
12:46:35 <Xnuk> > unwords ["Hello", "world"]
12:46:36 <lambdabot> "Hello world"
12:48:24 × grepcake quits (~artyom@77.234.209.96) (Ping timeout: 268 seconds)
12:49:05 <malvo> > let hi = hi in hi
12:49:07 <lambdabot> *Exception: <<loop>>
12:49:30 × azeem quits (~azeem@176.200.210.238) (Ping timeout: 264 seconds)
12:49:33 <malvo> that's too bad
12:49:39 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
12:50:31 lavaman joins (~lavaman@98.38.249.169)
12:51:41 azeem joins (~azeem@176.201.29.119)
12:52:37 pe200012 joins (~pe200012@58.248.179.167)
12:52:45 × pe200012_ quits (~pe200012@120.236.162.25) (Ping timeout: 244 seconds)
12:53:05 <Xnuk> Can I expect no more spams in this server?
12:53:30 <malvo> yes, sorry
12:53:51 <malvo> just wanted to know what would happen ._.
12:53:54 <boxscape> malvo not sure that was referring to you
12:54:34 × pritambaral quits (~pritam@user/pritambaral) (Ping timeout: 268 seconds)
12:54:37 <Xnuk> yes I'm not referring you
12:54:40 <Xnuk> sorry
12:54:43 <malvo> ah ok
12:54:43 <boxscape> malvo in any case, a quick lambdabot query is not unusual for this channel, though fwiw, if you want to, you can ask lambdabot things privately by using /query lambdabot
12:55:30 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 264 seconds)
12:55:31 <malvo> good to know, thanks!
12:55:39 <boxscape> Xnuk I haven't gotten any spam in DMs, I saw one spam message in this channel a couple of days ago, though generally ops are pretty quick
12:56:10 <Xnuk> thats good
12:58:38 × azeem quits (~azeem@176.201.29.119) (Read error: Connection reset by peer)
13:00:16 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
13:00:43 o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
13:00:52 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
13:00:58 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
13:01:03 alx741 joins (~alx741@186.178.108.209)
13:01:29 ukari joins (~ukari@user/ukari)
13:01:55 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:03:20 fryguybob joins (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
13:06:23 o1lo01ol_ joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
13:06:40 <stefan-_> when writing an aeson json object, the fields are in a different order than specified, is there a workaround or a good alternative to aeson?
13:06:40 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer)
13:07:00 × o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
13:07:27 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
13:07:38 epolanski joins (uid312403@id-312403.brockwell.irccloud.com)
13:09:26 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
13:12:25 <Xnuk> JSON spec doesn't covers object fields' order, do you mean orders in Haskell's data type?
13:13:50 <stefan-_> Xnuk, i mean the object field order, when the aeson Object is encoded to json text
13:15:54 × Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 264 seconds)
13:17:17 <boxscape> stefan-_ it's apparently highly recommended to do things in ways that ensure that object field order does not matter, see https://stackoverflow.com/questions/4515676/keep-the-order-of-the-json-keys-during-json-conversion-to-csv/4515863#4515863
13:18:04 × chomwitt quits (~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 244 seconds)
13:23:24 lavaman joins (~lavaman@98.38.249.169)
13:23:54 geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com)
13:26:02 o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
13:26:03 × o1lo01ol_ quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
13:26:46 derelict joins (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com)
13:26:47 × favonia_ quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
13:27:02 <Xnuk> Or you could override ToJSON#toEncoding, with some good luck https://hackage.haskell.org/package/aeson-1.5.6.0/docs/Data-Aeson-Types.html#v:toEncoding
13:27:53 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
13:30:54 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:32:13 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
13:32:17 × eight quits (~eight@user/eight) (Ping timeout: 252 seconds)
13:33:23 × derelict quits (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com) (Ping timeout: 252 seconds)
13:35:46 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
13:37:40 dariof4 joins (~dario@5.11.108.150)
13:39:19 × skn quits (~znc@2001:19f0:5:701:5400:ff:fe7c:4e5c) (Quit: ZNC 1.8.2 - https://znc.in)
13:39:39 skn joins (~znc@2001:19f0:5:701:5400:ff:fe7c:4e5c)
13:40:58 ddellaco_ joins (~ddellacos@86.106.121.56)
13:43:28 <stefan-_> Xnuk, boxscape, thanks
13:43:54 reumeth joins (~reumeth@user/reumeth)
13:46:29 × ddellaco_ quits (~ddellacos@86.106.121.56) (Ping timeout: 244 seconds)
13:47:50 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1)
13:47:57 × dariof4 quits (~dario@5.11.108.150) (Quit: WeeChat 3.1)
13:47:57 machinedgod joins (~machinedg@24.105.81.50)
13:53:21 <boxscape> % class A a where test :: a -> ()
13:53:21 <yahb> boxscape:
13:53:23 <boxscape> % instance A a where test = const ()
13:53:23 <yahb> boxscape:
13:53:25 <boxscape> % test 45
13:53:26 <yahb> boxscape: ()
13:53:29 <boxscape> errr
13:53:33 <boxscape> % instance A Int where test = const ()
13:53:33 <yahb> boxscape:
13:53:35 <boxscape> % test 45
13:53:35 <yahb> boxscape: ()
13:53:37 <boxscape> dammit
13:53:50 <boxscape> I must have messed up because I expected to get an ambiguous type variable error
13:54:06 <boxscape> and was going to ask why it doesn't happen with sizeOf 45
13:54:15 notzmv joins (~zmv@user/notzmv)
13:54:52 × ddellacosta quits (~ddellacos@86.106.121.235) (Remote host closed the connection)
13:55:08 <boxscape> % class A a where test :: a -> () -- need to redefine the class to get rid of the first instance
13:55:08 <yahb> boxscape:
13:55:13 <boxscape> % instance A Int where test = const ()
13:55:13 <yahb> boxscape:
13:55:16 <boxscape> % test 45
13:55:16 <yahb> boxscape: ; <interactive>:31:1: error:; * Ambiguous type variable `a0' arising from a use of `test'; prevents the constraint `(A a0)' from being solved.; Probable fix: use a type annotation to specify what `a0' should be.; These potential instance exist:; instance [safe] A Int -- Defined at <interactive>:30:10; * In the expression: test 45; In an equation for `it': it = test
13:55:39 <boxscape> % sizeOf 45 -- so, uh, yeah, why don't I get that error message here?
13:55:39 <yahb> boxscape: 8
13:56:09 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
13:57:23 zebrag joins (~chris@user/zebrag)
13:59:06 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds)
14:02:27 favonia joins (~favonia@user/favonia)
14:03:50 <janus> maybe it is something lambdabot specific?
14:04:11 <boxscape> janus no, it happens in ghci as well
14:04:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
14:06:18 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 264 seconds)
14:06:36 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
14:09:38 <ski> % test (45 :: Int)
14:09:38 <yahb> ski: ()
14:09:44 eight joins (~eight@user/eight)
14:10:32 <ski> % instance A Integer where test !_ = ()
14:10:32 <yahb> ski:
14:10:40 × pe200012 quits (~pe200012@58.248.179.167) (Remote host closed the connection)
14:10:46 <ski> % test (undefined :: Int)
14:10:46 <yahb> ski: ()
14:10:51 <ski> % test (undefined :: Integer)
14:10:51 <yahb> ski: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:37:7 in interactive:Ghci33
14:11:07 <boxscape> % test 45
14:11:07 <yahb> boxscape: ()
14:11:18 pe200012 joins (~pe200012@120.236.162.25)
14:11:27 <ski> well, in this case, i suppose it defaults to `Integer'
14:11:36 <boxscape> yeah
14:12:16 <ski> % class A a where {test :: a -> ()}; instance A Int where {test = const ()}; instance A Bool where {test !_ = ()}
14:12:17 <yahb> ski:
14:12:22 <ski> % test 45
14:12:22 <yahb> ski: ; <interactive>:40:1: error:; * Ambiguous type variable `a0' arising from a use of `test'; prevents the constraint `(A a0)' from being solved.; Probable fix: use a type annotation to specify what `a0' should be.; These potential instances exist:; instance [safe] A Bool -- Defined at <interactive>:39:85; instance [safe] A Int -- Defined at <interactive>:39:45; * In
14:12:50 × neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 244 seconds)
14:13:07 <ski> satisfied ?
14:13:36 <boxscape> ski erm, I'm still not sure why I don't get that error message with sizeOf
14:13:47 <boxscape> % sizeOf (45 :: Integer)
14:13:47 <yahb> boxscape: ; <interactive>:41:1: error:; * No instance for (Storable Integer) arising from a use of `sizeOf'; * In the expression: sizeOf (45 :: Integer); In an equation for `it': it = sizeOf (45 :: Integer)
14:13:57 <boxscape> it's not defaulting to Integer, in that case, so..
14:14:16 grepcake joins (~artyom@77.234.209.96)
14:14:24 <geekosaur> defaulting to Double?
14:15:00 <janus> % sizeOf (45 :: _)
14:15:00 <yahb> janus: ; <interactive>:42:15: error:; * Found type wildcard `_' standing for `Double'; To use the inferred type, enable PartialTypeSignatures; * In an expression type signature: _; In the first argument of `sizeOf', namely `(45 :: _)'; In the expression: sizeOf (45 :: _); * Relevant bindings include it :: Int (bound at <interactive>:42:1)
14:15:08 <geekosaur> and ExtendedDefaultRules so it applies this to Storable instead of just the builtin ones
14:15:08 <boxscape> ahh, okay
14:15:22 dunkeln joins (~dunkeln@94.129.65.28)
14:15:23 <geekosaur> (iirc)
14:15:38 <boxscape> % :set -XNoExtendedDefaultRules
14:15:38 <yahb> boxscape:
14:15:45 <boxscape> % sizeOf (45 :: _)
14:15:45 <yahb> boxscape: ; <interactive>:45:1: error:; * Ambiguous type variable `a0' arising from a use of `sizeOf'; prevents the constraint `(Storable a0)' from being solved.; Probable fix: use a type annotation to specify what `a0' should be.; These potential instances exist:; instance Storable a => Storable (Complex a) -- Defined in `Data.Complex'; instance forall a k (b :: k). Storable
14:15:53 <boxscape> yep, thanks geekosaur
14:17:36 × grepcake quits (~artyom@77.234.209.96) (Client Quit)
14:17:43 safinaskar joins (~user@109.252.90.89)
14:17:58 <safinaskar> is there some guide "how to design good haskell APIs"?
14:18:49 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:19:48 × Natch quits (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection)
14:20:28 <janus> % default (Int)
14:20:28 <yahb> janus:
14:20:31 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
14:20:32 FinnElija is now known as Guest2629
14:20:32 finn_elija is now known as FinnElija
14:20:33 <janus> % sizeOf (45 :: _)
14:20:33 <yahb> janus: ; <interactive>:48:1: error:; * Ambiguous type variable `a0' arising from a use of `sizeOf'; prevents the constraint `(Storable a0)' from being solved.; Probable fix: use a type annotation to specify what `a0' should be.; These potential instances exist:; instance Storable a => Storable (Complex a) -- Defined in `Data.Complex'; instance forall a k (b :: k). Storable
14:20:56 <janus> % :set -XExtendedDefaultRules
14:20:56 <yahb> janus:
14:20:59 <janus> % sizeOf (45 :: _)
14:20:59 <yahb> janus: ; <interactive>:50:15: error:; * Found type wildcard `_' standing for `Int'; To use the inferred type, enable PartialTypeSignatures; * In an expression type signature: _; In the first argument of `sizeOf', namely `(45 :: _)'; In the expression: sizeOf (45 :: _); * Relevant bindings include it :: Int (bound at <interactive>:50:1)
14:21:14 <janus> oooh i did not know this default syntax :O
14:21:14 grepcake joins (~artyom@77.234.209.96)
14:21:35 lavaman joins (~lavaman@98.38.249.169)
14:21:47 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
14:22:11 <janus> safinaskar: i think Graninas has written a book that claims to answer this question. But there are varied opinions about it ;)
14:22:39 <janus> % default _
14:22:39 <yahb> janus: ; <interactive>:51:9: error: parse error on input `_'
14:23:03 <boxscape> huh why does the _ in sizeOf (45 :: _) now stand for Int when it stood for double a few lines before that
14:23:15 <boxscape> oh
14:23:20 <boxscape> because you typed default (Int)
14:23:27 <janus> right, i am a hax0r
14:23:31 <boxscape> :)
14:23:54 favonia joins (~favonia@user/favonia)
14:24:01 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
14:25:11 <safinaskar> janus: thanks
14:25:45 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
14:28:20 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 244 seconds)
14:28:26 renzhi joins (~xp@2607:fa49:6500:bc00::e7b)
14:28:44 Natch joins (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
14:31:26 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
14:31:49 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
14:32:30 ddellacosta joins (~ddellacos@86.106.143.183)
14:35:55 <boxscape> % class A a where {test :: a -> ()}; instance A Int where {test = const ()}
14:35:55 <yahb> boxscape:
14:35:56 <boxscape> % test 45
14:35:56 <yahb> boxscape: ; <interactive>:6:1: error:; * Ambiguous type variable `a0' arising from a use of `test'; prevents the constraint `(A a0)' from being solved.; Probable fix: use a type annotation to specify what `a0' should be.; These potential instance exist:; instance [safe] A Int -- Defined at <interactive>:5:45; * In the expression: test 45; In an equation for `it': it = test 45
14:35:58 <boxscape> % class A a where {test :: a -> ()}; instance A Int where {test = const ()}; instance A Double where {test = const ()}
14:35:58 <yahb> boxscape:
14:36:00 <boxscape> % test 45
14:36:00 <yahb> boxscape: ()
14:36:10 <boxscape> it does seem strange to me that adding an instance makes things *less* ambiguous
14:36:13 <boxscape> but I guess I can accept it
14:36:49 <geekosaur> defaulting's a bit odd
14:37:13 <geekosaur> the list of classes that can be defaulted through without ExtendedDefaultRules is also a bit arbitrary
14:37:30 × ddellacosta quits (~ddellacos@86.106.143.183) (Ping timeout: 264 seconds)
14:38:39 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
14:39:06 <boxscape> yeah, Num or any subclass of Num that's "defined in the Prelude or a standard library"
14:39:32 <janus> standard library is more than just base?
14:39:42 <boxscape> who knows, they don't say
14:39:50 <boxscape> in the report, on that page
14:41:00 <janus> ah, then it probably refers to the Haskell 2010 libraries : https://www.haskell.org/onlinereport/haskell2010/haskellpa2.html
14:41:07 <boxscape> ah, right
14:41:46 × mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection)
14:41:52 favonia joins (~favonia@user/favonia)
14:42:52 UpstreamSalmon joins (uid12077@id-12077.stonehaven.irccloud.com)
14:43:00 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
14:43:49 curiousgay joins (~quassel@178.217.208.8)
14:46:06 × grepcake quits (~artyom@77.234.209.96) (Quit: Konversation terminated!)
14:46:50 pritambaral joins (~pritam@user/pritambaral)
14:47:22 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
14:48:54 × imdoor quits (~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
14:49:30 × pbrisbin quits (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 245 seconds)
14:50:06 × favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds)
14:52:27 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:52:48 favonia joins (~favonia@user/favonia)
14:54:22 Hanicef joins (~gustaf@81-229-9-108-no92.tbcn.telia.com)
14:54:55 × Guest2629 quits (~finn_elij@user/finn-elija/x-0085643) (Quit: Guest2629)
14:55:13 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
14:56:28 marinelli joins (~marinelli@gateway/tor-sasl/marinelli)
14:57:43 neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
14:59:33 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
15:02:25 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
15:03:18 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 264 seconds)
15:06:33 × shriekingnoise quits (~shrieking@186.137.144.80) (Read error: Connection reset by peer)
15:10:05 ddellacosta joins (~ddellacos@86.106.143.100)
15:10:23 × favonia quits (~favonia@user/favonia) (Ping timeout: 272 seconds)
15:12:45 × epolanski quits (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
15:14:33 × ddellacosta quits (~ddellacos@86.106.143.100) (Ping timeout: 268 seconds)
15:15:35 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: Connection reset by peer)
15:15:59 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
15:16:24 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 268 seconds)
15:16:36 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:17:13 <systemfault> It may be obvious... but was wondering: Can monoids always be combined in parallel?
15:17:16 × xff0x quits (~xff0x@2001:1a81:53bd:ad00:17e2:a38d:f46d:1b9f) (Ping timeout: 265 seconds)
15:17:25 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 244 seconds)
15:17:59 xff0x joins (~xff0x@2001:1a81:53bd:ad00:82dd:e8fb:f0ad:2e66)
15:18:29 <[exa]> systemfault: semigroups should guarantee that (a<>b)<>(c<>d) == a<>(b<>(c<>d)) right?
15:18:40 <systemfault> Yeah, I believe so
15:18:50 <[exa]> because lawful ones should be associative
15:19:08 derelict joins (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com)
15:19:12 × dixie quits (~dixie@real.wilbury.sk) (Ping timeout: 265 seconds)
15:19:33 dixie joins (~dixie@real.wilbury.sk)
15:20:59 <sshine> systemfault, associativity should ensure that, yes
15:21:26 <sshine> systemfault, so lawful Monoids :)
15:21:35 <systemfault> Great :) Thank you
15:22:12 <sshine> but does (==) guarantee structural equivalence?
15:22:36 favonia joins (~favonia@user/favonia)
15:23:01 <sshine> e.g. I can think of certain caching data structures that may result in different non-normalized representations of the same value, but still yield equivalent... that's the only corner case I can think of.
15:23:26 <systemfault> I'm glad that it's not an issue in my current case
15:25:16 <ski> "but does (==) guarantee structural equivalence?" -- do you mean that internal representation is structurally the same ?
15:25:20 safinaskar parts (~user@109.252.90.89) ()
15:26:11 aerona joins (~aerona@2600:6c54:4600:f300:8166:afd5:9294:f1a6)
15:26:14 <boxscape> note that the law in the Semigroup documentation doesn't mention (==), it says the law is "x <> (y <> z) = (x <> y) <> z"
15:26:22 <boxscape> I guess it's a bit ambiguous what exactly = means here
15:26:47 <monochrom> Data.Set.Set (==) does not use structural equivalence.
15:26:49 <ski> observational equivalence, i suppose ?
15:26:58 <[exa]> "preferably nothing very specific"
15:27:10 <boxscape> ski i.e. equivalent wrt all functions exposed in the API for that type?
15:27:42 haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt)
15:27:43 <monochrom> "=" is mathematical equality.
15:27:59 <boxscape> monochrom that's still ambiguous :P
15:28:21 <monochrom> I think it is actually beneficial to leave it open.
15:28:41 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
15:29:27 <boxscape> Idris has VerifiedSemigroup which uses structural equality IIUC
15:29:42 <boxscape> but also has a non-verified Semigroup interface
15:29:47 <monochrom> With Data.Set.Set you can refine it to "same elements" or API-observational equality or anything that makes mathematical sense for the intended use cases of Data.Set and it's OK.
15:29:53 <boxscape> er, I think, anyway
15:30:59 <ski> i suppose Idris doesn't have quotient types (?)
15:30:59 <monochrom> With IO's "return x >>= f = f x" you either need a formal semantics of IO to define "=" or you accept that it is left informal and just say "behaviourial equality".
15:31:18 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
15:32:44 Core5474 joins (~Core5474@2600:1700:7720:cf80:e124:f2c6:8838:3b4c)
15:32:47 <boxscape> ski I believe that's right
15:32:52 <ski> something like `observeRepresentation :: Set a -> IO (SetRepresentation a)' would still be okay, imho (although presumably of little use, in this specific case)
15:34:56 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
15:35:50 chomwitt joins (~Pitsikoko@athedsl-20549.home.otenet.gr)
15:37:26 <ski> .. i wonder how much sense it would make to have a monad `Indet', used to model multiple possible representations
15:38:00 leungbk joins (~user@2603-8000-1201-2dd2-dec4-9dba-549e-1771.res6.spectrum.com)
15:39:21 <ski> so you would have `newtype Set a = MkSet (Indet (SetRepresentation a))', possibly, with `promiseEquivalentSolutions :: (Indet a -> b) -> (a -> b)'
15:40:59 <ski> a value of type `Indet a' represents a non-empty set of `a's, where the implementation actually with just pick one element to compute. there'd also be `chooseIndet :: Indet a -> IO a'
15:41:25 <ski> s/with just/will just/
15:41:39 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
15:42:51 × chomwitt quits (~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 245 seconds)
15:43:01 <ski> (i wonder if there'd be any "interesting" interactions with nonstrictness)
15:43:06 ddellacosta joins (~ddellacos@89.46.62.123)
15:43:30 ddellaco_ joins (~ddellacos@86.106.143.144)
15:44:01 bin_ joins (~bin@user/bin/x-1583188)
15:44:46 × _bin quits (~bin@user/bin/x-1583188) (Ping timeout: 268 seconds)
15:45:26 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
15:45:58 × henninb quits (~henninb@63-226-165-91.mpls.qwest.net) (Remote host closed the connection)
15:46:18 junkicide joins (~user@2a01:e0a:195:20c0:a95e:73ee:468d:e1b6)
15:46:49 <junkicide> is there some value x in haskell such that x:l == l for any list l?
15:47:12 <geekosaur> no
15:47:30 <ski> a list could always be empty
15:47:51 × ddellacosta quits (~ddellacos@89.46.62.123) (Ping timeout: 268 seconds)
15:48:05 <janus> sounds like a homework question ;)
15:48:07 <ski> (and `x:l' is never empty)
15:48:18 × ddellaco_ quits (~ddellacos@86.106.143.144) (Ping timeout: 264 seconds)
15:49:09 <monochrom> I don't know whether you mean "(there is x such that ...) for any l" or "there is x such that (... for any l)".
15:49:40 <junkicide> lol janus it's not a homework question, i thought something like that could be useful for a program i'm trying to write
15:50:01 <boxscape> ski: or is it :P https://gitlab.haskell.org/ghc/ghc/-/issues/19917
15:50:17 <boxscape> ski to be fair that's an optimization that makes it appear empty, it's not actually
15:50:50 <monochrom> An error message that says "OK" :)
15:51:11 <monochrom> A fire situation that says "this is fine" :)
15:51:16 <boxscape> hah
15:51:20 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: Connection reset by peer)
15:51:35 × pe200012 quits (~pe200012@120.236.162.25) (Ping timeout: 265 seconds)
15:51:45 <[exa]> one loud way to report success. :D
15:52:16 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
15:53:59 mpt joins (~tom@p57a566f5.dip0.t-ipconnect.de)
15:55:39 × monochrom quits (trebla@216.138.220.146) (Ping timeout: 244 seconds)
15:58:50 × mpt quits (~tom@p57a566f5.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
16:01:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:03:02 <janus> junkicide: but if you know that List defines its own Eq instance and that (:) is the list constructor, then it can't be true... i just thought knowing that is very basic
16:03:18 <janus> maybe i am missing some subtlety of your question
16:04:43 Bartosz joins (~textual@24.35.90.211)
16:15:07 dunkeln joins (~dunkeln@94.129.65.28)
16:15:12 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
16:15:36 × AkechiShiro quits (~licht@user/akechishiro) (Ping timeout: 268 seconds)
16:16:27 lavaman joins (~lavaman@98.38.249.169)
16:16:32 AkechiShiro joins (~licht@user/akechishiro)
16:17:18 ddellacosta joins (~ddellacos@89.46.62.157)
16:20:02 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 252 seconds)
16:21:41 × ddellacosta quits (~ddellacos@89.46.62.157) (Ping timeout: 252 seconds)
16:22:42 danidiaz joins (~ESDPC@137.101.155.105)
16:26:31 eggplant_ joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
16:27:01 × maerwald quits (~maerwald@user/maerwald) (Ping timeout: 272 seconds)
16:29:14 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 244 seconds)
16:32:10 × leungbk quits (~user@2603-8000-1201-2dd2-dec4-9dba-549e-1771.res6.spectrum.com) (Remote host closed the connection)
16:32:45 leungbk joins (~user@cpe-142-129-149-172.socal.res.rr.com)
16:35:02 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
16:35:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
16:35:45 maerwald joins (~maerwald@mail.hasufell.de)
16:36:53 monochrom joins (~trebla@216.138.220.146)
16:37:59 arjun joins (~user@user/arjun)
16:38:17 <arjun> am i missing something with documentation of hackage packages ? : P
16:38:36 <arjun> by missing i mean, i really can't find any documentation : P
16:39:20 <c_wraith> what package?
16:39:29 <geekosaur> anything dependent on a C library only has documentation if it's been uploaded, for one
16:39:30 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
16:41:01 <arjun> https://hackage.haskell.org/package/filepath ?
16:41:52 <c_wraith> Docs look pretty good to me
16:42:07 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
16:42:16 <c_wraith> The primary entry point to the documentation is the "Modules" section
16:42:27 <geekosaur> looks documented to me, with the caveat that the top level module just reexports the platform version and therefore just has an indirection
16:43:13 <c_wraith> and even that re-export behavior is documented on the top-level page
16:44:48 enzotib parts (~enzotib@user/enzotib) ()
16:45:25 <arjun> c_wraith: do i click the index button there?
16:45:50 <arjun> i am mostly looking for what types it has, what functions it has and how do i use those functions?
16:45:53 <c_wraith> that will give you the index. that's great for finding stuff, but not the primary docs
16:45:58 <c_wraith> click on a module name
16:46:33 <arjun> https://hackage.haskell.org/package/filepath-1.4.2.1/docs/System-FilePath.html
16:46:49 <arjun> looks like a re-export. so i clicked again
16:47:01 <arjun> got me here:- https://hackage.haskell.org/package/filepath-1.4.2.1/docs/System-FilePath-Posix.html
16:47:04 <c_wraith> the second sentence on that page is "Both System.FilePath.Posix and System.FilePath.Windows provide the same interface. See either for examples and a list of the available functions"
16:47:25 <c_wraith> Like, as far as documentation goes, I'd say that's really important information
16:47:25 <arjun> c_wraith: yea, i caught that
16:47:27 × maerwald quits (~maerwald@mail.hasufell.de) (Changing host)
16:47:28 maerwald joins (~maerwald@user/maerwald)
16:48:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:49:30 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
16:49:42 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
16:50:18 hendursaga joins (~weechat@user/hendursaga)
16:50:28 ddellacosta joins (~ddellacos@86.106.143.53)
16:53:19 <Hanicef> is it common to use `do` a lot when writing IO-heavy code?
16:53:27 <c_wraith> yes
16:53:42 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
16:53:46 <Hanicef> ok, that's reassuring to hear
16:54:30 × ddellacosta quits (~ddellacos@86.106.143.53) (Ping timeout: 245 seconds)
16:54:43 samhh joins (~samhh@90.252.97.14)
16:54:54 <maerwald> I >>= only >>= use >>= monad >>= bind
16:55:03 <maerwald> because >>= it's >>= more >>= readable
16:55:06 <yushyin> the alternative would be to use a lot of >>= and hardly anyone wants to do that, right?
16:55:14 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 252 seconds)
16:55:15 <yushyin> ok maerwald wants to :D
16:55:35 <maerwald> yushyin: I have key macros for >>= and =<< :p
16:55:39 <maerwald> so I don't mind
16:56:03 <Hanicef> yushyin: yeah, that's what i was worried about; it's useful at times, but when there are +8 functions chained together and not always taking the result as the last argument, it becomes kinda messy and not very readable
16:57:43 motte joins (~weechat@82.131.67.98.cable.starman.ee)
16:59:43 × hexo quits (~hexo@user/hexo) (Ping timeout: 244 seconds)
16:59:44 × neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 265 seconds)
17:00:08 <motte> hi, how can i join two aeson arrays together? the arrays are non-homogeneous, thus i can't just join them together before calling toJSON
17:00:34 ddellacosta joins (~ddellacos@89.46.62.43)
17:02:24 Erutuon joins (~Erutuon@user/erutuon)
17:03:04 ddellaco_ joins (~ddellacos@89.46.62.116)
17:04:21 hexo joins (~hexo@user/hexo)
17:04:34 Sose joins (~username@mobile-access-6df047-172.dhcp.inet.fi)
17:05:15 rk04 joins (~rk04@user/rajk)
17:05:28 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-133-135.cust.tzulo.com)
17:06:18 × ddellacosta quits (~ddellacos@89.46.62.43) (Ping timeout: 264 seconds)
17:06:41 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:09:29 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
17:11:39 emliunix joins (~emliunix@103.138.74.59)
17:12:30 × ddellaco_ quits (~ddellacos@89.46.62.116) (Read error: Connection reset by peer)
17:13:04 ddellacosta joins (~ddellacos@89.46.62.116)
17:13:08 Bartosz joins (~textual@24.35.90.211)
17:15:52 boxscape joins (~boxscape@user/boxscape)
17:18:00 <boxscape> motte what are the types before you convert it to JSON?
17:18:25 × Hanicef quits (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
17:18:53 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
17:21:14 × samhh quits (~samhh@90.252.97.14) (Quit: samhh)
17:21:46 <motte> [Tree a], and [b], where a and b are my own defined data types
17:22:50 <motte> paste: http://ix.io/3oRf
17:22:55 × aplainze1akind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:23:27 <motte> essentially i'd like to do "children" .= children ++ targets
17:23:39 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:23:51 anderson joins (~ande@134.209.221.71)
17:24:06 <boxscape> motte I'm not sure if this is the best way, but you could make a type `data HasJSON = forall a . HasJSON (ToJSON a => a)`, write `map HasJSON xs ++ HasJSON ys`, then you just need to make a ToJSON instance for this type that uses the ToJSON instance of a
17:24:16 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:25:07 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:25:11 dunkeln joins (~dunkeln@94.129.65.28)
17:25:19 <motte> thanks, i'll try it out
17:25:50 <ski> boxscape : did you mean `data HasJSON = forall a. ToJSON a => HasJSON a' ?
17:26:15 <boxscape> ski erm, yes, I suppose I did
17:26:19 <boxscape> ^ motte
17:26:19 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
17:28:07 ddellaco_ joins (~ddellacos@86.106.121.196)
17:30:06 <ski> i guess if one wanted `FromJSON HasJSON' too, that'd be harder
17:30:59 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds)
17:31:10 <motte> yeah i thought of it a little bit and i think i need FromJSON too, so maybe i'll just try to make the types homogeneous
17:31:37 wonko joins (~wjc@62.115.229.50)
17:31:56 Guest60 joins (~Guest60@187.83.249.216.dyn.smithville.net)
17:32:47 econo joins (uid147250@user/econo)
17:32:50 × ddellaco_ quits (~ddellacos@86.106.121.196) (Ping timeout: 245 seconds)
17:34:20 <ski> could the JSON representation of a tree look the same as the one for a target ?
17:36:11 dhil joins (~dhil@195.213.192.47)
17:38:47 <ski> i guess maybe you could make a `data TreeOrTarget = FromTree (Tree GroupWithTargets) | From Target', and make `ToJSON' and `FromJSON' instances for that, then in `FromJSON (Tree GroupWithTargets)' you could grab a `[TreeOrTarget]', and then split that into `([Tree GroupWithTargets],[Target])'
17:41:24 <arjun> can i make an absolute path from a relative FilePath like sourcePath = "../source/contents/"
17:41:42 <arjun> how can i *
17:42:09 <monochrom> If you also know the current working directory, you can compute it, or just do concatenation.
17:42:09 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
17:42:24 <arjun> System.Directory (makeAblsoulte) introduces a ".." in the path
17:42:34 × Guest60 quits (~Guest60@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
17:42:58 <monochrom> probably because the author just does concatenation. I mean why bother.
17:43:04 <arjun> monochrom: it's outside my currentDir. but sure, i can get my cd
17:44:16 <arjun> like i have to go a level up and 2 levels down
17:46:52 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 268 seconds)
17:48:36 × rk04 quits (~rk04@user/rajk) (Quit: rk04)
17:48:53 reumeth joins (~reumeth@user/reumeth)
17:48:57 <arjun> monochrom: nvm, found it.
17:51:33 safinaskar joins (~user@109.252.90.89)
17:52:23 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:52:56 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 244 seconds)
17:53:02 dunkeln joins (~dunkeln@94.129.65.28)
17:53:58 Bartosz joins (~textual@24.35.90.211)
17:54:32 <safinaskar> consider this code: do { c <- lookup a b; lookup d c }. is this possible to write it similar to this: lookup d <<lookup a b>>. Here << >> are hypotetical brackets, which will simplify writing monadic code. Maybe such brackets already exists? Maybe arrow bananas are exactly such brackets?!
17:55:08 <ski> lookup d =<< lookup a b
17:55:38 × ddellacosta quits (~ddellacos@89.46.62.116) (Remote host closed the connection)
17:55:47 ddellacosta joins (~ddellacos@89.46.62.116)
17:55:52 <safinaskar> ski: yes, but what to do in more complicated cases? i will provide example
17:56:14 <safinaskar> let's assume safeDiv is safe division with type Int -> Int -> Maybe Int
17:56:15 × ddellacosta quits (~ddellacos@89.46.62.116) (Remote host closed the connection)
17:56:27 justsomeguy joins (~justsomeg@user/justsomeguy)
17:56:42 <ski> i have a (vaporware) syntax (with type system rules, and translation rules), including such brackets
17:56:44 ddellacosta joins (~ddellacos@89.46.62.116)
17:56:55 <safinaskar> now consider this: do { x <- (a + b) `safeDiv` (c + d); x * y + z `safeDiv` 2; }
17:57:22 <boxscape> vaporwave syntax?
17:57:40 <boxscape> oh wait
17:57:44 <boxscape> I misread, lol
17:57:51 ski glances around nervously
17:58:07 <boxscape> funnily I was thinking "there is a word that sounds similar that would fit here, but I can't think of it"
17:58:17 <monochrom> haha
17:58:46 <safinaskar> are arrow bananas (| ... |) ( https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/glasgow_exts.html#arrow-notation ) what i need?!
17:58:53 <c_wraith> now I want syntax with lots of neon pink and blue
18:00:09 × fabfianda quits (~fabfianda@net-93-148-121-206.cust.dsl.teletu.it) (Ping timeout: 265 seconds)
18:00:15 <justsomeguy> I want syntax highlighting that makes parenthesis taller when they enclose another pair of parenthesis.
18:00:57 <justsomeguy> Sorry, that was random.
18:01:10 × ddellacosta quits (~ddellacos@89.46.62.116) (Ping timeout: 245 seconds)
18:01:40 <monochrom> No, that's a natural desire.
18:02:01 <monochrom> Random would be "I want parenthesis height to be random" :D
18:02:10 <justsomeguy> :D
18:02:54 <mrmonday> the kerning should be just a little bit different at each level
18:03:09 <monochrom> Well, I wouldn't hold my breath for it. You can't even talk programmers out of fixed-width fonts, so nevermind variable heights.
18:03:29 <safinaskar> ski: please, show that your software
18:05:39 <ski> ⌜ ⟨ ⌞ (a + b) `safeDiv` (c + d) ⌟ * y + z `safeDiv` 2 ⟩ ⌝
18:05:59 <ski> alternatively
18:06:20 <ski> ⌜ ⟨ ⟨ (a + b) `safeDiv` (c + d) ⟩ * y + z `safeDiv` 2 ⟩ ⌝
18:07:14 ddellacosta joins (~ddellacos@89.46.62.209)
18:07:26 <ski> (innermost unquotes can be replaced by "splices")
18:07:56 <safinaskar> ski: does actual tool exist, which accept such syntax?
18:09:19 ddellaco_ joins (~ddellacos@89.45.224.79)
18:09:26 Sgeo joins (~Sgeo@user/sgeo)
18:09:57 pierrot joins (~pi@user/pierrot)
18:10:19 <ski> no (see "vaporware")
18:12:09 × ddellacosta quits (~ddellacos@89.46.62.209) (Ping timeout: 268 seconds)
18:12:50 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
18:13:11 danidiaz1 joins (~ESDPC@137.101.155.105)
18:14:58 <safinaskar> ski: ok :(
18:15:19 × danidiaz quits (~ESDPC@137.101.155.105) (Ping timeout: 272 seconds)
18:18:56 × ddellaco_ quits (~ddellacos@89.45.224.79) (Ping timeout: 268 seconds)
18:19:19 ddellacosta joins (~ddellacos@89.46.62.183)
18:19:59 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
18:21:01 ddellaco_ joins (~ddellacos@89.45.224.222)
18:23:23 × ddellaco_ quits (~ddellacos@89.45.224.222) (Remote host closed the connection)
18:23:41 ddellaco_ joins (~ddellacos@89.45.224.222)
18:24:10 GuerrillaMonkey joins (~Jeanne-Ka@static-198-54-128-61.cust.tzulo.com)
18:24:18 × ddellacosta quits (~ddellacos@89.46.62.183) (Ping timeout: 264 seconds)
18:27:50 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-133-135.cust.tzulo.com) (Ping timeout: 245 seconds)
18:30:27 × UpstreamSalmon quits (uid12077@id-12077.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
18:30:31 × arjun quits (~user@user/arjun) (Ping timeout: 272 seconds)
18:30:36 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 265 seconds)
18:32:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:33:54 <ski> (and i'm pretty sure those banana brackets are entirely unrelated to what you wanted)
18:34:05 × ddellaco_ quits (~ddellacos@89.45.224.222) (Ping timeout: 245 seconds)
18:34:52 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:35:36 ddellacosta joins (~ddellacos@89.45.224.222)
18:36:51 × leungbk quits (~user@cpe-142-129-149-172.socal.res.rr.com) (Ping timeout: 272 seconds)
18:40:20 × ddellacosta quits (~ddellacos@89.45.224.222) (Ping timeout: 245 seconds)
18:41:49 v01d4lph4 joins (~v01d4lph4@122.160.65.250)
18:41:49 × v01d4lph4 quits (~v01d4lph4@122.160.65.250) (Changing host)
18:41:49 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
18:42:11 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer)
18:42:43 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
18:42:50 ddellacosta joins (~ddellacos@89.46.62.25)
18:43:09 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:43:53 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
18:44:19 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:45:09 justsomeguy joins (~justsomeg@user/justsomeguy)
18:46:51 × chexum quits (~chexum@2a02:a03f:62f9:3f00:6b71:476f:e71b:80b) (Quit: -)
18:47:28 chexum joins (~chexum@2a02:a03f:62f9:3f00:6b71:476f:e71b:80b)
18:48:06 × eggplant_ quits (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98) (Remote host closed the connection)
18:48:53 ddellaco_ joins (~ddellacos@86.106.143.53)
18:48:57 Guest33 joins (~Guest33@d24-141-46-200.home.cgocable.net)
18:49:32 <Guest33> Hi guys, I'm stuck with a problem and I need some help if anyone can give me some direction.
18:50:22 <Guest33> How would I remove the 1 in [1,2] from the following [(Node {getNodeID = 0, getNodeVal = 'A'},[1,2]),(Node {getNodeID = 2, getNodeVal = 'C'},[1,2])]
18:50:50 <Guest33> and return the modified list
18:51:10 × ddellacosta quits (~ddellacos@89.46.62.25) (Ping timeout: 245 seconds)
18:51:25 × malvo quits (~malvo@malvo.org) (Ping timeout: 272 seconds)
18:51:31 <boxscape> i.e, remove it in both elements and get [(Node {getNodeID = 0, getNodeVal = 'A'},[1]),(Node {getNodeID = 2, getNodeVal = 'C'},[1])]?
18:51:39 <boxscape> err
18:51:44 × chexum quits (~chexum@2a02:a03f:62f9:3f00:6b71:476f:e71b:80b) (Client Quit)
18:51:48 <boxscape> [(Node {getNodeID = 0, getNodeVal = 'A'},[2]),(Node {getNodeID = 2, getNodeVal = 'C'},[2])]?
18:51:51 <boxscape> is that the goal?
18:51:55 <Guest33> no get [2] ya
18:52:05 <boxscape> are you familiar with fmap?
18:52:21 chexum joins (~chexum@2a02:a03f:62f9:3f00:6b71:476f:e71b:80b)
18:52:37 <Guest33> I was playing around with it but it keeps giving me [[2]] instead of the modified list (sorry i'm very new to this)
18:53:25 <boxscape> do you remember what you were writing that gave [[2]]?
18:54:41 × chexum quits (~chexum@2a02:a03f:62f9:3f00:6b71:476f:e71b:80b) (Client Quit)
18:54:54 ddellacosta joins (~ddellacos@107.182.237.15)
18:55:00 <Guest33> my bad that was for another function where I was inserting an edge.
18:55:10 <Guest33> fmap (\x -> snd(x) ++ [3]) (filter (\n -> getNodeID (fst (n)) == 0 ) exGraph)
18:55:18 <Guest33> gives [[1,2,3]]
18:55:36 <Guest33> but I want [(Node {getNodeID = 0, getNodeVal = 'A'},[1,2,3]),(Node {getNodeID = 2, getNodeVal = 'C'},[1])]
18:56:00 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
18:56:32 <Guest33> I guess if I can figure out any one of them I can get both :D
18:56:42 <boxscape> hm so you want to append 3 to the list in the first element of the outer list and remove the 2 from the second one?
18:56:50 _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
18:57:29 <Guest33> just append 3 to the list in the first element is fine for now
18:57:43 <boxscape> will the outer list always have two elements?
18:59:05 × ddellacosta quits (~ddellacos@107.182.237.15) (Ping timeout: 245 seconds)
18:59:11 <Guest33> no it can change vary but (filter (\n -> getNodeID (fst (n)) == 0 ) exGraph) .. the == 0 make sure I choose the element with nodeID = 0in the outer list
18:59:42 <boxscape> ah, hm
19:00:57 <_73> I am trying to figure out how to express a typeclass for memory. I have different Memory types that are essentially data structures holding key value pairs that I read and write. I am trying to figure out how to abstract out this pattern. I am thinking that multi-param-typeclasses would be useful. The reason I thought to use multi-param-typeclasses is that they could allow me to restrict the type of the arguments to the typeclass
19:00:57 <_73> functions so they allign with the types of the keys and values. I would like help trying to figure what it is that I need here: http://dpaste.com/CKN26MCE3
19:01:08 <boxscape> you can map over the list and inside the map function make sure you only change the element that is 0, i.e. `map (\(Node id val, xs)-> Node id (if id /= 0 then val else <a modified version of xs>))`, Guest33
19:01:35 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
19:01:36 <boxscape> er, that should be `if id /= 0 then xs else <a modified version of xs>`
19:01:36 <Guest33> Let me try. Thank you in advance!!
19:02:08 reumeth joins (~reumeth@user/reumeth)
19:02:09 <_73> I am starting to realize that my memory types, (like MyMemory) are really just type aliases. Does this suggest I could abstract my types further somehow?
19:04:02 <boxscape> Guest33 actually I still got it wrong: map (\(Node id val, xs)-> (Node id val, (if id /= 0 then val else <a modified version of xs>)))
19:04:20 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:04:26 <boxscape> nope, now I forgot to apply the first correction, the `val` in the if should be `id` :)
19:04:38 <boxscape> err, no, it should be xs
19:06:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
19:07:51 <boxscape> _73 looks like you need instance Memory MyMemory Integer String where
19:08:47 jakalx joins (~jakalx@base.jakalx.net)
19:08:49 Bartosz joins (~textual@24.35.90.211)
19:09:37 × bollu quits (~bollu@139.59.46.74) (Quit: Ping timeout (120 seconds))
19:09:45 <Guest33> boxscape so I did map (\(Node id val, xs) -> if id /= 0 then xs else xs ++ [3]) exGraph and it gives me [[1,2,3],[],[1,2]] where exGraph = [(Node {getNodeID = 0, getNodeVal = 'A'},[1,2]),(Node {getNodeID = 1, getNodeVal = 'B'},[]),(Node {getNodeID = 2, getNodeVal = 'C'},[1,2])]
19:09:53 bollu joins (~bollu@139.59.46.74)
19:10:02 chexum joins (~chexum@gateway/tor-sasl/chexum)
19:10:10 <Guest33> I wanted [(Node {getNodeID = 0, getNodeVal = 'A'},[1,2,3]),(Node {getNodeID = 1, getNodeVal = 'B'},[]),(Node {getNodeID = 2, getNodeVal = 'C'},[1,2])]
19:10:13 × fendor quits (~fendor@91.141.0.144.wireless.dyn.drei.com) (Remote host closed the connection)
19:10:53 <Guest33> basically it's working but not giving me the first modified list but the inner list
19:11:01 <boxscape> Guest33 so, in the body of the lambda expression you only have the if statement, you're not returning the actual node. You can write `\(Node id val, xs) -> (Node id val, if id /= 0 then xs else xs ++ [3])`, or, perhaps slightly better, \(node@(Node id val), xs) -> (node, if id /= 0 then xs else xs ++ [3])
19:11:26 <_73> boxscape: Illegel instance declaration for 'Memory MyMemory Integer String' ... my question is more about if what I am doing makes sense, rather than how to get this to actually work with MultiParamTypeClasses. I feel like what I am doing is slightly missing the point somehow.
19:12:30 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
19:13:36 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
19:13:47 ddellacosta joins (~ddellacos@86.106.121.100)
19:14:02 <Guest33> OMG you are actully a god boxcape
19:14:04 <Guest33> thank you!!!!!!!!!!!!!!!!
19:14:11 <boxscape> you're welcome :)
19:15:03 <_73> boxscape: I was able to get it to work by adding FlexibleInstances
19:15:38 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
19:15:43 <boxscape> _73 it seems reasonable to me. A couple questions are 1. If you need the MyMemory type at all or if you can just directly make an instance for (Map.Map Integer String) or even (Map.Map k v) for any types k and v, and 2. perhaps your class would benefit from a functional dependency `class Memory mem k v | mem -> k, mem -> v where` to tell ghc that
19:15:43 <boxscape> mem uniquely determines k and v, which can help with type inference
19:15:50 lavaman joins (~lavaman@98.38.249.169)
19:16:22 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
19:18:27 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
19:18:27 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
19:18:58 <_73> ok I will go with this until something goes wrong. I have spent some time reading about functional dependencies, and I do recall that problems can arise with erroneous programs passing the typechecker with just MultiParamTypeClasses. I was never able to mentally figure out what is meant by `uniquely determines` though.
19:20:36 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
19:20:36 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
19:20:40 <boxscape> if you have a `class C a b | a -> b`, you can't have two instances `instance C String A` and `instance C String B` if A and B are different. That is all that is meant by "a uniquely determines b`. So if ghc sees that the first parameter is String, it immediately knows what the second parameter must be, since there can only be one such instance
19:20:52 MQ-17J joins (~MQ-17J@8.21.10.116)
19:23:19 <_73> boxscape: So with your suggestion I couldn't have both `MyMemory Integer String` and `MyMemory Float Double`?
19:23:26 fendor joins (~fendor@91.141.0.144.wireless.dyn.drei.com)
19:23:51 <boxscape> right
19:23:56 <_73> couldn't have Memory instances for both those types I should say
19:24:13 <boxscape> you can
19:24:16 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:24:21 × sheepduck quits (~sheepduck@2607:fea8:2a60:b700::8a94) (Remote host closed the connection)
19:24:23 <boxscape> but it can't be that both use MyMemoty
19:24:26 <boxscape> s/t/s
19:24:29 <boxscape> err
19:24:30 <boxscape> s/t/r
19:25:13 <boxscape> oh, sorry, that's what you meant anyway
19:26:12 sheepduck joins (~sheepduck@2607:fea8:2a60:b700::8a94)
19:26:21 <_73> I understand. I am going to revisit functional dependencies now. thanks
19:27:41 pavonia joins (~user@user/siracusa)
19:29:02 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
19:30:27 ddellacosta joins (~ddellacos@86.106.143.144)
19:30:39 × xff0x quits (~xff0x@2001:1a81:53bd:ad00:82dd:e8fb:f0ad:2e66) (Quit: xff0x)
19:31:02 ddellac__ joins (~ddellacos@86.106.121.57)
19:33:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:34:47 × ddellaco_ quits (~ddellacos@86.106.143.53) (Ping timeout: 268 seconds)
19:35:01 <boxscape> are the old tunes logs saved anywhere else? the site seems to be "down" (asking for username and password, http://tunes.org/~nef/logs/haskell/?C=M;O=D )
19:35:08 × ddellac__ quits (~ddellacos@86.106.121.57) (Read error: Connection reset by peer)
19:36:35 × MQ-17J quits (~MQ-17J@8.21.10.116) (Ping timeout: 245 seconds)
19:37:47 xff0x joins (~xff0x@2001:1a81:53bd:ad00:cace:1aaf:4d66:6b7f)
19:38:44 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
19:42:37 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
19:45:48 malvo joins (~malvo@malvo.org)
19:46:32 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
19:46:35 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
19:46:35 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 245 seconds)
19:46:52 × sheepduck quits (~sheepduck@2607:fea8:2a60:b700::8a94) (Remote host closed the connection)
19:46:53 × GuerrillaMonkey quits (~Jeanne-Ka@static-198-54-128-61.cust.tzulo.com) (Quit: Leaving)
19:47:02 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
19:47:03 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-128-61.cust.tzulo.com)
19:47:53 × malvo quits (~malvo@malvo.org) (Remote host closed the connection)
19:48:00 sheepduck joins (~sheepduck@2607:fea8:2a60:b700::8a94)
19:48:06 malvo joins (~malvo@malvo.org)
19:48:33 × malvo quits (~malvo@malvo.org) (Remote host closed the connection)
19:48:59 malvo joins (~malvo@malvo.org)
19:49:36 river joins (~river@tilde.team/user/river)
19:52:13 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 272 seconds)
19:57:00 × ikex quits (~ash@user/ikex) (Ping timeout: 245 seconds)
19:57:05 × ddellacosta quits (~ddellacos@86.106.143.144) (Remote host closed the connection)
19:58:25 safinaskar parts (~user@109.252.90.89) ()
19:59:12 ikex joins (~ash@user/ikex)
20:01:24 kubes joins (~kubes@188.120.84.109)
20:01:57 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 265 seconds)
20:02:43 × kubes quits (~kubes@188.120.84.109) (Client Quit)
20:02:55 kubes joins (~kubes@188.120.84.109)
20:05:30 × kubes quits (~kubes@188.120.84.109) (Client Quit)
20:05:42 × juhp quits (~juhp@128.106.188.199) (Ping timeout: 264 seconds)
20:06:25 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
20:06:35 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:07:38 juhp joins (~juhp@128.106.188.199)
20:08:34 dkeohane joins (~dkeohane@24.224.118.138)
20:10:00 × emliunix quits (~emliunix@103.138.74.59) (Remote host closed the connection)
20:10:17 emliunix joins (~emliunix@103.138.74.59)
20:11:13 ddellacosta joins (~ddellacos@86.106.121.209)
20:11:40 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
20:12:28 Heffalump joins (~ganesh@urchin.earth.li)
20:12:34 Heffalump parts (~ganesh@urchin.earth.li) ()
20:12:35 × pritambaral quits (~pritam@user/pritambaral) (Ping timeout: 265 seconds)
20:13:09 Heffalump joins (~ganesh@urchin.earth.li)
20:13:26 Heffalump parts (~ganesh@urchin.earth.li) ()
20:17:54 mc47 joins (~yecinem@89.246.239.190)
20:19:28 × ddellacosta quits (~ddellacos@86.106.121.209) (Remote host closed the connection)
20:19:38 ddellacosta joins (~ddellacos@86.106.121.209)
20:20:58 ddellaco_ joins (~ddellacos@86.106.121.170)
20:21:56 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
20:24:05 × ddellacosta quits (~ddellacos@86.106.121.209) (Ping timeout: 245 seconds)
20:24:53 <hololeap> > So with your suggestion I couldn't have both `MyMemory Integer String` and `MyMemory Float Double`? -- No, having both of those would be fine, but you couldn't have, for instance, `MyMemory Integer String` and `MyMemory Integer Float`, since Integer uniquely determines what b will be. it says that if `a` is `Integer` then we know what `b` is since there can only be one instance for `a ~ Integer`
20:24:54 <lambdabot> <hint>:1:56: error: parse error on input ‘Integer’
20:27:25 × sayola quits (~vekto@dslc-082-082-145-205.pools.arcor-ip.net) (Ping timeout: 245 seconds)
20:27:52 <boxscape> hololeap my original suggestion was having both mem -> k and mem -> v, so in `instance Memory MyMemory Integer String`, MyMemory would determine both Integer and String
20:28:51 <hololeap> ok, my bad
20:30:17 × ddellaco_ quits (~ddellacos@86.106.121.170) (Remote host closed the connection)
20:30:29 Bartosz joins (~textual@24.35.90.211)
20:31:10 × dkeohane quits (~dkeohane@24.224.118.138) (Ping timeout: 245 seconds)
20:31:29 sayola joins (~vekto@dslc-082-082-145-205.pools.arcor-ip.net)
20:32:16 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
20:34:05 × fendor quits (~fendor@91.141.0.144.wireless.dyn.drei.com) (Read error: Connection reset by peer)
20:35:47 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 252 seconds)
20:36:17 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98) (Remote host closed the connection)
20:36:36 azeem joins (~azeem@176.200.190.170)
20:37:25 fendor joins (~fendor@91.141.0.144.wireless.dyn.drei.com)
20:37:58 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
20:39:03 × azeem quits (~azeem@176.200.190.170) (Read error: Connection reset by peer)
20:39:16 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
20:40:46 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98) (Remote host closed the connection)
20:40:59 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
20:41:57 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
20:42:18 × xff0x quits (~xff0x@2001:1a81:53bd:ad00:cace:1aaf:4d66:6b7f) (Ping timeout: 264 seconds)
20:43:59 xff0x joins (~xff0x@185.65.135.235)
20:44:28 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
20:48:45 Henson joins (~kvirc@23-233-1-122.cpe.pppoe.ca)
20:49:24 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
20:49:26 <Henson> has the freenode #haskell channel moved to here?
20:49:36 <boxscape> Henson, yes
20:50:05 <boxscape> oh, neat, the official rust playground default code starts with a reference to Haskell and an implementation of the Monad trait https://play.rust-lang.org/
20:50:42 <boxscape> (it also fails to compile for me)
20:51:30 <boxscape> (because apparently you need to select nightly instead of stable at the top)
20:52:51 × fendor quits (~fendor@91.141.0.144.wireless.dyn.drei.com) (Remote host closed the connection)
20:53:23 <monochrom> :)
20:53:39 × zeenk quits (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
20:53:43 × xff0x quits (~xff0x@185.65.135.235) (Ping timeout: 268 seconds)
20:53:57 fendor joins (~fendor@91.141.0.144.wireless.dyn.drei.com)
20:55:12 xff0x joins (~xff0x@2001:1a81:53bd:ad00:cace:1aaf:4d66:6b7f)
20:56:09 <maerwald> no one runs stable
20:56:29 pritambaral joins (~pritam@user/pritambaral)
21:01:10 × alx741 quits (~alx741@186.178.108.209) (Ping timeout: 245 seconds)
21:02:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:03:38 ddellacosta joins (~ddellacos@89.45.224.196)
21:06:13 × mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection)
21:13:25 <ski> _73 : note that "a uniquely determines b" *doesn't* mean that, for any given `a', there *has* to be a corresponding `b', with `C a b'. what it does say is that there can't be *more* than one `b' corresponding to each `a'. so, for each `a', there is at *most* one `b' such that `C a b'
21:14:31 alx741 joins (~alx741@186.178.109.11)
21:14:48 ddellaco_ joins (~ddellacos@86.106.121.33)
21:16:58 haask joins (~harry@92.234.0.237)
21:16:59 <ski> _73 : what this practically means, is two things : (a) the implementation ensures that you can't have instances `C T U0' and `C T U1' at the same time, for differing types `U0' and `U1'; and (b) whenever you have two constraints `C a b0' and `C a b1' (e.g. because of using methods of `C' in a way that ensures that the same type `a' is used), then the implementation knows that `b0' must be equal to `b1'
21:17:00 × boioioing quits (~boioioing@cpe-76-84-141-127.neb.res.rr.com) (Ping timeout: 245 seconds)
21:17:05 <ski> (since there can be at most one `b' corresponding to an `a'), so it unifies `b0' and `b1' (call that `b'), and replaces the two constraints with just a single `C a b' one
21:17:18 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
21:18:04 <ski> _73 : it's this (b) part which can help type inference (e.g. simplifying inferred types, and especially avoiding ambiguity which often otherwise could arise)
21:18:12 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
21:19:36 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
21:19:37 × ddellaco_ quits (~ddellacos@86.106.121.33) (Ping timeout: 272 seconds)
21:20:01 × HarveyPwca quits (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Remote host closed the connection)
21:20:04 <ski> _73 : logically speaking, we could say that the FD in `class C a b c | a -> b' expresses `forall a. unique b. exists c. C a b c' (for each type `a', there can be at most one type `b', (nevermind which type `c' is), satisfying `C a b c'
21:20:22 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:20:25 HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
21:21:13 <ski> _73 : another (equivalent) way of expressing this is `forall a b0 b1 c0 c1. (C a b0 c0,C a b1 c1) => b0 = b1' (if we have two instances with the same `a' parameter, then the `b' parameter must also be the same (no restriction on the `c' one))
21:21:26 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
21:21:30 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
21:21:33 <mrmonday> boxscape: I think that's just left over from a previous playground link you clicked... it defaults to hello world if you open it in a private/incognito window
21:21:44 <boxscape> oh, hm
21:21:59 <boxscape> let me see how I got there
21:22:12 <boxscape> (I don't think I've ever been on rust-lang.org before)
21:22:23 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:22:47 <boxscape> it's what I got after clicking on the first link for "try rust online" in google
21:22:47 <mrmonday> I always find interesting code there that I'd forgotten about
21:23:07 <mrmonday> most of the rust playground links I click are people doing weird things with the type system
21:23:28 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:23:30 <boxscape> mrmonday hmm I guess I must have clicked on a link to it at some point with that code without remembering
21:23:53 <mrmonday> yeah, it sticks around forever
21:25:38 <boxscape> mrmonday yup, found it, a link to there with this gist hash as URL param was in my history https://gist.github.com/rust-play/61caef82814783feadc33a3b865fe8b3
21:26:23 × ddellacosta quits (~ddellacos@89.45.224.196) (Ping timeout: 252 seconds)
21:27:20 <mrmonday> there's gonna be some really exciting and really horrifying code when that feature stabilises, I'm sure :)
21:27:42 <boxscape> hah, yeah
21:27:43 × sayola quits (~vekto@dslc-082-082-145-205.pools.arcor-ip.net) (Quit: Leaving.)
21:28:17 <boxscape> (though I wouldn't know, I've never seen rust snippets longer than 3 lines, save for that gist)
21:29:06 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-128-61.cust.tzulo.com) (Ping timeout: 264 seconds)
21:29:13 <mrmonday> I've seen a full implementation of the standard suite of haskell classes using stable Rust before, that was... interesting
21:31:05 <mrmonday> it was like when you see code based on a paper and it's completely illegible until you've read/understood the paper... crossed with someone really pushing a languages type system to its limits in ways it's really not designed to be used
21:33:11 × alx741 quits (~alx741@186.178.109.11) (Ping timeout: 268 seconds)
21:33:34 <boxscape> I once started (but didn't get very far) implementing GHC's base in haskell... here is what `data () = ()` looks like: https://github.com/JakobBruenker/jase/blob/master/jase-lib/main/com/github/jakobbruenker/jase/prim/ghc/Tuple.java#L48-L61
21:33:39 <boxscape> in Java
21:33:41 <boxscape> not in Haskell
21:33:45 <boxscape> that would be somewhat redundant
21:33:58 <ski> mrmonday : including higher-order ones, like `Functor' ?
21:34:25 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
21:34:26 <dibblego> ya can't in Java
21:34:28 <boxscape> wait
21:34:32 <boxscape> that repo is secret isn't it
21:35:00 <boxscape> https://paste.tomsmeding.com/1PbbTe9e is the code that link points to
21:35:15 <boxscape> dibblego yeah there's lots of things you can't do in Java, but a surprising number of things you can do
21:35:17 <c_wraith> I was under the impression rust can fake Functor in a way, but it totally falls over when you get to Traversable (A higher-kinded class over an independently higher-kinded-polymorphic function)
21:35:48 <dibblego> boxscape: yes we did this 15 years ago https://functionaljava.org/
21:36:14 <boxscape> dibblego ah, nice, I've been on that website a few times
21:36:37 <mrmonday> ski: yeah, there are some really interesting tricks you can use in stable rust to "implement" Functor
21:36:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
21:36:51 <dibblego> also Java 7 lambdas http://javac.info
21:36:54 <mrmonday> implement feels like the wrong word to use there :P
21:37:17 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
21:37:52 <dibblego> the fake is called "Lightweight Higher-Kinded Polymorphism" and "lightweight" is a generous adjective
21:39:01 × bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
21:41:32 × pieguy128 quits (~pieguy128@bas1-quebec14-67-70-101-46.dsl.bell.ca) (Ping timeout: 272 seconds)
21:42:38 pieguy128 joins (~pieguy128@bas1-montreal02-65-92-161-178.dsl.bell.ca)
21:46:22 alx741 joins (~alx741@186.178.108.47)
21:47:00 ski . o O ( "Java Precisely" by Peter Sestoft (of Moscow ML fame) in 2002 (1st ed.),2005 (2nd ed.),2016 (3rd ed.) at <https://www.itu.dk/people/sestoft/javaprecisely/> mentions various functional stuff (in 3rd ed.) )
21:48:03 × echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 1.9.1)
21:48:31 echoreply joins (~echoreply@45.32.163.16)
21:49:09 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
21:49:21 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
21:50:01 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:50:27 pieguy128_ joins (~pieguy128@bras-base-mtrlpq5031w-grc-57-65-92-163-194.dsl.bell.ca)
21:50:59 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
21:51:09 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
21:51:38 × echoreply quits (~echoreply@45.32.163.16) (Client Quit)
21:51:55 × pieguy128 quits (~pieguy128@bas1-montreal02-65-92-161-178.dsl.bell.ca) (Ping timeout: 264 seconds)
21:51:59 × _73 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Remote host closed the connection)
21:52:12 _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
21:54:41 <_73> are there any hexadecimal libraries that come with some Hex type that derives Integral and has functions for creating Hex's out of strings?
21:55:38 ddellacosta joins (~ddellacos@89.46.62.235)
21:56:57 <_73> err derives Num as well
21:57:38 <c_wraith> uhh. that seems weird to me. Hex isn't a different behavior for a number. It's just a different output format
21:57:46 <unyu> If your Hex type derives Num, this means that you want to do arithmetic using it, right?
21:57:59 <unyu> Why would you use anything other than ordinary numeric types for that?
21:58:36 <enikar> % read @Int "0x3b"
21:58:36 <yahb> enikar: 59
21:58:45 × marinelli quits (~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
21:58:57 ddellaco_ joins (~ddellacos@89.46.62.89)
21:59:14 <geekosaur> there's also Numeric.readHex
21:59:55 × ddellacosta quits (~ddellacos@89.46.62.235) (Ping timeout: 245 seconds)
22:00:13 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:00:39 <_73> Ok I got it now thanks
22:02:20 Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
22:03:31 × ddellaco_ quits (~ddellacos@89.46.62.89) (Ping timeout: 244 seconds)
22:03:51 <monochrom> "Here's a bonus note with Java performance tips": "perform loop invariant code motion yourself", "perform common subexpression elimination yourself", "perform induction variable optimization yourself", "while you can't perform register allocation yourself, you can nudge it by copying data to local variables yourself", "perform TC->loop optimization yourself"
22:04:53 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98) (Remote host closed the connection)
22:07:25 × ikex quits (~ash@user/ikex) (Ping timeout: 245 seconds)
22:09:10 <boxscape> fun
22:09:52 <Cajun> and java still doesnt have TCO/TCE lol
22:10:30 × fendor quits (~fendor@91.141.0.144.wireless.dyn.drei.com) (Read error: Connection reset by peer)
22:11:29 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds)
22:13:40 Guest6926 joins (~Guest69@p4fee78f5.dip0.t-ipconnect.de)
22:14:00 × Guest6926 quits (~Guest69@p4fee78f5.dip0.t-ipconnect.de) (Client Quit)
22:14:32 shriekingnoise joins (~shrieking@186.137.144.80)
22:14:56 × shriekingnoise quits (~shrieking@186.137.144.80) (Client Quit)
22:16:45 echoreply joins (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d)
22:19:33 × derelict quits (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com) (Quit: WeeChat 3.1)
22:20:50 <unyu> What is the current blessed way to use databases in Haskell? I mean, while avoiding the extremes of “stringly typed queries” and “need to use a lot of Template Haskell magic to generate types for every single table and view”.
22:21:44 egoist joins (~egoist@186.235.82.52)
22:23:08 blizzard joins (~winter@2603-6011-f901-9e5b-78b5-8b2f-cdb2-4171.res6.spectrum.com)
22:24:58 × echoreply quits (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8)
22:28:01 ddellacosta joins (~ddellacos@107.182.237.14)
22:28:36 echoreply joins (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d)
22:28:50 <[exa]> unyu: we used selda, it was cool
22:29:35 <unyu> Thanks, checking it out.
22:29:50 <[exa]> it works with overloaded labels and generics, pretty good imho
22:30:47 <jiribenes> yeah, selda is pretty cool (not too basic, not too advanced IMO)
22:30:57 <[exa]> honestly the labels are mildly scary for the first time
22:31:15 <[exa]> but you can chew through it
22:31:33 <[exa]> (I didn't even look up what the # really does yet, it just worked)
22:32:33 shriekingnoise joins (~shrieking@186.137.144.80)
22:33:00 × ddellacosta quits (~ddellacos@107.182.237.14) (Ping timeout: 268 seconds)
22:33:12 <unyu> Thanks. :-)
22:44:39 danidiaz1 parts (~ESDPC@137.101.155.105) ()
22:47:03 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
22:49:05 × pierrot quits (~pi@user/pierrot) (Quit: ZNC 1.6.4 - http://znc.in)
22:49:40 pierrot joins (~pi@user/pierrot)
22:53:06 × xff0x quits (~xff0x@2001:1a81:53bd:ad00:cace:1aaf:4d66:6b7f) (Ping timeout: 264 seconds)
22:53:25 xff0x joins (~xff0x@2001:1a81:53bd:ad00:83e3:594a:8633:1f79)
22:58:02 lavaman joins (~lavaman@98.38.249.169)
23:03:27 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
23:03:44 × pritambaral quits (~pritam@user/pritambaral) (Ping timeout: 252 seconds)
23:05:15 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
23:09:54 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98) (Ping timeout: 264 seconds)
23:11:05 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
23:12:10 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
23:13:22 × wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 272 seconds)
23:15:21 × amahl quits (~amahl@dxv5skyjrs0nnb65v1dgy-3.rev.dnainternet.fi) (Remote host closed the connection)
23:16:50 dkeohane joins (~dkeohane@ec2-18-189-29-140.us-east-2.compute.amazonaws.com)
23:17:05 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
23:17:15 wagle joins (~wagle@quassel.wagle.io)
23:18:26 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 244 seconds)
23:30:21 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
23:33:20 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98) (Remote host closed the connection)
23:33:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:37:34 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
23:38:57 × Core5474 quits (~Core5474@2600:1700:7720:cf80:e124:f2c6:8838:3b4c) (Ping timeout: 272 seconds)
23:38:58 × tremon quits (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
23:43:14 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 244 seconds)
23:50:42 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
23:51:00 notzmv joins (~zmv@user/notzmv)
23:53:48 × Guest33 quits (~Guest33@d24-141-46-200.home.cgocable.net) (Ping timeout: 250 seconds)
23:58:48 smunix joins (~username@lnsm4-montreal02-142-118-222-113.internet.virginmobile.ca)
23:59:20 × smunix quits (~username@lnsm4-montreal02-142-118-222-113.internet.virginmobile.ca) (Remote host closed the connection)

All times are in UTC on 2021-06-05.