-
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
- 14 commits
- 40 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
Commits on Jun 24, 2026
-
feat: migrate to the new spago (spago.yaml + published package set)
Build against the published purescript-lua package set via workspace.packageSet.url instead of the old spago.dhall + packages.dhall (upstream-ps // upstream-lua) merge. The new spago drives spago.yaml/spago.lock and dropped Dhall. - spago.dhall/packages.dhall -> spago.yaml (package name lua-arrays; the new spago rejects the purescript- prefix). backend.cmd "true" keeps codegen on corefn; scripts/build runs pslua over it as before. - flake.nix: spago 0.21.0 -> 1.x; drop the now-unused dhall dev-shell tool. - treefmt.nix: drop the dead Dhall formatter. AGENTS.md: spago 1.x, src/packages.json. - CI action versions bumped to current majors (checkout v5, install-nix v31). - Remove the upstream PureScript test sources under test/Test (never built: old sources globbed src/ only, and they carry JS FFI that doesn't target Lua). The Lua regression tests under test/regression stay.
Configuration menu - View commit details
-
Copy full SHA for 35cf4f7 - Browse repository at this point
Copy the full SHA 35cf4f7View commit details -
chore: remove vestigial treefmt.toml
Dead config: nix fmt formats via treefmt.nix, and nothing reads treefmt.toml (the pre-commit hook and CI both run nix fmt).
Configuration menu - View commit details
-
Copy full SHA for e842418 - Browse repository at this point
Copy the full SHA e842418View commit details -
docs: add the Decisions/ADR pointer to AGENTS.md
Every other set fork carries this section; arrays was the only one missing it, so the ADR canon was not discoverable from here.
Configuration menu - View commit details
-
Copy full SHA for a82c247 - Browse repository at this point
Copy the full SHA a82c247View commit details
Commits on Jun 25, 2026
-
docs: add scriv-managed changelog, backfill fork releases
Adds a CHANGELOG.md managed with scriv (fragments in changelog.d/), provides scriv in the flake dev shell, and records the fork's Lua 5.1 FFI release line. Where the upstream PureScript changelog existed it is preserved below the fork section. The AGENTS.md Releasing note now points at the scriv flow instead of "no changelog entry". Part of the ecosystem-wide changelog adoption (purescript-lua/purescript-lua#101); canon in package-set ADR 0009.
Configuration menu - View commit details
-
Copy full SHA for 6c781f0 - Browse repository at this point
Copy the full SHA 6c781f0View 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