Skip to content

Conversation

@jisantuc
Copy link
Contributor

On main, nix build fails with missing random >=1.3 && <2. That makes sense, since the version of random in haskellPackages in the flake inputs was 1.2.x. This PR overrides random in hsPkgs to pin to 1.3.1 instead. A consequence of that was that time-compat tests broke, because they depend on random between 1.2 and 1.3, so it also overrides time-compat to skip tests.

This PR also updates the dev shell to provide a little more power. On main, if you nix develop, you get vanilla cabal without any knowledge of the project's dependencies, e.g.

$ cabal repl
Warning: The package list for 'hackage.haskell.org' does not exist. Run 'cabal
update' to download it.
Resolving dependencies...
Error: [Cabal-7107]
Could not resolve dependencies:
[__0] trying: dataframe-0.4.0.10 (user goal)
[__1] unknown package: zstd (dependency of dataframe)
[__1] fail (backjumping, conflict set: dataframe, zstd)
After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: dataframe, zstd

After changes in this PR, the dev shell is aware of the dataframe package, and cabal repl drops you into a shell with all of the project's modules, so if you have foo.csv like

a,b
1,2
3,4

you can

$ cabal repl
[...]
ghci> import DataFrame.IO.CSV
ghci> readCsv "foo.csv"
---------
 a  |  b
----|----
Int | Int
----|----
1   | 2
3   | 4

random must be on 1.3.1 for dataframe, which is incompatible with
time-compat's tests, so skip time-compat's tests
Using the package means that e.g. `cabal repl` works with
all of the dependencies / package-defined code, so you can

```
$ cabal repl
[...]
Ok, 46 modules loaded.
ghci> import DataFrame.IO.CSV
ghci> readCsv "foo.csv"
---------
 a  |  b
----|----
Int | Int
----|----
1   | 2
3   | 4
5   | 6
```
Copy link

@collinarnett collinarnett left a comment

Choose a reason for hiding this comment

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

LGTM

@mchav mchav merged commit d4ec236 into DataHaskell:main Jan 22, 2026
7 checks passed
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.

3 participants