Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2020-11-02 01:44:00 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
2020-11-02 01:46:12 × aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 272 seconds)
2020-11-02 01:46:40 <dolio> In Haskell 1.4 it was `MonadPlus m => [m a] -> m a`
2020-11-02 01:48:03 × dmwit quits (~dmwit@pool-108-18-228-100.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-11-02 01:49:45 dmwit joins (~dmwit@pool-108-28-166-212.washdc.fios.verizon.net)
2020-11-02 01:53:40 × mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 2.9)
2020-11-02 01:57:30 hackage gargoyle 0.1.1.0 - Automatically spin up and spin down local daemons https://hackage.haskell.org/package/gargoyle-0.1.1.0 (abrar)
2020-11-02 01:58:31 hackage gargoyle-postgresql-nix 0.3.0.0, gargoyle-postgresql 0.2.0.0 (abrar): https://qbin.io/joint-mixer-6yez
2020-11-02 01:59:12 × kjak quits (~kjak@pool-173-73-38-16.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2020-11-02 01:59:30 hackage gargoyle-postgresql-connect 0.1.0.0 - Connect to gargoyle-managed postgresql instances https://hackage.haskell.org/package/gargoyle-postgresql-connect-0.1.0.0 (abrar)
2020-11-02 02:03:45 <hololeap> i just remembered it being [[a]] -> [a], but maybe this was a simplification presented to beginners
2020-11-02 02:05:35 <davean> ew, ugly, who uses lists? :-p
2020-11-02 02:06:09 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-02 02:08:01 × leah2 quits (~leah@vuxu.org) (Ping timeout: 264 seconds)
2020-11-02 02:08:49 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-11-02 02:09:04 × alp quits (~alp@2a01:e0a:58b:4920:e0bd:5b09:72db:411d) (Ping timeout: 240 seconds)
2020-11-02 02:10:16 <dsal> Is this #lisp?
2020-11-02 02:10:44 <davean> Apparently.
2020-11-02 02:10:58 <davean> /part
2020-11-02 02:10:59 <nshepperd> hee, foldMap toList is a nice trick (but wait, is it efficient? maybe it should be toList . foldMap toDiffList)
2020-11-02 02:11:04 <davean> /join #haskell
2020-11-02 02:14:58 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-11-02 02:17:44 × akad_ quits (~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 240 seconds)
2020-11-02 02:18:09 nbloomf joins (~nbloomf@2600:1700:ad14:3020:419f:7551:94a4:41c1)
2020-11-02 02:18:22 ronbrz joins (~ronbrz@207.229.174.134)
2020-11-02 02:19:53 jbox joins (~atlas@unaffiliated/jbox)
2020-11-02 02:20:17 × ech quits (~user@gateway/tor-sasl/ech) (Remote host closed the connection)
2020-11-02 02:22:16 × bennofs1 quits (~benno@dslb-094-222-054-143.094.222.pools.vodafone-ip.de) (Quit: WeeChat 2.9)
2020-11-02 02:22:50 Gurkenglas__ joins (~Gurkengla@unaffiliated/gurkenglas)
2020-11-02 02:23:08 wei2912 joins (~wei2912@unaffiliated/wei2912)
2020-11-02 02:23:44 <Raito_Bezarius> Dis there a way to easily debug when megaparsec seems to do an infinite loop?
2020-11-02 02:23:46 <Raito_Bezarius> -d
2020-11-02 02:23:57 <Raito_Bezarius> I tried to put dbg but it's quite tedious as I have many parsers
2020-11-02 02:26:05 × Gurkenglas_ quits (Gurkenglas@gateway/vpn/protonvpn/gurkenglas) (Ping timeout: 240 seconds)
2020-11-02 02:26:48 <dolio> It was [[a]] -> [a] in Haskell 98 and 2010, I think.
2020-11-02 02:27:23 mimi_vx joins (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c)
2020-11-02 02:30:34 <sm[m]> Raito_Bezarius: add a bunch of dbg, trace, or just an error call. Reload in ghci to see changes faster
2020-11-02 02:30:58 <Raito_Bezarius> sm[m]: unfortunately adding a bunch didn't give me anything
2020-11-02 02:31:11 <Raito_Bezarius> I think it was in the internals of makeExprTable
2020-11-02 02:31:14 <Raito_Bezarius> or something
2020-11-02 02:31:21 <sm[m]> move them around until you narrow down where it gets stuck
2020-11-02 02:31:28 × stree quits (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2020-11-02 02:31:32 <sm[m]> or, comment out code until it stops doing that
2020-11-02 02:31:46 stree joins (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net)
2020-11-02 02:31:47 <Raito_Bezarius> I was wondering of a method which can "enable" some verbose mode in megaparsec in general
2020-11-02 02:32:04 <Raito_Bezarius> this method of moving out things does not seem to scale well with a lot of parsers alas
2020-11-02 02:32:16 <Raito_Bezarius> but maybe this is a proficiency thing
2020-11-02 02:32:29 <Raito_Bezarius> (and I'm already using ghci+parseTest+reload)
2020-11-02 02:32:41 <hololeap> \
2020-11-02 02:33:01 <hololeap> dolio: good to know. i remember seeing that in a tutorial somewhere.
2020-11-02 02:33:18 jbox parts (~atlas@unaffiliated/jbox) ("WeeChat 2.9")
2020-11-02 02:34:03 <sm[m]> in hledger, I do it in two ways. 1, include debug/trace statements in most parsers, which activates only with --debug=N. 2, insert such statements temporarily where needed, for quick troubleshooting in GHCI
2020-11-02 02:35:03 <hololeap> Raito_Bezarius: just found this https://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec-Debug.html
2020-11-02 02:35:39 <hololeap> from here https://hoogle.haskell.org/?hoogle=debug%20package%3Amegaparsec
2020-11-02 02:35:42 <sm[m]> Raito_Bezarius: 1 (permanent, optional tracing) is handy to see the big picture, and for troubleshooting user installations. 2 (temporary tracing) is good for targetted debugging
2020-11-02 02:35:49 inkbottle joins (~inkbottle@aaubervilliers-654-1-1-110.w83-200.abo.wanadoo.fr)
2020-11-02 02:36:13 <Raito_Bezarius> hololeap: this is the dbg I spoke about afaik
2020-11-02 02:36:14 × jespada quits (~jespada@90.254.243.98) (Ping timeout: 272 seconds)
2020-11-02 02:36:46 × zebrag quits (~inkbottle@aaubervilliers-654-1-111-120.w86-198.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-11-02 02:36:46 <Raito_Bezarius> if a dbgAll would exist and would recursively set dbg to all subparsers that'd be nice
2020-11-02 02:36:51 <Raito_Bezarius> but I suppose it'd create too much verbose output
2020-11-02 02:37:07 <sm[m]> yes that would be nice, and yes would need to be optional
2020-11-02 02:37:22 <Raito_Bezarius> I agree that would have to be optional
2020-11-02 02:38:09 <sm[m]> you might need a bit more practice, it shouldn't take too many traces & ghci reloads to narrow down the problem
2020-11-02 02:38:20 jespada joins (~jespada@90.254.245.49)
2020-11-02 02:38:23 <Raito_Bezarius> in fact, some minutes after I realized what was going on
2020-11-02 02:38:32 <sm[m]> heh
2020-11-02 02:38:32 <Raito_Bezarius> but I admit that with too much tiredness in the blood, it's quite hard
2020-11-02 02:38:42 <Raito_Bezarius> so I was wondering of a better way :p
2020-11-02 02:38:49 <Raito_Bezarius> thanks for the advice sm[m] though :)
2020-11-02 02:39:17 <sm[m]> I think both ways have their uses.. and stepping in a debugger would also be a nice option, not so easy for us alas
2020-11-02 02:40:33 × acidjnk_new quits (~acidjnk@p200300d0c7226044298aa97eef668aef.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-11-02 02:40:44 toorevitimirp joins (~tooreviti@117.182.183.132)
2020-11-02 02:42:44 × machinedgod quits (~machinedg@207.253.244.210) (Ping timeout: 240 seconds)
2020-11-02 02:42:58 × texasmynsted quits (~texasmyns@212.102.45.115) (Remote host closed the connection)
2020-11-02 02:43:55 texasmynsted joins (~texasmyns@212.102.45.115)
2020-11-02 02:44:01 <Raito_Bezarius> is there a way to create record using Applicative syntax?
2020-11-02 02:45:26 <gobbleguy> Raito_Bezarius: this is doing that: https://github.com/glguy/irc-core/blob/v2/src/Client/Configuration/ServerSettings.hs#L421-L430
2020-11-02 02:45:49 <gobbleguy> with the ApplicativeDo and RecordWildCards extensions
2020-11-02 02:46:16 <Raito_Bezarius> thanks gobbleguy !
2020-11-02 02:46:38 <sm[m]> and you know about doing it with function syntax I guess: Foo field1val field2val ...
2020-11-02 02:46:48 × electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-11-02 02:47:00 <Raito_Bezarius> oh right, sm[m]
2020-11-02 02:47:04 <Raito_Bezarius> nice :-)
2020-11-02 02:47:28 <sm[m]> but RecordWildCards requires less maintenance as your record changes. Might also be more error-prone/less-readable for some
2020-11-02 02:48:34 × texasmynsted quits (~texasmyns@212.102.45.115) (Ping timeout: 258 seconds)
2020-11-02 02:48:38 × lemmih quits (~lemmih@2406:3003:2072:44:51b:ea3d:d135:394c) (Ping timeout: 264 seconds)
2020-11-02 02:50:29 × ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 258 seconds)
2020-11-02 02:51:01 sm[m] loves RecordWildCards
2020-11-02 02:51:23 lemmih joins (~lemmih@2406:3003:2072:44:2c90:c5a8:23d6:f0a8)
2020-11-02 02:53:24 drbean joins (~drbean@TC210-63-209-71.static.apol.com.tw)
2020-11-02 02:57:44 × xff0x quits (~fox@2001:1a81:5341:f200:c657:86c0:ac7a:d369) (Ping timeout: 240 seconds)
2020-11-02 02:58:04 <xsperry> what would make it more error-prone?
2020-11-02 02:58:17 Stanley00 joins (~stanley00@unaffiliated/stanley00)
2020-11-02 02:59:12 akad_ joins (~akad@109107030050.radomsko.vectranet.pl)
2020-11-02 02:59:44 <dsal> NamedFieldPuns
2020-11-02 02:59:45 xff0x joins (~fox@2001:1a81:537c:3e00:a716:2819:5bdd:ec6f)
2020-11-02 03:00:02 × Guest95559 quits (~ccallahan@139.28.218.148) ()
2020-11-02 03:03:05 <dsal> Er, that'd make it less error prone.
2020-11-02 03:03:57 × mimi_vx quits (~mimi@2a01:490:16:1026:8cbe:b3f3:f284:209c) (Ping timeout: 260 seconds)

All times are in UTC.