Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/infinisil/futharknixdemo
https://github.com/infinisil/futharknixdemo
futhark nix
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/infinisil/futharknixdemo
- Owner: infinisil
- Created: 2018-07-21T23:20:36.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-22T00:01:44.000Z (over 6 years ago)
- Last Synced: 2024-10-10T23:41:28.629Z (2 months ago)
- Topics: futhark, nix
- Language: Nix
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Futhark Nix Demo
This a quick and dirty demo of how [Futhark](https://futhark-lang.org/) could potentially use Nix as its future package manager. Due to time constraints, I cannot implement any better demo than this right now.
Movitaion for it was [this recent Futhark blog entry](https://futhark-lang.org/blog/2018-07-20-the-future-futhark-package-manager.html) on creating a package manager ([Reddit discussion](https://www.reddit.com/r/ProgrammingLanguages/comments/90fnop/the_future_futhark_package_manager/)). This is an artificion packagification of https://github.com/diku-dk/futhark-benchmarks/tree/master/misc/heston.
Note that I had to package Futhark for Nix first. The pull request to add it to Nixpkgs is https://github.com/NixOS/nixpkgs/pull/43865
Also see the comments in the filse
## Packages
See the package repository at https://github.com/Infinisil/futharkPackages## Build
```bash
$ nix-build
```## Develop
```bash
$ nix-shell
[nix-shell:~]$ installpath
[nix-shell:~]$ futhark-c heston64.fut
[nix-shell:~]$ uninstallpath
```This is needed because Futhark can't include other paths, so we need to set up some symlinks to have access to the dependencies in the current directory.
## Todo/Ideas
- [hard] Use propagatedBuildInputs to decrease the number of derivations
- [easy] Support docs, tests, etc.
- [hard] Better filtering (fetchGit/filterSource/custom derivation?)