Logs: freenode/#haskell
| 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.