chore: normalize build tooling + luacheck-clean FFI#3
Merged
Conversation
Unisay
commented
Jun 14, 2026
| return function(f) | ||
| return function() | ||
| for i, v in ipairs(as) do | ||
| for _, v in ipairs(as) do |
Collaborator
Author
There was a problem hiding this comment.
Not sure if it is worth using ipairs then - pairs maybe?
There was a problem hiding this comment.
Pull request overview
This PR modernizes the repository’s build/dev tooling around Nix flakes and Lua 5.1 linting, and makes a small Lua FFI cleanup to keep luacheck clean.
Changes:
- Update the GitHub Actions CI workflow to use Nix (
nix develop -c ...) for build/test and to runluacheckin the Nix dev shell. - Switch the flake to use
purescript-overlayand update the dev shell toolchain (PureScript + Spago + Lua 5.1 + formatting tools), including adding binary cache configuration. - Clean up
foreachEto avoid an unused loop index variable (Luacheck cleanliness).
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/Effect.lua | Drops the unused ipairs index variable in foreachE for luacheck cleanliness. |
| flake.nix | Reworks the dev shell to use purescript-overlay and adds nixConfig with substituters/public keys. |
| flake.lock | Updates locked inputs to match the flake refactor and overlay usage. |
| .github/workflows/ci.yml | Replaces the old Node/Bower-based CI steps with Nix-based build/test + luacheck. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+16
to
+19
| extra_nix_config: | | ||
| accept-flake-config = true | ||
| extra-substituters = https://cache.iog.io https://purescript-lua.cachix.org | ||
| extra-trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= purescript-lua.cachix.org-1:yLs4ei2HtnuPtzLekOrW3xdfm95+Etw15gwgyIGTayA= |
e75ad8c to
dedd6dd
Compare
…pts/build, run test via bash)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Normalize this fork's build tooling to the ecosystem canon.
nix develop -c ./scripts/build,./scripts/test,luacheck).nix flake update.--std lua51 --no-unused-args: matches the Lua 5.1 target (math.pow/atan2 are valid there) and the FFI convention of curried fallback arguments the native impl ignores.Verified locally: build, test (where present), and luacheck all green.
Also drops the unused loop variable in
foreachE(for _, v in ipairs) so luacheck is clean. Behaviour-identical.Note: the PureScript test suite under
test/is not exercised by this CI. Reviving the upstream suites (with their Lua 5.1 fixes) is a separate upstream-sync task; this PR only normalizes build tooling.