Logs: freenode/#haskell
| 2021-03-03 15:17:44 | × | romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1) |
| 2021-03-03 15:19:26 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds) |
| 2021-03-03 15:21:29 | → | cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt) |
| 2021-03-03 15:21:35 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 240 seconds) |
| 2021-03-03 15:22:48 | × | perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0.1) |
| 2021-03-03 15:23:34 | × | cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Max SendQ exceeded) |
| 2021-03-03 15:24:43 | × | whyohwhy quits (9353c965@clients-xsf-101.upc.es) (Ping timeout: 240 seconds) |
| 2021-03-03 15:25:31 | → | graf_blu` joins (~user@adsl-178-38-234-220.adslplus.ch) |
| 2021-03-03 15:25:56 | × | graf_blutwurst quits (~user@2001:171b:226e:adc0:cc81:8132:7f95:7a39) (Ping timeout: 240 seconds) |
| 2021-03-03 15:28:30 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 2021-03-03 15:28:31 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 2021-03-03 15:28:43 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 2021-03-03 15:30:08 | → | crobbins joins (~crobbins@2601:2c1:200:ec50:348f:be0d:685a:dd48) |
| 2021-03-03 15:30:16 | × | crobbins quits (~crobbins@2601:2c1:200:ec50:348f:be0d:685a:dd48) (Remote host closed the connection) |
| 2021-03-03 15:30:54 | → | crobbins joins (~crobbins@2601:2c1:200:ec50:3dc3:9105:3490:1be2) |
| 2021-03-03 15:31:45 | → | perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 2021-03-03 15:31:46 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:a840:3c23:1bcc:872e) |
| 2021-03-03 15:33:42 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 2021-03-03 15:35:49 | → | crobbins_ joins (~crobbins@2601:2c1:200:ec50:348f:be0d:685a:dd48) |
| 2021-03-03 15:38:27 | <Philonous> | Franciman, Maybe it's enough to plug a middleware in front of servant that catches 415 and adds the body |
| 2021-03-03 15:38:38 | → | aggin joins (~ecm@103.88.87.46) |
| 2021-03-03 15:38:52 | <Philonous> | Not exactly the most elegant solution, but possibly better than forking servant. |
| 2021-03-03 15:38:55 | × | crobbins quits (~crobbins@2601:2c1:200:ec50:3dc3:9105:3490:1be2) (Ping timeout: 240 seconds) |
| 2021-03-03 15:39:13 | <aggin> | why does haskell-language-server take a lot of ram |
| 2021-03-03 15:39:30 | <merijn> | aggin: Takes about the same ram as GHC |
| 2021-03-03 15:39:58 | <Philonous> | Was about to say, because ghc does, and haskell-language-server runs ghc in the background |
| 2021-03-03 15:40:29 | <merijn> | Not really in the background, it uses GHC directly as library |
| 2021-03-03 15:40:48 | → | coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
| 2021-03-03 15:40:50 | → | fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com) |
| 2021-03-03 15:40:56 | <aggin> | merijn: idk why, but when running it with lsp-haskell in emacs it takes like 1gb ram when opening a single file |
| 2021-03-03 15:42:09 | <aggin> | I can't tell if it's just my setup, that is why I wanted to ask here |
| 2021-03-03 15:42:31 | × | coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Client Quit) |
| 2021-03-03 15:42:35 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1) |
| 2021-03-03 15:43:00 | → | coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
| 2021-03-03 15:43:22 | <merijn> | GHC is not the most lean compiler, so "maybe" |
| 2021-03-03 15:43:26 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer) |
| 2021-03-03 15:43:32 | <merijn> | It also depends on how you measure RAM, tbh |
| 2021-03-03 15:46:25 | <merijn> | I wouldn't expect hls to be particularly lightweight, though |
| 2021-03-03 15:48:58 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 2021-03-03 15:49:19 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 2021-03-03 15:49:44 | <__minoru__shirae> | perhaps someone should extract modules from ghc |
| 2021-03-03 15:50:00 | <__minoru__shirae> | to make hls lightweight |
| 2021-03-03 15:50:35 | <merijn> | Which modules do you imagine can get extracted? |
| 2021-03-03 15:50:35 | <__minoru__shirae> | so that it doesn't load the unneeded parts of ghc |
| 2021-03-03 15:50:36 | × | elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 2021-03-03 15:50:50 | <merijn> | __minoru__shirae: There isn't really an "unneeded" part |
| 2021-03-03 15:51:00 | <merijn> | I mean, what would you remove? |
| 2021-03-03 15:51:34 | → | elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
| 2021-03-03 15:51:36 | <__minoru__shirae> | I imagine that hls needs parsing, building and analyzing the syntax tree parts |
| 2021-03-03 15:51:50 | <__minoru__shirae> | it doesn't need the optimizer |
| 2021-03-03 15:51:55 | → | carlomagno1 joins (~cararell@148.87.23.6) |
| 2021-03-03 15:52:14 | <__minoru__shirae> | but I don't know the internals of course |
| 2021-03-03 15:52:33 | × | curiousgay quits (~gay@178.217.208.8) (Remote host closed the connection) |
| 2021-03-03 15:52:56 | × | carlomagno quits (~cararell@148.87.23.6) (Ping timeout: 240 seconds) |
| 2021-03-03 15:53:02 | <merijn> | I doubt the optimiser takes up so much time/space and more importantly, that sorta thing would involve fundamentally rearchitecting GHC in *drastic* ways |
| 2021-03-03 15:53:23 | <merijn> | Which is not to say that it is a bad idea, just that it is unrealistic :p |
| 2021-03-03 15:53:31 | → | curiousgay joins (~gay@178.217.208.8) |
| 2021-03-03 15:54:16 | <merijn> | GHC wasn't designed/implemented to be tiny and resource constrained and retro-actively fixing that sorta thing is hard and takes considerable engineering effort |
| 2021-03-03 15:54:31 | <Philonous> | larryba, Yes, it can be written with foldr |
| 2021-03-03 15:54:46 | <Philonous> | In fact, any recursive function on lists can be written as a foldr |
| 2021-03-03 15:55:35 | × | loli quits (~loli@024-171-017-003.res.spectrum.com) (Remote host closed the connection) |
| 2021-03-03 15:55:42 | × | mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew) |
| 2021-03-03 15:55:57 | → | loli joins (~loli@024-171-017-003.res.spectrum.com) |
| 2021-03-03 15:56:02 | <dminuoso> | __minoru__shirae: hls already is lightweight. It doesn't do code generation. |
| 2021-03-03 15:56:18 | <merijn> | dminuoso: It does, selectively |
| 2021-03-03 15:56:39 | <dolio> | It also doesn't just use ghc. |
| 2021-03-03 15:56:45 | <larryba> | . |
| 2021-03-03 15:57:02 | <larryba> | Philonous, how? what should the type of doit be? |
| 2021-03-03 15:57:03 | <dolio> | It's got like a dozen other tools linked into it, no? :) |
| 2021-03-03 15:57:08 | <merijn> | dminuoso: Sure, but it's probably safe to say GHC is likely the most considerable space hog |
| 2021-03-03 15:57:10 | <merijn> | eh |
| 2021-03-03 15:57:17 | <merijn> | s/dminuoso/dolio |
| 2021-03-03 15:57:30 | <merijn> | dolio: ghcide on my project eats ~4GB, so... |
| 2021-03-03 15:57:39 | <merijn> | And that only has ghc and hie-bios afaik :p |
| 2021-03-03 15:57:43 | <dolio> | Heh. |
| 2021-03-03 15:58:03 | <dolio> | Are all the other things asynchronous? |
| 2021-03-03 15:58:06 | <merijn> | Granted, I have more than 1 file |
| 2021-03-03 15:58:06 | <aggin> | welp, looks like I have to keep using haskell-ghci instead ig |
| 2021-03-03 15:58:13 | <aggin> | all I wanted was just some completion |
| 2021-03-03 15:58:16 | <Philonous> | larryba: doit :: Ord a => a -> (Set a -> [a]) -> Set a -> [a] |
| 2021-03-03 15:58:33 | <__minoru__shirae> | so people who write syntax analyzers for IDEs duplicate the logic of the compiler, right? |
| 2021-03-03 15:58:36 | <merijn> | dolio: It's surprisingly fast, though, so there's that |
| 2021-03-03 15:58:45 | <merijn> | __minoru__shirae: Yes |
| 2021-03-03 15:58:49 | × | kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 245 seconds) |
| 2021-03-03 15:58:58 | <__minoru__shirae> | but hls people decided to use a shortcut, but payed by using a lot of ram |
| 2021-03-03 15:58:58 | <merijn> | __minoru__shirae: Well, usually only partially |
| 2021-03-03 15:58:59 | <pjb> | __minoru__shirae: in general syntax is easy. |
| 2021-03-03 15:59:05 | <merijn> | __minoru__shirae: It's not a shortcut |
| 2021-03-03 15:59:09 | <kuribas> | merijn: perhaps the GRIN work could help in redesigning GHC? |
| 2021-03-03 15:59:27 | <merijn> | __minoru__shirae: You'd have to basically reimplement all of GHC from scratch to support code compiled with GHC |
| 2021-03-03 15:59:30 | <dolio> | The problem is that reimplementing GHC outside of GHC is infeasbile. |
| 2021-03-03 15:59:42 | <merijn> | __minoru__shirae: Sure, you can implement Haskell98 in your checker for hls |
| 2021-03-03 15:59:51 | <dolio> | People have tried it with much smaller bits of GHC, and it didn't work out well. |
| 2021-03-03 15:59:51 | <merijn> | __minoru__shirae: And it'd be fast! |
| 2021-03-03 16:00:01 | <Philonous> | larryba, You do have to post-process the output of the fold, but that's trivial (and not recursive) |
| 2021-03-03 16:00:02 | <merijn> | __minoru__shirae: It'd only support, like, 10% of hackage, though |
| 2021-03-03 16:00:09 | <dolio> | Like, just the parsing. |
| 2021-03-03 16:00:31 | → | kderme joins (4fa758c1@ppp079167088193.access.hol.gr) |
| 2021-03-03 16:00:54 | <merijn> | __minoru__shirae: People don't want a checker that runs on "Haskell, as long as you don't use any GHC extension". They want it to work on *all* stuff they compile with GHC and support all extensions, and do typechecking |
| 2021-03-03 16:01:01 | <__minoru__shirae> | maybe duplicate the needed ghc code, omitting the unneeded parts |
All times are in UTC.