Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,009 events total
2025-10-30 20:48:18 × myme quits (~myme@2a01:799:d5e:5f00:dea7:7da2:d01d:b0f1) (Ping timeout: 244 seconds)
2025-10-30 20:48:38 <omentic> hmm, and -j 2 in ghc-options should limit the maximum no. of threads to 2?
2025-10-30 20:50:19 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2025-10-30 20:50:38 <omentic> mmm. neither the no. of parallel modules nor the no. of threads in use appears to be limited by -j 2 or -j2. weird. maybe -with-rtsopts=-N is overwriting that?
2025-10-30 20:51:26 ttybitnik joins (~ttybitnik@user/wolper)
2025-10-30 20:52:10 <geekosaur> something else to keep in mind is that limiting GHC's threads will only work if you either limit cabal to one thread or use ghc semaphores (in sufficiently recent ghc)
2025-10-30 20:52:33 <omentic> uhhhh, oh that is good to know
2025-10-30 20:52:49 <geekosaur> because cabal will spawn as many ghcs as it's allowed to run threads, each of which will use the number of threads you tell it
2025-10-30 20:53:16 <geekosaur> with job semaphores the number of concurrently running ghc threads will be limited across the entire build
2025-10-30 20:53:45 <omentic> why would you want cabal to use more than one thread if ghc can spawn multiple threads by itself?
2025-10-30 20:54:03 <omentic> legacy behavior? or is there an improvement wrt. linking or something
2025-10-30 20:54:05 <geekosaur> building multiple dependencies concurrently
2025-10-30 20:54:14 myme1 is now known as myme
2025-10-30 20:55:12 peterbecich joins (~Thunderbi@172.222.148.214)
2025-10-30 20:55:18 <geekosaur> but then you need to arrange for each dependency to use ghc-options
2025-10-30 20:55:29 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 20:55:37 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 20:55:46 <omentic> hm. okay. with ghc-options containing -threaded -j2 -rtsopts -with-rtsopts=-N2 and jobs: 1, i still see cabal building five or six things in parallel and all my cores spinning up...
2025-10-30 20:55:50 <geekosaur> if job semaphores are supported, all the ghcs will "check out" threads as available
2025-10-30 20:56:07 <geekosaur> check your cabal configuration
2025-10-30 20:56:18 <geekosaur> oh wait, you said jobs: 1, sorry
2025-10-30 20:56:48 <omentic> looks like jobs: $ncpus in my global cabal config but yeah i've got a line here locally
2025-10-30 20:56:51 <geekosaur> I don't normally see things building in parallel with that situation (but I also don't run into it much, I have enough cores that I set jobs: fairly high)
2025-10-30 20:58:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-30 20:58:21 <omentic> urgh
2025-10-30 20:58:29 <omentic> okay i will deal with this later, thanks for the pointers
2025-10-30 20:59:06 <omentic> oh -- actually before i head out, do you know: is it possible to get some sort of caching working with cabal (or stack) if i've got a package that's not on stackage?
2025-10-30 20:59:47 <davean> caching? What caching do you want that cabal doesn't default to doing>
2025-10-30 21:00:16 <omentic> well, not building pandoc
2025-10-30 21:00:48 Googulator29 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 21:01:04 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 21:01:20 <monochrom> -j is not a ghc-option
2025-10-30 21:01:22 <omentic> this might be a haskell limitation, i'm not sure. but i don't have to build anything locally when all the packages i want are in stackage. that's nice. except right now i've got one package not on stackage
2025-10-30 21:02:29 <omentic> monochrom: oh? i saw it in the ghc manual so i thought it'd go in ghc-options. is there another place to put it or is it unsupported with cabal?
2025-10-30 21:02:42 <monochrom> jobs: is probably something you should put in the global config because it is about your computer not a particular package or project
2025-10-30 21:02:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 21:03:06 <davean> omentic: are you on POSIX or windows? Because POSIX doesn't standardize that as working and its known to be funky.
2025-10-30 21:03:23 <omentic> posix. that is very good to know. lmao
2025-10-30 21:03:51 <davean> So providing it or not is a matter of how conservitive you are and sure you'll get the ABI stuff matched up right
2025-10-30 21:03:52 <omentic> huh, weird the manual does not mention that...
2025-10-30 21:04:19 <davean> Like I assure you it 100% breaks every time for my Linux system, but mine isn't the same as yours
2025-10-30 21:04:27 <davean> if you're on Debian it'll probably work great
2025-10-30 21:05:29 <davean> stackage leans on the "make it easy" side over "get it right" you can provide such a cache for cabal but cabal leans on the "get it right" side
2025-10-30 21:05:53 <davean> er, not stackage
2025-10-30 21:05:55 <davean> but yah
2025-10-30 21:06:19 <davean> So anyway, no one actively provides such a cache for cabal+hackage in general. Its not hard to do but it would be very large.
2025-10-30 21:06:48 <omentic> do you know if it is possible to get a partial cache? i.e. cache pandoc but not cache the other dependency i need. or is this impossible wrt. how ghc builds things
2025-10-30 21:06:51 <davean> and then sometimes, rarely but it will happen, it'll spit out a binary that doesn't work
2025-10-30 21:07:12 <davean> You can only cache it in respect to the otehr things you build so I'm nto sure what the use would be
2025-10-30 21:07:29 <monochrom> I don't know how to tell cabal to use stack's cache, or stack to use cabal's cache.
2025-10-30 21:07:59 <monochrom> Hell even Thunderbird and Firefox probably don't use each other's cache...
2025-10-30 21:09:06 <davean> omentic: very specificly POSIX is a source code level compatability standard, not a binary compatability standard, and distros can and do break binary compatability between them, and some even inside them.
2025-10-30 21:09:19 <omentic> i'm surprised that breaks -j
2025-10-30 21:09:33 <davean> no I'm talking about a cache
2025-10-30 21:10:05 <davean> Like its not actually that much of a deal for most users
2025-10-30 21:10:07 <omentic> oh yeah that tracks. but your distinction for a cache would be by cpu architecture + os, right
2025-10-30 21:10:24 <davean> Thats not enough, thats just enough MOST of the time
2025-10-30 21:11:00 <davean> It can be specific to a given install of an os
2025-10-30 21:11:06 <omentic> but also from what you said earlier sounds like ghc needs all dependencies and such for the compiler to do its thing
2025-10-30 21:11:26 <davean> GHC works with a consistent set of dependencies
2025-10-30 21:11:42 <davean> so it only needs the dependencies of pandoc and your overall project to match
2025-10-30 21:11:48 <davean> but it needs an equality match
2025-10-30 21:12:07 <davean> I think a *binary result equality match* I THINK but I'm not sure there
2025-10-30 21:13:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-30 21:14:36 <omentic> interesting ok
2025-10-30 21:14:51 <davean> You CAN build this cache
2025-10-30 21:15:02 <davean> and if you're layering it on top of stackage, the size explosion isn't so bad
2025-10-30 21:15:05 <omentic> well, i'll try to fix the parallelism, then try to get caching working, but i'll have to do it a bit later
2025-10-30 21:15:17 <omentic> thx for the help here yall
2025-10-30 21:15:40 Googulator97 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 21:15:45 <davean> omentic: BTW what makes build times so bad for you? (I didn't read up)
2025-10-30 21:16:08 × Googulator29 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 21:16:09 × Googulator97 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 21:16:18 Googulator97 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 21:18:34 × nerdychip quits (~nerdychip@user/nerdychip) (Read error: Connection reset by peer)
2025-10-30 21:18:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-10-30 21:19:06 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-10-30 21:19:55 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
2025-10-30 21:20:45 <haskellbridge> <sm> 2020 intel thinkpad possibly swapping
2025-10-30 21:21:25 nerdychip joins (~nerdychip@212.129.72.100)
2025-10-30 21:21:25 × nerdychip quits (~nerdychip@212.129.72.100) (Changing host)
2025-10-30 21:21:25 nerdychip joins (~nerdychip@user/nerdychip)
2025-10-30 21:25:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-30 21:30:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 21:32:24 × haltingsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
2025-10-30 21:34:20 haltingsolver joins (~cmo@2604:3d09:207f:8000:d250:ea0c:366a:6e73)
2025-10-30 21:35:30 × Googulator97 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 21:35:44 Googulator97 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 21:41:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-30 21:44:35 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-10-30 21:44:51 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
2025-10-30 21:46:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-10-30 21:49:11 × nerdychip quits (~nerdychip@user/nerdychip) (Read error: Connection reset by peer)
2025-10-30 21:51:51 nerdychip joins (~nerdychip@212.129.72.100)
2025-10-30 21:51:51 × nerdychip quits (~nerdychip@212.129.72.100) (Changing host)
2025-10-30 21:51:51 nerdychip joins (~nerdychip@user/nerdychip)
2025-10-30 21:52:55 weary-traveler joins (~user@user/user363627)
2025-10-30 21:54:45 <segfaultfizzbuzz> https://discourse.haskell.org/t/ghc-now-runs-in-your-browser/13169 oh nice :-)
2025-10-30 21:55:40 <segfaultfizzbuzz> it needs a dropdown box with some demo programs
2025-10-30 21:55:42 Googulator78 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)

All times are in UTC.