Skip to content

nix: Make project config consistent#204

Open
jisantuc wants to merge 2 commits into
DataHaskell:mainfrom
jisantuc:nix/js/update-flake
Open

nix: Make project config consistent#204
jisantuc wants to merge 2 commits into
DataHaskell:mainfrom
jisantuc:nix/js/update-flake

Conversation

@jisantuc
Copy link
Copy Markdown
Contributor

@jisantuc jisantuc commented Jun 6, 2026

  • passes the fourmolu check in dataframe-learn
  • Make examples depend on granite version consistent with non-examples; non-examples want >= 0.6, examples wanted 0.6.*
  • Remove flake.lock from .gitignore -- this is an important file to have in version control; without it, reproducibility guarantees are out the window (discovered when I got yelled at by nix about the hash being wrong for granite, which seemed like it should have been impossible)
  • Add (almost) the rest of the dataframe-* packages to the package outputs / dev shell

Notes

I had to make a few changes I'm < 100% sure about:

  • excluded dataframe-fusion , since I don't currently know how to vendor the header file / ad hoc rust lib to the package in the nix flake
  • Stream.unfoldEach -> Stream.unfoldMany; dataframe-parquet wasn't building, so I applied one of the suggestions from the build failure. Where I made changes looked like it hadn't been touched in a while, but I'm still surprised that CI was green for building packages with the compilation failure. It's possible we could use a haskell-ci regenerate

Testing

  • nix develop in this branch
  • cabal repl <any project except dataframe-fusion>

@jisantuc jisantuc force-pushed the nix/js/update-flake branch from 95c36a7 to b90c222 Compare June 7, 2026 00:09
jisantuc added 2 commits June 6, 2026 17:11
* Make examples depend on granite version consistent with non-examples;
  non-examples want >= 0.6, examples wanted 0.6.*
* Remove `flake.lock` from `.gitignore` -- this is an important file to
have in version control; without it, reproducibility guarantees are out
the window (since, if we're using `nixpkgs-*` as an input, without the
`flake.lock`, the `nixpkgs-*` package set you use won't necessarily be
the same `nixpkgs-*` package set that I use)
* Add (almost) the rest of the dataframe-* packages to the package
outputs / dev shell
@jisantuc jisantuc force-pushed the nix/js/update-flake branch from b90c222 to a9d69a6 Compare June 7, 2026 00:11
go decoder =
foldNonNullable totalRows $
(\(vs, _, _) -> vs)
<$> Stream.unfoldEach (readPages description decoder) (Stream.fromList chunks)
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

compiler said unfoldEach didn't exist and suggested unfoldMany

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem here is a wrong version bound in the cabal file. It should require streamly-core >= 0.3.0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All dataframe-learn changes are from fourmolu

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest just removing those changes from the PR

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lint doesn't pass without them! I think "passes its own lint steps" is an element of project config consistency. It's in a separate commit though so easy to separate 🤷🏻‍♂️

Comment thread flake.lock
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flake.lock tracks hashes of inputs like nixpkgs to make sure people using nix build with the same package sets. It's an essential file to be in version control.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants