-
Notifications
You must be signed in to change notification settings - Fork 18
Comparing changes
Open a pull request
base repository: purescript/purescript-integers
base: master
head repository: purescript-lua/purescript-lua-integers
compare: master
- 15 commits
- 25 files changed
- 3 contributors
Commits on Mar 31, 2024
-
Configuration menu - View commit details
-
Copy full SHA for eec408f - Browse repository at this point
Copy the full SHA eec408fView commit details
Commits on Jun 14, 2026
-
fix: declare
nlocal in Data.Int.toStringAsThe loop variable `n` in `toStringAs` was assigned without `local`, leaking a global and tripping luacheck ("setting non-standard global variable n"). Adding `local` confines it to function scope and clears the cascade of related warnings. No behaviour change. Closes purescript-lua#1Configuration menu - View commit details
-
Copy full SHA for 898bcb1 - Browse repository at this point
Copy the full SHA 898bcb1View commit details -
Merge pull request #2 from Unisay/fix/integers-global-n
fix: declare `n` local in Data.Int.toStringAs
Configuration menu - View commit details
-
Copy full SHA for cb9d591 - Browse repository at this point
Copy the full SHA cb9d591View commit details -
Configuration menu - View commit details
-
Copy full SHA for 763fccd - Browse repository at this point
Copy the full SHA 763fccdView commit details -
chore: harden CI per review (drop accept-flake-config, fail-fast scri…
…pts/build, run test via bash)
Configuration menu - View commit details
-
Copy full SHA for ba64874 - Browse repository at this point
Copy the full SHA ba64874View commit details -
Merge pull request #3 from Unisay/chore/align-overlay
chore: normalize build tooling (purescript-overlay, nix CI, Lua 5.1)
Configuration menu - View commit details
-
Copy full SHA for 1f7c61e - Browse repository at this point
Copy the full SHA 1f7c61eView commit details -
chore: add AGENTS.md + CLAUDE.md, drop dead JavaScript-era files
AGENTS.md is the single instruction file the coding agents read natively; CLAUDE.md is a one-line @AGENTS.md import so Claude Code shares it. Also removes dead bower.json/package.json/.eslintrc.json. CI is already on the shared canon; no src/ change.
Configuration menu - View commit details
-
Copy full SHA for 3ec1995 - Browse repository at this point
Copy the full SHA 3ec1995View commit details -
Merge pull request #4 from Unisay/chore/agents-md-and-canon-ci
chore: add AGENTS.md, drop dead JavaScript-era files
Configuration menu - View commit details
-
Copy full SHA for c75b6fb - Browse repository at this point
Copy the full SHA c75b6fbView commit details -
chore: point pslua + package-set links at purescript-lua org
Repos moved from Unisay/* to the purescript-lua org. Update the pslua flake input and lockfile owner (same rev 94c13ce), the packages.dhall upstream-lua release URL, and the AGENTS.md links, so nothing relies on the old-owner redirect.
Configuration menu - View commit details
-
Copy full SHA for 3f40eb7 - Browse repository at this point
Copy the full SHA 3f40eb7View commit details -
Merge pull request #5 from purescript-lua/chore/migrate-org-links
chore: point pslua + package-set links at purescript-lua org
Configuration menu - View commit details
-
Copy full SHA for 13b3fe9 - Browse repository at this point
Copy the full SHA 13b3fe9View 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 0ab0c2e - Browse repository at this point
Copy the full SHA 0ab0c2eView commit details
Commits on Jun 15, 2026
-
Merge pull request #6 from purescript-lua/chore/treefmt
chore: add treefmt formatting (nix fmt + pre-commit + CI check)
Configuration menu - View commit details
-
Copy full SHA for 79741bb - Browse repository at this point
Copy the full SHA 79741bbView 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 d595057 - Browse repository at this point
Copy the full SHA d595057View 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 ea42484 - Browse repository at this point
Copy the full SHA ea42484View commit details -
fix: Data.Int / Data.Int.Bits FFI match JS 32-bit Int semantics
PureScript Int is 32-bit two's complement; the Lua FFI diverged from the JS semantics the package's own test suite encodes: - fromNumber returned Just for any Number (truncating the fraction); now Just only for an integral value inside the Int32 range, else Nothing. - fromStringAs accepted fractional and out-of-range strings and, for non-decimal bases, Lua's `tonumber` turned a leading '-' into a huge unsigned value. It now parses the sign itself, validates every digit against the base (rejecting floats/whitespace/illegal chars) and range- checks the result, so e.g. `fromStringAs hexadecimal "-ef" == Just (-239)`. - toStringAs emitted uppercase digits; JS toString(radix) is lowercase (`toStringAs hexadecimal 255 == "ff"`). - rem used Lua's floored `%` (sign of the divisor); now the truncated remainder with the sign of the dividend, consistent with `quot`. - pow returned a float and never wrapped; now `Math.pow(x,y) | 0` (truncate toward zero, wrap to Int32), so `pow 2 (-1) == 0`. - and/or/xor only looped while operands were positive, giving wrong results for negatives; they now operate on the unsigned 32-bit representation over a fixed 32 bits (`and (-1) 5 == 5`, `xor (-1) 0 == -1`). - shl/shr/zshr used `math.pow`/division with no masking or wrapping; they now implement JS 32-bit shifts (count mod 32; shl/shr re-signed, zshr zero-fill), so `shl 1 31 == -2147483648` and `zshr (-8) 1 == 2147483644`. Shared 32-bit helpers live in each file's foreign header. Adds a Lua 5.1 regression guard (test/regression/int.lua) and a scripts/test runner. Fixes purescript-lua/purescript-lua#85 Fixes purescript-lua/purescript-lua#86 Fixes purescript-lua/purescript-lua#87 Fixes purescript-lua/purescript-lua#88 Fixes purescript-lua/purescript-lua#89 Fixes purescript-lua/purescript-lua#90 Fixes purescript-lua/purescript-lua#91
Configuration menu - View commit details
-
Copy full SHA for be0f106 - Browse repository at this point
Copy the full SHA be0f106View 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