Home freenode/#haskell: Logs Calendar

Logs on 2021-02-19 (freenode/#haskell)

00:00:31 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
00:01:45 × ephemera_ quits (~E@122.34.1.187) (Ping timeout: 240 seconds)
00:02:43 gratadewey1 joins (~gratadewe@tmo-121-181.customers.d1-online.com)
00:03:05 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
00:06:54 ephemera_ joins (~E@122.34.1.187)
00:08:08 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Remote host closed the connection)
00:08:44 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
00:13:20 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 268 seconds)
00:15:26 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
00:16:01 bergey joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
00:17:22 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
00:17:37 ephemera_ joins (~E@122.34.1.187)
00:17:45 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
00:19:15 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
00:19:38 × usr25 quits (~J@91.red-83-58-113.dynamicip.rima-tde.net) (Quit: Bye)
00:20:59 × bergey quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
00:21:08 × gratadewey1 quits (~gratadewe@tmo-121-181.customers.d1-online.com) (Quit: Leaving)
00:24:15 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
00:25:30 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:25:34 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
00:26:27 kupi joins (uid212005@gateway/web/irccloud.com/x-gizvaodpjkjnkrse)
00:26:43 ephemera_ joins (~E@122.34.1.187)
00:29:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:30:08 <Axman6> koz_: did you ever get your deriving via thing working?
00:31:21 <koz_> Axman6: No - Iceland_jack basically said it's a 'wrong order' thing like dolio mentioned.
00:31:26 <koz_> But I just wrote it by hand.
00:31:33 <koz_> It's one method, so not too onerous.
00:33:13 <dolio> Yeah, if you want to derive MPTCs, they basically need to be partially applied.
00:33:33 <dolio> In a data type's `deriving` clause, that is.
00:33:43 <dolio> The data type being defined needs to be the last argument.
00:34:39 rajivr joins (uid269651@gateway/web/irccloud.com/x-stnwmfefysqdqgfx)
00:35:10 <dolio> I think standalone deriving just lets you give any instance head, though.
00:35:31 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
00:39:01 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:8423:c6e2:c62e:a95e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:39:21 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
00:40:04 × pasukon quits (sid49097@gateway/web/irccloud.com/x-yhlwlkhlfvxhagju) (Quit: Connection closed for inactivity)
00:42:34 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
00:43:30 nbloomf joins (~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4)
00:46:55 × mirrorbird quits (~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) (Quit: Leaving)
00:47:26 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 264 seconds)
00:47:34 stree joins (~stree@68.36.8.116)
00:49:32 × stree quits (~stree@68.36.8.116) (Remote host closed the connection)
00:49:52 × hyperisco_ quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds)
00:50:13 stree joins (~stree@68.36.8.116)
00:50:15 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:50:15 × stree quits (~stree@68.36.8.116) (Remote host closed the connection)
00:50:45 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
00:50:51 bergey joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
00:50:52 stree joins (~stree@68.36.8.116)
00:51:54 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
00:56:16 × rotaerk quits (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 265 seconds)
00:56:44 rotaerk joins (~rotaerk@ender.afternet.org)
01:01:52 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
01:04:21 × m0rphism1 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 246 seconds)
01:10:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52) (Remote host closed the connection)
01:10:53 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 272 seconds)
01:12:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:13:15 lambda-11235 joins (~lambda-11@2600:1700:7c70:4600::3f)
01:13:48 × hiroaki quits (~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
01:17:19 × slack1256 quits (~slack1256@45.4.2.52) (Remote host closed the connection)
01:20:42 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
01:23:47 mirrorbird joins (~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f)
01:24:30 ephemera_ joins (~E@122.34.1.187)
01:24:41 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
01:25:16 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
01:25:25 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
01:27:28 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
01:27:49 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
01:28:09 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
01:30:16 hiroaki joins (~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de)
01:30:41 × jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 2.9)
01:31:32 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
01:31:44 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
01:32:20 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
01:32:25 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
01:32:31 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
01:33:07 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
01:34:26 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds)
01:38:23 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
01:39:44 ephemera_ joins (~E@122.34.1.187)
01:39:49 bergey` joins (~user@107.181.19.30)
01:41:59 × hiroaki quits (~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
01:42:38 × bergey quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
01:42:51 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
01:46:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
01:49:44 bergey`` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
01:49:56 × bergey` quits (~user@107.181.19.30) (Ping timeout: 260 seconds)
01:50:10 roth joins (~roth@c-24-125-227-233.hsd1.ga.comcast.net)
01:52:03 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
01:53:16 ephemera_ joins (~E@122.34.1.187)
01:54:36 roth parts (~roth@c-24-125-227-233.hsd1.ga.comcast.net) ("WeeChat 1.9.1")
01:58:49 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
01:59:32 jamm_ joins (~jamm@unaffiliated/jamm)
02:00:23 × bergey`` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
02:01:57 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
02:02:20 nbloomf joins (~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4)
02:02:57 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
02:03:06 bergey`` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
02:04:18 ephemera_ joins (~E@122.34.1.187)
02:05:14 bergey``` joins (~user@107.181.19.30)
02:05:25 × ephemera_ quits (~E@122.34.1.187) (Client Quit)
02:06:26 ephemera_ joins (~E@122.34.1.187)
02:08:08 × bergey`` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
02:10:45 heatsink joins (~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52)
02:10:57 × Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Remote host closed the connection)
02:13:04 × xff0x quits (~xff0x@2001:1a81:5211:3400:b3d2:3c55:a1fe:204b) (Ping timeout: 240 seconds)
02:14:10 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
02:14:50 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:15:08 xff0x joins (~xff0x@2001:1a81:524a:900:8508:6695:e4ef:a19a)
02:15:49 × bergey``` quits (~user@107.181.19.30) (Ping timeout: 265 seconds)
02:16:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52) (Ping timeout: 264 seconds)
02:17:26 nbloomf joins (~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4)
02:18:36 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
02:19:33 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
02:20:51 ephemera_ joins (~E@122.34.1.187)
02:21:47 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
02:22:02 × benjamingr__ quits (uid23465@gateway/web/irccloud.com/x-jtcssqlgtowhekak) (Quit: Connection closed for inactivity)
02:23:06 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
02:23:24 heatsink joins (~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52)
02:23:46 bitmagie joins (~Thunderbi@200116b806717500919440cf7b99cc6e.dip.versatel-1u1.de)
02:27:35 guest218 joins (~user@49.5.6.87)
02:27:58 Ishutin_ joins (~ishutin@84-236-3-155.pool.digikabel.hu)
02:31:09 × Ishutin quits (~ishutin@178-164-208-197.pool.digikabel.hu) (Ping timeout: 246 seconds)
02:32:34 urodna_ joins (~urodna@unaffiliated/urodna)
02:33:26 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:b8ec:d51f:19ab:810a:831a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:34:09 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds)
02:34:11 × urodna quits (~urodna@unaffiliated/urodna) (Ping timeout: 265 seconds)
02:34:28 Stanley00 joins (~stanley00@unaffiliated/stanley00)
02:35:33 raym joins (~ray@45.64.220.142)
02:36:32 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
02:37:01 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Client Quit)
02:39:22 × jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:40:49 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
02:44:31 × poscat quits (~poscat@123.116.67.131) (Remote host closed the connection)
02:46:23 poscat joins (~poscat@123.116.67.131)
02:48:39 Tops21 joins (~Tobias@dyndsl-095-033-088-065.ewe-ip-backbone.de)
02:48:45 × Wuzzy quits (~Wuzzy@p5790ee53.dip0.t-ipconnect.de) (Quit: Wuzzy)
02:49:37 × isacl___ quits (sid13263@gateway/web/irccloud.com/x-ffhqixfaqlvsijhw) (Quit: Connection closed for inactivity)
02:50:54 <guest218> can we put IO actions into Cont? cont (a -> (IO ())) -> IO ()?
02:50:56 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
02:51:16 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
02:51:23 <guest218> what type it will be? Cont (IO ()) a?
02:51:29 <monochrom> Yes.
02:51:42 <guest218> or use ContT r IO a?
02:51:52 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
02:51:59 <monochrom> Depends on your needs and entirely up to you.
02:52:33 × Tops2 quits (~Tobias@dyndsl-095-033-088-065.ewe-ip-backbone.de) (Ping timeout: 265 seconds)
02:52:40 <monochrom> Broad questions beget broad answers.
02:52:47 × Zialus quits (~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29) (Quit: i'm out!)
02:53:44 <guest218> monochrom: but `runCont (x:: Cont (IO ()) a) (y:: a)` will extract one IO action? and I can put it into main?
02:54:24 <monochrom> Have you tried?
02:55:44 <monochrom> It won't incinerate your computer if you try actual code and make some mistakes and learn from the error messages, you know.
02:55:45 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds)
02:56:12 <guest218> yeap
02:56:17 <guest218> main = runCont (cont (\k -> k (print "hi"))) id == "hi"
02:56:58 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
02:57:01 da39a3ee5e6b4b0d joins (~da39a3ee5@184.22.159.161)
02:57:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:58:06 × jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
02:59:19 × stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds)
02:59:21 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
02:59:21 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
02:59:55 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
03:03:02 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
03:03:28 × bitmagie quits (~Thunderbi@200116b806717500919440cf7b99cc6e.dip.versatel-1u1.de) (Quit: bitmagie)
03:07:18 drbean joins (~drbean@TC210-63-209-181.static.apol.com.tw)
03:07:23 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds)
03:07:44 <Axman6> I disagree with that == :)
03:08:01 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
03:08:38 ski . o O ( "Not even wrong." )
03:11:46 plutoniix joins (~q@184.82.193.9)
03:12:08 stree joins (~stree@68.36.8.116)
03:14:08 × urodna_ quits (~urodna@unaffiliated/urodna) (Quit: urodna_)
03:14:21 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
03:15:58 teardown joins (~user@gateway/tor-sasl/mrush)
03:16:27 <inkbottle> I've found infinitely many monoid homomorphisms with codomain the natural numbers as additive monoid and domain the free monoid on the corresponding underlying set. And I have no idea which is Epsilon the co-unit.
03:17:01 <inkbottle> One has to send empty list on zero.
03:17:39 <Axman6> I know most of those words...
03:18:07 KeyJoo joins (~KeyJoo@37.1.20.135)
03:18:47 <inkbottle> It's a very dumb question, but it's really nagging me not to know the answer
03:19:12 <swarmcollective> You had me up to monoid... :)
03:19:20 <inkbottle> And I can't find which other properties would narrow the set of candidates
03:19:21 <karasu1[m]> I was trying to experiment with Map, but something is wrong..
03:19:22 <karasu1[m]> https://paste.tomsmeding.com/kq1BJEjm
03:19:35 <karasu1[m]> The second time, m is not printed
03:19:39 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
03:19:40 <karasu1[m]> But it just says `fromList`
03:20:03 <karasu1[m]> so i interrepted
03:20:07 <glguy> karasu1[m], m = Map.insert 10 'c' m --
03:20:18 <glguy> you inserted m into itself
03:20:28 <karasu1[m]> yea
03:20:40 × Tops21 quits (~Tobias@dyndsl-095-033-088-065.ewe-ip-backbone.de) (Read error: Connection reset by peer)
03:20:49 <karasu1[m]> I wanted to put the pair 10 'c' in m
03:20:54 <glguy> that's the same m on both sides
03:21:04 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
03:21:05 <glguy> > let xs = 1 : xs in xs
03:21:07 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
03:21:10 <karasu1[m]> Doesn't it take the previous value of m on the right side??
03:21:15 <glguy> of course not
03:21:20 <Axman6> let x = ... x ... is a recursive definition, the mo on the righ t_is_ the m on the left
03:21:23 <guest218> typical C...
03:21:31 <guest218> c = c+1
03:21:33 <Axman6> > let ones = 1:ones in ones
03:21:35 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
03:22:09 <Axman6> dibblego: where's your recording for x = x+1
03:22:32 <dibblego> https://www.youtube.com/watch?v=tRszt-AlKOc
03:22:37 <karasu1[m]> wait, but why only `fromList` is printed?
03:22:45 <karasu1[m]> Why not like the 1:ones in ones example
03:22:49 <karasu1[m]> a lot of 1s printed
03:22:55 <guest218> karasu1[m]: try `m2 = Map.insert 10 'c' m`?
03:22:56 <karasu1[m]> but nothing printed here
03:23:04 <karasu1[m]> yea that works
03:23:11 <ski> because `Map's aren't lazy like that
03:23:12 <glguy> karasu1[m], because when you're printing a Map the printing function knows that you always start with fromList
03:23:24 <glguy> but then it has no idea what elements should be in the map
03:23:27 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
03:23:43 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
03:24:09 <karasu1[m]> It's recursive, like the `let ones = 1 : ones in ones`, so why is this case different from the cons case?
03:24:10 <Axman6> the Show instance for Map is basically: show mp = "fromList " ++ show (toList mp). if you can't produce that list, you can't print it
03:24:26 Narinas joins (~Narinas@189.223.179.61.dsl.dyn.telnor.net)
03:24:26 <Axman6> it's recursive in a way where it can't make any progress
03:24:33 <monochrom> onoes dibblego is Tony Morris!
03:24:35 <glguy> karasu1[m], because in the case of a map it has to know *all* of the elements to know what the first one will be
03:24:44 <Axman6> with the ones example, there is always a known (:)
03:24:49 <dibblego> monochrom: lolwot
03:24:59 <monochrom> But nice video. I have a friend who had the same sentiment when learning BASIC.
03:25:01 <Axman6> monochrom: you can't just dox people like that
03:25:19 <glguy> so to print m = Map.insert 10 'c' m -- it asks, what would the first element of Map.insert 10 'c' m be, to answer that question insert needs to know the first element of m, this spins in a loop
03:25:43 <monochrom> OK I'll dox myself too. I'm Albert Lai.
03:25:48 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
03:25:48 finn_elija is now known as Guest9362
03:25:48 FinnElija is now known as finn_elija
03:26:06 <Axman6> I can't believe you've done this
03:26:07 <glguy> xs = 1 : xs -- we know what the first element of xs is going to be 1 from its definition; we don't have to look any further
03:26:17 <monochrom> self-punishment
03:26:25 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
03:26:46 hal9001` joins (~user@zz2017405567D30FFCD9.userreverse.dion.ne.jp)
03:27:54 hal9001` parts (~user@zz2017405567D30FFCD9.userreverse.dion.ne.jp) ()
03:28:07 <swarmcollective> "That doesn't make any sense." Classic. :)
03:28:28 <karasu1[m]> So `(toList m)` never terminates, so it can't be printed? hmmmm, but maybe I thought it would keep printing `fromList [(10, 'c'), (10, 'c'), ...` like the 1 :ones
03:28:37 <karasu1[m]> dunno
03:28:52 × hal9001 quits (~user@zz2017405567D30FFCD9.userreverse.dion.ne.jp) (Ping timeout: 260 seconds)
03:28:58 × Guest9362 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
03:29:07 × borne quits (~fritjof@200116b864cafb00a9b5d4f34e3c7d10.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
03:29:24 <glguy> karasu1[m], no, maps don't contain repeated elements, and the elements are printed in order
03:29:33 ski . o O ( "1930-1970, the time of codings : Consistency proofs, monstrous ordinal notations, ad hoc encodings, a sort of voluntary bureaucratic self-punishment." )
03:29:40 <Axman6> there is only one entry in the map with key 10
03:29:50 <karasu1[m]> oh yea!!
03:29:59 <karasu1[m]> so it should print `fromList [(10, 'c')]`
03:30:05 × jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Ping timeout: 240 seconds)
03:30:09 <karasu1[m]> But I only get `fromList `
03:30:11 <glguy> karasu1[m], why?
03:30:18 <glguy> we don't know what other elements are in the list
03:30:21 <glguy> it doesn't guess
03:30:28 <glguy> in the map
03:30:54 <glguy> you didn't write: Map.insert 10 'c' Map.empty
03:30:55 <Axman6> :t M.insert
03:30:56 <lambdabot> Ord k => k -> a -> M.Map k a -> M.Map k a
03:30:56 <guest218> fromList is just a data constructor, it shouldn't be alone, right?
03:31:06 <glguy> fromList is not a data constructor, now
03:31:10 <glguy> no*
03:31:38 <guest218> then a function?
03:31:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
03:31:43 <Axman6> you might _think_ that if you insert something into a map, get the new map, and then insert the same thing again, it should just return the old map, but note that there is no way to tell that it is actually inserting the same thing again, there's no Eq a constraint
03:31:52 <ski> > let scones x !xs = x:xs; sc = 1; ones = scones sc ones in ones
03:31:55 <lambdabot> *Exception: <<loop>>
03:32:01 <glguy> guest218, data constructor and function are different categories of things, but yes it's a variable and a function, too
03:32:26 <Axman6> Data.Map's Show instance is quite inconsistent (though easier to ead than the derived instance would be).
03:32:31 <monochrom> In this context, "fromList" is just how the Show instance of Map starts. Please don't read any deep subtext out of it. There is none.
03:33:00 <guest218> is https://hoogle.haskell.org/ down?
03:33:06 <ski> why inconsistent ?
03:33:22 <guest218> @hoogle fromList
03:33:22 <lambdabot> Data.List.NonEmpty fromList :: [a] -> NonEmpty a
03:33:22 <lambdabot> GHC.Exts fromList :: IsList l => [Item l] -> l
03:33:22 <lambdabot> Data.IntMap.Internal fromList :: [(Key, a)] -> IntMap a
03:33:44 <Axman6> instance (Show k, Show v) => Show (Map k v) where show mp = "fromList " ++ show (toList mp) is pretty much exactly Map's Show instance
03:34:01 <karasu1[m]> Yeaa
03:34:21 <karasu1[m]> So to do `toList`, `mp` needs to be a value right?
03:34:23 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:34:35 <karasu1[m]> (I guess the WHNF maybe)
03:35:01 <ski> (except defining `showsPrec' rather than `show', and properly using `showParen')
03:35:02 <karasu1[m]> But we can never resolve a WHNF, is that correct?
03:35:28 <Axman6> no, WHNF means the value has been evaluated far enough to know which constructor it is
03:36:01 <karasu1[m]> OK
03:36:11 <karasu1[m]> But `mp` needs to be a value then?
03:36:27 <monochrom> In fact, "insert" already wants the old map to be a value.
03:36:35 <Axman6> so, fior a list, it means we know if we have [] or a (:) with some value and another list, but it says nothing about the value or other list
03:37:37 <inkbottle> This might be related to my Epsilon/Counit question: "How many adjunction give rise to the same monad?" That could explain why I've failed to pinpoint one counit. https://cpb-us-e1.wpmucdn.com/s.wayne.edu/dist/d/10/files/2018/02/kleisli6c-10zk5wx.pdf
03:37:44 × KeyJoo quits (~KeyJoo@37.1.20.135) (Ping timeout: 260 seconds)
03:38:16 <guest218> data Map k a = Bin {-# UNPACK #-} !Size !k a !(Map k a) !(Map k a) | Tip , you're right fromList isn't a data constructor
03:38:50 <glguy> the give away was that it's lowercased
03:38:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
03:41:09 × theDon quits (~td@94.134.91.146) (Ping timeout: 246 seconds)
03:43:02 theDon joins (~td@muedsl-82-207-238-210.citykom.de)
03:45:21 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:46:25 forgottenone joins (~forgotten@176.42.30.133)
03:53:04 <karasu1[m]> Wait
03:53:04 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
03:53:05 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 240 seconds)
03:53:06 <karasu1[m]> > let ones = 1:ones in ones
03:53:09 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
03:53:31 <karasu1[m]> It doesn't know all the values in the list right?
03:53:33 <karasu1[m]> But it's still printing
03:53:46 Narinas joins (~Narinas@189.223.179.61.dsl.dyn.telnor.net)
03:53:50 <karasu1[m]> For `m`, it at least knows `(10, 'c')` is in the list
03:53:50 <Axman6> that list is circular
03:54:00 <Axman6> no it doesn't
03:54:54 <monochrom> If you're so bent on seeing (10,'c') printed, try y = (10,'c') : undefined
03:55:27 <monochrom> Map simply is a different data structure that wants to figure out the whole finite binary search tree before doing anything.
03:55:31 <karasu1[m]> `(10, 'c')` can never be taken away from `m` right?
03:55:35 Stanley00 joins (~stanley00@unaffiliated/stanley00)
03:55:42 <karasu1[m]> Even given the recursive definition
03:55:52 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
03:56:08 <monochrom> Do you know binary search trees?
03:56:12 <Axman6> logically, we know that as humans, burt the code cannot
03:56:17 <Axman6> but*
03:56:30 <karasu1[m]> Oh yeah, BST is cool
03:56:37 cheater joins (~user@unaffiliated/cheater)
03:56:48 <karasu1[m]> left is less, right is more
03:56:52 <swarmcollective> > let m = (10, 'c'):m in m
03:56:54 <lambdabot> [(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10...
03:57:14 <monochrom> Do you know that to decide where to put your (10,'c') in a binary search tree, the insert algorithm needs to know a large chunk of the rest of the binary search tree?
03:57:34 <monochrom> Do you know that your self-reference defeats that left right and centre?
03:57:35 <Axman6> what you have essentially build is m = insert 10 'c' m ==> insert 10 'c' (insert 10 'c' (insert 10 'c' (insert 10 'c ...
03:57:48 <Axman6> built*
03:58:37 <guest218> > l2 = (print "hi"): l2
03:58:39 <lambdabot> <hint>:1:4: error: <hint>:1:4: error: parse error on input ‘=’
03:59:02 <monochrom> list is lazy, Map is not. Can you accept that?
03:59:22 <karasu1[m]> Does Map have to print the preorder traversal then?
03:59:23 <guest218> monochrom: Data.Map.Lazy is not lazy?
03:59:29 <monochrom> No.
03:59:41 <monochrom> It is lazy in the 'c'.
04:00:05 <monochrom> If you do "insert 10 undefined oldmap" Data.Map.Lazy allows you, Data.Map.Strict does not.
04:00:12 <Axman6> karasu1[m]: insert can't make any progress in inserting a value into the tree until it know if it has a Bin ot Tip constructor, so to find that out, it tries to evaluate the recursive insert, which needs to whenter it has a Bin or a Tip constructor, so it asks the next insert, which needs to know...
04:00:26 <monochrom> The binary search tree structure itself? Don't kid yourself, it is non-lazy all along.
04:00:27 Rudd0 joins (~Rudd0@185.189.115.103)
04:00:44 × taktoa[c] quits (sid282096@gateway/web/irccloud.com/x-tfepwvxnvuhzipdi) (Ping timeout: 240 seconds)
04:00:50 × rslima_____ quits (sid26145@gateway/web/irccloud.com/x-aypulxwbltevibbl) (Read error: Connection reset by peer)
04:01:02 <monochrom> Look at all the !s in "!Size !k a !(Map k a) !(Map k a)". What do you think they mean?
04:01:06 × agander_m quits (sid407952@gateway/web/irccloud.com/x-lbundbkyasssxrvb) (Ping timeout: 246 seconds)
04:01:09 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:01:11 <swarmcollective> It is eager turtles all the way down.
04:01:13 × milessabin quits (sid86799@gateway/web/irccloud.com/x-uhwnuarrughueshe) (Read error: Connection reset by peer)
04:01:14 × ghuntley quits (sid16877@gateway/web/irccloud.com/x-vtpfnlotgnkvkxhw) (Ping timeout: 264 seconds)
04:01:23 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:01:30 <Axman6> those values are strictly evaluated whenever that constructor is evaluated
04:01:30 × lolmac quits (sid171216@gateway/web/irccloud.com/x-vfuajhtuqgxeaayl) (Ping timeout: 268 seconds)
04:01:53 × Kamuela quits (sid111576@gateway/web/irccloud.com/x-irfjzeihbihfpcqu) (Ping timeout: 272 seconds)
04:02:05 rslima_____ joins (sid26145@gateway/web/irccloud.com/x-juewjokznuzxtywl)
04:02:06 agander_m joins (sid407952@gateway/web/irccloud.com/x-iacrqptelsdesbqc)
04:02:06 ghuntley joins (sid16877@gateway/web/irccloud.com/x-cxefxczoiamxwufa)
04:02:06 taktoa[c] joins (sid282096@gateway/web/irccloud.com/x-hmpjwlrfnjkdvtbj)
04:02:11 milessabin joins (sid86799@gateway/web/irccloud.com/x-lvllpfayllfptnau)
04:02:13 <monochrom> Don't kid yourself. Binary search trees can't even be lazy on keys.
04:02:14 lolmac joins (sid171216@gateway/web/irccloud.com/x-rclngblebwcjjcxh)
04:02:26 × dani- quits (sid341953@gateway/web/irccloud.com/x-opdkvfjmdgjlowks) (Ping timeout: 264 seconds)
04:02:26 × graingert quits (sid128301@gateway/web/irccloud.com/x-vklobmszfgmvbrsg) (Ping timeout: 264 seconds)
04:02:47 <karasu1[m]> Why not?
04:02:59 <monochrom> How do you do BST insert?
04:03:17 <monochrom> First you ask "is the old tree even empty?"
04:03:37 <monochrom> That already kills a lot of fantasized laziness.
04:03:39 <karasu1[m]> Even if the insert doesn't work, it should be possible to print the values we already have traversed, right?
04:03:56 <karasu1[m]> `(10, 'c')` already exists
04:03:56 <monochrom> Then you ask "may I compare the new key with the root key?"
04:03:57 <Axman6> what values are there?
04:04:00 <karasu1[m]> insert won't change taht
04:04:02 dani- joins (sid341953@gateway/web/irccloud.com/x-jvhqzxypgstquyhl)
04:04:03 graingert joins (sid128301@gateway/web/irccloud.com/x-bfylpgqnmmccmsbf)
04:04:06 <monochrom> That kills more fantasized laziness.
04:04:13 Kamuela joins (sid111576@gateway/web/irccloud.com/x-pawdtmgkcfdhjilx)
04:04:24 <Axman6> karasu1[m]: you seem to be missing that in let m = insert 10 'c' m, the m's are _the same object_. there's is nothing already there
04:05:06 <karasu1[m]> The first insert works though
04:05:09 <karasu1[m]> right?
04:05:23 <glguy> no
04:05:35 <karasu1[m]> oh yeah....
04:05:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
04:05:57 <Axman6> how can it?
04:06:51 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:07:10 <Axman6> the very first thing it needs to know is if we have an empty tree or not. to figure that out, it inspects the map it was passed, but that is an unevaluated call to insert 10 'c' ..., which can't return anything until it kinow what constructor it is looking at, so it inspects the value passed to it, which is an unevaluated call to insert ...
04:08:10 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
04:09:03 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
04:09:20 Narinas joins (~Narinas@189.223.179.61.dsl.dyn.telnor.net)
04:09:24 <Axman6> there is no map, only functions which promise to return maps, if they can evaluate their argument
04:10:09 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 264 seconds)
04:10:45 <karasu1[m]> But the same argument can be made for `let ones = 1 : ones in ones` right?
04:10:52 × forgottenone quits (~forgotten@176.42.30.133) (Quit: Konversation terminated!)
04:10:53 <Axman6> no
04:10:55 <karasu1[m]> How does Haskell know what ones is at the beginning
04:10:58 <karasu1[m]> ?
04:11:16 <monochrom> (:) is lazy.
04:11:17 <Axman6> because whenever you evaluate ones, you immediately know which constructor you havem it is is _always_ (:) 1 ones
04:11:21 × __minoru__shirae quits (~shiraeesh@46.34.206.35) (Ping timeout: 264 seconds)
04:11:32 <glguy> suppose you had: head m
04:11:37 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
04:11:39 <glguy> well, let's replace m with its definition
04:11:40 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
04:11:42 <glguy> head (1 : m)
04:11:44 <glguy> ok, so 1
04:12:10 <glguy> : is a data constructor I can match on, it's not computing with that second argument
04:12:59 <monochrom> If you try to do insertion sort to ones, you will get nothing too.
04:13:21 <monochrom> because insertion sort is very non-lazy on lists.
04:13:43 <glguy> bad = sort (1 : bad)
04:13:46 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
04:14:00 <monochrom> Or more simply, try to "append 2 at the end of ones. ones ++ [2]"
04:14:04 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
04:14:12 <glguy> suppose we write: head bad
04:14:31 <monochrom> and then "so 2 is in that list, why filter (== 2) can't find it???!!!"
04:14:44 leaksAlot joins (44af9113@68.175.145.19)
04:14:45 <glguy> head (sort (1 : bad)) -- hmm, I still don't know what's first, now sort wants to look at the first element of bad
04:14:52 Narinas joins (~Narinas@189.223.179.61.dsl.dyn.telnor.net)
04:14:53 <glguy> head (sort (1 : sort (1 : bad))
04:14:56 <glguy> it's not better better
04:15:45 <leaksAlot> Why does this leak
04:15:45 <leaksAlot> main = do
04:15:46 <leaksAlot>   traverse (const (T.readFile "big-file")) [(0 :: Int) .. 5] >>= (print . (sum . fmap T.length))
04:15:46 <leaksAlot>   forever performMajorGC
04:17:36 <glguy> Because you loaded 6 big files into memory first, and then started taking their lengths?
04:18:46 <leaksAlot> After the lengths are summed and printed memory usage stays put.
04:19:28 <glguy> how are you measuring memory usage?
04:19:39 <leaksAlot> top
04:19:48 <Axman6> which OS?
04:20:09 <leaksAlot> linux Ubuntu
04:20:12 <Axman6> how/whether memory is released back to the OS depends on the OS IIRC.
04:20:13 jedws joins (~jedws@101.184.202.248)
04:20:17 <glguy> the runtime system doesn't necessarily return the memory back to the OS just because it GCd it
04:20:42 <glguy> You'll need to use profiling tools that can see inside the Haskell heap to know if you have a leak
04:21:50 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
04:22:14 Narinas joins (~Narinas@189.223.179.61.dsl.dyn.telnor.net)
04:22:54 × darjeeling_ quits (~darjeelin@122.245.216.187) (Ping timeout: 272 seconds)
04:23:23 average joins (uid473595@gateway/web/irccloud.com/x-indydqfvltwedbgv)
04:23:29 cur8or joins (~cur8or@72canterbury.cybersmart.co.za)
04:23:38 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:24:51 <karasu1[m]> Regardless of what the actual value of map is, we know that at the end of everything, `(10, 'c')` will exist in the Map because we're inserting it now right? Even if `(10, 'c')` is already in the Map, re-inserting it won't change that, right? So to me it still seems okay to say that `(10, 'c')` is in the map...
04:25:16 <Axman6> _which_ map are we inserting into though?
04:25:22 <Axman6> there isn't one
04:25:55 <glguy> karasu1[m], it doesn't really matter if the key-value pair is "morally" in the map
04:26:04 <glguy> it's not recoverably in there
04:26:11 cur8or_ joins (~cur8or@196.41.98.130)
04:26:27 <karasu1[m]> glguy: What do you mean by "recoverably"?
04:26:29 <glguy> there's no Haskell Map in memory with it in there
04:26:47 <glguy> lik you can say "It sure feels like it should be considered in the map"
04:27:06 <glguy> but it's in no way in a map value
04:27:14 <glguy> that you can detect with Haskell code
04:28:05 <Axman6> karasu1[m]: I agree that ideally, if you wrote lookup 10 (insert 10 'c' anyMapAtAll) === Just 'c', but you cannot write an implementation for insert that is sufficiently lazy enough to be able to do that
04:28:08 × cur8or quits (~cur8or@72canterbury.cybersmart.co.za) (Ping timeout: 260 seconds)
04:28:35 <Axman6> (cannot may be a bit strong, it might actually be possible, but Data.Map's definition isn't lazy enough)
04:28:58 <glguy> Now if you instead used an unordered associative list, you could do it
04:29:09 <glguy> > let m = (10,'c') : m in lookup 10 m
04:29:11 <lambdabot> Just 'c'
04:29:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
04:29:25 <karasu1[m]> Axman6: Wait do 3 equal signs mean something?
04:30:14 <Axman6> type Map k v = k -> Maybe v; empty = \_k -> None; insert k v m = \k' -> if k == k' then Just v else mp k' -- this is a definiton for a map which can support those semantics, but is is also very inefficient
04:30:34 <Axman6> karasu1[m]: just roughly "equivalent to", it's more maths than haskell
04:31:35 <Axman6> uh, s/None/Nothing, soo much DAML
04:31:37 ezrakilty joins (~ezrakilty@97-113-55-149.tukw.qwest.net)
04:32:00 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:32:06 Rishi1302 joins (7c7b687a@124.123.104.122)
04:32:15 × Rishi1302 quits (7c7b687a@124.123.104.122) (Client Quit)
04:32:55 <karasu1[m]> OK, I guess it's more an implementation detail that we can have "online" lists, but only "offline" maps
04:34:07 × ezrakilty quits (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
04:36:02 ezrakilty joins (~ezrakilty@97-113-55-149.tukw.qwest.net)
04:38:22 <c_wraith> It's more of an implementation consequence than an implementation detail. a BST that allows arbitrary subsets of the keys with incremental inserts and removals? Yeah, that's going to need to force keys whenever it inserts a value
04:39:19 <c_wraith> A BST which doesn't allow incremental updates and has as keys every value in the type? That can be done lazily!
04:40:15 <karasu1[m]> What is an incremental insert
04:40:31 kw joins (d4662d5d@212.102.45.93)
04:40:46 <karasu1[m]> ?
04:40:52 <c_wraith> incremental (inserts and removals)
04:41:07 <c_wraith> that is, you can add and remove keys one at a time
04:41:34 <kw> How do I conditionally depend on a package if GHC (or base) is less than a certain version, in my project cabal file?
04:44:06 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
04:44:17 <c_wraith> use a conditional block in the cabal file that has an extra build-depends inside it
04:44:35 conal joins (~conal@64.71.133.70)
04:44:41 <karasu1[m]> c_wraith: Hmmm, what does printing `(10, 'c')` have to do with forcing keys though?
04:44:51 <karasu1[m]> We know `(10, 'c')` is in the map
04:46:00 <Axman6> karasu1[m]: if impl(ghc <= 8.4.0) build-depends: some-library
04:46:04 <Axman6> uh, kw
04:46:06 <c_wraith> kw: https://cabal.readthedocs.io/en/3.4/cabal-package.html#conditional-blocks
04:46:57 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
04:47:29 × leaksAlot quits (44af9113@68.175.145.19) (Quit: Connection closed)
04:47:50 h2017 joins (~h2017@bras-base-clbaon0201w-grc-32-142-114-145-140.dsl.bell.ca)
04:47:51 <h2017> hi
04:47:59 <Axman6> TIL ifs in cabal files can have else and elif clauses...
04:47:59 <kw> Axman: I was getting a parse error on something like that. Do I need the 'if' at the outer level?
04:48:07 <h2017> you know how a set and a list both have a singleton operation
04:48:21 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:48:26 <Axman6> I do know that
04:48:41 <h2017> for instance with a list you can do [x] and get the singleton list with only x and for a set you can do 'singleton x'. Is there a class which unifies sets and lists?
04:48:52 <Axman6> kw: https://cabal.readthedocs.io/en/3.4/cabal-package.html#meaning-of-field-values-when-using-conditionals
04:49:12 <c_wraith> karasu1[m]: you appear to be assuming a large degree of magic. GHC *doesn't know* that `insert 10 'c'` happens to make sure the created map has such a value. It only finds things out by evaluating expressions
04:49:19 <Axman6> it goes at the same level as fields like build-depends:
04:49:29 <kw> Ah, got it; thanks!
04:49:37 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 260 seconds)
04:49:42 <h2017> i know that sets and lists are both monoids (or i think they are but that's not the only way they are related. they also have singleton elements and subtraction so is there another class besides monoids?
04:50:10 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Quit: Leaving.)
04:51:12 <karasu1[m]> c_wraith: Well, only for maps, not for lists right? That has to do with how Haskell is implemented though (in your words: "implementation consequence")
04:51:56 × conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds)
04:52:34 <kw> You may want 'pointed'.
04:52:42 frozenErebus joins (~frozenEre@94.128.219.166)
04:52:49 <kw> Although that's been kind of morally deprecated.
04:53:00 <c_wraith> karasu1[m]: nothing to do with how Haskell is implemented. Just how the functions and data types work.
04:53:01 <karasu1[m]> I am willing to accept that Haskell behaves in a certain way, but you were talking in general terms though, in general about a BST
04:53:05 <kw> point :: a -> p a
04:53:39 <karasu1[m]> c_wraith: I don't see why GHC would be relevant then though...
04:54:33 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
04:54:45 × kw quits (d4662d5d@212.102.45.93) (Quit: Connection closed)
04:54:52 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
04:55:59 conal joins (~conal@64.71.133.70)
04:56:19 <ephemient> type Map k v = k -> Maybe v; empty _ = Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup k m = m k
04:56:25 <c_wraith> karasu1[m]: The relevant thing about GHC is that it's restricted by what you tell it to do. It cannot do magic.
04:56:26 <ephemient> let m = insert 10 'a' m in lookup 10 m
04:56:55 <ephemient> so ^^ that kind of "map" is sufficiently lazy for ^ that kind of operation
04:57:14 <karasu1[m]> It should be possible in theory, yeah
04:57:16 <c_wraith> at only the cost of being just as bad performance-wise as an association list
04:57:27 <karasu1[m]> The current GHC doesn't support this, and that I understand
04:57:35 <karasu1[m]> But I don't think it's fair to call it magic..
04:57:39 <c_wraith> it's not a GHC limitation, except in that GHC cannot do the impossible
04:58:57 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:59:21 <ephemient> the "working" map there is O(n) lookup and insert with no traverse. Data.Map provides O(log n) lookup/insert and O(n) traverse.
04:59:44 <ephemient> pick which one you want 🤷
05:00:02 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 264 seconds)
05:02:22 <karasu1[m]> Why is it impossible? For `m = Map.insert 10 'c' m`, we know that `(10, 'c')` will be in the map
05:02:34 <c_wraith> who is "we"?
05:02:38 <edwardk> linear types in haskell are fun, but still have some sharp edges. i can see how i could get drawn into playing with them a lot though
05:02:41 <c_wraith> you're assigning magic to GHC
05:02:46 <glguy> karasu1[m], what will you do with that knowledge?
05:02:52 <c_wraith> GHC can only evaluate code
05:03:10 <karasu1[m]> just like in `let ones = 1 : ones`, we know 1 is in the list
05:03:11 <karasu1[m]> me and you
05:03:14 <ephemient> even if GHC could perform magic, that would not follow the semantics of Haskell (and how Data.Map is implemented)
05:03:16 <glguy> karasu1[m], I know it's not
05:03:19 <glguy> you don't seem convinced yet
05:03:28 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
05:03:34 <ephemient> maybe this is clearer. the list is `let ones = (:) 1 ones`
05:03:50 <ephemient> but the Map.insert is a function which needs to destructure its input
05:04:01 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
05:04:38 <edwardk> > let ones = const ones 1 -- passes the same visual inspection, and remember 1 is actually fromInteger 1, so there's also a function in between you and that pure syntactic deduction
05:04:40 <lambdabot> <no location info>: error:
05:04:40 <lambdabot> not an expression: ‘let ones = const ones 1 -- passes the same visual in...
05:04:47 <edwardk> > let ones = const ones 1
05:04:49 <lambdabot> <no location info>: error:
05:04:49 <lambdabot> not an expression: ‘let ones = const ones 1’
05:04:52 <edwardk> > let ones = const ones 1 in ones
05:04:54 <lambdabot> *Exception: <<loop>>
05:05:09 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
05:05:32 Kaiepi joins (~Kaiepi@47.54.252.148)
05:06:05 <karasu1[m]> I think Axman mentioned earlier, but in an ideal world, `lookup 10 (insert 10 'c' anyMapAtAll) === Just 'c'` works
05:06:11 <karasu1[m]> Not in Haskell
05:06:19 <c_wraith> karasu1[m]: What does haskell have to do with it?
05:06:21 <ephemient> karasu1[m]: and not with any BST implementation
05:06:31 <ephemient> that is not a Haskell limitation
05:06:34 <karasu1[m]> Haskell doesn't have anything to do with it
05:06:35 <c_wraith> karasu1[m]: the issue is that you're using a BST that needs to support inserts
05:06:50 <karasu1[m]> right...
05:06:51 <ephemient> ok, in theory you could store a single-element cache or something like that
05:07:03 <karasu1[m]> oh yeah
05:07:09 <ephemient> but if you tried to make it more general you would lose the O(log n) nature of a BST
05:07:23 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:07:33 <c_wraith> karasu1[m]: this is just a consequence of the choices of what code to use. If the compiler tries to change things behind your back, it will break things.
05:08:13 <edwardk> data NotInt = NotInt; instance Eq NotInt where _== _ = False; instance Ord NotInt where compare _ _ = LT; instance Num NotInt where fromInteger _ = NotInt; lookup 10 (insert 10 'c' (Map.singleton 10 20 :: Map NotInt Int)) === Nothing
05:08:36 ixaxaar joins (~ixaxaar@49.207.197.94)
05:08:57 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
05:09:17 <edwardk> you could try to make a bunch of RULES to enforce your above reasoning, but they'll basically never fire in real code.
05:09:36 <ephemient> also rewrite rules that change semantics seem pretty evil
05:09:45 <glguy> karasu1[m], don't confuse the Map type from containers with an idealized notion of matching keys to values
05:10:41 <edwardk> and sorry, replace the Map NotInt Int with Map NotInt Char -- i forgot what you were inserting.
05:12:13 <edwardk> has anyone else been playing with the linear types stuff yet?
05:12:18 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
05:12:22 <karasu1[m]> We don't necessarily have to have a cache though..
05:12:25 <ephemient> so there is a data structure known as a splay tree in which the root is always the most recently accessed element
05:12:31 <karasu1[m]> Just print the elements as you see them
05:12:34 <karasu1[m]> Being inserted
05:12:43 <edwardk> ephemient: which works great. but not every _read_ needs to do tree mutation.
05:12:44 <ephemient> karasu1[m]: then you ruin the performance of delete
05:12:46 <edwardk> er now
05:12:58 <edwardk> so you have to stash it behind some kind of pointer based facade
05:13:10 <edwardk> or deal with threading the output tree through every call to read
05:13:13 <karasu1[m]> ephemient: I don't think so, because you still end up with a BST in the end
05:13:43 <ephemient> karasu1[m]: feel free to try to implement it in pure Haskell
05:13:43 <karasu1[m]> But you still have to do n inserts at the very very beginning
05:13:58 <karasu1[m]> When you do these n inserts, just print out the things being inserted
05:14:11 <karasu1[m]> idk
05:14:18 <ephemient> what if you do insert 'a' 2 (insert 'a' 1 empty)
05:14:51 jamm_ joins (~jamm@unaffiliated/jamm)
05:15:02 <karasu1[m]> yeeee
05:15:09 <karasu1[m]> I'm not a computer scientist...
05:15:10 <karasu1[m]> ur right
05:15:29 <karasu1[m]> what i said won't work
05:17:26 <edwardk> karasu1[m]: other things pop up with trying to track values inside of containers through control flow in the compiler. e.g. what happens when you insert it in one branch of an if but not another? etc. as you start to work it out once the language becomes non-trivial the rules you need to make up become larger and larger until they become impossible to write
05:17:42 darjeeling_ joins (~darjeelin@112.16.171.12)
05:18:54 × raym quits (~ray@45.64.220.142) (Quit: leaving)
05:19:22 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
05:20:21 × ixian quits (~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269) (Remote host closed the connection)
05:20:27 × stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds)
05:20:33 ixian joins (~mgold@terra.bitplane.org)
05:21:38 × dale quits (dale@unaffiliated/dale) (Ping timeout: 264 seconds)
05:21:45 nbloomf joins (~nbloomf@2600:1700:ad14:3020:b557:8110:d66d:2e47)
05:22:06 dale joins (dale@unaffiliated/dale)
05:22:47 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
05:23:39 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:24:27 × inkbottle quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
05:26:29 <karasu1[m]> Right
05:27:05 <karasu1[m]> `type Map k v = k -> Maybe v; empty _ = Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup k m = m k`
05:27:09 <karasu1[m]> https://paste.tomsmeding.com/LbYBrhQB
05:27:10 <c_wraith> I think they actually become flat-out impossible in a Turing-complete language
05:27:15 <karasu1[m]> Is ^ the right way to format it?
05:27:23 <karasu1[m]> I thought the `type` keyword was for type synonyms?
05:27:29 <karasu1[m]> But I don't understand it..
05:27:57 <c_wraith> no. lines 2-6 need to be brought back one indentation level
05:28:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:29:22 <c_wraith> Note that that representation is is basically an association list in disguise
05:29:58 <karasu1[m]> Why does insert have 4 arguments? `insert k v m k'`?
05:30:09 <karasu1[m]> I guess I don't understand k'
05:30:49 <c_wraith> there's nothing special about the letters
05:31:08 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds)
05:31:21 <dolio> Thinking about the types of them alal might help.
05:31:24 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:31:24 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
05:31:56 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 272 seconds)
05:32:48 <karasu1[m]> Would you use it like `insert 1 'a' m 2` or something?
05:32:49 × da39a3ee5e6b4b0d quits (~da39a3ee5@184.22.159.161) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:33:00 <c_wraith> not usually
05:33:01 <karasu1[m]> https://paste.tomsmeding.com/Zgv9KoJN
05:33:13 stree joins (~stree@68.36.8.116)
05:33:15 <karasu1[m]> reindented
05:33:20 <karasu1[m]> How would you use it?
05:33:39 <karasu1[m]> Because the usual insert only has 3 arguments
05:33:46 <karasu1[m]> Not sure what the last one is here for
05:34:29 <ephemient> because Map k v = k -> v
05:34:34 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
05:34:57 <ephemient> if it helps you to think of it as `insert k v m = \k' ->` then do so
05:35:51 <ephemient> (this sort of map-via-function-composition is one of the first exercises in every functional programming course)
05:39:14 aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
05:41:09 <karasu1[m]> Here, `Map` is a type constructor right?
05:41:25 <ephemient> no, Map is a type synonym
05:41:44 × cur8or_ quits (~cur8or@196.41.98.130) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:41:50 <karasu1[m]> For the type `k -> Maybe v`?
05:42:08 <karasu1[m]> I've never seen the type `k -> Maybe v` before, so I am confused
05:42:24 <c_wraith> It's not special
05:42:26 <ephemient> :t lookup
05:42:27 <lambdabot> Eq a => a -> [(a, b)] -> Maybe b
05:42:38 <ephemient> well, aside from the [] in the middle, it's exactly that type
05:42:49 <ephemient> :t flip lookup undefined -- :)
05:42:51 <lambdabot> Eq a => a -> Maybe b
05:44:19 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:45:45 × kupi quits (uid212005@gateway/web/irccloud.com/x-gizvaodpjkjnkrse) (Quit: Connection closed for inactivity)
05:46:32 Stanley|00 joins (~stanley00@unaffiliated/stanley00)
05:46:58 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
05:49:27 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
05:49:45 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
05:50:17 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 272 seconds)
05:52:02 × shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:b54e:a99d:8dc7:f0b) (Ping timeout: 260 seconds)
05:52:19 <karasu1[m]> I don't get it..
05:52:24 <karasu1[m]> How would you call insert?
05:53:18 <karasu1[m]> m = Map 1 (Maybe 5)
05:53:27 <karasu1[m]> insert 10 20 m
05:53:27 <karasu1[m]> ?
05:53:48 <monochrom> "m = Map 1 (Maybe 5)" sounds like confusing types with terms.
05:54:46 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 265 seconds)
05:54:47 <ephemient> m = insert 1 5 empty
05:55:01 <ephemient> or m 1 = Just 5; m _ = Nothing
05:55:32 <ephemient> that particular Map representation is (not secretly at all) just a function
05:57:49 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:b54e:a99d:8dc7:f0b)
05:58:52 <ephemient> > let nan = 0/0 in M.fromList [(nan, 1), (nan, 2)]
05:58:54 <lambdabot> fromList [(NaN,1),(NaN,2)]
05:59:16 <ephemient> > let nan = 0/0 in M.lookup nan (M.singleton nan 1)
05:59:18 <lambdabot> Nothing
05:59:45 <ephemient> don't put use IEEE 754 floats as keys
06:00:06 <monochrom> You have discovered a BST implementation of /dev/null :)
06:00:16 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:00:22 <karasu1[m]> thanks
06:00:28 <karasu1[m]> I will share with friends
06:00:55 <ephemient> something Rust does more correctly: floats are PartialOrd/PartialEq, not Ord/Eq
06:01:14 <ephemient> (but in practice it's a pain to deal with, so I dunno if it's practically worth the correctness)
06:01:37 <monochrom> idealists gonna be ideal
06:01:56 <dolio> NaN isn't the only reason not to put floating point numbers in a map.
06:02:14 <dolio> (As keys)
06:02:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
06:02:55 <ephemient> at least everything else is well ordered and won't break invariants
06:03:57 <dolio> Yeah, you'll only miss lookups because something rounded slightly differently.
06:05:00 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
06:05:12 × dsrt^ quits (james@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 260 seconds)
06:05:41 dsrt^ joins (~hph@ip98-184-89-2.mc.at.cox.net)
06:08:57 Batoeh joins (~user@152.208.55.30)
06:09:08 × dave_uy quits (~david@108.61.193.26) (Quit: The Lounge - https://thelounge.chat)
06:09:11 <karasu1[m]> Is this how you call insert: `insert 1 2 m 5`? And `m` is just some arbitrary function?
06:09:34 <ephemient> if you want a "Map" in return, leave off the final 5
06:09:35 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
06:10:16 <monochrom> Actually who brought up "type Map k v = k -> Maybe v" and why? I don't see how the audience is ready for it.
06:10:49 <ephemient> I did... didn't think it would be that far off the mark, sorry
06:11:06 toorevitimirp joins (~tooreviti@117.182.181.253)
06:11:13 <ephemient> > let empty = const Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup = flip in lookup 1 $ insert 1 2 empty
06:11:14 <lambdabot> error:
06:11:15 <lambdabot> • Could not deduce (Eq b0)
06:11:15 <lambdabot> from the context: (Eq b, Num b, Num a,
06:11:49 deviantfero joins (~deviantfe@190.150.27.58)
06:11:58 <ephemient> oh right monomorphism
06:12:01 <karasu1[m]> monochrom: I think I know all the concepts in that example, it's just that I'm probably not familiar enough with the concepts to understand them in an instant though
06:12:08 dave_uy joins (~david@108.61.193.26)
06:12:21 <ephemient> > let empty _ = Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup k m = m k in lookup 1 (insert 1 2 empty)
06:12:23 <lambdabot> Just 2
06:17:36 da39a3ee5e6b4b0d joins (~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net)
06:17:45 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:20:05 <monochrom> http://www-users.math.umn.edu/~rogness/math1001/syllabus/node20.html
06:20:19 <monochrom> "understanding everything in class but blanking out on the exams" is golden
06:20:35 × mirrorbird quits (~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) (Ping timeout: 272 seconds)
06:21:32 <monochrom> Accurately reflects what most people mean by "understand" if it means they can't do anything.
06:22:43 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
06:22:48 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
06:22:59 Narinas joins (~Narinas@189.223.179.61.dsl.dyn.telnor.net)
06:23:16 <karasu1[m]> :(
06:23:24 <karasu1[m]> This is like class for me though, so I am learning
06:23:42 <karasu1[m]> I've read through most of the first half of Learn yourself a haskell
06:23:54 <karasu1[m]> Want to go through the rest this weekend
06:24:09 <karasu1[m]> But yeah, I actually understand this thing now though
06:24:14 <karasu1[m]> I think anyway
06:24:19 <monochrom> That's what's wrong. Too fast.
06:24:23 × vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
06:25:02 <karasu1[m]> I don't claim that I will have understood all of it by this weekend
06:25:05 <dminuoso> Lately I've begun to realize, that only now am I growing deeply comfortable with many parts of Haskell. That's after 2 1/2 years of Haskell now. :)
06:25:11 <karasu1[m]> Nor that I understand the first half now, probably
06:25:26 <dminuoso> Much of understanding also comes from spaced repetition learning/practice
06:25:27 × da39a3ee5e6b4b0d quits (~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:25:54 <karasu1[m]> spaced repetition.... is this about flashcards..
06:26:28 <ephemient> anything that involves recall, not just flashcards
06:27:18 <dminuoso> karasu1[m]: https://youtu.be/Z8KcCU-p8QA?t=651
06:27:20 <karasu1[m]> I have seen people recommend flashcards for programming
06:27:27 <karasu1[m]> not sure how useful it actually would be
06:27:43 <dminuoso> flashcards seems useful for cramming before the exam, and then forgetting everything.
06:27:44 <dminuoso> :)
06:28:00 <dminuoso> For anything else, practice is what actually gains experience
06:28:05 <karasu1[m]> Well, only if you do them before the exam
06:28:05 <dminuoso> Repeated practice.
06:28:10 <karasu1[m]> What if you do it over a lifetime?
06:28:12 <karasu1[m]> Flashcard review?
06:28:25 Varis joins (~Tadas@unaffiliated/varis)
06:28:42 <dminuoso> There's a difference between recalling some piece of information, and understanding it so you can adapt it or synthesize it.
06:28:43 <karasu1[m]> Spaced repetition makes sure that you will see the cards you know well less often, and so you eventually see a card only like once every 5 years or something
06:28:58 × Mathnerd314 quits (uid442749@supertux/Mathnerd314) (Quit: Connection closed for inactivity)
06:29:04 <karasu1[m]> yea...
06:29:06 <karasu1[m]> iodk
06:29:09 <karasu1[m]> idk
06:29:12 <karasu1[m]> I'm bad at programming
06:29:48 <karasu1[m]> dminuoso: yes, I've seen all the lectures on Ebbinghaus' curve ...
06:30:44 <karasu1[m]> I was always too busy during class to actually make cards though
06:31:09 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 264 seconds)
06:33:28 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:33:47 × jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:34:49 frozenErebus joins (~frozenEre@94.128.219.166)
06:34:50 <monochrom> No, flash cards and a lot of other popular methods of learning are for a different kind of learning.
06:36:14 <monochrom> Suppose there is a course that goes through 300 years of visual arts, and the learning objective, as made clear by the exam, is that for every painting they show you, you can write down the artist, the era, the {renaissance, impressionist, modernist, abstractist, whatever} classification.
06:36:48 <monochrom> Then that kind of learning is where you use flash cards and all the other popular methods of learning that all those "experts" of learning are talking about.
06:36:54 × echoreply quits (~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1)
06:37:08 <monochrom> Clearly, programming is like the antipodal antithetical total opposite of that.
06:37:24 echoreply joins (~echoreply@unaffiliated/echoreply)
06:37:52 <karasu1[m]> I still think maths or programming can be adapted to it
06:37:55 ricardollu21 joins (43e6a188@67.230.161.136.16clouds.com)
06:37:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
06:37:59 <monochrom> No one is going to flash at you the name of the Java class AbstractArray and ask "quick, what are its methods?"
06:38:11 <monochrom> You are not an IDE.
06:38:14 <karasu1[m]> Prove this thing: $latex equation$
06:38:21 <karasu1[m]> Then the opposite side has the proof..
06:38:23 × Foritus quits (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 256 seconds)
06:38:40 <dminuoso> karasu1[m]: Math is not about memorizing proofs.
06:38:48 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:b557:8110:d66d:2e47) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:39:03 <dminuoso> Id say, one requirement for truly understanding a proof, is being able to synthesizse it.
06:39:07 <ephemient> don't flash cards for that.
06:39:29 da39a3ee5e6b4b0d joins (~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net)
06:39:47 <karasu1[m]> dminuoso: I never claimed math was about memorizing proofs.. When you see the front, you do the proof on your own. The back of the card would just be an example proof or something. You still learn the proof techniques
06:39:59 <ephemient> if you want to acquire by reading instead of doing (for some god forsaken reason), then at least read a proof technique in different contexts every time
06:40:10 <karasu1[m]> You forget proof techniques if you don't practice them, it's true..
06:40:18 ricardollu21 parts (43e6a188@67.230.161.136.16clouds.com) ()
06:40:24 <dminuoso> And a flashcard doesnt help you understand how to apply proof techniques.
06:40:36 <dminuoso> flashcards are just useful for memorizing associatinos
06:40:48 <dminuoso> Say, when you learn a new language, they can help with vocabulary in the beginning
06:40:51 <dminuoso> But they only help so far
06:40:52 <ephemient> math is not about exact recall (unless you are a calculator)
06:41:03 <karasu1[m]> If you see this math problem, what approaches can you take? the back of the card might have those approaches..
06:41:08 <monochrom> Now, if you were the author of all those proofs on your flashcards, that's different...
06:41:39 <ephemient> that's not something to be memorized either
06:41:40 ddellacosta joins (~ddellacos@86.106.143.202)
06:41:49 cur8or joins (~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669)
06:42:15 <monochrom> I need to tell you a great scene in a Kung Fu novel in Hong Kong.
06:42:31 Foritus joins (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
06:42:53 × ezrakilty quits (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
06:43:01 <ephemient> you need to get good at pattern recognition to decide which techniques to use. that comes from seeing it in use in a variety of different ways, not seeing the same problem again and again
06:43:21 <dminuoso> Oh, martial arts is an interesting piece. Id argue that flashcards helps becoming a proficient programmer just as much as flashcards help you become a proficient fighter..
06:43:31 <dminuoso> .. namely not at all
06:43:31 <monochrom> A great master is heavily injured (long story), and some villains are taking advantage of this by challenging him to a duel right at this unfortunate time.
06:44:28 <monochrom> Fortunately the son of the master's late student is around and offers to be a substitute.
06:45:37 <monochrom> The great master says "thanks but you need to learn my latest invention or else you won't stand a chance in this case, my opponent is world class with swords"
06:46:18 × ddellacosta quits (~ddellacos@86.106.143.202) (Ping timeout: 246 seconds)
06:46:29 <monochrom> So the great master taught his new sword moves to the young man on the spot. Then asks, "OK, done, how much can you remember?" Answer: "about 70%"
06:47:30 <monochrom> Great master says "yeah it's tough, let me show you again". After showing again (actually this time looks pretty different from the first time, hint hint), the great master asks, "so how much do you remember now?" "30%"
06:48:29 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:48:33 <monochrom> "Good, I guess I just need to show one more time." And after, "how much now?" "Yeah I've pretty much forgotten it all." "Great! Now you're ready."
06:51:09 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
06:51:56 <monochrom> Thanks dminuoso for the video link by the way, I think I'm interested too.
06:53:44 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
06:53:59 <karasu1[m]> monochrom: what do you want to memorize with spaced repetition btw
06:54:34 <monochrom> My passwords?
06:58:17 <h2017> how do i express -1 other than 0-1?
06:58:26 <karasu1[m]> (-1)
06:59:12 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:00:32 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
07:02:13 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
07:04:20 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
07:04:30 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
07:05:06 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:07:03 <karasu1[m]> So `(insert 1 2 empty)` and `empty` are of type `k -> Maybe v`, and you can keep applying insert key value on `(insert 1 2 empty)` to get more things of type `k -> Maybe v`
07:07:06 <karasu1[m]> Looks like cons
07:07:07 <karasu1[m]> yay
07:07:23 jchia1 joins (~jchia@58.41.30.202)
07:08:05 × jchia quits (~jchia@218.80.123.13) (Ping timeout: 272 seconds)
07:08:50 × kam1 quits (~kam1@83.123.64.17) (Ping timeout: 272 seconds)
07:09:33 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
07:09:34 tsaka__ joins (~torstein@184.170.253.92)
07:10:04 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
07:10:04 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
07:10:45 × theDon quits (~td@muedsl-82-207-238-210.citykom.de) (Ping timeout: 264 seconds)
07:10:51 × todda7 quits (~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2) (Ping timeout: 265 seconds)
07:12:42 todda7 joins (~torstein@athedsl-258913.home.otenet.gr)
07:13:01 × tsaka__ quits (~torstein@184.170.253.92) (Read error: Connection reset by peer)
07:14:14 ddellacosta joins (~ddellacos@86.106.143.137)
07:14:53 × h2017 quits (~h2017@bras-base-clbaon0201w-grc-32-142-114-145-140.dsl.bell.ca) (Quit: Leaving)
07:15:32 <karasu1[m]> ephemient: (Yes, even this might just be an introductory course thing, it was slightly hard.. I tried..)
07:15:55 ephemera_ joins (~E@122.34.1.187)
07:16:13 samt joins (~user@2600:8802:5f82:c00:3a39:4554:a259:febd)
07:16:58 × samt quits (~user@2600:8802:5f82:c00:3a39:4554:a259:febd) (Client Quit)
07:18:58 × ddellacosta quits (~ddellacos@86.106.143.137) (Ping timeout: 272 seconds)
07:19:05 × todda7 quits (~torstein@athedsl-258913.home.otenet.gr) (Ping timeout: 240 seconds)
07:19:10 tsaka__ joins (~torstein@152.89.163.92)
07:19:22 <ephemient> karasu1[m]: this or a similar exercises are usually intended to get students accustomed to treating functions like any other data
07:19:31 <ephemient> if you understand it, try implementing `delete`?
07:20:50 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
07:21:04 Narinas joins (~Narinas@189.223.179.61.dsl.dyn.telnor.net)
07:21:09 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:25:09 solarliner joins (~solarline@243.81.10.109.rev.sfr.net)
07:25:28 × guest218 quits (~user@49.5.6.87) (Ping timeout: 260 seconds)
07:26:34 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
07:28:56 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 240 seconds)
07:29:51 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:31:44 × samebchase- quits (~samebchas@51.15.68.182) (Quit: The Lounge - https://thelounge.chat)
07:32:24 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
07:33:24 × ephemera_ quits (~E@122.34.1.187) (Ping timeout: 260 seconds)
07:35:38 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 268 seconds)
07:36:23 samebchase- joins (~samebchas@51.15.68.182)
07:37:47 × solarliner quits (~solarline@243.81.10.109.rev.sfr.net) (Quit: solarliner)
07:38:05 solarliner joins (~solarline@243.81.10.109.rev.sfr.net)
07:39:51 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:41:20 × stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds)
07:42:24 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:44:58 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
07:46:47 vilpan joins (~0@212.117.1.172)
07:47:42 ddellacosta joins (~ddellacos@86.106.143.137)
07:48:21 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
07:48:21 carlomagno joins (~cararell@148.87.23.5)
07:48:33 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:48:56 × lambda-11235 quits (~lambda-11@2600:1700:7c70:4600::3f) (Quit: Bye)
07:48:56 vilpan1 joins (~0@212.117.1.172)
07:49:09 × carlomagno1 quits (~cararell@148.87.23.5) (Ping timeout: 264 seconds)
07:50:06 vilpan is now known as Guest55348
07:50:06 × Guest55348 quits (~0@212.117.1.172) (Killed (card.freenode.net (Nickname regained by services)))
07:50:06 vilpan1 is now known as vilpan
07:50:29 deviantfero joins (~deviantfe@190.150.27.58)
07:52:05 × ddellacosta quits (~ddellacos@86.106.143.137) (Ping timeout: 240 seconds)
07:52:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
07:53:57 × dsrt^ quits (~hph@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 264 seconds)
07:54:04 stree joins (~stree@68.36.8.116)
07:54:15 dsrt^ joins (~hph@ip98-184-89-2.mc.at.cox.net)
07:55:17 _noblegas joins (uid91066@gateway/web/irccloud.com/x-xdmmzoyxnafrholm)
07:55:36 × Narinas quits (~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Ping timeout: 240 seconds)
07:56:33 Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
07:56:41 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:58:10 desophos joins (~desophos@2601:249:1680:a570:dc9b:7a29:1314:79e3)
07:58:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:59:26 × xff0x quits (~xff0x@2001:1a81:524a:900:8508:6695:e4ef:a19a) (Ping timeout: 264 seconds)
07:59:31 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
07:59:34 × deviantfero quits (~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
07:59:39 MVQq joins (~anja@198.254.199.42)
08:00:24 idhugo_ joins (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net)
08:00:27 xff0x joins (~xff0x@2001:1a81:524a:900:9d0e:be3:c9ba:ea74)
08:00:48 Yumasi joins (~guillaume@2a01:e0a:5cb:4430:cd02:9531:2c88:7cb8)
08:00:59 ezrakilty joins (~ezrakilty@97-113-55-149.tukw.qwest.net)
08:01:24 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
08:02:51 × MarcelineVQ quits (~anja@198.254.199.42) (Ping timeout: 265 seconds)
08:03:28 idhugo__ joins (~idhugo@80-62-117-86-mobile.dk.customer.tdc.net)
08:04:51 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
08:05:11 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
08:05:36 × idhugo_ quits (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
08:07:05 × ezrakilty quits (~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 272 seconds)
08:08:57 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 264 seconds)
08:09:57 LKoen joins (~LKoen@161.169.9.109.rev.sfr.net)
08:11:41 × da39a3ee5e6b4b0d quits (~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:12:11 × howdoi quits (uid224@gateway/web/irccloud.com/x-uylrwcqhbpwwjwcj) (Quit: Connection closed for inactivity)
08:12:34 × jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-vwlxxkpcyibvowcv) (*.net *.split)
08:12:34 × cnmne[m] quits (cnmnematri@gateway/shell/matrix.org/x-cqpmffclgopdmgey) (*.net *.split)
08:12:34 × shutendoji[m] quits (shutendoji@gateway/shell/matrix.org/x-wmhrztbchxgcolui) (*.net *.split)
08:12:34 × sramsay64[m] quits (sramsay64p@gateway/shell/matrix.org/x-wbfpnfqmourfuzvb) (*.net *.split)
08:12:34 × mjlbach quits (atriusmatr@gateway/shell/matrix.org/x-eenifibziaybhutm) (*.net *.split)
08:12:35 × psydruid quits (psydruidma@gateway/shell/matrix.org/x-eqegzakvyvcpandg) (*.net *.split)
08:12:35 × srid quits (sridmatrix@gateway/shell/matrix.org/x-vtsgpsddyszhedhf) (*.net *.split)
08:12:35 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-rqbuvxnpapgazcgr) (*.net *.split)
08:12:36 × l8star_ quits (~l8star@business-90-187-113-149.pool2.vodafone-ip.de) (*.net *.split)
08:12:36 × arw quits (~arw@impulse.informatik.uni-erlangen.de) (*.net *.split)
08:12:36 × sqrt2 quits (~ben@unaffiliated/sqrt2) (*.net *.split)
08:12:36 × Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
08:12:39 × carldd11 quits (~carldd@90-224-49-113-no56.tbcn.telia.com) (*.net *.split)
08:12:39 × lortabac quits (~lortabac@51.158.65.124) (*.net *.split)
08:12:39 × hackage quits (mniip@haskell/bot/hackage) (*.net *.split)
08:12:39 × shadowdaemon quits (~user@unaffiliated/shadowdaemon) (*.net *.split)
08:12:39 × a3f quits (~a3f@chimeria.ext.pengutronix.de) (*.net *.split)
08:12:39 × energizer quits (~energizer@unaffiliated/energizer) (*.net *.split)
08:12:39 × shapr quits (~shapr@haskell/developer/shapr) (*.net *.split)
08:12:39 × vimto quits (~vimto@unaffiliated/vimto) (*.net *.split)
08:13:19 × cur8or quits (~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669) (Ping timeout: 272 seconds)
08:14:22 energizer joins (~energizer@unaffiliated/energizer)
08:14:36 <theodorc> does anyone have a good resource on learning parsing in Haskell? was trying to find something with Parsec, but most seems heavily outdated
08:15:03 <dibblego> https://github.com/system-f/fp-course/blob/master/src/Course/Parser.hs
08:15:25 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:15:29 kritzefitz joins (~kritzefit@fw-front.credativ.com)
08:15:59 <theodorc> dibblego: nice, I'll have a look
08:16:12 <Franciman> there is also the tutorial of megaparsec, as a second step
08:16:30 <Franciman> https://markkarpov.com/tutorial/megaparsec.html
08:16:38 <Franciman> but as a second step
08:16:51 <Franciman> it is mostly going to explain the library with examples
08:17:01 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
08:17:26 <theodorc> hmm, okay. does megaparsec fill a different role than parsec?
08:19:06 Graf_Blutwurst joins (~grafblutw@2001:171b:226e:adc0:2859:879f:5078:4289)
08:19:08 <Uniaika> no, it fills parsec's role
08:19:14 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
08:19:15 <[exa]> not much, it's just newer, better, faster, and has nicer errors
08:19:22 <theodorc> ah nice
08:20:26 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
08:21:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
08:23:05 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-vwlxxkpcyibvowcv)
08:23:05 cnmne[m] joins (cnmnematri@gateway/shell/matrix.org/x-cqpmffclgopdmgey)
08:23:05 shutendoji[m] joins (shutendoji@gateway/shell/matrix.org/x-wmhrztbchxgcolui)
08:23:05 mjlbach joins (atriusmatr@gateway/shell/matrix.org/x-eenifibziaybhutm)
08:23:05 sramsay64[m] joins (sramsay64p@gateway/shell/matrix.org/x-wbfpnfqmourfuzvb)
08:23:05 srid joins (sridmatrix@gateway/shell/matrix.org/x-vtsgpsddyszhedhf)
08:23:05 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-rqbuvxnpapgazcgr)
08:23:05 l8star_ joins (~l8star@business-90-187-113-149.pool2.vodafone-ip.de)
08:23:05 arw joins (~arw@impulse.informatik.uni-erlangen.de)
08:23:05 sqrt2 joins (~ben@unaffiliated/sqrt2)
08:23:05 Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
08:23:05 carldd11 joins (~carldd@90-224-49-113-no56.tbcn.telia.com)
08:23:05 lortabac joins (~lortabac@51.158.65.124)
08:23:05 hackage joins (mniip@haskell/bot/hackage)
08:23:05 shadowdaemon joins (~user@unaffiliated/shadowdaemon)
08:23:05 a3f joins (~a3f@chimeria.ext.pengutronix.de)
08:23:05 shapr joins (~shapr@haskell/developer/shapr)
08:23:05 vimto joins (~vimto@unaffiliated/vimto)
08:23:05 <desophos> hi all, i'm trying to generate functions with quickcheck that satisfy certain predicates. the problem is, my tests never finish because it takes a long time to satisfy these constraints. is there a better way than using `suchThat`? this is what i have (slightly simplified): https://paste.tomsmeding.com/7XxnvbZX
08:23:42 <[exa]> theodorc: anyway, the best way to get a catch of monadic parsing is, as usual, to reimplement it. Which is not very hard if you know how to implement monad interfaces for State and Maybe, and explains the problem nicely
08:23:50 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
08:24:21 cur8or joins (~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669)
08:25:04 <[exa]> desophos: you probably need a more smart (ie. more directed) way to generate the Arbitrary values that would match the predicate. What about wrapping it in a newtype and making a custom one?
08:25:54 × simara[m] quits (simaramatr@gateway/shell/matrix.org/x-dpiglvfizaoaoeki) (Ping timeout: 246 seconds)
08:25:56 × Hanma[m] quits (hanmamatri@gateway/shell/matrix.org/x-tmzabyrwafnnfzkx) (Ping timeout: 240 seconds)
08:25:56 × pineapples[m] quits (pineapples@gateway/shell/matrix.org/x-pbxgbqdlizpfukkk) (Ping timeout: 240 seconds)
08:25:56 × plumenator[m] quits (plumenator@gateway/shell/matrix.org/x-sawgbtppavskcshn) (Ping timeout: 240 seconds)
08:25:58 × noIOBeforeBedtim quits (dissatisfi@gateway/shell/matrix.org/x-nbankxgtuymsnayq) (Ping timeout: 240 seconds)
08:25:58 × maralorn quits (maralornma@gateway/shell/matrix.org/x-tmomloqgbbriwcoj) (Ping timeout: 240 seconds)
08:25:58 × itai33[m] quits (itai33matr@gateway/shell/matrix.org/x-rqukmknlgnoszibu) (Ping timeout: 240 seconds)
08:25:59 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-auaqmilwknttqznk) (Ping timeout: 240 seconds)
08:25:59 × brightly-salty[m quits (brightly-s@gateway/shell/matrix.org/x-ogwkrrrpdfbhchfv) (Ping timeout: 240 seconds)
08:25:59 × toasty_avocado[m quits (toastyavoc@gateway/shell/matrix.org/x-jsdrvxcyrwbavsoz) (Ping timeout: 240 seconds)
08:25:59 × fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-nyrvltrxkwragnay) (Ping timeout: 240 seconds)
08:26:14 × a-tsioh[m] quits (a-tsiohmat@gateway/shell/matrix.org/x-lhnuiggshvkhptok) (Ping timeout: 250 seconds)
08:26:15 × utdemir[m] quits (utdemirmat@gateway/shell/matrix.org/x-hfhhsjmkraluezli) (Ping timeout: 246 seconds)
08:26:15 × CrabMan quits (phi-matrix@gateway/shell/matrix.org/x-ytslldxsctkpondd) (Ping timeout: 246 seconds)
08:26:15 × VarikValefor[m] quits (varikvalef@gateway/shell/matrix.org/x-laqejjsodhjpaqts) (Ping timeout: 246 seconds)
08:26:15 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-loevvexwawrvgdrg) (Ping timeout: 246 seconds)
08:26:15 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-yfkasbhmcoifngqq) (Ping timeout: 246 seconds)
08:26:16 × jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-vwlxxkpcyibvowcv) (Ping timeout: 258 seconds)
08:26:16 × lierdakil[m] quits (lierdakilm@gateway/shell/matrix.org/x-jragluuzcyyumqfd) (Ping timeout: 246 seconds)
08:26:16 × jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-frnxfhlohoyekbwg) (Ping timeout: 246 seconds)
08:26:16 × freeman42x[m] quits (freeman42x@gateway/shell/matrix.org/x-shzwgjbmsvbxgqnr) (Ping timeout: 265 seconds)
08:26:16 × MrMuffles[m] quits (mrmufflesm@gateway/shell/matrix.org/x-nvvkiaoxkwfytpng) (Ping timeout: 246 seconds)
08:26:16 × Sarievo[m] quits (sarievoale@gateway/shell/matrix.org/x-pwrotwpxvjvpdpkd) (Ping timeout: 246 seconds)
08:26:16 × xosdy[m] quits (xosdyaleth@gateway/shell/matrix.org/x-wfyxgeefwkppaswz) (Ping timeout: 246 seconds)
08:26:16 × speakerspivakeem quits (speakerdea@gateway/shell/matrix.org/x-srvgxrpuiwxcvfbs) (Ping timeout: 250 seconds)
08:26:17 × ThaEwat quits (thaewraptm@gateway/shell/matrix.org/x-gqbfdervbweouswn) (Ping timeout: 246 seconds)
08:26:17 × metamod[m] quits (metamodmat@gateway/shell/matrix.org/x-vzynctnyewpdgxvs) (Ping timeout: 246 seconds)
08:26:17 × the_1_[m] quits (the1matrix@gateway/shell/matrix.org/x-moxypmdsinndazos) (Ping timeout: 246 seconds)
08:26:17 × cnmne[m] quits (cnmnematri@gateway/shell/matrix.org/x-cqpmffclgopdmgey) (Ping timeout: 258 seconds)
08:26:18 × jerin quits (jerinmatri@gateway/shell/matrix.org/x-ylhmfqomuosfeoaw) (Ping timeout: 246 seconds)
08:26:18 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-nymmjfnvllvxwfqr) (Ping timeout: 246 seconds)
08:26:18 × shutendoji[m] quits (shutendoji@gateway/shell/matrix.org/x-wmhrztbchxgcolui) (Ping timeout: 258 seconds)
08:26:18 × sramsay64[m] quits (sramsay64p@gateway/shell/matrix.org/x-wbfpnfqmourfuzvb) (Ping timeout: 258 seconds)
08:26:18 × mjlbach quits (atriusmatr@gateway/shell/matrix.org/x-eenifibziaybhutm) (Ping timeout: 258 seconds)
08:26:18 × srid quits (sridmatrix@gateway/shell/matrix.org/x-vtsgpsddyszhedhf) (Ping timeout: 258 seconds)
08:26:19 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-rqbuvxnpapgazcgr) (Ping timeout: 258 seconds)
08:26:19 × alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-seqxxonqpblolqvr) (Ping timeout: 250 seconds)
08:26:19 × karasu1[m] quits (karasu1mat@gateway/shell/matrix.org/x-dxpaeclqknizkxjp) (Ping timeout: 244 seconds)
08:26:19 × LiyangHU[m] quits (liyangmatr@gateway/shell/matrix.org/x-wjibgicklbnudzgx) (Ping timeout: 244 seconds)
08:26:19 × tomsen[m] quits (tfbiomatri@gateway/shell/matrix.org/x-sozstiiohetohvrq) (Ping timeout: 250 seconds)
08:26:20 × lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-xwijzmlhgodfxcjx) (Ping timeout: 244 seconds)
08:26:20 × lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-ckvboxgaoawzziqk) (Ping timeout: 244 seconds)
08:26:20 × Ericson2314 quits (ericson231@gateway/shell/matrix.org/x-fjhufgrqaqhtaxed) (Ping timeout: 244 seconds)
08:26:20 × domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Ping timeout: 244 seconds)
08:26:20 × Poscat[m] quits (poscatmatr@gateway/shell/matrix.org/x-fsrmkdzekzkdruuq) (Ping timeout: 244 seconds)
08:26:20 × betrion[m] quits (betrionmat@gateway/shell/matrix.org/x-zledhzftbqxbmtzo) (Ping timeout: 244 seconds)
08:26:20 × mly[m] quits (mlydisenco@gateway/shell/matrix.org/x-ohooifqyweouveqt) (Ping timeout: 244 seconds)
08:26:20 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-iiahatrfatekpzrd) (Ping timeout: 244 seconds)
08:26:20 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-cyztrviuhmmktqic) (Ping timeout: 244 seconds)
08:26:20 × immae quits (immaematri@gateway/shell/matrix.org/x-tiyhvfpvhmkhqczt) (Ping timeout: 244 seconds)
08:26:20 × hsiktas[m] quits (hsiktasmat@gateway/shell/matrix.org/x-wbelyhbgwurqffuc) (Ping timeout: 244 seconds)
08:26:20 × bram[m]1 quits (bramvdbnet@gateway/shell/matrix.org/x-fkfotlqohjxqrpqf) (Ping timeout: 244 seconds)
08:26:20 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-mcdfzotmprrhasmv) (Ping timeout: 244 seconds)
08:26:21 × bsima[m] quits (bensimatim@gateway/shell/matrix.org/x-hrylwecnstvvvksb) (Ping timeout: 250 seconds)
08:26:21 × my_name_is_not_j quits (mynameisno@gateway/shell/matrix.org/x-zguuuksgwkokevfv) (Ping timeout: 250 seconds)
08:26:22 × shieru[m] quits (shierualet@gateway/shell/matrix.org/x-ppfbmqgusattewll) (Ping timeout: 250 seconds)
08:26:22 × maerwald[m] quits (maerwaldma@gateway/shell/matrix.org/x-pqxjsckcyvduxkeg) (Ping timeout: 250 seconds)
08:26:23 × clog quits (~nef@bespin.org) (Ping timeout: 266 seconds)
08:26:40 × Robin[m]2 quits (robinrobin@gateway/shell/matrix.org/x-vxihtgxkxfbpdtry) (Ping timeout: 268 seconds)
08:26:40 × doct0rhu[m] quits (doct0rhumo@gateway/shell/matrix.org/x-sclmrpjhhzjosvzp) (Ping timeout: 268 seconds)
08:26:40 × enya[m] quits (enyaismatr@gateway/shell/matrix.org/x-ihbcsvhqkfucgetd) (Ping timeout: 268 seconds)
08:26:40 × ManofLetters[m] quits (manoflette@gateway/shell/matrix.org/x-tgatyselkdbxouxj) (Ping timeout: 268 seconds)
08:26:40 × sigmacool[m] quits (sigmacoolm@gateway/shell/matrix.org/x-sghdhyptjdyxumft) (Ping timeout: 268 seconds)
08:26:40 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-ucrbucgjroxpbmok) (Ping timeout: 268 seconds)
08:26:40 × bitonic quits (bitonicmat@gateway/shell/matrix.org/x-wjlfbbspwkryfgxx) (Ping timeout: 268 seconds)
08:26:40 × acdsystemliorg[m quits (acdsysteml@gateway/shell/matrix.org/x-wfegzhihubatvjpf) (Ping timeout: 268 seconds)
08:26:41 × kadoban quits (kadobanmat@gateway/shell/matrix.org/x-ziuxsvdorxeyczas) (Ping timeout: 268 seconds)
08:26:41 × boistordu quits (boistordum@gateway/shell/matrix.org/x-otudrurwyfjhjyeh) (Ping timeout: 268 seconds)
08:26:41 × phittacus quits (bklmatrixo@gateway/shell/matrix.org/x-lanwneymsjhdrcen) (Ping timeout: 268 seconds)
08:26:41 × oreoking[m]1 quits (oreokingma@gateway/shell/matrix.org/x-tvnlyuxdpmlmalqg) (Ping timeout: 268 seconds)
08:26:45 × adziahel[m] quits (adziahelma@gateway/shell/matrix.org/x-xnqshjsupqrmvjsv) (Ping timeout: 265 seconds)
08:26:45 × jchia[m] quits (jchiamatri@gateway/shell/matrix.org/x-klhmsevvpixoygjy) (Ping timeout: 265 seconds)
08:26:45 × CaptainYukinoshi quits (captain-yu@gateway/shell/matrix.org/x-zgsljekcnmdbgdja) (Ping timeout: 265 seconds)
08:26:46 × Lurkki[m] quits (lurkkipriv@gateway/shell/matrix.org/x-bixvkjbjhrxyydct) (Ping timeout: 265 seconds)
08:26:46 × Lurkki[m]1 quits (lurkkifene@gateway/shell/matrix.org/x-trvaivugkujrhhgm) (Ping timeout: 265 seconds)
08:26:46 × alar[m] quits (alarmxalat@gateway/shell/matrix.org/x-whjgkcidqiurbmwg) (Ping timeout: 265 seconds)
08:26:46 × mentaal[m] quits (mentaalmat@gateway/shell/matrix.org/x-hdydkatctozoytqd) (Ping timeout: 265 seconds)
08:26:46 × pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-kvhdjifblcqkspll) (Ping timeout: 265 seconds)
08:26:46 × themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-uexozkqkrcwbgkmf) (Ping timeout: 265 seconds)
08:26:46 × darkcodi[m] quits (darkcodima@gateway/shell/matrix.org/x-zlzhwmyopqkwjlgv) (Ping timeout: 265 seconds)
08:26:46 × DamienCassou quits (damiencass@gateway/shell/matrix.org/x-mpwgbnhhpekiayhc) (Ping timeout: 265 seconds)
08:26:46 × psamim quits (samimpmatr@gateway/shell/matrix.org/x-xqjbkjnbgtsutvol) (Ping timeout: 265 seconds)
08:27:22 <desophos> yeah, i thought about doing that; since the function is just `[Int] -> [Int]`, i think it would work
08:27:52 <tomsmeding> [exa]: I was under the (perhaps mistaken) impression that megaparsec was newer, cooler, and had better errors, but was not necessarily _faster_; is my prejudice wrong?
08:27:54 × berberman[T] quits (berberma4@gateway/shell/matrix.org/x-rrcwrxkytccoohwj) (Ping timeout: 268 seconds)
08:28:09 × k1ltzman quits (~k1ltzman@195.189.99.96) (Ping timeout: 246 seconds)
08:28:15 <desophos> but if it were generic, i guess i wouldn't be able to set such specific constraints in the first place (specifically (>))
08:28:40 × unclechu quits (unclechuma@gateway/shell/matrix.org/x-xsnocjcholzecfzm) (Ping timeout: 265 seconds)
08:29:00 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
08:30:04 <desophos> (it could be `Ord a => [a] -> [a]` or whatever, but i mean in general)
08:30:34 <theodorc> [exa]: yeah, I should probably try that first to get the hang of it
08:31:04 kiltzman joins (~k1ltzman@195.189.99.96)
08:31:32 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:32:48 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
08:32:51 <[exa]> desophos: it's pretty hard to generate arbitrary values for arbitrary types :]
08:33:43 ephemera_ joins (~E@122.34.1.187)
08:34:46 <[exa]> theodorc: there are simple code snippets that generate the intuition pretty quickly; say a parser for stuff in parentheses: `parenthesized p = do { char '('; res <- p ; char ')'; return res ; }`
08:35:06 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
08:35:51 <[exa]> theodorc: and you use that to parse either "(a)" or "b" using `parenthesizes (char 'a') <|> char 'b'`
08:35:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
08:36:18 <[exa]> tomsmeding: the website said so, will check :D
08:37:26 <desophos> [exa], that's fair! thanks for the nudge in the right direction
08:37:44 <[exa]> tomsmeding: https://github.com/mrkkrp/megaparsec#megaparsec-vs-parsec below there
08:37:57 cfricke joins (~cfricke@unaffiliated/cfricke)
08:38:14 <tomsmeding> yeah I just found it too
08:38:29 <tomsmeding> maybe I should learn megaparsec then! :)
08:41:54 × ephemera_ quits (~E@122.34.1.187) (Read error: Connection reset by peer)
08:42:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52) (Remote host closed the connection)
08:43:11 acidjnk_new2 joins (~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de)
08:43:20 borne joins (~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de)
08:43:38 <[exa]> tomsmeding: well if you are migrating from parsec, the hardest part is likely to get the imports right :D
08:44:08 <tomsmeding> and know that 'string' now has an implicit 'try', I believe
08:45:36 <[exa]> isn't that attoparsec?
08:46:31 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
08:47:22 <tomsmeding> [exa]: see the last line in the docs of 'tokens': https://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec.html#v:tokens
08:47:40 × LKoen quits (~LKoen@161.169.9.109.rev.sfr.net) (Remote host closed the connection)
08:48:03 <[exa]> ok wow, that explains a few things.
08:48:09 <tomsmeding> :')
08:48:48 <tomsmeding> I see that attoparsec does the same thing as you said
08:48:50 × cur8or quits (~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669) (Quit: Textual IRC Client: www.textualapp.com)
08:50:56 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 240 seconds)
08:51:49 ddellacosta joins (~ddellacos@86.106.143.59)
08:52:41 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
08:52:49 chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de)
08:53:25 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
08:53:36 cfricke joins (~cfricke@unaffiliated/cfricke)
08:54:10 pera joins (~pera@unaffiliated/pera)
08:56:04 × ddellacosta quits (~ddellacos@86.106.143.59) (Ping timeout: 240 seconds)
08:56:27 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
08:57:40 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:58:25 <edwardk> i'm experimenting with a little toy using backpack. https://github.com/ekmett/unlifted -- the idea is to build one library that exports a bunch of representations Int8Rep, etc. another which defines modules for each representation that offers classes for manipulating the, e.g. IntRep.Classes should let me write Num Int#, but i'm running headlong into what i _think_ is a backpack bug.
08:58:53 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
08:59:17 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
08:59:18 <edwardk> i'm mostly exploring this as a preamble to 9.2 getting unlifted data types, so i'd want to write a lot of code in TYPE (BoxedRep 'Lifted) and TYPE (BoxedRep 'Unlifted) both.
09:00:04 × Graf_Blutwurst quits (~grafblutw@2001:171b:226e:adc0:2859:879f:5078:4289) (Ping timeout: 240 seconds)
09:00:18 <edwardk> if this doesn't work my fallback is to use a crapload of CPP, but that precludes users using the background package themselves to offer support for their own data types build out of unboxed tuples and the like
09:00:27 Graf_Blutwurst joins (~grafblutw@adsl-178-38-234-220.adslplus.ch)
09:00:49 <edwardk> i was wondering if someone else could check that code out and try to run it on ghc 9 and see if they can see the problem.
09:01:50 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:d30e:d5f0:fb8d:e928) (Ping timeout: 264 seconds)
09:01:54 <Uniaika> edwardk: yeah sure I can do that
09:02:24 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
09:02:30 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
09:02:58 <edwardk> the little test.hs shows it works in one source file. that ghc can see through the obvious type synonym, but when it goes through backpack it can't figure it out
09:02:59 <Uniaika> edwardk: https://paste.tomsmeding.com/zcXbo0iZ
09:03:09 <edwardk> yeah that's the issue
09:03:21 <edwardk> trying to figure out if it is backpack or just something i'm doing wrong.
09:04:06 <Uniaika> edwardk: moreover, the test.hs explodes with ghc 9 because you haven't given a fixity for /
09:04:13 <merijn> \o/
09:04:20 <merijn> NoFieldSelectors has merged!
09:04:40 <merijn> I can't wait for the glorious day of 9.2 release :>
09:05:14 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
09:05:34 Uniaika is waiting for RecordDotSyntax and MutableFields
09:07:18 <merijn> RecordDotSyntax is a mistake, imo
09:07:24 <merijn> It just makes everything *worse*
09:07:55 <merijn> It requires a whole bunch of super contrived special cases in syntax, funky parse rules, etc.
09:07:56 × drbean quits (~drbean@TC210-63-209-181.static.apol.com.tw) (Ping timeout: 240 seconds)
09:08:19 <merijn> If Haskell had banned operators without surrounding whitespace from the start it'd be reasonable
09:08:37 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
09:08:44 <merijn> as it is, retrofitting . based record selection will only make things a ton more confusing
09:08:47 <edwardk> Uniaika: yeah i removed fractional from that file to strip it down. my bad
09:08:53 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
09:08:56 × darjeeling_ quits (~darjeelin@112.16.171.12) (Ping timeout: 240 seconds)
09:09:47 <edwardk> i'm not looking forward to the effect on stylized lens code
09:09:56 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
09:10:00 hendursa1 joins (~weechat@gateway/tor-sasl/hendursaga)
09:10:22 <Uniaika> well, it's not a default extension so I guess the answer is "if you already use lens to access record fields, don't enable it ;)"
09:10:36 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
09:10:54 <merijn> edwardk: I think the whole amibiguity will lead to fringe adoption of RecordDotSynax, which leads to further unfamiliarity with its weirdness, which will lead to it languishing and dying
09:10:55 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
09:11:15 <edwardk> unsure
09:11:15 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
09:11:16 <Uniaika> we're not doomed to face, powerless, the effects of RecordDotSyntax on our codebases. If someone complains that it breaks their code, they have enabled it by hand
09:11:24 <edwardk> i don't _hate_ it.
09:11:31 <edwardk> i don't _like_ it, either.
09:11:32 <merijn> Uniaika: That's not what I'm saying
09:11:48 <merijn> Uniaika: Of course it's opt-in
09:12:08 <merijn> Uniaika: But it turns an already fairly messy grammar into a clusterfuck unfit for humans
09:12:24 Lowl3v3l joins (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de)
09:12:34 <edwardk> Uniaika: i have a lot of sympathy about the arguments of haskell breaking into largely incompatible dialects. everything is opt-in, but it starts meaning that teams either have folks come in with different styles and have increased ramp-up time while they hammer out differences or you start to slip towards perl, write-only code.
09:12:44 <Uniaika> merijn: bold of you to suggest it was fit for humans *before* :P
09:12:51 <merijn> I'm sorry, but "Foo.bar", "Foo. bar", "Foo .bar" and "Foo . bar" all having *different* meanings is insane
09:12:59 <edwardk> i also realize that i shouldn't be all that 'get off my lawn' about this, given how much crap i got for lens doing the same thing to everyone.
09:13:07 <merijn> Anyone who thinks that's reasonable should be banned from language design
09:13:19 <merijn> Like, I'm gonna take your PL license and shred it...
09:13:21 ericsagn1 joins (~ericsagne@2405:6580:0:5100:33f6:9077:f7e2:df6e)
09:13:26 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:13:45 <merijn> It's so crazy, that you probably didn't even notice I lied
09:14:00 <merijn> Only *3* of those 4 have unique meanings with RecordDotSyntax
09:14:02 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
09:14:14 <merijn> Now guess which ones are duplicates of eachother...
09:14:15 <tomsmeding> presumably the middle two are the same?
09:14:22 <merijn> tomsmeding: No
09:14:25 <tomsmeding> nice
09:14:29 <danza> :(
09:14:29 <merijn> tomsmeding: The 2nd and last are
09:14:41 <merijn> Oh, actually
09:14:45 <[exa]> :D
09:14:55 <Uniaika> merijn: you do realise that they went for the conservative choice, right?
09:14:56 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
09:14:58 <Uniaika> r .x is illegal
09:15:31 <merijn> I guess the RecordDotSyntax changes the meaning of the first...
09:15:55 <merijn> Uniaika: When I last looked at the proposal that one was still a choice, so I guess that *marginally* improves thing
09:16:11 justan0theruser is now known as justanotheruser
09:16:46 <merijn> If we had banned "operators without whitespace" neither this nor unary minus would've been the problem they are :\
09:18:02 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
09:18:22 <[exa]> (also, alpha letters in operators!)
09:19:08 <Uniaika> [exa]: you can just use the backticks :P
09:19:25 <merijn> [exa]: No, that wasn't a mistake
09:19:35 <Uniaika> merijn: I do agree that banning operators without whitespaces can preserve us from headaches
09:19:53 <[exa]> Uniaika: but I want my magic --λ-> arrow
09:19:54 <merijn> I think having operators and non-operators lexically distinct (same with constructor names and variable names) is a great idea
09:20:33 <Uniaika> [exa]: This shit won't pass code review! :<
09:20:33 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
09:20:52 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
09:21:55 maralorn joins (maralornma@gateway/shell/matrix.org/x-jgzdznvwkyfzqest)
09:21:55 <maralorn> I think it's fair to say that math is less about memorizing stuff than other subjects. But in my experience students often underestimate how much it is about memorizing stuff. Having flashcards for theorems and definitions can be really helpful imo. Of course memorizing a theorem without understanding it’s meaning does not help at all.
09:22:56 merijn is unsure whether that is related to the current discussion
09:23:46 <maralorn> merijn: I am sorry, I wanted to contribute to the discussion from three hours ago.
09:23:57 <merijn> Uniaika: Anyway, I remain thoroughly unconvinced. Record syntax really hasn't been that big a pain point for me and the part that *is* extremely painful to me is fixed by NoFieldSelectors :)
09:24:00 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
09:24:15 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
09:24:29 <merijn> Being able to safely mix record syntax and sumtypes \o/
09:24:42 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
09:24:49 ichor[m] joins (hakonmatri@gateway/shell/matrix.org/x-saaqofiwyljfphil)
09:24:54 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
09:25:06 <maralorn> merijn: Also the matrix bridge seems to be very lossy right now which means that I didn‘t even see that there is an ongoing discussion. /o\
09:25:31 <merijn> :p
09:25:45 <hc> maralorn: you joined right before saying that first line
09:26:34 <edwardk> i found the issue i think.
09:26:42 <Uniaika> edwardk: what was it?
09:26:45 <maralorn> hc: I understand how that can look awkward.^^
09:26:56 <edwardk> the renaming of the IntRep module to IntRep.Rep was confusing something in the typechecker. there seems to be a ghc bug
09:27:01 <edwardk> but i have a workaround i think
09:28:42 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
09:28:49 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
09:29:12 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:30:48 __monty__ joins (~toonn@unaffiliated/toonn)
09:31:40 m0rphism1 joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
09:32:44 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
09:33:00 × proteusguy quits (~proteusgu@cm-58-10-154-202.revip7.asianet.co.th) (Remote host closed the connection)
09:34:30 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 268 seconds)
09:34:33 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
09:34:43 frozenErebus joins (~frozenEre@94.128.219.166)
09:35:51 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
09:37:05 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Remote host closed the connection)
09:37:53 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
09:37:59 <edwardk> woot. it works
09:38:06 <edwardk> now to make it pretty
09:38:27 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
09:40:01 <edwardk> ok, the export branch works now
09:41:36 fendor joins (~fendor@91.141.3.79.wireless.dyn.drei.com)
09:42:05 LKoen joins (~LKoen@161.169.9.109.rev.sfr.net)
09:42:44 heatsink joins (~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02)
09:45:03 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:47:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02) (Ping timeout: 240 seconds)
09:50:08 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
09:51:12 <Uniaika> edwardk: \o/
09:52:30 × jneira quits (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 246 seconds)
09:52:48 × solarliner quits (~solarline@243.81.10.109.rev.sfr.net) (Quit: solarliner)
09:53:06 solarliner joins (~solarline@243.81.10.109.rev.sfr.net)
09:53:25 ntjns joins (~jones@167.88.120.129)
09:53:28 Stanley|00 is now known as Stanley00
09:55:26 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
09:55:46 javran joins (~javran@108-201-186-97.lightspeed.sntcca.sbcglobal.net)
09:55:48 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
09:56:12 × terrorjack quits (~terrorjac@static.23.111.201.195.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat)
09:57:56 <edwardk> added FloatRep
09:58:18 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-rkuvlqfgcztposvb) (Quit: Connection closed for inactivity)
09:58:18 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
09:58:30 <javran> hey guys, just a quick question: if I have an ADT, say `data Foo = X | Y`, can I do something so it is coercible to Bool? (i.e. convince ghc that it can make a `Coercible Foo Bool`)
09:58:40 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
09:58:45 <edwardk> Show is going to be tricky as it wants a list type
09:59:17 <edwardk> and i don't know that i want to get into the business of making Maybe, List, etc. for every possible TYPE rep
10:00:02 <edwardk> Maybe i could fake by making it a type synonym around (# (##) | a #) -- or something
10:00:35 <edwardk> OTOH i have a bunch of rebindable syntax stuff i could do in theory
10:00:47 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:00:51 ubert joins (~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de)
10:00:58 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
10:01:29 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
10:02:21 × stree quits (~stree@68.36.8.116) (Ping timeout: 264 seconds)
10:02:37 thc202 joins (~thc202@unaffiliated/thc202)
10:05:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
10:06:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:07:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:08:28 ddellacosta joins (~ddellacos@86.106.143.46)
10:11:14 son0p joins (~son0p@181.58.39.182)
10:11:50 dunj3 joins (~dunj3@p200300f61714a6925c87873f9ac9c753.dip0.t-ipconnect.de)
10:12:45 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:12:48 × ddellacosta quits (~ddellacos@86.106.143.46) (Ping timeout: 246 seconds)
10:13:01 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
10:13:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:14:44 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
10:15:21 stree joins (~stree@68.36.8.116)
10:16:03 × grumble quits (~Thunderbi@freenode/staff/grumble) (Quit: shovels were a truly groundbreaking invention)
10:16:42 kuribas joins (~user@ptr-25vy0i7m118p8sxvfsb.18120a2.ip6.access.telenet.be)
10:17:43 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:17:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
10:19:11 grumble joins (~Thunderbi@freenode/staff/grumble)
10:19:32 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
10:19:56 unclechu joins (unclechuma@gateway/shell/matrix.org/x-tivqiqvkdyqnowzk)
10:19:56 boistordu joins (boistordum@gateway/shell/matrix.org/x-ovupdgassmbmcysg)
10:19:56 karasu1[m] joins (karasu1mat@gateway/shell/matrix.org/x-jlvtwpjoszohpwuo)
10:19:56 kadoban joins (kadobanmat@gateway/shell/matrix.org/x-nuloxmqlaczafqax)
10:19:56 jkaye[m] joins (jkayematri@gateway/shell/matrix.org/x-cnkeaceuhrekegnv)
10:19:57 lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-qbmkzkvrcxynlyna)
10:19:57 DamienCassou joins (damiencass@gateway/shell/matrix.org/x-ehririswtvvgitdp)
10:19:57 maerwald[m] joins (maerwaldma@gateway/shell/matrix.org/x-vwszhcqtafaewwod)
10:19:57 immae joins (immaematri@gateway/shell/matrix.org/x-biobeyvyakzvnryf)
10:19:57 lierdakil[m] joins (lierdakilm@gateway/shell/matrix.org/x-qdttaxtyutgluysl)
10:19:57 brightly-salty[m joins (brightly-s@gateway/shell/matrix.org/x-jqufomhtyszvsmsq)
10:19:57 srid joins (sridmatrix@gateway/shell/matrix.org/x-asyxkxzqnxcrpgqz)
10:19:57 psydruid joins (psydruidma@gateway/shell/matrix.org/x-gkeygehzefulhcqy)
10:19:57 itai33[m] joins (itai33matr@gateway/shell/matrix.org/x-mmhfyhduzlqumdtb)
10:19:57 Sarievo[m] joins (sarievoale@gateway/shell/matrix.org/x-pngyxqiqrgpejknf)
10:19:57 xosdy[m]1 joins (xosdyaleth@gateway/shell/matrix.org/x-xunefsscnonbtgiv)
10:19:57 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-bgzcpqodewfewacu)
10:19:57 my_name_is_not_j joins (mynameisno@gateway/shell/matrix.org/x-hpkeozywuimiwkcp)
10:19:58 Ericson2314 joins (ericson231@gateway/shell/matrix.org/x-lzikgiqihcummixk)
10:19:58 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-tcvgzzwiurupwthv)
10:19:58 VarikValefor[m] joins (varikvalef@gateway/shell/matrix.org/x-wtftytlhagluwmdg)
10:19:58 tomsen[m] joins (tfbiomatri@gateway/shell/matrix.org/x-srxhwciroichajqn)
10:19:58 bitonic joins (bitonicmat@gateway/shell/matrix.org/x-toickgbzigzbsfbm)
10:19:58 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-atfrdwrnsadyxibx)
10:19:58 noIOBeforeBedtim joins (dissatisfi@gateway/shell/matrix.org/x-fhbburjijoemebwr)
10:19:58 toasty_avocado[m joins (toastyavoc@gateway/shell/matrix.org/x-cgfvzbchbbdokzvi)
10:19:58 CrabMan joins (phi-matrix@gateway/shell/matrix.org/x-inxxpawmmofshkii)
10:19:58 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-beuyrqjzjrcpwkkf)
10:19:58 jerin joins (jerinmatri@gateway/shell/matrix.org/x-aynrdqdigepdorrr)
10:19:58 speakerspivakeem joins (speakerdea@gateway/shell/matrix.org/x-onzkzcntdcmbputf)
10:19:58 domenkozar[m] joins (domenkozar@NixOS/user/domenkozar)
10:19:59 simara[m] joins (simaramatr@gateway/shell/matrix.org/x-sojjxmanrmrsekzv)
10:19:59 ThaEwat joins (thaewraptm@gateway/shell/matrix.org/x-juqefpfkcsldkkqx)
10:19:59 metamod[m] joins (metamodmat@gateway/shell/matrix.org/x-cvyozbpcigwxoqqt)
10:19:59 hsiktas[m] joins (hsiktasmat@gateway/shell/matrix.org/x-uybiusisumxitdaa)
10:19:59 oreoking[m] joins (oreokingma@gateway/shell/matrix.org/x-lucqvxavjvzfztwz)
10:19:59 the_1_[m] joins (the1matrix@gateway/shell/matrix.org/x-fmeoaycdouocsfqi)
10:19:59 michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-noykicrlbsabjwyy)
10:19:59 jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-etwznkqlpnyibdkq)
10:19:59 Lurkki[m] joins (lurkkipriv@gateway/shell/matrix.org/x-ifysnhrhmhtvxswn)
10:19:59 berberman[T] joins (berberma4@gateway/shell/matrix.org/x-httmllauhaglunmz)
10:19:59 Lurkki[m]1 joins (lurkkifene@gateway/shell/matrix.org/x-hvcdkotidxdodjzo)
10:19:59 mly[m] joins (mlydisenco@gateway/shell/matrix.org/x-ruvwvdmdzsujcipy)
10:19:59 doct0rhu[m] joins (doct0rhumo@gateway/shell/matrix.org/x-eazlsjvgzumpzoni)
10:20:00 adziahel[m] joins (adziahelma@gateway/shell/matrix.org/x-rakjpsddecdrrang)
10:20:00 phittacus joins (bklmatrixo@gateway/shell/matrix.org/x-wukauznmspndycqi)
10:20:00 fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-hrqxpfotuofobdbj)
10:20:00 pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-avqotfsqzrmrxgqy)
10:20:00 pineapples[m] joins (pineapples@gateway/shell/matrix.org/x-scagahmjxdbvohux)
10:20:00 Liyang[m] joins (liyangmatr@gateway/shell/matrix.org/x-wtvmjvwxnbfzrmey)
10:20:00 Hanma[m] joins (hanmamatri@gateway/shell/matrix.org/x-xfhxcxjspfcwzhbu)
10:20:00 themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-virzyuwrowrrlwks)
10:20:00 darkcodi[m] joins (darkcodima@gateway/shell/matrix.org/x-xorowkamjqelpcvb)
10:20:01 siraben joins (sirabenmat@gateway/shell/matrix.org/x-osefrsecjodoijxp)
10:20:01 lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-wuxiqkhdynxpuvsj)
10:20:01 Vanilla[m] joins (danielm14@gateway/shell/matrix.org/x-axifdmrqergkcrjc)
10:20:01 cnmne[m] joins (cnmnematri@gateway/shell/matrix.org/x-vwjvxvmnxyimiajk)
10:20:01 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-vyrexossovlljgaw)
10:20:01 freeman42x[m] joins (freeman42x@gateway/shell/matrix.org/x-afnclhgosytqlfre)
10:20:01 alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-smqfejcgpvfgbkxf)
10:20:01 plumenator[m] joins (plumenator@gateway/shell/matrix.org/x-wucngvemjowoitrb)
10:20:01 PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-rodrvszvsnrqkfek)
10:20:01 shutendoji[m] joins (shutendoji@gateway/shell/matrix.org/x-nwuyyykkdcqsffue)
10:20:01 psamim joins (samimpmatr@gateway/shell/matrix.org/x-aphqpdlhwcwoigrn)
10:20:01 mjlbach joins (atriusmatr@gateway/shell/matrix.org/x-uxvvkbdauabmbien)
10:20:02 Poscat[m] joins (poscatmatr@gateway/shell/matrix.org/x-illspwtqmxzvupwe)
10:20:02 alar[m] joins (alarmxalat@gateway/shell/matrix.org/x-ufoythqyyzicqreb)
10:20:02 mentaal[m] joins (mentaalmat@gateway/shell/matrix.org/x-ukiqzdxfkqtlhpke)
10:20:03 CaptainYukinoshi joins (captain-yu@gateway/shell/matrix.org/x-cfutskndikhbnnrj)
10:20:03 acdsystemliorg[m joins (acdsysteml@gateway/shell/matrix.org/x-tymmizrslavaomkn)
10:20:03 enya[m] joins (enyaismatr@gateway/shell/matrix.org/x-zbzyfyeroxeyoocq)
10:20:04 betrion[m] joins (betrionmat@gateway/shell/matrix.org/x-olmvksmarryfhawb)
10:20:05 sramsay64[m] joins (sramsay64p@gateway/shell/matrix.org/x-wgtgoydyvczhmnjh)
10:20:05 a-tsioh[m] joins (a-tsiohmat@gateway/shell/matrix.org/x-vcxfulhlegqmiopj)
10:20:05 jchia[m] joins (jchiamatri@gateway/shell/matrix.org/x-aipijicvixxymjoa)
10:20:05 ManofLetters[m] joins (manoflette@gateway/shell/matrix.org/x-piojuxwadmoobdzz)
10:20:06 bram[m]1 joins (bramvdbnet@gateway/shell/matrix.org/x-igtbrtpgsohexrhp)
10:20:06 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-jshzqkyonzxbmhkb)
10:20:06 sigmacool[m] joins (sigmacoolm@gateway/shell/matrix.org/x-rymnviobwcpxiozr)
10:20:07 utdemir[m] joins (utdemirmat@gateway/shell/matrix.org/x-etixmzdenmklftaw)
10:20:07 pedrorubster[m] joins (pedrorubst@gateway/shell/matrix.org/x-rtcodsrzxgzhwyyh)
10:20:08 MrMuffles[m] joins (mrmufflesm@gateway/shell/matrix.org/x-zaslzxsnkeypyaom)
10:20:08 Robin[m]2 joins (robinrobin@gateway/shell/matrix.org/x-oenrzerwnqdlodsu)
10:20:11 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
10:20:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:22:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
10:22:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
10:22:43 zaquest joins (~notzaques@5.128.210.178)
10:22:56 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
10:23:27 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
10:23:53 mananamenos joins (~mananamen@37.red-88-27-26.staticip.rima-tde.net)
10:25:28 ezrakilty joins (~ezrakilty@97-113-55-149.tukw.qwest.net)
10:25:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
10:25:42 <tomjaguarpaw> Does anyone find that ghcid sometimes stops picking up changes? It seems that this is connected to changing between git branches. Am I doing something obviously wrong?
10:25:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:26:13 <edwardk> usually anything that changes the cabal file breaks you
10:26:30 clog joins (~nef@bespin.org)
10:26:35 <tomjaguarpaw> Interesting. That would explain it, I thin.
10:28:12 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 246 seconds)
10:28:45 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
10:29:16 chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de)
10:29:45 × ezrakilty quits (~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 240 seconds)
10:29:58 darjeeling_ joins (~darjeelin@122.245.216.187)
10:30:35 cheater joins (~user@unaffiliated/cheater)
10:30:43 terrorjack joins (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
10:30:57 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
10:31:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:31:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:33:23 JanBessai joins (~JanB@85-22-16-161.ip.dokom21.de)
10:33:33 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:35:44 df41 joins (c1c6b9ce@193.198.185.206)
10:35:49 Uma joins (~uma@umazalakain.info)
10:36:58 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-pspihpykvxpabhbk)
10:37:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
10:37:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
10:38:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:39:50 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd)
10:40:42 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
10:41:29 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
10:41:30 <desophos> ok, i'm stumped. i'm trying to generate an `[a] -> [Int]` that produces positive Ints. i'm (essentially) using `arbitrary `suchThat' (\f -> all (\x -> f x > x) xs)', where `xs :: [a]`. this generator still has trouble producing this function for list lengths over 10 or so. i don't know if making this its own newtype would help in any way, but `xs` depends on some other generators. i tried to make a separate newtype for this
10:41:30 <desophos> function but i couldn't figure out where to get my `xs` for the predicate. i would appreciate any advice, and sorry for the wall of text! :)
10:42:28 × JanBessai quits (~JanB@85-22-16-161.ip.dokom21.de) (Quit: leaving)
10:42:36 × terrorjack quits (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
10:42:40 lawid_ joins (~quassel@dslb-084-056-105-140.084.056.pools.vodafone-ip.de)
10:43:48 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
10:44:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:44:17 <desophos> oh yeah, and i'm passing that generator to `map` to make it an `[a] -> [Int]`. the `a -> Int` generator works much better than my previous `[a] -> [Int]` generator
10:44:18 heatsink joins (~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02)
10:45:10 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
10:45:10 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
10:45:59 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
10:46:08 × lawid quits (~quassel@dslb-090-186-035-031.090.186.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
10:48:09 × mananamenos quits (~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 265 seconds)
10:48:33 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
10:49:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02) (Ping timeout: 264 seconds)
10:49:20 × l8star_ quits (~l8star@business-90-187-113-149.pool2.vodafone-ip.de) (Remote host closed the connection)
10:49:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
10:50:11 <[exa]> desophos: btw is that some generic thing or do you have a specific function that you're testing?
10:50:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:50:20 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
10:50:44 <desophos> i am testing specific functions, yes
10:50:51 <[exa]> desophos: (many integer sequences/sets can be generated/enumerated efficiently)
10:51:17 <desophos> i have a newtype that generates the arguments to said function, because they're all closely related
10:51:55 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
10:52:04 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:53:12 <desophos> right, i mean the function could just be (\xs -> take (length xs) $ iterate (+1) 1) or whatever
10:53:43 <tomsmeding> desophos: as written, assuming that 'f x > x' has change 0 <= p <= 1 of happening, the probability that an arbitrary value will satisfy your suchThat is p^length
10:54:04 <tomsmeding> for p that is not 0.99, that will decrease quickly :p
10:54:43 <tomsmeding> if you can write a (sort-of) uniform generator for values x such that f x > x, then build the list using that
10:54:50 <tomsmeding> (with a newtype wrapper I guess)
10:54:51 <desophos> hmmm, well `x` is always 0 (in this example; it's a bit more complicated in my code)
10:55:54 <desophos> i actually have no idea what p would be for this
10:56:28 <tomsmeding> doesn't really matter what p is exactly, but since you say that "it has trouble producing this functions for list lengths over 10 or so", I'm guessing it's not too high :p
10:56:39 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
10:56:41 <desophos> apparently so
10:56:45 ephemera_ joins (~E@122.34.1.187)
10:56:51 <desophos> how would i go about writing that generator?
10:57:28 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
10:57:49 <tomsmeding> well one possibility would be to create a newtype, DesophosElement, for the elements of the list
10:58:04 <tomsmeding> and give it an arbitrary instance that says 'arbitrary `suchThat` (\x -> f x > x)'
10:58:16 <tomsmeding> then generate a list of those things, and unwrap the newtypes in the elements
10:58:29 <tomsmeding> that should give the same distribution because of your use of 'all'
10:59:10 <tomsmeding> (if you're custom-generating this list anyway, you can probably do away with that DesophosElement)
10:59:22 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:00:17 <desophos> hmm, how is that different from what i'm doing now? if i would use `f` in the predicate anyway?
11:01:34 <tomsmeding> the difference is that in your version, you generate a list, check the property for each element, (probably) observe that it fails for at least one element, throw the list away and generate a new one, repeat
11:01:46 <desophos> oh i see
11:01:51 × ephemera_ quits (~E@122.34.1.187) (Read error: Connection reset by peer)
11:01:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:01:55 <tomsmeding> whereas in my version, you repeat generating one particular element a couple of times, but you throw away much less work
11:02:09 <desophos> instead of generating the elements individually based on whether they satisfy the function predicate
11:02:13 <tomsmeding> and because your list property was just an 'all', it makes no difference in output
11:02:17 <tomsmeding> yes
11:02:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:02:24 <desophos> that makes a lot of sense
11:02:36 bitmagie joins (~Thunderbi@200116b806ae960069054237c165fb7d.dip.versatel-1u1.de)
11:02:52 <tomsmeding> you might hope that quickcheck sees these kinds of redundancies and optimises them away, but lambdas are too black-box for that :p
11:03:10 ephemera_ joins (~E@122.34.1.187)
11:03:25 <desophos> i actually already have the list and i'm trying to generate the function
11:03:29 <tomsmeding> lol
11:03:37 michalz joins (~user@185.246.204.79)
11:03:44 <tomsmeding> that... may change the whole story :p
11:03:49 <desophos> haha :D
11:03:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
11:04:05 <tomsmeding> because then my simplification doesn't apply at all
11:04:57 <tomsmeding> you're trying to generate a function that satisfies a number of inequalities?
11:05:02 <desophos> yes
11:05:07 <desophos> i generate a list of record types and then use that list in the predicate to generate an appropriate function
11:05:15 <tomsmeding> use an LP-solver? :p
11:05:47 <tomsmeding> you use that list to _generate_ or to _validate_ a function?
11:06:07 <desophos> to validate it, my mistake
11:06:23 <tomsmeding> right, then you can't really simplify that in general
11:07:06 <tomsmeding> except if, with knowledge about how exactly your function parameters are structured, you can discard some of the search space given some of those record values
11:07:17 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
11:07:24 <tomsmeding> but that heavily depends on what exactly you're generating
11:07:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
11:07:25 <desophos> my logic is `all (f (r1 x) > (r2 x)) xs` where x is a record type with fields `r1 :: a` and `r2 :: Int`, and `f :: (a -> Int)`
11:08:00 <tomsmeding> what kinds of functions can 'f' be?
11:08:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:08:14 <desophos> and xs is a list of these records that has been generated previously in this arbitrary implementation
11:08:33 <tomsmeding> you're generating constraints together with functions that satisfy them?
11:08:51 <desophos> kind of, yes
11:08:54 <tomsmeding> how about generating a function first and then generating some constraints that the function satisfies?
11:09:10 <tomsmeding> that second step should be easier
11:09:47 <tomsmeding> (generate a value for 'r1', then generate the value for 'r2' in the range [0 .. f1 (r1 x) - 1] or something)
11:09:49 <desophos> well, the issue that led to this in the first place is that this [Int] produced by `f` is the set of weights passed to `frequency`, so they must be positive and not all the same
11:10:13 <desophos> that's the only constraint i'm trying to get working
11:10:22 <tomsmeding> ah I see
11:10:32 <tomsmeding> why must they not all be the same?
11:10:38 <desophos> requirement of frequency i believe
11:10:44 <desophos> i might be wrong on that?
11:11:04 <desophos> yep i'm wrong, they just can't all be 0
11:11:10 <tomsmeding> the frequencies must certainly be non-negative, but all-equal would just result in a uniform distribution, right?
11:11:15 <desophos> yep
11:11:20 <tomsmeding> all-zero is problematic too I guess
11:11:55 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 272 seconds)
11:12:09 × bitmagie quits (~Thunderbi@200116b806ae960069054237c165fb7d.dip.versatel-1u1.de) (Quit: bitmagie)
11:12:14 <tomsmeding> so just to be clear: you're generating a list of 'a' values, as well as a function f :: a -> Int, and want the results of calling 'f' on those 'a' values to be valid weights for 'frequency'
11:12:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:13:01 × _noblegas quits (uid91066@gateway/web/irccloud.com/x-xdmmzoyxnafrholm) (Quit: Connection closed for inactivity)
11:13:02 <desophos> pretty much; the 'a' values are actually record fields
11:13:06 __minoru__shirae joins (~shiraeesh@46.34.206.35)
11:13:08 <tomsmeding> still kind of depends on what functions f can be
11:13:14 <tomsmeding> sure
11:13:39 <desophos> f can be any function really, it doesn't matter as long as it produces valid frequency weights
11:14:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:14:39 <tomsmeding> how are you generating it now?
11:14:47 <tomsmeding> using Test.QuickCheck.Function, or differently?
11:15:04 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
11:15:25 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:15:27 <desophos> using `arbitrary` in a newtype Arbitrary instance
11:15:51 <desophos> the constraints are the part that's giving me trouble
11:16:16 <tomsmeding> right so your 'a' implements CoArbitrary
11:16:20 <desophos> yes
11:16:23 <tomsmeding> I missed that instance, okay
11:16:35 terrorjack joins (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
11:16:48 <tomsmeding> I'm asking because one way to optimise the process is to let the constraints inform the generation of 'f' :p
11:16:51 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:17:00 <tomsmeding> but then you'd need to custom-write that
11:17:08 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:17:13 × df41 quits (c1c6b9ce@193.198.185.206) (Quit: Connection closed)
11:17:14 <desophos> in a Gen instance?
11:17:20 <tomsmeding> yeah
11:18:44 <tomsmeding> desophos: can't you generate an 'f' of type a -> NonNegative Int
11:18:56 <tomsmeding> and then use getNonNegative . f
11:19:04 vilpan parts (~0@212.117.1.172) ()
11:19:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:19:36 <tomsmeding> you still need to check that the outputs are not all-zero, but that should have a negligible probability instead of 1 - 0.5^length
11:19:43 <desophos> hmm... that's a good idea
11:19:56 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
11:19:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:19:59 <desophos> i feel like i should have tried that earlier lol
11:20:07 <tomsmeding> if you don't want zero weights either, use Positive instead of NonNegative :p
11:20:19 <tomsmeding> took me a while to think of it too
11:22:04 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
11:23:17 <desophos> it worked, thank you! good discussion about generating functions too :)
11:24:08 <tomsmeding> nice! :)
11:24:10 <tomsmeding> good luck!
11:24:15 × Stanley00 quits (~stanley00@unaffiliated/stanley00) ()
11:24:33 <desophos> thanks!
11:24:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:25:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:26:19 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
11:27:39 × terrorjack quits (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
11:28:22 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:28:39 terrorjack joins (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
11:31:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:32:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:33:12 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:33:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
11:36:32 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 260 seconds)
11:36:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:37:00 × petersen quits (~petersen@redhat/juhp) (Quit: petersen)
11:37:47 petersen joins (~petersen@redhat/juhp)
11:38:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:38:21 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
11:38:57 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
11:39:35 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:40:19 × terrorjack quits (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
11:41:15 terrorjack joins (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
11:43:16 × desophos quits (~desophos@2601:249:1680:a570:dc9b:7a29:1314:79e3) (Quit: Leaving)
11:43:32 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:43:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:45:07 heatsink joins (~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02)
11:46:24 proteusguy joins (~proteusgu@cm-58-10-155-179.revip7.asianet.co.th)
11:49:12 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
11:49:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:49:50 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02) (Ping timeout: 264 seconds)
11:49:52 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:50:59 × __minoru__shirae quits (~shiraeesh@46.34.206.35) (Ping timeout: 265 seconds)
11:52:24 × terrorjack quits (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
11:53:25 terrorjack joins (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
11:54:33 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
11:55:27 Pickchea joins (~private@unaffiliated/pickchea)
11:58:12 bergey``` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
12:00:17 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
12:00:52 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
12:00:52 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
12:00:52 mouseghost joins (~draco@wikipedia/desperek)
12:03:38 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
12:03:47 berberman joins (~berberman@unaffiliated/berberman)
12:04:21 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
12:04:36 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
12:04:36 × bergey``` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
12:05:53 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
12:05:54 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
12:06:43 Benzi-Junior joins (~BenziJuni@dsl-149-67-143.hive.is)
12:08:36 × Kamuela quits (sid111576@gateway/web/irccloud.com/x-pawdtmgkcfdhjilx) (Remote host closed the connection)
12:08:36 × graingert quits (sid128301@gateway/web/irccloud.com/x-bfylpgqnmmccmsbf) (Remote host closed the connection)
12:08:36 × jackdk quits (sid373013@gateway/web/irccloud.com/x-doqzhuxhwcndskts) (Remote host closed the connection)
12:08:36 × typetetris quits (sid275937@gateway/web/irccloud.com/x-jmpcyphyiunkizfv) (Remote host closed the connection)
12:08:36 × dani- quits (sid341953@gateway/web/irccloud.com/x-jvhqzxypgstquyhl) (Remote host closed the connection)
12:08:36 × ghuntley quits (sid16877@gateway/web/irccloud.com/x-cxefxczoiamxwufa) (Remote host closed the connection)
12:08:36 × taktoa[c] quits (sid282096@gateway/web/irccloud.com/x-hmpjwlrfnjkdvtbj) (Remote host closed the connection)
12:08:36 × lolmac quits (sid171216@gateway/web/irccloud.com/x-rclngblebwcjjcxh) (Remote host closed the connection)
12:08:36 × srhb quits (sid400352@NixOS/user/srhb) (Remote host closed the connection)
12:08:36 × suraj quits (uid487353@gateway/web/irccloud.com/x-ygpdreqvesczyhhi) (Remote host closed the connection)
12:08:36 × milessabin quits (sid86799@gateway/web/irccloud.com/x-lvllpfayllfptnau) (Remote host closed the connection)
12:08:36 × kozowu quits (uid44796@gateway/web/irccloud.com/x-azueqxpdfatmhbiq) (Remote host closed the connection)
12:08:36 × ocharles quits (sid30093@musicbrainz/user/ocharles) (Remote host closed the connection)
12:08:36 × agander_m quits (sid407952@gateway/web/irccloud.com/x-iacrqptelsdesbqc) (Remote host closed the connection)
12:08:36 × m-renaud quits (sid333785@gateway/web/irccloud.com/x-gyhpqquancngyzvf) (Remote host closed the connection)
12:08:36 × glowcoil quits (sid3405@gateway/web/irccloud.com/x-aqtyexznctdwfsyn) (Write error: Broken pipe)
12:08:36 × hazard-pointer_ quits (sid331723@gateway/web/irccloud.com/x-qnmihlixkbakxstq) (Remote host closed the connection)
12:08:36 × kyagrd__ quits (sid102627@gateway/web/irccloud.com/x-jdcpegwngvtqeafw) (Remote host closed the connection)
12:08:37 × rslima_____ quits (sid26145@gateway/web/irccloud.com/x-juewjokznuzxtywl) (Remote host closed the connection)
12:08:52 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
12:09:00 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
12:09:13 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd)
12:09:14 × zariuq quits (~zar@fw1.ciirc.cvut.cz) (Read error: Connection reset by peer)
12:09:26 zariuq joins (~zar@fw1.ciirc.cvut.cz)
12:10:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
12:10:39 mirrorbird joins (~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f)
12:11:04 × LKoen quits (~LKoen@161.169.9.109.rev.sfr.net) (Ping timeout: 240 seconds)
12:11:17 LKoen joins (~LKoen@161.169.9.109.rev.sfr.net)
12:11:28 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
12:11:49 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:13:11 glowcoil joins (sid3405@gateway/web/irccloud.com/x-ijfdxwoqjkevcqsc)
12:13:40 × glowcoil quits (sid3405@gateway/web/irccloud.com/x-ijfdxwoqjkevcqsc) (Remote host closed the connection)
12:15:15 glowcoil joins (sid3405@gateway/web/irccloud.com/x-tfnxycsxmhezfuwi)
12:16:24 rslima_____ joins (sid26145@gateway/web/irccloud.com/x-ngrykalbadekwxuk)
12:16:34 ocharles joins (sid30093@musicbrainz/user/ocharles)
12:17:16 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
12:17:23 kyagrd__ joins (sid102627@gateway/web/irccloud.com/x-szfupawrcsntctxo)
12:17:24 milessabin joins (sid86799@gateway/web/irccloud.com/x-lbjrkurwvvdrwvdy)
12:17:56 Kamuela joins (sid111576@gateway/web/irccloud.com/x-horehrbqrsfbifrv)
12:18:04 polyrain joins (~polyrain@2001:8003:e4d8:4101:11ca:2807:85ae:bc87)
12:18:14 s00pcan joins (~chris@107.181.165.217)
12:18:57 cur8or joins (~cur8or@2c0f:fbe1:3:17:e976:8a82:85fb:4ef)
12:19:07 graingert joins (sid128301@gateway/web/irccloud.com/x-kqkgwbfzuayatuma)
12:19:25 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:20:11 taktoa[c] joins (sid282096@gateway/web/irccloud.com/x-zyzffnttjvrtjmgf)
12:20:41 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
12:20:43 hazard-pointer_ joins (sid331723@gateway/web/irccloud.com/x-gnedozzvydjopbjw)
12:20:48 __minoru__shirae joins (~shiraeesh@46.34.206.35)
12:20:48 m-renaud joins (sid333785@gateway/web/irccloud.com/x-cahbetqlwgcicebd)
12:20:57 × Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 265 seconds)
12:20:59 dani- joins (sid341953@gateway/web/irccloud.com/x-oxdrwcxmvvwbwbls)
12:21:21 srhb joins (sid400352@NixOS/user/srhb)
12:21:53 ghuntley joins (sid16877@gateway/web/irccloud.com/x-nfchurevxdfsquhn)
12:22:22 kozowu joins (uid44796@gateway/web/irccloud.com/x-mirfwtuhrmimndjb)
12:23:21 × stree quits (~stree@68.36.8.116) (Ping timeout: 246 seconds)
12:23:32 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
12:23:41 lolmac joins (sid171216@gateway/web/irccloud.com/x-hckmunyonklvauje)
12:24:01 Zialus joins (~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29)
12:24:29 typetetris joins (sid275937@gateway/web/irccloud.com/x-stkqjtnjlxzqnxsl)
12:24:36 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
12:25:27 × SRV_DW20 quits (~SRV_DW20@185.163.110.108) (Remote host closed the connection)
12:25:46 jackdk joins (sid373013@gateway/web/irccloud.com/x-xchalanqtvxxyxtk)
12:25:59 agander_m joins (sid407952@gateway/web/irccloud.com/x-wqacywbdoyeeptul)
12:27:26 suraj joins (uid487353@gateway/web/irccloud.com/x-vayhhcpqeujgyqoy)
12:28:41 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
12:29:16 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 240 seconds)
12:33:56 × augnun_ quits (~augnun@2804:14c:658b:41bb:75dd:811:d3d0:aa5d) (Ping timeout: 240 seconds)
12:35:09 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
12:35:15 kritzefitz joins (~kritzefit@212.86.56.80)
12:36:40 stree joins (~stree@68.36.8.116)
12:38:36 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
12:39:29 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
12:39:51 × polyrain quits (~polyrain@2001:8003:e4d8:4101:11ca:2807:85ae:bc87) (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:39:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
12:39:58 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
12:40:43 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
12:45:16 bergey``` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
12:45:16 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
12:45:54 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
12:45:56 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
12:46:10 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
12:46:31 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:46:44 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:49:22 greety joins (bab72756@186.183.39.86)
12:50:07 × bergey``` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
12:50:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
12:51:08 frozenErebus joins (~frozenEre@94.128.219.166)
12:51:18 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
12:53:12 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
12:55:56 jamm_ joins (~jamm@unaffiliated/jamm)
12:56:16 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 240 seconds)
12:57:10 greety parts (bab72756@186.183.39.86) ()
12:57:33 seye joins (~seye@79-74-139-62.dynamic.dsl.as9105.com)
12:57:56 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
12:59:04 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:00:18 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:00:38 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
13:02:12 todda7 joins (~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2)
13:02:47 bergey``` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
13:02:57 × __minoru__shirae quits (~shiraeesh@46.34.206.35) (Ping timeout: 264 seconds)
13:03:00 × tsaka__ quits (~torstein@152.89.163.92) (Ping timeout: 265 seconds)
13:03:44 urodna joins (~urodna@unaffiliated/urodna)
13:04:07 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
13:05:50 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
13:06:07 × adius quits (sid321344@gateway/web/irccloud.com/x-arhgoqynitobsomz) (Remote host closed the connection)
13:06:07 × lexi-lambda quits (sid92601@gateway/web/irccloud.com/x-owlnoanjqwjxhelk) (Remote host closed the connection)
13:06:49 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
13:07:06 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
13:07:37 lexi-lambda joins (sid92601@gateway/web/irccloud.com/x-dknpibkekskwfxsb)
13:07:38 adius joins (sid321344@gateway/web/irccloud.com/x-rmecsovjazjpkqfg)
13:07:56 × bergey``` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
13:08:23 × noecho quits (~noecho@2a01:4f8:1c0c:80ee::4223) (Quit: ZNC - http://znc.in)
13:08:30 × terrorjack quits (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
13:08:55 noecho joins (~noecho@2a01:4f8:1c0c:80ee::4223)
13:09:47 terrorjack joins (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
13:11:05 × darjeeling_ quits (~darjeelin@122.245.216.187) (Ping timeout: 240 seconds)
13:11:25 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
13:15:13 lawid joins (~quassel@dslb-090-186-099-002.090.186.pools.vodafone-ip.de)
13:15:40 × lawid_ quits (~quassel@dslb-084-056-105-140.084.056.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
13:15:48 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:17:36 geekosaur joins (82650c7a@130.101.12.122)
13:17:54 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
13:17:59 × plutoniix quits (~q@184.82.193.9) (Quit: Leaving)
13:18:35 × cur8or quits (~cur8or@2c0f:fbe1:3:17:e976:8a82:85fb:4ef) (Ping timeout: 272 seconds)
13:20:25 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Ping timeout: 240 seconds)
13:20:46 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
13:21:32 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
13:21:54 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:22:52 × borne quits (~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de) (Quit: WeeChat 3.0)
13:23:00 borne joins (~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de)
13:23:36 × son0p quits (~son0p@181.58.39.182) (Quit: Lost terminal)
13:25:36 × solarliner quits (~solarline@243.81.10.109.rev.sfr.net) (Quit: solarliner)
13:26:24 Tario joins (~Tario@201.192.165.173)
13:26:41 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
13:26:59 × lexi-lambda quits (sid92601@gateway/web/irccloud.com/x-dknpibkekskwfxsb) ()
13:27:14 lexi-lambda joins (sid92601@gateway/web/irccloud.com/x-ricmwvpaftynkwyw)
13:27:34 × dmwit quits (~dmwit@pool-108-18-106-204.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
13:27:39 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:28:30 × Svet_ quits (~Svet_@90.200.185.163) (Quit: Connection error?!)
13:28:49 darjeeling_ joins (~darjeelin@122.245.216.187)
13:29:39 ezrakilty joins (~ezrakilty@97-113-55-149.tukw.qwest.net)
13:29:58 theDon joins (~td@muedsl-82-207-238-165.citykom.de)
13:30:06 × adius quits (sid321344@gateway/web/irccloud.com/x-rmecsovjazjpkqfg) ()
13:30:22 adius joins (sid321344@gateway/web/irccloud.com/x-zbzvezfksextairk)
13:32:37 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
13:34:19 × ezrakilty quits (~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 256 seconds)
13:37:13 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
13:38:08 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
13:38:12 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
13:38:30 bergey``` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
13:38:39 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
13:38:44 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
13:39:03 × ubert quits (~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
13:39:23 ubert joins (~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de)
13:39:24 son0p joins (~son0p@181.136.122.143)
13:42:04 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
13:43:23 × bergey``` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
13:44:28 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:44:32 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:44:33 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:45:06 frozenErebus joins (~frozenEre@94.128.219.166)
13:45:43 bergey``` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
13:46:39 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
13:48:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
13:50:27 Guest_36 joins (5ad3334a@90.211.51.74)
13:50:40 <Guest_36> b
13:50:58 <mouseghost> c
13:51:07 × forell quits (~forell@unaffiliated/forell) (Quit: ZNC - https://znc.in)
13:51:25 dunj4 joins (~dunj3@p200300f61714a678d85584dd45edd0a4.dip0.t-ipconnect.de)
13:51:27 <Guest_36> Hi I just downloaded Haskell on terminal, can someone tell me how I can start it please?
13:51:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
13:51:40 <Guest_36> mouse ghost lol
13:52:00 forell joins (~forell@unaffiliated/forell)
13:52:14 <mouseghost> ghci gives you repl
13:52:36 × kafl quits (~kafl@unaffiliated/kafl) (Ping timeout: 246 seconds)
13:52:43 kafl_ joins (~kafl@unaffiliated/kafl)
13:52:58 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:53:30 <Guest_36> sorry what is repl
13:53:43 <hc> read, evaluate, print, loop
13:53:56 × dunj3 quits (~dunj3@p200300f61714a6925c87873f9ac9c753.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:54:10 <Guest_36> ok thanks
13:54:33 zebrag joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
13:54:34 <hpc> the more boring word for it is "interactive interpreter" ;)
13:54:46 <hc> i was about to say, interactive compiler ;p
13:55:12 <Guest_36> I'm not sure where I can find it
13:55:25 <Guest_36> find haskel
13:55:33 × forell quits (~forell@unaffiliated/forell) (Client Quit)
13:58:18 forell joins (~forell@unaffiliated/forell)
13:58:25 × Guest_36 quits (5ad3334a@90.211.51.74) (Quit: Connection closed)
13:58:36 <geekosaur> I wonder if they're looking for an IDE
14:00:20 revtintin joins (~revtintin@42.61.242.247)
14:00:37 forell_ joins (~forell@unaffiliated/forell)
14:02:42 × forell quits (~forell@unaffiliated/forell) (Ping timeout: 256 seconds)
14:02:43 forell_ is now known as forell
14:03:21 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
14:03:23 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
14:03:43 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
14:05:32 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
14:06:06 ukari joins (~ukari@unaffiliated/ukari)
14:06:40 × kafl_ quits (~kafl@unaffiliated/kafl) (Ping timeout: 256 seconds)
14:07:41 tsaka__ joins (~torstein@185.217.69.177)
14:07:59 × todda7 quits (~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2) (Ping timeout: 272 seconds)
14:08:46 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
14:08:53 mmohammadi9812 joins (~mmohammad@162.253.71.216)
14:08:57 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
14:09:21 × mmohammadi9812 quits (~mmohammad@162.253.71.216) (Max SendQ exceeded)
14:09:53 mmohammadi9812 joins (~mmohammad@162.253.71.216)
14:10:04 remby joins (~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca)
14:10:20 <remby> for those that work on ghc, which platform do you use for dev?
14:10:31 <maralorn> When I have a = "⏳" I get length a = 1, but my terminal prints a with a width of two monospace symbols. What library gives me a possibility to get the "displayLength" or something of a string?
14:11:03 × mmohammadi9812 quits (~mmohammad@162.253.71.216) (Read error: Connection reset by peer)
14:11:14 <merijn> remby: probably 80-90% linux
14:13:00 <swarmcollective> remby, I use both Windows + Haskell Docker Container as well as linux directly.
14:13:34 geekosaur joins (82650c7a@130.101.12.122)
14:15:23 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:15:30 ddellacosta joins (~ddellacos@86.106.143.241)
14:15:45 <maralorn> The best solution I can think of right now is to use ansi-terminal to print the symbol query the new cursor position and delete the symbol. But that sounds super annoying.
14:16:03 × tsaka__ quits (~torstein@185.217.69.177) (Ping timeout: 246 seconds)
14:16:11 todda7 joins (~torstein@athedsl-258913.home.otenet.gr)
14:16:14 <geekosaur> you are approaching hell
14:16:23 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
14:16:36 <geekosaur> display width is not a defined attribute and can depend on both the font and the terminal emulator
14:16:46 <merijn> There's a C function for that
14:17:23 <merijn> geekosaur: For fixed-width there is a display width
14:17:59 alx741 joins (~alx741@181.196.68.69)
14:18:06 <merijn> Probably still won't work right for emojis, but hey
14:19:30 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 272 seconds)
14:19:52 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
14:20:07 × ddellacosta quits (~ddellacos@86.106.143.241) (Ping timeout: 272 seconds)
14:20:20 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
14:20:39 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
14:21:10 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
14:21:35 × viluon quits (uid453725@gateway/web/irccloud.com/x-lpdtucvssqtteyqr) (Quit: Connection closed for inactivity)
14:22:40 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
14:23:13 cantoro joins (~cantoro@93-43-227-218.ip94.fastwebnet.it)
14:23:27 <cantoro> Hello
14:23:58 <edwardk> i just realized i can write a kind-polymorphic version of basically any typeclass.
14:24:00 <edwardk> https://github.com/ekmett/unlifted/blob/poly/poly.hs
14:25:19 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
14:25:53 <edwardk> basically the issue with writing polykinded instances, is that defaults can't work, right? because levity polymorphism doesn't allow things in negative position to be levity polymorphic
14:26:13 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
14:26:43 <edwardk> but the functions in the dictionary themselves are in kind Type. so if what i do is make the defaults live in another typeclass off the RuntimeRep, i can magically have everything.
14:26:53 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
14:27:11 <edwardk> this means i can overload numeric literals to work on other kinds, like Int# and they just work
14:27:14 <edwardk> +, -, etc.
14:27:28 <edwardk> before i was trying to do this with a one-off class per kind
14:27:54 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
14:28:01 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
14:28:03 <edwardk> now i could import just the unlifted machinery, turn on rebindable syntax and use it for all kinds including lifted stuff at the same time!
14:28:10 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
14:28:24 ukari joins (~ukari@unaffiliated/ukari)
14:28:49 <edwardk> i'd still probably need the backpack machinery to make the data types for each kind for unlifted maybes, etc.
14:29:06 <edwardk> but the instances seem like they can mostly just work
14:31:42 × cantoro quits (~cantoro@93-43-227-218.ip94.fastwebnet.it) (Quit: leaving)
14:32:06 <edwardk> the unlifted classes need to return slightly different types based off the kind, but its not so bad, really.
14:32:37 Guest90 joins (506fd516@gateway/web/cgi-irc/kiwiirc.com/ip.80.111.213.22)
14:32:44 <edwardk> mostly for Enum/IsList, some of the integral stuff needing to give back unboxed tuples, etc.
14:32:57 nbloomf joins (~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01)
14:33:03 cantoro joins (~cantoro@93-43-227-218.ip94.fastwebnet.it)
14:33:06 <edwardk> going to sleep now
14:33:52 × cantoro quits (~cantoro@93-43-227-218.ip94.fastwebnet.it) (Client Quit)
14:34:45 × carlomagno quits (~cararell@148.87.23.5) (Ping timeout: 264 seconds)
14:34:51 Neuromancer joins (~Neuromanc@unaffiliated/neuromancer)
14:35:57 cantoro joins (~cantoro@93-43-227-218.ip94.fastwebnet.it)
14:36:14 <cantoro> :q
14:36:17 × cantoro quits (~cantoro@93-43-227-218.ip94.fastwebnet.it) (Client Quit)
14:36:48 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
14:38:29 × berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
14:38:53 berberman joins (~berberman@unaffiliated/berberman)
14:40:37 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
14:40:58 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
14:44:36 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
14:45:48 <kuribas> Is there a good fast xml generator? I tried xmlgen, which is decent, but a bit too polymorphic for my taste.
14:46:17 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-pspihpykvxpabhbk) (Quit: Connection closed for inactivity)
14:46:22 <merijn> Is there a good XML generator at all? :p
14:46:22 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:46:44 <kuribas> I hope...
14:47:36 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
14:47:40 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
14:48:14 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
14:48:40 Tops2 joins (~Tobias@dyndsl-095-033-095-228.ewe-ip-backbone.de)
14:49:06 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
14:50:00 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
14:50:33 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
14:50:49 sh9 joins (~sh9@softbank060116136158.bbtec.net)
14:50:57 × bo__ quits (~bo@178.150.122.153) (Ping timeout: 264 seconds)
14:51:32 ph88 joins (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
14:52:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
14:53:16 × ephemera_ quits (~E@122.34.1.187) (Ping timeout: 240 seconds)
14:54:18 dmwit joins (~dmwit@pool-173-66-86-32.washdc.fios.verizon.net)
14:55:22 ddellacosta joins (~ddellacos@86.106.143.111)
14:56:35 stree joins (~stree@68.36.8.116)
14:57:02 <geekosaur> aren't "good" and "xml" antiphonic?
14:57:36 × ixaxaar quits (~ixaxaar@49.207.197.94) (Quit: Leaving)
14:57:37 × darjeeling_ quits (~darjeelin@122.245.216.187) (Ping timeout: 256 seconds)
14:57:48 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
14:58:15 <NieDzejkob> is it possible to define a bidirectional pattern synonym, but only export the destructuring direction outside of the current module?
14:58:53 × Poscat[m] quits (poscatmatr@gateway/shell/matrix.org/x-illspwtqmxzvupwe) (Quit: Idle for 30+ days)
14:59:25 × alx741 quits (~alx741@181.196.68.69) (Quit: alx741)
14:59:50 <merijn> NieDzejkob: Why not just have two different pattern synonyms for that?
15:00:23 <NieDzejkob> because I don't want to make up two names/operators
15:02:26 × hendursa1 quits (~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1)
15:02:45 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
15:03:02 carlomagno joins (~cararell@148.87.23.5)
15:04:12 × stree quits (~stree@68.36.8.116) (Quit: Caught exception)
15:04:39 stree joins (~stree@68.36.8.116)
15:05:49 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
15:06:03 carlomagno1 joins (~cararell@148.87.23.5)
15:06:48 × davros_ quits (~davros@host86-185-61-33.range86-185.btcentralplus.com) (Ping timeout: 246 seconds)
15:07:26 × carlomagno quits (~cararell@148.87.23.5) (Ping timeout: 240 seconds)
15:07:59 <kuribas> Geekingfrog: the generator must be good, xml cannot be fixed anymore :)
15:08:16 Wuzzy joins (~Wuzzy@p5790eb2a.dip0.t-ipconnect.de)
15:08:26 <kuribas> geekosaur... Ah he left.
15:10:25 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
15:10:38 davros joins (~davros@host86-185-136-83.range86-185.btcentralplus.com)
15:12:14 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:12:19 × zariuq quits (~zar@fw1.ciirc.cvut.cz) (Read error: Connection reset by peer)
15:12:38 zar joins (~zar@fw1.ciirc.cvut.cz)
15:14:31 × tv- quits (~tv@unaffiliated/tv-) (Quit: WeeChat 2.9)
15:15:43 vicfred joins (~vicfred@unaffiliated/vicfred)
15:15:47 darjeeling_ joins (~darjeelin@122.245.216.187)
15:17:41 tv- joins (~tv@unaffiliated/tv-)
15:19:03 timCF joins (~i.tkachuk@200-149-20-81.sta.estpak.ee)
15:19:15 × timCF quits (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Client Quit)
15:19:22 × ddellacosta quits (~ddellacos@86.106.143.111) (Remote host closed the connection)
15:21:33 amerigo joins (uid331857@gateway/web/irccloud.com/x-vhvftduashcjswei)
15:26:23 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
15:26:23 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
15:26:23 mouseghost joins (~draco@wikipedia/desperek)
15:26:57 vancoder joins (~vancoder@195.140.213.38)
15:27:42 × remby quits (~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca) (Quit: remby)
15:28:05 remby joins (~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca)
15:33:07 × cheater quits (~user@unaffiliated/cheater) (Quit: BitchX: it keeps going and going and going and going and...)
15:33:48 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
15:35:26 × dunj4 quits (~dunj3@p200300f61714a678d85584dd45edd0a4.dip0.t-ipconnect.de) (Remote host closed the connection)
15:36:00 cheater joins (~user@unaffiliated/cheater)
15:36:52 × Guest90 quits (506fd516@gateway/web/cgi-irc/kiwiirc.com/ip.80.111.213.22) (Ping timeout: 260 seconds)
15:36:52 pavonia joins (~user@unaffiliated/siracusa)
15:37:40 _noblegas joins (uid91066@gateway/web/irccloud.com/x-wcpcufyxmgobplaq)
15:37:44 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
15:38:06 × zebrag quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
15:38:13 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
15:38:25 zebrag joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
15:38:40 <mirrorbird> i just installed ghc/cabal with ghcup, but when i try to run ghc or ghci i get "ghc: can't find a package database at /home/mirrorbird/.cabal/store..." (there's no store dir)
15:39:07 <merijn> do you have a .ghc.environment.X file in your working dir?
15:39:30 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
15:39:41 <mirrorbird> no
15:39:44 <merijn> hmm
15:39:58 <mirrorbird> i did have a system install of ghc and cabal before (debian package) but i removed it
15:40:09 <merijn> pastebin the full error?
15:40:11 <merijn> @where paste
15:40:11 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
15:40:30 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
15:40:58 <mirrorbird> merijn, https://paste.tomsmeding.com/zh7CtVAc
15:41:13 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
15:41:43 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
15:41:51 <merijn> mirrorbird: hmm, possibly left over junk from the debian package, what if you nuke ~/.cabal/ ?
15:42:08 <mirrorbird> i think i did before...
15:42:21 <mirrorbird> yeah, i did ls -la, it's all created just now
15:42:39 <merijn> mirrorbird: Did you nuke ~/.ghc too?
15:42:41 deviantfero joins (~deviantfe@190.150.27.58)
15:43:00 <mirrorbird> yeah
15:43:03 × idhugo__ quits (~idhugo@80-62-117-86-mobile.dk.customer.tdc.net) (Remote host closed the connection)
15:43:05 × DataComputist quits (~lumeng@50.43.26.251) (Ping timeout: 240 seconds)
15:43:47 <merijn> "Loaded package environment from /home/mirrorbird/.ghc/x86_64-linux-8.10.4/environments/default" <- this is telling it to look for a package database in the store dir, which doesn't exist, so I wonder what set it up to look there
15:44:14 idhugo joins (~idhugo@80-62-117-86-mobile.dk.customer.tdc.net)
15:44:24 <mirrorbird> presumably ghcup
15:44:33 <mirrorbird> hmm
15:44:38 <merijn> ghcup doesn't touch ~/.ghc, afaik?
15:44:56 <merijn> I don't seem to have anything recent in my ~/.ghc besides ghci history
15:45:08 <mirrorbird> so... how does it download new ghc versions?
15:45:20 <mirrorbird> because it downloaded 8.10.4 for me
15:45:48 <merijn> Pretty sure ghcup uses sub directories of .ghcup to put GHC versions and then only controls symlinks to select one
15:45:53 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
15:46:04 <mirrorbird> hmmm
15:46:11 <maerwald> yes
15:46:27 hendursa1 joins (~weechat@gateway/tor-sasl/hendursaga)
15:46:30 <mirrorbird> so where is this ~/.ghc coming from anyway?
15:46:36 <mirrorbird> can i remove it? it only has the environment config in it
15:47:06 <merijn> mirrorbird: Try nuking both ~/.ghc and ~/.cabal again and then running ghci again
15:47:09 <mirrorbird> i did. it works
15:47:17 <mirrorbird> no idea why it had that config file and nothing else
15:47:21 <mirrorbird> ty
15:47:32 <merijn> Like I said, I suspect leftover from debian package
15:47:47 × stree quits (~stree@68.36.8.116) (Quit: Caught exception)
15:48:11 stree joins (~stree@68.36.8.116)
15:48:16 × danza quits (~francesco@151.74.103.107) (Quit: Leaving)
15:48:22 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
15:48:36 × idhugo quits (~idhugo@80-62-117-86-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
15:48:36 <mirrorbird> ok
15:49:02 <merijn> mirrorbird: The default environment is used when you use "cabal install --lib" iirc
15:49:25 <mirrorbird> it tells me to use --lib when i try to install libs
15:50:24 <merijn> mirrorbird: Yeah, don't install libs :p
15:50:51 <merijn> (that's an oversimplification of the situation, but a decent simple heuristic)
15:51:09 × michalz quits (~user@185.246.204.79) (Remote host closed the connection)
15:51:34 <merijn> mirrorbird: That tries to behave like a "global" install, but "global" instance are just an incredibly broken idea that's best avoided
15:53:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
15:53:35 × hendursa1 quits (~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1)
15:53:48 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
15:53:57 × deviantfero quits (~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
15:54:01 shad0w_ joins (a0ca2510@160.202.37.16)
15:54:15 <mirrorbird> so... what should i do
15:55:03 <merijn> mirrorbird: The best workflow is to use a .cabal file to handle installs for libraries you use
15:55:09 <mirrorbird> ah
15:55:12 <mirrorbird> so it's installed per project?
15:55:25 <merijn> mirrorbird: Sorta, not quite
15:55:29 <mirrorbird> i think stack does this stuff but it also installs GHC per-project. i don't have that kinda disk space
15:55:41 <mirrorbird> it's installed globally but defined per project with a version
15:55:42 <mirrorbird> ?
15:55:42 <shad0w_> hi all. i am having troubles installing haskell on aarch64
15:56:02 <shad0w_> i did manage to install ghc manually
15:56:05 <merijn> mirrorbird: Basically, every package is tagged with a hash of it's version, config, transitive dependencies, etc. and that's installed in the global store (the ~/.cabal/store directory)
15:56:10 <mirrorbird> shad0w_, upgrade to Agda
15:56:15 <shad0w_> but i am at the end of my wits on cabal
15:56:30 <merijn> mirrorbird: Which means you can have unboundedly many different (potentially conflicting) installs of the same package
15:56:33 <shad0w_> cabal-install has no aarch64 binaries
15:56:37 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
15:56:56 <shad0w_> building from source is giving me all sorts of weird stuff lol
15:56:58 <merijn> mirrorbird: cabal then selectively makes coherent subsets of the store available to projects you have
15:57:04 <mirrorbird> merijn, yeah sounds gooder
15:57:14 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
15:57:24 × acidjnk_new2 quits (~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
15:57:28 <merijn> mirrorbird: So it behaves *as if* the dependencies are installed per project, except they can still be shared IFF they're exactly the same between projects
15:57:45 × remby quits (~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca) (Quit: remby)
15:57:49 <shad0w_> mirrorbird: agda? i barelly started heads and tails (no pun) of haskell
15:58:04 <shad0w_> started understanding*
15:58:04 <mirrorbird> haskell is used in industry, therefore it is no longer god tier
15:58:13 <mirrorbird> if you want god tier you need agda or something more obscure
15:58:34 <shad0w_> not sure if you're trolling ?
15:58:38 <mirrorbird> yeah
15:58:58 <merijn> mirrorbird: Some people dislike having a cabal file for even trivial 1 module program/projects, but personally I think that's a fairly trivial price to pay
15:59:31 <mirrorbird> well now i seem to have cabal globally installed
15:59:36 <mirrorbird> sorry, parsec
15:59:38 <mirrorbird> for now
15:59:42 <shad0w_> i'd pay that price happily
15:59:43 <mirrorbird> well at least ghc is working again..
15:59:52 <shad0w_> if only i could get cabal to actually install
15:59:56 <mirrorbird> shad0w_, which method did you use?
16:00:05 <mirrorbird> pacman, ghcup or haskell platform?
16:00:06 <merijn> mirrorbird: And if you put "write-ghc-environment-files: always" in ~/.cabal/config then cabal will create .ghc.environment file in your project dirs which ghci will pick up so that "ghci" in a project directory will automatically get you access to the dependencies
16:00:15 <shad0w_> ghcup flat out refuses to work
16:00:15 <mirrorbird> ah
16:00:31 <shad0w_> "unknown arch aarch64"
16:00:50 <merijn> mirrorbird: parsec and ~35 other packages are always installed globally because they're dependencies of GHC and/or Cabal
16:01:09 <shad0w_> i then went to the ghc downloads and grabbed the 8.10.4 aarch tar file from there and manually installed it from there
16:01:12 <mirrorbird> merijn, ah. it didn't work on my system install ._.
16:01:21 <mirrorbird> so i tried cabal install parsec, and it didn't work. hence ghcup and all this
16:03:06 <mirrorbird> so. i am using parsec for the first time. am i supposed to understand exactly what the Parser monad is doing behind the scenes? like, typically, when introduced to some monad
16:03:45 <mirrorbird> the little book i'm following says it's a "way to structure computations", so i can just treat it like an interface
16:04:22 <merijn> mirrorbird: I don't think you have to, some basic understanding of a simple (inefficient) parser combinator can help, but the exact details of how Parsec is implemented isn't that important
16:04:34 <c_wraith> It's keeping track of the input and how much of it has been used in the background. that's really all you need to know.
16:04:59 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
16:05:22 <merijn> mirrorbird: You can try reimplementing a simple (and super inefficient!) parser combinator yourself fairly easily
16:05:44 <merijn> mirrorbird: "newtype Parser a = MkParser (String -> Maybe (a, String))"
16:06:43 <merijn> parseChar :: Parser Char; parseChar = MkParser (\s -> case s of [] -> Nothing; (c:cs) -> Just (c, cs)" and continue building more complicated things from there :p
16:07:03 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
16:07:07 × LKoen quits (~LKoen@161.169.9.109.rev.sfr.net) (Remote host closed the connection)
16:07:10 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
16:07:19 <mirrorbird> MkParser is from parsec?
16:07:24 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
16:07:27 <merijn> mirrorbird: No, that's something I invented
16:07:30 <mirrorbird> ah
16:07:47 <merijn> mirrorbird: That example is *wildly* inefficient, but it's a good mental picture of what's going
16:08:08 remby joins (~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca)
16:08:11 <merijn> mirrorbird: "real" parser combinator libraries have a more complicated approach to handle back tracking, errors, etc. more efficiently
16:08:34 <merijn> mirrorbird: But you *can* definitely built an entire thing based on my example
16:08:36 × toorevitimirp quits (~tooreviti@117.182.181.253) (Remote host closed the connection)
16:10:12 <shad0w_> ugh. HTTP package upperbound
16:10:19 LKoen joins (~LKoen@161.169.9.109.rev.sfr.net)
16:10:56 × utdemir[m] quits (utdemirmat@gateway/shell/matrix.org/x-etixmzdenmklftaw) (Ping timeout: 240 seconds)
16:10:59 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
16:11:13 × Robin[m]2 quits (robinrobin@gateway/shell/matrix.org/x-oenrzerwnqdlodsu) (Ping timeout: 258 seconds)
16:11:13 × brightly-salty[m quits (brightly-s@gateway/shell/matrix.org/x-jqufomhtyszvsmsq) (Ping timeout: 258 seconds)
16:11:13 × DamienCassou quits (damiencass@gateway/shell/matrix.org/x-ehririswtvvgitdp) (Ping timeout: 258 seconds)
16:11:28 utdemir[m] joins (utdemirmat@gateway/shell/matrix.org/x-ooablpupuwhzomuh)
16:11:45 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
16:11:49 Robin[m]2 joins (robinrobin@gateway/shell/matrix.org/x-qphxaxtkmuztcpcw)
16:12:40 nbloomf joins (~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01)
16:14:29 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:15:26 × Lurkki[m] quits (lurkkipriv@gateway/shell/matrix.org/x-ifysnhrhmhtvxswn) (Ping timeout: 240 seconds)
16:15:55 × phittacus quits (bklmatrixo@gateway/shell/matrix.org/x-wukauznmspndycqi) (Ping timeout: 272 seconds)
16:15:56 × Lurkki[m]1 quits (lurkkifene@gateway/shell/matrix.org/x-hvcdkotidxdodjzo) (Ping timeout: 240 seconds)
16:16:29 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
16:16:42 × shad0w_ quits (a0ca2510@160.202.37.16) (Ping timeout: 240 seconds)
16:17:08 phittacus joins (bklmatrixo@gateway/shell/matrix.org/x-gwycjuommpiiwoem)
16:18:20 Lurkki[m] joins (lurkkipriv@gateway/shell/matrix.org/x-vlaovxmnmfvldkrr)
16:19:23 akhov joins (~akh@89.45.7.204)
16:21:17 <ph88> hey guys. I have a data type similar to data MyContainer = MyValue a | MyMoreValue (MyContainer a) a i would like to use it together with a function like f (MyValue _) = True; f _ = False not directly using this function, but using a helper function like foldl' that goes through the recursive type until the end or until a condition is met. Does anyone know such a helper function ?
16:21:37 <ph88> that should be data MyContainer a = ... by the way
16:23:59 × pjb quits (~t@2a01cb04063ec500e957b7f6a07fc93a.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds)
16:24:24 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:25:20 DamienCassou joins (damiencass@gateway/shell/matrix.org/x-cdrscbrrnlsyfxmv)
16:25:55 brightly-salty[m joins (brightly-s@gateway/shell/matrix.org/x-snmrzfzjcxolluhr)
16:26:05 × remby quits (~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca) (Quit: remby)
16:28:00 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
16:28:43 pjb joins (~t@2a01cb04063ec5000d634482ebf2e83c.ipv6.abo.wanadoo.fr)
16:28:44 alx741 joins (~alx741@181.196.68.69)
16:30:07 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
16:30:21 Lurkki[m]1 joins (lurkkifene@gateway/shell/matrix.org/x-zarozkxjqrysvbzp)
16:30:26 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
16:30:50 Guest_6 joins (2f0f71ab@47.15.113.171)
16:31:17 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
16:32:26 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
16:33:33 <Guest_6> how to uninstall older ghc verions?
16:33:33 nbloomf joins (~nbloomf@2600:1700:ad14:3020:ac0a:212f:8c2a:8e74)
16:34:00 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
16:34:11 conal joins (~conal@64.71.133.70)
16:35:39 <merijn> Guest_6: How did you install them?
16:36:11 <Guest_6> well I had installed the haskell platform.
16:36:24 <merijn> Haskell platform should have an uninstaller, iirc
16:38:06 × zebrag quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
16:38:10 jcjf joins (AdiIRC@203-219-235-226.static.tpgi.com.au)
16:38:25 zebrag joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
16:38:32 × jcjf quits (AdiIRC@203-219-235-226.static.tpgi.com.au) (Client Quit)
16:39:20 jcjf joins (AdiIRC@203-219-235-226.static.tpgi.com.au)
16:39:28 × son0p quits (~son0p@181.136.122.143) (Ping timeout: 272 seconds)
16:39:57 × jcjf quits (AdiIRC@203-219-235-226.static.tpgi.com.au) (Client Quit)
16:40:23 Sheilong joins (uid293653@gateway/web/irccloud.com/x-rkfjjfjswoaocqaj)
16:40:39 ezrakilty joins (~ezrakilty@97-113-55-149.tukw.qwest.net)
16:42:04 <Guest_6> i dont think it does. I use ubuntu.
16:43:09 <monochrom> Answers are no more detailed than questions.
16:43:15 forgottenone joins (~forgotten@176.42.28.68)
16:43:51 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 268 seconds)
16:44:22 × davros quits (~davros@host86-185-136-83.range86-185.btcentralplus.com) (Ping timeout: 265 seconds)
16:45:31 <Guest_6> ?? I was having trouble with cabal versions. someone recommended I use ghcup. so I installed ghcup and ghcup installed ghc and cabal versions I wanted. but system still referring to old versions.
16:45:31 <lambdabot> I was having trouble with cabal versions. someone recommended I use ghcup. so I installed ghcup and ghcup installed ghc and cabal versions I wanted. but system still referring to old versions.
16:45:35 sord937 joins (~sord937@gateway/tor-sasl/sord937)
16:46:02 <maerwald> ?? lol
16:46:02 <lambdabot> lol
16:46:18 <merijn> Interesting
16:46:22 <monochrom> What steps did you do to install the old version? For example was it "apt-get"? What was it?
16:46:40 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
16:47:13 <Guest_6> Yes
16:47:21 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
16:47:31 <monochrom> So use "apt-get remove" or something
16:47:32 <Guest_6> "sudo apt-get install haskell-platform"
16:48:03 davros joins (~davros@host86-184-190-159.range86-184.btcentralplus.com)
16:49:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:49:57 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
16:50:43 × seye quits (~seye@79-74-139-62.dynamic.dsl.as9105.com) (Remote host closed the connection)
16:50:46 <aldum> you likely need to add the ghcup bindir to your PATH and set the version you want with ghcup
16:51:08 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
16:51:37 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
16:51:45 DataComputist joins (~lumeng@50.43.26.251)
16:52:18 <monochrom> ghcup would have reminded you of that.
16:53:11 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
16:53:30 <monochrom> The author painstakingly coded up an elaborate algorithm to auto-detect which OS you're on and give tailor-made instructions.
16:53:37 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
16:53:46 <monochrom> I don't want to see all that work go down the drain.
16:54:48 × revtintin quits (~revtintin@42.61.242.247) (Quit: WeeChat 1.9.1)
16:55:09 <Guest_6> Well at the end of ghcup installation it said: If you want ghcup to automatically add the required PATH variable to "../.bashrc"answer with YES, otherwise with NO and press ENTER. I said YES and that was all.
16:55:33 <c_wraith> I think ghcup has trouble with macs when your shell is bash but the system default is zsh
16:56:07 <merijn> tbh, I think the value of ghcup is marginal on macOS anyway
16:56:20 <merijn> On linux it can be hard to figure out which GHC bindist to get
16:56:28 <merijn> There is only one macOS bindist :p
16:56:31 × terrorjack quits (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Read error: Connection reset by peer)
16:56:42 <monochrom> What macOS? I thought I heard "ubuntu".
16:56:47 <Guest_6> I am not using mac, lol.
16:56:53 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
16:57:07 <c_wraith> I was mostly pointing out that there are cases where ghcup updates the wrong config
16:57:31 jamm_ joins (~jamm@unaffiliated/jamm)
16:57:35 <maerwald> merijn: it's more popular on mac than on linux
16:57:38 <c_wraith> however, it's also possible that it updated the right config and you just need to start a new shell so that it sees the changes
16:57:42 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
16:57:51 terrorjack joins (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
16:58:05 <merijn> maerwald: Well, in my defense I don't say anything about popularity ;)
16:58:21 <maerwald> merijn: yeah, usefulness is subjective I guess
16:58:33 <c_wraith> unrelated.. how long until there are two ghc bindists on mac?
16:58:56 <merijn> c_wraith: 9.2 is going to be the first with a native build, iirc
16:59:04 <c_wraith> ok, so not that long.
16:59:12 <merijn> c_wraith: codegen won't be finished before then
16:59:18 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
16:59:19 <monochrom> . o O ( McAfee Antivrius has only marginal value on Windows but very popular there... )
16:59:19 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
16:59:35 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
16:59:38 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
16:59:39 <ephemient> a single bindist with fat binaries would be possible, probably?
16:59:49 <Guest_6> c_wraith yes, that was it. Thank you!
16:59:54 <sclv> what did you just call my binaries???
17:00:08 <ephemient> apt-get remove haskell-platform; apt-get autoremove
17:00:10 <merijn> ephemient: Yeah, but as someone who likes fat binaries that seems excessive :)
17:00:23 <c_wraith> Guest_6: yeah, shells only read those config files at startup, unless you tell them otherwise. starting a new one is the cleanest way to check for that
17:01:02 <merijn> ephemient: I mean, GHC is already fairly sizable, and I don't think doubling that size is that ideal :)
17:01:11 geekosaur joins (82650c7a@130.101.12.122)
17:01:24 <akhov> Hi. I'm looking to play music of various formats (mp3, aac, flac, etc.) from haskell. I'm not familiar with sound libraries for haskell. I'm currently trying with sdl2-mixer, which seems to work okay, but I'd like to hear if there are other good library options for this task. Any ideas?
17:01:50 <sclv> fat binary CURLs you make the rockin world go round
17:02:36 <ephemient> merijn: yeah I don't think it is a good idea either, just that it's possible :)
17:02:54 mananamenos joins (~mananamen@37.red-88-27-26.staticip.rima-tde.net)
17:06:30 jamm__ joins (~jamm@unaffiliated/jamm)
17:06:30 conal joins (~conal@64.71.133.70)
17:09:45 × zhulikas quits (~derp@hmm.wantstofly.org) (Ping timeout: 272 seconds)
17:09:45 × abuss quits (~abuss@cryptarch.net) (Ping timeout: 272 seconds)
17:11:17 × rembo10 quits (~rembo10@wally.codeshy.com) (Remote host closed the connection)
17:12:14 × comboy quits (~quassel@tesuji.pl) (Remote host closed the connection)
17:15:22 × kuribas quits (~user@ptr-25vy0i7m118p8sxvfsb.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
17:16:27 × Marissa quits (Marissa@33.anserq.com) (Quit: Marissa)
17:16:52 × Guest_6 quits (2f0f71ab@47.15.113.171) (Quit: Connection closed)
17:16:52 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:16:52 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
17:16:52 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
17:16:52 deviantfero joins (~deviantfe@190.150.27.58)
17:16:52 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:16:52 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
17:16:53 <ephemient> sclv: if SDL works for you then great, I don't think any of the alternatives are up to date
17:16:53 <monochrom> do you mean akhov?
17:16:53 <ephemient> oops, I did mean akhov
17:16:53 <ephemient> I remember using the Xine bindings in the past, but both Xine and the bindings are pretty outdated by now
17:16:53 <polyphem> akhov: hsndfile letsyou load all kinds of files doesnt play though
17:16:53 zhulikas_ joins (~derp@hmm.wantstofly.org)
17:16:53 jcarpenter2 joins (~rofl@96.78.87.197)
17:16:53 francesco_ joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
17:16:53 cheater1 joins (~user@unaffiliated/cheater)
17:16:53 tzh_ joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:16:53 abuss_ joins (~abuss@cryptarch.net)
17:16:54 smerdyakov99 joins (~dan@5.146.194.90)
17:16:54 dorkside8 joins (~tdbgamer@208.190.197.222)
17:16:54 <sclv> lots on this page is probably pretty out of date but it does have pointers to various things
17:16:54 <sclv> https://wiki.haskell.org/Applications_and_libraries/Music_and_sound
17:16:54 <ephemient> it probably wouldn't be hard to write your own bindings to libao for playback while using hsndfile for decoding
17:16:54 madnificent_ joins (~madnifice@static.210.74.63.178.clients.your-server.de)
17:16:54 lep_ joins (~lep@94.31.86.183)
17:16:54 xwvvvvwx- joins (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
17:16:54 [tby] joins (~tby@193.234.28.91)
17:16:54 <ephemient> (although I don't see any benefit to that over sdl)
17:16:54 <polyphem> akhov: ... you have access to the sample data , then you can choose your playing backend like jack/pulse , or windows/macos
17:16:55 inkbottle joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
17:16:55 × dh quits (dh@bsd.ee) (Disconnected by services)
17:16:55 rembo10_ joins (~rembo10@wally.codeshy.com)
17:16:55 dh_ joins (dh@bsd.ee)
17:16:55 Anthaas_ joins (~Anthaas@unaffiliated/anthaas)
17:16:55 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
17:16:55 <ephemient> libao unifies the possible backends on different platforms with a single API. but so does sdl
17:16:55 ManofLetters joins (~mikon@duch.mimuw.edu.pl)
17:16:56 quinn_ joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
17:16:56 <geekosaur> sdl carries a bunch of other unnecessary-for-this stuff, though, since its primary purpose is graphics and the sound support is mostly to ensure sound is synchronized with the graphics
17:16:56 Kneiva joins (kneiva@raah.fi)
17:16:56 bobbytab1es joins (~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com)
17:16:56 Tordek_ joins (tordek@gateway/shell/blinkenshell.org/x-nqrlseprzuujscsp)
17:16:56 juri__ joins (~juri@178.63.35.222)
17:16:56 theDon_ joins (~td@muedsl-82-207-238-165.citykom.de)
17:16:56 ridcully__ joins (~ridcully@pd951f269.dip0.t-ipconnect.de)
17:16:56 kumo joins (~kumo@139.180.144.166)
17:16:56 Patternm1ster joins (~georg@li1192-118.members.linode.com)
17:16:56 newsham_ joins (~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com)
17:16:56 tsaka__ joins (~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2)
17:16:56 Chousuke_ joins (oranenj@130.230.72.140)
17:16:56 kfm joins (~weechat@static.173.83.99.88.clients.your-server.de)
17:16:56 oleks_ joins (~oleks@188.166.34.97)
17:16:56 afreakk joins (~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com)
17:16:56 voidcontext joins (~pgee@178.62.100.221)
17:16:56 SIben_ joins (~SIben@101.ip-164-132-107.eu)
17:16:56 AWizzArd_ joins (~code@gehrels.uberspace.de)
17:16:56 comboy joins (~quassel@tesuji.pl)
17:16:56 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
17:16:57 kenran joins (~kenran@i577BCDAF.versanet.de)
17:16:57 <ephemient> it's just nice that sdl_mixer is is all in one, you can just give audio files to it directly
17:16:57 <ephemient> that's what I used to use Xine for, but I don't recommend that this decade
17:16:57 loc_ joins (~loc@unaffiliated/loc)
17:16:57 × Geekingfrog quits (~geekingfr@li2156-64.members.linode.com) (Quit: ZNC 1.8.2 - https://znc.in)
17:16:57 Geekingfrog joins (~geekingfr@li2156-64.members.linode.com)
17:16:57 Marissa joins (Marissa@33.anserq.com)
17:17:28 gareth__- joins (~gareth__@104.236.161.134)
17:17:30 Cthalupa- joins (~cthulhu@47.186.47.75)
17:17:30 jdt_ joins (~jdt@208.85.233.130)
17:18:05 acro_ joins (~acro@188.166.31.185)
17:18:05 × acro_ quits (~acro@188.166.31.185) (Changing host)
17:18:05 acro_ joins (~acro@unaffiliated/acro)
17:18:44 ridcully__ is now known as ridcully
17:18:44 × ridcully quits (~ridcully@pd951f269.dip0.t-ipconnect.de) (Client Quit)
17:18:44 conal_ joins (~conal@64.71.133.70)
17:18:46 ridcully joins (~ridcully@pd951f269.dip0.t-ipconnect.de)
17:18:48 × conal quits (~conal@64.71.133.70) (*.net *.split)
17:18:48 × zebrag quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (*.net *.split)
17:18:48 × cheater quits (~user@unaffiliated/cheater) (*.net *.split)
17:18:49 × vancoder quits (~vancoder@195.140.213.38) (*.net *.split)
17:18:49 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (*.net *.split)
17:18:49 × todda7 quits (~torstein@athedsl-258913.home.otenet.gr) (*.net *.split)
17:18:49 × bergey``` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (*.net *.split)
17:18:49 × theDon quits (~td@muedsl-82-207-238-165.citykom.de) (*.net *.split)
17:18:49 × clog quits (~nef@bespin.org) (*.net *.split)
17:18:49 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (*.net *.split)
17:18:50 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (*.net *.split)
17:18:50 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (*.net *.split)
17:18:50 × gareth__ quits (~gareth__@104.236.161.134) (*.net *.split)
17:18:50 × Cthalupa quits (~cthulhu@47.186.47.75) (*.net *.split)
17:18:50 × juri_ quits (~juri@178.63.35.222) (*.net *.split)
17:18:50 × kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (*.net *.split)
17:18:50 × jrqc quits (~rofl@96.78.87.197) (*.net *.split)
17:18:50 × Tordek quits (tordek@gateway/shell/blinkenshell.org/x-vlalsbbinvvnpydl) (*.net *.split)
17:18:50 × madnificent quits (~madnifice@static.210.74.63.178.clients.your-server.de) (*.net *.split)
17:18:50 × dorkside quits (~tdbgamer@208.190.197.222) (*.net *.split)
17:18:50 × deu quits (de@uio.re) (*.net *.split)
17:18:50 × Chousuke quits (oranenj@130.230.72.140) (*.net *.split)
17:18:50 × Kneiva_ quits (kneiva@raah.fi) (*.net *.split)
17:18:50 × acro quits (~acro@unaffiliated/acro) (*.net *.split)
17:18:50 × bobbytables quits (~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com) (*.net *.split)
17:18:50 × ridcully_ quits (~ridcully@pd951f269.dip0.t-ipconnect.de) (*.net *.split)
17:18:50 × mikolaj_ quits (~mikon@duch.mimuw.edu.pl) (*.net *.split)
17:18:50 × voidcont1xt quits (~pgee@178.62.100.221) (*.net *.split)
17:18:50 × hololeap quits (~hololeap@unaffiliated/hololeap) (*.net *.split)
17:18:50 × jdt quits (~jdt@208.85.233.130) (*.net *.split)
17:18:51 × Moyst_ quits (~moyst@212-149-213-144.bb.dnainternet.fi) (*.net *.split)
17:18:51 × smerdyakov9 quits (~dan@5.146.194.90) (*.net *.split)
17:18:51 × AWizzArd quits (~code@gehrels.uberspace.de) (*.net *.split)
17:18:51 × lep-delete quits (~lep@94.31.86.183) (*.net *.split)
17:18:51 × kum0 quits (~kumo@139.180.144.166) (*.net *.split)
17:18:51 × quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (*.net *.split)
17:18:51 × Anthaas quits (~Anthaas@unaffiliated/anthaas) (*.net *.split)
17:18:51 × tby quits (~tby@unaffiliated/tby) (*.net *.split)
17:18:51 × xwvvvvwx quits (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (*.net *.split)
17:18:51 × newsham quits (~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com) (*.net *.split)
17:18:51 × oleks quits (~oleks@188.166.34.97) (*.net *.split)
17:18:51 × SIben quits (~SIben@101.ip-164-132-107.eu) (*.net *.split)
17:18:51 × loc quits (~loc@unaffiliated/loc) (*.net *.split)
17:18:51 × coddinkn quits (~coddinkn@octayn.net) (*.net *.split)
17:18:51 × afreak quits (~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com) (*.net *.split)
17:18:51 × Patternmaster quits (~georg@li1192-118.members.linode.com) (*.net *.split)
17:18:51 acro_ is now known as acro
17:18:51 xwvvvvwx- is now known as xwvvvvwx
17:18:52 Lord_of_Life_ is now known as Lord_of_Life
17:18:52 dorkside8 is now known as dorkside
17:18:55 cheater1 is now known as cheater
17:18:59 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
17:19:15 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:19:32 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:19:46 theDon_ is now known as theDon
17:19:57 deu joins (de@uio.re)
17:21:12 × adamse quits (sid72084@gateway/web/irccloud.com/x-nfjyclyjqzkoolro) (Ping timeout: 246 seconds)
17:21:12 <akhov> Thanks, I'll need to look into some of these options.
17:21:17 07IAAUNM6 joins (~user@unaffiliated/cheater)
17:21:17 vancoder joins (~vancoder@195.140.213.38)
17:21:17 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:21:17 bergey``` joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
17:21:17 07IAAUMCE joins (~td@muedsl-82-207-238-165.citykom.de)
17:21:17 clog joins (~nef@bespin.org)
17:21:17 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
17:21:17 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
17:21:17 Cthalupa joins (~cthulhu@47.186.47.75)
17:21:17 juri_ joins (~juri@178.63.35.222)
17:21:17 kmein joins (~weechat@static.173.83.99.88.clients.your-server.de)
17:21:17 jrqc joins (~rofl@96.78.87.197)
17:21:17 07IAAT3WR joins (~tdbgamer@208.190.197.222)
17:21:17 07IAAT3SA joins (de@uio.re)
17:21:17 Kneiva_ joins (kneiva@raah.fi)
17:21:17 bobbytables joins (~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com)
17:21:17 hololeap joins (~hololeap@unaffiliated/hololeap)
17:21:17 smerdyakov9 joins (~dan@5.146.194.90)
17:21:17 AWizzArd joins (~code@gehrels.uberspace.de)
17:21:17 lep-delete joins (~lep@94.31.86.183)
17:21:17 kum0 joins (~kumo@139.180.144.166)
17:21:17 quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
17:21:17 tby joins (~tby@unaffiliated/tby)
17:21:17 afreak joins (~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com)
17:21:17 newsham joins (~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com)
17:21:17 oleks joins (~oleks@188.166.34.97)
17:21:17 loc joins (~loc@unaffiliated/loc)
17:21:17 Patternmaster joins (~georg@li1192-118.members.linode.com)
17:21:19 × vancoder quits (~vancoder@195.140.213.38) (Excess Flood)
17:21:26 × hololeap quits (~hololeap@unaffiliated/hololeap) (Excess Flood)
17:21:31 <ph88> anyone know what is new in lens 5 ?
17:21:40 × juri_ quits (~juri@178.63.35.222) (Max SendQ exceeded)
17:21:40 × loc quits (~loc@unaffiliated/loc) (Max SendQ exceeded)
17:21:42 × quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Max SendQ exceeded)
17:21:42 × jrqc quits (~rofl@96.78.87.197) (Max SendQ exceeded)
17:21:44 × smerdyakov9 quits (~dan@5.146.194.90) (Max SendQ exceeded)
17:21:47 × 07IAAT3SA quits (de@uio.re) (Max SendQ exceeded)
17:21:47 × tby quits (~tby@unaffiliated/tby) (Max SendQ exceeded)
17:21:53 hololeap joins (~hololeap@unaffiliated/hololeap)
17:22:15 × gareth__- quits (~gareth__@104.236.161.134) (Ping timeout: 246 seconds)
17:22:22 coddinkn joins (~coddinkn@octayn.net)
17:22:25 <merijn> hmm, I wish that linewrapping function arguments wasn't so awkward :\
17:22:29 × 07IAAUNM6 quits (~user@unaffiliated/cheater) (Ping timeout: 254 seconds)
17:22:29 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 254 seconds)
17:22:29 × bergey``` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 254 seconds)
17:22:29 × 07IAAUMCE quits (~td@muedsl-82-207-238-165.citykom.de) (Ping timeout: 254 seconds)
17:22:30 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Ping timeout: 254 seconds)
17:22:30 × Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 254 seconds)
17:22:30 × kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Ping timeout: 254 seconds)
17:22:30 × 07IAAT3WR quits (~tdbgamer@208.190.197.222) (Ping timeout: 254 seconds)
17:22:30 × Kneiva_ quits (kneiva@raah.fi) (Ping timeout: 254 seconds)
17:22:30 × bobbytables quits (~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com) (Ping timeout: 254 seconds)
17:22:30 × AWizzArd quits (~code@gehrels.uberspace.de) (Ping timeout: 254 seconds)
17:22:30 × lep-delete quits (~lep@94.31.86.183) (Ping timeout: 254 seconds)
17:22:30 × kum0 quits (~kumo@139.180.144.166) (Ping timeout: 254 seconds)
17:22:30 × newsham quits (~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com) (Ping timeout: 254 seconds)
17:22:30 × oleks quits (~oleks@188.166.34.97) (Ping timeout: 254 seconds)
17:22:31 × afreak quits (~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com) (Ping timeout: 254 seconds)
17:22:31 × Patternmaster quits (~georg@li1192-118.members.linode.com) (Ping timeout: 254 seconds)
17:22:31 adamse joins (sid72084@gateway/web/irccloud.com/x-aclnvpawmutdmwmu)
17:22:45 × Alleria__ quits (~textual@zrcout.mskcc.org) (Ping timeout: 264 seconds)
17:23:18 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 246 seconds)
17:23:21 × natechan quits (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
17:23:39 <akhov> I don't know if sdl2-mixer can support all the formats needed (common music formats), could it maybe be combined with hsndfile for this?
17:24:06 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
17:24:21 gareth__ joins (~gareth__@104.236.161.134)
17:24:25 Alleria joins (~textual@zrcout.mskcc.org)
17:24:26 giogiogio joins (5e89ad7c@94.137.173.124)
17:24:43 bo__ joins (~bo@91.222.250.87)
17:24:48 Alleria is now known as Guest28622
17:24:49 natechan joins (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
17:25:43 × MrMuffles[m] quits (mrmufflesm@gateway/shell/matrix.org/x-zaslzxsnkeypyaom) (Ping timeout: 244 seconds)
17:25:44 × themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-virzyuwrowrrlwks) (Ping timeout: 244 seconds)
17:26:14 × bram[m]1 quits (bramvdbnet@gateway/shell/matrix.org/x-igtbrtpgsohexrhp) (Ping timeout: 244 seconds)
17:26:14 × jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-jshzqkyonzxbmhkb) (Ping timeout: 244 seconds)
17:26:14 × sramsay64[m] quits (sramsay64p@gateway/shell/matrix.org/x-wgtgoydyvczhmnjh) (Ping timeout: 244 seconds)
17:26:14 × a-tsioh[m] quits (a-tsiohmat@gateway/shell/matrix.org/x-vcxfulhlegqmiopj) (Ping timeout: 244 seconds)
17:26:14 × CaptainYukinoshi quits (captain-yu@gateway/shell/matrix.org/x-cfutskndikhbnnrj) (Ping timeout: 244 seconds)
17:26:15 × shutendoji[m] quits (shutendoji@gateway/shell/matrix.org/x-nwuyyykkdcqsffue) (Ping timeout: 244 seconds)
17:26:15 × doct0rhu[m] quits (doct0rhumo@gateway/shell/matrix.org/x-eazlsjvgzumpzoni) (Ping timeout: 244 seconds)
17:26:15 × VarikValefor[m] quits (varikvalef@gateway/shell/matrix.org/x-wtftytlhagluwmdg) (Ping timeout: 244 seconds)
17:26:16 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-rodrvszvsnrqkfek) (Ping timeout: 244 seconds)
17:26:16 × toasty_avocado[m quits (toastyavoc@gateway/shell/matrix.org/x-cgfvzbchbbdokzvi) (Ping timeout: 244 seconds)
17:26:16 × mly[m] quits (mlydisenco@gateway/shell/matrix.org/x-ruvwvdmdzsujcipy) (Ping timeout: 244 seconds)
17:26:16 × bitonic quits (bitonicmat@gateway/shell/matrix.org/x-toickgbzigzbsfbm) (Ping timeout: 244 seconds)
17:26:16 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-beuyrqjzjrcpwkkf) (Ping timeout: 244 seconds)
17:26:16 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-vyrexossovlljgaw) (Ping timeout: 244 seconds)
17:26:16 × hyiltiz-M quits (hyiltizkde@gateway/shell/kde/matrix/x-wucfjefiyjpgnwax) (Ping timeout: 244 seconds)
17:26:33 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
17:26:34 __minoru__shirae joins (~shiraeesh@46.34.206.35)
17:26:38 <tomsmeding> maralorn: the C function is wcwidth
17:26:47 × borne quits (~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
17:27:00 PacoV joins (~PCoves@16.194.31.93.rev.sfr.net)
17:27:01 giogiogio64 joins (5e89ad7c@94.137.173.124)
17:27:04 <tomsmeding> emoji width related problems often boil down to libc having an outdated unicode table, meaning that wcwidth fails
17:27:06 <PacoV> Hi there.
17:27:23 <tomsmeding> @hackage wcwidth
17:27:23 <lambdabot> https://hackage.haskell.org/package/wcwidth
17:27:26 <tomsmeding> seems to exist?
17:27:36 <PacoV> Do you guys know any good resource about building a windows binary from my linux box?
17:27:59 <PacoV> I made a soft for my GF's work and it works fine in gitlab CI.
17:28:13 bram[m]1 joins (bramvdbnet@gateway/shell/matrix.org/x-pynuwbnylnthgwie)
17:28:30 <PacoV> But I'd like to compile a native executable for her not to wait multiples minutes at every push.
17:28:35 idhugo joins (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net)
17:28:39 × DataComputist quits (~lumeng@50.43.26.251) (Quit: Leaving...)
17:28:55 <PacoV> I've seen stuff about cross compiling ghc.
17:29:05 <PacoV> But that's not what I'm looking for.
17:29:08 <geekosaur> I think the only reliable way to do it is to run a Windows instance in a VM; cross-compiling is limited
17:29:55 <PacoV> That's my only viable approach at the moment indeed.
17:30:02 × giogiogio quits (5e89ad7c@94.137.173.124) (Ping timeout: 240 seconds)
17:30:08 frozenErebus joins (~frozenEre@94.128.219.166)
17:31:00 DataComputist joins (~lumeng@50.43.26.251)
17:31:28 × Batoeh quits (~user@152.208.55.30) (Remote host closed the connection)
17:32:56 × bo__ quits (~bo@91.222.250.87) (Ping timeout: 240 seconds)
17:34:51 × Benzi-Junior quits (~BenziJuni@dsl-149-67-143.hive.is) (Ping timeout: 246 seconds)
17:38:06 × inkbottle quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
17:38:15 × mirrorbird quits (~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) (Ping timeout: 272 seconds)
17:38:24 inkbottle joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
17:39:17 hyiltiz-M joins (hyiltizkde@gateway/shell/kde/matrix/x-ivzwdsjrvmnmdqmv)
17:39:42 MrMuffles[m] joins (mrmufflesm@gateway/shell/matrix.org/x-mrblnlwbznzgfknm)
17:39:47 × ezrakilty quits (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
17:39:55 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-wkjrelmxcbmcuyyo)
17:40:20 themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-dfuiiqncmxkegsdu)
17:40:28 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
17:40:36 bennofs1 joins (~benno@dslb-188-106-241-024.188.106.pools.vodafone-ip.de)
17:40:59 wtw joins (~wtw@unaffiliated/wtw)
17:41:01 jmo` joins (~user@h-162-127.A785.priv.bahnhof.se)
17:41:31 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-bplnxbphxbhcjwro)
17:41:33 sramsay64[m] joins (sramsay64p@gateway/shell/matrix.org/x-inungnqziynynwaa)
17:41:51 shutendoji[m] joins (shutendoji@gateway/shell/matrix.org/x-ickvdsehywfzlema)
17:42:05 PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-wvswkvbniyocfxqn)
17:42:28 bitonic joins (bitonicmat@gateway/shell/matrix.org/x-lqhowavprqkgavmy)
17:43:01 toasty_avocado[m joins (toastyavoc@gateway/shell/matrix.org/x-drpneulxfvsnmqty)
17:43:07 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-aliilzvfpxrienry)
17:43:18 VarikValefor[m] joins (varikvalef@gateway/shell/matrix.org/x-zpbsrsatgvyjyyda)
17:43:25 mly[m] joins (mlydisenco@gateway/shell/matrix.org/x-sgyelsuopxjzxkpo)
17:43:26 doct0rhu[m] joins (doct0rhumo@gateway/shell/matrix.org/x-adqjzaenstckgbzs)
17:43:34 CaptainYukinoshi joins (captain-yu@gateway/shell/matrix.org/x-oqlacnjkofwdfnvx)
17:44:35 a-tsioh[m] joins (a-tsiohmat@gateway/shell/matrix.org/x-lkrwfyxpsvcpqlyf)
17:47:29 <PacoV> Well, virtualbox, here I come.
17:47:33 <PacoV> Thanks geekosaur .
17:47:35 × PacoV quits (~PCoves@16.194.31.93.rev.sfr.net) (Quit: leaving)
17:51:01 <ph88> when i do deriving (Data) i get error Not in scope: type constructor or class ‘Data’ i have on top of source file {-# LANGUAGE DeriveDataTypeable #-} why does this not work ?
17:51:24 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:51:28 Digit joins (~user@fsf/member/digit)
17:51:52 <koz_> ph88: You need to import Data.Data (Data).
17:52:23 <koz_> (something something named it thrice)
17:52:46 <ph88> thanks koz_ i will try this ... strange that this guide here doesn't mention any imports https://chrisdone.com/posts/data-typeable/
17:53:22 <koz_> This guide is ancient.
17:53:28 <koz_> It's using old Typeable as well.
17:54:52 jathan joins (~jathan@69.61.93.38)
17:54:59 × bennofs1 quits (~benno@dslb-188-106-241-024.188.106.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
17:55:01 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
17:55:42 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
17:56:07 × stree quits (~stree@68.36.8.116) (Ping timeout: 256 seconds)
17:57:03 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
17:57:38 <monochrom> Not strange, if you s/guide/blog/
17:59:54 kam1 joins (~kam1@5.126.205.103)
17:59:55 <monochrom> Bloggers blog for their excitement and echo chamber.
18:02:39 juri__ is now known as juri_
18:03:30 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:06:24 <merijn> monochrom: As always, you get what you pay for ;)
18:07:06 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 268 seconds)
18:07:31 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Remote host closed the connection)
18:07:44 ephemera_ joins (~E@122.34.1.187)
18:07:56 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
18:09:24 stree joins (~stree@68.36.8.116)
18:09:36 francesco_ is now known as Franciman
18:09:45 × giogiogio64 quits (5e89ad7c@94.137.173.124) (Quit: Connection closed)
18:10:08 tremon joins (~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
18:14:34 lambda-11235 joins (~lambda-11@2600:1700:7c70:4600:b196:3409:30dd:179)
18:16:38 <ph88> still old blog post is the go to reference for me :/
18:20:39 × rajivr quits (uid269651@gateway/web/irccloud.com/x-stnwmfefysqdqgfx) (Quit: Connection closed for inactivity)
18:21:56 × ephemera_ quits (~E@122.34.1.187) (Ping timeout: 240 seconds)
18:22:43 × conal_ quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
18:23:29 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
18:23:49 jlixier joins (c036de8c@192.54.222.140)
18:23:49 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
18:24:00 × alx741 quits (~alx741@181.196.68.69) (Quit: alx741)
18:24:37 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
18:24:39 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
18:24:56 conal joins (~conal@64.71.133.70)
18:27:43 ephemera_ joins (~E@122.34.1.187)
18:31:16 × ephemera_ quits (~E@122.34.1.187) (Client Quit)
18:32:47 ephemera_ joins (~E@122.34.1.187)
18:33:33 × kam1 quits (~kam1@5.126.205.103) (Ping timeout: 264 seconds)
18:33:33 × jmo` quits (~user@h-162-127.A785.priv.bahnhof.se) (Remote host closed the connection)
18:33:47 jmo` joins (~user@h-162-127.A785.priv.bahnhof.se)
18:34:04 mirrorbird joins (~psutcliff@m83-187-183-132.cust.tele2.se)
18:37:22 × jlixier quits (c036de8c@192.54.222.140) (Ping timeout: 240 seconds)
18:38:04 × inkbottle quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
18:38:24 inkbottle joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
18:39:17 × jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
18:39:40 hexfive joins (~hexfive@50.35.83.177)
18:43:07 howdoi joins (uid224@gateway/web/irccloud.com/x-ijfgnxevsuazdmff)
18:46:57 knupfer joins (~Thunderbi@200116b82c5ea200d98b844e05bfb7bb.dip.versatel-1u1.de)
18:47:32 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
18:48:07 kam1 joins (~kam1@5.126.205.103)
18:49:09 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 264 seconds)
18:49:56 × mananamenos quits (~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 240 seconds)
18:49:57 × incertia quits (~incertia@d4-50-26-103.nap.wideopenwest.com) (Ping timeout: 256 seconds)
18:51:23 × knupfer quits (~Thunderbi@200116b82c5ea200d98b844e05bfb7bb.dip.versatel-1u1.de) (Remote host closed the connection)
18:53:21 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 256 seconds)
18:53:42 Tario joins (~Tario@201.192.165.173)
18:55:32 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
18:56:15 × jmo` quits (~user@h-162-127.A785.priv.bahnhof.se) (Remote host closed the connection)
18:56:42 jmo` joins (~user@h-162-127.A785.priv.bahnhof.se)
18:57:27 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
18:58:15 justsomeguy makes a mental note to make all his examples reproducable if he ever writes something in a blog.
18:58:42 <justsomeguy> (...and also to include version numbers, dates, etc in the written content)
18:58:57 × DataComputist quits (~lumeng@50.43.26.251) (Quit: Leaving...)
19:00:07 Benzi-Junior joins (~BenziJuni@dsl-149-67-143.hive.is)
19:00:55 DataComputist joins (~lumeng@50.43.26.251)
19:02:16 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
19:02:16 electricityZZZZ joins (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net)
19:02:40 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
19:03:02 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
19:03:36 berberman joins (~berberman@unaffiliated/berberman)
19:04:02 mananamenos joins (~mananamen@37.red-88-27-26.staticip.rima-tde.net)
19:05:51 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
19:06:02 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
19:06:13 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
19:08:05 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
19:08:06 <hololeap> most of the haskell blogs i've seen write their pages so that they also function as lhs files, so you can (hopefully) compile the blog post with GHC
19:09:03 landonf1 joins (~landonf@195.140.213.38)
19:10:22 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
19:10:31 knupfer joins (~Thunderbi@200116b82c5ea20060fd90b099ff5103.dip.versatel-1u1.de)
19:10:36 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 240 seconds)
19:11:08 <mirrorbird> LHS is really cool
19:12:32 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 258 seconds)
19:15:16 × mananamenos quits (~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 240 seconds)
19:15:56 <hololeap> yeah it's kind of crazy how it embeds so easily into html and markdown without any extra work
19:16:18 <hololeap> well, i've never tried it with html, personally, so i could be wrong there
19:19:17 <tomsmeding> These two functions map' and map'2 are equivalent: https://paste.tomsmeding.com/5qMeYJ52
19:19:50 <tomsmeding> both seem too complex to me, somehow; does this already exist? Can it be written more simply?
19:20:22 <tomsmeding> also map'2 feels less efficient to me with the reverse, but I might be wrong about that
19:21:03 geekosaur joins (82650c7a@130.101.12.122)
19:22:44 <hololeap> % :t traverse @[] @((,) _)
19:22:46 <yahb> hololeap: Monoid w => (a -> (w, b)) -> [a] -> (w, [b])
19:22:55 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
19:23:25 <tomsmeding> it's traverse!
19:23:29 <hololeap> almost
19:23:37 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
19:23:43 <tomsmeding> but yeah my 's' is not a Monoid unfortunately
19:23:56 <lyxia> it's in State, not (,)
19:24:02 × idhugo quits (~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 258 seconds)
19:24:18 mananamenos joins (~mananamen@37.red-88-27-26.staticip.rima-tde.net)
19:24:32 <lyxia> :t mapAccumL
19:24:33 <hololeap> % :t traverse @[] @(State _)
19:24:33 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
19:24:33 <yahb> hololeap: (a -> State w b) -> [a] -> State w [b]
19:24:50 <tomsmeding> lol both bots replied
19:24:54 × LKoen quits (~LKoen@161.169.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
19:24:59 <lyxia> hehe
19:25:12 <hololeap> oh, right, mapAccumL
19:25:14 <tomsmeding> but damn yes mapAccumL thanks lyxia
19:25:31 <tomsmeding> @src mapAccumL
19:25:32 <lambdabot> mapAccumL _ s [] = (s, [])
19:25:32 <lambdabot> mapAccumL f s (x:xs) = (s'',y:ys)
19:25:32 <lambdabot> where (s', y ) = f s x
19:25:32 <lambdabot> (s'',ys) = mapAccumL f s' xs
19:25:49 <tomsmeding> okay so my map', let's see base
19:26:38 <tomsmeding> base uses traverse on an interesting monad
19:27:16 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
19:27:23 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
19:27:38 frozenErebus joins (~frozenEre@94.128.219.166)
19:29:36 <karasu1[m]> quick question: I am in a "where block" (?), and often I do things like `(a , b) = f(foo, bar, quux)` to bind `a` and `b` in the scope of the function body before the "where block" (not sure if this makes sense). Instead of `(a, b) = f(foo, bar, quux)`, I want something like `(a, b) = Record {field1, field2, field3}`
19:29:36 <karasu1[m]> And then a and b are bound to field1 and field3
19:29:57 × kam1 quits (~kam1@5.126.205.103) (Ping timeout: 256 seconds)
19:29:58 <karasu1[m]> Is this possible
19:29:58 <karasu1[m]> ?
19:30:00 <tomsmeding> karasu1[m]: Record { field1 = a, field3 = b} = ...
19:30:10 <tomsmeding> and yes your terminology makes sense :)
19:31:33 <tomsmeding> also note that with your `f(foo, bar, quux)`, you're calling `f` with a single argument (a 3-tuple)
19:31:33 <karasu1[m]> What would be on the right side (the ...)?
19:31:33 <tomsmeding> whatever value you want to get the fields from :p
19:31:33 <karasu1[m]> Just anything that returns a Record right?
19:31:33 <tomsmeding> yes
19:31:33 <karasu1[m]> oh yeah, I thought I was in python again.. thanks
19:31:33 × nojster quits (~noj@vmd62096.contaboserver.net) (Quit: ZNC 1.8.2 - https://znc.in)
19:31:33 <tomsmeding> that syntax is a valid pattern, which means you can use it wherever you need a pattern, like in a function argument
19:31:33 nojster joins (~noj@vmd62096.contaboserver.net)
19:31:33 <hololeap> i didn't know about that usage
19:31:33 <tomsmeding> `foo (Record {field1 = a}) = a` is a valid function definition
19:31:38 × jtcs_ quits (~jtcs@vmi359854.contaboserver.net) (Ping timeout: 260 seconds)
19:32:25 × Ranhir quits (~Ranhir@157.97.53.139) (Ping timeout: 240 seconds)
19:32:27 × _noblegas quits (uid91066@gateway/web/irccloud.com/x-wcpcufyxmgobplaq) (Quit: Connection closed for inactivity)
19:32:39 <karasu1[m]> wow, TIL
19:32:48 × hodapp quits (~hodapp@react-ams-119225.antiddos.solutions) (Ping timeout: 260 seconds)
19:33:06 hodapp joins (~hodapp@react-ams-119225.antiddos.solutions)
19:33:09 × Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 246 seconds)
19:33:15 <tomsmeding> wait till you discover view patterns :p
19:33:17 <geekosaur> the parentheses are even optional there (record update syntax binds tighter than anything else)
19:33:32 × marek quits (~mmahut@fedora/pyxel) (Ping timeout: 265 seconds)
19:33:39 <tomsmeding> but probably unwise to try using view patterns before you have a feel of the language
19:33:57 Guest41 joins (50a46f47@gateway/web/cgi-irc/kiwiirc.com/ip.80.164.111.71)
19:34:13 Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus)
19:34:27 <tomsmeding> geekosaur: would you omit them? I'm kind of torn between not using more parentheses than necessary, and clarity
19:34:41 <tomsmeding> (also I forgot here)
19:34:44 jtcs joins (~jtcs@vmi359854.contaboserver.net)
19:34:49 <merijn> tomsmeding: I omit them *and* the space after constructor
19:34:58 <geekosaur> depends on context, I think. it can be confusing with multiple parameters
19:35:03 marek joins (~mmahut@209.250.249.245)
19:35:06 <merijn> tomsmeding: foo Record{field1 = a}
19:35:07 <tomsmeding> merijn: that works I guess
19:35:21 <geekosaur> but if you're using a record as a parameter, you don't really need multiple parameters anyway
19:36:14 <merijn> Also, NamedFieldPuns :p
19:36:31 × frozenErebus quits (~frozenEre@94.128.219.166) (*.net *.split)
19:36:31 × hexfive quits (~hexfive@50.35.83.177) (*.net *.split)
19:36:32 × deu quits (de@uio.re) (*.net *.split)
19:36:32 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (*.net *.split)
19:36:32 × Tops2 quits (~Tobias@dyndsl-095-033-095-228.ewe-ip-backbone.de) (*.net *.split)
19:36:32 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (*.net *.split)
19:36:32 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (*.net *.split)
19:36:32 × DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (*.net *.split)
19:36:32 × Graf_Blutwurst quits (~grafblutw@adsl-178-38-234-220.adslplus.ch) (*.net *.split)
19:36:32 × energizer quits (~energizer@unaffiliated/energizer) (*.net *.split)
19:36:32 × samebchase- quits (~samebchas@51.15.68.182) (*.net *.split)
19:36:32 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (*.net *.split)
19:36:32 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (*.net *.split)
19:36:32 × texasmynsted_ quits (~texasmyns@99.96.221.112) (*.net *.split)
19:36:32 × PragCypher quits (~cypher@li1507-98.members.linode.com) (*.net *.split)
19:36:32 × sigmundv quits (~sigmundv@178.62.72.87) (*.net *.split)
19:36:32 × verement quits (~anonymous@cpe-76-167-229-223.san.res.rr.com) (*.net *.split)
19:36:32 × tomboy64 quits (~tomboy64@unaffiliated/tomboy64) (*.net *.split)
19:36:32 × dustinm- quits (~dustinm@static.38.6.217.95.clients.your-server.de) (*.net *.split)
19:36:32 × remexre quits (~nathan@207-153-38-50.fttp.usinternet.com) (*.net *.split)
19:36:32 × fl0_id quits (~fl0_id@claudia.s7t.de) (*.net *.split)
19:36:32 × simplegauss quits (~simplegau@45.77.0.246) (*.net *.split)
19:36:32 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (*.net *.split)
19:36:33 × jlamothe quits (~jlamothe@198.251.55.207) (*.net *.split)
19:36:33 × lazyshrk quits (~lazyshrk@128.199.58.13) (*.net *.split)
19:36:33 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (*.net *.split)
19:36:33 × Natch quits (~natch@c-b471e255.014-297-73746f25.bbcust.telenor.se) (*.net *.split)
19:36:33 × nitrix quits (~nitrix@haskell/developer/nitrix) (*.net *.split)
19:36:33 × puffnfresh_ quits (~puffnfres@45.76.124.5) (*.net *.split)
19:36:33 × caubert quits (~caubert@136.244.111.235) (*.net *.split)
19:36:33 × haritz quits (~hrtz@unaffiliated/haritz) (*.net *.split)
19:36:33 × atk quits (~Arch-TK@ircpuzzles/staff/Arch-TK) (*.net *.split)
19:36:33 × jmsx quits (~jordan@li1158-85.members.linode.com) (*.net *.split)
19:36:33 × dxld quits (~dxld@80-109-136-248.cable.dynamic.surfer.at) (*.net *.split)
19:36:33 × stampirl quits (~stampirl@195-154-112-77.rev.poneytelecom.eu) (*.net *.split)
19:36:33 × styledash quits (~styledash@157.230.173.136) (*.net *.split)
19:36:33 × ski quits (~ski@ed-3358-10.studat.chalmers.se) (*.net *.split)
19:36:33 × klardotsh quits (~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net) (*.net *.split)
19:36:33 × niko quits (~niko@freenode/staff/ubuntu.member.niko) (*.net *.split)
19:36:33 × ArsenArsen quits (~Arsen@fsf/member/ArsenArsen) (*.net *.split)
19:36:33 × mozzarella quits (~sam@unaffiliated/sam113101) (*.net *.split)
19:36:33 × lukelau quits (~lukelau@46.101.13.214) (*.net *.split)
19:36:33 × hvr quits (~hvr@haskell/developer/hvr) (*.net *.split)
19:36:33 × kaychaks quits (sid236345@gateway/web/irccloud.com/x-ubijiresjoyryppu) (*.net *.split)
19:36:33 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (*.net *.split)
19:36:33 × mp___ quits (mp@hell.cx) (*.net *.split)
19:36:33 × Katarushisu quits (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (*.net *.split)
19:36:33 × tessier quits (~treed@kernel-panic/copilotco) (*.net *.split)
19:36:34 × nerdypepper quits (znc@152.67.162.71) (*.net *.split)
19:36:34 × ornxka_ quits (~ornxka@unaffiliated/ornx) (*.net *.split)
19:36:34 × connrs quits (~connrs@runciter.connrs.uk) (*.net *.split)
19:36:34 × davl quits (~davl@207.154.228.18) (*.net *.split)
19:36:34 × canta quits (~canta@cvm0.d5k.one) (*.net *.split)
19:36:34 × mapperr quits (~mapperr@vmi389916.contaboserver.net) (*.net *.split)
19:36:34 × pounce quits (~pounce@ns379743.ip-5-196-70.eu) (*.net *.split)
19:36:34 × khisanth_ quits (~Khisanth@24.sub-174-244-147.myvzw.com) (*.net *.split)
19:36:34 × rprospero quits (~adam@186.75.232.35.bc.googleusercontent.com) (*.net *.split)
19:36:34 × tureba quits (~tureba@tureba.org) (*.net *.split)
19:36:34 × atomi quits (~atomi@35.71.197.35.bc.googleusercontent.com) (*.net *.split)
19:36:34 × dan64 quits (~dan64@dannyadam.com) (*.net *.split)
19:36:34 × rkvist quits (~user@138.197.72.132) (*.net *.split)
19:36:34 × Flonk quits (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (*.net *.split)
19:36:34 × koala_man quits (~vidar@unaffiliated/koala-man/x-2491903) (*.net *.split)
19:36:34 × lyxia quits (~lyxia@poisson.chat) (*.net *.split)
19:36:35 × pdxleif quits (~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com) (*.net *.split)
19:36:35 × c_wraith quits (~c_wraith@adjoint.us) (*.net *.split)
19:36:35 × joeyh quits (~joeyh@kitenet.net) (*.net *.split)
19:36:35 × davean quits (~davean@davean.sciesnet.net) (*.net *.split)
19:36:35 × Rembane quits (~Rembane@li346-36.members.linode.com) (*.net *.split)
19:36:35 × pharaun quits (~pharaun@static.88-198-62-245.clients.your-server.de) (*.net *.split)
19:36:35 × nisstyre quits (~wes@python-zero/conduct-committee/nisstyre) (*.net *.split)
19:36:35 × heath quits (~heath@unaffiliated/ybit) (*.net *.split)
19:36:35 × mrus quits (~mrus@128.199.8.231) (*.net *.split)
19:36:35 × ring0` quits (~ringo@unaffiliated/ring0/x-8667941) (*.net *.split)
19:36:35 × mstruebing quits (~mstruebin@ns399634.ip-5-39-81.eu) (*.net *.split)
19:36:35 × kqr quits (~kqr@vps.xkqr.org) (*.net *.split)
19:36:35 × zymurgy quits (~zymurgy@li607-220.members.linode.com) (*.net *.split)
19:36:35 × freeside quits (~ubuntu@ec2-52-58-69-57.eu-central-1.compute.amazonaws.com) (*.net *.split)
19:36:35 × stvc quits (~stvc@192.241.166.39) (*.net *.split)
19:36:35 × interruptinuse quits (~interrupt@girl.mrtheplague.net) (*.net *.split)
19:36:35 × sshine quits (~simon@hubris.eta.solutions) (*.net *.split)
19:36:35 × dpl quits (~dpl@ec2-18-133-105-122.eu-west-2.compute.amazonaws.com) (*.net *.split)
19:36:35 × avp quits (~avp@unaffiliated/avp) (*.net *.split)
19:36:35 × LambdaDuck quits (~anka@ksit.fixme.fi) (*.net *.split)
19:36:35 × Ankhers quits (~Ankhers@unaffiliated/ankhers) (*.net *.split)
19:36:35 × neobit quits (~neobit@159.65.243.9) (*.net *.split)
19:36:36 × turq quits (~electro@unaffiliated/turq) (*.net *.split)
19:36:36 × ammar2 quits (admin@i.diddled.with.the.opers.so.they.klined.me) (*.net *.split)
19:36:36 × jemurray quits (~jemurray@shell.jasonmurray.org) (*.net *.split)
19:36:50 <merijn> https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/Query/Train.hs#L42-L58
19:36:50 <merijn> Yo, dawg!
19:36:50 <tomsmeding> I hate shadowing
19:36:54 × saitamaplus quits (uid272474@gateway/web/irccloud.com/x-dlczsdzruwnanpaj) (Quit: Connection closed for inactivity)
19:37:06 <merijn> We heard you like NamedFieldPuns, so put NamedFieldPuns in your NamedFieldPuns!
19:37:21 <merijn> tomsmeding: Easily solved by -XNoFieldSelectors in 9.2!
19:38:04 <hololeap> or don't use records, just use lenses and tuples for everything
19:38:05 × inkbottle quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
19:38:19 <tomsmeding> fair point, though that makes accessing fields awkward; RecordDotSyntax aims to solve that, but isn't perfect either
19:38:37 <merijn> tomsmeding: How does that make accessing awkward if you use NamedFieldPuns?
19:38:50 <tomsmeding> it doesn't, NoFieldSelectors does
19:38:57 × whez quits (sid470288@gateway/web/irccloud.com/x-fhcnzlragxvbwnhv) (Ping timeout: 262 seconds)
19:39:22 <merijn> tomsmeding: No, "how does NoFieldSelectors make it more awkward if you use NamedFieldPuns?"
19:39:34 <tomsmeding> neither manually writing getters, nor writing case expressions everywhere, is a good solution
19:39:55 <merijn> hololeap: The more I introduce custom datatypes the more I think "just using tuples" is a terrible idea
19:40:00 <tomsmeding> I was talking about NoFieldSelectors in general
19:40:10 bravespear|2 joins (~Ranhir@157.97.53.139)
19:40:10 frozenErebus joins (~frozenEre@94.128.219.166)
19:40:10 hexfive joins (~hexfive@50.35.83.177)
19:40:10 deu joins (de@uio.re)
19:40:10 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
19:40:10 Tops2 joins (~Tobias@dyndsl-095-033-095-228.ewe-ip-backbone.de)
19:40:10 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
19:40:10 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
19:40:10 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
19:40:10 energizer joins (~energizer@unaffiliated/energizer)
19:40:10 samebchase- joins (~samebchas@51.15.68.182)
19:40:10 aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
19:40:10 is_null joins (~jpic@pdpc/supporter/professional/is-null)
19:40:10 texasmynsted_ joins (~texasmyns@99.96.221.112)
19:40:10 PragCypher joins (~cypher@li1507-98.members.linode.com)
19:40:10 sigmundv joins (~sigmundv@178.62.72.87)
19:40:10 verement joins (~anonymous@cpe-76-167-229-223.san.res.rr.com)
19:40:10 tomboy64 joins (~tomboy64@unaffiliated/tomboy64)
19:40:10 dustinm- joins (~dustinm@static.38.6.217.95.clients.your-server.de)
19:40:10 remexre joins (~nathan@207-153-38-50.fttp.usinternet.com)
19:40:10 fl0_id joins (~fl0_id@claudia.s7t.de)
19:40:10 simplegauss joins (~simplegau@45.77.0.246)
19:40:10 ByronJohnson joins (~bairyn@unaffiliated/bob0)
19:40:10 jlamothe joins (~jlamothe@198.251.55.207)
19:40:10 lazyshrk joins (~lazyshrk@128.199.58.13)
19:40:10 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
19:40:10 Natch joins (~natch@c-b471e255.014-297-73746f25.bbcust.telenor.se)
19:40:10 nitrix joins (~nitrix@haskell/developer/nitrix)
19:40:10 puffnfresh_ joins (~puffnfres@45.76.124.5)
19:40:10 caubert joins (~caubert@136.244.111.235)
19:40:10 haritz joins (~hrtz@unaffiliated/haritz)
19:40:10 atk joins (~Arch-TK@ircpuzzles/staff/Arch-TK)
19:40:10 jmsx joins (~jordan@li1158-85.members.linode.com)
19:40:10 dxld joins (~dxld@80-109-136-248.cable.dynamic.surfer.at)
19:40:10 stampirl joins (~stampirl@195-154-112-77.rev.poneytelecom.eu)
19:40:10 styledash joins (~styledash@157.230.173.136)
19:40:10 ski joins (~ski@ed-3358-10.studat.chalmers.se)
19:40:10 klardotsh joins (~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net)
19:40:10 niko joins (~niko@freenode/staff/ubuntu.member.niko)
19:40:10 ArsenArsen joins (~Arsen@fsf/member/ArsenArsen)
19:40:10 mozzarella joins (~sam@unaffiliated/sam113101)
19:40:10 lukelau joins (~lukelau@46.101.13.214)
19:40:10 hvr joins (~hvr@haskell/developer/hvr)
19:40:10 kaychaks joins (sid236345@gateway/web/irccloud.com/x-ubijiresjoyryppu)
19:40:10 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:40:10 mp___ joins (mp@hell.cx)
19:40:10 Katarushisu joins (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net)
19:40:10 tessier joins (~treed@kernel-panic/copilotco)
19:40:10 nerdypepper joins (znc@152.67.162.71)
19:40:10 ornxka_ joins (~ornxka@unaffiliated/ornx)
19:40:10 connrs joins (~connrs@runciter.connrs.uk)
19:40:10 davl joins (~davl@207.154.228.18)
19:40:10 canta joins (~canta@cvm0.d5k.one)
19:40:10 mapperr joins (~mapperr@vmi389916.contaboserver.net)
19:40:10 pounce joins (~pounce@ns379743.ip-5-196-70.eu)
19:40:10 khisanth_ joins (~Khisanth@24.sub-174-244-147.myvzw.com)
19:40:10 rprospero joins (~adam@186.75.232.35.bc.googleusercontent.com)
19:40:10 tureba joins (~tureba@tureba.org)
19:40:10 atomi joins (~atomi@35.71.197.35.bc.googleusercontent.com)
19:40:10 dan64 joins (~dan64@dannyadam.com)
19:40:10 rkvist joins (~user@138.197.72.132)
19:40:10 Flonk joins (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
19:40:10 koala_man joins (~vidar@unaffiliated/koala-man/x-2491903)
19:40:10 lyxia joins (~lyxia@poisson.chat)
19:40:10 pdxleif joins (~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com)
19:40:10 c_wraith joins (~c_wraith@adjoint.us)
19:40:10 joeyh joins (~joeyh@kitenet.net)
19:40:10 davean joins (~davean@davean.sciesnet.net)
19:40:10 Rembane joins (~Rembane@li346-36.members.linode.com)
19:40:10 pharaun joins (~pharaun@static.88-198-62-245.clients.your-server.de)
19:40:10 nisstyre joins (~wes@python-zero/conduct-committee/nisstyre)
19:40:10 heath joins (~heath@unaffiliated/ybit)
19:40:10 mrus joins (~mrus@128.199.8.231)
19:40:10 ring0` joins (~ringo@unaffiliated/ring0/x-8667941)
19:40:10 mstruebing joins (~mstruebin@ns399634.ip-5-39-81.eu)
19:40:10 kqr joins (~kqr@vps.xkqr.org)
19:40:10 zymurgy joins (~zymurgy@li607-220.members.linode.com)
19:40:10 freeside joins (~ubuntu@ec2-52-58-69-57.eu-central-1.compute.amazonaws.com)
19:40:10 neobit joins (~neobit@159.65.243.9)
19:40:10 stvc joins (~stvc@192.241.166.39)
19:40:10 jemurray joins (~jemurray@shell.jasonmurray.org)
19:40:10 interruptinuse joins (~interrupt@girl.mrtheplague.net)
19:40:10 avp joins (~avp@unaffiliated/avp)
19:40:10 sshine joins (~simon@hubris.eta.solutions)
19:40:10 dpl joins (~dpl@ec2-18-133-105-122.eu-west-2.compute.amazonaws.com)
19:40:10 LambdaDuck joins (~anka@ksit.fixme.fi)
19:40:10 Ankhers joins (~Ankhers@unaffiliated/ankhers)
19:40:10 turq joins (~electro@unaffiliated/turq)
19:40:10 ammar2 joins (admin@i.diddled.with.the.opers.so.they.klined.me)
19:40:13 <hololeap> merijn: yeah, it was a joke
19:40:13 whez joins (sid470288@gateway/web/irccloud.com/x-rgticdwlpxuwtxmt)
19:40:21 <tomsmeding> NoFieldSelectors makes NamedFieldPuns okay, but NoFieldSelectors itself has downsides imo :p
19:40:21 × mrus quits (~mrus@128.199.8.231) (Max SendQ exceeded)
19:40:21 × nisstyre quits (~wes@python-zero/conduct-committee/nisstyre) (Max SendQ exceeded)
19:40:21 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Max SendQ exceeded)
19:40:21 × tomboy64 quits (~tomboy64@unaffiliated/tomboy64) (Max SendQ exceeded)
19:40:21 × styledash quits (~styledash@157.230.173.136) (Max SendQ exceeded)
19:40:36 <merijn> hololeap: Your joke is not Poe's Law proof >.>
19:40:49 styledash joins (~styledash@157.230.173.136)
19:40:55 <merijn> tomsmeding: NoFieldSelectors also makes sumtype records ok!
19:41:02 nisstyre joins (~wes@python-zero/conduct-committee/nisstyre)
19:41:08 mrus joins (~mrus@128.199.8.231)
19:41:12 <tomsmeding> I know! I read about it again today
19:41:25 <tomsmeding> a thing having advantages does not mean it doesn't have disadvantages :p
19:41:32 dcoutts is now known as dcoutts__
19:41:52 dcoutts_ is now known as dcoutts
19:41:56 tomboy64 joins (~tomboy64@unaffiliated/tomboy64)
19:42:09 tomsmeding switched from non-contracted style ("does not") to contracted style ("doesn't") over the course of five word
19:42:11 <tomsmeding> s
19:43:12 geekosaur read it as emphasis (and as idiom)
19:43:12 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1)
19:43:40 tomsmeding 's brain probably intended it as emphasis, but then wondered at its own output
19:44:13 <merijn> I stopped thinking about what I type :p
19:44:33 <merijn> Often I end up typing a random homonym instead of what I intended anyway
19:44:42 <tomsmeding> risky strategy :p
19:44:46 <justsomeguy> Sometimes I use non-contracted phrses rather than contracted ones if I expect someone to read my sentence too quickly, or not carefully enough.
19:45:00 <justsomeguy> Phrases, even.
19:45:01 <merijn> two/to/to, their/they're/there, etc.
19:45:13 <geekosaur> even there you did it :)
19:45:16 <tomsmeding> :D
19:45:19 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
19:45:28 <merijn> dammit >.<
19:45:37 is_null joins (~jpic@pdpc/supporter/professional/is-null)
19:46:04 <merijn> And then some rando on reddit goes into a 4 page "helpful" explanation about different meaning...I know >.<
19:46:13 <justsomeguy> words are hard
19:46:28 <merijn> I blame English for having a phonology that has to much overlap...
19:47:21 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
19:47:27 <ephemient> I can fail to make sense in many languages
19:47:47 <ephemient> I blame humanity
19:47:56 <tomsmeding> merijn: friend of mine manages it in Dutch too
19:50:21 × jmo` quits (~user@h-162-127.A785.priv.bahnhof.se) (Ping timeout: 264 seconds)
19:50:30 <merijn> tomsmeding: Really? How? >.>
19:50:38 × texasmynsted_ quits (~texasmyns@99.96.221.112) (Ping timeout: 256 seconds)
19:50:48 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
19:51:10 × akhov quits (~akh@89.45.7.204) (Quit: WeeChat 2.9)
19:51:21 × Benzi-Junior quits (~BenziJuni@dsl-149-67-143.hive.is) (Ping timeout: 272 seconds)
19:51:42 × kenran quits (~kenran@i577BCDAF.versanet.de) (Quit: leaving)
19:51:54 × xsperry quits (~as@unaffiliated/xsperry) ()
19:52:13 desophos joins (~desophos@2601:249:1680:a570:dc9b:7a29:1314:79e3)
19:52:38 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Ping timeout: 272 seconds)
19:54:51 texasmynsted joins (~texasmyns@99.96.221.112)
19:55:53 ezrakilty joins (~ezrakilty@97-113-55-149.tukw.qwest.net)
19:56:59 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
19:57:57 <tomsmeding> merijn: can't find an instance now, I'll be sure to inform you next time it happens :P
19:59:26 × lambda-11235 quits (~lambda-11@2600:1700:7c70:4600:b196:3409:30dd:179) (Ping timeout: 240 seconds)
20:01:10 hexagenic joins (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815)
20:01:58 × Guest41 quits (50a46f47@gateway/web/cgi-irc/kiwiirc.com/ip.80.164.111.71) (Quit: Connection closed)
20:01:58 × rj quits (~x@gateway/tor-sasl/rj) (Quit: rj)
20:02:38 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
20:04:28 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 265 seconds)
20:04:56 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 240 seconds)
20:06:03 acidjnk_new2 joins (~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de)
20:07:16 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
20:07:23 petersen joins (~petersen@redhat/juhp)
20:09:03 kupi joins (uid212005@gateway/web/irccloud.com/x-gmmufsknzrjevvnk)
20:09:06 minoru_shiraeesh joins (~shiraeesh@5.101.59.186)
20:09:16 × __minoru__shirae quits (~shiraeesh@46.34.206.35) (Ping timeout: 258 seconds)
20:09:27 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
20:10:28 × texasmynsted quits (~texasmyns@99.96.221.112) (Ping timeout: 256 seconds)
20:11:11 kam1 joins (~kam1@5.126.205.103)
20:11:11 alx741 joins (~alx741@181.196.68.69)
20:11:59 lambda-11235 joins (~lambda-11@2600:1700:7c70:4600::3f)
20:13:56 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 240 seconds)
20:14:03 × ezrakilty quits (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
20:14:57 texasmynsted joins (~texasmyns@99.96.221.112)
20:16:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
20:17:47 × stree quits (~stree@68.36.8.116) (Ping timeout: 256 seconds)
20:18:47 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
20:20:37 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
20:21:28 hiroaki joins (~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de)
20:22:22 × texasmynsted quits (~texasmyns@99.96.221.112) (Ping timeout: 256 seconds)
20:22:38 neiluj joins (~jco@91-167-203-101.subs.proxad.net)
20:22:43 × neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host)
20:22:43 neiluj joins (~jco@unaffiliated/neiluj)
20:23:56 <frozenErebus> for a beginner in functional paradigm...will learning it initially with haskell be better or javscript or it doesnt matter at all?
20:25:29 <[exa]> frozenErebus: haskell learning curve will be steeper but you won't have to learn FP in a poor ad-hoc simulation thereof
20:25:36 <karasu1[m]> Many recommend Scheme/Racket
20:25:51 slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net)
20:25:53 <[exa]> yes, any kind of scheme is great
20:26:08 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:ac0a:212f:8c2a:8e74) (Ping timeout: 258 seconds)
20:26:34 <frozenErebus> ohhok
20:26:35 <[exa]> frozenErebus: https://ds26gte.github.io/tyscheme/ (I started with this)
20:26:43 <frozenErebus> thank you
20:27:28 <frozenErebus> ill get started with this...thanks again
20:28:56 × mananamenos quits (~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 240 seconds)
20:29:14 nbloomf joins (~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4)
20:30:11 × heatsink quits (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Remote host closed the connection)
20:30:22 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
20:30:31 × Foritus quits (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
20:30:40 stree joins (~stree@68.36.8.116)
20:31:22 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
20:31:29 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-pylvhrkwkzdorvyp)
20:32:12 Foritus joins (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
20:32:28 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
20:32:49 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
20:33:50 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:34:05 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
20:35:47 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
20:36:46 Deide joins (~Deide@217.155.19.23)
20:37:37 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
20:38:24 inkbottle joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
20:38:36 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
20:38:52 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
20:39:05 Varis joins (~Tadas@unaffiliated/varis)
20:39:16 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 240 seconds)
20:39:50 jamm_ joins (~jamm@unaffiliated/jamm)
20:41:15 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
20:41:56 texasmynsted joins (~texasmyns@99.96.221.112)
20:43:01 mananamenos joins (~mananamen@37.red-88-27-26.staticip.rima-tde.net)
20:43:54 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 256 seconds)
20:43:59 × Foritus quits (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
20:44:23 × inkbottle quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
20:44:26 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
20:44:45 inkbottle joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
20:44:49 Foritus joins (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
20:45:14 jneira joins (501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81)
20:46:40 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:47:09 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
20:47:59 Chousuke_ is now known as Chousuke
20:48:13 <ezzieyguywuf> are flags case sensitive?
20:48:24 <ezzieyguywuf> i.e. --flags=lib-werror vs --flags=lib-Werror
20:48:55 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
20:49:11 × dftxbs3e quits (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection)
20:49:15 <aldum> oh bog, please don't learn it on javascript
20:49:42 × jneira quits (501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81) (Client Quit)
20:51:35 jneira joins (501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81)
20:51:44 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Ping timeout: 240 seconds)
20:51:50 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
20:52:04 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Remote host closed the connection)
20:52:45 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
20:53:05 incertia joins (~incertia@d4-50-26-103.nap.wideopenwest.com)
20:53:23 <geekosaur> "Flag names are case insensitive."
20:55:15 <hyperisco> there should have been a flag to choose case sensitivity
20:56:56 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 240 seconds)
20:59:17 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 265 seconds)
20:59:49 <monochrom> Should that flag be case sensitive or not? :)
21:00:33 <davean> It should only care about the case of the first characture
21:00:35 <monochrom> I choose case sensitivity for those who don't choose case sensitivity for themselves.
21:00:38 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:04:00 <ski> "Should that flag be case sensitive or not? :)" -- i was wondering the same thing. i think the answer might be that it should depend on whether it's currently turned on or not
21:05:05 <monochrom> CasesensitivityInCasesensitivity
21:05:34 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
21:05:59 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
21:06:17 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
21:06:25 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:06:42 × acidjnk_new2 quits (~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:07:03 monochrom is now known as Russell 2.0
21:07:47 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
21:07:52 × ubert quits (~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:09:17 × afreakk quits (~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com) (Quit: WeeChat 2.9)
21:09:27 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 258 seconds)
21:09:31 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
21:09:41 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:10:43 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
21:11:23 pera joins (~pera@unaffiliated/pera)
21:11:47 × knupfer quits (~Thunderbi@200116b82c5ea20060fd90b099ff5103.dip.versatel-1u1.de) (Remote host closed the connection)
21:11:55 knupfer joins (~Thunderbi@200116b82c5ea20038822c1f6756abba.dip.versatel-1u1.de)
21:12:12 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
21:13:31 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
21:14:22 heatsink joins (~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
21:16:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
21:16:09 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
21:16:17 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
21:24:26 × knupfer quits (~Thunderbi@200116b82c5ea20038822c1f6756abba.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
21:24:35 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
21:25:28 <nut> Can I makeClassy ''SomeType where SomeType has a type parameter such as SomeType a
21:25:35 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
21:25:55 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:26:16 <nut> data SomeType a = ...
21:27:10 frozenErebus joins (~frozenEre@94.128.219.166)
21:27:45 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
21:30:24 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
21:30:28 p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
21:30:42 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
21:30:59 <karasu1[m]> I'm a beginner, but I think the definition of Maybe is `Maybe a = Nothing | Just a`, so to me that looks good
21:31:10 <karasu1[m]> data Maybe a = Nothing | Just a
21:31:17 <karasu1[m]> forgot the data keyword before..
21:31:40 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:31:49 knupfer joins (~Thunderbi@200116b82c5ea200d8fe96fffeef331c.dip.versatel-1u1.de)
21:31:50 × knupfer quits (~Thunderbi@200116b82c5ea200d8fe96fffeef331c.dip.versatel-1u1.de) (Client Quit)
21:32:07 knupfer joins (~Thunderbi@mue-88-130-61-209.dsl.tropolys.de)
21:32:09 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
21:33:01 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
21:33:11 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
21:33:50 <hololeap> % :t bisequence @(,) @[]
21:33:51 <yahb> hololeap: ([a], [b]) -> [(a, b)]
21:34:25 × hexagenic quits (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815) (Quit: WeeChat 1.9.1)
21:34:42 <hololeap> so if bisequence is (essentially zip), what would be unzip? bidistribute?
21:36:02 <dolio> That isn't zip, is it?
21:36:19 <dolio> It's like a cartesian product.
21:36:31 <hololeap> :t uncurry zip
21:36:32 <lambdabot> ([a], [b]) -> [(a, b)]
21:37:34 nbloomf joins (~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4)
21:37:53 × alx741 quits (~alx741@181.196.68.69) (Quit: alx741)
21:38:05 × inkbottle quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
21:38:25 inkbottle joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
21:40:09 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 264 seconds)
21:40:51 <karasu1[m]> So head is a function, but it is partial, right?
21:41:01 <karasu1[m]> I think this means that head is injective
21:41:02 <karasu1[m]> And head is surjective
21:41:04 <karasu1[m]> But it is not bijective..
21:41:14 <karasu1[m]> Since it can't map anything from the empty list
21:41:25 <dolio> Definitely not injective.
21:41:36 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
21:41:58 <dolio> > (head [1], head [1,2])
21:41:59 s00pcan joins (~chris@107.181.165.217)
21:41:59 <lambdabot> (1,1)
21:42:00 <karasu1[m]> Oh right, since multiple lists can have the same head
21:42:04 <karasu1[m]> Right
21:42:57 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:42:57 <karasu1[m]> Right, if it actually were injective and surjective then that would imply bijectivity, so I just suck at math..
21:44:08 <hololeap> it is surjective, though, right?
21:44:16 <karasu1[m]> But the word "partiality" has to do with the fact that it's not defined for some elements in the domain right? Probably not to do with injections or surjections?
21:44:51 <karasu1[m]> I think it makes sense to call it surjective, since for every head, we can always have at least [head] in the domain that maps to it
21:45:50 <dolio> Well, it could be that the setting for reasoning about partial functions isn't 'balanced'. But I'm not sure about that.
21:45:53 × xff0x quits (~xff0x@2001:1a81:524a:900:9d0e:be3:c9ba:ea74) (Ping timeout: 272 seconds)
21:46:10 xff0x joins (~xff0x@2001:1a81:524a:900:a41b:c75d:e7aa:feb6)
21:46:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:49:59 <dolio> Yeah, 'partial' has to do with being undefined on the domain.
21:50:15 <hololeap> i think the best you can do is say that if a function is partial, it definitely isn't injective. but a function _not_ being partial doesn't mean that it _is_ injective
21:50:57 <dolio> I'm not sure that being partial means not injective.
21:51:16 <karasu1[m]> same, I think that would need proof
21:51:18 <dolio> You'd have to think closely about what 'injective' means in that context, though.
21:52:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
21:53:13 <hololeap> oh, no i guess i'm wrong: https://en.wikipedia.org/wiki/Partial_function
21:54:01 <karasu1[m]> Well, from wikipedia it seems partial functions are quite related to injectivity and surjectivity LOL
21:54:33 <karasu1[m]> I can never remember any definitions though.....
21:54:43 <karasu1[m]> (had to look up injectivity and surjectivity today)
21:55:06 <hyperisco> better to understand the concepts because the formalisms can vary
21:55:42 <karasu1[m]> I'm not very smart..
21:56:04 <karasu1[m]> But I like to try.
21:56:24 × Guest28622 quits (~textual@zrcout.mskcc.org) (Quit: Textual IRC Client: www.textualapp.com)
21:58:15 <hyperisco> Injectivity: for every output there is only one input that produces it. Surjectivity: for all outputs in a given set of possible outputs, there is an input that produces that output
21:58:54 <hyperisco> I just think of the pictures
21:59:45 × knupfer quits (~Thunderbi@mue-88-130-61-209.dsl.tropolys.de) (Quit: knupfer)
22:00:11 <monochrom> My mnemonic was "sur -> surface -> sprayed all over the surface" so all of the co-domain is hit.
22:00:12 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
22:00:39 <monochrom> "injection" was self-explanatory to me for some reason.
22:01:04 <hyperisco> if the problem is forgetting what term means what then I don't really have a fix for that :P
22:01:10 son0p joins (~son0p@181.136.122.143)
22:01:10 <monochrom> something about "needle hitting one point no more no less"
22:01:44 <karasu1[m]> i've heard all the mnemonics and definitions before
22:01:52 <karasu1[m]> but I can't remember em man...
22:02:04 <monochrom> On the west side of the Atlantic, the words are "one-to-one" for injective, "on to" for surjective. Perhaps you can use them instead.
22:02:44 <hololeap> there's also monomorphism and epimorphism if that helps you remember >:)
22:02:51 <karasu1[m]> noooooo
22:02:51 <hyperisco> I don't know if you're astray if you say "invertible" instead of "injective"
22:02:54 <dolio> "onto" always seemed like a pretty bad name to me.
22:03:11 <karasu1[m]> no more math words...
22:03:38 <karasu1[m]> just kidding lol
22:03:46 <dolio> Like, you could describe every function as maping "on to" the codomain.
22:03:55 <monochrom> I don't really worry about remembering. I just look up every time I need to. Then if I use it often enough, that's natural spaced repetition right there for free, I don't even have to plan it. If I don't use it often enough, why worry anyway.
22:04:15 Rudd0 joins (~Rudd0@185.189.115.108)
22:04:16 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
22:04:19 <ephemient> "on to" in that the domain is mapped onto the entire range
22:04:21 <hyperisco> image, preimage, range, domain, codomain
22:04:38 <hyperisco> it is kind of a mess anyways
22:04:50 <hololeap> :t (\f -> unzip . map f) :: ((a1,b1) -> (a2,b2)) -> [(a1,b1)] -> ([a2],[b2])
22:04:52 <lambdabot> ((a1, b1) -> (a2, b2)) -> [(a1, b1)] -> ([a2], [b2])
22:05:00 <dolio> I know what the term is supposed to mean. I just don't think the words imply that at all unless you already know they're supposed to.
22:05:04 <hololeap> is there another word for this? it reminds me of traverse...
22:05:57 ddellacosta joins (~ddellacos@86.106.143.202)
22:06:15 <monochrom> I recently discovered that image and preimage are a Galois connection, image being the lower adjoint, preimage being the upper adjoint, in this relation.
22:06:22 <monochrom> And then there's more...
22:06:46 <dolio> Oh, also, the domain always maps "onto" the range, because the modern meaning of "range" is the image.
22:07:14 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
22:07:32 alx741 joins (~alx741@181.196.68.69)
22:07:49 <hyperisco> maybe we should rename surjective to cototal
22:08:25 <monochrom> preimage is also the lower adjoint of another Galois connection! The upper adjoint for this, I decided to call it "exclusive image". excIm f D = {y in codomain | forall x in domain. if f x = y then x in D}
22:08:42 <monochrom> Therefore, preimage distributes over both union and intersection!
22:09:10 <hyperisco> and injective to cofunction
22:09:38 <dolio> Yeah, it's an adjoint triple that gives the semantics of the existential and universal quantifiers in logic.
22:09:39 <karasu1[m]> I am confusion
22:09:54 <monochrom> :)
22:10:02 <karasu1[m]> Is everyone here a math professor though
22:10:04 <dolio> ∃_f ⊣ f⁻¹ ⊣ ∀_f
22:10:10 monochrom <3 Galois connections
22:10:17 <swarmcollective> not all
22:10:36 <karasu1[m]> (obviously I am not..)
22:10:43 <hyperisco> I'm just embattled with it, certainly not a professor of it
22:10:44 <monochrom> I think there are zero self-identified math profs here.
22:11:04 <monochrom> operating word being "self-identified"
22:11:06 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
22:11:16 × darjeeling_ quits (~darjeelin@122.245.216.187) (Ping timeout: 240 seconds)
22:11:21 <dolio> It's kind of weird to call the ∀ one any kind of "image" though, because there are corner cases where it contains things that aren't in the image of the function.
22:11:41 <karasu1[m]> does image mean codomain?
22:11:42 <monochrom> Right? http://files.inconsistent.nl/computer-science.jpg applies. >:)
22:11:47 <hololeap> cobitraverseOnIdentity? :)
22:11:52 <ski> monochrom : ooh, "exclusive image", i like it :)
22:12:28 <monochrom> Well, dolio, yeah, it contains everything outside the image. :)
22:12:39 <hyperisco> let go of computability, give in to your infinite desires
22:12:58 <dolio> Although, from a discussion about this elsewhere, I learned that there's a similar set of adjoints in another area where people call the ∀_f adjunct the "direct image", even though that's what people used to call the ∃_f one (which is nowadays just called the "image" I guess).
22:13:24 <hyperisco> anything exists that can be proven to not not exist
22:13:41 <hyperisco> they have all the luxuries, really
22:14:23 Alleria joins (~textual@zrcout.mskcc.org)
22:14:43 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
22:14:47 Alleria is now known as Guest72364
22:14:47 <dolio> monochrom: Unfortunately it sometimes contains things in the image, I think, so you can't even name it something that would make sense as the complement. :)
22:15:13 <dolio> Like "bokeh" or whatever.
22:15:14 <monochrom> Yeah I only spent 10 minutes on the name.
22:15:35 <monochrom> With 1 week I may be able to think up a better name...
22:15:45 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 240 seconds)
22:15:53 <monochrom> But right now I have a much more important and surprising proof to do...
22:16:00 deviantfero joins (~deviantfe@190.150.27.58)
22:16:32 vicfred joins (vicfred@gateway/vpn/mullvad/vicfred)
22:16:35 <monochrom> Actually I could use your help with choosing a good name for a function I need in the proof...
22:17:34 <monochrom> foo :: (Natural -> Maybe a) -> [a]. Idea: foo f = [f 0, f 1, f 2, ...] ends at the first n such that f n = Nothing.
22:18:07 <hyperisco> span
22:18:22 <monochrom> Actual code: foo f = go 0 where go i = case f i of {Nothing -> []; Just x -> x : go (i+1) }
22:19:08 new_haskeller joins (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
22:19:36 × tremon quits (~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
22:20:08 <monochrom> "span" is kind of taken.
22:20:12 <dolio> prefix?
22:20:56 <monochrom> but "span" does inspire me of something
22:20:58 <hyperisco> reach
22:21:40 <ski> reminds me of "no infinite descent"
22:21:48 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
22:22:08 <monochrom> Yikes, longest contiguous prefix
22:22:23 <ski> or "maximal"
22:23:05 <monochrom> first balloon.
22:23:26 <hyperisco> I think prefix implies contiguity
22:24:17 <monochrom> It is also an imperfect inverse of safeIndex :: [a] -> Natural -> Maybe a
22:25:08 <monochrom> and also I had trouble shaking "redex" out of my head heh
22:25:13 <dolio> Right, it's a retract (assuming I have it the right way around).
22:25:14 <monochrom> s/also/so/
22:25:54 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Quit: Curry, you fools!)
22:26:36 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
22:26:57 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
22:27:42 darjeeling_ joins (~darjeelin@122.245.216.187)
22:28:15 <ski> yes, retract
22:28:30 <dolio> I think only caring about the domain of definition of the partiala function is the wrong notion of injectivity, now that I think of it.
22:28:34 <ski> hm, or do people say "retraction" ?
22:28:44 <ski> "retract" may be the name for the whole situation
22:28:57 <monochrom> It's retract.
22:29:18 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
22:29:20 <monochrom> Retraction is when your paper is wrong. :)
22:29:38 <dolio> Because an 'injective' function with undefined points may not be left-cancellable.
22:29:41 <ski> `A' is a retract of `B' if we have a "retraction" `r : B >--->> A' and a "section" `s : A >>---> B' such that `r . s = id_A'
22:29:49 <dolio> So injective must be total.
22:29:52 <ski> is how i've seen the terminology used
22:30:32 <dolio> I think 'retract' is sometimes used for the retraction map, too.
22:30:33 <ski> (so "retract" would apply to the relation between the objects, and "retraction" describes one of the morphisms)
22:30:35 <monochrom> I need to put that on a flashcard, ski. :)
22:30:50 <ski> dolio : i wouldn't be surprised
22:30:53 <monochrom> btw I missed the opportunity for great jokes last night about flashcards.
22:30:57 <dolio> But never 'sect'.
22:31:16 <ski> hm, can we figure out some nice usage of "sect" ?
22:31:20 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
22:31:20 <monochrom> Does SD card count as flashcard? Does Compact Flash card count as flashcard? >:)
22:31:30 <ski> is `B' a "sect" of `A', above, say ?
22:32:01 <monochrom> Hey perhaps it's "section and sectionion"
22:32:03 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
22:32:04 <ski> monochrom : does it involve Adobe Flash ?
22:32:16 <monochrom> :)
22:32:34 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
22:32:56 × jdt_ quits (~jdt@208.85.233.130) (Ping timeout: 240 seconds)
22:33:02 monochrom still has a Compact Flash card
22:33:54 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
22:34:15 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
22:34:34 pfurla_ joins (~pfurla@64.145.79.123)
22:35:16 jdt joins (~jdt@208.85.233.130)
22:35:53 frozenErebus joins (~frozenEre@94.128.219.166)
22:37:33 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:1d07:66bc:d1dc:63b4)
22:37:45 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
22:37:48 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds)
22:38:05 × inkbottle quits (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
22:38:24 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
22:38:25 inkbottle joins (~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
22:38:36 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
22:38:54 × ddellacosta quits (~ddellacos@86.106.143.202) (Remote host closed the connection)
22:38:56 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
22:40:00 oisdk joins (~oisdk@2001:bb6:3329:d100:e4fd:fcea:33f:6b51)
22:40:36 × ph88 quits (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
22:42:20 × forgottenone quits (~forgotten@176.42.28.68) (Quit: Konversation terminated!)
22:42:58 × pera quits (~pera@unaffiliated/pera) (Quit: leaving)
22:45:06 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
22:45:20 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:45:21 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
22:45:36 × Narinas quits (~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
22:46:19 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
22:47:02 Narinas joins (~Narinas@189.223.59.23.dsl.dyn.telnor.net)
22:48:00 × mananamenos quits (~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 256 seconds)
22:48:06 × kam1 quits (~kam1@5.126.205.103) (Ping timeout: 246 seconds)
22:52:15 stree joins (~stree@68.36.8.116)
22:53:12 xrinzler joins (~hydrogen@197.185.106.5)
22:54:43 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
22:55:05 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
22:56:01 × ManofLetters quits (~mikon@duch.mimuw.edu.pl) (Ping timeout: 258 seconds)
22:56:56 × pfurla_ quits (~pfurla@64.145.79.123) (Ping timeout: 240 seconds)
22:59:21 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:00:54 borne joins (~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de)
23:03:30 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
23:05:32 AbtractSingleton joins (rasurumatr@gateway/shell/matrix.org/x-mcfjqomktyvseahu)
23:05:33 bo__ joins (~bo@178.150.122.153)
23:06:48 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
23:10:21 <monochrom> Naughty candidate: enumerate until leftmost absence = EULA
23:11:01 <monochrom> (Don't worry, my current serious choice is ufn = until first nothing)
23:12:03 <ski> `whileJust' ?
23:12:09 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
23:12:25 <monochrom> Yeah that's nice too.
23:12:43 <monochrom> Nicer.
23:13:01 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:13:09 chenshen joins (~chenshen@2620:10d:c090:400::5:1a91)
23:18:02 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
23:19:48 × lambda-11235 quits (~lambda-11@2600:1700:7c70:4600::3f) (Max SendQ exceeded)
23:20:32 lambda-11235 joins (~lambda-11@2600:1700:7c70:4600::3f)
23:23:33 HarveyPwca joins (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net)
23:28:23 xsperry joins (~as@unaffiliated/xsperry)
23:31:09 × minoru_shiraeesh quits (~shiraeesh@5.101.59.186) (Ping timeout: 264 seconds)
23:32:03 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:33:26 nbloomf joins (~nbloomf@2600:1700:ad14:3020:70bd:3c7c:6a1e:8706)
23:36:47 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:37:25 × xff0x quits (~xff0x@2001:1a81:524a:900:a41b:c75d:e7aa:feb6) (Ping timeout: 258 seconds)
23:37:51 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:70bd:3c7c:6a1e:8706) (Client Quit)
23:38:24 xff0x joins (~xff0x@2001:1a81:524a:900:7a5:9afc:4d34:2f96)
23:38:30 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
23:39:16 × mirrorbird quits (~psutcliff@m83-187-183-132.cust.tele2.se) (Ping timeout: 240 seconds)
23:41:55 conal joins (~conal@64.71.133.70)
23:42:13 GreyFaceNoSpace joins (~omar@95.157.26.203)
23:42:17 <GreyFaceNoSpace> hi
23:42:29 <ski> lo
23:42:41 <GreyFaceNoSpace> im new to haskell in general and need some help figuring out whats wrong with this function
23:42:43 <GreyFaceNoSpace> https://pastebin.com/UQRXUGw0
23:42:55 <GreyFaceNoSpace> i want it to generate a random list
23:44:31 <ski> base case is a type error
23:44:31 <GreyFaceNoSpace> "parse error on input ‘let’
23:44:31 <GreyFaceNoSpace> Failed, modules loaded: none."
23:44:36 <monochrom> I think you should look at that paste yourself, too. There is an obvious indentation problem.
23:44:56 <monochrom> or rather alignment problem.
23:44:59 <GreyFaceNoSpace> yeah i think the indentation got screwed while i was pasting
23:45:03 <GreyFaceNoSpace> sorry about that
23:45:14 <ski> yes, layout is off
23:45:33 <swarmcollective> Is the `in` necessary in a `do` block like that?
23:45:41 <monochrom> No.
23:45:48 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
23:46:10 <ski> you could use `randomIO' in place of `random'
23:46:18 jmo` joins (~user@h-162-127.A785.priv.bahnhof.se)
23:46:24 <GreyFaceNoSpace> is there a way not to use IO at all?
23:46:45 <ski> pass in the `StdGen' as a parameter to `generateAsyncTsks'
23:47:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:47:39 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
23:48:19 × MVQq quits (~anja@198.254.199.42) (Quit: q)
23:48:55 MarcelineVQ joins (~anja@198.254.199.42)
23:49:54 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
23:50:08 × son0p quits (~son0p@181.136.122.143) (Quit: leaving)
23:50:45 × jmo` quits (~user@h-162-127.A785.priv.bahnhof.se) (Ping timeout: 246 seconds)
23:52:19 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
23:53:12 × frozenErebus quits (~frozenEre@94.128.219.166) (Ping timeout: 246 seconds)
23:54:54 × alx741 quits (~alx741@181.196.68.69) (Quit: alx741)
23:55:01 × new_haskeller quits (~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Quit: Leaving...)
23:55:36 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
23:56:45 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
23:57:44 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
23:58:59 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:59:21 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 264 seconds)

All times are in UTC on 2021-02-19.