-
Notifications
You must be signed in to change notification settings - Fork 69
Comparing changes
Open a pull request
base repository: purescript/purescript-arrays
base: master
head repository: purescript-lua/purescript-lua-arrays
compare: master
- 10 commits
- 37 files changed
- 3 contributors
Commits on Jul 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2e2ce3c - Browse repository at this point
Copy the full SHA 2e2ce3cView commit details
Commits on Jul 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 22dd99f - Browse repository at this point
Copy the full SHA 22dd99fView commit details
Commits on Mar 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for fa27099 - Browse repository at this point
Copy the full SHA fa27099View commit details
Commits on Jun 14, 2026
-
feat: bring arrays to the canon and make the FFI Lua 5.1-safe
Scaffolding. Move purescript-lua-arrays onto the package-set canon: an overlay flake (purs 0.15.16, spago 0.21.0, Lua 5.1, pslua at the current main), hardened CI, scripts/build, AGENTS.md + CLAUDE.md, a clean .gitignore, and the purescript-lua org package-set URL. Drop the .eslintrc, bower.json and package.json. FFI fix. The foreign modules used Lua 5.2/5.3 builtins absent in 5.1: src/Data/Array.lua called table.pack(table.unpack(...)) in unconsImpl, _insertAt, _deleteAt, _updateAt and the sort, now { unpack(...) }; and src/Data/Array/ST.lua used table.move in freeze/thaw, pushAll, unshiftAll, splice and sortBy, now a hand-written overlap-safe move with the same semantics as Lua 5.3 table.move (it copies backwards when the source and destination overlap to the right). Tests. scripts/test runs test/regression/array_st.lua, a lean guard over exactly the rewritten paths: freeze independence, pushAll, splice in both overlap directions, a stable sort, and the unpack-based uncons/insertAt/ deleteAt/updateAt. Verified locally with build, the regression run, and luacheck --std lua51 all green.Configuration menu - View commit details
-
Copy full SHA for fb573d4 - Browse repository at this point
Copy the full SHA fb573d4View commit details -
Merge pull request #1 from purescript-lua/chore/agents-md-and-canon-ci
feat: bring arrays to the canon and make the FFI Lua 5.1-safe
Configuration menu - View commit details
-
Copy full SHA for 272db5c - Browse repository at this point
Copy the full SHA 272db5cView commit details -
chore: add treefmt formatting (nix fmt) and format the tree
Wire treefmt via treefmt-nix: nixfmt, dhall format, purs-tidy (.tidyrc.json) and LuaFormatter for the FFI (.lua-format, kept over StyLua because it preserves the parentheses pslua's parser needs). `nix fmt` formats; the dev shell installs a content-based pre-commit hook and CI runs `nix fmt && git diff --exit-code` (content-based, since the in-place formatters bump mtime and would trip treefmt --fail-on-change). Lua lines budget 130 cols, matching the raised `luacheck --max-line-length`. The bulk of the diff is the first format pass.
Configuration menu - View commit details
-
Copy full SHA for 5c7c5e1 - Browse repository at this point
Copy the full SHA 5c7c5e1View commit details
Commits on Jun 15, 2026
-
Merge pull request #2 from purescript-lua/chore/treefmt
chore: add treefmt formatting (nix fmt + pre-commit + CI check)
Configuration menu - View commit details
-
Copy full SHA for de5d9d8 - Browse repository at this point
Copy the full SHA de5d9d8View commit details -
chore: harden pre-commit hook (tracked .githooks/ + core.hooksPath)
Replace the dev-shell installer that wrote .git/hooks/pre-commit with a tracked .githooks/pre-commit wired via `git config core.hooksPath .githooks`. Fixes three issues with the old hook: it gated on `[ -d .git ]` (false in worktrees/submodules where .git is a file), it clobbered any existing .git/hooks/pre-commit on every `nix develop`, and `nix fmt … || exit 0` swallowed real formatter failures. The new hook skips only when `nix` is absent (CI is the authoritative gate) and otherwise blocks on a `nix fmt` failure or reformat.
Configuration menu - View commit details
-
Copy full SHA for 40999d0 - Browse repository at this point
Copy the full SHA 40999d0View commit details -
chore: bump pslua dev input to 62e3653
Toolchain consistency: pin the pslua dev flake input to the current compiler main across the ecosystem. flake.lock only; the package set consumes sources + FFI, not this dev input, so no re-tag is needed.
Configuration menu - View commit details
-
Copy full SHA for f8794ec - Browse repository at this point
Copy the full SHA f8794ecView commit details -
fix: correct ST unshiftAll/splice and NonEmpty traverse1 FFI
Three Lua FFI bugs, each now guarded by a failing-then-passing regression test (test/regression/{array_st,nonempty}.lua): - unshiftAllImpl prepended via move() over the front slots, overwriting existing elements instead of shifting them right. Now shifts then copies. Fixes purescript-lua/purescript-lua#74. - spliceImpl only shifted the tail: it never inserted bs, never shrank on remove>insert, and returned the whole array instead of the removed slice. Now implements full JS splice semantics. Fixes purescript-lua/purescript-lua#75. - traverse1Impl's Cont/ConsCell were ported as 'this'-mutating procedures but called with data args only, erroring on first use. Now they return fresh tables. Fixes purescript-lua/purescript-lua#73. The pre-existing splice tests asserted the buggy move-only output; they are replaced with correct-semantics cases. Verified under Lua 5.1.Configuration menu - View commit details
-
Copy full SHA for 1579351 - Browse repository at this point
Copy the full SHA 1579351View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...master