Home liberachat/#haskell: Logs Calendar

Logs on 2022-05-15 (liberachat/#haskell)

00:02:11 × king_gs quits (~Thunderbi@187.201.105.54) (Ping timeout: 252 seconds)
00:04:52 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
00:06:40 <sm> int-e: FYI, haskell-links now pulls the @where db hourly
00:07:53 × alp_ quits (~alp@user/alp) (Ping timeout: 248 seconds)
00:11:11 <statusbot1> Maintenance update: Hackage is going offline for maintenance. -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/628040783a56b10533f94f5e
00:11:20 <sm> I might keep tags/votes/edits in overlay file(s). Those edits could be replayed/merged back to lambdabot periodically, if wanted
00:16:36 <statusbot1> Maintenance update: Hackage is back up. -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/628040783a56b10533f94f5e
00:21:55 king_gs joins (~Thunderbi@187.201.105.54)
00:22:09 dostoevsky0 joins (~5c42c5384@user/dostoevsky)
00:23:25 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Read error: Connection reset by peer)
00:23:25 dostoevsky0 is now known as dostoevsky
00:23:33 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
00:23:55 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
00:32:57 × Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
00:40:16 Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
00:40:57 × king_gs quits (~Thunderbi@187.201.105.54) (Read error: Connection reset by peer)
00:43:35 king_gs joins (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634)
00:45:24 alp_ joins (~alp@user/alp)
00:46:19 gpncarl joins (~gpncarl@120.244.220.69)
00:47:50 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
00:50:30 × king_gs quits (~Thunderbi@2806:103e:29:da71:ba86:4e28:3521:b634) (Ping timeout: 260 seconds)
00:51:05 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 260 seconds)
00:56:11 <Guest57> dolio nvm I found out
00:56:42 × alp_ quits (~alp@user/alp) (Remote host closed the connection)
00:57:02 alp_ joins (~alp@user/alp)
00:59:21 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:59:21 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:59:21 wroathe joins (~wroathe@user/wroathe)
01:02:17 × alp_ quits (~alp@user/alp) (Ping timeout: 248 seconds)
01:06:14 Polo joins (~Polo@user/polo)
01:13:47 Polo is now known as schmoe
01:18:00 × Guest57 quits (~Guest57@69-174-160-103.iplwin75.metronetinc.net) (Quit: Client closed)
01:18:13 × schmoe quits (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:19:08 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
01:19:39 no-n joins (sid524992@smol/hors)
01:22:41 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:22:50 Polo joins (~Polo@user/polo)
01:26:09 dzdcnfzd joins (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net)
01:30:44 × Polo quits (~Polo@user/polo) (Ping timeout: 248 seconds)
01:30:45 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
01:31:48 × flinner quits (~flinner@user/flinner) (Quit: Using Circe, the loveliest of all IRC clients)
01:42:43 <dzdcnfzd> I have a Tasty test suite. I'm trying to add a custom flag to my program which I'll pass into my tests, but I'm getting errors because Tasty's main function tries to parse my flag and doesn't recognize it. Does anyone know how I'm supposed to get around this?
01:43:09 × euandreh quits (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Quit: WeeChat 3.5)
01:43:38 dostoevsky6 joins (~5c42c5384@user/dostoevsky)
01:44:51 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Read error: Connection reset by peer)
01:44:51 dostoevsky6 is now known as dostoevsky
01:48:27 andrey_ joins (~andrey@p200300dbcf3e23005cb23a11d813ffaf.dip0.t-ipconnect.de)
01:51:05 × andrey__ quits (~andrey@p508d51c7.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
01:52:10 × jiribenes quits (~jiribenes@rosa.jiribenes.com) (Ping timeout: 250 seconds)
01:55:43 <sm> I added ghc-guide, cabal-guide, stack-guide to @where; if no-one objects, I will remove the old "userguide" spelling
01:57:57 <sm> @where+ userguide
01:57:57 <lambdabot> It is forgotten.
01:59:43 <shachaf> Maybe have it mention the other guides instead?
02:03:43 <sm> shachaf: have userguide name all the known guides ? sure, be my guest
02:03:49 × sander quits (~sander@user/sander) (Quit: So long! :))
02:04:19 <sm> I'm using a web ui that makes them easy to find, so I'm concentrating more on individual links
02:05:41 × stackdroid18 quits (14094@user/stackdroid) (Quit: Lost terminal)
02:06:25 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:06:25 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:06:25 finn_elija is now known as FinnElija
02:06:58 × abiss27 quits (~abiss27@user/abiss) (Quit: hasta la vista... tchau!)
02:07:50 stackdroid18 joins (14094@user/stackdroid)
02:08:46 × stackdroid18 quits (14094@user/stackdroid) (Client Quit)
02:12:08 sander joins (~sander@user/sander)
02:15:06 × roconnor quits (~roconnor@coq/roconnor) (Quit: Konversation terminated!)
02:20:17 Polo joins (~Polo@user/polo)
02:21:24 × Polo quits (~Polo@user/polo) (Client Quit)
02:25:05 × Topsi quits (~Topsi@95.33.20.255) (Read error: Connection reset by peer)
02:35:18 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:40:11 vicfred joins (~vicfred@user/vicfred)
02:42:26 <dzdcnfzd> https://github.com/UnkindPartition/tasty/issues/228
02:42:51 <dzdcnfzd> I guess it's impossible to use Tasty with command line options if your TestTree is constructed using IO
02:42:56 <dzdcnfzd> This is sad
02:43:08 × Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 260 seconds)
02:43:28 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
02:44:44 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
02:47:27 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
02:51:49 Polo joins (~Polo@user/polo)
02:51:55 Polo is now known as schmoe
02:53:32 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
02:54:18 × schmoe quits (~Polo@user/polo) (Client Quit)
03:09:17 dostoevsky9 joins (~5c42c5384@user/dostoevsky)
03:10:37 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Read error: Connection reset by peer)
03:10:37 dostoevsky9 is now known as dostoevsky
03:11:23 yauhsien joins (~yauhsien@61-231-42-187.dynamic-ip.hinet.net)
03:24:52 hiredman joins (~hiredman@frontier1.downey.family)
03:30:54 <dsal> dzdcnfzd: unsafePerformIO isn't always terrible, but I've run into a variety of these kinds of annoyances in test frameworks. In particular, the hspec stuff we're using at work doesn't have useful hooks for certain types of initializations and we end up using unsafePerformIO (but down to like, one now… used to be a ton of them for no good reason).
03:39:34 gpncarl joins (~gpncarl@120.244.220.69)
03:53:26 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Read error: Connection reset by peer)
03:57:50 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 240 seconds)
04:03:18 × kaph_ quits (~kaph@net-2-42-128-205.cust.vodafonedsl.it) (Read error: Connection reset by peer)
04:09:39 × hamishmack_ quits (sid389057@id-389057.hampstead.irccloud.com) ()
04:10:21 hamishmack_ joins (sid389057@id-389057.hampstead.irccloud.com)
04:10:38 × yauhsien quits (~yauhsien@61-231-42-187.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
04:13:21 hamishmack_ is now known as hamishmack
04:24:51 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:31:23 × zebrag quits (~chris@user/zebrag) (Read error: Connection reset by peer)
04:35:28 frost joins (~frost@user/frost)
04:40:19 nate1 joins (~nate@98.45.169.16)
04:44:55 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:45:38 × frost quits (~frost@user/frost) (Quit: Ping timeout (120 seconds))
04:49:35 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 256 seconds)
04:51:41 frost joins (~frost@user/frost)
04:57:29 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds)
05:00:10 × Benzi-Junior quits (~BenziJuni@dsl-149-64-179.hive.is) (Ping timeout: 240 seconds)
05:04:36 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
05:09:10 xkuru joins (~xkuru@user/xkuru)
05:10:28 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds)
05:28:27 bilegeek joins (~bilegeek@2600:1008:b047:7868:8343:8573:5cc1:560a)
05:29:46 gpncarl joins (~gpncarl@120.244.220.69)
05:33:14 dostoevsky3 joins (~5c42c5384@user/dostoevsky)
05:33:56 coot joins (~coot@213.134.190.95)
05:34:17 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 248 seconds)
05:34:28 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 248 seconds)
05:34:28 dostoevsky3 is now known as dostoevsky
05:38:04 Polo joins (~Polo@user/polo)
05:39:34 × asivitz quits (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity)
05:39:40 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
05:41:23 × sympt quits (~sympt@193.37.33.20) (Remote host closed the connection)
05:42:41 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
05:46:27 sympt joins (~sympt@193.37.33.20)
05:47:30 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
05:48:01 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Client Quit)
05:48:48 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
05:50:22 × sympt quits (~sympt@193.37.33.20) (Remote host closed the connection)
05:52:18 sympt joins (~sympt@193.37.33.20)
05:54:22 × Polo quits (~Polo@user/polo) (Read error: Connection reset by peer)
05:55:04 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
05:57:12 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
06:00:34 × sympt quits (~sympt@193.37.33.20) (Remote host closed the connection)
06:02:31 sympt joins (~sympt@193.37.33.20)
06:05:02 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
06:12:58 dostoevsky0 joins (~5c42c5384@user/dostoevsky)
06:14:39 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Read error: Connection reset by peer)
06:14:39 dostoevsky0 is now known as dostoevsky
06:17:07 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:18:20 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 260 seconds)
06:19:55 × coot quits (~coot@213.134.190.95) (Quit: coot)
06:21:08 coot joins (~coot@213.134.190.95)
06:28:24 wootehfoot joins (~wootehfoo@user/wootehfoot)
06:28:42 geekosaur joins (~geekosaur@xmonad/geekosaur)
06:36:51 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Quit: bye ~)
06:37:40 Polo joins (~Polo@user/polo)
06:39:43 dostoevsky joins (~5c42c5384@user/dostoevsky)
06:43:58 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
06:44:31 × dzdcnfzd quits (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net) (Quit: Client closed)
06:48:17 × Polo quits (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:48:24 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
06:49:18 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
06:52:24 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
06:57:27 × jargon quits (~jargon@174-22-206-112.phnx.qwest.net) (Remote host closed the connection)
06:59:30 dostoevsky6 joins (~5c42c5384@user/dostoevsky)
07:00:50 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
07:00:51 dostoevsky6 is now known as dostoevsky
07:01:27 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 276 seconds)
07:02:28 MoC joins (~moc@user/moc)
07:02:33 dibblego joins (~dibblego@122-199-1-30.ip4.superloop.com)
07:02:33 × dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
07:02:33 dibblego joins (~dibblego@haskell/developer/dibblego)
07:07:45 king_gs joins (~Thunderbi@187.201.97.18)
07:10:19 × king_gs quits (~Thunderbi@187.201.97.18) (Client Quit)
07:11:38 dostoevsky1 joins (~5c42c5384@user/dostoevsky)
07:13:10 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
07:13:10 dostoevsky1 is now known as dostoevsky
07:14:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
07:19:50 xaotuk joins (~sasha@87.116.181.151)
07:21:11 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
07:21:30 acidjnk joins (~acidjnk@p200300d0c7068b96511328d5b9114591.dip0.t-ipconnect.de)
07:23:16 gehmehgeh joins (~user@user/gehmehgeh)
07:23:52 Tuplanolla joins (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi)
07:30:00 × xaotuk quits (~sasha@87.116.181.151) (Ping timeout: 248 seconds)
07:33:33 yauhsien joins (~yauhsien@61-231-42-187.dynamic-ip.hinet.net)
07:35:02 amongas666[m] joins (~amongas66@2001:470:69fc:105::2:fea)
07:43:20 <amongas666[m]> hello
07:43:47 xaotuk joins (~sasha@net44-38-245-109.mbb.telenor.rs)
07:45:53 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
07:47:28 <amongas666[m]> @help
07:47:29 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
07:47:58 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
07:49:07 kaph joins (~kaph@net-2-42-128-205.cust.vodafonedsl.it)
07:49:56 <amongas666[m]> :pl \n -> [z|x<-[2..n],z<-map(x^)[2..n],z<n,(==)=<<reverse$show z,z>9]
07:50:25 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:50:28 <amongas666[m]> @pl \n -> [z|x<-[2..n],z<-map(x^)[2..n],z<n,(==)=<<reverse$show z,z>9]
07:50:28 <lambdabot> ap ((:) . ((z | x) <-) . enumFromTo 2) (ap ((:) . (z <-) . map (x ^) . enumFromTo 2) ((: [(==) =<< reverse $ show z, z > 9]) . (z <)))
07:54:56 Kaiepi joins (~Kaiepi@156.34.47.253)
08:00:26 jakalx joins (~jakalx@base.jakalx.net)
08:03:25 <amongas666[m]> @pl \p (a,b) (c,d) -> (a*d+b*c-a*c,a*c+b*d)
08:03:28 <lambdabot> const (uncurry (flip flip snd . (ap .) . flip flip fst . ((.) .) . ap (ap . (liftM2 (liftM2 (,)) .) . ap (flip . (liftM2 (flip . ((-) .)) .) . (. (*)) . (.) . flip . ((+) .) . (*)) (*)) ((. (*)) .
08:03:28 <lambdabot> flip . (((.) . (+)) .) . (*))))
08:03:58 <tomsmeding> amongas666[m]: http://pointfree.io/
08:03:59 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 240 seconds)
08:04:36 <tomsmeding> it seems it misparsed that list comprehension :p
08:04:50 <tomsmeding> <- and | are parsed as operators but aren't
08:05:12 <amongas666[m]> tomsmeding: thanks
08:05:44 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:06:18 <[Leary]> @compose pl undo [z|x<-[2..n],z<-map(x^)[2..n],z<n,(==)=<<reverse$show z,z>9]
08:06:19 <lambdabot> flip (liftM2 if' (< n) (flip (ap (if' . ((==) =<< reverse) . show) (flip (liftM2 if' (> 9) return) [])) [])) [] =<< flip map [2..n] . (^) =<< [2..n]
08:06:50 <[Leary]> A workable trick.
08:06:50 <tomsmeding> TIL @compose
08:08:36 <jackdk> Can a mac user check if hackage search is busted? it works for me on my GNU/Linux laptop but Axman6 reports trouble with mobile safari
08:09:23 <tomsmeding> jackdk: getting this on my firefox linux box: Error with Hackage server: Unexpected content-type: For this resource the content-type was expected to be application/json, rather than multipart/form-data; boundary=---------------------------211408870538557291113223259920
08:09:37 <tomsmeding> seems it's indeed broken
08:09:43 × yauhsien quits (~yauhsien@61-231-42-187.dynamic-ip.hinet.net) (Remote host closed the connection)
08:10:35 <jackdk> I'm on the road, any chance someone can at least log an issue? Please and thank you.
08:11:00 yauhsien joins (~yauhsien@61-231-42-187.dynamic-ip.hinet.net)
08:12:13 <tomsmeding> jackdk: I've asked in #hackage
08:15:27 × yauhsien quits (~yauhsien@61-231-42-187.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
08:20:55 christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
08:21:25 mikoto-chan joins (~mikoto-ch@213.177.151.239)
08:22:34 nate1 joins (~nate@98.45.169.16)
08:24:25 × bilegeek quits (~bilegeek@2600:1008:b047:7868:8343:8573:5cc1:560a) (Quit: Leaving)
08:25:18 king_gs joins (~Thunderbi@2806:103e:29:5eb8:48de:d3eb:9d44:3d55)
08:26:56 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
08:26:59 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
08:27:59 odnes joins (~odnes@5-203-216-219.pat.nym.cosmote.net)
08:29:15 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Client Quit)
08:35:16 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds)
08:35:47 jakalx parts (~jakalx@base.jakalx.net) ()
08:37:47 Midjak joins (~Midjak@82.66.147.146)
08:48:28 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:49:21 × sympt quits (~sympt@193.37.33.20) (Changing host)
08:49:21 sympt joins (~sympt@user/sympt)
08:52:58 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
08:55:09 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
08:55:37 jakalx joins (~jakalx@base.jakalx.net)
09:02:59 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
09:04:31 × odnes quits (~odnes@5-203-216-219.pat.nym.cosmote.net) (Remote host closed the connection)
09:04:50 odnes joins (~odnes@5-203-216-219.pat.nym.cosmote.net)
09:15:28 Polo joins (~Polo@user/polo)
09:15:53 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
09:16:33 × Polo quits (~Polo@user/polo) (Client Quit)
09:18:08 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
09:18:31 Batzy joins (~quassel@user/batzy)
09:18:38 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:22:05 × Batzy quits (~quassel@user/batzy) (Client Quit)
09:23:08 Batzy joins (~quassel@user/batzy)
09:40:53 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
09:45:01 Polo joins (~Polo@user/polo)
09:46:25 jakalx parts (~jakalx@base.jakalx.net) ()
09:47:23 × acidjnk quits (~acidjnk@p200300d0c7068b96511328d5b9114591.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
09:53:29 jakalx joins (~jakalx@base.jakalx.net)
09:55:12 love-linux joins (~aaa@182.253.151.149)
09:56:45 × king_gs quits (~Thunderbi@2806:103e:29:5eb8:48de:d3eb:9d44:3d55) (Quit: king_gs)
09:57:16 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:57:59 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
09:59:57 × coot quits (~coot@213.134.190.95) (Quit: coot)
10:00:07 coot joins (~coot@213.134.190.95)
10:01:09 × Polo quits (~Polo@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:04:48 × phma quits (~phma@2001:5b0:211f:6928:8569:9a3:f6e6:2945) (Read error: Connection reset by peer)
10:05:01 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:05:41 phma joins (~phma@host-67-44-208-139.hnremote.net)
10:09:45 ubert joins (~Thunderbi@p200300cd8f286500acdce0bbd2853fcd.dip0.t-ipconnect.de)
10:10:29 × ubert quits (~Thunderbi@p200300cd8f286500acdce0bbd2853fcd.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
10:10:37 ub joins (~Thunderbi@p5dd19b2c.dip0.t-ipconnect.de)
10:12:55 ub is now known as ubert
10:14:29 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
10:19:19 × ubert quits (~Thunderbi@p5dd19b2c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
10:22:11 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.5)
10:22:14 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:24:25 ubert joins (~Thunderbi@p5dd19b2c.dip0.t-ipconnect.de)
10:25:07 × coot quits (~coot@213.134.190.95) (Quit: coot)
10:32:57 coot joins (~coot@213.134.190.95)
10:33:38 × odnes quits (~odnes@5-203-216-219.pat.nym.cosmote.net) (Remote host closed the connection)
10:35:23 × ubert quits (~Thunderbi@p5dd19b2c.dip0.t-ipconnect.de) (Quit: ubert)
10:37:13 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
10:40:23 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:40:32 zer0bitz joins (~zer0bitz@2001:2003:f444:8f00:4826:893f:cf94:1ccb)
10:43:32 jakalx parts (~jakalx@base.jakalx.net) ()
10:44:22 acidjnk joins (~acidjnk@p200300d0c7068b968155b6e67aa5654c.dip0.t-ipconnect.de)
10:46:45 jakalx joins (~jakalx@base.jakalx.net)
10:46:56 chomwitt joins (~chomwitt@2a02:587:dc21:9e00:a5cf:4aa7:c02f:9451)
10:52:43 dhil joins (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
10:53:44 gpncarl joins (~gpncarl@120.244.220.69)
10:54:40 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:54:48 × Clint quits (~Clint@user/clint) (Ping timeout: 248 seconds)
10:55:19 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
10:57:25 Lord_of_Life_ is now known as Lord_of_Life
10:57:32 cyphase joins (~cyphase@user/cyphase)
10:58:20 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 260 seconds)
11:00:31 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:04:02 × kaph quits (~kaph@net-2-42-128-205.cust.vodafonedsl.it) (Read error: Connection reset by peer)
11:04:14 kaph joins (~kaph@net-2-42-128-205.cust.vodafonedsl.it)
11:08:20 jollygood2 joins (www-data@2607:5300:60:8be::1)
11:08:45 kayprish joins (~kayprish@cable-188-2-151-210.dynamic.sbb.rs)
11:08:50 × kayprish quits (~kayprish@cable-188-2-151-210.dynamic.sbb.rs) (Remote host closed the connection)
11:11:46 ubert joins (~Thunderbi@p200300cd8f286500acdce0bbd2853fcd.dip0.t-ipconnect.de)
11:16:27 zer0bitz_ joins (~zer0bitz@2001:2003:f444:8f00:312d:d371:2ac4:b717)
11:17:24 × zer0bitz quits (~zer0bitz@2001:2003:f444:8f00:4826:893f:cf94:1ccb) (Ping timeout: 248 seconds)
11:17:41 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
11:23:40 × coot quits (~coot@213.134.190.95) (Quit: coot)
11:25:56 × acidjnk quits (~acidjnk@p200300d0c7068b968155b6e67aa5654c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
11:28:30 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
11:30:43 jolandr joins (~Guest14@user/jolandr)
11:41:33 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:41:53 retropikzel joins (9d1a4f9f46@2604:bf00:561:2000::ce)
11:45:16 <jolandr> What is the go-to package for using protobuf + gRPC in Haskell? proto-lens seems nice but doesn't offer all the functionality (ie. services) and gRPC-haskell seems outdated or simply doesn't work for me :'(
11:47:23 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
11:48:08 × dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 248 seconds)
11:48:10 × yaroot quits (~yaroot@134.27.31.150.dy.iij4u.or.jp) (Remote host closed the connection)
11:48:43 yaroot joins (~yaroot@134.27.31.150.dy.iij4u.or.jp)
11:52:56 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
11:54:21 chexum joins (~quassel@gateway/tor-sasl/chexum)
11:54:50 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
11:55:02 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
11:56:43 × ubert quits (~Thunderbi@p200300cd8f286500acdce0bbd2853fcd.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:56:52 × love-linux quits (~aaa@182.253.151.149) (Read error: Connection reset by peer)
11:57:19 geekosaur joins (~geekosaur@xmonad/geekosaur)
11:59:14 ubert joins (~Thunderbi@p5dd19b2c.dip0.t-ipconnect.de)
11:59:30 × ubert quits (~Thunderbi@p5dd19b2c.dip0.t-ipconnect.de) (Client Quit)
11:59:51 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
12:00:07 Feuermagier joins (~Feuermagi@user/feuermagier)
12:08:37 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:18:05 × xaotuk quits (~sasha@net44-38-245-109.mbb.telenor.rs) (Ping timeout: 252 seconds)
12:18:29 xaotuk joins (~sasha@net44-38-245-109.mbb.telenor.rs)
12:18:34 × kilolympus quits (~kilolympu@31.205.200.235) (Quit: See you later! :))
12:19:32 mc47 joins (~mc47@xmonad/TheMC47)
12:21:06 Guest40 joins (~Guest40@117.97.135.91)
12:22:57 jco joins (~jco@90-228-194-139-no542.tbcn.telia.com)
12:23:30 × Guest40 quits (~Guest40@117.97.135.91) (Client Quit)
12:23:59 machinedgod joins (~machinedg@24.105.81.50)
12:26:39 × xaotuk quits (~sasha@net44-38-245-109.mbb.telenor.rs) (Ping timeout: 240 seconds)
12:28:44 enko4457 joins (~enko4457@117.97.135.91)
12:35:09 fef joins (~thedawn@user/thedawn)
12:35:49 Clint joins (~Clint@user/clint)
12:46:58 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
12:48:32 kilolympus joins (~kilolympu@31.205.200.235)
12:49:45 <Axman6> anyone familiar with the zippers package? I'm wondering if it's possible to push something into the context to the left or right of the current location - assuming a pretty normal list zipper, I want to be able to so something like lushr x (Z xs foc ys) = (Z xs x (f:ys)) if my current context is a list
12:50:26 <Axman6> higher level is, if I'm focused somehwere inside a document, and I'm somewhere where there's a list of things I'm focused within, I want to add to that context
12:51:59 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:55:35 × waleee quits (~waleee@h-155-4-221-82.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
12:56:10 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
12:59:59 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:04:40 <geekosaur> tree zipper, instead of just a list?
13:15:50 × chomwitt quits (~chomwitt@2a02:587:dc21:9e00:a5cf:4aa7:c02f:9451) (Ping timeout: 252 seconds)
13:17:27 × yaroot quits (~yaroot@134.27.31.150.dy.iij4u.or.jp) (Ping timeout: 240 seconds)
13:17:35 yaroot joins (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953)
13:20:13 Benzi-Junior joins (~BenziJuni@88-149-64-179.du.xdsl.is)
13:22:21 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
13:24:14 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
13:24:34 × enko4457 quits (~enko4457@117.97.135.91) (Quit: Client closed)
13:28:46 zaquest joins (~notzaques@5.130.79.72)
13:31:54 Vajb joins (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56)
13:32:55 govertsnovert joins (~govertsno@46.246.41.174)
13:35:18 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
13:36:47 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:49:01 × son0p quits (~ff@181.136.122.143) (Remote host closed the connection)
13:58:43 × govertsnovert quits (~govertsno@46.246.41.174) (Remote host closed the connection)
14:17:06 govertsnovert joins (~govertsno@46.246.41.166)
14:18:30 <govertsnovert> Hi All. Trying to wrap my head around performance: How can Data.Map.insert be O(log n) if Data.Map.Map is immutable? Why isn't it at least O(n) ? (need to go through all the elements to copy them) .
14:19:34 <[exa]> govertsnovert: it doesn't reallocate the whole map
14:20:28 <[exa]> govertsnovert: if you know how binary search trees look like, on an insert you actually need to reallocate only the path from the root to the insert point, the rest stays the same and can be reused
14:21:25 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
14:22:09 <[exa]> (There's even a whole research area about functional data structures that try to optimize this behavior. You might have heard about zippers and finger trees.)
14:23:02 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
14:27:47 <govertsnovert> yeh i've ran into finger trees, but not zippers. and yes, I can see how one can reuse most of the structure. Thank you. In general, how does one navigate the various performance impacts of "things" in haskell? As an example, hackage's page on Data.Array has no info on how costly the // operator is.
14:27:47 × Vajb quits (~Vajb@2001:999:400:9bc1:d5dd:7e53:33b:56) (Read error: Connection reset by peer)
14:28:00 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
14:29:20 <geekosaur> documenting that is relatively recent, whereas nobody's touched the array package's docs in years
14:29:31 <govertsnovert> i remember reading somewhere that although // _could_ be implemented as a partial copy (only de? re? reference the elements that changed) it' somplemented as a full copy. (And thus has a profile of O(n+m) is guess?
14:29:39 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
14:29:50 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
14:29:50 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
14:29:50 wroathe joins (~wroathe@user/wroathe)
14:29:52 gpncarl joins (~gpncarl@120.244.220.69)
14:31:02 <[exa]> govertsnovert: usually looking at the source from hackage answers that pretty fast. In this case it looks like the problem gets converted to unsafeReplace
14:31:05 <geekosaur> Array has to make a tradeoff: it could do accounting per element but that slows garbage collection noticeably, or it could do accounting over the whole array which is wasteful. the current solution is that array elements are grouped into "cards" and mutations are tracked per "card"
14:32:09 chomwitt joins (~chomwitt@2a02:587:dc21:9e00:5530:2656:4793:d635)
14:34:03 <govertsnovert> so the general answer is "read the source, and ask around." ? (I'm fine with that. I'm used to that. )
14:38:48 <[exa]> Like, packages _should_ document complexity of performance-critical stuff that is not very obvious, but there is some variability in what authors consider to be "obvious" :D
14:39:37 <geekosaur> and sometimes such documentation is misleading because laziness figures into it
14:41:46 <geekosaur> and then there's https://hackage.haskell.org/package/xmonad-0.17.0/docs/XMonad-StackSet.html#v:focusUp where there's a general case and an exceptional one
14:43:11 geekosaur wonders if that should be updated so the variables match, you have to know how the StackSet is used to know that "w" is referring to "a"
14:43:19 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
14:43:30 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 260 seconds)
14:45:12 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
14:45:12 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
14:45:12 wroathe joins (~wroathe@user/wroathe)
14:49:20 × rburkholder quits (~blurb@96.45.2.121) (Remote host closed the connection)
14:53:26 ober_ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
14:54:43 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
15:02:36 ober__ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:02:49 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
15:03:12 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
15:03:19 × govertsnovert quits (~govertsno@46.246.41.166) (Remote host closed the connection)
15:04:23 × wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal)
15:04:46 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
15:05:30 × ober_ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
15:07:05 ober_ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:08:02 × christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 252 seconds)
15:09:41 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
15:09:45 × ober__ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 260 seconds)
15:09:55 ober__ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:11:21 × ober_ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 248 seconds)
15:13:06 ober_ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:14:52 sabry joins (~sabry@197.37.135.141)
15:15:35 × ober__ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 260 seconds)
15:16:37 ober__ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:16:51 × frost quits (~frost@user/frost) (Quit: Client closed)
15:17:23 × ober_ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 252 seconds)
15:18:42 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:19:21 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Read error: Connection reset by peer)
15:19:35 ober_ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:20:36 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
15:20:54 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
15:22:20 × ober__ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 252 seconds)
15:23:06 ober__ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:25:33 × ober_ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 260 seconds)
15:27:12 yauhsien joins (~yauhsien@61-231-42-187.dynamic-ip.hinet.net)
15:28:25 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:29:05 ober_ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:31:58 × ober__ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 260 seconds)
15:34:36 ober__ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:37:08 × ober_ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 248 seconds)
15:39:05 ober_ joins (~ober@c-24-61-80-158.hsd1.ma.comcast.net)
15:39:15 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
15:41:24 × ober__ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Ping timeout: 248 seconds)
15:44:13 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
15:48:35 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:49:39 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
15:52:33 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
15:54:32 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
15:55:53 × Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 252 seconds)
16:02:05 gpncarl joins (~gpncarl@120.244.220.69)
16:06:46 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
16:07:21 × yauhsien quits (~yauhsien@61-231-42-187.dynamic-ip.hinet.net) (Remote host closed the connection)
16:09:42 yauhsien joins (~yauhsien@61-231-42-187.dynamic-ip.hinet.net)
16:11:11 janus39 joins (~janus@84-107-171-239.cable.dynamic.v4.ziggo.nl)
16:12:03 × janus39 quits (~janus@84-107-171-239.cable.dynamic.v4.ziggo.nl) (Client Quit)
16:15:55 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:17:09 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:17:25 × gpncarl quits (~gpncarl@120.244.220.69) (Ping timeout: 260 seconds)
16:18:19 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
16:24:41 × yauhsien quits (~yauhsien@61-231-42-187.dynamic-ip.hinet.net) (Remote host closed the connection)
16:24:43 × jollygood2 quits (www-data@2607:5300:60:8be::1) (Quit: CGI:IRC (Session timeout))
16:25:30 yauhsien joins (~yauhsien@61-231-42-187.dynamic-ip.hinet.net)
16:27:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
16:28:57 × ober_ quits (~ober@c-24-61-80-158.hsd1.ma.comcast.net) (Quit: Leaving)
16:29:11 Kaiepi joins (~Kaiepi@156.34.47.253)
16:30:10 × yauhsien quits (~yauhsien@61-231-42-187.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
16:36:32 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:39:34 econo joins (uid147250@user/econo)
16:41:55 dhil joins (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
16:42:20 × dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Client Quit)
16:49:43 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:49:45 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
16:53:43 Guest57 joins (~Guest57@69-174-160-103.iplwin75.metronetinc.net)
16:55:23 × fjmorazan quits (~quassel@user/fjmorazan) (Quit: fjmorazan)
16:55:39 fjmorazan joins (~quassel@user/fjmorazan)
17:00:13 × fjmorazan quits (~quassel@user/fjmorazan) (Client Quit)
17:00:52 fjmorazan joins (~quassel@user/fjmorazan)
17:00:59 × Kaiepi quits (~Kaiepi@156.34.47.253) (Remote host closed the connection)
17:01:23 Kaiepi joins (~Kaiepi@156.34.47.253)
17:03:45 nate1 joins (~nate@98.45.169.16)
17:04:11 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
17:12:41 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
17:13:27 <Guest57> How would I post my code for critique?
17:14:00 <geekosaur> paste.tomsmeding.com, gist.github.com, or some other good pastebin
17:14:47 <geekosaur> where good preferably includes support for narrowing in on a range of lines, etc.
17:15:12 <Guest57> and link it? or copy and paste the result
17:15:55 <hpc> link the url here
17:16:07 <Guest57> okay thanks
17:16:15 <Guest57> https://paste.tomsmeding.com/mdUv4Wo5
17:16:16 <hpc> https://paste.tomsmeding.com/L8bIedEW
17:17:31 <Guest57> Haskell's my first programming language, and I'm excited to have solved my first "difficult" problem
17:19:30 MoC joins (~moc@user/moc)
17:19:52 <[exa]> Guest57: great! actually the subset sum problem _is_ computationally hard :]
17:21:11 fendor joins (~fendor@178.115.57.232.wireless.dyn.drei.com)
17:21:38 dzdcnfzd joins (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net)
17:21:42 <hpc> tupleCombinations can be made a little bit nicer
17:21:51 <[exa]> some minor improvements: you can shorten `tupleAdd = uncurry (+)` and `if x==True` is basically the same as `if x`
17:21:52 <hpc> tupleCombinations list = tupleCombinations' list list where ...
17:22:21 <Guest57> what does uncurry do?
17:22:23 <hpc> boolListToPointer can probably be named better - it finds the index of the first True in the list
17:22:26 <hpc> :t uncurry
17:22:27 <lambdabot> (a -> b -> c) -> (a, b) -> c
17:22:27 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
17:22:37 <hpc> makes a function take a tuple instead of two arguments
17:22:39 <[exa]> Guest57: converts a 2param function to a function that works on 2-tuple
17:23:12 <hpc> in fact, boolListToPointer can take the thing you are searching for as a parameter
17:23:19 <hpc> and then you can name it indexOf or something like that
17:23:40 <hpc> indexOf "abc" 'c' = 2, and such
17:23:48 <hpc> and then you can indexOf someList True
17:25:17 jmdaemon joins (~jmdaemon@user/jmdaemon)
17:25:31 <[exa]> Guest57: btw should the program work with any _set_ or just _pairs_ of the numbers?
17:25:46 <Guest57> What would be your advice for fixing up the tupleCombinations function?
17:26:05 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
17:26:29 <statusbot1> Maintenance update: hackage downtime for small update -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/6281372eaa012605343fa6fd
17:26:56 <dsal> :t liftA2 (,)
17:26:57 <lambdabot> Applicative f => f a -> f b -> f (a, b)
17:27:14 <dsal> > liftA2 (,) [1,2,3] [4,5]
17:27:16 <lambdabot> [(1,4),(1,5),(2,4),(2,5),(3,4),(3,5)]
17:28:13 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
17:29:56 × MoC quits (~moc@user/moc) (Ping timeout: 252 seconds)
17:30:00 <Guest57> [exa] just pairs
17:30:11 <[exa]> Guest57: one nice way to generate the pairs is with list comprehensions, say [(a,b) | (a,bs) <- list, b <- bs]
17:30:41 <[exa]> oh whoops, I meant (a:bs)
17:30:50 <statusbot1> Maintenance update: Upgrade completed. -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/6281372eaa012605343fa6fd
17:31:59 <dsal> I don't quite understand `tupleCombinations [a, b] [a2, b2] = (a, b) : []` -- it's not clear to me what you're trying to do here.
17:33:33 <Guest57> dsal if there are only two numbers left in the second list, then all combinations have been tried
17:33:56 <Guest57> my code is really messy though and even I don't understand how it works completely
17:34:10 jmd_ joins (~jmdaemon@user/jmdaemon)
17:34:27 <dsal> I've seen far worse code. I just don't quite understand what you're trying to do. :)
17:34:51 <shapr> whoa, statusbot1 is handy, when did that show up?
17:34:53 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
17:34:53 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 252 seconds)
17:35:00 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
17:36:02 <geekosaur> it's been around for several years, it just doesn't have much to say
17:37:43 nate1 joins (~nate@98.45.169.16)
17:38:39 <dmj`> has anyone written haskell98 w/ bnfc
17:41:14 <Guest57> so an example would be [1,2,3] [1,2,3] -> (1, 2) : tupleCombinations [1,3] [1,2,3] then because it's a two list it would hit the second argument -> (1,2) : (1,3) : tupleCombinations [2,3] [2,3] then it would hit the third argument and produce (2,3) : [] and finish the program
17:41:22 <Guest57> I don't know if that helps or not
17:43:03 <[exa]> Guest57: I guess it removes some unnecessary checks
17:43:17 <Guest57> good or bad code?
17:43:59 <Guest57> at least compared to similar pattern match implementations
17:44:43 <[exa]> yeah, the point is that you can use a bit of builtin functions and tools that you probably don't know about to shorten it up a lot
17:45:05 <[exa]> (or list comprehensions, as I hinted above, except with an error)
17:45:15 <[exa]> let's try these 2:
17:45:20 <[exa]> > tails [1,2,3,4]
17:45:22 <lambdabot> [[1,2,3,4],[2,3,4],[3,4],[4],[]]
17:45:55 <[exa]> > map (\x -> (1,x)) [2,3,4]
17:45:57 <lambdabot> [(1,2),(1,3),(1,4)]
17:47:38 <[exa]> (to get tails, you may need to import Data.List)
17:47:56 <Guest57> I was also wondering if there is any way to skip the list of Bools step
17:48:03 <Guest57> any better way to do that
17:48:10 <Guest57> is seems wasteful to me
17:48:13 <[exa]> yes, I'd use filter
17:48:33 <Guest57> ok
17:49:28 <[exa]> filter out the tuples that don't sum to the number that you want, and from that you either get `[]` if there's no such pair, or `(your_result:_)`
17:51:12 MoC joins (~moc@user/moc)
17:51:48 × dzdcnfzd quits (~dzdcnfzd@pool-108-54-250-165.nycmny.fios.verizon.net) (Quit: Client closed)
17:51:54 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:52:31 <[exa]> dmj`: wow if you meant the BNCF grammar&parser tool, that looks cool
17:52:49 <dmj`> [exa]: yea! v. cool project indeed
17:53:45 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
17:57:39 Sgeo joins (~Sgeo@user/sgeo)
17:59:27 <tomsmeding> statusbot1 is cool
18:01:34 × fef quits (~thedawn@user/thedawn) (Ping timeout: 240 seconds)
18:05:10 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
18:08:46 <[exa]> dmj`: I'm still searching for a kinda good lexer generator that could do labels, this is close but still not there. But thanks for mentioning it, helps a lot with another project :]
18:08:58 kenran joins (~kenran@200116b82bb59000f68574e202d22e91.dip.versatel-1u1.de)
18:17:37 zincy joins (~zincy@2a00:23c8:970c:4801:18b4:9d3:33e8:26e3)
18:18:10 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
18:19:48 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds)
18:21:17 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:21:47 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
18:22:35 nate1 joins (~nate@98.45.169.16)
18:27:35 <dmj`> [exa]: what do you mean labels, bnfc does use alex, which is very good imo
18:30:16 × urdh quits (~urdh@user/urdh) (Quit: Boom!)
18:31:27 <[exa]> hm actually it could work
18:31:45 × fendor quits (~fendor@178.115.57.232.wireless.dyn.drei.com) (Remote host closed the connection)
18:31:55 <[exa]> I also kinda wanted to let the users write their own lexers and load them into the program without recompiling, but well, screw that
18:33:35 causal joins (~user@50.35.83.177)
18:34:55 urdh joins (~urdh@h88-129-148-132.cust.a3fiber.se)
18:34:55 × urdh quits (~urdh@h88-129-148-132.cust.a3fiber.se) (Changing host)
18:34:55 urdh joins (~urdh@user/urdh)
18:38:42 <dmj`> [exa]: their own lexers ay? what kind of project is this
18:39:11 <dsal> Guest57: I generally recommend people avoiding Bool as much as possible. You surely don't need a list of them.
18:39:14 <dsal> :t find
18:39:15 <lambdabot> Foldable t => (a -> Bool) -> t a -> Maybe a
18:39:29 <dsal> ^ That's a slightly better shape to do something similar.
18:41:33 × dcoutts__ quits (~duncan@host213-122-143-140.range213-122.btcentralplus.com) (Ping timeout: 260 seconds)
18:41:51 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:42:55 <dsal> Guest57: Not sure if people pointed this out to you, but it's best to avoid partial functions like `(!!)` and having `error` and such.
18:43:22 dcoutts__ joins (~duncan@host213-122-143-140.range213-122.btcentralplus.com)
18:45:24 <dsal> If you have a function that takes a list `[a]`, how many results are possible? Exactly one? Then the result should be `a`. Zero or one? `Maybe a`. Zero or more? `[a]`. At least one? `NonEmpty a`
18:46:11 ec joins (~ec@gateway/tor-sasl/ec)
18:47:30 × dcoutts__ quits (~duncan@host213-122-143-140.range213-122.btcentralplus.com) (Ping timeout: 240 seconds)
18:48:51 _73 parts (~user@pool-108-49-252-36.bstnma.fios.verizon.net) (ERC 5.4 (IRC client for GNU Emacs 28.1))
18:51:54 michalz joins (~michalz@185.246.204.104)
18:52:52 <Guest57> dsal I'll make sure to write that down, thanks
18:55:52 <[exa]> dmj`: mergetool that doesn't explode on code reformats etc
18:56:52 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:03:23 <dmj`> [exa]: that's a pretty cool idea
19:04:06 <dmj`> [exa]: I was thinking of making a process monitoring tool that could understand systemD units, was multiplatform, etc. Like docker-compose but no docker images, just bare metal.
19:04:36 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
19:04:52 <dmj`> with colored output ofc
19:05:14 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
19:05:42 <geekosaur> multiplatform will change your mind very quickly :)
19:06:05 <[exa]> "multiplatform" vs "systemd" ah yes
19:06:13 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Quit: mikoto-chan)
19:06:27 mikoto-chan joins (~mikoto-ch@213.177.151.239)
19:06:42 <[exa]> systemd has some kind of programmatic output where it reports its complete internal state, right?
19:06:56 <geekosaur> even ignoring that (there are equivalents on both os x and windows, after all, they're just even harder to handle quasiportably than the rest of it)
19:07:37 <geekosaur> and then on macs there's the question of how you count mach vs. xinu processes, beyond launchd units
19:10:38 <dmj`> the unix package has some cross platform stuff and there's Win32, to be clear, I'm not advocating building an init system, everything would be user land. Just gets annoying re-running tests in a docker-compose setup because you have to rebuild images and that is no fun.
19:11:09 <geekosaur> (and I think windows has similar issues, there's an internal level beyond merely SYSTEM)
19:11:34 stackdroid18 joins (14094@user/stackdroid)
19:12:31 × zincy quits (~zincy@2a00:23c8:970c:4801:18b4:9d3:33e8:26e3) (Remote host closed the connection)
19:13:03 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
19:13:55 <dmj`> [exa]: yea, you can list all units w/ systemctl, and then journalctl -u name -f is like tailing on the logs
19:17:25 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:19:41 coot joins (~coot@213.134.190.95)
19:20:06 nattiestnate joins (~nate@202.138.250.53)
19:20:49 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:28:13 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 260 seconds)
19:28:42 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
19:30:38 nate1 joins (~nate@98.45.169.16)
19:31:00 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
19:32:26 dcoutts__ joins (~duncan@185.201.60.217)
19:35:17 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:42:45 × jco quits (~jco@90-228-194-139-no542.tbcn.telia.com) (Ping timeout: 260 seconds)
19:46:50 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:47:01 pavonia joins (~user@user/siracusa)
19:47:48 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
19:48:41 ccntrq joins (~Thunderbi@dynamic-046-114-166-012.46.114.pool.telefonica.de)
19:50:23 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
19:51:24 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
19:51:46 ubert joins (~Thunderbi@p200300ecdf1588eeec30bba7413e2c9e.dip0.t-ipconnect.de)
19:52:04 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
19:58:36 Pickchea joins (~private@user/pickchea)
20:00:08 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
20:00:30 xkuru joins (~xkuru@user/xkuru)
20:01:10 × ccntrq quits (~Thunderbi@dynamic-046-114-166-012.46.114.pool.telefonica.de) (Remote host closed the connection)
20:02:39 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:03:12 acidjnk joins (~acidjnk@p200300d0c7068b96c1e16b2c2fcc66e6.dip0.t-ipconnect.de)
20:11:02 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
20:11:32 × ubert quits (~Thunderbi@p200300ecdf1588eeec30bba7413e2c9e.dip0.t-ipconnect.de) (Quit: ubert)
20:14:15 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
20:14:23 × Guest57 quits (~Guest57@69-174-160-103.iplwin75.metronetinc.net) (Quit: Client closed)
20:14:36 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:15:41 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
20:20:52 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 248 seconds)
20:21:34 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
20:22:59 × coot quits (~coot@213.134.190.95) (Quit: coot)
20:23:00 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
20:24:42 Kaipei joins (~Kaiepi@156.34.47.253)
20:27:48 × Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 248 seconds)
20:28:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
20:28:38 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:31:01 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
20:31:47 × dcoutts__ quits (~duncan@185.201.60.217) (Ping timeout: 240 seconds)
20:36:09 × michalz quits (~michalz@185.246.204.104) (Remote host closed the connection)
20:36:32 caef^ joins (~nehsou@128-092-160-234.biz.spectrum.com)
20:38:54 × kenran quits (~kenran@200116b82bb59000f68574e202d22e91.dip.versatel-1u1.de) (Quit: WeeChat info:version)
20:39:04 × Kaipei quits (~Kaiepi@156.34.47.253) (Remote host closed the connection)
20:39:30 Kaipei joins (~Kaiepi@156.34.47.253)
20:42:22 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
20:47:34 DNH joins (~DNH@2a02:8109:b740:2c4:c07a:8e6d:1ea3:2216)
20:48:00 zebrag joins (~chris@user/zebrag)
20:48:45 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
20:51:10 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:53:58 xaotuk joins (~sasha@net110-38-245-109.mbb.telenor.rs)
20:54:38 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
20:55:18 flupe joins (~baboum@176-172-101-165.abo.bbox.fr)
20:55:58 euandreh joins (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
20:56:21 takuan joins (~takuan@178-116-218-225.access.telenet.be)
20:56:55 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
20:59:33 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
21:00:16 gehmehgeh joins (~user@user/gehmehgeh)
21:00:35 × merijn quits (~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
21:05:06 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
21:07:48 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:07:51 Simon52 joins (~Simon@ipbcc036f5.dynamic.kabel-deutschland.de)
21:09:22 <Simon52> Hey guys, does anybody have an idea why that "                    inhalt = inhalt ++ (dWort ++ " " ++ bWort ++ "\n")" brings me a parse error?
21:09:23 <Simon52> import System.IO
21:09:23 <Simon52> main :: IO()
21:09:24 <Simon52> main = do
21:09:24 <Simon52>     let fullText = ""
21:09:25 <Simon52>     putStrLn "Deutsches Wort:"
21:09:25 <Simon52>     dWort <- getLine
21:09:26 <Simon52>     if null dWort
21:09:26 <Simon52>         then return ()
21:09:27 <Simon52>         else do
21:09:27 <Simon52>             putStrLn "Bairisches Wort:"
21:09:28 <Simon52>             bWort <- getLine
21:09:28 <Simon52>             if null bWort
21:09:29 <Simon52>                 then return ()
21:09:29 <Simon52>                 else do
21:09:30 <Simon52>                     putStrLn ("'" ++ dWort ++ "'" ++ " heisst auf Bairisch " ++ "'" ++ bWort ++ "'")
21:09:30 <Simon52>                     leseGriff <- openFile "woerterbuch.txt" ReadMode
21:09:31 <Simon52>                     inhalt <- hGetContents leseGriff
21:10:12 Guest24 joins (~Guest24@2601:407:c680:3410:68f3:fd0d:4e98:9595)
21:10:24 <monochrom> Ugh Simon52 please use a paste bin. Here:
21:10:25 <Simon52> I also would have handeled it differently, but I cannot figure out how to declare a string variable in that do-loop without it causing an error
21:10:28 <monochrom> @where paste
21:10:28 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
21:10:57 <Simon52> Thanks, here it is: https://paste.tomsmeding.com/5814MPmc
21:11:29 andrey joins (~andrey@p200300dbcf47c200eee061049814fce3.dip0.t-ipconnect.de)
21:12:27 × Guest24 quits (~Guest24@2601:407:c680:3410:68f3:fd0d:4e98:9595) (Client Quit)
21:12:35 <geekosaur> you might want to use `when` instead of those if-then-else-s
21:12:36 <monochrom> I don't know how to explain "why" except "var = expr" is simply not a thing in do-notation.
21:12:40 Guest24 joins (~Guest24@2601:407:c680:3410:68f3:fd0d:4e98:9595)
21:12:47 × andrey_ quits (~andrey@p200300dbcf3e23005cb23a11d813ffaf.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
21:12:56 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
21:13:14 <Simon52> monochrom how to solve it instead of that?
21:13:16 <geekosaur> there is no such thing as a "variable" in Haskell; you can't assign like that, the closest you get is <- (which is actually doing something else; see >>=)
21:13:36 <geekosaur> there is let but you still can't change a value that way
21:13:47 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
21:14:01 × sabry quits (~sabry@197.37.135.141) (Quit: Client closed)
21:14:12 <Simon52> Ohh, now it seems to work (with let inhalt ...)
21:14:31 <monochrom> In do-notation there is a provision for "let var = expr" but just like the rest of Haskell it is not "update the variable" it is rather giving a name to a value. You will have no luck with "let inhalt = inhalt ++ ..." either. Choose a new name.
21:14:45 <geekosaur> typically if I were doing that I'd do something like https://paste.tomsmeding.com/mEA68sDg
21:15:14 <geekosaur> alternately I'd rearrange things so I could fmap the change over the readFile
21:15:49 Rookie joins (~Rookie@2601:407:c680:3410:68f3:fd0d:4e98:9595)
21:16:30 <monochrom> By the same logic, the inhalt="" and fullText="" at the beginning are dumb.
21:16:32 × Rookie quits (~Rookie@2601:407:c680:3410:68f3:fd0d:4e98:9595) (Client Quit)
21:16:49 <Simon52> Yeah, you are right, I removed them
21:16:55 Guest24 parts (~Guest24@2601:407:c680:3410:68f3:fd0d:4e98:9595) ()
21:17:03 dcoutts joins (~duncan@host86-187-173-90.range86-187.btcentralplus.com)
21:17:10 <Simon52> But that's the way it might would have worked in Java
21:17:22 <Simon52> But here things are different 😅
21:17:42 <Simon52> Thanks for the input geekosaur
21:18:00 rookiedoo joins (~rookiedoo@2601:407:c680:3410:68f3:fd0d:4e98:9595)
21:18:05 <Simon52> What can I use instead of ReadMode? EditMode?
21:19:40 <geekosaur> changing the file mode won't help here
21:19:55 <geekosaur> Java has mutable values. Haskell doesn't
21:20:23 × m1dnight quits (~christoph@78.22.9.5) (Ping timeout: 252 seconds)
21:20:24 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 248 seconds)
21:21:07 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
21:21:12 <Simon52> *** Exception: woerterbuch.txt: openFile: resource busy (file is locked)
21:21:46 m1dnight joins (~christoph@78-22-9-5.access.telenet.be)
21:21:47 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
21:21:52 <rookiedoo> Does anyone have a suggestion on the best way to get in touch with devs who are able to build cardano defi apps?
21:23:36 <geekosaur> oh. that's because hGetContents is lazy. you need to force the read, generally by using seq
21:23:44 <monochrom> This is going to be a mess. hGetContents does lazy I/O, you have much less control on when the reading happens and when the file is closed. (No, code order does nothing.)
21:23:52 <Simon52> geekosaur What does using seq mean?
21:23:57 <geekosaur> :t seq
21:23:58 <lambdabot> a -> b -> b
21:23:59 <monochrom> The simplest way out is: Are you OK with writing to a different file?
21:24:27 <Simon52> monochrom You mean creating a new one?
21:24:32 <monochrom> Yes.
21:24:33 <geekosaur> seq promises that when its second argument is evaluated, so is its first
21:24:41 <geekosaur> but what monochrom is saying is easier
21:24:44 <Simon52> And overwriting the old one? Sure. Should have the name woerberbuch.txt
21:25:07 <Simon52> woerterbuch.txt, perdon
21:25:13 × jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds)
21:25:38 <geekosaur> the real way around it if you must keep the same name is to switch to strict I/O instead, since lazy I/O is a bit of a wart and hard to make behave
21:26:14 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
21:27:01 <Simon52> So I have to add a string consisting of two strings to the same file for every loop of the main method as long as the user wants.
21:27:02 <Simon52> How to handle that best?
21:29:28 × glguy quits (x@libera/staff/glguy) (Read error: Connection reset by peer)
21:30:17 × zer0bitz_ quits (~zer0bitz@2001:2003:f444:8f00:312d:d371:2ac4:b717) (Ping timeout: 252 seconds)
21:30:27 glguy joins (x@libera/staff/glguy)
21:31:15 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 260 seconds)
21:31:46 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
21:32:34 govertsnovert joins (~govertsno@ip69-17-229-66.vif.net)
21:33:24 × xaotuk quits (~sasha@net110-38-245-109.mbb.telenor.rs) (Ping timeout: 248 seconds)
21:33:44 kmein joins (~weechat@user/kmein)
21:34:13 × govertsnovert quits (~govertsno@ip69-17-229-66.vif.net) (Quit: Leaving...)
21:38:29 <Simon52> Why won't it work like that? https://paste.tomsmeding.com/njPB0ps0
21:38:51 <Simon52> I get *** Exception: ./woerterbuch.txt: openFile: resource busy (file is locked)
21:39:07 <monochrom> What we said.
21:39:19 <monochrom> readFile is as lazy as hGetContents.
21:39:25 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
21:40:05 <Simon52> Hmm. You suggested to overwrite the file? How would I do that?
21:40:22 <monochrom> No, I suggested writing to a different file.
21:40:41 <Simon52> And each do-iteration would require a different file?
21:40:43 <monochrom> I seriously don't understand how that became "overwrite the original file".
21:41:36 <Simon52> Sorry for the misinterpretation!
21:44:48 × Simon52 quits (~Simon@ipbcc036f5.dynamic.kabel-deutschland.de) (Quit: Client closed)
21:48:46 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
21:49:14 <monochrom> This is just appending new data to a file, independent of existing data in the file. So just use appendFile, don't even read.
21:51:45 × nattiestnate quits (~nate@202.138.250.53) (Quit: WeeChat 3.5)
21:55:33 nate1 joins (~nate@98.45.169.16)
21:56:55 merijn joins (~merijn@c-001-001-002.client.esciencecenter.eduvpn.nl)
21:59:28 tafama joins (~tafa@user/tafa)
21:59:49 × tafa quits (~tafa@user/tafa) (Read error: Connection reset by peer)
22:00:36 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds)
22:02:30 <maerwald> fresh student writing variables in Deutsch
22:03:09 xaotuk joins (~sasha@net110-38-245-109.mbb.telenor.rs)
22:04:30 × juri_ quits (~juri@178.63.35.222) (Ping timeout: 260 seconds)
22:07:20 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:07:35 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
22:09:54 jollygood2 joins (www-data@2607:5300:60:8be::1)
22:10:12 × flupe quits (~baboum@176-172-101-165.abo.bbox.fr) (Ping timeout: 248 seconds)
22:10:27 flupe joins (~baboum@radon.sbi.re)
22:10:54 × jolandr quits (~Guest14@user/jolandr) (Ping timeout: 252 seconds)
22:12:06 × dcoutts quits (~duncan@host86-187-173-90.range86-187.btcentralplus.com) (Remote host closed the connection)
22:18:59 machinedgod joins (~machinedg@24.105.81.50)
22:19:47 × xaotuk quits (~sasha@net110-38-245-109.mbb.telenor.rs) (Ping timeout: 252 seconds)
22:21:24 × flupe quits (~baboum@radon.sbi.re) (Ping timeout: 248 seconds)
22:23:14 × rookiedoo quits (~rookiedoo@2601:407:c680:3410:68f3:fd0d:4e98:9595) (Quit: Client closed)
22:23:46 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:26:46 × sympt quits (~sympt@user/sympt) (Quit: The Lounge - https://thelounge.chat)
22:27:58 dcoutts joins (~duncan@host86-187-173-90.range86-187.btcentralplus.com)
22:29:43 sympt joins (~sympt@user/sympt)
22:32:35 nate1 joins (~nate@98.45.169.16)
22:33:08 × acidjnk quits (~acidjnk@p200300d0c7068b96c1e16b2c2fcc66e6.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:33:22 × Tuplanolla quits (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.)
22:37:26 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
22:46:49 × xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 248 seconds)
22:47:39 × chomwitt quits (~chomwitt@2a02:587:dc21:9e00:5530:2656:4793:d635) (Ping timeout: 240 seconds)
22:50:08 sieben joins (~user@ip68-12-103-253.ok.ok.cox.net)
23:00:32 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 246 seconds)
23:01:24 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 248 seconds)
23:05:11 <cdsmith> I'm getting the warning "The record update foo { bar = exp } with type Foo is ambiguous. This will not be supported by DuplicateRecordFields in future releases of GHC." How should this be disambiguated? I've tried adding every type annotation I can think of without success...
23:06:24 cyphase joins (~cyphase@user/cyphase)
23:07:07 <monochrom> Is Foo a parametrized type? That would happen.
23:07:41 <cdsmith> Yeah, something like `data Foo f = Foo { ..., bar :: f SomeType }`
23:07:54 <cdsmith> This is a type-changing record update
23:08:00 <monochrom> If the type annotation uses a type variable too, you need ScopedTypeVariables and some forall's at an outer scope.
23:08:28 <cdsmith> No, the type annotations don't use type variables. I know the concrete types at the point where this code occurs.
23:08:30 <maerwald> and then run into simplified subsumption? :>
23:08:54 <cdsmith> Specifically, I am converting a `Foo TVar` into a `Foo Identity`
23:09:01 xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp)
23:09:20 <monochrom> Hrm. Maybe ignore the warning... :)
23:09:40 <cdsmith> It specifically says it's going to break my code in future GHC versions, though. :)
23:09:55 <monochrom> Do you also use DuplicateRecordFields?
23:10:00 <cdsmith> Yes
23:10:42 <cdsmith> yeah, `bar` is definitely a duplicate field name. There is also another type with a field called `bar`. I am using DuplicateRecordFields and NoFieldSelectors
23:10:42 <monochrom> I am not sure how it's ambiguous in the first place...
23:10:45 flupe joins (~baboum@bes60-h02-176-172-101-165.dsl.sta.abo.bbox.fr)
23:11:37 <monochrom> or therefore exactly what will be unsupported in the future...
23:12:53 <cdsmith> Yeah, I'm not sure either. I'd be happy to add any annotation to tell GHC which `bar` field this is. I just am failing to successfully tell it.
23:14:39 <cdsmith> I guess I'll take your advice and disable the warning.
23:21:32 × DNH quits (~DNH@2a02:8109:b740:2c4:c07a:8e6d:1ea3:2216) (Quit: Textual IRC Client: www.textualapp.com)
23:27:50 × sieben quits (~user@ip68-12-103-253.ok.ok.cox.net) (Quit: ERC (IRC client for Emacs 26.3))
23:29:21 machinedgod joins (~machinedg@24.105.81.50)
23:33:43 melas joins (~melas@172.77.31.247)
23:35:02 × shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
23:35:06 <jackdk> Sounds like the GHC issue tracker should be told about this
23:35:15 <melas> Hello! I'm trying to wrap my head around lambda calculus and haskell. I'm playing with this. A "map2D" function, and I'm trying to write the lambda calculus that would represent it. I don't think I have it right though because it doesn't seem to reduce right. Can you tell me what I'm doing wrong here? Thank you!:
23:35:27 <melas> (\f1 xs -> map f1 xs) . (\f2 ys -> map f2 ys)
23:35:34 <melas> (λx.yzx)(λm.ynm)
23:36:39 shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net)
23:37:04 <geekosaur> that will actually be difficult, since (a) there's no simple way to represent a list in untyped LC, therefore (b) there's no simple way to write "map" in untyped LC
23:38:17 <geekosaur> the useful part of lambda calculus with respect to Haskell is that both do reductions the same way. the less than useful part is trying to actually translate Haskell to untyped or simply typed lambda calculus, unless you stick to the parts of Haskell that are representable in those
23:39:16 <jackdk> Is anyone aware of any good helper libraries for writing GHC plugins? e.g., libraries of optics for working with syntax trees etc
23:40:50 × flupe quits (~baboum@bes60-h02-176-172-101-165.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
23:46:31 <melas> Could we do it ignoring what map actually is? i.e. just think of it as anything "x"
23:46:51 <melas> I'm trying to figure out the reduction, not the inner workings of the functions themselves, if t6hat makes sense
23:47:05 nate1 joins (~nate@98.45.169.16)
23:47:32 <geekosaur> only if you pass map in as a parameter
23:48:26 <geekosaur> lambda calculus is … not real smart, shall we say
23:49:28 flupe joins (~baboum@176-172-101-165.abo.bbox.fr)
23:49:39 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
23:50:25 × sympt quits (~sympt@user/sympt) (Read error: Connection reset by peer)
23:50:57 <jackdk> I think rather than thinking of an LC, manually reducing your lambda expressions as if they were haskell may be good practice. Let me prepare a paste
23:51:10 <geekosaur> probably
23:51:37 <geekosaur> anyway your most likely direct problem is it looks to me like you're trying to represent function composition as function application, which doesn't work
23:51:39 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
23:51:57 sympt joins (~sympt@user/sympt)
23:52:25 × Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds)
23:53:18 Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
23:55:23 <jackdk> @src (.)
23:55:23 <melas> Ah, I see what you mean. That's probably why I'm not understanding it
23:55:23 <lambdabot> (f . g) x = f (g x)
23:55:31 <geekosaur> function composition (the (.) operator) is λf.λg.λx.f(g(x))
23:57:35 <melas> So instead of using (.) could we use LC to reduce this?:
23:57:36 <melas> map2D = (\x -> (\f1 xs -> map f1 xs) ((\f2 ys -> map f2 ys) x))
23:58:24 <melas> My end goal here is to make sure I understand how functions are applied in which order
23:58:50 × flupe quits (~baboum@176-172-101-165.abo.bbox.fr) (Ping timeout: 260 seconds)
23:59:12 <geekosaur> here I think jackdk's approach will be more fruitful
23:59:32 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 248 seconds)
23:59:33 <melas> I guess I naively imagined I could use LC on any function
23:59:55 <jackdk> This is an expansion of your first question. I would try each step by hand, checking whether what you have makes sense (order can vary a little) https://www.irccloud.com/pastebin/D6zq8QVp/map-of-map.hs

All times are in UTC on 2022-05-15.