Branch: refs/heads/yves/pattern_match
Home: https://github.com/Perl/perl5
Commit: 0cc8240c8fd35ac6c0d412154fe01b470db6b2e3
https://github.com/Perl/perl5/commit/0cc8240c8fd35ac6c0d412154fe01b470db6b2e3
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M .gitignore
M MANIFEST.SKIP
Log Message:
-----------
Ignore agent related content
Commit: 0adbaf4f11c2d3f2d506518861a9797f8f3403cf
https://github.com/Perl/perl5/commit/0adbaf4f11c2d3f2d506518861a9797f8f3403cf
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M cop.h
M dump.c
M embed.fnc
M embed.h
M embedvar.h
M ext/Opcode/Opcode.pm
M ext/XS-APItest/APItest.pm
M ext/XS-APItest/APItest.xs
M ext/XS-APItest/APItest_runtime_helpers.xs
A ext/XS-APItest/t/generator-runtime.t
M feature.h
M gv.c
M intrpvar.h
M keywords.c
M keywords.h
M lib/B/Deparse-core.t
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M lib/feature.pm
M opcode.h
M opnames.h
M perl.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perl.pod
A pod/perlasync.pod
M pod/perldelta.pod
M pod/perldiag.pod
M pod/perlexperiment.pod
M pod/perlfunc.pod
M pp.c
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/feature.pl
M regen/keywords.pl
M regen/opcodes
M run.c
M sv.c
M t/op/coreamp.t
M t/op/coresubs.t
A t/op/generator.t
M toke.c
M win32/pod.mak
Log Message:
-----------
add a generator syntax
Commit: fd8ab5f970256b67e3c6ed26f89a7775619a814c
https://github.com/Perl/perl5/commit/fd8ab5f970256b67e3c6ed26f89a7775619a814c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A generator_plan.md
Log Message:
-----------
add the plan
Commit: e248f6ffc0c6dc6349ee1d8f0ac8a952ac4cda39
https://github.com/Perl/perl5/commit/e248f6ffc0c6dc6349ee1d8f0ac8a952ac4cda39
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M proto.h
M run.c
Log Message:
-----------
Pass initial arguments into generators
Commit: c554a2b7ec4254c754b2b881fc9c6011a80dba1d
https://github.com/Perl/perl5/commit/c554a2b7ec4254c754b2b881fc9c6011a80dba1d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M generator_plan.md
M lib/B/Op_private.pm
M opcode.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M proto.h
M regen/opcodes
M run.c
Log Message:
-----------
Pass arguments and lists through generators
Commit: 90ce410e3c4a2ed424f729406c107fcc29dcfc30
https://github.com/Perl/perl5/commit/90ce410e3c4a2ed424f729406c107fcc29dcfc30
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M embed.h
M generator_plan.md
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlasync.pod
M pp_ctl.c
M proto.h
M run.c
M t/op/generator.t
Log Message:
-----------
Test and document parameterized generators
Commit: 9b6367c3f32988b79f5d5a0e9081f0e2a1ee9225
https://github.com/Perl/perl5/commit/9b6367c3f32988b79f5d5a0e9081f0e2a1ee9225
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
Log Message:
-----------
Track generator return state
Commit: 675762d1f61d1a96e98a96b8d16324a30dd2eff2
https://github.com/Perl/perl5/commit/675762d1f61d1a96e98a96b8d16324a30dd2eff2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M embed.fnc
Log Message:
-----------
Normalize generator API declarations
Commit: 11e285fc48833be66e099feecc35a2587002c5ca
https://github.com/Perl/perl5/commit/11e285fc48833be66e099feecc35a2587002c5ca
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlasync.pod
M pod/perldiag.pod
Log Message:
-----------
Document generator argument diagnostics
Commit: 465581ba61fd93a8034994c6fd90f3118c89503e
https://github.com/Perl/perl5/commit/465581ba61fd93a8034994c6fd90f3118c89503e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlasync.pod
M run.c
M t/op/generator.t
Log Message:
-----------
Return first generator value in scalar context
Commit: a56dfb3c07606abdbd69a22cff5c7b05f8ef66a4
https://github.com/Perl/perl5/commit/a56dfb3c07606abdbd69a22cff5c7b05f8ef66a4
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
A class.h
M embed.fnc
M embed.h
M hv.c
M hv.h
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M op.c
M opcode.h
M opnames.h
M pad.c
M pad.h
M perly.y
M pp.c
M pp_proto.h
M proto.h
M regen/keywords.pl
M regen/opcodes
M sv.c
A t/role/examples/001-currency.t
A t/role/examples/002-shard-migrator.t
A t/role/examples/003-lambda-terms.t
A t/role/examples/004-native-types.t
A t/role/role.t
A t/role/role_compose.t
A t/role/role_conflict_resolution.t
A t/role/role_does.t
A t/role/role_does_method.t
A t/role/role_does_semantics.t
A t/role/role_field_composition.t
A t/role/role_field_conflicts.t
A t/role/role_fields.t
A t/role/role_requires.t
M toke.c
M universal.c
Log Message:
-----------
class: roles v3 -- algebraic composition with conflict detection and 'does'
This commit adds roles to the 'use feature "class"' system (originally
introduced in Perl 5.38). It supersedes the earlier roles-v1 and
roles-v2 work.
== Overview ==
A role is declared with the 'role' keyword and consumed by a class or
another role with the :does attribute:
role Printable {
method print { say $self->to_string }
}
class Document :does(Printable) {
field $content :param;
method to_string { $content }
}
:does accepts a parenthesised list: :does(RoleA, RoleB).
Roles may contain fields, methods (including required method stubs),
and ADJUST blocks. Fields and methods from composed roles are installed
into the consumer's stash at seal time.
== Proto-Role Algebra ==
The core of this implementation is a proto_role_t (class.h) that every
class and role builds during parsing. It captures:
- method_slot_t: name, origin bitset, CV pointer, and provenance
(from_field pointer, non-NULL for :reader/:writer generated
accessors)
- field_slot_t: PADNAME pointer and origin bitset
- An origin_set_t (U32 bitset) where each composing role gets one bit
Composition is a sorted merge-join (S_merge_method_slots,
S_merge_field_slots) that ORs origin bits. The algebra is:
Required origin_set == 0 (pure obligation)
Defined popcount == 1 (one provider)
Conflicted popcount > 1 (multiple providers)
This makes associativity and commutativity structurally guaranteed.
Resolution (S_proto_role_resolve) runs after composition and checks:
- Conflicted slot: consumer must provide an explicit method. A
generated accessor (:reader/:writer) does not count. An inherited
method does not count. All unresolved conflicts are collected and
reported in one croak.
- Required slot: consumer explicit method OR inherited method
satisfies it. Unresolved required slots at class seal time are
errors; at role seal time they propagate.
Diamond composition is handled correctly: the bitset means same-origin
methods collapse without conflict.
== Nominal and Structural Role Checks ==
Three ways to test role membership:
$obj->does('RoleName') nominal: walks xhv_class_roles transitively
$obj does RoleName infix operator (like 'isa'), guards with
feature 'class'
$obj->DOES('RoleName') structural: walks the role's proto-role
method_slots and verifies each Defined
method still dispatches to the role's
original CvSTASH; generated accessors
(from_field != NULL) are skipped
->does and ->DOES can disagree when a subclass overrides a role method;
this is intentional.
== Bug Fix ==
Also fixes a segfault when a class with a unit-style declaration
(class Foo; ...) inherits from another class. The unit-class path was
not initialising xhv_class_suspended_initfields_compcv before the
superclass ADJUST blocks ran. (GH #20890)
== Memory ==
proto_role_t is retained after sealing so that ->DOES can do structural
checks at runtime. hv_undef_flags() now calls proto_role_free() in the
class/role cleanup block so the struct and its ref-counted contents are
freed when the stash is eventually destroyed.
== Tests ==
New test files under t/role/:
role.t basic role machinery
role_compose.t method and field composition
role_does.t :does attribute validation
role_does_semantics.t ->does / 'does' / isa semantics
role_does_method.t ->does, infix 'does', ->DOES
role_field_composition.t field inheritance through roles
role_field_conflicts.t field conflict detection
role_fields.t role field behaviour
role_requires.t required method stubs
role_conflict_resolution.t conflict detection and resolution rules
examples/ four worked examples
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: 09df6e444c575bef1fa7099485740d1ed18604af
https://github.com/Perl/perl5/commit/09df6e444c575bef1fa7099485740d1ed18604af
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M class.c
M t/op/universal.t
Log Message:
-----------
fix CI failures: MANIFEST, perldiag, Opcode tag, universal.t, compiler warning
MANIFEST: add class.h and all t/role/*.t test files.
pod/perldiag.pod: add entries for all new diagnostics introduced by
the roles implementation:
- Cannot '%s' outside of a 'class' or 'role'
- Cannot create role %s as it already has a non-empty @ISA
- Cannot define role "%s" as it is already a class
- Cannot reopen existing role "%s"
- Field %s conflicts between "%s" and "%s"
- Method %s conflicts between "%s" and "%s"
- Method %s is required by role %s but not provided by "%s"
- role is experimental
- Roles cannot use :isa
- Too many roles in a single composition (max %d)
- Unexpected characters while parsing :does attribute: %s
- :does attribute requires a role but "%s" is not one
- proto_role_compose_and_install: role has no proto-role (S debugging)
ext/Opcode/Opcode.pm: add 'does' to the tagged opname list alongside
'isa'.
t/op/universal.t: update expected UNIVERSAL:: method list to include
'does', which is now installed alongside 'isa', 'can', etc.
class.c: remove unused 'stash' parameter from S_apply_one_role() to
fix the compiler warning. Change the DEBUGGING fallback warn to use
Perl_ck_warner_d(packWARN(WARN_DEBUGGING)) so diag.t can verify its
severity and category.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: 7af47065a935085b71885db74722a78c8a83bc1b
https://github.com/Perl/perl5/commit/7af47065a935085b71885db74722a78c8a83bc1b
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M gv.c
M t/op/coreamp.t
M t/op/coresubs.t
Log Message:
-----------
fix -Dusethreads CI failures: does/role in CORE:: and version bump
- gv.c: add KEY_does and KEY_role to S_maybe_add_coresub's return-NULL
switch, so CORE::does and CORE::role are not registered as callable
CORE:: subs (same treatment as KEY_isa, KEY_class, etc.)
- t/op/coresubs.t: add 'does' and 'role' to %unsupported
- t/op/coreamp.t: add 'does' and 'role' to %nottest_words
- lib/B/Deparse.pm: bump version 1.89 -> 1.90 for porting/cmp_version.t
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: b2241fc35c240cd48057e35862922f4120dd5928
https://github.com/Perl/perl5/commit/b2241fc35c240cd48057e35862922f4120dd5928
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
M t/role/role.t
M t/role/role_compose.t
M t/role/role_does.t
M t/role/role_requires.t
Log Message:
-----------
class: fix transitive required-method propagation through role chains
After composing role B :does(A), B's stored proto-role was only the pre-
composition snapshot (B's own methods), so required methods from A were
lost when a class later composed B. This caused no error when a class
failed to satisfy a transitively-required method.
Fix: after role composition, append any Required slots from the composed
proto that are not already in the stored proto-role. Defined slots are
intentionally NOT propagated - only the role's own method implementations
are stored, since the structural DOES check verifies CvSTASH == rolestash.
Also fix the eval "use VERSION" issue in role tests: replace inner "use v5.36"
with "use strict" since "use VERSION" is forbidden in nested evals once a
v5.39+ version is in scope. Update test regexes to match the actual error
message format our implementation produces.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: c5295f6f47b242e2bf06c0e4b30fe3149ca8f200
https://github.com/Perl/perl5/commit/c5295f6f47b242e2bf06c0e4b30fe3149ca8f200
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M class.c
M class.h
M embed.fnc
M embed.h
M hv.h
M keywords.c
M keywords.h
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M lib/UNIVERSAL.pm
M op.c
M opcode.h
M opnames.h
M pad.c
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlclass.pod
M pod/perldiag.pod
M pp.c
M pp_proto.h
M proto.h
M regen/keywords.pl
M regen/opcodes
M t/TEST
M t/harness
M t/role/examples/001-currency.t
M t/role/examples/002-shard-migrator.t
M t/role/examples/003-lambda-terms.t
M t/role/examples/004-native-types.t
M t/role/role_compose.t
M t/role/role_conflict_resolution.t
R t/role/role_does.t
R t/role/role_does_method.t
R t/role/role_does_semantics.t
M t/role/role_field_composition.t
M t/role/role_field_conflicts.t
M t/role/role_fields.t
A t/role/role_implements.t
A t/role/role_implements_method.t
A t/role/role_implements_semantics.t
M t/role/role_requires.t
M toke.c
M universal.c
Log Message:
-----------
role: delegate DOES through implements
Commit: b84434576141fa87eeddcc0af63500d11666ded8
https://github.com/Perl/perl5/commit/b84434576141fa87eeddcc0af63500d11666ded8
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M builtin.c
M class.c
M embed.fnc
M embed.h
M lib/builtin.pm
M proto.h
Log Message:
-----------
class: add package_implements builtin
Commit: ad6d126ca55906c43e0d7f616ada706127ca304b
https://github.com/Perl/perl5/commit/ad6d126ca55906c43e0d7f616ada706127ca304b
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M builtin.c
M class.c
M dist/Data-Dumper/Dumper.pm
M dist/Data-Dumper/Dumper.xs
M embed.fnc
M embed.h
M lib/builtin.pm
M proto.h
A t/class/object_hash.t
Log Message:
-----------
class: expose shallow object hash conversion
Commit: 38f0e3a25eec25fc9c390ab7053c4e080bf84e9e
https://github.com/Perl/perl5/commit/38f0e3a25eec25fc9c390ab7053c4e080bf84e9e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/Data-Dumper/Changes
M dist/Data-Dumper/Dumper.pm
M dist/Data-Dumper/Dumper.xs
Log Message:
-----------
Data-Dumper: document class object support
Commit: ec1577be1421a53bfd34cf31e6ef5253f6cac2f2
https://github.com/Perl/perl5/commit/ec1577be1421a53bfd34cf31e6ef5253f6cac2f2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/Data-Dumper/Dumper.xs
Log Message:
-----------
Data-Dumper: guard class API by generated macro
Commit: ade6cd739258aaa0912507ebe7dfe46036bef38e
https://github.com/Perl/perl5/commit/ade6cd739258aaa0912507ebe7dfe46036bef38e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perldelta.pod
Log Message:
-----------
Data-Dumper: document class object support in perldelta
Commit: f11f25e68f843ebe0c6c91e3f1aaa88857568d86
https://github.com/Perl/perl5/commit/f11f25e68f843ebe0c6c91e3f1aaa88857568d86
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M builtin.c
M class.c
Log Message:
-----------
class: document object conversion APIs
Commit: 93ecc6800ff044d0c8bd6e83728b68619638694c
https://github.com/Perl/perl5/commit/93ecc6800ff044d0c8bd6e83728b68619638694c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
Log Message:
-----------
class: add object hash conversion test to manifest
Commit: cb672e5d98d8524fa9c1475b8f2001239524d8ff
https://github.com/Perl/perl5/commit/cb672e5d98d8524fa9c1475b8f2001239524d8ff
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
R t/role/examples/001-currency.t
R t/role/examples/002-shard-migrator.t
R t/role/examples/003-lambda-terms.t
R t/role/examples/004-native-types.t
M t/role/role.t
M t/role/role_compose.t
M t/role/role_conflict_resolution.t
M t/role/role_field_composition.t
M t/role/role_field_conflicts.t
M t/role/role_fields.t
M t/role/role_implements.t
M t/role/role_implements_method.t
M t/role/role_implements_semantics.t
M t/role/role_requires.t
M universal.c
Log Message:
-----------
role: align tests with core harness and DOES fallback
Commit: db9071f16070a8e3bb666f38200656b2f9b97dd6
https://github.com/Perl/perl5/commit/db9071f16070a8e3bb666f38200656b2f9b97dd6
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M builtin.c
M class.c
M class.h
M ext/Opcode/Opcode.pm
M lib/B/Deparse-core.t
M lib/UNIVERSAL.pm
M lib/builtin.pm
M opcode.h
M pod/perldiag.pod
M regen/opcodes
M run.c
M sv.c
M t/op/universal.t
Log Message:
-----------
class: clone role metadata with threaded stashes
Commit: 97c863f2263ffe134b300bdbaa01a995daf806fc
https://github.com/Perl/perl5/commit/97c863f2263ffe134b300bdbaa01a995daf806fc
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
Log Message:
-----------
class: preserve field index sentinel type
Commit: 9aa938e5b7aabf312f2910235088b44a8052293b
https://github.com/Perl/perl5/commit/9aa938e5b7aabf312f2910235088b44a8052293b
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
Log Message:
-----------
class: keep field map bounds signed
Commit: 76f11db08601bb38281a8af61c1abd27abd9d883
https://github.com/Perl/perl5/commit/76f11db08601bb38281a8af61c1abd27abd9d883
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/op/coreamp.t
Log Message:
-----------
tests: silence experimental comparison warnings in coreamp
Commit: de58cab71d666301f4778c2b9cbbd5d9fac02aaf
https://github.com/Perl/perl5/commit/de58cab71d666301f4778c2b9cbbd5d9fac02aaf
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
M embed.h
M ext/Opcode/Opcode.pm
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perldiag.pod
Log Message:
-----------
class: restore safe method parse cleanup
Commit: 8c64fa6819a29f278cda332aa4a7761636b7afb9
https://github.com/Perl/perl5/commit/8c64fa6819a29f278cda332aa4a7761636b7afb9
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
A dist/p5-matrix-utils/Changes
A dist/p5-matrix-utils/XS_DESIGN.md
A dist/p5-matrix-utils/lib/MNIST.pm
A dist/p5-matrix-utils/lib/Matrix.pm
A dist/p5-matrix-utils/lib/Scalar.pm
A dist/p5-matrix-utils/lib/Tensor.pm
A dist/p5-matrix-utils/lib/Vector.pm
A dist/p5-matrix-utils/t/matrix-utils.t
Log Message:
-----------
dist: add p5-matrix-utils prototype
Commit: 47bcfcbca270291a86822c3a0cd93274c73bb0d4
https://github.com/Perl/perl5/commit/47bcfcbca270291a86822c3a0cd93274c73bb0d4
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
A dist/p5-matrix-utils/NEURAL_NETWORK_FEATURES.md
A dist/p5-matrix-utils/NOTES.md
A dist/p5-matrix-utils/OPTIMIZATION_OPPORTUNITIES.md
A dist/p5-matrix-utils/OPTIMIZATION_SUCCESS.md
A dist/p5-matrix-utils/OPTIMIZATION_V2_RESULTS.md
A dist/p5-matrix-utils/TRAINING_SUCCESS.md
A dist/p5-matrix-utils/examples/README.md
A dist/p5-matrix-utils/examples/benchmark.pl
A dist/p5-matrix-utils/examples/idx_format_info.md
A dist/p5-matrix-utils/examples/matrix_bench.pl
A dist/p5-matrix-utils/examples/mnist_network.pl
A dist/p5-matrix-utils/examples/mnist_training.pl
A dist/p5-matrix-utils/examples/xor_training.pl
A dist/p5-matrix-utils/t/000-tensor/010-access.t
A dist/p5-matrix-utils/t/000-tensor/020-constructors.t
A dist/p5-matrix-utils/t/000-tensor/030-math.t
A dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
A dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
A dist/p5-matrix-utils/t/000-tensor/060-numerical.t
A dist/p5-matrix-utils/t/000-tensor/070-reductions.t
A dist/p5-matrix-utils/t/010-core/001-scalar.t
A dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
A dist/p5-matrix-utils/t/010-core/020-ops.t
A dist/p5-matrix-utils/t/010-core/120-ops.t
A dist/p5-matrix-utils/t/100-vector/110-access.t
A dist/p5-matrix-utils/t/100-vector/120-scalar.t
A dist/p5-matrix-utils/t/100-vector/130-matrix.t
A dist/p5-matrix-utils/t/100-vector/150-math.t
A dist/p5-matrix-utils/t/100-vector/160-concat.t
A dist/p5-matrix-utils/t/100-vector/170-reductions.t
A dist/p5-matrix-utils/t/100-vector/180-comparisons.t
A dist/p5-matrix-utils/t/100-vector/190-logical-math.t
A dist/p5-matrix-utils/t/200-matrix/210-access.t
A dist/p5-matrix-utils/t/200-matrix/220-constructors.t
A dist/p5-matrix-utils/t/200-matrix/230-operations.t
A dist/p5-matrix-utils/t/200-matrix/250-math.t
A dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
A dist/p5-matrix-utils/t/200-matrix/270-accessors.t
A dist/p5-matrix-utils/t/200-matrix/280-reductions.t
A dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
A dist/p5-matrix-utils/t/200-matrix/300-logical-math.t
Log Message:
-----------
dist: import complete p5-matrix-utils tree
Commit: 32630fa2dd64ac9416cfdd99a07a5868d5e5f155
https://github.com/Perl/perl5/commit/32630fa2dd64ac9416cfdd99a07a5868d5e5f155
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
A dist/p5-matrix-utils/XS.xs
A dist/p5-matrix-utils/lib/Tensor/XS.pm
A dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: add native Tensor XS storage prototype
Commit: 765eafb0899385d5e765226577b8e074298dd88a
https://github.com/Perl/perl5/commit/765eafb0899385d5e765226577b8e074298dd88a
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A dist/p5-matrix-utils/Makefile.PL
Log Message:
-----------
dist: retain Tensor::XS build metadata
Commit: 8c1a40b6ab0780f12aae5f8a0735105969f76db2
https://github.com/Perl/perl5/commit/8c1a40b6ab0780f12aae5f8a0735105969f76db2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: record Tensor XS migration status
Commit: ff5e7284a406ebd440238150641e082d69f761ef
https://github.com/Perl/perl5/commit/ff5e7284a406ebd440238150641e082d69f761ef
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: make native tensor access coordinate based
Commit: 7df2e1ea02ba4c8c15e33b7db14e900c64b0bbf2
https://github.com/Perl/perl5/commit/7df2e1ea02ba4c8c15e33b7db14e900c64b0bbf2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: update Tensor XS design status
Commit: 2638bc8e1f472422bb62eef2c43a098109baf950
https://github.com/Perl/perl5/commit/2638bc8e1f472422bb62eef2c43a098109baf950
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: accept nested native tensor data
Commit: d02ad700b38aa0a0d432017ab237868d58836130
https://github.com/Perl/perl5/commit/d02ad700b38aa0a0d432017ab237868d58836130
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: use conventional tensor strides
Commit: 7a9917b1a04e8a2708d644c988ade805e59c8c91
https://github.com/Perl/perl5/commit/7a9917b1a04e8a2708d644c988ade805e59c8c91
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: make native tensor bulk loads atomic
Commit: d90df8953ad4b5921fa7b55498db6f01f964e6a0
https://github.com/Perl/perl5/commit/d90df8953ad4b5921fa7b55498db6f01f964e6a0
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: add native tensor flat indexing
Commit: c4f7ec99278b7150458ce9751e5aa9fbe78f522c
https://github.com/Perl/perl5/commit/c4f7ec99278b7150458ce9751e5aa9fbe78f522c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: document native tensor indexing
Commit: b9ae762e49b6d60cd688d31660fb2b50abee6e25
https://github.com/Perl/perl5/commit/b9ae762e49b6d60cd688d31660fb2b50abee6e25
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: harden native tensor blob layout
Commit: 21a281b6609943f062586464b3540f435b8b46ad
https://github.com/Perl/perl5/commit/21a281b6609943f062586464b3540f435b8b46ad
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
Log Message:
-----------
dist: validate native tensor blob boundaries
Commit: 2f6d9c92971e39d0a0f1dbc9eb700424cd6b8804
https://github.com/Perl/perl5/commit/2f6d9c92971e39d0a0f1dbc9eb700424cd6b8804
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: define extensible tensor dtype model
Commit: 7a90e433a2a698b7fe80d12df13ec7173a34a8f2
https://github.com/Perl/perl5/commit/7a90e433a2a698b7fe80d12df13ec7173a34a8f2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/lib/Tensor/XS.pm
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: add descriptor-driven tensor dtypes
Commit: 41ab7d39481dda397dbda57484ef3a02f7a20984
https://github.com/Perl/perl5/commit/41ab7d39481dda397dbda57484ef3a02f7a20984
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/lib/Tensor.pm
Log Message:
-----------
dist: back Tensor with native XS storage
Commit: 9889c10b7c29549a473e49d9524741ede2db6ce4
https://github.com/Perl/perl5/commit/9889c10b7c29549a473e49d9524741ede2db6ce4
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/lib/Tensor.pm
Log Message:
-----------
dist: finish native Tensor storage bridge
Commit: e45a1b7a0ff063502bc79680e6f4e2a0846cafb1
https://github.com/Perl/perl5/commit/e45a1b7a0ff063502bc79680e6f4e2a0846cafb1
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/t/000-tensor/010-access.t
M dist/p5-matrix-utils/t/000-tensor/020-constructors.t
M dist/p5-matrix-utils/t/000-tensor/030-math.t
M dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
M dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
M dist/p5-matrix-utils/t/000-tensor/060-numerical.t
M dist/p5-matrix-utils/t/000-tensor/070-reductions.t
M dist/p5-matrix-utils/t/010-core/001-scalar.t
M dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
M dist/p5-matrix-utils/t/010-core/120-ops.t
M dist/p5-matrix-utils/t/100-vector/110-access.t
M dist/p5-matrix-utils/t/100-vector/170-reductions.t
M dist/p5-matrix-utils/t/100-vector/180-comparisons.t
M dist/p5-matrix-utils/t/100-vector/190-logical-math.t
M dist/p5-matrix-utils/t/200-matrix/210-access.t
M dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
M dist/p5-matrix-utils/t/200-matrix/270-accessors.t
M dist/p5-matrix-utils/t/200-matrix/280-reductions.t
M dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
M dist/p5-matrix-utils/t/200-matrix/300-logical-math.t
Log Message:
-----------
dist: remove Test::Exception from tensor tests
Commit: 1934cb174b5880b03eec87f06a043a1c933aa531
https://github.com/Perl/perl5/commit/1934cb174b5880b03eec87f06a043a1c933aa531
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/Changes
M dist/p5-matrix-utils/Makefile.PL
Log Message:
-----------
dist: package native tensor classes and tests
Commit: 5fd9f341259da10b1c792c507df118daf0b6389d
https://github.com/Perl/perl5/commit/5fd9f341259da10b1c792c507df118daf0b6389d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M generator_plan.md
Log Message:
-----------
generator: plan swappable execution context
Commit: 0522811f70341eef7c575c3ce1da6b1567f48f3b
https://github.com/Perl/perl5/commit/0522811f70341eef7c575c3ce1da6b1567f48f3b
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M generator_plan.md
Log Message:
-----------
generator: document context ownership lifecycle
Commit: bd9206c41d1ba3cc9426ea6f3b7718fd21ce06a5
https://github.com/Perl/perl5/commit/bd9206c41d1ba3cc9426ea6f3b7718fd21ce06a5
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M Configure
M MANIFEST
M Makefile.SH
M cop.h
A dist/Tensor-XS/Changes
A dist/Tensor-XS/Makefile.PL
A dist/Tensor-XS/NEURAL_NETWORK_FEATURES.md
A dist/Tensor-XS/NOTES.md
A dist/Tensor-XS/OPTIMIZATION_OPPORTUNITIES.md
A dist/Tensor-XS/OPTIMIZATION_SUCCESS.md
A dist/Tensor-XS/OPTIMIZATION_V2_RESULTS.md
A dist/Tensor-XS/TRAINING_SUCCESS.md
A dist/Tensor-XS/XS.xs
A dist/Tensor-XS/XS_DESIGN.md
A dist/Tensor-XS/examples/README.md
A dist/Tensor-XS/examples/benchmark.pl
A dist/Tensor-XS/examples/idx_format_info.md
A dist/Tensor-XS/examples/matrix_bench.pl
A dist/Tensor-XS/examples/mnist_network.pl
A dist/Tensor-XS/examples/mnist_training.pl
A dist/Tensor-XS/examples/xor_training.pl
A dist/Tensor-XS/lib/MNIST.pm
A dist/Tensor-XS/lib/Matrix.pm
A dist/Tensor-XS/lib/Scalar.pm
A dist/Tensor-XS/lib/Tensor.pm
A dist/Tensor-XS/lib/Tensor/XS.pm
A dist/Tensor-XS/lib/Vector.pm
A dist/Tensor-XS/t/000-tensor/010-access.t
A dist/Tensor-XS/t/000-tensor/020-constructors.t
A dist/Tensor-XS/t/000-tensor/030-math.t
A dist/Tensor-XS/t/000-tensor/040-comparisons.t
A dist/Tensor-XS/t/000-tensor/050-logical-math.t
A dist/Tensor-XS/t/000-tensor/060-numerical.t
A dist/Tensor-XS/t/000-tensor/070-reductions.t
A dist/Tensor-XS/t/010-core/001-scalar.t
A dist/Tensor-XS/t/010-core/010-reduce_data_array.t
A dist/Tensor-XS/t/010-core/020-ops.t
A dist/Tensor-XS/t/010-core/120-ops.t
A dist/Tensor-XS/t/100-vector/110-access.t
A dist/Tensor-XS/t/100-vector/120-scalar.t
A dist/Tensor-XS/t/100-vector/130-matrix.t
A dist/Tensor-XS/t/100-vector/150-math.t
A dist/Tensor-XS/t/100-vector/160-concat.t
A dist/Tensor-XS/t/100-vector/170-reductions.t
A dist/Tensor-XS/t/100-vector/180-comparisons.t
A dist/Tensor-XS/t/100-vector/190-logical-math.t
A dist/Tensor-XS/t/200-matrix/210-access.t
A dist/Tensor-XS/t/200-matrix/220-constructors.t
A dist/Tensor-XS/t/200-matrix/230-operations.t
A dist/Tensor-XS/t/200-matrix/250-math.t
A dist/Tensor-XS/t/200-matrix/260-concat-stack.t
A dist/Tensor-XS/t/200-matrix/270-accessors.t
A dist/Tensor-XS/t/200-matrix/280-reductions.t
A dist/Tensor-XS/t/200-matrix/290-comparisons.t
A dist/Tensor-XS/t/200-matrix/300-logical-math.t
A dist/Tensor-XS/t/matrix-utils.t
A dist/Tensor-XS/t/xs-native.t
R dist/p5-matrix-utils/Changes
R dist/p5-matrix-utils/Makefile.PL
R dist/p5-matrix-utils/NEURAL_NETWORK_FEATURES.md
R dist/p5-matrix-utils/NOTES.md
R dist/p5-matrix-utils/OPTIMIZATION_OPPORTUNITIES.md
R dist/p5-matrix-utils/OPTIMIZATION_SUCCESS.md
R dist/p5-matrix-utils/OPTIMIZATION_V2_RESULTS.md
R dist/p5-matrix-utils/TRAINING_SUCCESS.md
R dist/p5-matrix-utils/XS.xs
R dist/p5-matrix-utils/XS_DESIGN.md
R dist/p5-matrix-utils/examples/README.md
R dist/p5-matrix-utils/examples/benchmark.pl
R dist/p5-matrix-utils/examples/idx_format_info.md
R dist/p5-matrix-utils/examples/matrix_bench.pl
R dist/p5-matrix-utils/examples/mnist_network.pl
R dist/p5-matrix-utils/examples/mnist_training.pl
R dist/p5-matrix-utils/examples/xor_training.pl
R dist/p5-matrix-utils/lib/MNIST.pm
R dist/p5-matrix-utils/lib/Matrix.pm
R dist/p5-matrix-utils/lib/Scalar.pm
R dist/p5-matrix-utils/lib/Tensor.pm
R dist/p5-matrix-utils/lib/Tensor/XS.pm
R dist/p5-matrix-utils/lib/Vector.pm
R dist/p5-matrix-utils/t/000-tensor/010-access.t
R dist/p5-matrix-utils/t/000-tensor/020-constructors.t
R dist/p5-matrix-utils/t/000-tensor/030-math.t
R dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
R dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
R dist/p5-matrix-utils/t/000-tensor/060-numerical.t
R dist/p5-matrix-utils/t/000-tensor/070-reductions.t
R dist/p5-matrix-utils/t/010-core/001-scalar.t
R dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
R dist/p5-matrix-utils/t/010-core/020-ops.t
R dist/p5-matrix-utils/t/010-core/120-ops.t
R dist/p5-matrix-utils/t/100-vector/110-access.t
R dist/p5-matrix-utils/t/100-vector/120-scalar.t
R dist/p5-matrix-utils/t/100-vector/130-matrix.t
R dist/p5-matrix-utils/t/100-vector/150-math.t
R dist/p5-matrix-utils/t/100-vector/160-concat.t
R dist/p5-matrix-utils/t/100-vector/170-reductions.t
R dist/p5-matrix-utils/t/100-vector/180-comparisons.t
R dist/p5-matrix-utils/t/100-vector/190-logical-math.t
R dist/p5-matrix-utils/t/200-matrix/210-access.t
R dist/p5-matrix-utils/t/200-matrix/220-constructors.t
R dist/p5-matrix-utils/t/200-matrix/230-operations.t
R dist/p5-matrix-utils/t/200-matrix/250-math.t
R dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
R dist/p5-matrix-utils/t/200-matrix/270-accessors.t
R dist/p5-matrix-utils/t/200-matrix/280-reductions.t
R dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
R dist/p5-matrix-utils/t/200-matrix/300-logical-math.t
R dist/p5-matrix-utils/t/matrix-utils.t
R dist/p5-matrix-utils/t/xs-native.t
M dist/threads/lib/threads.pm
M dist/threads/threads.xs
M embedvar.h
M ext/B/B.pm
M ext/B/B.xs
M ext/XS-APItest/APItest_runtime_helpers.xs
M intrpvar.h
M lib/.gitignore
M makedef.pl
M pad.h
M perl.c
M perl.h
M regen/embed.pl
M sv.c
M win32/FindExt.pm
M win32/GNUmakefile
M win32/Makefile
Log Message:
-----------
core: make execution context swappable and configure Tensor::XS
Commit: 2c8a791368d792cfad64912e6a20e8da8a083ed5
https://github.com/Perl/perl5/commit/2c8a791368d792cfad64912e6a20e8da8a083ed5
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M ext/XS-APItest/APItest_runtime_helpers.xs
M proto.h
M run.c
Log Message:
-----------
generator: switch process state by context pointer
Commit: fd692af8baea491a676300f46ac443a20bf02d68
https://github.com/Perl/perl5/commit/fd692af8baea491a676300f46ac443a20bf02d68
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M perl.c
Log Message:
-----------
interpreter: initialize unthreaded execution context
Commit: 006ed71f6ca067e40c2ac9f9a8105e5f45d40fa8
https://github.com/Perl/perl5/commit/006ed71f6ca067e40c2ac9f9a8105e5f45d40fa8
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M generator_plan.md
Log Message:
-----------
generator: record execution-context validation
Commit: 84515ea56c935b1586bdad43f73d0f31aeb22e25
https://github.com/Perl/perl5/commit/84515ea56c935b1586bdad43f73d0f31aeb22e25
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/overload.pm
Log Message:
-----------
overload: suppress intentional redefinition warnings
Commit: c9eaf8a5bda9dd1d43d01d57e809124221163faa
https://github.com/Perl/perl5/commit/c9eaf8a5bda9dd1d43d01d57e809124221163faa
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef: omit execution-context members from exports
Commit: 7324d2cb9add4f617665bc092c07ee1cb456656f
https://github.com/Perl/perl5/commit/7324d2cb9add4f617665bc092c07ee1cb456656f
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M Porting/Maintainers.pl
Log Message:
-----------
maintainers: register Cpanel::JSON::XS
Commit: ae3a36a5148225df63bc0cbfce6cbf6efb4f3871
https://github.com/Perl/perl5/commit/ae3a36a5148225df63bc0cbfce6cbf6efb4f3871
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/class/gh22169.t
Log Message:
-----------
class: silence intentional replacement warning in gh22169 test
Commit: 4b15557ef57c3f849ed8bed884b97934db04b391
https://github.com/Perl/perl5/commit/4b15557ef57c3f849ed8bed884b97934db04b391
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M Makefile.SH
M Porting/Maintainers.pl
M Porting/sync-with-cpan
A cpan/Cpanel-JSON-XS/.appveyor.yml
A cpan/Cpanel-JSON-XS/.github/FUNDING.yml
A cpan/Cpanel-JSON-XS/.github/workflows/testsuite.yml
A cpan/Cpanel-JSON-XS/.whitesource
A cpan/Cpanel-JSON-XS/XS.pm
A cpan/Cpanel-JSON-XS/XS.xs
A cpan/Cpanel-JSON-XS/XS/Boolean.pm
A cpan/Cpanel-JSON-XS/XS/Type.pm
A cpan/Cpanel-JSON-XS/bin/cpanel_json_xs
A cpan/Cpanel-JSON-XS/eg/bench
A cpan/Cpanel-JSON-XS/t/00_load.t
A cpan/Cpanel-JSON-XS/t/01_utf8.t
A cpan/Cpanel-JSON-XS/t/02_error.t
A cpan/Cpanel-JSON-XS/t/03_types.t
A cpan/Cpanel-JSON-XS/t/04_dwiw_encode.t
A cpan/Cpanel-JSON-XS/t/05_dwiw_decode.t
A cpan/Cpanel-JSON-XS/t/06_pc_pretty.t
A cpan/Cpanel-JSON-XS/t/07_pc_esc.t
A cpan/Cpanel-JSON-XS/t/08_pc_base.t
A cpan/Cpanel-JSON-XS/t/08_pc_base_nv.t
A cpan/Cpanel-JSON-XS/t/09_pc_extra_number.t
A cpan/Cpanel-JSON-XS/t/104_sortby.t
A cpan/Cpanel-JSON-XS/t/105_esc_slash.t
A cpan/Cpanel-JSON-XS/t/106_allow_barekey.t
A cpan/Cpanel-JSON-XS/t/107_allow_singlequote.t
A cpan/Cpanel-JSON-XS/t/108_decode.t
A cpan/Cpanel-JSON-XS/t/109_encode.t
A cpan/Cpanel-JSON-XS/t/10_pc_keysort.t
A cpan/Cpanel-JSON-XS/t/110_bignum.t
A cpan/Cpanel-JSON-XS/t/112_upgrade.t
A cpan/Cpanel-JSON-XS/t/113_overloaded_eq.t
A cpan/Cpanel-JSON-XS/t/114_decode_prefix.t
A cpan/Cpanel-JSON-XS/t/115_tie_ixhash.t
A cpan/Cpanel-JSON-XS/t/116_incr_parse_fixed.t
A cpan/Cpanel-JSON-XS/t/117_numbers.t
A cpan/Cpanel-JSON-XS/t/118_type.t
A cpan/Cpanel-JSON-XS/t/119_type_decode.t
A cpan/Cpanel-JSON-XS/t/11_pc_expo.t
A cpan/Cpanel-JSON-XS/t/120_type_all_string.t
A cpan/Cpanel-JSON-XS/t/121_memleak.t
A cpan/Cpanel-JSON-XS/t/122_type_encode.t
A cpan/Cpanel-JSON-XS/t/125_shared_boolean.t
A cpan/Cpanel-JSON-XS/t/12_blessed.t
A cpan/Cpanel-JSON-XS/t/13_limit.t
A cpan/Cpanel-JSON-XS/t/14_latin1.t
A cpan/Cpanel-JSON-XS/t/15_prefix.t
A cpan/Cpanel-JSON-XS/t/16_tied.t
A cpan/Cpanel-JSON-XS/t/17_relaxed.t
A cpan/Cpanel-JSON-XS/t/18_json_checker.t
A cpan/Cpanel-JSON-XS/t/19_incr.t
A cpan/Cpanel-JSON-XS/t/20_faihu.t
A cpan/Cpanel-JSON-XS/t/20_unknown.t
A cpan/Cpanel-JSON-XS/t/21_evans.t
A cpan/Cpanel-JSON-XS/t/22_comment_at_eof.t
A cpan/Cpanel-JSON-XS/t/23_array_ctx.t
A cpan/Cpanel-JSON-XS/t/24_freeze_recursion.t
A cpan/Cpanel-JSON-XS/t/25_boolean.t
A cpan/Cpanel-JSON-XS/t/26_duplicate.t
A cpan/Cpanel-JSON-XS/t/30_jsonspec.t
A cpan/Cpanel-JSON-XS/t/31_bom.t
A cpan/Cpanel-JSON-XS/t/52_object.t
A cpan/Cpanel-JSON-XS/t/53_readonly.t
A cpan/Cpanel-JSON-XS/t/54_stringify.t
A cpan/Cpanel-JSON-XS/t/55_modifiable.t
A cpan/Cpanel-JSON-XS/t/96_interop.t
A cpan/Cpanel-JSON-XS/t/96_interop_pp.t
A cpan/Cpanel-JSON-XS/t/96_mojo.t
A cpan/Cpanel-JSON-XS/t/97_unshare_hek.t
A cpan/Cpanel-JSON-XS/t/98_56only.t
A cpan/Cpanel-JSON-XS/t/99_binary.t
A cpan/Cpanel-JSON-XS/t/_unicode_handling.pm
A cpan/Cpanel-JSON-XS/t/appveyor-test.bat
A cpan/Cpanel-JSON-XS/t/test_parsing/i_number_neg_int_huge_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_number_pos_double_huge_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_object_key_lone_2nd_surrogate.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_1st_surrogate_but_2nd_missing.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-16_invalid_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-8_invalid_sequence.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogate_pair.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogates_escape_valid.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_inverted_surrogates_U+1D11E.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_lone_second_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_not_in_unicode_range.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_truncated-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+10FFFE_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+1FFFE_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+FDD0_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+FFFE_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_structure_500_nested_arrays.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_structure_UTF-8_BOM_empty_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_1_true_without_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_a_invalid_utf8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_colon_instead_of_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_comma_after_close.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_comma_and_number.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_double_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_double_extra_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_extra_close.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_extra_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_incomplete.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_incomplete_invalid_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_inner_array_no_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_invalid_utf8.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_items_separated_by_semicolon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_just_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_just_minus.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_missing_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_newlines_unclosed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_number_and_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_number_and_several_commas.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_spaces_vertical_tab_formfeed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_star_inside.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_trailing_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_with_new_lines.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_with_object_inside.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_false.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_true.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_++.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_+1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_+Inf.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-01.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-1.0..json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-2..json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-NaN.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_.-1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_.2e-3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.1.2.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.3e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.3e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.e1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0_capital_E+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0_capital_E.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e-.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1_000.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1eE2.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e+3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e-3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_9.e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_Inf.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_NaN.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_U+FF11_fullwidth_digit_one.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_expression.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_hex_1_digit.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_hex_2_digits.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_infinity.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid+-.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-negative-real.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-bigger-int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_infinity.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_sign_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_space_1.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_int_starting_with_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_real_without_int_part.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_with_garbage_at_end.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_garbage_after_e.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_with_invalid_utf8_after_e.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_without_fractional_part.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_starting_with_dot.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_then_00.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_alpha.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_alpha_char.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_leading_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_bad_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_bracket_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_comma_instead_of_colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_double_colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_emoji.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_garbage_at_end.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_key_with_single_quotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_semicolon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_no-colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_non_string_key.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_non_string_key_but_huge_number_instead.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_pi_in_key_and_trailing_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_repeated_null_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_several_trailing_commas.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_single_quote.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_open.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_slash_open.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_slash_open_incomplete.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_two_commas_in_a_row.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_unquoted_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_unterminated-value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_with_single_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_single_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u1.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u1x.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_UTF-16_incomplete_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_UTF8_surrogate_U+D800.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_accentuated_char_no_quotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_backslash_00.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escape_x.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_backslash_bad.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_ctrl_char_tab.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_emoji.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_escape.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_escaped_character.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_surrogate_escape_invalid.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid-utf-8-in-escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_backslash_esc.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_unicode_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_utf8_after_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_iso_latin_1.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_leading_uescaped_thinspace.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_lone_utf8_continuation_byte.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_no_quotes_with_bad_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_2_bytes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_6_bytes.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_6_bytes_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_doublequote.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_quote.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_string_no_double_quotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_start_escape_unclosed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_crtl_char.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_tab.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unicode_CapitalU.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_100000_opening_arrays.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_U+2060_word_joined.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_UTF8_BOM_no_data.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_trailing_garbage.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_with_extra_array_close.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_with_unclosed_string.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_ascii-unicode-identifier.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_capitalized_True.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_close_unopened_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_comma_instead_of_closing_brace.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_double_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_end_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_incomplete_UTF8_BOM.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lone-invalid-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lone-open-bracket.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lt.gt.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_ltnullgt.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_no_data.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_null-byte-outside-string.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_number_with_trailing_garbage.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_followed_by_closing_object.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_unclosed_no_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_with_comment.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_apostrophe.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_open_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_open_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_close_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_open_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_open_string.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_string_with_apostrophes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_open.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_single_point.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_single_star.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_trailing_#.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_uescaped_LF_before_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_partial_null.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_unfinished_false.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_unfinished_true.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unicode-identifier.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_whitespace_U+2060_word_joiner.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_whitespace_formfeed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_arraysWithSpaces.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_empty-string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_empty.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_ending_with_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_false.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_heterogeneous.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_1_and_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_leading_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_several_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_trailing_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_0e+1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_0e1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_after_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_double_close_to_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_double_huge_neg_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_huge_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_int_with_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_minus_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_one.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e_neg_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e_pos_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_fraction_exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_neg_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_neg_overflow.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_pos_exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_pos_overflow.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_underflow.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_simple_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_simple_real.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_too_big_neg_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_too_big_pos_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_very_big_negative_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_basic.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_duplicated_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_duplicated_key_and_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_empty.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_empty_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_escaped_null_in_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_extreme_numbers.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_long_strings.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_simple.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_string_unicode.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_with_newlines.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_accepted_surrogate_pair.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_accepted_surrogate_pairs.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_allowed_escapes.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_backslash_and_u_escaped_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_backslash_doublequotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_comments.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_double_escape_a.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_double_escape_n.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_escaped_control_character.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_escaped_noncharacter.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_in_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_in_array_with_leading_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_last_surrogates_1_and_2.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_newline_uescaped.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_null_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_one-byte-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_pi.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_simple_ascii.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_three-byte-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_two-byte-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_u+2028_line_sep.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_u+2029_par_sep.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_uEscape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unescaped_char_delete.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicodeEscapedBackslash.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_2.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_U+2064_invisible_plus.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_escaped_double_quote.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf16.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf16be.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf32.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf32be.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_with_del_character.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_false.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_negative_real.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_true.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_string_empty.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_trailing_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_true_in_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_whitespace_array.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1.0.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1.000000000000000005.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1000000000000000.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_10000000000000000999.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1e-999.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1e6.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_key_nfc_nfd.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_key_nfd_nfc.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_different_values.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_same_value.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_unclear_values.json
A
cpan/Cpanel-JSON-XS/t/test_transform/string_1_escaped_invalid_codepoint.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_1_invalid_codepoint.json
A
cpan/Cpanel-JSON-XS/t/test_transform/string_2_escaped_invalid_codepoints.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_2_invalid_codepoints.json
A
cpan/Cpanel-JSON-XS/t/test_transform/string_3_escaped_invalid_codepoints.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_3_invalid_codepoints.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_with_escaped_NULL.json
A cpan/Cpanel-JSON-XS/t/zero-mojibake.t
A cpan/Cpanel-JSON-XS/typemap
A cpan/Cpanel-JSON-XS/xt/changes.t
A cpan/Cpanel-JSON-XS/xt/checkchanges.t
A cpan/Cpanel-JSON-XS/xt/gh70-asan.t
A cpan/Cpanel-JSON-XS/xt/kwalitee.t
A cpan/Cpanel-JSON-XS/xt/leaktrace.t
A cpan/Cpanel-JSON-XS/xt/manifest.t
A cpan/Cpanel-JSON-XS/xt/meta.t
A cpan/Cpanel-JSON-XS/xt/perl_minimum_version.t
A cpan/Cpanel-JSON-XS/xt/pod-coverage.t
A cpan/Cpanel-JSON-XS/xt/pod-spell-mistakes.t
A cpan/Cpanel-JSON-XS/xt/pod-spelling.t
A cpan/Cpanel-JSON-XS/xt/pod.t
M lib/.gitignore
M win32/GNUmakefile
M win32/Makefile
Log Message:
-----------
core: add Cpanel::JSON::XS
Commit: 4e1ac8a350c892ffd815aa371627cd000f70962d
https://github.com/Perl/perl5/commit/4e1ac8a350c892ffd815aa371627cd000f70962d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/harness
Log Message:
-----------
harness: prioritize tests without saved timings
Commit: cab3529fb498a19cb08bd2b4ee69ac4a1b374c52
https://github.com/Perl/perl5/commit/cab3529fb498a19cb08bd2b4ee69ac4a1b374c52
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
R cpan/Cpanel-JSON-XS/.appveyor.yml
R cpan/Cpanel-JSON-XS/.github/FUNDING.yml
R cpan/Cpanel-JSON-XS/.github/workflows/testsuite.yml
R cpan/Cpanel-JSON-XS/.whitesource
M cpan/Cpanel-JSON-XS/XS.xs
M cpan/Cpanel-JSON-XS/bin/cpanel_json_xs
M cpan/Cpanel-JSON-XS/eg/bench
M cpan/Cpanel-JSON-XS/t/20_unknown.t
M t/porting/filenames.t
A utils/cpanel_json_xs.PL
Log Message:
-----------
core: finish Cpanel JSON XS integration cleanup
Commit: eba7bf4751feb463d6df84f4ce515a2499742e3a
https://github.com/Perl/perl5/commit/eba7bf4751feb463d6df84f4ce515a2499742e3a
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A .agent/skills/perl-configure-build-system/SKILL.md
A
.agent/skills/perl-configure-build-system/references/configure-build-system.md
A .agent/skills/perl-core-archaeology/SKILL.md
A .agent/skills/perl-core-archaeology/references/core-archaeology.md
A .agent/skills/perl-core-build-test-debug/SKILL.md
A .agent/skills/perl-core-build-test-debug/references/testing-debugging.md
A .agent/skills/perl-core-docs-release/SKILL.md
A .agent/skills/perl-core-docs-release/references/docs-release.md
A .agent/skills/perl-core-hacking/SKILL.md
A .agent/skills/perl-core-hacking/references/core-change-workflow.md
A .agent/skills/perl-core-orientation/SKILL.md
A .agent/skills/perl-core-orientation/references/source-map.md
A .agent/skills/perl-core-portability/SKILL.md
A .agent/skills/perl-core-portability/references/core-portability.md
A .agent/skills/perl-embed-fnc/SKILL.md
A .agent/skills/perl-embed-fnc/references/embed-fnc-guide.md
A .agent/skills/perl-generated-files/SKILL.md
A .agent/skills/perl-generated-files/references/generated-files.md
A .agent/skills/perl-language-library/SKILL.md
A .agent/skills/perl-language-library/references/language-library.md
A .agent/skills/perl-parser-optree-ops/SKILL.md
A .agent/skills/perl-parser-optree-ops/references/parser-optree-ops.md
A .agent/skills/perl-regex-engine/SKILL.md
A .agent/skills/perl-regex-engine/references/regex-engine-map.md
A .agent/skills/perl-sv-magic-memory/SKILL.md
A .agent/skills/perl-sv-magic-memory/references/sv-magic-memory.md
A .agent/skills/perl-xs-embedding/SKILL.md
A .agent/skills/perl-xs-embedding/references/xs-embedding.md
M .gitignore
A AGENTS.md
R AI_POLICY.md
A CLAUDE.md
Log Message:
-----------
add skills
Commit: a40233ee48da1de4044773f4123074c376f2111e
https://github.com/Perl/perl5/commit/a40233ee48da1de4044773f4123074c376f2111e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M MANIFEST.SKIP
Log Message:
-----------
porting: exclude agent files from the distribution manifest
Commit: e70c578f0565ec9a4e9579b459dd79c785564bb6
https://github.com/Perl/perl5/commit/e70c578f0565ec9a4e9579b459dd79c785564bb6
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M embed.fnc
M embed.h
M feature.h
M keywords.c
M keywords.h
M lib/feature.pm
M op.c
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perl.pod
M pod/perldelta.pod
A pod/perlnamespace.pod
M pod/perlsyn.pod
M proto.h
M regen/feature.pl
M regen/keywords.pl
A t/comp/namespaces.t
M toke.c
Log Message:
-----------
core: add lexical namespace foundation
Commit: 82121baef955ffa6f266556970daafc1fa40a2b1
https://github.com/Perl/perl5/commit/82121baef955ffa6f266556970daafc1fa40a2b1
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/feature.pm
M lib/warnings.pm
M pod/perlfunc.pod
M regen/feature.pl
M regen/warnings.pl
M t/comp/namespaces.t
M toke.c
M warnings.h
Log Message:
-----------
core: mark namespaces as experimental
Commit: e1541b259dbbcd16525d0652cdf1d96cb5253372
https://github.com/Perl/perl5/commit/e1541b259dbbcd16525d0652cdf1d96cb5253372
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M toke.c
Log Message:
-----------
core: resolve namespace-qualified symbols
Commit: aeb62f0367994bd8fc39c60f0169dee7e02eddb2
https://github.com/Perl/perl5/commit/aeb62f0367994bd8fc39c60f0169dee7e02eddb2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M op.c
M pod/perldiag.pod
M pod/perlfunc.pod
M win32/pod.mak
Log Message:
-----------
core: document namespace APIs and diagnostics
Commit: 67eac546cdd2c7301a6ed24c29087b1cf649d681
https://github.com/Perl/perl5/commit/67eac546cdd2c7301a6ed24c29087b1cf649d681
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/comp/namespaces.t
M t/op/coreamp.t
M t/op/coresubs.t
Log Message:
-----------
tests: cover namespace test setup and keyword warnings
Commit: 2d52c2c61ec53c88419d465ec27363b388de7e1d
https://github.com/Perl/perl5/commit/2d52c2c61ec53c88419d465ec27363b388de7e1d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M gv.c
Log Message:
-----------
core: exclude namespace keywords from CORE subs
Commit: cfe512aee707c0dd1566fe17e226d98a6167ace8
https://github.com/Perl/perl5/commit/cfe512aee707c0dd1566fe17e226d98a6167ace8
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/comp/namespaces.t
M toke.c
Log Message:
-----------
namespaces: support explicit CORE boundaries
Commit: 88055a1a0149d6da29e45197575f7c44815a1d3e
https://github.com/Perl/perl5/commit/88055a1a0149d6da29e45197575f7c44815a1d3e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M ext/Pod-Functions/t/Functions.t
M t/comp/namespaces.t
M t/porting/test_bootstrap.t
M toke.c
Log Message:
-----------
tests: restore feature-off namespace compatibility
Commit: 7f561a55327c9ade79e6e6463908a08a8ad31e24
https://github.com/Perl/perl5/commit/7f561a55327c9ade79e6e6463908a08a8ad31e24
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/B/Deparse-core.t
Log Message:
-----------
tests: account for namespace keywords in deparse sanity check
Commit: a29e1924c4fb11fa675f0126cecc9c9185de751d
https://github.com/Perl/perl5/commit/a29e1924c4fb11fa675f0126cecc9c9185de751d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/B/Deparse-core.t
Log Message:
-----------
tests: silence experimental comparison warnings
Commit: 67f7e27a0444f37b49e54543a3a159ed4eac7372
https://github.com/Perl/perl5/commit/67f7e27a0444f37b49e54543a3a159ed4eac7372
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M MANIFEST.SKIP
R generator_plan.md
A planning/fork-substrate.md
A planning/generator_plan.md
Log Message:
-----------
docs: keep development plans under planning
Commit: 5c39f3962ee940b13a9232c084f271284ce36da1
https://github.com/Perl/perl5/commit/5c39f3962ee940b13a9232c084f271284ce36da1
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A AI-PERL-MISSION.md
A BLEAD-DELTA.md
M MANIFEST
Log Message:
-----------
docs: add AI Perl mission statement
Commit: af9cdc92a671dd3a31f0bebb6a5859db7e335eba
https://github.com/Perl/perl5/commit/af9cdc92a671dd3a31f0bebb6a5859db7e335eba
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A planning/mainline-policy-inventory.md
Log Message:
-----------
docs: preserve mainline policy inventory
Commit: ff8ddb41c05b0b222c4a684717148dc495ffa6b3
https://github.com/Perl/perl5/commit/ff8ddb41c05b0b222c4a684717148dc495ffa6b3
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M AI-PERL-MISSION.md
M BLEAD-DELTA.md
M pod/perlasync.pod
Log Message:
-----------
docs: clarify prerelease status and generator concurrency
Commit: 6ffd61bb64c664608ca779d54b73903d3bea72c3
https://github.com/Perl/perl5/commit/6ffd61bb64c664608ca779d54b73903d3bea72c3
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M README
Log Message:
-----------
update README to mention this is AI-PERl.
Commit: f7bbe343ffac00d0095c76e742bb0e0e12f54ab9
https://github.com/Perl/perl5/commit/f7bbe343ffac00d0095c76e742bb0e0e12f54ab9
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A .github/AI-PERL-MISSION.md
A .github/BLEAD-DELTA.md
Log Message:
-----------
docs: add GitHub README link targets
Commit: fb8507cf9c583e5080a8388976f26b7c10651113
https://github.com/Perl/perl5/commit/fb8507cf9c583e5080a8388976f26b7c10651113
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
R .github/AI-PERL-MISSION.md
R .github/BLEAD-DELTA.md
M README
Log Message:
-----------
docs: use stable links in shared README
Commit: f4d5e1ff0fd51a6a30b356e3c13b71ecc58ccfa9
https://github.com/Perl/perl5/commit/f4d5e1ff0fd51a6a30b356e3c13b71ecc58ccfa9
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M BLEAD-DELTA.md
Log Message:
-----------
docs: link delta file references
Commit: 011be0b8cd3a82b382be8154e83c97ae7e96ec79
https://github.com/Perl/perl5/commit/011be0b8cd3a82b382be8154e83c97ae7e96ec79
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M README
Log Message:
-----------
docs: keep README copyright paragraph first
Commit: c9880ed9d2a07919838fa68f068f8611dbf93b67
https://github.com/Perl/perl5/commit/c9880ed9d2a07919838fa68f068f8611dbf93b67
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlasync.pod
M pod/perldelta.pod
M pod/perlfunc.pod
Log Message:
-----------
docs: explain interleaved generators
Commit: c0adb4f1db81329d429dbcf662df75ffafa29038
https://github.com/Perl/perl5/commit/c0adb4f1db81329d429dbcf662df75ffafa29038
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M pod/perl.pod
R pod/perlasync.pod
M pod/perldelta.pod
M pod/perlexperiment.pod
A pod/perlgenerator.pod
M win32/pod.mak
Log Message:
-----------
docs: rename perlasync to perlgenerator
Commit: fdb3a1f487e2d3681edf4d70725dbb335d2f6bdd
https://github.com/Perl/perl5/commit/fdb3a1f487e2d3681edf4d70725dbb335d2f6bdd
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlfunc.pod
Log Message:
-----------
docs: document generator_yield
Commit: cff9a3982dc498866080367d918a5ea588491c5c
https://github.com/Perl/perl5/commit/cff9a3982dc498866080367d918a5ea588491c5c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlgenerator.pod
Log Message:
-----------
docs: organize generator keyword reference
Commit: 5874a861f9969b6736cfc8216647c751081aafbb
https://github.com/Perl/perl5/commit/5874a861f9969b6736cfc8216647c751081aafbb
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlgenerator.pod
Log Message:
-----------
docs: rewrite generator guide for beginners
Commit: a5fb8313980918bec7029031b3c620a680d188b4
https://github.com/Perl/perl5/commit/a5fb8313980918bec7029031b3c620a680d188b4
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlfunc.pod
M pod/perlgenerator.pod
M t/op/generator.t
Log Message:
-----------
test: document generator wantarray behavior
Commit: 448a7e602764915544554de959577d33b34777d2
https://github.com/Perl/perl5/commit/448a7e602764915544554de959577d33b34777d2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M builtin.c
M embed.fnc
M embed.h
M ext/Opcode/Opcode.pm
M gv.c
M keywords.c
M keywords.h
M lib/B/Deparse-core.t
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M lib/builtin.pm
A lib/generator.pm
M opcode.h
M opnames.h
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/generator_plan.md
M pod/perldelta.pod
M pod/perlexperiment.pod
M pod/perlfunc.pod
M pod/perlgenerator.pod
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/keywords.pl
M regen/opcodes
M run.c
M t/op/coreamp.t
M t/op/coresubs.t
M t/op/generator.t
M toke.c
Log Message:
-----------
Make generator predicates ordinary builtins
Commit: cc7dc4a84f7f968d1fb9cd229071d580920c7c4c
https://github.com/Perl/perl5/commit/cc7dc4a84f7f968d1fb9cd229071d580920c7c4c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlfunc.pod
M pod/perlgenerator.pod
M run.c
M t/op/generator.t
Log Message:
-----------
Return empty lists after generator completion
Commit: c701df65e829dbf484f0dea5659dfd5c2f58ea6e
https://github.com/Perl/perl5/commit/c701df65e829dbf484f0dea5659dfd5c2f58ea6e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M embed.h
Log Message:
-----------
update embed.h
Commit: 6c151a1e8039fda57d573360307b7c8d1d1fe6cf
https://github.com/Perl/perl5/commit/6c151a1e8039fda57d573360307b7c8d1d1fe6cf
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
Log Message:
-----------
Remove generator grammar conflicts
Commit: ff14d6da8631678e3468db388ed2fcf871bb1c11
https://github.com/Perl/perl5/commit/ff14d6da8631678e3468db388ed2fcf871bb1c11
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M Porting/Maintainers.pl
M pod/perldiag.pod
M pod/perlfunc.pod
M utils/Makefile.PL
M win32/pod.mak
Log Message:
-----------
Fix generator porting metadata
Commit: 535631b7a0b47c8aa7804c625a8ed7cb94c8cbf6
https://github.com/Perl/perl5/commit/535631b7a0b47c8aa7804c625a8ed7cb94c8cbf6
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/builtin.pm
Log Message:
-----------
Fix builtin POD line length
Commit: 247c59e5117440cc2fb3ab542e5d26600b005221
https://github.com/Perl/perl5/commit/247c59e5117440cc2fb3ab542e5d26600b005221
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M t/op/generator.t
Log Message:
-----------
Fix unparenthesized generator yields
Commit: f42ed7a676ace8ddf1bab7fdba3aabb27c0fc8b6
https://github.com/Perl/perl5/commit/f42ed7a676ace8ddf1bab7fdba3aabb27c0fc8b6
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M cop.h
M run.c
M t/op/generator.t
Log Message:
-----------
Isolate generator default scalar and arguments
Commit: 2c7af742fd80adc8657c15e325a6bff30b1ef3dd
https://github.com/Perl/perl5/commit/2c7af742fd80adc8657c15e325a6bff30b1ef3dd
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
A planning/generator-coro-context-audit.md
Log Message:
-----------
Add generator and Coro context audit
Commit: 2cab154dd8119c9b1a8092ec2e7a4304adefcdc3
https://github.com/Perl/perl5/commit/2cab154dd8119c9b1a8092ec2e7a4304adefcdc3
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
A planning/perl-pattern-matching.md
Log Message:
-----------
planning/ - add an analysis of how to add pattern matching to perl
Commit: f7c453ba4c0a323c85a591ee5cf1edb96d7eb2dc
https://github.com/Perl/perl5/commit/f7c453ba4c0a323c85a591ee5cf1edb96d7eb2dc
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Document regex pattern matching
Commit: d8f7aa489f4e045c93a1f789cc800fb3cac84931
https://github.com/Perl/perl5/commit/d8f7aa489f4e045c93a1f789cc800fb3cac84931
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Clarify wildcard and tuple patterns
Commit: 00a0e63d16f45fd88744b44a425e99643994bcae
https://github.com/Perl/perl5/commit/00a0e63d16f45fd88744b44a425e99643994bcae
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Document open array and hash patterns
Commit: b0d9b03b641c8a84306a158a90a90fc1a30d1b68
https://github.com/Perl/perl5/commit/b0d9b03b641c8a84306a158a90a90fc1a30d1b68
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Finalize initial pattern matching design
Commit: 8c8693b04268da920a180f92c2fd41aaf8a40a66
https://github.com/Perl/perl5/commit/8c8693b04268da920a180f92c2fd41aaf8a40a66
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M feature.h
M keywords.c
M keywords.h
M lib/feature.pm
M regen/feature.pl
M regen/keywords.pl
Log Message:
-----------
Add case_match feature plumbing
Commit: 72460876f4e8796cb2d26982e304d04f9d797edf
https://github.com/Perl/perl5/commit/72460876f4e8796cb2d26982e304d04f9d797edf
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M toke.c
Log Message:
-----------
Add case_match parser scaffolding
Commit: e15d9d9182c3e87fbf1a8487f409a9dd1bbb1c95
https://github.com/Perl/perl5/commit/e15d9d9182c3e87fbf1a8487f409a9dd1bbb1c95
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M MANIFEST
A t/comp/case_match.t
Log Message:
-----------
Add case_match parser tests
Commit: 2c982c0e65fdd0f50510ff044925f85f5aba349f
https://github.com/Perl/perl5/commit/2c982c0e65fdd0f50510ff044925f85f5aba349f
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Record pattern matching implementation status
Commit: efea22440a3f2bba30055a04eafdd9edb20bdc0b
https://github.com/Perl/perl5/commit/efea22440a3f2bba30055a04eafdd9edb20bdc0b
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M embed.h
M lib/B/Op_private.pm
M op.c
M opcode.h
M opnames.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M pp_proto.h
M regen/opcodes
M t/comp/case_match.t
Log Message:
-----------
Add dedicated scalar case matcher
Commit: 40b54e7fa03992e7beae84e0fe6138017037bfd1
https://github.com/Perl/perl5/commit/40b54e7fa03992e7beae84e0fe6138017037bfd1
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Preserve scalar pattern literal type
Commit: dd89ffa4206d3cd004c2ab44e5088a1d7e67f292
https://github.com/Perl/perl5/commit/dd89ffa4206d3cd004c2ab44e5088a1d7e67f292
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Add wildcard case pattern
Commit: 4c5ea95720cfe1eab30e84648ab9c9a093311c23
https://github.com/Perl/perl5/commit/4c5ea95720cfe1eab30e84648ab9c9a093311c23
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Track scalar pattern matcher progress
Commit: 551cd008f0765a145d40b94bebfeda38e0100dcf
https://github.com/Perl/perl5/commit/551cd008f0765a145d40b94bebfeda38e0100dcf
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Match nested arrays and hashes
Commit: 45527f24769effd52e68f26e41c96aa6c95579e0
https://github.com/Perl/perl5/commit/45527f24769effd52e68f26e41c96aa6c95579e0
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M parser.h
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M pp_ctl.c
M t/comp/case_match.t
M toke.c
Log Message:
-----------
Add nested and open case patterns
Commit: 5f45602004f7951932715c574f2eb8781d7bd96e
https://github.com/Perl/perl5/commit/5f45602004f7951932715c574f2eb8781d7bd96e
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Support open prefix and subsequence patterns
Commit: 392beab8842f0774323195039f7ab3010f3da4e3
https://github.com/Perl/perl5/commit/392beab8842f0774323195039f7ab3010f3da4e3
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/comp/case_match.t
Log Message:
-----------
Test nested open case patterns
Commit: 2079d1cb0e0e182b8610724d3b188bf69ade4d0a
https://github.com/Perl/perl5/commit/2079d1cb0e0e182b8610724d3b188bf69ade4d0a
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M ext/Opcode/Opcode.pm
M t/comp/case_match.t
Log Message:
-----------
Register case matcher with Opcode
Commit: cf64e6b91e816325288a8ae443624d1e33064059
https://github.com/Perl/perl5/commit/cf64e6b91e816325288a8ae443624d1e33064059
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/comp/case_match.t
M t/porting/test_bootstrap.t
Log Message:
-----------
Allow case matcher feature in compiler test
Commit: 2819691d68fd49ebcfb7991f8293376ea7ed7a02
https://github.com/Perl/perl5/commit/2819691d68fd49ebcfb7991f8293376ea7ed7a02
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Support regex case patterns
Commit: 909361ebf6f8c8f4723e57ee157a2722bcc46eb5
https://github.com/Perl/perl5/commit/909361ebf6f8c8f4723e57ee157a2722bcc46eb5
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Track regex pattern progress
Commit: 64a6054fdf9edd68927a514d46051e4971a742d6
https://github.com/Perl/perl5/commit/64a6054fdf9edd68927a514d46051e4971a742d6
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Specify case dispatch optimization freedom
Commit: d4d8fb93bd9254df1cf5eda55197dab9f6bd102b
https://github.com/Perl/perl5/commit/d4d8fb93bd9254df1cf5eda55197dab9f6bd102b
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Snapshot case subjects before matching
Commit: 18fbeb198886ebddb7b08a6794c635597da40607
https://github.com/Perl/perl5/commit/18fbeb198886ebddb7b08a6794c635597da40607
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M opcode.h
M regen/opcodes
Log Message:
-----------
Declare case matcher as unary opcode
Commit: 798fbc296d27950c4ff411db60761d58ed61a0eb
https://github.com/Perl/perl5/commit/798fbc296d27950c4ff411db60761d58ed61a0eb
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Match dynamic nested pattern leaves
Commit: 20350bd567b025a8e5ea358616d9a7e23d50eec7
https://github.com/Perl/perl5/commit/20350bd567b025a8e5ea358616d9a7e23d50eec7
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Record dynamic pattern leaf support
Commit: 0ae85e70528b870434e20fc76071f73f5dde05e2
https://github.com/Perl/perl5/commit/0ae85e70528b870434e20fc76071f73f5dde05e2
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
A planning/IDEAS.md
Log Message:
-----------
Add split-eval planning idea
Commit: d5ceddd9a260b02d703680a7fa04332be7213200
https://github.com/Perl/perl5/commit/d5ceddd9a260b02d703680a7fa04332be7213200
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/op/coreamp.t
M t/op/coresubs.t
Log Message:
-----------
Exclude case syntax from core sub tests
Commit: 219414c9392ac618e731da49ebcc2ef481b77661
https://github.com/Perl/perl5/commit/219414c9392ac618e731da49ebcc2ef481b77661
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M gv.c
M t/op/coresubs.t
Log Message:
-----------
Keep case syntax out of core sub dispatch
Commit: ca2b46fa9677b1196eb318afb0cfcef7387e8f10
https://github.com/Perl/perl5/commit/ca2b46fa9677b1196eb318afb0cfcef7387e8f10
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M lib/B/Deparse-core.t
Log Message:
-----------
Account for case keywords in Deparse coverage
Commit: 4b673b3dce605886f8f24ee9f2f103d0e541cced
https://github.com/Perl/perl5/commit/4b673b3dce605886f8f24ee9f2f103d0e541cced
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Specify case result and arm semantics
Commit: 0432d9769d539da8b18212fd6efbb2474c14f41f
https://github.com/Perl/perl5/commit/0432d9769d539da8b18212fd6efbb2474c14f41f
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Allow ordinary Perl expressions as guards
Commit: 7d2c516a62e8bf6fe5a37d32d8a1a72b5b4456e3
https://github.com/Perl/perl5/commit/7d2c516a62e8bf6fe5a37d32d8a1a72b5b4456e3
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Specify unrestricted pattern guards
Commit: 942eb7c272d7122b6256b9d9f873e605312b28d2
https://github.com/Perl/perl5/commit/942eb7c272d7122b6256b9d9f873e605312b28d2
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/comp/case_match.t
Log Message:
-----------
Test case result and default-arm semantics
Commit: 5a664d6f0eeac8f8b7645ce72bb61aef3a09fa25
https://github.com/Perl/perl5/commit/5a664d6f0eeac8f8b7645ce72bb61aef3a09fa25
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M t/comp/case_match.t
Log Message:
-----------
Add named case subject binding
Commit: aa73d2459f489f72c9a2b180cc31e14244879e9f
https://github.com/Perl/perl5/commit/aa73d2459f489f72c9a2b180cc31e14244879e9f
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Record named case subject support
Commit: eb53660a2d117089639e817ecfff902375b1de3d
https://github.com/Perl/perl5/commit/eb53660a2d117089639e817ecfff902375b1de3d
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M cop.h
M inline.h
M pp_ctl.c
M sv.c
Log Message:
-----------
Defer case capture commit until arm entry
Commit: 1f3772a895f9ac9b4ff71b17f5d0eeb8f1a72151
https://github.com/Perl/perl5/commit/1f3772a895f9ac9b4ff71b17f5d0eeb8f1a72151
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M cop.h
M pp_ctl.c
Log Message:
-----------
Prepare case bindings for guard rollback
Commit: 271ad2572e7a03a523af36684a576bc837aa0d68
https://github.com/Perl/perl5/commit/271ad2572e7a03a523af36684a576bc837aa0d68
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Specify typed case subject coercion
Commit: c6316f7490296ef4e5dbe1e107e9eedac5f9bae8
https://github.com/Perl/perl5/commit/c6316f7490296ef4e5dbe1e107e9eedac5f9bae8
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Keep case literal types distinct
Commit: d32bd052e15f2edfcdb1c92befc7f08922205332
https://github.com/Perl/perl5/commit/d32bd052e15f2edfcdb1c92befc7f08922205332
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Record strict case literal matching
Commit: bdc7bce36f45b761a5a299be3b72fe8f6aec64a9
https://github.com/Perl/perl5/commit/bdc7bce36f45b761a5a299be3b72fe8f6aec64a9
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Add conflict-free case guards
Commit: f410003b3f772c1268de167ba28d0f1ffd785afd
https://github.com/Perl/perl5/commit/f410003b3f772c1268de167ba28d0f1ffd785afd
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M inline.h
M t/comp/case_match.t
Log Message:
-----------
Restore captures after guard exceptions
Commit: 24f054d3d0482e7616106fa1b808d344cf60883a
https://github.com/Perl/perl5/commit/24f054d3d0482e7616106fa1b808d344cf60883a
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M cop.h
M embed.h
M inline.h
M keywords.c
M keywords.h
M opcode.h
M opnames.h
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M pp_ctl.c
M pp_proto.h
M regen/keywords.pl
M regen/opcodes
M sv.c
M t/comp/case_match.t
M toke.c
Log Message:
-----------
Add initial case with pinning
Commit: e3a606c3b922bc3e3169cdacccf6e2821c444e96
https://github.com/Perl/perl5/commit/e3a606c3b922bc3e3169cdacccf6e2821c444e96
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M pod/perlsyn.pod
Log Message:
-----------
Document experimental pattern matching
Commit: 56a14f836afa2a296ee5c611ddd20a1262a83d73
https://github.com/Perl/perl5/commit/56a14f836afa2a296ee5c611ddd20a1262a83d73
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Refresh pattern matching implementation status
Commit: 4e2143d0ee4947323ffde7563394f235f8203473
https://github.com/Perl/perl5/commit/4e2143d0ee4947323ffde7563394f235f8203473
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
Apply read magic when pinning case values
Commit: 5cfc2f2becfce652a959bedd27eba3491c8d8bc4
https://github.com/Perl/perl5/commit/5cfc2f2becfce652a959bedd27eba3491c8d8bc4
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Record remaining case grammar limitation
Commit: c0de1114071532e712d92695c7c28f4d728fcb1e
https://github.com/Perl/perl5/commit/c0de1114071532e712d92695c7c28f4d728fcb1e
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/op/coresubs.t
Log Message:
-----------
Keep case with out of CORE sub tests
Commit: 00cdf3aa9508f85ff7340307a3aa7bcc08a05522
https://github.com/Perl/perl5/commit/00cdf3aa9508f85ff7340307a3aa7bcc08a05522
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/op/coresubs.t
Log Message:
-----------
Skip case keywords in core sub tests
Commit: 000624f82c47b40e4ba2a9100523478200b0358a
https://github.com/Perl/perl5/commit/000624f82c47b40e4ba2a9100523478200b0358a
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/op/coreamp.t
Log Message:
-----------
Keep case with out of CORE amp tests
Commit: b309c868843b51a7771d2bd5bae169526af24796
https://github.com/Perl/perl5/commit/b309c868843b51a7771d2bd5bae169526af24796
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M lib/B/Deparse-core.t
Log Message:
-----------
Account for case matching with keyword in deparser tests
Commit: 9f60e5735f662430e492fc8a7c545207398cf4ef
https://github.com/Perl/perl5/commit/9f60e5735f662430e492fc8a7c545207398cf4ef
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M ext/Opcode/Opcode.pm
M pod/perldiag.pod
M t/porting/test_bootstrap.t
Log Message:
-----------
Complete porting metadata for case matching
Commit: 8e4d6d05994b54be1f8c7fd2ef7aaa1cf03138f9
https://github.com/Perl/perl5/commit/8e4d6d05994b54be1f8c7fd2ef7aaa1cf03138f9
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M t/comp/case_match.t
Log Message:
-----------
Restrict case bodies to match arms
Commit: 2a5e78fce2cb880d7622ea3d85561cf156bcd826
https://github.com/Perl/perl5/commit/2a5e78fce2cb880d7622ea3d85561cf156bcd826
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M t/comp/case_match.t
Log Message:
-----------
Test nested case arm boundaries
Commit: 4d0055eb6136d5ba6508f9fc20c8406a809c9f1a
https://github.com/Perl/perl5/commit/4d0055eb6136d5ba6508f9fc20c8406a809c9f1a
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Match undef as a scalar pattern
Commit: cc800931f574b0308e2620c531dea460b1c87dca
https://github.com/Perl/perl5/commit/cc800931f574b0308e2620c531dea460b1c87dca
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M keywords.c
M keywords.h
M perly.act
M perly.h
M perly.tab
M perly.y
M regen/keywords.pl
M t/comp/case_match.t
M toke.c
Log Message:
-----------
Add typed case subjects
Commit: c21747b777d65a1e44304e65348f5f4da1b3666a
https://github.com/Perl/perl5/commit/c21747b777d65a1e44304e65348f5f4da1b3666a
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M lib/B/Op_private.pm
M opcode.h
M opnames.h
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M pod/perlsyn.pod
M pp_ctl.c
M pp_proto.h
M regen/opcodes
M t/comp/case_match.t
Log Message:
-----------
Preserve values in typed case subjects
Commit: 5062e343c99d9df627a4c1c449d5cd08a74d3785
https://github.com/Perl/perl5/commit/5062e343c99d9df627a4c1c449d5cd08a74d3785
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M t/comp/case_match.t
Log Message:
-----------
Test typed case subject expressions
Commit: 77b0a2f92fb05d3f19ad7c7b551fdd1c93f5e023
https://github.com/Perl/perl5/commit/77b0a2f92fb05d3f19ad7c7b551fdd1c93f5e023
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M lib/B/Deparse-core.t
Log Message:
-----------
Account for typed case keywords in deparse tests
Commit: 4fbc7acad4fbcf6d74bfeb18be4d5074b9198f80
https://github.com/Perl/perl5/commit/4fbc7acad4fbcf6d74bfeb18be4d5074b9198f80
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pod/perldiag.pod
Log Message:
-----------
Document case matching diagnostics
Commit: 82bd52e1c01559fc22e6c0e79e1cbffeac33fad5
https://github.com/Perl/perl5/commit/82bd52e1c01559fc22e6c0e79e1cbffeac33fad5
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M AGENTS.md
M CLAUDE.md
M pod/perlnamespace.pod
Log Message:
-----------
Rewrite lexical namespace documentation
Commit: dcf5977902ea3eb4c376cd90f2ea81e2d0583627
https://github.com/Perl/perl5/commit/dcf5977902ea3eb4c376cd90f2ea81e2d0583627
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M embed.h
M ext/Opcode/Opcode.pm
Log Message:
-----------
Register case coercion with opcode filters
Commit: 78c9d83b3c61da62c8345bf6596d292c4c7517c6
https://github.com/Perl/perl5/commit/78c9d83b3c61da62c8345bf6596d292c4c7517c6
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
R .agent/skills/perl-configure-build-system/SKILL.md
R
.agent/skills/perl-configure-build-system/references/configure-build-system.md
R .agent/skills/perl-core-archaeology/SKILL.md
R .agent/skills/perl-core-archaeology/references/core-archaeology.md
R .agent/skills/perl-core-build-test-debug/SKILL.md
R .agent/skills/perl-core-build-test-debug/references/testing-debugging.md
R .agent/skills/perl-core-docs-release/SKILL.md
R .agent/skills/perl-core-docs-release/references/docs-release.md
R .agent/skills/perl-core-hacking/SKILL.md
R .agent/skills/perl-core-hacking/references/core-change-workflow.md
R .agent/skills/perl-core-orientation/SKILL.md
R .agent/skills/perl-core-orientation/references/source-map.md
R .agent/skills/perl-core-portability/SKILL.md
R .agent/skills/perl-core-portability/references/core-portability.md
R .agent/skills/perl-embed-fnc/SKILL.md
R .agent/skills/perl-embed-fnc/references/embed-fnc-guide.md
R .agent/skills/perl-generated-files/SKILL.md
R .agent/skills/perl-generated-files/references/generated-files.md
R .agent/skills/perl-language-library/SKILL.md
R .agent/skills/perl-language-library/references/language-library.md
R .agent/skills/perl-parser-optree-ops/SKILL.md
R .agent/skills/perl-parser-optree-ops/references/parser-optree-ops.md
R .agent/skills/perl-regex-engine/SKILL.md
R .agent/skills/perl-regex-engine/references/regex-engine-map.md
R .agent/skills/perl-sv-magic-memory/SKILL.md
R .agent/skills/perl-sv-magic-memory/references/sv-magic-memory.md
R .agent/skills/perl-xs-embedding/SKILL.md
R .agent/skills/perl-xs-embedding/references/xs-embedding.md
A .agents/skills/perl-configure-build-system/SKILL.md
A
.agents/skills/perl-configure-build-system/references/configure-build-system.md
A .agents/skills/perl-core-archaeology/SKILL.md
A .agents/skills/perl-core-archaeology/references/core-archaeology.md
A .agents/skills/perl-core-build-test-debug/SKILL.md
A .agents/skills/perl-core-build-test-debug/references/testing-debugging.md
A .agents/skills/perl-core-docs-release/SKILL.md
A .agents/skills/perl-core-docs-release/references/docs-release.md
A .agents/skills/perl-core-hacking/SKILL.md
A .agents/skills/perl-core-hacking/references/core-change-workflow.md
A .agents/skills/perl-core-orientation/SKILL.md
A .agents/skills/perl-core-orientation/references/source-map.md
A .agents/skills/perl-core-portability/SKILL.md
A .agents/skills/perl-core-portability/references/core-portability.md
A .agents/skills/perl-embed-fnc/SKILL.md
A .agents/skills/perl-embed-fnc/references/embed-fnc-guide.md
A .agents/skills/perl-generated-files/SKILL.md
A .agents/skills/perl-generated-files/references/generated-files.md
A .agents/skills/perl-language-library/SKILL.md
A .agents/skills/perl-language-library/references/language-library.md
A .agents/skills/perl-parser-optree-ops/SKILL.md
A .agents/skills/perl-parser-optree-ops/references/parser-optree-ops.md
A .agents/skills/perl-regex-engine/SKILL.md
A .agents/skills/perl-regex-engine/references/regex-engine-map.md
A .agents/skills/perl-sv-magic-memory/SKILL.md
A .agents/skills/perl-sv-magic-memory/references/sv-magic-memory.md
A .agents/skills/perl-xs-embedding/SKILL.md
A .agents/skills/perl-xs-embedding/references/xs-embedding.md
M pod/perldelta.pod
Log Message:
-----------
Document experimental pattern matching
Commit: 9c25f1d8960c91bfc4723e20c9ff1373c87cca0a
https://github.com/Perl/perl5/commit/9c25f1d8960c91bfc4723e20c9ff1373c87cca0a
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M planning/IDEAS.md
Log Message:
-----------
Plan block-scoped namespace declarations
Commit: 0fbe23d2fe84f2b62411e23d41e0e85ec86be8b0
https://github.com/Perl/perl5/commit/0fbe23d2fe84f2b62411e23d41e0e85ec86be8b0
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pod/perlnamespace.pod
Log Message:
-----------
Document pending block namespace syntax
Commit: b785afcaf01c3286bb3bb7ab68da51b7edff5c4a
https://github.com/Perl/perl5/commit/b785afcaf01c3286bb3bb7ab68da51b7edff5c4a
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M t/op/coreamp.t
M t/op/coresubs.t
Log Message:
-----------
Skip parser-only tokens in CORE sub tests
Commit: 1c543a197ff7f2e6f8153e7327d654bf56e0b9ed
https://github.com/Perl/perl5/commit/1c543a197ff7f2e6f8153e7327d654bf56e0b9ed
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M pod/perlsyn.pod
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
Add expression pins to case matching
Commit: 16347ae2206693317d3e75fec44ed2e29e8cadc2
https://github.com/Perl/perl5/commit/16347ae2206693317d3e75fec44ed2e29e8cadc2
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M embed.fnc
M embed.h
M op.c
M op.h
M opcode.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M proto.h
M regen/opcodes
Log Message:
-----------
Add compiled representation for case patterns
Commit: 65af9ba3bb2420a9a3c90ece3c82e66c95666d97
https://github.com/Perl/perl5/commit/65af9ba3bb2420a9a3c90ece3c82e66c95666d97
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
Dispatch case matching through compiled pattern roots
Commit: d99e2fbb26f3ceb4b597b9a90191f49f4912f403
https://github.com/Perl/perl5/commit/d99e2fbb26f3ceb4b597b9a90191f49f4912f403
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M embed.fnc
M pp_ctl.c
Log Message:
-----------
Match composite case patterns through compiled nodes
Commit: 3cee3dfbf70da62bfc821fb93dd67a8ecf1378ff
https://github.com/Perl/perl5/commit/3cee3dfbf70da62bfc821fb93dd67a8ecf1378ff
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
Validate case pattern ellipsis placement
Commit: 88689142a87cf74fefb2e4389228add17f8a324b
https://github.com/Perl/perl5/commit/88689142a87cf74fefb2e4389228add17f8a324b
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pod/perldiag.pod
Log Message:
-----------
Diagnose invalid case pattern ellipses
Commit: 890a45fb1a19fa30f2b8d4d377b34d02d25acb87
https://github.com/Perl/perl5/commit/890a45fb1a19fa30f2b8d4d377b34d02d25acb87
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Document case pattern representation diagnostics
Commit: 5d993ec650d32e8dd5561465be1e7b42d67dc9e8
https://github.com/Perl/perl5/commit/5d993ec650d32e8dd5561465be1e7b42d67dc9e8
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Record the initial case pattern scope
Commit: 91c408788188a50b5682af2b79c1e5ec4fb0ca0b
https://github.com/Perl/perl5/commit/91c408788188a50b5682af2b79c1e5ec4fb0ca0b
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Clarify deferred pattern diagnostics
Commit: 367494c09aba0c8e1d382b6320ba3997b60e4a9f
https://github.com/Perl/perl5/commit/367494c09aba0c8e1d382b6320ba3997b60e4a9f
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M MANIFEST
M pod/perl.pod
A pod/perlcasewhen.pod
Log Message:
-----------
Document experimental case matching
Commit: 902ce0e69518d24f6541bbb17bf217975a38514a
https://github.com/Perl/perl5/commit/902ce0e69518d24f6541bbb17bf217975a38514a
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
Log Message:
-----------
Refresh AI Perl blead delta
Compare: https://github.com/Perl/perl5/compare/0cc8240c8fd3%5E...902ce0e69518
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications