Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.