Logs: liberachat/#haskell
| 2021-06-16 14:03:23 | <dminuoso> | https://hackage.haskell.org/package/tagsoup-0.14.8/docs/Text-HTML-TagSoup-Tree.html#v:parseTreeOptions |
| 2021-06-16 14:05:50 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 272 seconds) |
| 2021-06-16 14:06:14 | <dminuoso> | Or even a plain tagsoup list https://hackage.haskell.org/package/tagsoup-0.14.8/docs/Text-HTML-TagSoup.html#v:parseTagsOptions |
| 2021-06-16 14:06:44 | × | lechner quits (~lechner@letbox-vps.us-core.com) (Quit: WeeChat 3.0) |
| 2021-06-16 14:08:40 | × | zeenk quits (~zeenk@188.26.30.39) (Quit: Konversation terminated!) |
| 2021-06-16 14:08:59 | → | lechner joins (~lechner@letbox-vps.us-core.com) |
| 2021-06-16 14:09:47 | <bmo> | I am a bit concerned about the size of the files (~1G) but it might be negligible. I'll try to work with that and will see |
| 2021-06-16 14:10:26 | <merijn> | bmo: xml-conduit is great for scraping schema-less XML, but it's not really well suited to XML with an actual schema |
| 2021-06-16 14:10:55 | <merijn> | That said, HaXml always looked confusing as hell to me, and I wouldn't dare assume it handles huge inputs gracefully |
| 2021-06-16 14:11:44 | → | shredder joins (~shredder@user/shredder) |
| 2021-06-16 14:12:54 | → | Pickchea joins (~private@user/pickchea) |
| 2021-06-16 14:14:13 | <maerwald> | it uses arrows, no? |
| 2021-06-16 14:14:24 | <bmo> | Yes ^^ |
| 2021-06-16 14:14:35 | <maerwald> | no one knows what they are for |
| 2021-06-16 14:14:36 | <maerwald> | :> |
| 2021-06-16 14:15:19 | <dminuoso> | merijn: well if the relative order of tags at some parent is unknown, xml-conduit seems very uncomfortable to use. |
| 2021-06-16 14:15:38 | <dminuoso> | Did I miss some combinator to do permutation-style tag parsing? |
| 2021-06-16 14:15:42 | <merijn> | How so? |
| 2021-06-16 14:16:18 | → | jao joins (jao@gateway/vpn/protonvpn/jao) |
| 2021-06-16 14:16:27 | <dminuoso> | Say you have <foo><bar></bar><quux></quux></foo>, and you want it to parse whether bar or quux have been swapped around or not. |
| 2021-06-16 14:17:27 | <dminuoso> | As far as I can tell, `tag` commits to a particular chosen tag |
| 2021-06-16 14:17:38 | <bmo> | I'd end up writing `do ts <- many $ tag (t_0 <|> ... <|> t_n) (\case T0 -> ..; ...; T_n -> ...); reorder ts` it seems |
| 2021-06-16 14:18:14 | <dminuoso> | bmo: follow that line of thought |
| 2021-06-16 14:18:19 | <dminuoso> | you have to repeat that same code one for each branch |
| 2021-06-16 14:19:27 | <dminuoso> | Say you have T1, T2, T3, then you parse like that for T1,T2,T3. In the the T1 branch you will have to repeat that for T2 and T3. For the T2 branch you have to repeat that for T1 and T3. For the T3 branch you repeat it for T2 and T3. |
| 2021-06-16 14:19:29 | <bmo> | yup. though the leaves `t_0` .. `t_n` are "flat" so at least it won't nest, however there are many occurences of this sort of entry |
| 2021-06-16 14:19:36 | <dminuoso> | This explodes quickly |
| 2021-06-16 14:20:18 | <dminuoso> | bmo: ah but with `many` you will admit more nonsense like multiple title tags. |
| 2021-06-16 14:22:48 | <bmo> | True |
| 2021-06-16 14:23:34 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 2021-06-16 14:26:09 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:cded:c7cb:4d63:a64a) |
| 2021-06-16 14:28:24 | → | ddellacosta joins (~ddellacos@86.106.121.100) |
| 2021-06-16 14:28:40 | → | inkbottle[m] joins (~inkbottle@2001:470:69fc:105::2ff5) |
| 2021-06-16 14:29:23 | <zebrag> | [testing] |
| 2021-06-16 14:29:59 | → | sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
| 2021-06-16 14:31:43 | <raehik> | Is there a way to view the implementation of a function in ghci? Like :i but showing the function contents as well as the type signature |
| 2021-06-16 14:31:52 | <raehik> | (it would save me a lot of silly hoogles) |
| 2021-06-16 14:32:00 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2021-06-16 14:32:47 | × | ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds) |
| 2021-06-16 14:32:47 | → | _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 2021-06-16 14:33:47 | <allbery_b> | nope |
| 2021-06-16 14:34:12 | <lortabac> | raehik: there is the @src command in lambdabot |
| 2021-06-16 14:34:30 | <lortabac> | @src head |
| 2021-06-16 14:34:30 | <lambdabot> | head (x:_) = x |
| 2021-06-16 14:34:30 | <lambdabot> | head [] = error "Prelude.head: empty list" |
| 2021-06-16 14:34:31 | <raehik> | @src (++) |
| 2021-06-16 14:34:32 | <lambdabot> | [] ++ ys = ys |
| 2021-06-16 14:34:32 | <lambdabot> | (x:xs) ++ ys = x : (xs ++ ys) |
| 2021-06-16 14:34:32 | <lambdabot> | -- OR |
| 2021-06-16 14:34:32 | <lambdabot> | xs ++ ys = foldr (:) ys xs |
| 2021-06-16 14:34:57 | <raehik> | That's handy. Shame I can't get that locally too |
| 2021-06-16 14:35:00 | <allbery_b> | but @src tells lies |
| 2021-06-16 14:35:03 | <lortabac> | you can send private messages to lambdabot |
| 2021-06-16 14:35:03 | → | obscur1ty joins (~obscur1ty@102.41.69.204) |
| 2021-06-16 14:35:12 | <raehik> | lortabac: oh, thank you! |
| 2021-06-16 14:35:16 | <lortabac> | yes, @src is not the real source code |
| 2021-06-16 14:35:18 | <allbery_b> | you can with goa, also, although getting it to build can be tricky |
| 2021-06-16 14:36:14 | <lortabac> | but (I guess) if you run that code instead of the GHC one you should get the same behavior |
| 2021-06-16 14:36:27 | <lortabac> | performance aside |
| 2021-06-16 14:36:35 | × | obscur1ty quits (~obscur1ty@102.41.69.204) (Changing host) |
| 2021-06-16 14:36:35 | → | obscur1ty joins (~obscur1ty@user/obscur1ty) |
| 2021-06-16 14:36:56 | <lortabac> | allbery_b: what is goa? |
| 2021-06-16 14:37:10 | <allbery_b> | @hackage goa |
| 2021-06-16 14:37:10 | <lambdabot> | https://hackage.haskell.org/package/goa |
| 2021-06-16 14:37:14 | × | obscur1ty quits (~obscur1ty@user/obscur1ty) (Client Quit) |
| 2021-06-16 14:37:14 | <allbery_b> | it hooks lambdabot into ghci |
| 2021-06-16 14:37:16 | × | obs\ quits (~obscur1ty@user/obs/x-5924898) (Quit: Leaving) |
| 2021-06-16 14:37:31 | → | obs\ joins (~obscur1ty@102.41.69.204) |
| 2021-06-16 14:37:36 | <lortabac> | thanks |
| 2021-06-16 14:37:48 | <lortabac> | Maintainer: none :s |
| 2021-06-16 14:39:26 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 2021-06-16 14:40:21 | × | obs\ quits (~obscur1ty@102.41.69.204) (Changing host) |
| 2021-06-16 14:40:21 | → | obs\ joins (~obscur1ty@user/obs/x-5924898) |
| 2021-06-16 14:41:15 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-06-16 14:42:13 | → | sbmsr joins (~pi@2600:1700:63d0:4830:7dbf:92d8:fd42:235d) |
| 2021-06-16 14:42:39 | × | obs\ quits (~obscur1ty@user/obs/x-5924898) (Quit: Leaving) |
| 2021-06-16 14:42:57 | → | obs\ joins (~obscur1ty@102.41.69.204) |
| 2021-06-16 14:43:58 | → | bontaq` joins (~user@ool-18e47f8d.dyn.optonline.net) |
| 2021-06-16 14:44:10 | × | obs\ quits (~obscur1ty@102.41.69.204) (Client Quit) |
| 2021-06-16 14:44:18 | → | fef joins (~thedawn@user/thedawn) |
| 2021-06-16 14:44:27 | → | obs\ joins (~obscur1ty@102.41.69.204) |
| 2021-06-16 14:44:27 | × | obs\ quits (~obscur1ty@102.41.69.204) (Changing host) |
| 2021-06-16 14:44:27 | → | obs\ joins (~obscur1ty@user/obs/x-5924898) |
| 2021-06-16 14:47:45 | → | wonko_ joins (~wjc@62.115.229.50) |
| 2021-06-16 14:50:20 | → | y04nn joins (~y04nn@81.17.24.204) |
| 2021-06-16 14:51:18 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 264 seconds) |
| 2021-06-16 14:52:18 | <janus> | i am using ripgrep a lot to search for definitions of functions, because HLS breaks down on my codebase. so i keep searching "definitionName ::" to find a definition |
| 2021-06-16 14:52:37 | <janus> | but then, if it is a record, and the types have been aligned, it won't match because of whitespace |
| 2021-06-16 14:52:47 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 244 seconds) |
| 2021-06-16 14:52:57 | <merijn> | janus: Also wouldn't work on half my code, tbh |
| 2021-06-16 14:53:01 | <janus> | instead of writing my own macros, does someone have a set of ripgrep alieses for this, or something similar? |
| 2021-06-16 14:53:07 | <merijn> | since I usually newline before :: for long types |
| 2021-06-16 14:53:46 | <janus> | right, so really want i want is a AST search language with a convenient ascii syntax |
| 2021-06-16 14:54:01 | <janus> | i shouldn't even need to bother with textual regex... this code already compiled |
| 2021-06-16 14:54:29 | <merijn> | Doubt someone has that, tbh |
| 2021-06-16 14:54:58 | <janus> | do the .hi files contain the binding names? then maybe that could help making a lite version of it |
| 2021-06-16 14:55:16 | <merijn> | janus: That's basically what hls does, so you'd be reimplementing HLS, basically |
| 2021-06-16 14:55:35 | <merijn> | Probably less effort to talk to the HLS people and see why it breaks on your codebase |
| 2021-06-16 14:55:52 | × | xff0x quits (~xff0x@2001:1a81:528b:ea00:2e2a:bb50:623a:8bbb) (Ping timeout: 272 seconds) |
| 2021-06-16 14:56:20 | <janus> | well it leaks memory, i think they are already aware |
All times are in UTC.