macaroni.nix
By macaroni.dev
really-small-backpack-example
A really small example of the Backpack module system for Haskell (by danidiaz)
macaroni.nix | really-small-backpack-example | |
---|---|---|
6 | 8 | |
- | 50 | |
- | - | |
- | 2.8 | |
- | 9 months ago | |
Haskell | ||
- | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
macaroni.nix
Posts with mentions or reviews of macaroni.nix.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-24.
-
3D graphics on Haskell in 2023
In addition, I am building a Nix library on top of haskell.nix called macaroni.nix that is gamedev-oriented and enables seamless cross-compiling from Linux to Windows. I would say it's the best option for Windows Haskell game x-compilation available today.
-
[ANN] LD52 game written in Haskell
We just managed to get our ludum dare game finished, including standalone builds (with a very special thanks to macaroni.dev.) The game is a platformer written in sdl and yampa, with build scripts for releasing static linux and windows builds.
-
Is Nix important also for a team of 1 developer?
Aside from that, haskell/macaroni.nix make x-compilation work great. I even was able to use the h-raylib bindings with little upstream changes/overlays.
-
Haskell is the greatest programming language of all time
In terms of finished and playable games, it's been Ludum Dare jam games made over a weekend over the years. You can check them out here. They're all Windows-only (x-compiled from NixOS using haskell.nix via macaroni.nix), but you can play them on Linux with Wine64. If you have Nix installed, I have a script that should Just Work.
-
Any up-to-date cross-compiling methods for Raspberry Pi?
Also feel free to cut me an issue in my related project, macaroni.nix. The project is focused on x-compiling Haskell games and only supported Windows currently. But brick is a viable gamedev library, and Raspberry Pi is a desired target for gamedev someday. So I'd love to help!
really-small-backpack-example
Posts with mentions or reviews of really-small-backpack-example.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-02.
- Haskell is the greatest programming language of all time
-
Implied bounds and perfect derive
Isn’t this what Haskell’s backpack does? https://github.com/danidiaz/really-small-backpack-example
-
Polymorphic unpacking through backpack?
Also worth mention how module identity works in Backapck: two modules instantiated separately but with the same ingredients are "equal" and have compatible types.
-
Using dependent types to write proofs in Haskell
Anyway, an alternative to RULES that I've explored is to put the proofs behind a module signature and compile to versions of the program, one with "real" proofs and another with unsafeCoerced ones. This avoids the danger of the RULEs silently ceasing to apply because of name changes (don't know how common is that danger in practice though).
-
Video Tutorial: "Using proofs to make functions faster over length-indexed vectors" (Richard Eisenberg)
Here's an example of how to use Backpack (instead of rewrite rules) to alternate between "normal" proofs and the ones which use usafeCoerce.
-
Proposal for parametric modules like Coq's?
Perhaps Backpack could enable something similar to that?
-
Anyone actively using dhall-to-cabal or hpack-dhall?
While being nowhere near programmability, Cabal's common stanzas can be very useful to reduce duplication. An example.
- Abstracting monad stacks with Backpack
What are some alternatives?
When comparing macaroni.nix and really-small-backpack-example you can also consider the following projects:
cute-sound-hs
rust-semverver - Automatic checking for semantic versioning in library crates
agda2hs - Compiling Agda code to readable Haskell
cute-c2-hs
sdl-gpu-hs
libspng - Haskell bindings for libspng
Kind2 - A next-gen functional language [Moved to: https://github.com/Kindelia/Kind]
dhall-to-cabal - Compile Dhall expressions to Cabal files
LearnOpenGL.hs - LearnOpenGL.com examples ported to Haskell
cargo-crate-api - Superseded by cargo-semver-check
macaroni.nix vs cute-sound-hs
really-small-backpack-example vs rust-semverver
macaroni.nix vs agda2hs
really-small-backpack-example vs agda2hs
macaroni.nix vs cute-c2-hs
really-small-backpack-example vs sdl-gpu-hs
macaroni.nix vs libspng
really-small-backpack-example vs Kind2
macaroni.nix vs sdl-gpu-hs
really-small-backpack-example vs dhall-to-cabal
macaroni.nix vs LearnOpenGL.hs
really-small-backpack-example vs cargo-crate-api