Skip to content

Restore bare fn package compatibility - #18

Merged
isomorphisms merged 9 commits into
equality-glyph-aliasesfrom
fn-identifier-compat
Sep 18, 2026
Merged

isomorphisms merged 9 commits into
equality-glyph-aliasesfrom
fn-identifier-compat

Conversation

@isomorphisms

@isomorphisms isomorphisms commented Aug 26, 2026 •

Copy link
Copy Markdown
Owner

Stop reserving ASCII fn; it now follows the ordinary SYMBOL path again, while λ and ƒ remain function-constructor spellings.

The compatibility smoke:

  • exercises a representative function(call, fn) { fn <- ... } fixture;
  • verifies both λ and ƒ still construct functions;
  • installs unmodified current CRAN rlang from source under IR and loads it;
  • runs IR syntax (←, ÷, ≟) independently of packages whose source intentionally relies on standard-R = assignment.

The broader testthat / tibble / dplyr smoke from issue #12 is not claimed here. Its transitive vctrs dependency uses bare = assignment in package source, while IR deliberately gives = equality semantics. That is a separate compatibility boundary from the fn lexer regression. The previous CI also exposed an unrelated missing libuv development header through fs.

The README states that fn is an ordinary identifier and that fn(...) is an ordinary call, not constructor syntax.

This is stacked on #5 because the smoke test uses the preferred ≟ spelling introduced there. It removes the parser blocker for dilapidated-shed/r-koans#2.

Addresses the bare-fn portion of #12; the broader package-stack question remains open.

@isomorphisms
isomorphisms merged commit f148449 into equality-glyph-aliases Sep 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant