haskell-template
sccache
Our great sponsors
haskell-template | sccache | |
---|---|---|
7 | 70 | |
208 | 5,347 | |
- | 3.0% | |
7.9 | 9.4 | |
7 days ago | 1 day ago | |
Nix | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
haskell-template
-
On the verge of giving up learning Haskell because of the terrible tooling.
I am a Haskell newbie myself. Found nix flakes and https://github.com/srid/haskell-template really nice to start with (of course some learning curve is unavoidable).
-
Simple GHC stack for a novice
If you wanna get started with Haskell on Nix, check out Sridhar Ratnakumar's Haskell template for Nix. You can easily clone the repo and move your Haskell code into it, especially if you're still a novice (as you likely won't be dealing with a HUGE codebase).
-
haskell-flake: A `flake-parts` Nix module for Haskell development.
I'd say that's up to you. haskell-template did recently switch to this; you can see the changes in this PR, which is all limited to flake.nix.
-
Best practices for Haskell on M1 with Nix?
Could you open an issue here with the full error message?
-
Looking for IDE that is suitable for learning Haskell
I think you should use ghcup because Nix has a higher learning curve ... BUT if you ever want to try out Nix, there is https://github.com/srid/haskell-template which sets everything up for you so that things "just work" in VSCode.
sccache
-
Mozilla sccache: cache with cloud storage
Worth noting that the first commit in sccache git repository was in 2014 (https://github.com/mozilla/sccache/commit/115016e0a83b290dc2...). So I suppose that what "happened" happened waay back.
- Welcome to Apache OpenDAL
-
Target file are very huge and running out of storage on mac.
If you have lots of shared dependencies, maybe try sccache?
-
S3 Express Is All You Need
I'm going to set up sccache [0] to use it tomorrow. We use MSVC, so EFS is off the cards.
[0] https://github.com/mozilla/sccache/blob/main/docs/S3.md
- sccache
-
Serde has started shipping precompiled binaries with no way to opt out
I think the primary benefit of pre-built procmacros will be for build servers which don't use a persistent cache (like sccache), since they have to compile all dependencies every time. But IMO improved support for persistent caches would be a better investment compared to adding support for pre-built procmacros.
-
Cache dependencies across crates
Checkout https://github.com/mozilla/sccache
-
Distcc: A fast, free distributed C/C++ compiler
https://github.com/mozilla/sccache is another option which addresses the use cases of both icecream and ccache (and also supports Rust, and cloud storage of artifacts, if those are useful for you)
-
How to fix Rust Coding LARGE files????
That being said a compilation cache, eg the de-facto standard for Rust: sccache (https://github.com/mozilla/sccache) will help to compile and store some of the build artifacts centralized - still for each crate version + build profile (RUSTFLAGS) combination.
-
On the verge of giving up learning Haskell because of the terrible tooling.
That's definitely not my experience. Never had any issue running Rust on Windows. You just download and run rustup-init.exe, then updating is simply a matter of rustup update. Documentation generation is built in (cargo doc) and just a case of annotating code with triple-/ markdown comments and then running that command. sccache works fine for me (just need to set RUSTC_WRAPPER=/path/to/sccache). And the error messages from rustc are by far the best of any compiler I've used. Not sure how they're unhelpful, they tend to explain step-by-step what the problem is and how to fix it.
What are some alternatives?
rust-nix-template - Rust project template with Nix (Flakes) and VSCode support
ccache - ccache – a fast compiler cache
ema - Change-aware static site generator for Haskell programmers
cargo-chef - A cargo-subcommand to speed up Rust Docker builds using Docker layer caching.
haskell.nix - Alternative Haskell Infrastructure for Nixpkgs
rust-cache - A GitHub Action that implements smart caching for rust/cargo projects
haskell-flake - A `flake-parts` Nix module for Haskell development
cache - Cache dependencies and build outputs in GitHub Actions
template-haskell - The Haskell template, configured for Gitpod (www.gitpod.io) to give you pre-built, ephemeral development environments in the cloud.
icecream - Distributed compiler with a central scheduler to share build load
reflex - Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse.
mold - Mold: A Modern Linker 🦠