Help language development. Donate to The Perl Foundation

ValuePair zef:lizmat last updated on 2022-12-10


Actions Status


ValuePair - Provide an immutable Pair value type


use ValuePair;

my $a ="a",42);
my $b = key => "a", value => 42);
my $c = (a => 42) );

set($a, $b, $c);  # elems == 1


The functionality provided by this module, will most likely be provided in language level 6.e and higher. If an implementation of ValuePair is already available, loading this module becomes a no-op.

Raku provides a semi-immutable Pair datatype, where the value of a Pair object can be a container, and thus mutable. Therefore, a standard Pair is not a value type. The ValuePair class provided by this module, is a subclass of Pair, and does not allow a mutable value. And thus it can be a value type.

The .new method either accepts two positional arguments (key and value), or key and value named arguments, or an existing Pair.


Elizabeth Mattijsen [email protected]

Source can be located at: . Comments and Pull Requests are welcome.

If you like this module, or what I’m doing more generally, committing to a small sponsorship would mean a great deal to me!


Copyright 2022 Elizabeth Mattijsen

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.