2021/04/27

2021-04-27 00:00:05 +0000xsperry(~as@unaffiliated/xsperry) (Remote host closed the connection)
2021-04-27 00:02:54 +0000kiweun(~kiweun@2607:fea8:2a62:9600:94a4:7355:214:11fd) (Ping timeout: 245 seconds)
2021-04-27 00:04:12 +0000xsperry(~as@unaffiliated/xsperry)
2021-04-27 00:13:21 +0000tmciver(~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 268 seconds)
2021-04-27 00:14:06 +0000ADG1089(~aditya@171.76.29.233)
2021-04-27 00:15:08 +0000tmciver(~tmciver@cpe-172-101-40-226.maine.res.rr.com)
2021-04-27 00:15:14 +0000chateau(~chateau@71.215.110.96) (Quit: Leaving)
2021-04-27 00:16:47 +0000chimera(~chimera@168-182-134-95.pool.ukrtel.net) (Quit: Konversation terminated!)
2021-04-27 00:24:49 +0000Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-04-27 00:25:02 +0000stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-04-27 00:25:05 +0000ADG1089(~aditya@171.76.29.233) (Quit: Konversation terminated!)
2021-04-27 00:26:38 +0000natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-04-27 00:26:52 +0000ddellac__(~ddellacos@86.106.143.151)
2021-04-27 00:27:11 +0000m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds)
2021-04-27 00:27:18 +0000philderbeast(~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-27 00:28:29 +0000notzmv(~zmv@unaffiliated/zmv)
2021-04-27 00:31:28 +0000ddellac__(~ddellacos@86.106.143.151) (Ping timeout: 252 seconds)
2021-04-27 00:32:28 +0000Guest6509(~laudiacay@45.162.228.190)
2021-04-27 00:34:11 +0000natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-04-27 00:37:56 +0000stree(~stree@68.36.8.116)
2021-04-27 00:38:19 +0000zmijunkie1(~Adium@87.123.60.135)
2021-04-27 00:38:37 +0000bennofs_(~quassel@dynamic-089-012-155-245.89.12.pool.telefonica.de) (Ping timeout: 252 seconds)
2021-04-27 00:38:53 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de)
2021-04-27 00:40:16 +0000zmijunkie(~Adium@87.123.51.242) (Ping timeout: 252 seconds)
2021-04-27 00:43:02 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de) (Read error: Connection reset by peer)
2021-04-27 00:43:23 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de)
2021-04-27 00:46:45 +0000natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-04-27 00:46:45 +0000Sarcarean(4582bfd4@h69-130-191-212.bendor.broadband.dynamic.tds.net)
2021-04-27 00:47:25 +0000proofofkeags(~proofofke@205.209.28.54) (Ping timeout: 252 seconds)
2021-04-27 00:47:58 +0000Aquazi(uid312403@gateway/web/irccloud.com/x-hhxgnaqpkeoleenq) (Quit: Connection closed for inactivity)
2021-04-27 00:57:48 +0000HannaM(~quassel@p54849510.dip0.t-ipconnect.de) (Quit: https://www.oglaf.com/archive/)
2021-04-27 00:58:37 +0000Benzi-Junior(~BenziJuni@88-149-64-251.du.xdsl.is) (Quit: gone)
2021-04-27 00:59:40 +0000hendursa1(~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1)
2021-04-27 01:00:09 +0000hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-27 01:00:27 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-27 01:00:30 +0000Benzi-Junior(~BenziJuni@dsl-149-64-251.hive.is)
2021-04-27 01:03:07 +0000ddellac__(~ddellacos@86.106.143.229)
2021-04-27 01:04:26 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-27 01:07:46 +0000ddellac__(~ddellacos@86.106.143.229) (Ping timeout: 252 seconds)
2021-04-27 01:09:42 +0000esp387228(esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127)
2021-04-27 01:10:24 +0000esp32_prog(esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127) (Read error: Connection reset by peer)
2021-04-27 01:11:06 +0000kiweun(~kiweun@2607:fea8:2a62:9600:fd3a:4f7b:345d:8677)
2021-04-27 01:11:26 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-27 01:11:27 +0000whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-04-27 01:12:32 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-27 01:12:35 +0000whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-04-27 01:13:11 +0000jgt(~jgt@78.162.43.217)
2021-04-27 01:13:41 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-04-27 01:14:49 +0000rajivr(uid269651@gateway/web/irccloud.com/x-oslfpzkstfgdrfpu)
2021-04-27 01:15:54 +0000jacks2(~bc8134e3@217.29.117.252) (Quit: QUIT)
2021-04-27 01:16:34 +0000solidus-river(~mike@174.127.249.180) (Remote host closed the connection)
2021-04-27 01:18:35 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-27 01:18:46 +0000jgt(~jgt@78.162.43.217) (Ping timeout: 252 seconds)
2021-04-27 01:20:55 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-27 01:22:15 +0000epicte7us(~epictetus@ip72-194-54-201.sb.sd.cox.net) (Quit: Leaving)
2021-04-27 01:23:00 +0000olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-04-27 01:24:30 +0000Q8IoXhexAi(~Q8IoXhexA@c-73-88-253-11.hsd1.tn.comcast.net)
2021-04-27 01:25:18 +0000vdukhovni(64022765@100.2.39.101)
2021-04-27 01:28:50 +0000nineonin_(~nineonine@50.216.62.2) (Ping timeout: 265 seconds)
2021-04-27 01:28:54 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-27 01:31:39 +0000drbean_(~drbean@TC210-63-209-69.static.apol.com.tw)
2021-04-27 01:34:01 +0000nineonine(~nineonine@50.216.62.2)
2021-04-27 01:34:29 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:58e6:3a0a:96a:ca2c) (Remote host closed the connection)
2021-04-27 01:34:34 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-04-27 01:35:13 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:58e6:3a0a:96a:ca2c)
2021-04-27 01:38:12 +0000ddellac__(~ddellacos@86.106.143.112)
2021-04-27 01:39:58 +0000slack1256(~slack1256@200-112-79-167.baf.movistar.cl)
2021-04-27 01:40:01 +0000vdukhovni(64022765@100.2.39.101) (Quit: Connection closed)
2021-04-27 01:40:24 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:58e6:3a0a:96a:ca2c) (Ping timeout: 245 seconds)
2021-04-27 01:42:24 +0000 <slack1256> What is the current advice for testing effects on a MTL framework? I currently have a code base paramitriced on monad class, but a method is a call to a graphql server. Mocking that function seems burdersome.
2021-04-27 01:42:26 +0000ddellac__(~ddellacos@86.106.143.112) (Ping timeout: 246 seconds)
2021-04-27 01:44:47 +0000xff0x(~xff0x@2001:1a81:53aa:e600:aedf:66c8:4911:fe15) (Ping timeout: 260 seconds)
2021-04-27 01:46:30 +0000xff0x(~xff0x@2001:1a81:53e0:9b00:13c7:4d:b9c2:a94a)
2021-04-27 01:48:36 +0000Q8IoXhexAi(~Q8IoXhexA@c-73-88-253-11.hsd1.tn.comcast.net) (Quit: Terminated!)
2021-04-27 01:51:11 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-27 01:51:57 +0000vdukhovni(64022765@100.2.39.101)
2021-04-27 01:53:50 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-04-27 01:54:32 +0000dastomate(~dastomate@0543f40b.skybroadband.com)
2021-04-27 01:56:35 +0000slac52336(~slack1256@201-223-250-53.baf.movistar.cl)
2021-04-27 01:56:55 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:8bd4:3e0a:68:465c) (Ping timeout: 260 seconds)
2021-04-27 01:57:42 +0000proofofkeags(~proofofke@97-118-239-55.hlrn.qwest.net)
2021-04-27 01:57:42 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-27 01:58:46 +0000kiweun(~kiweun@2607:fea8:2a62:9600:fd3a:4f7b:345d:8677) (Remote host closed the connection)
2021-04-27 01:58:55 +0000slack1256(~slack1256@200-112-79-167.baf.movistar.cl) (Ping timeout: 252 seconds)
2021-04-27 02:03:40 +0000 <__minoru__shirae> slack1256: if it's open-source, can you post a link to the project?
2021-04-27 02:04:51 +0000 <slac52336> __minoru__shirae: it is not :-/
2021-04-27 02:06:54 +0000Kaiepi(~Kaiepi@47.54.252.148)
2021-04-27 02:08:35 +0000 <__minoru__shirae> slac52336: too bad, wanted to see an example of industrial haskell
2021-04-27 02:08:58 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:bd49:f20f:3581:6a35)
2021-04-27 02:10:39 +0000slac52336slack1256
2021-04-27 02:10:52 +0000urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-04-27 02:11:04 +0000 <slack1256> It's the same. You just don't feel for using `lens`.
2021-04-27 02:11:18 +0000Sheilong(uid293653@gateway/web/irccloud.com/x-rcsvshxqwuthdgbo) ()
2021-04-27 02:11:20 +0000 <slack1256> feel bad
2021-04-27 02:12:29 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-27 02:13:14 +0000CrazyPyt_(~crazypyth@98.122.164.118) (Read error: Connection reset by peer)
2021-04-27 02:14:11 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:bd49:f20f:3581:6a35) (Ping timeout: 260 seconds)
2021-04-27 02:16:31 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-27 02:17:05 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-04-27 02:17:57 +0000kiweun(~kiweun@2607:fea8:2a62:9600:4145:a684:2dd9:7c27)
2021-04-27 02:19:21 +0000Stanley00(~stanley00@unaffiliated/stanley00)
2021-04-27 02:23:44 +0000aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 245 seconds)
2021-04-27 02:25:52 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds)
2021-04-27 02:26:53 +0000stef204(~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1)
2021-04-27 02:29:26 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 02:32:29 +0000theDon(~td@muedsl-82-207-238-220.citykom.de) (Ping timeout: 246 seconds)
2021-04-27 02:34:09 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-04-27 02:34:20 +0000theDon(~td@muedsl-82-207-238-198.citykom.de)
2021-04-27 02:39:43 +0000FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-04-27 02:39:43 +0000finn_elijaGuest21444
2021-04-27 02:39:43 +0000FinnElijafinn_elija
2021-04-27 02:42:21 +0000Guest21444(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
2021-04-27 02:45:07 +0000ram19890(~ram@49.205.84.253)
2021-04-27 02:46:13 +0000stree(~stree@68.36.8.116) (Ping timeout: 252 seconds)
2021-04-27 02:48:13 +0000Guest6509(~laudiacay@45.162.228.190) (Ping timeout: 252 seconds)
2021-04-27 02:48:34 +0000datajerk(~datajerk@sense.net) (Remote host closed the connection)
2021-04-27 02:49:02 +0000datajerk(~datajerk@sense.net)
2021-04-27 02:50:11 +0000nineonine(~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
2021-04-27 02:50:49 +0000ddellac__(~ddellacos@86.106.143.190)
2021-04-27 02:55:32 +0000ddellac__(~ddellacos@86.106.143.190) (Ping timeout: 268 seconds)
2021-04-27 02:55:41 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-27 02:57:41 +0000horatiohb(~horatiohb@159.65.170.201) (Ping timeout: 246 seconds)
2021-04-27 02:58:31 +0000kiweun(~kiweun@2607:fea8:2a62:9600:4145:a684:2dd9:7c27) (Remote host closed the connection)
2021-04-27 02:58:31 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Quit: WeeChat 3.1)
2021-04-27 02:58:47 +0000stree(~stree@68.36.8.116)
2021-04-27 02:59:55 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-04-27 03:02:07 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 03:03:39 +0000aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-04-27 03:06:44 +0000carlomagno(~cararell@148.87.23.12)
2021-04-27 03:08:04 +0000Guest6509(~laudiacay@45.162.228.190)
2021-04-27 03:08:49 +0000MrMobius(~MrMobius@208.58.206.154) (Read error: Connection reset by peer)
2021-04-27 03:11:42 +0000__minoru__shirae(~shiraeesh@109.166.59.124) (Ping timeout: 260 seconds)
2021-04-27 03:12:12 +0000MrMobius(~MrMobius@208.58.206.154)
2021-04-27 03:12:12 +0000Guest6509(~laudiacay@45.162.228.190) (Ping timeout: 240 seconds)
2021-04-27 03:17:59 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds)
2021-04-27 03:21:25 +0000P_B1(~P_B@139.28.218.148) (Remote host closed the connection)
2021-04-27 03:23:38 +0000 <Axman6> slack1256: so true
2021-04-27 03:23:54 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-27 03:24:26 +0000esp387228(esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127) (Ping timeout: 240 seconds)
2021-04-27 03:26:39 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 245 seconds)
2021-04-27 03:26:57 +0000 <justsomeguy> What is the Reader monad?
2021-04-27 03:27:27 +0000 <Axman6> it's a way to pass around some data that various parts of your application needs, without needing to explicitly pass it as function arguments
2021-04-27 03:28:02 +0000 <justsomeguy> So, a named closure that shows up in type signatures?
2021-04-27 03:28:14 +0000aplainze1akind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-04-27 03:29:10 +0000 <shachaf> Well, a closure closes over some existing value. "Reader" means a thing is parameterized.
2021-04-27 03:29:17 +0000carlomagno(~cararell@148.87.23.12) (Quit: Leaving.)
2021-04-27 03:29:26 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-04-27 03:29:26 +0000aplainze1akindaplainzetakind
2021-04-27 03:29:28 +0000 <Axman6> so, it's commonly used to pass around settings your application was passed when it launched, from command line arguments, config files, etc.
2021-04-27 03:29:52 +0000 <shachaf> But "Reader r a" is just a function, "r -> a".
2021-04-27 03:31:02 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-27 03:31:34 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-27 03:32:35 +0000 <justsomeguy> Thank you, that helps a lot.
2021-04-27 03:32:42 +0000_xor(~xor@74.215.46.133) (Quit: brb)
2021-04-27 03:33:50 +0000nineonine(~nineonine@50.216.62.2)
2021-04-27 03:34:20 +0000 <Axman6> You'll often see apps using a monad stack which has ReaderT Config SomeOtherMonad so they can access things like database connection strings/objects, logging level
2021-04-27 03:35:46 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-27 03:35:48 +0000 <gnumonic> It's pretty common to use ReaderT with a mutable variable of some sort (TVar, etc) for concurrency since you can't do concurrency with a state monad. (I think?)
2021-04-27 03:36:27 +0000 <Axman6> sure, that could form part of your config if you wanted it to
2021-04-27 03:37:25 +0000kirb(~kirb@185.163.110.100)
2021-04-27 03:38:25 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-27 03:39:43 +0000 <wroathe> Yo dawg, I put a reader in your reader so you can reader while you reader
2021-04-27 03:40:10 +0000systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
2021-04-27 03:40:12 +0000 <Axman6> :t fix Reader
2021-04-27 03:40:14 +0000 <lambdabot> error:
2021-04-27 03:40:14 +0000 <lambdabot> • Data constructor not in scope: Reader :: a -> a
2021-04-27 03:40:14 +0000 <lambdabot> • Perhaps you meant one of these:
2021-04-27 03:40:39 +0000jeet(~jeet@183.83.214.10) (Quit: WeeChat 3.1)
2021-04-27 03:40:44 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-04-27 03:40:58 +0000 <gnumonic> er yeah I guess my comment didn't really add anything. I'm just so used to writing 'ReaderT (TVar Something)" and thinking "ConcurrentState Something" that I forget that's not the only thing it's for :p
2021-04-27 03:42:16 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-27 03:42:46 +0000systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Remote host closed the connection)
2021-04-27 03:45:23 +0000thc202(~thc202@unaffiliated/thc202) (Read error: Connection reset by peer)
2021-04-27 03:45:30 +0000_xor(~xor@74.215.46.133)
2021-04-27 03:46:16 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-04-27 03:49:32 +0000slack1256(~slack1256@201-223-250-53.baf.movistar.cl) (Remote host closed the connection)
2021-04-27 03:50:37 +0000 <Axman6> slack1256: At #previousEmployer, we had a pattern of mocking various MTL style effects, which I always wanted to write a TH library for which would could pass in a type class and it'd spit out the record of fields which represented each call for each class method, which would be passed in lists of expected arguments and return values, and IIRC we would make that a ReaderT'd value with an instance for the class we were mocking... it was still
2021-04-27 03:50:37 +0000 <Axman6> burdensome but that would have made it less so
2021-04-27 03:50:43 +0000 <Axman6> oh they left :'(
2021-04-27 03:50:51 +0000 <Axman6> @tell slack1256 At #previousEmployer, we had a pattern of mocking various MTL style effects, which I always wanted to write a TH library for which would could pass in a type class and it'd spit out the record of fields which represented each call for each class method, which would be passed in lists of expected arguments and return values, and IIRC we would make that a ReaderT'd value with an instance for the class we were mocking... it was s
2021-04-27 03:50:52 +0000 <lambdabot> Consider it noted.
2021-04-27 03:50:52 +0000 <Axman6> till burdensome but that would have made it less so
2021-04-27 03:50:55 +0000 <Axman6> <3
2021-04-27 03:53:26 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-27 03:56:52 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-27 03:57:00 +0000Tario(~Tario@201.192.165.173)
2021-04-27 03:57:04 +0000dastomaten(~dastomate@0543f40b.skybroadband.com)
2021-04-27 03:57:09 +0000ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2021-04-27 03:59:15 +0000 <mniip> is there a cute name for a free category from a quiver?
2021-04-27 04:00:54 +0000dastomate(~dastomate@0543f40b.skybroadband.com) (Ping timeout: 268 seconds)
2021-04-27 04:01:49 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-27 04:02:51 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-04-27 04:03:29 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 04:04:52 +0000zmijunkie1(~Adium@87.123.60.135) (Ping timeout: 240 seconds)
2021-04-27 04:04:53 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-27 04:05:06 +0000 <gnumonic> would performance be very bad with a sum type that had, uh, i dunno, like ten thousand nullary constructors?
2021-04-27 04:05:14 +0000xlei(znc@unaffiliated/xlei) (Quit: ZNC - https://znc.in)
2021-04-27 04:05:50 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-27 04:05:53 +0000 <Axman6> I thought there were limits to the number you could use
2021-04-27 04:06:04 +0000zmijunkie(~Adium@87.122.222.91)
2021-04-27 04:06:11 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-27 04:06:23 +0000 <Axman6> ifit were me I'd newtype Word or something, and then make pattern synonyms, but I'm not sure if that's necessary
2021-04-27 04:07:21 +0000dmwit(~dmwit@pool-173-66-86-32.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
2021-04-27 04:08:15 +0000dmwit(~dmwit@pool-173-66-86-32.washdc.fios.verizon.net)
2021-04-27 04:08:29 +0000 <gnumonic> it's for some type level stuff, i'm just looking for something that i can singletonize/generate incrementally/has an eq instance/isn't a peano number
2021-04-27 04:08:57 +0000xlei(znc@unaffiliated/xlei)
2021-04-27 04:09:26 +0000 <Axman6> that sounds like it will make for some very unhappy compile times, but shouldn't affect runtime since they'll all have gone away
2021-04-27 04:10:22 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-27 04:12:27 +0000bgamari(~bgamari@72.65.101.132) (Quit: ZNC 1.8.1 - https://znc.in)
2021-04-27 04:12:47 +0000bgamari(~bgamari@2001:470:e438::1)
2021-04-27 04:13:23 +0000guest7682358928(c9dbea7b@gateway/web/cgi-irc/kiwiirc.com/ip.201.219.234.123)
2021-04-27 04:13:33 +0000xkapastel(uid17782@gateway/web/irccloud.com/x-sgigdjanpsamlbkh) (Quit: Connection closed for inactivity)
2021-04-27 04:14:27 +0000kiweun(~kiweun@2607:fea8:2a62:9600:9131:c747:1288:d3be)
2021-04-27 04:15:10 +0000 <gnumonic> actually since i don't need to do induction i guess I could do something like: data SWord16 = SSword16 Bool Bool Bool (...) etc
2021-04-27 04:16:17 +0000sh9(~sh9@softbank060116136158.bbtec.net)
2021-04-27 04:18:44 +0000kiweun(~kiweun@2607:fea8:2a62:9600:9131:c747:1288:d3be) (Ping timeout: 245 seconds)
2021-04-27 04:19:05 +0000vdukhovni(64022765@100.2.39.101) (Quit: Connection closed)
2021-04-27 04:21:10 +0000untakenstupidnic(~user@5.114.130.12) (Read error: Connection reset by peer)
2021-04-27 04:21:42 +0000nineonine(~nineonine@50.216.62.2) (Remote host closed the connection)
2021-04-27 04:22:18 +0000nineonine(~nineonine@50.216.62.2)
2021-04-27 04:23:41 +0000untakenstupidnic(~user@5.114.130.12)
2021-04-27 04:31:59 +0000Sgeo(~Sgeo@ool-18b9875e.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-04-27 04:32:16 +0000Sgeo(~Sgeo@ool-18b9875e.dyn.optonline.net)
2021-04-27 04:42:49 +0000nineonine(~nineonine@50.216.62.2) (Ping timeout: 252 seconds)
2021-04-27 04:43:27 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-27 04:47:01 +0000 <Axman6> gnumonic: do you know how many you actually need?
2021-04-27 04:47:54 +0000ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
2021-04-27 04:49:08 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-27 04:50:23 +0000nineonine(~nineonine@50.216.62.2)
2021-04-27 04:52:17 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
2021-04-27 04:52:39 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-27 04:55:31 +0000 <gnumonic> I don't know the precise number but not more than a few thousand (and that's including a pretty big safety margin for exceptional situations)
2021-04-27 04:55:52 +0000 <gnumonic> i.e. if i could just singletonize a word16 straightforwardly i'd do that
2021-04-27 04:56:15 +0000 <Axman6> Ah I was assuming it was soe category of known values, and if it were, you could break it down into its prime factors and reduce the overhead of the binary representation somewhat :P
2021-04-27 05:02:53 +0000sqrt2_(~ben@unaffiliated/sqrt2)
2021-04-27 05:03:07 +0000sqrt2(~ben@unaffiliated/sqrt2) (Ping timeout: 260 seconds)
2021-04-27 05:04:43 +0000DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2021-04-27 05:06:43 +0000ericsagn1(~ericsagne@2405:6580:0:5100:8cfe:e2c:fb24:3adc) (Ping timeout: 250 seconds)
2021-04-27 05:06:50 +0000stree(~stree@68.36.8.116) (Ping timeout: 246 seconds)
2021-04-27 05:11:52 +0000 <gnumonic> Nah. It's more or less just a unique identifier for some objects. It doesn't even have to be a number really, but it's not like Symbols are any better than GHC.TypeLits Nats when you need a singleton you can stash inside a data structure... Actually I dunno why I'm doing a binary representation at all. I might as well do 'data IDSym = A | B | (etc)' and 'data ID = IDSym IDSym IDSym (etc)'.
2021-04-27 05:13:54 +0000 <gnumonic> actually i don't even need the last (etc). note to self, think more before starting to code
2021-04-27 05:16:01 +0000dastomate(~dastomate@0543f40b.skybroadband.com)
2021-04-27 05:19:17 +0000ericsagn1(~ericsagne@2405:6580:0:5100:ed88:b772:a9fc:1e72)
2021-04-27 05:19:50 +0000dastomaten(~dastomate@0543f40b.skybroadband.com) (Ping timeout: 268 seconds)
2021-04-27 05:20:04 +0000stree(~stree@68.36.8.116)
2021-04-27 05:20:26 +0000sord937(~sord937@gateway/tor-sasl/sord937)
2021-04-27 05:23:27 +0000kirb(~kirb@185.163.110.100) (Remote host closed the connection)
2021-04-27 05:24:11 +0000dastomate(~dastomate@0543f40b.skybroadband.com) (Ping timeout: 240 seconds)
2021-04-27 05:26:40 +0000michalz(~user@185.246.204.123)
2021-04-27 05:28:10 +0000Tario(~Tario@201.192.165.173)
2021-04-27 05:30:05 +0000kiweun(~kiweun@2607:fea8:2a62:9600:e172:7d45:5cbc:afbd)
2021-04-27 05:32:07 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-27 05:33:09 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
2021-04-27 05:33:10 +0000frozenErebus(~frozenEre@37.231.244.249)
2021-04-27 05:34:08 +0000LKoen(~LKoen@22.249.88.92.rev.sfr.net)
2021-04-27 05:34:34 +0000kiweun(~kiweun@2607:fea8:2a62:9600:e172:7d45:5cbc:afbd) (Ping timeout: 245 seconds)
2021-04-27 05:34:41 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-04-27 05:35:59 +0000sord937(~sord937@gateway/tor-sasl/sord937)
2021-04-27 05:37:14 +0000Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-27 05:37:41 +0000arturh(~arturh@93.176.180.48)
2021-04-27 05:38:28 +0000Tario(~Tario@201.192.165.173)
2021-04-27 05:39:16 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-04-27 05:41:39 +0000plutoniix(~q@cm-119-76-33-123.revip17.asianet.co.th)
2021-04-27 05:49:21 +0000jao(~jao@pdpc/supporter/professional/jao) (Ping timeout: 252 seconds)
2021-04-27 05:51:34 +0000Tario(~Tario@201.192.165.173) (Ping timeout: 252 seconds)
2021-04-27 05:53:52 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-27 05:59:47 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-27 06:01:32 +0000forell(~forell@unaffiliated/forell) (Ping timeout: 240 seconds)
2021-04-27 06:01:44 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-27 06:04:23 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-04-27 06:05:10 +0000danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-04-27 06:09:05 +0000waleee-cl(uid373333@gateway/web/irccloud.com/x-rvemkovqaoswbohn) (Quit: Connection closed for inactivity)
2021-04-27 06:10:12 +0000mounty(~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 240 seconds)
2021-04-27 06:12:53 +0000coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-27 06:22:06 +0000Synthetica(uid199651@gateway/web/irccloud.com/x-jzozwncadkywrjny)
2021-04-27 06:22:16 +0000zmijunkie1(~Adium@109.90.32.89)
2021-04-27 06:22:33 +0000xff0x(~xff0x@2001:1a81:53e0:9b00:13c7:4d:b9c2:a94a) (Ping timeout: 250 seconds)
2021-04-27 06:23:09 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
2021-04-27 06:23:41 +0000xff0x(~xff0x@2001:1a81:53e0:9b00:7bc7:e0fa:939f:81c6)
2021-04-27 06:23:44 +0000nineonine(~nineonine@50.216.62.2) (Ping timeout: 245 seconds)
2021-04-27 06:24:12 +0000zmijunkie(~Adium@87.122.222.91) (Ping timeout: 246 seconds)
2021-04-27 06:24:47 +0000sord937(~sord937@gateway/tor-sasl/sord937)
2021-04-27 06:25:19 +0000johannes_(~johannes@b2b-37-24-119-190.unitymedia.biz)
2021-04-27 06:29:31 +0000frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-27 06:30:58 +0000zmijunkie(~Adium@87.122.222.91)
2021-04-27 06:31:15 +0000gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Quit: Leaving)
2021-04-27 06:31:45 +0000howdoi(uid224@gateway/web/irccloud.com/x-trxxyompkioojjhk) (Quit: Connection closed for inactivity)
2021-04-27 06:31:46 +0000Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de)
2021-04-27 06:32:49 +0000zmijunkie1(~Adium@109.90.32.89) (Ping timeout: 252 seconds)
2021-04-27 06:35:46 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-27 06:35:55 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-04-27 06:37:22 +0000wonko7(~wonko7@62.115.229.50)
2021-04-27 06:38:04 +0000forell(~forell@unaffiliated/forell)
2021-04-27 06:40:25 +0000jgt(~jgt@78.162.43.217)
2021-04-27 06:43:53 +0000Pickchea(~private@unaffiliated/pickchea)
2021-04-27 06:45:53 +0000kiweun(~kiweun@2607:fea8:2a62:9600:f8f8:39af:49d9:69f2)
2021-04-27 06:46:37 +0000othe1(~othe@195.140.213.38)
2021-04-27 06:46:51 +0000Varis(~Tadas@unaffiliated/varis)
2021-04-27 06:48:50 +0000unlink2(~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de)
2021-04-27 06:50:43 +0000kiweun(~kiweun@2607:fea8:2a62:9600:f8f8:39af:49d9:69f2) (Ping timeout: 250 seconds)
2021-04-27 06:53:31 +0000whosit(~whosit@109-252-94-126.nat.spd-mgts.ru)
2021-04-27 07:00:36 +0000v01d4lph4(~v01d4lph4@27.57.103.213)
2021-04-27 07:01:15 +0000m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-04-27 07:01:35 +0000Lycurgus(~niemand@98.4.118.65)
2021-04-27 07:02:20 +0000frozenErebus(~frozenEre@37.231.244.249)
2021-04-27 07:04:56 +0000dyeplexer(~lol@unaffiliated/terpin)
2021-04-27 07:05:11 +0000Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-04-27 07:05:14 +0000zmijunkie1(~Adium@109.90.32.89)
2021-04-27 07:05:26 +0000v01d4lph4(~v01d4lph4@27.57.103.213) (Ping timeout: 260 seconds)
2021-04-27 07:05:30 +0000Kaiepi(~Kaiepi@47.54.252.148)
2021-04-27 07:05:50 +0000zmijunkie(~Adium@87.122.222.91) (Ping timeout: 246 seconds)
2021-04-27 07:10:21 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
2021-04-27 07:10:41 +0000bitmagie(~Thunderbi@200116b80690c300997cabc9cf9a1ff7.dip.versatel-1u1.de)
2021-04-27 07:10:57 +0000zmijunkie(~Adium@87.122.222.91)
2021-04-27 07:13:21 +0000zmijunkie1(~Adium@109.90.32.89) (Ping timeout: 260 seconds)
2021-04-27 07:13:32 +0000jgt(~jgt@78.162.43.217) (Ping timeout: 240 seconds)
2021-04-27 07:14:07 +0000sqrt2_(~ben@unaffiliated/sqrt2) (Ping timeout: 250 seconds)
2021-04-27 07:14:17 +0000sqrt2(~ben@unaffiliated/sqrt2)
2021-04-27 07:15:23 +0000vgtw_(~vgtw@gateway/tor-sasl/vgtw)
2021-04-27 07:15:26 +0000Aquazi(uid312403@gateway/web/irccloud.com/x-eryhzfeygpvphsjr)
2021-04-27 07:15:51 +0000vgtw(~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
2021-04-27 07:15:52 +0000vgtw_vgtw
2021-04-27 07:16:04 +0000ddella___(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 07:16:18 +0000bitmagie(~Thunderbi@200116b80690c300997cabc9cf9a1ff7.dip.versatel-1u1.de) (Quit: bitmagie)
2021-04-27 07:16:35 +0000sord937(~sord937@gateway/tor-sasl/sord937)
2021-04-27 07:16:37 +0000proofofkeags(~proofofke@97-118-239-55.hlrn.qwest.net) (Ping timeout: 252 seconds)
2021-04-27 07:17:54 +0000aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 245 seconds)
2021-04-27 07:18:27 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-04-27 07:18:38 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de) (Read error: Connection reset by peer)
2021-04-27 07:18:55 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de)
2021-04-27 07:21:11 +0000_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-04-27 07:24:05 +0000danso(~dan@modemcable156.91-20-96.mc.videotron.ca) (Ping timeout: 265 seconds)
2021-04-27 07:27:08 +0000coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-04-27 07:27:21 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:4afc:980e:3b22:8734)
2021-04-27 07:27:37 +0000zmijunkie1(~Adium@109.90.32.89)
2021-04-27 07:28:26 +0000stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-04-27 07:29:32 +0000zmijunkie(~Adium@87.122.222.91) (Ping timeout: 240 seconds)
2021-04-27 07:30:09 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-27 07:30:37 +0000jgt(~jgt@78.162.43.217)
2021-04-27 07:34:09 +0000zmijunkie(~Adium@87.122.222.91)
2021-04-27 07:35:12 +0000tsaka_(~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds)
2021-04-27 07:35:34 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
2021-04-27 07:36:03 +0000zmijunkie1(~Adium@109.90.32.89) (Ping timeout: 252 seconds)
2021-04-27 07:36:53 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-27 07:38:06 +0000wonko7(~wonko7@62.115.229.50) (Quit: See You Space Cowboy..)
2021-04-27 07:39:41 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 250 seconds)
2021-04-27 07:41:26 +0000stree(~stree@68.36.8.116)
2021-04-27 07:42:53 +0000alexander(~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d)
2021-04-27 07:43:21 +0000alexanderGuest85960
2021-04-27 07:44:40 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-27 07:45:27 +0000tionos-(~tionos@2a0b:b7c4:1:731::1) (Quit: leaving)
2021-04-27 07:45:41 +0000tionos(~tionos@2a0b:b7c4:1:731::1)
2021-04-27 07:46:08 +0000Lycurgus(~niemand@98.4.118.65) (Quit: Exeunt)
2021-04-27 07:46:35 +0000malumore(~malumore@151.62.126.111)
2021-04-27 07:47:04 +0000ericsagn1(~ericsagne@2405:6580:0:5100:ed88:b772:a9fc:1e72) (Ping timeout: 245 seconds)
2021-04-27 07:47:42 +0000Sgeo(~Sgeo@ool-18b9875e.dyn.optonline.net) (Read error: Connection reset by peer)
2021-04-27 07:48:31 +0000danso(~dan@modemcable156.91-20-96.mc.videotron.ca)
2021-04-27 07:48:48 +0000malumore_(~malumore@151.62.126.111)
2021-04-27 07:51:41 +0000malumore(~malumore@151.62.126.111) (Ping timeout: 260 seconds)
2021-04-27 07:55:30 +0000__minoru__shirae(~shiraeesh@109.166.59.124)
2021-04-27 07:56:05 +0000coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-27 07:56:26 +0000cfricke(~cfricke@unaffiliated/cfricke)
2021-04-27 07:57:34 +0000is_null(~jpic@pdpc/supporter/professional/is-null)
2021-04-27 07:59:16 +0000ericsagn1(~ericsagne@2405:6580:0:5100:9b9f:be30:ff0e:2bc)
2021-04-27 08:02:23 +0000wonko7(~wonko7@62.115.229.50)
2021-04-27 08:03:17 +0000Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-04-27 08:04:00 +0000sh9(~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8)
2021-04-27 08:10:45 +0000hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-27 08:13:23 +0000zmijunkie1(~Adium@109.90.32.89)
2021-04-27 08:14:15 +0000hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-27 08:14:34 +0000zmijunkie(~Adium@87.122.222.91) (Ping timeout: 252 seconds)
2021-04-27 08:14:39 +0000sz0(uid110435@gateway/web/irccloud.com/x-bwiuonpskoznguoq)
2021-04-27 08:15:27 +0000sh9(~sh9@softbank060116136158.bbtec.net)
2021-04-27 08:20:08 +0000thc202(~thc202@unaffiliated/thc202)
2021-04-27 08:20:32 +0000danso(~dan@modemcable156.91-20-96.mc.videotron.ca) (Quit: WeeChat 3.0)
2021-04-27 08:20:52 +0000Arahael(~arahael@123-243-38-74.tpgi.com.au) (Ping timeout: 240 seconds)
2021-04-27 08:24:13 +0000frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-27 08:24:55 +0000kuribas(~user@ptr-25vy0i7u5k5fyxhyy6l.18120a2.ip6.access.telenet.be)
2021-04-27 08:26:58 +0000frozenErebus(~frozenEre@37.231.244.249)
2021-04-27 08:28:14 +0000fendor(~fendor@178.115.131.177.wireless.dyn.drei.com)
2021-04-27 08:31:01 +0000pbgc(~pbgc@a89-152-234-147.cpe.netcabo.pt)
2021-04-27 08:31:52 +0000Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 240 seconds)
2021-04-27 08:33:42 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-27 08:36:39 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-04-27 08:38:16 +0000dhil(~dhil@80.208.56.181)
2021-04-27 08:38:50 +0000acidjnk_new(~acidjnk@p200300d0c72b95883ddaf449c9d144e9.dip0.t-ipconnect.de)
2021-04-27 08:41:30 +0000drbean_(~drbean@TC210-63-209-69.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-27 08:43:41 +0000Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-27 08:46:44 +0000kiweun(~kiweun@2607:fea8:2a62:9600:7098:46df:517a:426)
2021-04-27 08:48:26 +0000Arahael(~arahael@123-243-38-74.tpgi.com.au)
2021-04-27 08:51:11 +0000kiweun(~kiweun@2607:fea8:2a62:9600:7098:46df:517a:426) (Ping timeout: 250 seconds)
2021-04-27 08:55:18 +0000Pickchea(~private@unaffiliated/pickchea)
2021-04-27 08:55:26 +0000rdd(~rdd@c-407ce255.012-81-73746f39.cust.ownit.se) (Ping timeout: 240 seconds)
2021-04-27 08:58:16 +0000jess(jess@freenode/staff/jess)
2021-04-27 08:59:09 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-04-27 09:00:48 +0000DavidEichmann(~david@147.136.46.217.dyn.plus.net)
2021-04-27 09:00:59 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-04-27 09:01:17 +0000vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-04-27 09:03:26 +0000__minoru__shirae(~shiraeesh@109.166.59.124) (Ping timeout: 260 seconds)
2021-04-27 09:03:38 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-27 09:04:22 +0000ech(~user@gateway/tor-sasl/ech)
2021-04-27 09:04:54 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-27 09:08:41 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-27 09:12:58 +0000olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-04-27 09:13:32 +0000__minoru__shirae(~shiraeesh@109.166.59.124)
2021-04-27 09:18:59 +0000dvdp73(59736826@38.104.115.89.rev.vodafone.pt)
2021-04-27 09:24:26 +0000plutoniix(~q@cm-119-76-33-123.revip17.asianet.co.th) (Quit: Leaving)
2021-04-27 09:24:54 +0000plutoniix(~q@cm-119-76-33-123.revip17.asianet.co.th)
2021-04-27 09:25:18 +0000esp32_prog(esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127)
2021-04-27 09:27:06 +0000idhugo(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
2021-04-27 09:28:19 +0000mmfood(~mmfood@94.234.53.15)
2021-04-27 09:34:57 +0000daboss(31c7371a@gateway/web/cgi-irc/kiwiirc.com/ip.49.199.55.26)
2021-04-27 09:35:30 +0000Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2021-04-27 09:35:57 +0000Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-04-27 09:36:37 +0000 <daboss> hi everyone just wondering if something like this is code smell pseudo code classA { string user, classB admin } classB { construction(classA blah) }
2021-04-27 09:37:07 +0000 <daboss> basically classA contains classB and classB refrences classA
2021-04-27 09:37:23 +0000 <lortabac> daboss: what language is this?
2021-04-27 09:37:42 +0000 <daboss> just psuedo code
2021-04-27 09:37:53 +0000 <lortabac> what do you mean by "contains classB"?
2021-04-27 09:38:00 +0000 <daboss> as a variable
2021-04-27 09:38:18 +0000frozenErebus(~frozenEre@37.231.244.249) (Remote host closed the connection)
2021-04-27 09:38:55 +0000 <nitrix> If you think it's a code smell, then OOP would classify as code smell then. You just described inheritance.
2021-04-27 09:39:41 +0000 <daboss> its not inheritence just classA contains and instance of classB but classB refrences classA
2021-04-27 09:39:47 +0000 <daboss> an*
2021-04-27 09:40:11 +0000 <nitrix> You're doing composition, but then you circle back with a reference, that's literally inheritance.
2021-04-27 09:40:24 +0000 <daboss> thought i'd ask here since haskell programmers are usually pretty good :)
2021-04-27 09:40:44 +0000 <daboss> didn't see it that way
2021-04-27 09:40:53 +0000tempate(~tempate@unaffiliated/tempate) (Ping timeout: 246 seconds)
2021-04-27 09:41:42 +0000 <daboss> do you think its bad/
2021-04-27 09:42:20 +0000 <daboss> i think its not good design a good design would be classC that holds class A and classB
2021-04-27 09:42:21 +0000 <lortabac> oh ok so "class" is not in the Haskell sense of "type class"?
2021-04-27 09:42:35 +0000 <daboss> yeah like a class in C#
2021-04-27 09:43:25 +0000 <nitrix> Bad at what/for what? What are we judging and by what metric?
2021-04-27 09:44:41 +0000 <daboss> just a matter of opinion that's why I'm asking if you think its bad to have a circilar refrence
2021-04-27 09:45:02 +0000 <daboss> if it indicates bad design
2021-04-27 09:45:35 +0000 <nitrix> It indicates _a_ design. I don't know whether the design is useful or not. What problem is it solving?
2021-04-27 09:46:57 +0000Axman6(~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection)
2021-04-27 09:46:59 +0000 <daboss> it's a server and one of the polling for data methods is classB and classA is the server
2021-04-27 09:47:13 +0000Axman6(~Axman6@pdpc/supporter/student/Axman6)
2021-04-27 09:47:43 +0000esp32_prog(esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127) (Remote host closed the connection)
2021-04-27 09:49:02 +0000 <nitrix> So Server is just the base server, while PollableServer is capable of more (of being polled?) But somehow Server knows that it's within a PollableServer? Why?
2021-04-27 09:49:44 +0000stree(~stree@68.36.8.116) (Ping timeout: 252 seconds)
2021-04-27 09:50:51 +0000 <daboss> server starts and stops the poll but the poll needs most of the variables in server to complete tasks so server is passed as a variable to poll does that make sense?
2021-04-27 09:52:49 +0000 <nitrix> I'd decouple the twos. Instead of the server starting/stopping the poll, it should emit events/have callbacks that can be registered to run at key moments.
2021-04-27 09:53:12 +0000Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
2021-04-27 09:53:35 +0000 <nitrix> Then your pollable server can have the server as its member, and configure it properly to do specific things at specific times, here, calling on of its own methods.
2021-04-27 09:53:57 +0000 <nitrix> Think higher-order.
2021-04-27 09:54:28 +0000 <daboss> thanks for the idea
2021-04-27 09:55:37 +0000 <nitrix> I think breaking that cycle should be the priority. Seems strange for that server to know about polling. You went through the trouble of splitting the two concepts, but they haven't entirely been made independent yet.
2021-04-27 09:55:37 +0000LKoen(~LKoen@22.249.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-04-27 09:55:50 +0000malumore__(~malumore@151.62.126.111)
2021-04-27 09:56:33 +0000 <daboss> yeah that's what has been bugging me but finding it hard to come up with a better design
2021-04-27 09:56:49 +0000LKoen(~LKoen@22.249.88.92.rev.sfr.net)
2021-04-27 09:56:56 +0000 <nitrix> daboss, This talk is unrelated, but the beginning goes into a similiar scenario and could help you: https://www.youtube.com/watch?v=49dMGC1hM1o
2021-04-27 09:57:17 +0000 <daboss> I'll check it out thanks
2021-04-27 09:57:18 +0000 <nitrix> daboss, OOP-like code is plagued full of that. Have a look at let me know :P
2021-04-27 09:58:29 +0000malumore__(~malumore@151.62.126.111) (Remote host closed the connection)
2021-04-27 09:58:51 +0000malumore_(~malumore@151.62.126.111) (Ping timeout: 260 seconds)
2021-04-27 09:59:43 +0000malumore(~malumore@151.62.126.111)
2021-04-27 10:00:32 +0000Rudd0(~Rudd0@185.189.115.103)
2021-04-27 10:01:46 +0000unlink_(~unlink2@p57b85a36.dip0.t-ipconnect.de)
2021-04-27 10:02:19 +0000stree(~stree@68.36.8.116)
2021-04-27 10:02:22 +0000kiweun(~kiweun@2607:fea8:2a62:9600:4:66e1:4442:741b)
2021-04-27 10:02:41 +0000unlink2(~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-04-27 10:04:31 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 10:05:51 +0000Natch(~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection)
2021-04-27 10:07:01 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-04-27 10:07:04 +0000kiweun(~kiweun@2607:fea8:2a62:9600:4:66e1:4442:741b) (Ping timeout: 245 seconds)
2021-04-27 10:07:08 +0000Stanley00(~stanley00@unaffiliated/stanley00) ()
2021-04-27 10:07:44 +0000__monty__(~toonn@unaffiliated/toonn)
2021-04-27 10:07:56 +0000unlink_(~unlink2@p57b85a36.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2021-04-27 10:08:58 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-04-27 10:09:03 +0000unlink2(~unlink2@p200300ebcf20460060204d274f2fcc0b.dip0.t-ipconnect.de)
2021-04-27 10:12:32 +0000unlink_(~unlink2@p200300ebcf20460001326b711b7f17ac.dip0.t-ipconnect.de)
2021-04-27 10:12:40 +0000philderbeast(~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
2021-04-27 10:13:23 +0000unlink2(~unlink2@p200300ebcf20460060204d274f2fcc0b.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-04-27 10:13:25 +0000Natch(~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
2021-04-27 10:13:33 +0000mmfood(~mmfood@94.234.53.15) (Read error: Connection reset by peer)
2021-04-27 10:18:35 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2021-04-27 10:20:27 +0000frozenErebus(~frozenEre@37.231.244.249)
2021-04-27 10:21:30 +0000thunderrd(~thunderrd@183.182.110.191) (Ping timeout: 268 seconds)
2021-04-27 10:26:11 +0000daboss(31c7371a@gateway/web/cgi-irc/kiwiirc.com/ip.49.199.55.26) (Quit: Connection closed)
2021-04-27 10:31:31 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
2021-04-27 10:32:23 +0000ekrion(~ffx1@181.58.39.182)
2021-04-27 10:33:04 +0000idhugo_(~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
2021-04-27 10:34:50 +0000o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection)
2021-04-27 10:36:11 +0000idhugo(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 268 seconds)
2021-04-27 10:38:32 +0000kritzefitz(~kritzefit@2003:5b:203b:200::10:49)
2021-04-27 10:40:18 +0000Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2021-04-27 10:40:45 +0000michalz(~user@185.246.204.123) (Ping timeout: 246 seconds)
2021-04-27 10:50:21 +0000Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-27 11:00:25 +0000michalz(~user@185.246.204.107)
2021-04-27 11:00:35 +0000ericsagn1(~ericsagne@2405:6580:0:5100:9b9f:be30:ff0e:2bc) (Ping timeout: 260 seconds)
2021-04-27 11:01:33 +0000hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-27 11:02:10 +0000aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-04-27 11:02:57 +0000is_null(~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 260 seconds)
2021-04-27 11:03:01 +0000sagax(~sagax_nb@213.138.71.146)
2021-04-27 11:03:56 +0000hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-27 11:07:50 +0000tsaka_(~torstein@athedsl-4519432.home.otenet.gr)
2021-04-27 11:12:39 +0000unlink_(~unlink2@p200300ebcf20460001326b711b7f17ac.dip0.t-ipconnect.de) (Quit: Leaving)
2021-04-27 11:13:36 +0000ericsagn1(~ericsagne@2405:6580:0:5100:d754:fcc4:a1d2:1fa1)
2021-04-27 11:18:15 +0000kiweun(~kiweun@2607:fea8:2a62:9600:d814:7795:cc03:c11e)
2021-04-27 11:22:51 +0000kiweun(~kiweun@2607:fea8:2a62:9600:d814:7795:cc03:c11e) (Ping timeout: 250 seconds)
2021-04-27 11:25:24 +0000tsaka_(~torstein@athedsl-4519432.home.otenet.gr) (Quit: Konversation terminated!)
2021-04-27 11:28:53 +0000Feuermagier(~Feuermagi@213.178.26.41) (Ping timeout: 252 seconds)
2021-04-27 11:29:41 +0000is_null(~jpic@pdpc/supporter/professional/is-null)
2021-04-27 11:36:24 +0000plutoniix(~q@cm-119-76-33-123.revip17.asianet.co.th) (Quit: Leaving)
2021-04-27 11:38:15 +0000davl(~davl@207.154.228.18) (Quit: ...)
2021-04-27 11:38:16 +0000machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-04-27 11:38:38 +0000davl(~davl@207.154.228.18)
2021-04-27 11:38:49 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-27 11:44:57 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Quit: back to writing)
2021-04-27 11:49:09 +0000_bin(~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net)
2021-04-27 11:49:17 +0000_bin_(~bin@2600:1700:10a1:38d0:219a:3dd:429e:7909) (Ping timeout: 250 seconds)
2021-04-27 11:50:48 +0000frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-27 11:51:05 +0000knupfer(~Thunderbi@mue-88-130-62-083.dsl.tropolys.de)
2021-04-27 11:52:02 +0000mmfood(~mmfood@94.234.53.15)
2021-04-27 11:52:08 +0000idhugo__(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
2021-04-27 11:54:45 +0000idhugo_(~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-04-27 12:00:04 +0000pie_(~pie_bnc]@unaffiliated/pie-/x-0787662) (Quit: pie_)
2021-04-27 12:02:31 +0000pie_(~pie_bnc]@unaffiliated/pie-/x-0787662)
2021-04-27 12:02:46 +0000drbean_(~drbean@TC210-63-209-217.static.apol.com.tw)
2021-04-27 12:04:12 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-04-27 12:05:54 +0000malumore_(~malumore@151.62.126.111)
2021-04-27 12:06:11 +0000ekrion(~ffx1@181.58.39.182) (Remote host closed the connection)
2021-04-27 12:08:32 +0000knupfer(~Thunderbi@mue-88-130-62-083.dsl.tropolys.de) (Ping timeout: 240 seconds)
2021-04-27 12:08:42 +0000malumore(~malumore@151.62.126.111) (Ping timeout: 268 seconds)
2021-04-27 12:10:06 +0000stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-27 12:17:35 +0000bitmagie(~Thunderbi@200116b80690c300997cabc9cf9a1ff7.dip.versatel-1u1.de)
2021-04-27 12:18:00 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-27 12:19:11 +0000tmciver(~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 268 seconds)
2021-04-27 12:21:43 +0000enoq(~textual@194-208-146-143.lampert.tv)
2021-04-27 12:22:43 +0000stree(~stree@68.36.8.116)
2021-04-27 12:26:29 +0000johannes_(~johannes@b2b-37-24-119-190.unitymedia.biz) (Quit: leaving)
2021-04-27 12:27:01 +0000ulidtko(~ulidtko@194.54.80.38)
2021-04-27 12:27:23 +0000rdivyanshu(uid322626@gateway/web/irccloud.com/x-mteqqlxhxtokcodc)
2021-04-27 12:27:37 +0000carlomagno(~cararell@148.87.23.13)
2021-04-27 12:28:47 +0000simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Ping timeout: 260 seconds)
2021-04-27 12:29:48 +0000pbgc(~pbgc@a89-152-234-147.cpe.netcabo.pt) (Quit: Computer has gone to sleep.)
2021-04-27 12:30:43 +0000thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (Ping timeout: 248 seconds)
2021-04-27 12:31:06 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-04-27 12:33:03 +0000aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds)
2021-04-27 12:38:16 +0000pbgc(~pbgc@a89-152-234-147.cpe.netcabo.pt)
2021-04-27 12:40:33 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr)
2021-04-27 12:40:52 +0000 <maerwald> brave to come in here and ask OOP questions :p
2021-04-27 12:44:11 +0000ddella___(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-27 12:45:01 +0000simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f)
2021-04-27 12:45:10 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 12:45:25 +0000domenkozar[m](domenkozar@gateway/shell/matrix.org/x-rrfutzikoxlnrwmv) (Changing host)
2021-04-27 12:45:25 +0000domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-04-27 12:48:08 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:58e6:3a0a:96a:ca2c)
2021-04-27 12:48:09 +0000Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 268 seconds)
2021-04-27 12:48:15 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-04-27 12:49:11 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-04-27 12:51:18 +0000Tario(~Tario@201.192.165.173)
2021-04-27 12:52:45 +0000tmciver(~tmciver@cpe-172-101-46-34.maine.res.rr.com)
2021-04-27 12:55:33 +0000pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-04-27 12:56:08 +0000thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2021-04-27 12:56:56 +0000Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Remote host closed the connection)
2021-04-27 12:57:14 +0000Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-04-27 12:58:42 +0000jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-04-27 12:59:04 +0000knupfer(~Thunderbi@dynamic-046-114-150-151.46.114.pool.telefonica.de)
2021-04-27 12:59:11 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-04-27 12:59:29 +0000jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-04-27 13:01:27 +0000simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Ping timeout: 260 seconds)
2021-04-27 13:01:37 +0000knupfer(~Thunderbi@dynamic-046-114-150-151.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2021-04-27 13:02:23 +0000thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (Ping timeout: 260 seconds)
2021-04-27 13:06:07 +0000mmfood(~mmfood@94.234.53.15) (Ping timeout: 240 seconds)
2021-04-27 13:06:23 +0000urodna(~urodna@unaffiliated/urodna)
2021-04-27 13:10:20 +0000mmfood(~mmfood@185.176.246.69)
2021-04-27 13:12:15 +0000ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 13:12:31 +0000mmfood_1(~mmfood@185.176.246.118)
2021-04-27 13:15:29 +0000mmfood(~mmfood@185.176.246.69) (Ping timeout: 265 seconds)
2021-04-27 13:16:52 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-04-27 13:18:55 +0000kiweun(~kiweun@2607:fea8:2a62:9600:5cb2:e875:5c51:8e43)
2021-04-27 13:20:59 +0000simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f)
2021-04-27 13:22:58 +0000geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-04-27 13:23:45 +0000kiweun(~kiweun@2607:fea8:2a62:9600:5cb2:e875:5c51:8e43) (Ping timeout: 250 seconds)
2021-04-27 13:27:06 +0000thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2021-04-27 13:28:30 +0000frozenErebus(~frozenEre@37.231.244.249)
2021-04-27 13:33:51 +0000gaff(~user@49.207.195.160)
2021-04-27 13:34:45 +0000xkapastel(uid17782@gateway/web/irccloud.com/x-wfrommuaxtjqnxrn)
2021-04-27 13:34:52 +0000mnrmnaughawk
2021-04-27 13:34:57 +0000 <ulidtko> what's the way to install a package in both .a and .so versions?
2021-04-27 13:35:08 +0000 <ulidtko> I keep forgetting the incantation for that
2021-04-27 13:35:23 +0000 <ulidtko> -static -dynamic-too flag to GHC or what?
2021-04-27 13:35:26 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-27 13:36:20 +0000 <gaff> i want to call a polymorphic function, say f :: Ord a => [a] -> [a] -> [a] with different type annotations in the same code (like let result :: [Int] = f [1..3] [5..10] in .... is there a way to do it?
2021-04-27 13:37:08 +0000 <ulidtko> gaff, yes, use {-# LANGUAGE ScopedTypeVariables #-} then you use type specialization in any subexpression
2021-04-27 13:37:34 +0000 <ulidtko> let result = f [1..3] [5..10] :: [Int] would work
2021-04-27 13:37:47 +0000 <gaff> ulidtko: what i mean is that i want to call f with [Int], then [Char], etc.
2021-04-27 13:37:53 +0000 <ulidtko> yes understood
2021-04-27 13:38:16 +0000Lycurgus(~niemand@98.4.118.65)
2021-04-27 13:38:54 +0000 <gaff> the problem i found is that once assign a type annotation, the compiler infers that type. you can change the type in the next call to f.
2021-04-27 13:39:16 +0000 <gaff> you can not change the type anymore
2021-04-27 13:39:28 +0000 <ulidtko> you can
2021-04-27 13:39:34 +0000 <ulidtko> let me show, just a sec
2021-04-27 13:39:39 +0000 <gaff> ok
2021-04-27 13:39:44 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-04-27 13:39:57 +0000Valion(~Valion@api.ivido.nl)
2021-04-27 13:41:24 +0000 <ulidtko> gaff, https://i.imgur.com/QjBQRy1.png
2021-04-27 13:41:28 +0000 <gaff> ok
2021-04-27 13:43:52 +0000 <gaff> ok, thank you. i remember trying the same thing but for some reason the comiler growled. let me try it out again with your idea.
2021-04-27 13:44:12 +0000tanuki(~quassel@173.168.178.1)
2021-04-27 13:44:13 +0000 <gaff> ulidtko: thanks. i will get back if i see any more issues.
2021-04-27 13:44:48 +0000proofofkeags(~proofofke@97-118-239-55.hlrn.qwest.net)
2021-04-27 13:45:37 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-04-27 13:46:17 +0000wavemode(~wavemode@097-070-075-143.res.spectrum.com)
2021-04-27 13:46:20 +0000awkmnrmnaugh
2021-04-27 13:46:24 +0000wavemode(~wavemode@097-070-075-143.res.spectrum.com) (Remote host closed the connection)
2021-04-27 13:46:39 +0000timCF(~i.tkachuk@254-149-20-81.sta.estpak.ee)
2021-04-27 13:47:52 +0000Sgeo(~Sgeo@ool-18b9875e.dyn.optonline.net)
2021-04-27 13:49:20 +0000drbean_(~drbean@TC210-63-209-217.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-27 13:49:26 +0000 <pjb> Hey I have an idea! Wouldn't it be simplier if the function f could take sequences of any type? (defun f (x y) (concatenate 'list x y)) (list (f '(1 2 3) '(4 5 6)) (f '(1.1 2.2 3.3) '(4.4 5.5 6.6))) #| --> ((1 2 3 4 5 6) (1.1 2.2 3.3 4.4 5.5 6.6)) |# /just asking
2021-04-27 13:49:48 +0000 <timCF> Hello! Does anybody know "eager" equivalent of `ExceptT e m a` which will not stop computation in case of Left, but will continue accumulating errors in some sort of monoid. Basically I want transformer like `Semigroup e => ValidationT e m a`
2021-04-27 13:51:04 +0000 <ulidtko> WriterT?..
2021-04-27 13:51:33 +0000Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
2021-04-27 13:52:24 +0000bitmagie(~Thunderbi@200116b80690c300997cabc9cf9a1ff7.dip.versatel-1u1.de) (Quit: bitmagie)
2021-04-27 13:53:25 +0000 <geekosaur> http://hackage.haskell.org/package/monad-chronicle ?
2021-04-27 13:54:36 +0000 <maerwald> yes, chronicle/These
2021-04-27 13:54:58 +0000zmijunkie(~Adium@87.122.222.91)
2021-04-27 13:55:50 +0000 <timCF> geekosaur: maerwald: thanks a lot guys! This kind of stuff I was not able to learn from "Learn You a Haskell" :)
2021-04-27 13:56:12 +0000zmijunkie1(~Adium@109.90.32.89) (Ping timeout: 240 seconds)
2021-04-27 13:56:45 +0000 <xsperry> > let f = (<>) in (f [1, 2, 3] [4, 5, 6], f [1.1, 2.2, 3.3] [4.4, 5.5, 6.6]) -- pjb
2021-04-27 13:56:47 +0000 <lambdabot> ([1,2,3,4,5,6],[1.1,2.2,3.3,4.4,5.5,6.6])
2021-04-27 13:57:14 +0000 <gaff> ulidtko: can you type annotate the function itself? i mean do something like this: g (f :: [Int] -> [Int]), and then within g, you have g f = q f. likewise, do g (f :: [Char] -> [Char]), g f = q f. here q passes the right type of data to f based on its type. this does not seem possible.
2021-04-27 13:57:15 +0000 <pjb> Ah nice. Then you don't need to specify the type.
2021-04-27 13:58:31 +0000 <ulidtko> gaff, you can't pattern-match on types in haskell. your [Int] -> [Int] or [Char] -> [Char] must go into f's *signature*, not implementation.
2021-04-27 13:59:04 +0000 <gaff> ulidtko: i see.
2021-04-27 13:59:33 +0000 <ulidtko> perhaps if you uncovered what you're trying to achieve, there could be a way
2021-04-27 13:59:50 +0000HannaM(~quassel@p54849510.dip0.t-ipconnect.de)
2021-04-27 14:00:02 +0000thblt(~thblt@unaffiliated/thblt)
2021-04-27 14:00:43 +0000 <gaff> basiccally, i am running quickcheck on a sort function, and i want to sort different types that are instances of Ord, like Char, Int, etc
2021-04-27 14:01:35 +0000 <ulidtko> you'd need to list out all the types you want to test on explicitly
2021-04-27 14:01:53 +0000 <gaff> right now i am just sort [Int]. of course i can manually go in there type a different type annotation, but that is pain. i was wondering if there was a way to do it for different types.
2021-04-27 14:03:21 +0000 <xsperry> pjb, it can be also used with Maybe a, where a is a semigroup
2021-04-27 14:03:29 +0000 <xsperry> > Just "foo" <> Just "bar"
2021-04-27 14:03:31 +0000 <lambdabot> Just "foobar"
2021-04-27 14:03:37 +0000 <xsperry> or even with functions that return Semigroup, ie:
2021-04-27 14:04:10 +0000 <gaff> ulidtko: when you say you can't pattern match on type signatures -- is that because types are determined at compile time?
2021-04-27 14:04:11 +0000 <xsperry> > sortBy (comparing length <> comparing id) (words "a aa b bb c cc z")
2021-04-27 14:04:13 +0000 <lambdabot> ["a","b","c","z","aa","bb","cc"]
2021-04-27 14:04:41 +0000zardoz2(~bc8134e3@217.29.117.252)
2021-04-27 14:05:12 +0000jao(~jao@pdpc/supporter/professional/jao)
2021-04-27 14:05:36 +0000 <thblt> I have a (finite) bunch of objects that link to each other (let's say books and their authors). Is it reasonable/idiomatic to store the objects in some sort of indexed container (eg `Map Int Object`) and have those links represented as indexes? Eg newtype ObjectId = Int; data Book = Book { author :: Int, title :: String}? (The actual model is more complex, just wanted to know if it makes sense)
2021-04-27 14:06:01 +0000kritzefitz(~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
2021-04-27 14:07:44 +0000 <gaff> ulidtko: i see (on your earlier comment that i need to list out all the types i need to test out explicitly)
2021-04-27 14:08:44 +0000Sheilong(uid293653@gateway/web/irccloud.com/x-wmcvcprqxoaligba)
2021-04-27 14:08:47 +0000immae(immaematri@gateway/shell/matrix.org/x-dzpquvhgzhzvsdfa) (Quit: issued !quit command)
2021-04-27 14:09:35 +0000 <ulidtko> gaff, correct. for the same reason it's not easy (to my knowledge) to have a magic_generator :: Ord a => Gen a which'd spew out generators of various types with Arbitrary and Ord instances. Might be doable, but not easy. Definitely harder than listing those types you care about the most -- and trusting parametric polymorphism to not produce behaviors dependent on specific types.
2021-04-27 14:10:48 +0000 <ulidtko> in other words, if your sorting function under test is parametric in Ord a, than ensuring it works for Ints will ensure it works for any other type
2021-04-27 14:11:45 +0000immae(~immae@2a01:4f8:141:53e7::)
2021-04-27 14:12:03 +0000 <gaff> ulidtko: coorect, absolutely. so you are saying there is no need to test for other types, if things work well for say Int?
2021-04-27 14:12:51 +0000 <gaff> sort function i am testing is parametric in Ord a, by the way.
2021-04-27 14:13:01 +0000acidjnk_new2(~acidjnk@p200300d0c72b9524d9e45372e00f3038.dip0.t-ipconnect.de)
2021-04-27 14:13:07 +0000 <ulidtko> that's a so-called "free theorem" I think. f :: Ord a => [a] -> [a] -> [a] *isn't allowed* to know what a is.
2021-04-27 14:13:20 +0000 <gaff> i see
2021-04-27 14:13:24 +0000 <ulidtko> so if it works on Int, it must work on anything else. yeah
2021-04-27 14:13:41 +0000 <gaff> ulidtko: great. i am relieved.
2021-04-27 14:14:20 +0000 <ulidtko> gaff, nice, glad to help!
2021-04-27 14:14:33 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-04-27 14:14:34 +0000acidjnk_new(~acidjnk@p200300d0c72b95883ddaf449c9d144e9.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-04-27 14:14:37 +0000proofofkeags(~proofofke@97-118-239-55.hlrn.qwest.net) (Ping timeout: 252 seconds)
2021-04-27 14:16:36 +0000waleee-cl(uid373333@gateway/web/irccloud.com/x-yppqkxzvcrpccgyz)
2021-04-27 14:16:58 +0000 <gaff> also, one clarification: when you say you can't match on types, what exactly are you implying? are you saying that something like this can not be done, for example: Case x of {A -> g (f :: [Int] -> [Int]), B -> g (f :: [Char] -> [Char]) }. this can not be done.
2021-04-27 14:17:33 +0000timCF(~i.tkachuk@254-149-20-81.sta.estpak.ee) (Ping timeout: 252 seconds)
2021-04-27 14:18:09 +0000 <ulidtko> this usage isn't pattern-matching on f
2021-04-27 14:18:46 +0000 <gaff> ulidtko: but the usage i describe will not compile
2021-04-27 14:18:55 +0000 <ulidtko> yes
2021-04-27 14:19:04 +0000 <ulidtko> oh wait it could
2021-04-27 14:19:12 +0000 <ulidtko> but it inspects x -- which must be the same type in both case arms
2021-04-27 14:19:27 +0000 <ulidtko> I guess what I'm saying is, not a good example
2021-04-27 14:20:31 +0000ystael(~ystael@209.6.50.55)
2021-04-27 14:20:31 +0000 <gaff> ulidtko: yeah, because it isn't the same type on both arms, it won't compile. and it doesn't.
2021-04-27 14:20:53 +0000mmfood_1(~mmfood@185.176.246.118) (Quit: Leaving)
2021-04-27 14:21:16 +0000 <gaff> i can not imagine any other way to do it.
2021-04-27 14:21:18 +0000rj(~x@gateway/tor-sasl/rj)
2021-04-27 14:21:43 +0000 <ulidtko> you can use type-families to "conceptually" pattern-match on types. that wouldn't look like a case {} expression though
2021-04-27 14:22:06 +0000 <gaff> i see
2021-04-27 14:23:36 +0000 <gaff> so as i understood from what you said earlier, the example i have described is not exactly pattern matching on types?
2021-04-27 14:24:14 +0000Lycurgus(~niemand@98.4.118.65) (Quit: Exeunt)
2021-04-27 14:28:48 +0000 <ulidtko> that's right. it's pattern-match on variable x, of sum-type with constructors A and B
2021-04-27 14:29:14 +0000 <ulidtko> (not on two functions named f with different signatures)
2021-04-27 14:29:55 +0000frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-27 14:30:32 +0000stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-27 14:31:00 +0000 <ulidtko> (you could as well say, two different specializations of polymorphic f)
2021-04-27 14:34:45 +0000kiweun(~kiweun@2607:fea8:2a62:9600:8cec:67b2:253b:dec)
2021-04-27 14:34:46 +0000cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-04-27 14:35:49 +0000 <gaff> ulidtko: i see
2021-04-27 14:36:18 +0000pengjiz(~user@2601:547:902:6d00::2)
2021-04-27 14:36:54 +0000rdivyanshu(uid322626@gateway/web/irccloud.com/x-mteqqlxhxtokcodc) (Quit: Connection closed for inactivity)
2021-04-27 14:37:18 +0000 <dexterfoo> geekosaur: I tried it and it doesn't work :/
2021-04-27 14:37:24 +0000 <gaff> ulidtko: and that can be done (the case business) because the types in both arms of the case do not match.
2021-04-27 14:37:55 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Quit: WeeChat 3.1)
2021-04-27 14:38:19 +0000 <gaff> sorry, i meant, that can not be done.
2021-04-27 14:39:09 +0000kiweun(~kiweun@2607:fea8:2a62:9600:8cec:67b2:253b:dec) (Ping timeout: 250 seconds)
2021-04-27 14:39:43 +0000Berndt(~Berndt@dynamic-095-112-089-113.95.112.pool.telefonica.de)
2021-04-27 14:39:53 +0000Berndt(~Berndt@dynamic-095-112-089-113.95.112.pool.telefonica.de) (Quit: WeeChat 3.1)
2021-04-27 14:40:10 +0000Berndt(~Berndt@dynamic-095-112-089-113.95.112.pool.telefonica.de)
2021-04-27 14:42:25 +0000Berndt(~Berndt@dynamic-095-112-089-113.95.112.pool.telefonica.de) ()
2021-04-27 14:42:53 +0000slack1256(~slack1256@200-112-79-247.baf.movistar.cl)
2021-04-27 14:43:54 +0000hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-04-27 14:44:13 +0000stree(~stree@68.36.8.116)
2021-04-27 14:44:18 +0000 <ulidtko> gaff, well... not exactly. You _can_ have different types in case arms, e.g. main = case bool_variable of {True -> print 3.14; False -> print ([1..4] :: [Int])}. You cannot have different _return types_ so to say, the expressions in case arms must unify; this won't work: print (case bool_variable of {True -> 3.14; False -> ([1..4] :: [Int])})
2021-04-27 14:44:27 +0000sh9(~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8)
2021-04-27 14:44:41 +0000 <slack1256> My failing HLS terminates on emacs with the following message: "exited with status exit(check corresponding stderr buffer for details" but I don't see any emacs buffer with info. Does anyone have any idea where to find it?
2021-04-27 14:45:05 +0000 <slack1256> Nevermind, found it.
2021-04-27 14:50:00 +0000 <gaff> ulidtko: correct. what confuses me is in the example i described -- g (f :: [Int] -> [Int]), g (f :: [Char] -> [Char]), g is polymorphic, having the type signature g :: Ord a => ([a] -> [a}) -> IO (), yet the compiler complains, even though both arms of the case statement return IO (). i couldn't understand that.
2021-04-27 14:51:03 +0000 <ulidtko> gaff, can you post a self-contained example? i think that usage should be fine, it's likely you're missing something
2021-04-27 14:51:15 +0000 <gaff> ok
2021-04-27 14:52:12 +0000idhugo__(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-04-27 14:52:46 +0000 <joel135> I was looking at some purescript docs and saw "setPersonPostcode pc p = p { address { postCode = pc } }". First question: Does haskell have the same syntax feature? Second question: Now imagine that there are more clauses after address and after postCode. Can this be achieved with a haskell lens library?
2021-04-27 14:53:39 +0000 <ulidtko> joel135, yes and yes. see "record update syntax", lens can do it in a different way
2021-04-27 14:59:23 +0000 <geekosaur> dexterfoo, sorry, what is the context of this? I've lost it
2021-04-27 15:00:14 +0000 <nicholasbulka> how might I write a function that requires subtracting 1 on every second iteration?
2021-04-27 15:00:17 +0000 <nicholasbulka> for example
2021-04-27 15:00:34 +0000 <nicholasbulka> next y n = reverse $ transpose (chunks n $ concat $ tail y)
2021-04-27 15:01:12 +0000 <nicholasbulka> next (next (next (next (next (next (next y 4 ) 3 ) 3 ) 2) 2 ) 1) 1
2021-04-27 15:02:03 +0000 <nicholasbulka> I'm basically flipping rotating a matrix to deconstruct it in a spiral fashion.
2021-04-27 15:02:40 +0000 <joel135> ulidtko: I can't find how the syntax works recursively https://paste.tomsmeding.com/UkviUQv0
2021-04-27 15:03:19 +0000 <joel135> For the lens approach, could you show me / link to an example like that?
2021-04-27 15:05:35 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de) (Read error: Connection reset by peer)
2021-04-27 15:05:56 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de)
2021-04-27 15:06:59 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:4afc:980e:3b22:8734) (Ping timeout: 260 seconds)
2021-04-27 15:08:40 +0000cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-04-27 15:09:57 +0000zmijunkie1(~Adium@109.90.32.89)
2021-04-27 15:11:50 +0000zmijunkie(~Adium@87.122.222.91) (Ping timeout: 268 seconds)
2021-04-27 15:13:35 +0000jespada(~jespada@87.74.37.248) (Quit: Leaving)
2021-04-27 15:14:32 +0000ep1ctetus(~epictetus@ip72-194-54-201.sb.sd.cox.net)
2021-04-27 15:15:09 +0000 <gaff> ulidtko: see https://pastebin.com/SXSDri7q for an example
2021-04-27 15:17:31 +0000enoq(~textual@194-208-146-143.lampert.tv) (Quit: Textual IRC Client: www.textualapp.com)
2021-04-27 15:20:47 +0000jgt(~jgt@78.162.43.217) (Ping timeout: 240 seconds)
2021-04-27 15:21:29 +0000idhugo__(~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
2021-04-27 15:21:29 +0000jgt(~jgt@78.162.43.217)
2021-04-27 15:21:56 +0000aerona(~aerona@2600:6c54:4600:f300:79a1:e32c:5e1f:ee48)
2021-04-27 15:24:34 +0000 <gaff> that code i pasted doesn't compile.
2021-04-27 15:24:43 +0000 <gaff> i am not exactly clear why
2021-04-27 15:25:36 +0000 <gaff> also, i there anyother way to rewrite it?
2021-04-27 15:25:50 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-27 15:26:02 +0000 <gaff> is there any other way to rewrite it?
2021-04-27 15:26:49 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-27 15:28:56 +0000Deide(~Deide@217.155.19.23)
2021-04-27 15:30:25 +0000Sarcarean(4582bfd4@h69-130-191-212.bendor.broadband.dynamic.tds.net) (Quit: Connection closed)
2021-04-27 15:31:09 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-27 15:31:28 +0000 <gaff> ulidtko: the stuff i pasted at https://pastebin.com/SXSDri7q pretty much simulates the problem i have described earlier.
2021-04-27 15:32:46 +0000 <joel135> gaff: I may be wrong, but isn't this a Rank-N types issue?
2021-04-27 15:33:39 +0000zmijunkie(~Adium@87.122.222.91)
2021-04-27 15:33:42 +0000 <gaff> joel135: i am not sure what you are saying.
2021-04-27 15:34:11 +0000 <joel135> let me see if i can solve it with that idea, hold on
2021-04-27 15:35:16 +0000 <gaff> basically, once the type is set in one case branch, the compiler doesn't allow another type annotation in a different branch of the case expression, although both branches return IO ().
2021-04-27 15:35:40 +0000zmijunkie1(~Adium@109.90.32.89) (Ping timeout: 252 seconds)
2021-04-27 15:36:11 +0000 <ulidtko> indeed Rank-N types, I can't seem to solve it... "GHC doesn't yet support impredicative polymorphism"
2021-04-27 15:36:36 +0000 <gaff> ulidtko: what does it mean really?
2021-04-27 15:37:19 +0000 <ulidtko> gaff, would should be the type for this value? [(0,f),(1,h)]
2021-04-27 15:37:35 +0000 <ulidtko> it's a heterogeneous list, see
2021-04-27 15:38:04 +0000 <gaff> f and h have same type signatures
2021-04-27 15:38:09 +0000nineonine(~nineonine@S0106a0ff7073d5d5.vf.shawcable.net)
2021-04-27 15:38:38 +0000 <ulidtko> you're right, but the compiler disagrees... hmmm
2021-04-27 15:38:57 +0000nineonine(~nineonine@S0106a0ff7073d5d5.vf.shawcable.net) (Remote host closed the connection)
2021-04-27 15:39:37 +0000nineonine(~nineonine@2604:3d08:7785:9600:18c3:826f:bcf6:7789)
2021-04-27 15:39:40 +0000 <gaff> strange situation, really
2021-04-27 15:39:46 +0000nineonine(~nineonine@2604:3d08:7785:9600:18c3:826f:bcf6:7789) (Remote host closed the connection)
2021-04-27 15:40:00 +0000nineonine(~nineonine@2604:3d08:7785:9600:8da3:57c2:b9e6:3845)
2021-04-27 15:40:02 +0000 <ulidtko> am indeed puzzled
2021-04-27 15:40:36 +0000 <joel135> Rank-N types here means that while f and h have the same type signatures, the type variable 'a' is instantiated at the point where f and h are used as input. That is, the function which accepts f and h does not get to choose a internally.
2021-04-27 15:41:04 +0000 <gaff> ulidtko: here is why the compiler disagrees. the compiler infers the type from the first branch, and then it says the second branch doesn't match.
2021-04-27 15:41:14 +0000 <joel135> ^
2021-04-27 15:41:30 +0000 <ulidtko> yea, some appropriately-placed forall's should get this working
2021-04-27 15:41:43 +0000 <joel135> yes i think so too
2021-04-27 15:42:35 +0000 <gaff> forall placed where? i am not sure ...
2021-04-27 15:44:02 +0000justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-04-27 15:44:09 +0000ericsagn1(~ericsagne@2405:6580:0:5100:d754:fcc4:a1d2:1fa1) (Ping timeout: 245 seconds)
2021-04-27 15:44:12 +0000 <gaff> ulidtko: i think it has something to do with this stuff being within mapM_?
2021-04-27 15:44:39 +0000 <joel135> i am getting "GHC doesn't yet support impredicative polymorphism" too now :(
2021-04-27 15:45:06 +0000 <ulidtko> yes the g and h must get packed into a single homogeneous list (implying same types)
2021-04-27 15:45:35 +0000 <gaff> i am using ghc 8.10.4. no such error for me.
2021-04-27 15:45:41 +0000 <joel135> (I tried this way of analysing the problem https://paste.tomsmeding.com/HNa0DhEb)
2021-04-27 15:46:44 +0000othe1(~othe@195.140.213.38) (Remote host closed the connection)
2021-04-27 15:46:46 +0000nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-27 15:46:51 +0000 <joel135> related https://stackoverflow.com/questions/56448814/why-is-impredicative-polymorphism-allowed-only-for-fu…
2021-04-27 15:47:04 +0000acidjnk_new2(~acidjnk@p200300d0c72b9524d9e45372e00f3038.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-04-27 15:48:08 +0000 <ulidtko> moving those to a top-level binding inputs = [(0, f), (1, h)] + NoMonomorphismRestriction moves to the next error
2021-04-27 15:48:09 +0000 <nicholasbulka> I can't seem to figure out how to get exhaustive patterns for this recursion definition:
2021-04-27 15:48:22 +0000 <nicholasbulka> spiral [] = []
2021-04-27 15:48:22 +0000 <nicholasbulka> spiral (x:xs) = x ++ spiral(reverse $ Lst.transpose (chunks (length xs) $ concat xs))
2021-04-27 15:48:30 +0000 <nicholasbulka> takes a [[Int]] -> [Int}
2021-04-27 15:48:32 +0000jgt(~jgt@78.162.43.217) (Ping timeout: 240 seconds)
2021-04-27 15:48:41 +0000 <c_wraith> joel135: note that the version of GHC currently in pre-release testing makes ImpredicativePolymorphism actually work better
2021-04-27 15:49:03 +0000nineonine(~nineonine@2604:3d08:7785:9600:8da3:57c2:b9e6:3845) (Remote host closed the connection)
2021-04-27 15:49:11 +0000landonf(landonf@mac68k.info) (Excess Flood)
2021-04-27 15:49:15 +0000 <joel135> i see, i am only using 8.8.4
2021-04-27 15:49:28 +0000 <gaff> joel135: i think what you are referrring to is another type of problem, where the forall is not placed outermost in the type signature.
2021-04-27 15:49:43 +0000 <joel135> isn't it the same problem?
2021-04-27 15:50:24 +0000kiweun(~kiweun@2607:fea8:2a62:9600:85b6:a1c5:df8:4090)
2021-04-27 15:50:46 +0000 <nut> Is it feasible to create wrappers of the entire Lapack, Blas, gsl etc. with inline-c ? If so, we can create a Pandas-like lib in Haskell, wouldn't it be nice?
2021-04-27 15:50:56 +0000landonf(landonf@mac68k.info)
2021-04-27 15:51:10 +0000 <gaff> no, as i understand it, f :: forall a. Ord a => [a] -> [a] is different from f :: [forall a. Ord a => a -> a]
2021-04-27 15:51:31 +0000 <ulidtko> it is different
2021-04-27 15:51:31 +0000 <joel135> yes that's true
2021-04-27 15:51:45 +0000 <geekosaur> nicholasbulka, what pattern does it claim isn't covered?
2021-04-27 15:51:50 +0000 <joel135> the stackoverflow link also says so, i see
2021-04-27 15:51:59 +0000frozenErebus(~frozenEre@37.231.244.249)
2021-04-27 15:53:09 +0000 <nicholasbulka> where could I find that in ghci
2021-04-27 15:53:21 +0000 <nicholasbulka> I don't know is the short of it
2021-04-27 15:53:48 +0000 <geekosaur> if you are getting an inexhaustive patterns warning it should also say which patterns it thinks aren't included
2021-04-27 15:54:03 +0000 <geekosaur> oh, ghci
2021-04-27 15:54:20 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 15:54:20 +0000 <geekosaur> you need to put both definitions on the same line, separated by a semicolon
2021-04-27 15:54:34 +0000 <geekosaur> otherwise ghci doesn't know they go together
2021-04-27 15:54:45 +0000 <monochrom> In the long run you should use an editor, a filename, and :load
2021-04-27 15:54:59 +0000kiweun(~kiweun@2607:fea8:2a62:9600:85b6:a1c5:df8:4090) (Ping timeout: 245 seconds)
2021-04-27 15:55:12 +0000 <nicholasbulka> right
2021-04-27 15:55:13 +0000 <nicholasbulka> ok
2021-04-27 15:55:24 +0000 <ulidtko> or use the :{ :} multiline braces
2021-04-27 15:55:30 +0000 <monochrom> By the time you have 3 lines of code and after entering the 3rd line you realize you need to change the 1st line you've lost.
2021-04-27 15:55:46 +0000 <monochrom> This is why I refuse to bring up the :{ :} feature.
2021-04-27 15:56:00 +0000 <monochrom> It encourages the wrong habits.
2021-04-27 15:56:09 +0000 <joel135> ulidtko gaff: solved it https://paste.tomsmeding.com/qkTRpcFx
2021-04-27 15:56:10 +0000 <ulidtko> fair enough, it's a crappy workaround
2021-04-27 15:56:11 +0000 <monochrom> Entering your 100-line program at the prompt?
2021-04-27 15:56:17 +0000 <c_wraith> yeah, if you use semicolons you are still on the same line and can edit it. :P
2021-04-27 15:56:32 +0000 <c_wraith> and only 100? you're quitting so early!
2021-04-27 15:56:33 +0000 <ulidtko> joel135, ahhh yes. nice!
2021-04-27 15:56:48 +0000 <joel135> the stackoverflow link had the answer
2021-04-27 15:56:53 +0000 <monochrom> Do people enter shell scripts at the shell prompt just because they can?
2021-04-27 15:57:06 +0000 <c_wraith> sometimes, when it's appropriate
2021-04-27 15:57:11 +0000ericsagn1(~ericsagne@2405:6580:0:5100:7b81:a13d:7f4a:d3e9)
2021-04-27 15:57:20 +0000 <geekosaur> ^
2021-04-27 15:58:28 +0000 <ulidtko> joel135, so the trick is to make it clear where the dictionary packing & unpacking happens. instructive, TIL
2021-04-27 15:58:42 +0000knupfer(~Thunderbi@200116b82b9c4f0069e2a2a836aa8e3f.dip.versatel-1u1.de)
2021-04-27 15:58:45 +0000 <nicholasbulka> that worked; thank you ;)
2021-04-27 15:58:58 +0000 <monochrom> Well, I am using the fuzzy divide that, e.g., when I enter a for-loop and the body is one short command, e.g., "for i in * ; do rm $i.c; done", it doesn't count as a script, it's just a long command.
2021-04-27 15:59:07 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-04-27 15:59:44 +0000 <gaff> joel135: it works ...
2021-04-27 16:00:10 +0000ChrisMarquardt(~ChrisMarq@185.204.1.185)
2021-04-27 16:00:12 +0000 <joel135> You have to modularize your code, it's a feature! :-)
2021-04-27 16:00:21 +0000 <gaff> but i think there might be a cleaner way, though i am not sure
2021-04-27 16:00:26 +0000nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-04-27 16:00:34 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 16:00:46 +0000 <DigitalKiwi> surely i'm not the only person who regularly writes 1 line bash scripts that end up being 15 after refactoring
2021-04-27 16:00:58 +0000nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-27 16:01:14 +0000 <geekosaur> no, but I also know how to use history to retrieve that line or so into a file to flesh it out
2021-04-27 16:01:23 +0000 <gaff> joel135: thanks much, by the way.
2021-04-27 16:01:33 +0000 <joel135> i learned as well :)
2021-04-27 16:01:40 +0000 <DigitalKiwi> yeah that's what i do
2021-04-27 16:01:49 +0000 <gaff> yeah
2021-04-27 16:02:15 +0000 <ulidtko> monochrom, you could also set EDITOR and use alt-e in fish/zsh, ^Xe in bash, and so edit the multi-line command "on the fly" without touching a file
2021-04-27 16:02:22 +0000 <c_wraith> I tend to write a lot of code specifically to test my answers for questions. A lot of the time I can get away with long single lines in ghci to verify the parts I want to double-check
2021-04-27 16:03:08 +0000 <monochrom> I do that too.
2021-04-27 16:03:16 +0000 <ulidtko> occasionally useful, isn't it
2021-04-27 16:03:44 +0000 <c_wraith> anything I want to *use* I keep in a file. But sometimes that's not what I'm doing. :)
2021-04-27 16:03:51 +0000proofofkeags(~proofofke@205.209.28.54)
2021-04-27 16:05:19 +0000 <ulidtko> joel135, getting back to your record syntax inquiry. u{b=Baz{c=44}} -- this works, you've missed an '='
2021-04-27 16:05:36 +0000 <joel135> oh i'll try that, thanks
2021-04-27 16:06:34 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-04-27 16:06:44 +0000 <ulidtko> there's lens-tutorial package with plenty examples, also many recorded talks, I don't know any better materials for lens. Too dumb yet for that profunctor stuff :(
2021-04-27 16:07:09 +0000 <joel135> `w = u {b = {c = 44}}' has a parse error
2021-04-27 16:07:21 +0000 <joel135> oh i got it
2021-04-27 16:08:47 +0000 <joel135> now i get this https://paste.tomsmeding.com/rXWA9fs4
2021-04-27 16:09:02 +0000 <joel135> maybe haskell doesn't support it after all?
2021-04-27 16:09:28 +0000 <nicholasbulka> I'm closer now, with the following function:
2021-04-27 16:09:37 +0000 <geekosaur> it doesn't support the shorthand there
2021-04-27 16:09:56 +0000 <nicholasbulka> spiral [] = [] ; spiral (x:xs) = x ++ spiral(reverse $ transpose (chunks (length (xs !! 0) ) $ concat xs))
2021-04-27 16:10:06 +0000 <nicholasbulka> but now I am getting this error
2021-04-27 16:10:08 +0000zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-04-27 16:10:21 +0000 <nicholasbulka> spiral [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
2021-04-27 16:10:21 +0000 <nicholasbulka> [1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10*** Exception: Prelude.!!: index too large
2021-04-27 16:10:50 +0000 <joel135> i think i'll look into lens-tutorial
2021-04-27 16:11:02 +0000dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2021-04-27 16:11:02 +0000 <ulidtko> joel135, I'll refer to SO, the accepted answer covers pretty well https://stackoverflow.com/questions/7365425/is-there-a-haskell-idiom-for-updating-a-nested-data-st…
2021-04-27 16:11:09 +0000zaquest(~notzaques@5.128.210.178)
2021-04-27 16:11:23 +0000 <nicholasbulka> it is seemingly doing the right thing but fails when indexing that xs !! 0 I believe ... I can't seem to get the pattern matching right for the degenerate case
2021-04-27 16:11:24 +0000 <ulidtko> though I'm worried if GADTs play well with lens
2021-04-27 16:11:51 +0000 <c_wraith> in general they don't
2021-04-27 16:12:10 +0000 <c_wraith> in the same way record accessors don't play well with GADTs
2021-04-27 16:13:13 +0000 <nicholasbulka> trying to add ; spiral (x:[]) = [] gives me a pattern redundancy error
2021-04-27 16:13:41 +0000cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1)
2021-04-27 16:13:50 +0000 <geekosaur> move that before the spiral x:xs case
2021-04-27 16:14:01 +0000 <joel135> i see
2021-04-27 16:14:01 +0000 <nicholasbulka> ah yes
2021-04-27 16:14:11 +0000 <nicholasbulka> perfect! thanks a lot
2021-04-27 16:17:04 +0000gaff(~user@49.207.195.160) (Ping timeout: 245 seconds)
2021-04-27 16:19:06 +0000dibblego(~dibblego@122-199-1-30.ip4.superloop.com)
2021-04-27 16:19:06 +0000dibblego(~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
2021-04-27 16:19:06 +0000dibblego(~dibblego@haskell/developer/dibblego)
2021-04-27 16:19:15 +0000jgt(~jgt@78.162.43.217)
2021-04-27 16:21:03 +0000paravida(~mychateau@71.215.110.96)
2021-04-27 16:21:58 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:b8c4:49ae:2ce4:1808)
2021-04-27 16:22:00 +0000MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
2021-04-27 16:22:34 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-04-27 16:22:40 +0000MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru)
2021-04-27 16:25:11 +0000jgt(~jgt@78.162.43.217) (Ping timeout: 240 seconds)
2021-04-27 16:25:41 +0000nineonine(~nineonine@2604:3d08:7785:9600:18c3:826f:bcf6:7789)
2021-04-27 16:28:48 +0000andreas303(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2021-04-27 16:29:28 +0000andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-04-27 16:32:15 +0000nineonine(~nineonine@2604:3d08:7785:9600:18c3:826f:bcf6:7789) (Ping timeout: 250 seconds)
2021-04-27 16:33:08 +0000Guest_22(4bb93e3c@cpe-75-185-62-60.columbus.res.rr.com)
2021-04-27 16:33:24 +0000gitgood(~gitgood@80-44-9-246.dynamic.dsl.as9105.com)
2021-04-27 16:34:34 +0000Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-27 16:38:25 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-27 16:40:28 +0000howdoi(uid224@gateway/web/irccloud.com/x-yrhcwqdqfhhzcxcx)
2021-04-27 16:45:01 +0000nineonine(~nineonine@2604:3d08:7785:9600:18c3:826f:bcf6:7789)
2021-04-27 16:47:46 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 16:47:55 +0000letmein(~letmein@2601:1c1:4200:938f:f8bf:6a67:4eed:b2c1)
2021-04-27 16:48:12 +0000guest7682358928(c9dbea7b@gateway/web/cgi-irc/kiwiirc.com/ip.201.219.234.123) (Quit: Ping timeout (120 seconds))
2021-04-27 16:48:43 +0000 <jonathanx> is it possible to use mixins in stack? I want to use Relude, and would prefer not to switch to cabal
2021-04-27 16:49:23 +0000 <carbolymer> What's mixin?
2021-04-27 16:50:06 +0000 <yushyin> jonathanx: mixins are the reason I switched back to cabal
2021-04-27 16:51:04 +0000 <yushyin> carbolymer: https://cabal.readthedocs.io/en/3.4/cabal-package.html?#pkg-field-mixins
2021-04-27 16:51:34 +0000 <monochrom> aka backpack
2021-04-27 16:52:27 +0000stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-04-27 16:54:31 +0000 <monochrom> I learned backpack from the backpack thesis: https://github.com/ezyang/thesis/releases
2021-04-27 16:54:49 +0000 <monochrom> Wait I helped him fix typoes?!
2021-04-27 16:55:15 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-27 16:55:29 +0000jgt(~jgt@78.162.43.217)
2021-04-27 16:57:46 +0000 <lechner> Hi, I realize Purescript isn't Haskell but I use both and have a question about Applicative fuctors. Why please can the code in the link not be written as port <- parseInt $ fromMaybe "8080" $ lookupEnv "PORT" ? Is it only because I am already in the Effect monad? Sorry about the newbie question, and thanks!
2021-04-27 16:57:48 +0000 <lechner> https://github.com/purescript-express/purescript-express/blob/master/examples/src/ToDoServer.purs#…
2021-04-27 16:57:57 +0000 <lechner> functors
2021-04-27 16:58:57 +0000 <Uniaika> lechner: yes, <$> is fmap
2021-04-27 16:59:16 +0000 <Uniaika> and the value you want to operate on (with fromMaybe, parseInt), is wrapped in a functor
2021-04-27 16:59:29 +0000 <monochrom> <<< is function composition, "."
2021-04-27 16:59:35 +0000 <Uniaika> and do you apply functions to values that are in Functors… ? with fmap :)
2021-04-27 17:00:22 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de) (Ping timeout: 252 seconds)
2021-04-27 17:00:22 +0000jgt(~jgt@78.162.43.217) (Ping timeout: 268 seconds)
2021-04-27 17:00:45 +0000 <monochrom> Generally you have to respect types as a minimum requirement.
2021-04-27 17:01:30 +0000 <monochrom> If you have f::X->Y and m :: Effect X, then "f m" makes no sense, no matter how intuitive it is to you.
2021-04-27 17:01:35 +0000 <int-e> . o O ( "That is *Sir* Type to you, scumbag!" )
2021-04-27 17:01:43 +0000finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
2021-04-27 17:02:04 +0000finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-04-27 17:02:25 +0000Guest_22(4bb93e3c@cpe-75-185-62-60.columbus.res.rr.com) (Quit: Connection closed)
2021-04-27 17:02:27 +0000 <monochrom> "fmap f m" is legal. Still, I would encourage you to ask yourself do you really know that it does what you want.
2021-04-27 17:03:35 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de)
2021-04-27 17:03:57 +0000 <monochrom> In this particular example, I can be talked into not using fmap aka <$>.
2021-04-27 17:04:13 +0000 <monochrom> portString <- lookupEnv "PORT"
2021-04-27 17:04:37 +0000 <monochrom> let port = parseInt (fromMaybe "8080" portString)
2021-04-27 17:04:44 +0000 <monochrom> I can be talked into that.
2021-04-27 17:05:02 +0000 <monochrom> But I will not be talked into $ $ $ $ $
2021-04-27 17:05:27 +0000stree(~stree@68.36.8.116)
2021-04-27 17:05:30 +0000werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal)
2021-04-27 17:05:43 +0000 <lechner> <- lifts the Effect, so we can use the more basic operators, right?
2021-04-27 17:06:00 +0000jgt(~jgt@78.162.43.217)
2021-04-27 17:06:07 +0000 <monochrom> I don't know what "lift" means for this. Especially for this.
2021-04-27 17:06:12 +0000kiweun(~kiweun@2607:fea8:2a62:9600:d8d7:245f:2a72:5f1b)
2021-04-27 17:06:23 +0000kuribas(~user@ptr-25vy0i7u5k5fyxhyy6l.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-04-27 17:06:45 +0000Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-04-27 17:06:47 +0000 <monochrom> But I understand: lookupEnv "PORT" >>= \portString -> ...
2021-04-27 17:07:00 +0000werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-04-27 17:07:22 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-04-27 17:08:17 +0000 <monochrom> Even for "fmap f m", I wouldn't say "lift".
2021-04-27 17:08:51 +0000 <monochrom> I know lots of people say "lift". I think it's because they're too lazy to really ask themselve what it would mean.
2021-04-27 17:09:16 +0000 <lechner> what does it mean, please?
2021-04-27 17:09:49 +0000 <monochrom> Why is "Effect X" higher than "X", such that fmap is "lifting" from X to "Effect X"? Why isn't it demoting?
2021-04-27 17:09:58 +0000 <monochrom> or lateral side-moving?
2021-04-27 17:10:49 +0000kiweun(~kiweun@2607:fea8:2a62:9600:d8d7:245f:2a72:5f1b) (Ping timeout: 245 seconds)
2021-04-27 17:10:51 +0000 <monochrom> "fmap f m" has the same effectful behaviour as "m", but the answer it gives is transformed by f.
2021-04-27 17:10:51 +0000 <lechner> fwiw, i actually mant "lift off" in the sense that it leaves X
2021-04-27 17:11:19 +0000 <lechner> is there a way I could use an integer port as default (which would require parseString to pass through a Maybe)?
2021-04-27 17:15:16 +0000 <monochrom> Yes but it requires knowing that Maybe is a Functor instance too, that it also has its fmap.
2021-04-27 17:15:39 +0000 <monochrom> So now you have two fmap's, one for Effect, the other for Maybe. I don't know whether it's cute or annoying to you.
2021-04-27 17:15:45 +0000vaibhavsagar(vaibhavsag@gateway/shell/matrix.org/x-nutshnhfgisxgkne)
2021-04-27 17:15:46 +0000 <monochrom> But it can go like this:
2021-04-27 17:17:35 +0000idhugo__(~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
2021-04-27 17:19:15 +0000jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-04-27 17:19:24 +0000 <lechner> i still like your first alternative the best. with <<< being function composition, could it also have been written as let port = (parseInt . fromMaybe) "8080" portString ?
2021-04-27 17:19:34 +0000 <monochrom> fmap (fromMaybe 8080 . fmap parseInt) lookupEnv "PORT"
2021-04-27 17:19:39 +0000jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-04-27 17:19:56 +0000 <monochrom> err
2021-04-27 17:20:00 +0000 <monochrom> fmap (fromMaybe 8080 . fmap parseInt) (lookupEnv "PORT")
2021-04-27 17:20:34 +0000 <lechner> that's getting a bit too complicated for me
2021-04-27 17:21:03 +0000obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl)
2021-04-27 17:21:11 +0000nickmt(5b0624c1@p5b0624c1.dip0.t-ipconnect.de)
2021-04-27 17:21:23 +0000ubert(~Thunderbi@91.141.3.200.wireless.dyn.drei.com)
2021-04-27 17:22:41 +0000 <lechner> i think i meant to write that instead just now let port = (parseInt . fromMaybe "8080") portString ?
2021-04-27 17:23:25 +0000 <monochrom> What does algebra say which one it is?
2021-04-27 17:23:41 +0000 <monochrom> Not intuition. Algebra.
2021-04-27 17:23:45 +0000ADG1089(~aditya@171.76.29.233)
2021-04-27 17:23:55 +0000ADG1089(~aditya@171.76.29.233) (Client Quit)
2021-04-27 17:24:01 +0000 <nickmt> If f and g are functors I find it natural to think that `fmap (fmap id) x == id` for some `x :: g (f a)`. I'd like to prove but it seems so obvious that i don't know how start. Any hints?
2021-04-27 17:24:19 +0000 <monochrom> fmap id = id.
2021-04-27 17:25:07 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de) (Ping timeout: 260 seconds)
2021-04-27 17:27:02 +0000ubert(~Thunderbi@91.141.3.200.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-04-27 17:28:16 +0000 <nickmt> if  `x` is a concrete value, it's easy, e.g. `fmap (fmap id) [Just 3]` then I have `[fmap id (Just 3)]` and then [Just (id 3)] and finally [Just 3]. But I don't know how to do it if I don't know anything about the inner structure of `x` .
2021-04-27 17:29:20 +0000 <monochrom> fmap id = id.
2021-04-27 17:30:35 +0000 <nut> my cabal project depends on a c header file inside the cabal folder. How can I add it in the cabal file?
2021-04-27 17:31:04 +0000 <monochrom> Some field along the line of "c-sources"?
2021-04-27 17:31:15 +0000 <monochrom> Do you know the URL to the cabal user's guide?
2021-04-27 17:31:16 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-27 17:31:19 +0000 <nut> c-sources: can't add header file
2021-04-27 17:31:51 +0000 <monochrom> What is "the cabal folder"?
2021-04-27 17:32:18 +0000Varis(~Tadas@unaffiliated/varis)
2021-04-27 17:32:19 +0000 <nut> It's the cabal project folder
2021-04-27 17:32:30 +0000 <nickmt> @monochrom I see. Because f is a functor and the first law holds I can reduce `fmap (fmap id)` to `fmap id` and then do the same thing again because g is also a functor so `fmap id = id` . Is that it?
2021-04-27 17:32:30 +0000 <lambdabot> Unknown command, try @list
2021-04-27 17:32:35 +0000 <monochrom> The source code of Cabal itself?
2021-04-27 17:32:48 +0000 <monochrom> Yes nickmt
2021-04-27 17:33:01 +0000 <nut> I am using the inline-c package for my project and i put all c code inside a c header file
2021-04-27 17:33:02 +0000 <nickmt> thank you
2021-04-27 17:33:21 +0000 <lechner> monochrom: thanks here also!
2021-04-27 17:33:33 +0000 <sclv> nut: take a look at the bytestring cabal file for a good example of how to do this stuff
2021-04-27 17:33:33 +0000 <sclv> https://hackage.haskell.org/package/bytestring-0.11.1.0/bytestring.cabal
2021-04-27 17:34:03 +0000 <sclv> note include-dirs, includes, and install-includes
2021-04-27 17:34:23 +0000 <nut> sclv: great!
2021-04-27 17:34:28 +0000 <nut> found it
2021-04-27 17:34:38 +0000 <monochrom> So no one wants to see the user's guidee.
2021-04-27 17:34:42 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:58e6:3a0a:96a:ca2c) (Remote host closed the connection)
2021-04-27 17:35:35 +0000 <sclv> that would be another way to find this info yes: https://cabal.readthedocs.io/en/3.4/search.html?q=header&check_keywords=yes&area=default#
2021-04-27 17:35:49 +0000 <sclv> i find working by example and then checking docs to ensure i understand things to be more comfortable personally
2021-04-27 17:36:06 +0000 <enikar> monochrom: Indeed. The cabal users guide is the place to look for this question ;)
2021-04-27 17:36:11 +0000coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
2021-04-27 17:37:42 +0000 <monochrom> Most people stop after "by example" before "checking docs".
2021-04-27 17:37:50 +0000 <monochrom> John Searle would be proud.
2021-04-27 17:39:28 +0000 <slack1256> On `wreq` is there any option so that "301 moved permanently" are followed automatically? I am using `head_`.
2021-04-27 17:39:49 +0000 <enikar> monochrom: bad.
2021-04-27 17:40:14 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-27 17:41:26 +0000 <maerwald> who is responsible for haskell.org?
2021-04-27 17:42:12 +0000 <nut> monochrom: I did checked the doc. I'm a bit confused why cabal don't recompile after I made changes to the header files
2021-04-27 17:42:42 +0000 <nut> That isn't explained in the Cabal docs I think
2021-04-27 17:43:08 +0000 <sclv> maerwald: responsible for what aspect of it?
2021-04-27 17:43:24 +0000 <maerwald> website
2021-04-27 17:44:14 +0000 <sclv> oh right you're still following up on that. sigh. its the committee, which is chaired by tikhon at the moment.
2021-04-27 17:44:32 +0000 <sclv> let me try to work a side channel for you
2021-04-27 17:45:33 +0000solidus-river(~mike@174.127.249.180)
2021-04-27 17:45:48 +0000kalia(4c72abd3@c-76-114-171-211.hsd1.md.comcast.net)
2021-04-27 17:46:39 +0000pgib(textual@lmms/pgib)
2021-04-27 17:50:22 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-27 17:50:27 +0000juuandyy(~juuandyy@90.106.228.121)
2021-04-27 17:51:42 +0000kalia(4c72abd3@c-76-114-171-211.hsd1.md.comcast.net) (Quit: Connection closed)
2021-04-27 17:52:30 +0000 <maerwald> Yes, I sent the committee an email
2021-04-27 17:53:42 +0000nickmt(5b0624c1@p5b0624c1.dip0.t-ipconnect.de) (Quit: Connection closed)
2021-04-27 17:55:28 +0000bor0(~boro@unaffiliated/boro/x-000000001)
2021-04-27 17:55:58 +0000conal(~conal@192.145.118.178) (Quit: Computer has gone to sleep.)
2021-04-27 17:56:15 +0000chimera(~chimera@168-182-134-95.pool.ukrtel.net)
2021-04-27 17:58:30 +0000M0b10s(94478efe@gateway/web/cgi-irc/kiwiirc.com/ip.148.71.142.254)
2021-04-27 18:00:53 +0000 <maerwald> at worst, we'll make another haskell.org fork *chuckle*
2021-04-27 18:01:14 +0000vicfred(~vicfred@unaffiliated/vicfred)
2021-04-27 18:01:49 +0000 <carbolymer> YES, HAVE MY FORK -----E
2021-04-27 18:01:58 +0000danso(~dan@modemcable156.91-20-96.mc.videotron.ca)
2021-04-27 18:03:15 +0000 <monochrom> Responsible parents wait after fork.
2021-04-27 18:03:32 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-27 18:03:44 +0000Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Quit: WeeChat 3.0.1)
2021-04-27 18:04:14 +0000 <catern> apropos of nothing, if anyone has any contributions to my cursed PL iceberg let me know http://catern.com/iceberg.html
2021-04-27 18:04:43 +0000frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-27 18:05:16 +0000 <ski> joel135 : "Does haskell have the same syntax feature?" -- no
2021-04-27 18:06:03 +0000 <joel135> ok
2021-04-27 18:09:25 +0000Valion(~Valion@api.ivido.nl) (Quit: leaving)
2021-04-27 18:09:39 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-27 18:13:42 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-27 18:13:42 +0000dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-04-27 18:14:05 +0000Pickchea(~private@unaffiliated/pickchea)
2021-04-27 18:19:14 +0000thc202(~thc202@unaffiliated/thc202) (Quit: thc202)
2021-04-27 18:19:43 +0000 <ggVGc> I really love <<loop>>
2021-04-27 18:19:45 +0000 <ggVGc> great
2021-04-27 18:19:51 +0000 <ggVGc> it's like practical joke
2021-04-27 18:20:08 +0000flx(flux@coffee.modeemi.fi)
2021-04-27 18:20:22 +0000koankeeper_(sid216950@gateway/web/irccloud.com/x-nzolrgtzcrofgnoi)
2021-04-27 18:21:11 +0000skewerr(~spoonm@tokyo.spoonm.org)
2021-04-27 18:21:46 +0000M0b10s(94478efe@gateway/web/cgi-irc/kiwiirc.com/ip.148.71.142.254) (Ping timeout: 240 seconds)
2021-04-27 18:21:48 +0000towel_(~towel@unaffiliated/towel)
2021-04-27 18:22:01 +0000kiweun(~kiweun@2607:fea8:2a62:9600:94f:fe7:3fff:f880)
2021-04-27 18:23:32 +0000DavidEichmann(~david@147.136.46.217.dyn.plus.net) (Remote host closed the connection)
2021-04-27 18:23:33 +0000LambdaDuck(~anka@ksit.fixme.fi)
2021-04-27 18:24:04 +0000sdressel_(~sdressel@pwning.de)
2021-04-27 18:24:38 +0000jameekim2(~jameekim@mx.nodaplife.me)
2021-04-27 18:26:39 +0000kiweun(~kiweun@2607:fea8:2a62:9600:94f:fe7:3fff:f880) (Ping timeout: 250 seconds)
2021-04-27 18:26:44 +0000blackdog_(~blackdog@198.211.112.85)
2021-04-27 18:26:58 +0000sarahzrf_(~sarahzrf_@sarahzrf.com)
2021-04-27 18:27:06 +0000rawles_(~r@unaffiliated/rawles)
2021-04-27 18:27:18 +0000nemesit|znc_(~nemesit@2a01:488:66:1000:2ea3:4eeb:0:1)
2021-04-27 18:27:51 +0000frozenErebus(~frozenEre@37.231.244.249)
2021-04-27 18:28:10 +0000jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2021-04-27 18:28:25 +0000nemesit|znc(~nemesit@2a01:488:66:1000:2ea3:4eeb:0:1) (Ping timeout: 276 seconds)
2021-04-27 18:28:25 +0000maralorn(maralornma@gateway/shell/matrix.org/x-taapglyfnhcaxlmi) (Ping timeout: 276 seconds)
2021-04-27 18:28:26 +0000Hanma[m](hanmamatri@gateway/shell/matrix.org/x-bxrewprkpipuxfei) (Ping timeout: 276 seconds)
2021-04-27 18:28:27 +0000Poyo[m](stikynotha@gateway/shell/matrix.org/x-haknbvkyasqevnme) (Ping timeout: 276 seconds)
2021-04-27 18:28:27 +0000jchia[m](jchiamatri@gateway/shell/matrix.org/x-fgjdezivvdirebvi) (Ping timeout: 276 seconds)
2021-04-27 18:28:27 +0000unclechu(unclechuma@gateway/shell/matrix.org/x-jmbbnkztqlxjmyvi) (Ping timeout: 276 seconds)
2021-04-27 18:28:28 +0000my_name_is_not_j(mynameisno@gateway/shell/matrix.org/x-quxbbosdnjtwvvrg) (Ping timeout: 276 seconds)
2021-04-27 18:28:28 +0000johnnyv[m](badwolf256@gateway/shell/matrix.org/x-bcoxopkiysbcffjg) (Ping timeout: 276 seconds)
2021-04-27 18:28:28 +0000joe[m](joemonoida@gateway/shell/matrix.org/x-jfvswnrdjcctvmmo) (Ping timeout: 276 seconds)
2021-04-27 18:28:28 +0000pnotequalnp[m](pnotequaln@gateway/shell/matrix.org/x-xqilkgqxymngrblq) (Ping timeout: 276 seconds)
2021-04-27 18:28:28 +0000srid(sridmatrix@gateway/shell/matrix.org/x-lhoqaotzxhrdesxm) (Ping timeout: 276 seconds)
2021-04-27 18:28:28 +0000Noughtmare[m](naughtmare@gateway/shell/matrix.org/x-dvljatkbrkzyoabl) (Ping timeout: 276 seconds)
2021-04-27 18:28:28 +0000arcontethegreat[(arcontethe@gateway/shell/matrix.org/x-utbxuwqpnhgrncfm) (Ping timeout: 276 seconds)
2021-04-27 18:28:29 +0000loyon(loyonmatri@gateway/shell/matrix.org/x-dbuybsdaqolfjfvf) (Ping timeout: 276 seconds)
2021-04-27 18:28:29 +0000mrus[m](mrusmatrix@gateway/shell/matrix.org/x-bnwtzopjealuvtun) (Ping timeout: 276 seconds)
2021-04-27 18:28:29 +0000domenkozar[m](domenkozar@NixOS/user/domenkozar) (Ping timeout: 276 seconds)
2021-04-27 18:28:29 +0000tabaqui(~tabaqui@2604:a880:800:c1::21b:3001) (Ping timeout: 276 seconds)
2021-04-27 18:28:29 +0000mflux(flux@coffee.modeemi.fi) (Ping timeout: 276 seconds)
2021-04-27 18:28:29 +0000koankeeper(sid216950@gateway/web/irccloud.com/x-lympprcqrveoixtt) (Ping timeout: 276 seconds)
2021-04-27 18:28:30 +0000Guillaum(guiboumatr@gateway/shell/matrix.org/x-kecnvcmuhfwgrytn) (Ping timeout: 276 seconds)
2021-04-27 18:28:30 +0000dominicusin[m](dominicusi@gateway/shell/matrix.org/x-aykukrinfrererxn) (Ping timeout: 276 seconds)
2021-04-27 18:28:31 +0000spoonm(~spoonm@tokyo.spoonm.org) (Ping timeout: 276 seconds)
2021-04-27 18:28:31 +0000towel(~towel@unaffiliated/towel) (Ping timeout: 276 seconds)
2021-04-27 18:28:32 +0000rawles(~r@unaffiliated/rawles) (Ping timeout: 276 seconds)
2021-04-27 18:28:32 +0000sarahzrf(~sarahzrf_@2604:a880:400:d0::b4a:4001) (Ping timeout: 276 seconds)
2021-04-27 18:28:32 +0000lemald(~eddie@capybara.lemald.org) (Ping timeout: 276 seconds)
2021-04-27 18:28:32 +0000blackdog(~blackdog@198.211.112.85) (Ping timeout: 276 seconds)
2021-04-27 18:28:32 +0000LambdaDu1k(~anka@ksit.fixme.fi) (Ping timeout: 276 seconds)
2021-04-27 18:28:33 +0000jameekim1(~jameekim@mx.nodaplife.me) (Ping timeout: 276 seconds)
2021-04-27 18:28:33 +0000sdressel(~sdressel@pwning.de) (Ping timeout: 276 seconds)
2021-04-27 18:28:33 +0000blackdog_blackdog
2021-04-27 18:28:33 +0000koankeeper_koankeeper
2021-04-27 18:28:33 +0000flxmflux
2021-04-27 18:29:29 +0000tabaqui(~tabaqui@2604:a880:800:c1::21b:3001)
2021-04-27 18:29:38 +0000lemald(~eddie@capybara.lemald.org)
2021-04-27 18:30:06 +0000Hanma[m](hanmamatri@gateway/shell/matrix.org/x-wxxbvetrqrsqljor)
2021-04-27 18:30:19 +0000jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-04-27 18:30:48 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-27 18:31:02 +0000maralorn(maralornma@gateway/shell/matrix.org/x-ivwnbdnfszfjiwdc)
2021-04-27 18:31:10 +0000 <int-e> > fix error -- just a joke
2021-04-27 18:31:12 +0000star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-04-27 18:31:12 +0000 <lambdabot> "*Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Ex...
2021-04-27 18:31:41 +0000notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds)
2021-04-27 18:31:55 +0000my_name_is_not_j(mynameisno@gateway/shell/matrix.org/x-fwedgmzpwbugciod)
2021-04-27 18:31:57 +0000joe[m](joemonoida@gateway/shell/matrix.org/x-txxheijowbbsqnjc)
2021-04-27 18:31:58 +0000loyon(loyonmatri@gateway/shell/matrix.org/x-icwodrnwhydizuwp)
2021-04-27 18:32:02 +0000unclechu(unclechuma@gateway/shell/matrix.org/x-lbufgcxgrsflmxsh)
2021-04-27 18:32:02 +0000Poyo[m](stikynotha@gateway/shell/matrix.org/x-piujbocybdsttosy)
2021-04-27 18:32:03 +0000jchia[m](jchiamatri@gateway/shell/matrix.org/x-gvltsihrvsoaugcv)
2021-04-27 18:32:04 +0000Noughtmare[m](naughtmare@gateway/shell/matrix.org/x-ibycjhwgzkgwsirp)
2021-04-27 18:32:04 +0000pnotequalnp[m](pnotequaln@gateway/shell/matrix.org/x-dnjftlngoflvunfh)
2021-04-27 18:32:05 +0000johnnyv[m](badwolf256@gateway/shell/matrix.org/x-iuvqvpqyjtjrwaqm)
2021-04-27 18:32:07 +0000srid(sridmatrix@gateway/shell/matrix.org/x-aznuekqvxhshtmnc)
2021-04-27 18:32:10 +0000mrus[m](mrusmatrix@gateway/shell/matrix.org/x-wnductunmdfidxwz)
2021-04-27 18:32:34 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr)
2021-04-27 18:32:36 +0000domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-04-27 18:33:15 +0000arcontethegreat[(arcontethe@gateway/shell/matrix.org/x-fjqjpveupdddtlmd)
2021-04-27 18:33:37 +0000Guillaum(guiboumatr@gateway/shell/matrix.org/x-mcmztbazvtqulzjx)
2021-04-27 18:35:04 +0000nicholasbulka(~nicholasb@2601:900:4301:da0:b0db:882b:fd7b:c02e)
2021-04-27 18:35:27 +0000dominicusin[m](dominicusi@gateway/shell/matrix.org/x-efcppjwqmhnnaznp)
2021-04-27 18:37:27 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:b8c4:49ae:2ce4:1808) (Ping timeout: 260 seconds)
2021-04-27 18:38:15 +0000coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-27 18:38:34 +0000 <joel135> :t error
2021-04-27 18:38:36 +0000 <lambdabot> [Char] -> a
2021-04-27 18:38:45 +0000 <solidus-river> i'm doing an hsetbuffering noBuffering in all my forked threads but still getting interleaved io on the console
2021-04-27 18:39:03 +0000 <solidus-river> do i need to synchronize with an mvar?
2021-04-27 18:40:02 +0000 <joel135> Doesn't buffering increase interleaving?
2021-04-27 18:40:18 +0000 <monochrom> My thought too.
2021-04-27 18:40:51 +0000 <joel135> Actually I meant the opposite.
2021-04-27 18:40:51 +0000 <monochrom> Err did you word it right?
2021-04-27 18:40:56 +0000 <monochrom> Yeah, that.
2021-04-27 18:42:21 +0000 <geekosaur> console has exactly one output position, I'd recommend using a separate thread for output fed by a Chan
2021-04-27 18:42:39 +0000 <geekosaur> LineBuffering might help with interleaving to some extend
2021-04-27 18:42:42 +0000 <geekosaur> *extent
2021-04-27 18:42:59 +0000 <solidus-river> kk, i'll experiment, i misunderstood what noBuffering solved
2021-04-27 18:43:07 +0000 <solidus-river> :X
2021-04-27 18:43:48 +0000 <solidus-river> thanks as always :)
2021-04-27 18:43:50 +0000jespada(~jespada@87.74.37.248)
2021-04-27 18:43:51 +0000 <monochrom> Also I thought hSetBuffering was a per-Handle setting, not a per-thread setting.
2021-04-27 18:44:27 +0000 <solidus-river> i'm definitely redundantly setting it then
2021-04-27 18:44:53 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-04-27 18:44:54 +0000 <solidus-river> i think what i wanted out of it was just a call to flush at the end of the program
2021-04-27 18:45:21 +0000 <geekosaur> so just hFlush at the end of the program. but it'll also flush when the output buffer is full
2021-04-27 18:45:27 +0000M0b10s(94478efe@gateway/web/cgi-irc/kiwiirc.com/ip.148.71.142.254)
2021-04-27 18:45:29 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2021-04-27 18:45:40 +0000 <geekosaur> note that multiple threads outputting to the same Handle will stilll interleave within the buffer
2021-04-27 18:45:55 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-04-27 18:46:25 +0000Varis(~Tadas@unaffiliated/varis)
2021-04-27 18:46:28 +0000 <int-e> String-based I/O is inherently character oriented, since putStr ('a':'b':undefined) is supposed to output a and b before triggering the bottom.
2021-04-27 18:46:44 +0000 <int-e> buffering doesn't really change that
2021-04-27 18:46:56 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr)
2021-04-27 18:47:38 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-27 18:47:48 +0000 <solidus-river> i should be sending these all to the same place and printing there, i was doing that but i'm trying to hack in some debug prints to figure out whats going wrong over the wire
2021-04-27 18:48:15 +0000 <solidus-river> maybe trace is a better tool but it seems like it would run into the same buffering issue unless its using some non putStrLn for its messaging under the hood
2021-04-27 18:48:31 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Quit: WeeChat 3.1)
2021-04-27 18:49:08 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2021-04-27 18:49:09 +0000faustind(~faustin@240b:12:43e1:7b00:e63d:e924:3cc7:4546)
2021-04-27 18:49:30 +0000Copperis(~Tadas@unaffiliated/varis)
2021-04-27 18:49:56 +0000Guest6509(~laudiacay@45.162.228.190)
2021-04-27 18:50:00 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:d72c:c07:3040:2376)
2021-04-27 18:50:07 +0000 <int-e> oh, traceIO does something better, actually
2021-04-27 18:50:39 +0000timCF(~i.tkachuk@m91-129-104-226.cust.tele2.ee)
2021-04-27 18:51:02 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-27 18:51:06 +0000Copperis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-27 18:52:11 +0000 <int-e> Well, better in terms of interleaving or not. It looks far worse in terms of dealing with encodings.
2021-04-27 18:52:30 +0000Copperis(~Tadas@unaffiliated/varis)
2021-04-27 18:52:43 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
2021-04-27 18:52:57 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-27 18:53:07 +0000M0b10s(94478efe@gateway/web/cgi-irc/kiwiirc.com/ip.148.71.142.254) (Ping timeout: 252 seconds)
2021-04-27 18:53:13 +0000Varis(~Tadas@unaffiliated/varis) (Ping timeout: 268 seconds)
2021-04-27 18:53:18 +0000 <int-e> (it packs the message into a C string, and passes that to the RTS's debugBelch() function which presumably writes it to stderr in one chunk)
2021-04-27 18:54:30 +0000 <solidus-river> nice! switching :) I think i need to finally read that book that you guys recommended a month in a half ago too, gonna crack that open
2021-04-27 18:55:58 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds)
2021-04-27 18:56:21 +0000geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-04-27 18:56:42 +0000sm(~user@li229-222.members.linode.com)
2021-04-27 18:57:23 +0000DavidEichmann(~david@147.136.46.217.dyn.plus.net)
2021-04-27 18:58:23 +0000 <DigitalKiwi> what book was recommended?
2021-04-27 19:00:53 +0000Copperis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-27 19:02:00 +0000Varis(~Tadas@unaffiliated/varis)
2021-04-27 19:02:49 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Quit: WeeChat 3.1)
2021-04-27 19:03:03 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2021-04-27 19:04:03 +0000notzmv(~zmv@unaffiliated/zmv)
2021-04-27 19:07:15 +0000 <slack1256> On the ConstrainsKinds extension, is there a type level function that lets me take the product of two constrains? ie : Read a x Text a = (Read a, Text a) ?
2021-04-27 19:09:07 +0000fendor(~fendor@178.115.131.177.wireless.dyn.drei.com) (Remote host closed the connection)
2021-04-27 19:10:05 +0000 <faustind> Hello @all. I am looking for examples of the use of GHC rewrite rules. Could you point me to some.
2021-04-27 19:10:58 +0000fendor(~fendor@178.115.131.177.wireless.dyn.drei.com)
2021-04-27 19:11:16 +0000 <slack1256> Read on Data.List and the `vector` library.
2021-04-27 19:11:55 +0000 <monochrom> I wonder if it's as simple as "type X c1 c2 a = (c1 a, c2 a)"
2021-04-27 19:11:57 +0000Guest70260sm[m]
2021-04-27 19:12:24 +0000 <monochrom> But if you want to use it as "X Read Text" without "a", I don't know.
2021-04-27 19:13:12 +0000stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-27 19:14:26 +0000 <DigitalKiwi> .glirclogs/#haskell/2021-03-15.log:[22:47:52] <koz_> solidus-river: https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/pt02.html
2021-04-27 19:14:38 +0000Qwerky(~qwerky@37.173.171.170)
2021-04-27 19:14:50 +0000 <DigitalKiwi> found the answer to my question ^
2021-04-27 19:15:05 +0000 <koz_> DigitalKiwi: Happy to be of service rofl?
2021-04-27 19:16:32 +0000Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
2021-04-27 19:16:33 +0000 <monochrom> haha
2021-04-27 19:18:12 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr) (Remote host closed the connection)
2021-04-27 19:19:40 +0000dmytrish(~mitra@2a02:8084:a82:d900:6010:2869:d10:372c)
2021-04-27 19:20:20 +0000 <slack1256> monochrom: Yeah, I thought there was a standard type family already defined
2021-04-27 19:20:35 +0000epicte7us(~epictetus@ip72-194-54-201.sb.sd.cox.net)
2021-04-27 19:23:44 +0000ep1ctetus(~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 245 seconds)
2021-04-27 19:24:20 +0000Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-27 19:25:37 +0000dmytrish(~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Quit: Konversation terminated!)
2021-04-27 19:25:50 +0000 <mniip> monochrom, class (c1 a, c2 a) => X c1 c2 a; instance (c1 a, c2 a) => X c1 c2 a
2021-04-27 19:25:54 +0000vchlup(~vchlup@nat.brnet.cz) (Ping timeout: 268 seconds)
2021-04-27 19:27:06 +0000stree(~stree@68.36.8.116)
2021-04-27 19:27:16 +0000dmytrish(~mitra@2a02:8084:a82:d900:6df4:a206:6bd4:dc59)
2021-04-27 19:29:08 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr)
2021-04-27 19:30:26 +0000DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-04-27 19:31:56 +0000ntqz(ntqz@gateway/vpn/protonvpn/ntqz)
2021-04-27 19:32:02 +0000frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
2021-04-27 19:32:16 +0000juuandyy(~juuandyy@90.106.228.121) (Quit: Konversation terminated!)
2021-04-27 19:33:35 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de)
2021-04-27 19:35:01 +0000 <shapr> does tommy thorn show up here?
2021-04-27 19:35:13 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-27 19:35:39 +0000minoru_shiraeesh(~shiraeesh@109.166.56.250)
2021-04-27 19:35:42 +0000__minoru__shirae(~shiraeesh@109.166.59.124) (Ping timeout: 240 seconds)
2021-04-27 19:35:55 +0000 <shapr> I vaguely recall reading that the reduceron graph reduction CPU needs more memory bandwidth than the bog standard von neumann CPU, does anyone have references in mind?
2021-04-27 19:36:57 +0000supercoven_(~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-04-27 19:37:39 +0000kiweun(~kiweun@2607:fea8:2a62:9600:3d14:16a1:a9f1:c29c)
2021-04-27 19:38:25 +0000 <slack1256> What is the extension that makes * be called Type also?
2021-04-27 19:39:40 +0000 <monochrom> No extension needed. But you have to import "Type" from Data.Kind (or GHC.Exts or ...)
2021-04-27 19:40:05 +0000 <slack1256> Ooh, right
2021-04-27 19:40:11 +0000 <slack1256> Thank monochrom.
2021-04-27 19:40:19 +0000 <monochrom> Likewise for "Constraint".
2021-04-27 19:42:08 +0000StOnE(~StOnE@231.154.61.94.rev.vodafone.pt)
2021-04-27 19:42:46 +0000kiweun(~kiweun@2607:fea8:2a62:9600:3d14:16a1:a9f1:c29c) (Ping timeout: 276 seconds)
2021-04-27 19:43:15 +0000knupfer(~Thunderbi@200116b82b9c4f0069e2a2a836aa8e3f.dip.versatel-1u1.de) (Remote host closed the connection)
2021-04-27 19:43:45 +0000StOnE(~StOnE@231.154.61.94.rev.vodafone.pt) ()
2021-04-27 19:44:13 +0000knupfer(~Thunderbi@200116b82b9c4f00f9c2991c9c527ef0.dip.versatel-1u1.de)
2021-04-27 19:46:05 +0000wonko7(~wonko7@62.115.229.50) (Ping timeout: 252 seconds)
2021-04-27 19:49:33 +0000ech(~user@gateway/tor-sasl/ech) (Remote host closed the connection)
2021-04-27 19:49:47 +0000ech(~user@gateway/tor-sasl/ech)
2021-04-27 19:54:16 +0000 <carbolymer> in the profiler output there's "entries" and "individual allocation", I'm looking for places with high memory usage, should I multiply entries * individual alloc in order to find which place had the biggest contribution to memory usage?
2021-04-27 19:55:14 +0000 <carbolymer> I have also a heap profile but converting 2G .hp file to .ps file takes a lot of time
2021-04-27 19:55:17 +0000 <carbolymer> ...
2021-04-27 19:58:26 +0000_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-04-27 19:58:54 +0000bennofs_(~quassel@x4dbffbc2.dyn.telefonica.de) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-04-27 20:03:45 +0000Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-04-27 20:03:52 +0000DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-04-27 20:03:54 +0000Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer)
2021-04-27 20:04:08 +0000neiluj(~jco@91-167-203-101.subs.proxad.net)
2021-04-27 20:04:09 +0000neiluj(~jco@91-167-203-101.subs.proxad.net) (Changing host)
2021-04-27 20:04:09 +0000neiluj(~jco@unaffiliated/neiluj)
2021-04-27 20:04:51 +0000Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 265 seconds)
2021-04-27 20:05:14 +0000Lord_of_Life_Lord_of_Life
2021-04-27 20:05:27 +0000letmein(~letmein@2601:1c1:4200:938f:f8bf:6a67:4eed:b2c1) (Ping timeout: 250 seconds)
2021-04-27 20:05:59 +0000petersen(~petersen@redhat/juhp) (Ping timeout: 268 seconds)
2021-04-27 20:06:36 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-04-27 20:07:34 +0000letmein(~letmein@c-71-59-221-7.hsd1.wa.comcast.net)
2021-04-27 20:07:43 +0000petersen(~petersen@redhat/juhp)
2021-04-27 20:08:36 +0000stree(~stree@68.36.8.116) (Quit: Caught exception)
2021-04-27 20:08:46 +0000Guest6509(~laudiacay@45.162.228.190) (Ping timeout: 276 seconds)
2021-04-27 20:09:01 +0000stree(~stree@68.36.8.116)
2021-04-27 20:10:52 +0000conal(~conal@64.71.133.70)
2021-04-27 20:16:41 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 20:17:02 +0000danso(~dan@modemcable156.91-20-96.mc.videotron.ca) (Quit: WeeChat 3.0)
2021-04-27 20:19:00 +0000Qwerky(~qwerky@37.173.171.170) (Remote host closed the connection)
2021-04-27 20:19:18 +0000Qwerky(~qwerky@37.173.171.170)
2021-04-27 20:20:02 +0000Qwerky(~qwerky@37.173.171.170) (Remote host closed the connection)
2021-04-27 20:22:30 +0000 <lechner> Hi, does anyone else feel that affinity with SQL? It's been spooking around my head since I discovered Haskell. http://thoughts.davisjeff.com/2011/09/25/sql-the-successful-cousin-of-haskell/
2021-04-27 20:23:53 +0000Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-04-27 20:26:51 +0000Qwerky(~qwerky@37.173.171.170)
2021-04-27 20:28:42 +0000 <int-e> cousin?!
2021-04-27 20:30:19 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-27 20:30:27 +0000 <sm[m]> "the tough problems that haskell would solve are already solved in so many cases" - I don't think so. But it's an interesting post all the same
2021-04-27 20:31:09 +0000 <int-e> I mean, I do see a certain amount of declarativity and/or purity allowing all sorts of crazy optimizations of queries. That's where the analogies stop to my mind.
2021-04-27 20:32:19 +0000 <sm[m]> the tough relational data querying problems.. yes maybe that
2021-04-27 20:32:39 +0000 <int-e> SQL doesn't really shine in the area of abstraction
2021-04-27 20:32:55 +0000dinciorip(~dincio@5.171.80.13)
2021-04-27 20:33:50 +0000 <dinciorip> This is probably a very stupid question, but is there a shorter alternative to `m | m == foo || m == bar -> foo'`?
2021-04-27 20:34:09 +0000 <dinciorip> That snippet being used as a pattern in pattern matching
2021-04-27 20:34:28 +0000 <ski> m | m `elem` [foo,bar] -> foo'
2021-04-27 20:35:23 +0000 <ski> ((`elem` [foo,bar]) -> True) -> foo'
2021-04-27 20:35:53 +0000aa111(3e1d4484@62.29.68.132)
2021-04-27 20:35:54 +0000 <ski> if we had disjunctive / or- patterns, then those could be appropriate here, if `foo' and `bar' were approprate to use as patterns
2021-04-27 20:36:58 +0000 <dinciorip> well those are certainly an improvement, thanks! Don't quite understand the second one though... `foo` and `bar` are usable as patterns in my case
2021-04-27 20:37:10 +0000 <aa111> hello, im trying to construct a binary tree from a list looks like this [0[1,2],[0,4,7,8]], what is the best way to parse this input
2021-04-27 20:37:31 +0000 <ski> the second is using the `ViewPatterns' extension
2021-04-27 20:37:37 +0000notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 252 seconds)
2021-04-27 20:37:48 +0000 <ski> but i'd probably prefer the first one, over the second, here
2021-04-27 20:38:10 +0000 <ski> aa111 : is that first `0' a typo ?
2021-04-27 20:38:14 +0000 <dinciorip> yeah me too tbh. Still will look into that extension when I have time
2021-04-27 20:38:26 +0000 <aa111> Nope it is not
2021-04-27 20:38:37 +0000 <dinciorip> You were saying that there was an easier alternative for when `foo` and `bar` are patterns?
2021-04-27 20:38:40 +0000 <aa111> Yeah it is ...
2021-04-27 20:38:40 +0000alx741(~alx741@181.196.69.35) (Ping timeout: 268 seconds)
2021-04-27 20:38:40 +0000 <ski> then that's malformed Haskell
2021-04-27 20:38:46 +0000 <aa111> Let me fix it sorry
2021-04-27 20:39:05 +0000 <ski> dinciorip : *if* "we had disjunctive / or- patterns". we don't, unfortunately
2021-04-27 20:39:09 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2021-04-27 20:39:13 +0000 <dinciorip> Oh got it
2021-04-27 20:39:15 +0000coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-04-27 20:39:21 +0000 <aa111> [[0],[1,2,3],[0,5,6]] looks like this actually
2021-04-27 20:39:27 +0000 <dinciorip> Thanks anyway everyone
2021-04-27 20:39:50 +0000 <ski> what information does this list of lists describe ?
2021-04-27 20:40:02 +0000 <aa111> Nodes and leaves
2021-04-27 20:40:02 +0000 <ski> iow, how would it correspond to a binary tree ?
2021-04-27 20:40:19 +0000 <ski> what would be the corresponding binary tree, for this example ?
2021-04-27 20:40:44 +0000conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-04-27 20:40:47 +0000 <aa111> let me give a full example then
2021-04-27 20:40:52 +0000 <aa111> [[0],[0,0],[0,2,4,5],[1,3,0,0,0,0,0,0]]
2021-04-27 20:40:55 +0000 <aa111> Node 15 (Node 6 (Node 4 (Leaf 1) (Leaf 3)) (Leaf 2)) (Node 9 (Leaf 4) (Leaf 5))
2021-04-27 20:41:48 +0000 <ski> it seems the `0's have some special meaning, but i can't decipher which
2021-04-27 20:42:23 +0000 <aa111> you sum the leaves of the node to replace 0's
2021-04-27 20:42:24 +0000 <ski> apparently the element at an internal node is to be the sum of all the leaves beneath it
2021-04-27 20:42:34 +0000 <int-e> so, guessing... those are levels of the tree; 0 are internal and absent nodes, and internal nodes gat annotated with the sum of the descendants?
2021-04-27 20:42:49 +0000 <int-e> and the i-th list has 2^i elements
2021-04-27 20:42:56 +0000 <int-e> (starting at i=0)
2021-04-27 20:43:01 +0000 <aa111> yes thats the case
2021-04-27 20:43:03 +0000 <ski> that looks consistent
2021-04-27 20:43:36 +0000horatiohb(~horatiohb@159.65.163.65)
2021-04-27 20:43:48 +0000 <aa111> i've been struggling for this for two days. Could not parse it any logical way
2021-04-27 20:43:59 +0000 <ski> a function which given a list splits it into the first and second half, could probably be useful
2021-04-27 20:44:29 +0000 <ski> (or two functions, one for each part, if you prefer)
2021-04-27 20:44:33 +0000 <int-e> . o O ( unzip, splitAt, zipWith, iterate )
2021-04-27 20:44:53 +0000 <cheater> hi
2021-04-27 20:46:07 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-27 20:46:08 +0000 <cheater> i'm using stack supplied ghc and when i compile something that uses llvm-hs i get "error while loading shared libraries: libffi.so.7: cannot open shared object file: No such file or directory" even though that file is in a subdir of ~/.stack. how do i resolve this issue?
2021-04-27 20:46:27 +0000 <int-e> aa111: More fundamentally, think about how [[0],[0,0],[0,2,4,5],[1,3,0,0,0,0,0,0]] relates to the type of node (internal), and left and right subtree in the same list format.
2021-04-27 20:46:47 +0000 <ski> aa111 : do you want to validate that the input is a proper representation of a tree, or do you just want to assume this ?
2021-04-27 20:47:14 +0000 <aa111> I will assume
2021-04-27 20:47:45 +0000 <aa111> int-e yes im trying to, but still didnt get your point :/
2021-04-27 20:48:08 +0000 <ski> aa111 : what are the two subtrees of `Node 15 (Node 6 (Node 4 (Leaf 1) (Leaf 3)) (Leaf 2)) (Node 9 (Leaf 4) (Leaf 5))' ?
2021-04-27 20:48:24 +0000 <ski> aa111 : which lists of lists do those subtrees correspond to ?
2021-04-27 20:48:41 +0000 <ski> aa111 : how do those two lists of lists relate to the original list of lists ?
2021-04-27 20:49:27 +0000 <ski> (direct subtrees)
2021-04-27 20:49:36 +0000 <aa111> ski: forgive me if i explained it wrong. There are no subtrees, with the given list i need to crate the following tree
2021-04-27 20:49:58 +0000 <ski> clearly the tree `Node 15 (Node 6 (Node 4 (Leaf 1) (Leaf 3)) (Leaf 2)) (Node 9 (Leaf 4) (Leaf 5))' has subtrees
2021-04-27 20:51:40 +0000 <ski> i'm not talking about what you (directly) should do, at the moment, to process the input. i'm asking you to attempt to survey the whole process (it still being a bit undetermined, in flux so to speak), to some extent. specifically asking you to consider the desired result tree, for the given list of lists, and how it's built up from subtrees
2021-04-27 20:51:57 +0000 <int-e> (we could maybe start with a simpler tree description like [[0],[1,0],[0,0,2,3]])
2021-04-27 20:52:37 +0000alx741(~alx741@181.196.68.118)
2021-04-27 20:53:15 +0000 <aa111> ski: Yes i see your point,
2021-04-27 20:53:29 +0000kiweun(~kiweun@2607:fea8:2a62:9600:51c0:6989:ff0b:33af)
2021-04-27 20:56:31 +0000 <aa111> I got an idea, thank you for pointing me in right perspective
2021-04-27 20:58:49 +0000kiweun(~kiweun@2607:fea8:2a62:9600:51c0:6989:ff0b:33af) (Ping timeout: 276 seconds)
2021-04-27 20:59:12 +0000Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Remote host closed the connection)
2021-04-27 21:02:22 +0000michalz(~user@185.246.204.107) (Remote host closed the connection)
2021-04-27 21:05:39 +0000hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 252 seconds)
2021-04-27 21:06:11 +0000kav(~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Ping timeout: 240 seconds)
2021-04-27 21:07:15 +0000aa111(3e1d4484@62.29.68.132) (Quit: Connection closed)
2021-04-27 21:07:53 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2021-04-27 21:08:13 +0000justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-04-27 21:08:50 +0000fendor(~fendor@178.115.131.177.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-04-27 21:13:13 +0000fendor(~fendor@178.115.131.177.wireless.dyn.drei.com)
2021-04-27 21:17:29 +0000knupfer(~Thunderbi@200116b82b9c4f00f9c2991c9c527ef0.dip.versatel-1u1.de) (Ping timeout: 245 seconds)
2021-04-27 21:21:22 +0000tempate(~tempate@7.pool85-60-109.dynamic.orange.es)
2021-04-27 21:21:23 +0000tempate(~tempate@7.pool85-60-109.dynamic.orange.es) (Changing host)
2021-04-27 21:21:23 +0000tempate(~tempate@unaffiliated/tempate)
2021-04-27 21:22:00 +0000LKoen(~LKoen@22.249.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-04-27 21:22:50 +0000 <cheater> any clues on libffi?
2021-04-27 21:23:27 +0000bor0(~boro@unaffiliated/boro/x-000000001) (Quit: Leaving)
2021-04-27 21:23:30 +0000acidjnk_new2(~acidjnk@p200300d0c72b9524d9e45372e00f3038.dip0.t-ipconnect.de)
2021-04-27 21:24:48 +0000ram19890(~ram@49.205.84.253) (Remote host closed the connection)
2021-04-27 21:24:55 +0000SquidDev(~SquidDev@autoclave.squiddev.cc) (Ping timeout: 268 seconds)
2021-04-27 21:25:06 +0000SquidDev(~SquidDev@autoclave.squiddev.cc)
2021-04-27 21:25:14 +0000ram19890(~ram@49.205.84.253)
2021-04-27 21:26:13 +0000Qwerky(~qwerky@37.173.171.170) (Remote host closed the connection)
2021-04-27 21:27:46 +0000jgt(~jgt@78.162.43.217) (Ping timeout: 260 seconds)
2021-04-27 21:31:14 +0000mounty(~mounty@236.216.214.218.sta.wbroadband.net.au)
2021-04-27 21:33:02 +0000kav(~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi)
2021-04-27 21:33:04 +0000mikoto-chan(~anass@213.177.155.250)
2021-04-27 21:35:53 +0000DavidEichmann(~david@147.136.46.217.dyn.plus.net) (Remote host closed the connection)
2021-04-27 21:37:53 +0000Guest8109(~textual@mskresolve-a.mskcc.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-27 21:42:54 +0000ystael(~ystael@209.6.50.55) (Read error: Connection reset by peer)
2021-04-27 21:43:18 +0000ystael(~ystael@209.6.50.55)
2021-04-27 21:44:10 +0000notzmv(~zmv@unaffiliated/zmv)
2021-04-27 21:45:08 +0000 <cheater> hmm my system's ghc comes with libffi.so.7 so i just symlinked it into path and i guess that works
2021-04-27 21:45:21 +0000 <cheater> LD_PATH or whatever
2021-04-27 21:45:31 +0000danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
2021-04-27 21:45:44 +0000 <cheater> tomsmeding: could you check gitter when you're around :)
2021-04-27 21:47:30 +0000mikoto-chan(~anass@213.177.155.250) (Quit: mikoto-chan)
2021-04-27 21:47:47 +0000mikoto-chan(~anass@213.177.155.250)
2021-04-27 21:48:55 +0000fendor(~fendor@178.115.131.177.wireless.dyn.drei.com) (Remote host closed the connection)
2021-04-27 21:49:32 +0000mikoto-chan(~anass@213.177.155.250) (Client Quit)
2021-04-27 21:50:58 +0000pbgc(~pbgc@a89-152-234-147.cpe.netcabo.pt) (Quit: Computer has gone to sleep.)
2021-04-27 21:52:43 +0000 <lechner> Hi, I am a noobie who bit off too much. I would like to rewrite a Node.js website in Purescript but have some serious type confusion. any hinters would be appreciated. line 78 from the error is line 115 in the paste https://dpaste.org/T9bg
2021-04-27 21:53:32 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-04-27 21:54:19 +0000 <lechner> send returns HandlerM but the database query just before it messes everything up
2021-04-27 21:54:37 +0000slack1256(~slack1256@200-112-79-247.baf.movistar.cl) (Ping timeout: 252 seconds)
2021-04-27 21:55:10 +0000 <monochrom> Is there a purescript channel so you can talk to better matching people?
2021-04-27 21:55:45 +0000 <monochrom> Or is my favourite correlation true again?
2021-04-27 21:56:42 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-27 21:57:04 +0000geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-27 21:57:27 +0000 <geekosaur> I see 38 people and a logger in #purescript
2021-04-27 21:58:12 +0000 <lechner> yes I am over there too, but it's a third-party module they do not know, and I have a Haskell problem. plus, it's for a good purpose :)
2021-04-27 21:58:29 +0000 <monochrom> math channel : "I can't find accounting help on IRC" :: haskell channel : "I can't find purescript help on IRC"
2021-04-27 21:59:13 +0000 <lechner> that's the first unfriendly response i have seen here, but thanks!
2021-04-27 21:59:48 +0000 <monochrom> No, I am talking about a negative correlation between channel membership and job opportunities.
2021-04-27 22:00:41 +0000Alleria(~textual@2603-7000-3040-0000-b547-c3a9-933c-ab1d.res6.spectrum.com)
2021-04-27 22:00:54 +0000 <Rembane> lechner: That's not Haskell, that's Purescript. There is an excellent Purescript channel on the functional programming Slack. I recommend asking your question there instead.
2021-04-27 22:01:06 +0000AlleriaGuest25703
2021-04-27 22:01:20 +0000zardoz2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2021-04-27 22:02:16 +0000 <lechner> unfortunately, my browser does not support Slack but I'll ask on IRC
2021-04-27 22:02:33 +0000 <lechner> monochrom: i see, sorry i am a volunteer myself
2021-04-27 22:03:45 +0000 <lechner> to be honest, i was a bit embarrassed to ask elementary questions (if there is such a thing in haskell) over there
2021-04-27 22:06:25 +0000 <lechner> if i were you folks, though, i would adopt PureScript as the ugly duckling. on a node server, which has been called the next PHP, the type safety it provides is a category killer hands down
2021-04-27 22:07:20 +0000 <monochrom> But I don't use a node server.
2021-04-27 22:07:21 +0000ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-27 22:08:17 +0000 <lechner> your clients may but they can't refactor safely on any project with more tha 500 lines
2021-04-27 22:09:13 +0000 <c_wraith> purescript is a different language with different semantics.
2021-04-27 22:09:17 +0000kiweun(~kiweun@2607:fea8:2a62:9600:c1b6:8c92:c92d:e10a)
2021-04-27 22:09:21 +0000 <c_wraith> Using it is more like using javascript than haskell
2021-04-27 22:09:48 +0000 <c_wraith> (because you can never forget it is javascript underneath)
2021-04-27 22:09:52 +0000 <monochrom> For now, I speak for my clients, too.
2021-04-27 22:10:12 +0000 <monochrom> But I am not closed to future possibilities whatsoever.
2021-04-27 22:10:16 +0000bitmapper(uid464869@gateway/web/irccloud.com/x-lwoslwzxzqzjzamu) (Quit: Connection closed for inactivity)
2021-04-27 22:10:28 +0000 <yushyin> lechner: https://www.purescript.org/ see 'Community' down below
2021-04-27 22:11:07 +0000dinciorip(~dincio@5.171.80.13) (Quit: WeeChat 3.1)
2021-04-27 22:11:10 +0000pavonia(~user@unaffiliated/siracusa)
2021-04-27 22:11:24 +0000 <monochrom> I don't think I can find the line of code that the error message refers to.
2021-04-27 22:12:04 +0000 <lechner> monochrom: it's 115 but i got your message https://dpaste.org/T9bg#L115
2021-04-27 22:12:24 +0000dhil(~dhil@80.208.56.181) (Quit: Leaving)
2021-04-27 22:12:50 +0000 <monochrom> The error message mentions "discard". I can't find "discard".
2021-04-27 22:13:01 +0000nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-27 22:13:44 +0000kiweun(~kiweun@2607:fea8:2a62:9600:c1b6:8c92:c92d:e10a) (Ping timeout: 245 seconds)
2021-04-27 22:14:13 +0000 <lechner> i think that's the query result. it probably is too hard with a module you do not know https://pursuit.purescript.org/packages/purescript-postgresql-client/3.0.2 https://github.com/rightfold/purescript-postgresql-client
2021-04-27 22:14:31 +0000 <lechner> there are too many types you are not familiar with. i get it
2021-04-27 22:14:38 +0000 <monochrom> Well, I don't know how to bridge between HandlerM and ExceptT PGError Aff anyway.
2021-04-27 22:14:45 +0000 <lechner> in fact, i have the same problem
2021-04-27 22:15:01 +0000elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
2021-04-27 22:15:09 +0000__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-04-27 22:16:51 +0000 <lechner> no, the problem is that i added lines 111-114 that brought in the monad from line 64. without them everything works, except there is no SQL query :(
2021-04-27 22:16:52 +0000stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-27 22:18:02 +0000 <lechner> i really should talk to the Purescript folks. i did not mean to impose and would rather preserve my goodwill here
2021-04-27 22:18:23 +0000 <monochrom> Actually, is this simply a matter of doing your "send" outside "withConnection"?
2021-04-27 22:18:47 +0000 <lechner> i think so
2021-04-27 22:19:03 +0000 <monochrom> Or outside "withTransaction", I don't know which.
2021-04-27 22:21:02 +0000 <lechner> i can scrap the transaction for now. the idea came from here (one page down) https://github.com/rightfold/purescript-postgresql-client#usage
2021-04-27 22:21:10 +0000malumore_(~malumore@151.62.126.111) (Remote host closed the connection)
2021-04-27 22:21:23 +0000malumore_(~malumore@151.62.126.111)
2021-04-27 22:21:30 +0000zebrag(~inkbottle@aaubervilliers-654-1-79-166.w86-212.abo.wanadoo.fr)
2021-04-27 22:21:45 +0000 <lechner> the other issue with #purescript was that server-side Purescript is officialy not supported, but i think that's the big future for them
2021-04-27 22:23:06 +0000 <monochrom> Indeed I would think that updating or outputting a web page shouldn't happen until after a DB transaction finishes (so you know it is a success and you are not in the middle of possible retries, rollbacks, race conditions.
2021-04-27 22:24:05 +0000clathomas(ad4839b3@pool-173-72-57-179.cmdnnj.fios.verizon.net)
2021-04-27 22:24:29 +0000 <clathomas> Hello! I have a quick noob-level efficiency question.
2021-04-27 22:24:49 +0000 <clathomas> Why does ` foldl' (+) 0 [1..n] ` not use a constant amount of memory (in ghci) ? Everything I read says that foldl' should evaluate as it goes down the list, so the only space needed should be for the sum. But memory increases (according to `:set +s` in ghci) as n increases.
2021-04-27 22:24:52 +0000notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 252 seconds)
2021-04-27 22:25:06 +0000 <lechner> monochrom: it's just a simple SELECT, and can put it in later. my issue is i am completely in over my head rewriting my little website lintian.debian.net in haskell and purescript.
2021-04-27 22:25:11 +0000 <monochrom> Note: "after the transaction finishes" ≠ "the last task inside the transaction"
2021-04-27 22:25:38 +0000letmein(~letmein@c-71-59-221-7.hsd1.wa.comcast.net) (Ping timeout: 246 seconds)
2021-04-27 22:26:06 +0000 <lechner> i just discovered haskell six months ago, and that math major heart jumped
2021-04-27 22:26:18 +0000 <int-e> clathomas: +s reports allocations, not memory residency.
2021-04-27 22:26:50 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-04-27 22:27:14 +0000 <int-e> clathomas: and without optimizations, the list and its elements are allocated... and consumed by foldl' as the sum is computed, so all that stuff becomes garbage immediately.
2021-04-27 22:27:21 +0000 <clathomas> int-e: got it, thanks! What is a good way to see "memory residency" ? (Is that the technical term to google for?)
2021-04-27 22:27:42 +0000 <int-e> clathomas: with optimizations, ghc will (usually) eliminate the allocations as well
2021-04-27 22:27:43 +0000 <monochrom> I run htop to watch memory residency.
2021-04-27 22:28:44 +0000ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 22:29:17 +0000neiluj(~jco@unaffiliated/neiluj) (Quit: leaving)
2021-04-27 22:29:22 +0000 <int-e> clathomas: I don't know of a convenient way for ghci (monochrom's suggestion may well be the best way). there's +RTS -s which reports "maximum residency" for compiled programs but really doesn't work well for ghci.
2021-04-27 22:29:35 +0000safinaskar(~user@109-252-90-136.nat.spd-mgts.ru)
2021-04-27 22:30:02 +0000ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-27 22:30:04 +0000 <monochrom> Sometimes I compile to exe and use "+RTS -s" too, but it only does sampling, not complete monitoring. OK my htop trick gives even fewer samples.
2021-04-27 22:30:26 +0000stree(~stree@68.36.8.116)
2021-04-27 22:31:05 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 22:31:22 +0000 <int-e> Right, we may miss a brief spike in residency with +RTS -s.
2021-04-27 22:31:46 +0000 <monochrom> Then again, "+RTS -s" gives its report after normal termination only. For a long-running program I go htop.
2021-04-27 22:32:49 +0000 <monochrom> You can use "+RTS -s" on ghci, which measures ghci itself, which is 1% your own code and 99% ghci's own startup cost, which is still something, but you have to quit before you see the report.
2021-04-27 22:33:54 +0000 <int-e> for giggles you can try `ghc +RTS -S`
2021-04-27 22:35:14 +0000 <clathomas> thanks! Looking into both options. Is there an option for making ghci optimize your files ? `-O2` didn't seem to work (at least with `stack ghci`)
2021-04-27 22:35:32 +0000 <monochrom> No.
2021-04-27 22:36:08 +0000 <geekosaur> ghci is an interpreter, what good would optimization do?
2021-04-27 22:36:09 +0000 <monochrom> Yes but very long story, virtually like no.
2021-04-27 22:36:45 +0000 <monochrom> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#loading-compiled-code is the long story.
2021-04-27 22:37:04 +0000 <geekosaur> I suppose there is -fobject-code -O2 but then you lose most of the point of ghci
2021-04-27 22:37:26 +0000 <clathomas> geekosaur: I am running monte-carlo type simulations based on (fairly simple) combinations of library functions I've written.
2021-04-27 22:38:10 +0000jrm2(~jrm@freebsd/developer/jrm)
2021-04-27 22:38:24 +0000 <clathomas> I suppose I want to package up my library so I can optimize and then import ?
2021-04-27 22:38:40 +0000 <geekosaur> probably
2021-04-27 22:39:32 +0000 <solidus-river> DigitalKiwi: sorry I had to run earlier, thats the book :)
2021-04-27 22:39:37 +0000 <monochrom> Oh and the doc there still has this omission. -c is not enough, you need -dynamic too.
2021-04-27 22:42:41 +0000jrm2(~jrm@freebsd/developer/jrm) (Client Quit)
2021-04-27 22:43:04 +0000jrm2(~jrm@freebsd/developer/jrm)
2021-04-27 22:44:02 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-27 22:45:06 +0000ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 22:45:49 +0000 <monochrom> There was a time my idea of personal library was -i/home/me/my-cool-haskell-files too :)
2021-04-27 22:47:50 +0000safinaskar(~user@109-252-90-136.nat.spd-mgts.ru) ()
2021-04-27 22:47:53 +0000safinaskar(~user@109-252-90-136.nat.spd-mgts.ru)
2021-04-27 22:48:32 +0000 <safinaskar> is there some way to get this datatype transformations automatically: https://paste.debian.net/1195441/ ?
2021-04-27 22:48:37 +0000 <clathomas> monochrom: haha indeed. I am changing / debugging the library a lot, so I do think ghci has advantages! But probably I do need to do something more official
2021-04-27 22:49:11 +0000ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-04-27 22:51:58 +0000sdrodge_(~sdrodge@unaffiliated/sdrodge) (Quit: WeeChat 3.1)
2021-04-27 22:52:44 +0000gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-04-27 22:54:50 +0000jrm2jrm
2021-04-27 22:57:21 +0000pbgc(~pbgc@a89-152-234-147.cpe.netcabo.pt)
2021-04-27 22:57:22 +0000sdrodge(~sdrodge@unaffiliated/sdrodge)
2021-04-27 22:57:31 +0000 <monochrom> I may delete "Expr" and "Term" altogether. I have never needed to "remember" user explicit parenthesizing by the time I output an AST.
2021-04-27 22:57:55 +0000pbgc(~pbgc@a89-152-234-147.cpe.netcabo.pt) (Client Quit)
2021-04-27 22:59:15 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:d72c:c07:3040:2376) (Ping timeout: 260 seconds)
2021-04-27 22:59:32 +0000 <monochrom> While a parser needs to take input parentheses into account, it can throw away that information very quickly.
2021-04-27 22:59:49 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-27 23:01:09 +0000 <safinaskar> monochrom: yes. but i am writing my own parser, and it always output full parse tree
2021-04-27 23:02:07 +0000 <safinaskar> monochrom: also, i am going to write both parser and printer. and thus i need transformations in both ways between parse tree and ast
2021-04-27 23:02:14 +0000clathomas(ad4839b3@pool-173-72-57-179.cmdnnj.fios.verizon.net) (Quit: Connection closed)
2021-04-27 23:02:40 +0000 <monochrom> Then delete AST?
2021-04-27 23:07:38 +0000ep1ctetus_(~epictetus@ip72-194-54-201.sb.sd.cox.net)
2021-04-27 23:08:06 +0000 <DigitalKiwi> monochrom: what if your parser is used in an text editor
2021-04-27 23:08:47 +0000DigitalKiwihands monochrom, monochrom hands a different one back
2021-04-27 23:08:56 +0000geekosaurtempted to point to ghc-exactprint
2021-04-27 23:09:02 +0000 <DigitalKiwi> ... + words
2021-04-27 23:09:25 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-27 23:10:08 +0000apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-04-27 23:10:14 +0000ChrisMarquardt(~ChrisMarq@185.204.1.185) (Remote host closed the connection)
2021-04-27 23:10:31 +0000Tario(~Tario@201.192.165.173) (Ping timeout: 252 seconds)
2021-04-27 23:10:41 +0000epicte7us(~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 240 seconds)
2021-04-27 23:11:26 +0000Tario(~Tario@200.119.186.99)
2021-04-27 23:11:28 +0000hiroaki(~hiroaki@2a02:8108:8c40:2bb8:97a:c563:cb11:fbc)
2021-04-27 23:15:05 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 23:15:44 +0000Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2021-04-27 23:17:07 +0000 <safinaskar> monochrom: well, in fact eventually i want to write prover. ast will be typechecked then
2021-04-27 23:19:14 +0000 <safinaskar> geekosaur: ghc-exactprint - this was to me?
2021-04-27 23:19:29 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-04-27 23:19:30 +0000 <geekosaur> yes
2021-04-27 23:19:48 +0000 <geekosaur> it uses information in GHC's AST to regenerate the source that led to the AST
2021-04-27 23:20:06 +0000 <geekosaur> although I guess actually it was to monochrom
2021-04-27 23:21:11 +0000letmein(~letmein@2601:1c1:4200:938f:f8bf:6a67:4eed:b2c1)
2021-04-27 23:24:07 +0000sarahzrf_(~sarahzrf_@sarahzrf.com) (Quit: bye)
2021-04-27 23:24:22 +0000sarahzrf(~sarahzrf_@sarahzrf.com)
2021-04-27 23:25:04 +0000kiweun(~kiweun@2607:fea8:2a62:9600:bc5b:4bb6:fff:c736)
2021-04-27 23:26:20 +0000xPaw1(~xPaw@185.204.1.185)
2021-04-27 23:27:24 +0000heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-27 23:28:11 +0000Guest85960(~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d) (Ping timeout: 260 seconds)
2021-04-27 23:28:31 +0000 <monochrom> /nick MrSpeaker
2021-04-27 23:29:08 +0000 <monochrom> (refereence to British-style parliaments)
2021-04-27 23:30:16 +0000kiweun(~kiweun@2607:fea8:2a62:9600:bc5b:4bb6:fff:c736) (Ping timeout: 276 seconds)
2021-04-27 23:32:08 +0000 <monochrom> Data.Data is what I have heard for auto-coding of catamorphisms, but I have never learned it.
2021-04-27 23:32:31 +0000 <monochrom> and the DeriveData extension.
2021-04-27 23:33:11 +0000Tario(~Tario@200.119.186.99) (Ping timeout: 240 seconds)
2021-04-27 23:33:21 +0000 <monochrom> The conversions between Expr+Term and AST look like catamorphisms respectively.
2021-04-27 23:36:56 +0000Synthetica(uid199651@gateway/web/irccloud.com/x-jzozwncadkywrjny) (Quit: Connection closed for inactivity)
2021-04-27 23:37:21 +0000 <safinaskar> geekosaur: ghc-exactprint parses and prints haskell. i am writing parser for any cfg-based language
2021-04-27 23:40:43 +0000conal(~conal@64.71.133.70)
2021-04-27 23:45:23 +0000conal(~conal@64.71.133.70) (Client Quit)
2021-04-27 23:46:53 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-04-27 23:49:01 +0000m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 252 seconds)
2021-04-27 23:49:59 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-27 23:50:26 +0000chimera(~chimera@168-182-134-95.pool.ukrtel.net) (Quit: Konversation terminated!)
2021-04-27 23:51:13 +0000Tario(~Tario@201.192.165.173)
2021-04-27 23:54:12 +0000ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-04-27 23:54:33 +0000dcoutts__(~duncan@94.186.125.91.dyn.plus.net)
2021-04-27 23:54:43 +0000 <safinaskar> ok, thanks
2021-04-27 23:54:46 +0000safinaskar(~user@109-252-90-136.nat.spd-mgts.ru) ()
2021-04-27 23:55:56 +0000malumore_(~malumore@151.62.126.111) (Ping timeout: 260 seconds)
2021-04-27 23:56:46 +0000dcoutts_(~dcoutts@unaffiliated/dcoutts) (Ping timeout: 240 seconds)
2021-04-27 23:57:10 +0000dcoutts(~duncan@94.186.125.91.dyn.plus.net) (Ping timeout: 260 seconds)
2021-04-27 23:58:00 +0000dcoutts(~dcoutts@unaffiliated/dcoutts)
2021-04-27 23:58:45 +0000jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)