-
Notifications
You must be signed in to change notification settings - Fork 24
Comparing changes
Open a pull request
base repository: purescript/purescript-enums
base: cd373c5
head repository: purescript-lua/purescript-lua-enums
compare: e85567b
- 14 commits
- 25 files changed
- 3 contributors
Commits on Mar 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1fbe184 - Browse repository at this point
Copy the full SHA 1fbe184View commit details
Commits on Jun 14, 2026
-
chore: normalize build tooling
Replace the inherited bower CI (no bower.json in this fork) with a nix-based one that runs scripts/build, scripts/test (if present) and luacheck; make the scripts fail-fast; refresh stale flake inputs.
Configuration menu - View commit details
-
Copy full SHA for f7a6c16 - Browse repository at this point
Copy the full SHA f7a6c16View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d5bd75 - Browse repository at this point
Copy the full SHA 6d5bd75View commit details -
Merge pull request #1 from Unisay/chore/normalize-tooling
chore: normalize build tooling (nix CI, fail-fast scripts, fresh flake)
Configuration menu - View commit details
-
Copy full SHA for 3a9cdad - Browse repository at this point
Copy the full SHA 3a9cdadView commit details -
chore: align CI to hardened canon, add AGENTS.md + CLAUDE.md
CI: drop accept-flake-config (supply-chain risk; caches already pinned), run luacheck with --std lua51 --no-unused-args (matches the Lua 5.1 target and the curried-FFI idiom), invoke the test step via bash so it no longer needs the execute bit. 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 JavaScript-era package files. Tooling and docs only, no src/.
Configuration menu - View commit details
-
Copy full SHA for d584950 - Browse repository at this point
Copy the full SHA d584950View commit details -
Merge pull request #2 from Unisay/chore/agents-md-and-canon-ci
chore: align CI to the hardened canon, add AGENTS.md
Configuration menu - View commit details
-
Copy full SHA for 68933b1 - Browse repository at this point
Copy the full SHA 68933b1View 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 b6d0791 - Browse repository at this point
Copy the full SHA b6d0791View commit details -
Merge pull request #3 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 713bea1 - Browse repository at this point
Copy the full SHA 713bea1View 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 cb7e095 - Browse repository at this point
Copy the full SHA cb7e095View commit details
Commits on Jun 15, 2026
-
Merge pull request #4 from purescript-lua/chore/treefmt
chore: add treefmt formatting (nix fmt + pre-commit + CI check)
Configuration menu - View commit details
-
Copy full SHA for dd4d294 - Browse repository at this point
Copy the full SHA dd4d294View 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 add13d6 - Browse repository at this point
Copy the full SHA add13d6View 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 b6fbce3 - Browse repository at this point
Copy the full SHA b6fbce3View commit details -
fix: Char <-> code point FFI speaks UTF-8, not raw bytes
pslua compiles a PureScript Char as a Lua string of its UTF-8 bytes, so the Char FFI must use code points across the whole 0..65535 range: - toCharCode decoded only the first byte (`c:byte()`), so 'é' (U+00E9) gave 195 instead of 233 and `cardinality`/`fromEnum` were wrong above U+007F. It now decodes the first UTF-8 code point (JS c.charCodeAt(0)). - fromCharCode was bound to `string.char`, which errors above 255 and emits a lone raw byte for 128..255. It now UTF-8-encodes the code point (JS String.fromCharCode), so charToEnum/toEnum/succ/pred work for any Char instead of throwing above U+00FF. Adds a Lua 5.1 regression guard (test/regression/enum.lua) and a scripts/test runner. Fixes purescript-lua/purescript-lua#79 Fixes purescript-lua/purescript-lua#80
Configuration menu - View commit details
-
Copy full SHA for 88b3e10 - Browse repository at this point
Copy the full SHA 88b3e10View commit details -
fix: toCharCode must not crash on a lone code-unit byte
The v6.1.1 rewrite assumed every Char is a complete UTF-8 sequence and read c:byte(2..4) unconditionally. But Data.String.CodeUnits slices a String byte-wise (toCharArray = s:sub(i,i)) and Data.String.CodePoints reassembles code points itself, so toCharCode is routinely called on a single lead/continuation byte — where c:byte(2) is nil and the arithmetic crashes (caught by the StringCodePoints eval golden on CI). Length-guard the decode: assemble the full code point only when the whole sequence is present (#c >= expected), else return the lead byte (the byte-in/byte-out behavior the CodePoints layer relies on). The Char-literal decoding from #79 is preserved. Adds lone-byte regression cases. Fixes purescript-lua/purescript-lua#102
Configuration menu - View commit details
-
Copy full SHA for e85567b - Browse repository at this point
Copy the full SHA e85567bView 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 cd373c5...e85567b