File Coverage

blib/lib/Hydrogen/Curry/ArrayRef.pm
Criterion Covered Total %
statement 268 330 81.2
branch 124 248 50.0
condition n/a
subroutine 69 131 52.6
pod 62 62 100.0
total 523 771 67.8


line stmt bran cond sub pod time code
1             # This file was autogenerated.
2 3     3   150924 use 5.008001;
  3         10  
3 3     3   17 use strict;
  3         5  
  3         91  
4 3     3   14 use warnings;
  3         3  
  3         199  
5 3     3   25 no warnings qw( void once );
  3         5  
  3         142  
6 3     3   351 use Hydrogen ();
  3         5  
  3         61  
7 3     3   601 use Hydrogen::ArrayRef ();
  3         7  
  3         413  
8              
9             package Hydrogen::Curry::ArrayRef;
10              
11             our $AUTHORITY = 'cpan:TOBYINK';
12             our $VERSION = '0.021001';
13              
14             =head1 NAME
15              
16             Hydrogen::Curry::ArrayRef - easily curry functions from Hydrogen::ArrayRef
17              
18             =head1 VERSION
19              
20             This documentation is for Hydrogen::Curry::ArrayRef 0.021001,
21             which is based on Sub::HandlesVia::HandlerLibrary::Array 0.050005.
22              
23             =cut
24              
25             =head1 FUNCTIONS
26              
27             Each function expects a reference to an array as its only argument and returns a coderef.
28              
29             =cut
30              
31 3         34 use Exporter::Shiny qw(
32             curry_accessor
33             curry_all
34             curry_all_true
35             curry_any
36             curry_apply
37             curry_clear
38             curry_count
39             curry_delete
40             curry_elements
41             curry_first
42             curry_first_index
43             curry_flatten
44             curry_flatten_deep
45             curry_for_each
46             curry_for_each_pair
47             curry_get
48             curry_grep
49             curry_head
50             curry_indexed
51             curry_insert
52             curry_is_empty
53             curry_join
54             curry_map
55             curry_max
56             curry_maxstr
57             curry_min
58             curry_minstr
59             curry_natatime
60             curry_not_all_true
61             curry_pairfirst
62             curry_pairgrep
63             curry_pairkeys
64             curry_pairmap
65             curry_pairs
66             curry_pairvalues
67             curry_pick_random
68             curry_pop
69             curry_print
70             curry_product
71             curry_push
72             curry_reduce
73             curry_reductions
74             curry_reset
75             curry_reverse
76             curry_sample
77             curry_set
78             curry_shallow_clone
79             curry_shift
80             curry_shuffle
81             curry_shuffle_in_place
82             curry_sort
83             curry_sort_in_place
84             curry_splice
85             curry_sum
86             curry_tail
87             curry_uniq
88             curry_uniq_in_place
89             curry_uniqnum
90             curry_uniqnum_in_place
91             curry_uniqstr
92             curry_uniqstr_in_place
93             curry_unshift
94 3     3   17 );
  3         10  
95              
96             =head2 C<< curry_accessor( $arrayref ) >>
97              
98             Curry the first argument of C<< Hydrogen::ArrayRef::accessor >>.
99              
100             =cut
101              
102             sub curry_accessor {
103 1 50   1 1 196596 @_ == 1
104             or Hydrogen::croak(
105             "Wrong number of parameters in signature for curry_accessor: got %d, %s",
106             scalar(@_), "expected exactly 1 parameter"
107             );
108 1 50       3 (ref($_[0]) eq 'ARRAY')
109             or Hydrogen::croak(
110             "Type check failed in signature for curry_accessor: %s should be %s",
111             "\\$_[0]", "ArrayRef"
112             );
113 1         2 my $ref = \$_[0];
114 1     0   5 return sub { Hydrogen::ArrayRef::accessor( $$ref, @_ ) };
  0         0  
115             }
116              
117             =head2 C<< curry_all( $arrayref ) >>
118              
119             Curry the first argument of C<< Hydrogen::ArrayRef::all >>.
120              
121             =cut
122              
123             sub curry_all {
124 1 50   1 1 2829 @_ == 1
125             or Hydrogen::croak(
126             "Wrong number of parameters in signature for curry_all: got %d, %s",
127             scalar(@_), "expected exactly 1 parameter"
128             );
129 1 50       4 (ref($_[0]) eq 'ARRAY')
130             or Hydrogen::croak(
131             "Type check failed in signature for curry_all: %s should be %s",
132             "\\$_[0]", "ArrayRef"
133             );
134 1         2 my $ref = \$_[0];
135 1     0   4 return sub { Hydrogen::ArrayRef::all( $$ref, @_ ) };
  0         0  
136             }
137              
138             =head2 C<< curry_all_true( $arrayref ) >>
139              
140             Curry the first argument of C<< Hydrogen::ArrayRef::all_true >>.
141              
142             =cut
143              
144             sub curry_all_true {
145 1 50   1 1 2221 @_ == 1
146             or Hydrogen::croak(
147             "Wrong number of parameters in signature for curry_all_true: got %d, %s",
148             scalar(@_), "expected exactly 1 parameter"
149             );
150 1 50       4 (ref($_[0]) eq 'ARRAY')
151             or Hydrogen::croak(
152             "Type check failed in signature for curry_all_true: %s should be %s",
153             "\\$_[0]", "ArrayRef"
154             );
155 1         2 my $ref = \$_[0];
156 1     0   4 return sub { Hydrogen::ArrayRef::all_true( $$ref, @_ ) };
  0         0  
157             }
158              
159             =head2 C<< curry_any( $arrayref ) >>
160              
161             Curry the first argument of C<< Hydrogen::ArrayRef::any >>.
162              
163             =cut
164              
165             sub curry_any {
166 1 50   1 1 2476 @_ == 1
167             or Hydrogen::croak(
168             "Wrong number of parameters in signature for curry_any: got %d, %s",
169             scalar(@_), "expected exactly 1 parameter"
170             );
171 1 50       4 (ref($_[0]) eq 'ARRAY')
172             or Hydrogen::croak(
173             "Type check failed in signature for curry_any: %s should be %s",
174             "\\$_[0]", "ArrayRef"
175             );
176 1         2 my $ref = \$_[0];
177 1     0   4 return sub { Hydrogen::ArrayRef::any( $$ref, @_ ) };
  0         0  
178             }
179              
180             =head2 C<< curry_apply( $arrayref ) >>
181              
182             Curry the first argument of C<< Hydrogen::ArrayRef::apply >>.
183              
184             =cut
185              
186             sub curry_apply {
187 1 50   1 1 2190 @_ == 1
188             or Hydrogen::croak(
189             "Wrong number of parameters in signature for curry_apply: got %d, %s",
190             scalar(@_), "expected exactly 1 parameter"
191             );
192 1 50       5 (ref($_[0]) eq 'ARRAY')
193             or Hydrogen::croak(
194             "Type check failed in signature for curry_apply: %s should be %s",
195             "\\$_[0]", "ArrayRef"
196             );
197 1         2 my $ref = \$_[0];
198 1     0   4 return sub { Hydrogen::ArrayRef::apply( $$ref, @_ ) };
  0         0  
199             }
200              
201             =head2 C<< curry_clear( $arrayref ) >>
202              
203             Curry the first argument of C<< Hydrogen::ArrayRef::clear >>.
204              
205             =cut
206              
207             sub curry_clear {
208 1 50   1 1 2247 @_ == 1
209             or Hydrogen::croak(
210             "Wrong number of parameters in signature for curry_clear: got %d, %s",
211             scalar(@_), "expected exactly 1 parameter"
212             );
213 1 50       4 (ref($_[0]) eq 'ARRAY')
214             or Hydrogen::croak(
215             "Type check failed in signature for curry_clear: %s should be %s",
216             "\\$_[0]", "ArrayRef"
217             );
218 1         2 my $ref = \$_[0];
219 1     0   4 return sub { Hydrogen::ArrayRef::clear( $$ref, @_ ) };
  0         0  
220             }
221              
222             =head2 C<< curry_count( $arrayref ) >>
223              
224             Curry the first argument of C<< Hydrogen::ArrayRef::count >>.
225              
226             =cut
227              
228             sub curry_count {
229 1 50   1 1 2304 @_ == 1
230             or Hydrogen::croak(
231             "Wrong number of parameters in signature for curry_count: got %d, %s",
232             scalar(@_), "expected exactly 1 parameter"
233             );
234 1 50       4 (ref($_[0]) eq 'ARRAY')
235             or Hydrogen::croak(
236             "Type check failed in signature for curry_count: %s should be %s",
237             "\\$_[0]", "ArrayRef"
238             );
239 1         2 my $ref = \$_[0];
240 1     0   4 return sub { Hydrogen::ArrayRef::count( $$ref, @_ ) };
  0         0  
241             }
242              
243             =head2 C<< curry_delete( $arrayref ) >>
244              
245             Curry the first argument of C<< Hydrogen::ArrayRef::delete >>.
246              
247             =cut
248              
249             sub curry_delete {
250 1 50   1 1 2267 @_ == 1
251             or Hydrogen::croak(
252             "Wrong number of parameters in signature for curry_delete: got %d, %s",
253             scalar(@_), "expected exactly 1 parameter"
254             );
255 1 50       4 (ref($_[0]) eq 'ARRAY')
256             or Hydrogen::croak(
257             "Type check failed in signature for curry_delete: %s should be %s",
258             "\\$_[0]", "ArrayRef"
259             );
260 1         2 my $ref = \$_[0];
261 1     0   4 return sub { Hydrogen::ArrayRef::delete( $$ref, @_ ) };
  0         0  
262             }
263              
264             =head2 C<< curry_elements( $arrayref ) >>
265              
266             Curry the first argument of C<< Hydrogen::ArrayRef::elements >>.
267              
268             =cut
269              
270             sub curry_elements {
271 1 50   1 1 2168 @_ == 1
272             or Hydrogen::croak(
273             "Wrong number of parameters in signature for curry_elements: got %d, %s",
274             scalar(@_), "expected exactly 1 parameter"
275             );
276 1 50       6 (ref($_[0]) eq 'ARRAY')
277             or Hydrogen::croak(
278             "Type check failed in signature for curry_elements: %s should be %s",
279             "\\$_[0]", "ArrayRef"
280             );
281 1         2 my $ref = \$_[0];
282 1     0   6 return sub { Hydrogen::ArrayRef::elements( $$ref, @_ ) };
  0         0  
283             }
284              
285             =head2 C<< curry_first( $arrayref ) >>
286              
287             Curry the first argument of C<< Hydrogen::ArrayRef::first >>.
288              
289             =cut
290              
291             sub curry_first {
292 1 50   1 1 2313 @_ == 1
293             or Hydrogen::croak(
294             "Wrong number of parameters in signature for curry_first: got %d, %s",
295             scalar(@_), "expected exactly 1 parameter"
296             );
297 1 50       4 (ref($_[0]) eq 'ARRAY')
298             or Hydrogen::croak(
299             "Type check failed in signature for curry_first: %s should be %s",
300             "\\$_[0]", "ArrayRef"
301             );
302 1         2 my $ref = \$_[0];
303 1     0   3 return sub { Hydrogen::ArrayRef::first( $$ref, @_ ) };
  0         0  
304             }
305              
306             =head2 C<< curry_first_index( $arrayref ) >>
307              
308             Curry the first argument of C<< Hydrogen::ArrayRef::first_index >>.
309              
310             =cut
311              
312             sub curry_first_index {
313 1 50   1 1 2473 @_ == 1
314             or Hydrogen::croak(
315             "Wrong number of parameters in signature for curry_first_index: got %d, %s",
316             scalar(@_), "expected exactly 1 parameter"
317             );
318 1 50       8 (ref($_[0]) eq 'ARRAY')
319             or Hydrogen::croak(
320             "Type check failed in signature for curry_first_index: %s should be %s",
321             "\\$_[0]", "ArrayRef"
322             );
323 1         3 my $ref = \$_[0];
324 1     0   5 return sub { Hydrogen::ArrayRef::first_index( $$ref, @_ ) };
  0         0  
325             }
326              
327             =head2 C<< curry_flatten( $arrayref ) >>
328              
329             Curry the first argument of C<< Hydrogen::ArrayRef::flatten >>.
330              
331             =cut
332              
333             sub curry_flatten {
334 1 50   1 1 3900 @_ == 1
335             or Hydrogen::croak(
336             "Wrong number of parameters in signature for curry_flatten: got %d, %s",
337             scalar(@_), "expected exactly 1 parameter"
338             );
339 1 50       7 (ref($_[0]) eq 'ARRAY')
340             or Hydrogen::croak(
341             "Type check failed in signature for curry_flatten: %s should be %s",
342             "\\$_[0]", "ArrayRef"
343             );
344 1         2 my $ref = \$_[0];
345 1     0   9 return sub { Hydrogen::ArrayRef::flatten( $$ref, @_ ) };
  0         0  
346             }
347              
348             =head2 C<< curry_flatten_deep( $arrayref ) >>
349              
350             Curry the first argument of C<< Hydrogen::ArrayRef::flatten_deep >>.
351              
352             =cut
353              
354             sub curry_flatten_deep {
355 1 50   1 1 2328 @_ == 1
356             or Hydrogen::croak(
357             "Wrong number of parameters in signature for curry_flatten_deep: got %d, %s",
358             scalar(@_), "expected exactly 1 parameter"
359             );
360 1 50       4 (ref($_[0]) eq 'ARRAY')
361             or Hydrogen::croak(
362             "Type check failed in signature for curry_flatten_deep: %s should be %s",
363             "\\$_[0]", "ArrayRef"
364             );
365 1         2 my $ref = \$_[0];
366 1     0   3 return sub { Hydrogen::ArrayRef::flatten_deep( $$ref, @_ ) };
  0         0  
367             }
368              
369             =head2 C<< curry_for_each( $arrayref ) >>
370              
371             Curry the first argument of C<< Hydrogen::ArrayRef::for_each >>.
372              
373             =cut
374              
375             sub curry_for_each {
376 1 50   1 1 2035 @_ == 1
377             or Hydrogen::croak(
378             "Wrong number of parameters in signature for curry_for_each: got %d, %s",
379             scalar(@_), "expected exactly 1 parameter"
380             );
381 1 50       4 (ref($_[0]) eq 'ARRAY')
382             or Hydrogen::croak(
383             "Type check failed in signature for curry_for_each: %s should be %s",
384             "\\$_[0]", "ArrayRef"
385             );
386 1         2 my $ref = \$_[0];
387 1     0   3 return sub { Hydrogen::ArrayRef::for_each( $$ref, @_ ) };
  0         0  
388             }
389              
390             =head2 C<< curry_for_each_pair( $arrayref ) >>
391              
392             Curry the first argument of C<< Hydrogen::ArrayRef::for_each_pair >>.
393              
394             =cut
395              
396             sub curry_for_each_pair {
397 1 50   1 1 2194 @_ == 1
398             or Hydrogen::croak(
399             "Wrong number of parameters in signature for curry_for_each_pair: got %d, %s",
400             scalar(@_), "expected exactly 1 parameter"
401             );
402 1 50       3 (ref($_[0]) eq 'ARRAY')
403             or Hydrogen::croak(
404             "Type check failed in signature for curry_for_each_pair: %s should be %s",
405             "\\$_[0]", "ArrayRef"
406             );
407 1         2 my $ref = \$_[0];
408 1     0   4 return sub { Hydrogen::ArrayRef::for_each_pair( $$ref, @_ ) };
  0         0  
409             }
410              
411             =head2 C<< curry_get( $arrayref ) >>
412              
413             Curry the first argument of C<< Hydrogen::ArrayRef::get >>.
414              
415             =cut
416              
417             sub curry_get {
418 1 50   1 1 2100 @_ == 1
419             or Hydrogen::croak(
420             "Wrong number of parameters in signature for curry_get: got %d, %s",
421             scalar(@_), "expected exactly 1 parameter"
422             );
423 1 50       19 (ref($_[0]) eq 'ARRAY')
424             or Hydrogen::croak(
425             "Type check failed in signature for curry_get: %s should be %s",
426             "\\$_[0]", "ArrayRef"
427             );
428 1         3 my $ref = \$_[0];
429 1     0   6 return sub { Hydrogen::ArrayRef::get( $$ref, @_ ) };
  0         0  
430             }
431              
432             =head2 C<< curry_grep( $arrayref ) >>
433              
434             Curry the first argument of C<< Hydrogen::ArrayRef::grep >>.
435              
436             =cut
437              
438             sub curry_grep {
439 1 50   1 1 2213 @_ == 1
440             or Hydrogen::croak(
441             "Wrong number of parameters in signature for curry_grep: got %d, %s",
442             scalar(@_), "expected exactly 1 parameter"
443             );
444 1 50       4 (ref($_[0]) eq 'ARRAY')
445             or Hydrogen::croak(
446             "Type check failed in signature for curry_grep: %s should be %s",
447             "\\$_[0]", "ArrayRef"
448             );
449 1         2 my $ref = \$_[0];
450 1     0   4 return sub { Hydrogen::ArrayRef::grep( $$ref, @_ ) };
  0         0  
451             }
452              
453             =head2 C<< curry_head( $arrayref ) >>
454              
455             Curry the first argument of C<< Hydrogen::ArrayRef::head >>.
456              
457             =cut
458              
459             sub curry_head {
460 1 50   1 1 2129 @_ == 1
461             or Hydrogen::croak(
462             "Wrong number of parameters in signature for curry_head: got %d, %s",
463             scalar(@_), "expected exactly 1 parameter"
464             );
465 1 50       4 (ref($_[0]) eq 'ARRAY')
466             or Hydrogen::croak(
467             "Type check failed in signature for curry_head: %s should be %s",
468             "\\$_[0]", "ArrayRef"
469             );
470 1         2 my $ref = \$_[0];
471 1     0   4 return sub { Hydrogen::ArrayRef::head( $$ref, @_ ) };
  0         0  
472             }
473              
474             =head2 C<< curry_indexed( $arrayref ) >>
475              
476             Curry the first argument of C<< Hydrogen::ArrayRef::indexed >>.
477              
478             =cut
479              
480             sub curry_indexed {
481 1 50   1 1 2106 @_ == 1
482             or Hydrogen::croak(
483             "Wrong number of parameters in signature for curry_indexed: got %d, %s",
484             scalar(@_), "expected exactly 1 parameter"
485             );
486 1 50       3 (ref($_[0]) eq 'ARRAY')
487             or Hydrogen::croak(
488             "Type check failed in signature for curry_indexed: %s should be %s",
489             "\\$_[0]", "ArrayRef"
490             );
491 1         2 my $ref = \$_[0];
492 1     0   3 return sub { Hydrogen::ArrayRef::indexed( $$ref, @_ ) };
  0         0  
493             }
494              
495             =head2 C<< curry_insert( $arrayref ) >>
496              
497             Curry the first argument of C<< Hydrogen::ArrayRef::insert >>.
498              
499             =cut
500              
501             sub curry_insert {
502 1 50   1 1 2140 @_ == 1
503             or Hydrogen::croak(
504             "Wrong number of parameters in signature for curry_insert: got %d, %s",
505             scalar(@_), "expected exactly 1 parameter"
506             );
507 1 50       3 (ref($_[0]) eq 'ARRAY')
508             or Hydrogen::croak(
509             "Type check failed in signature for curry_insert: %s should be %s",
510             "\\$_[0]", "ArrayRef"
511             );
512 1         2 my $ref = \$_[0];
513 1     0   4 return sub { Hydrogen::ArrayRef::insert( $$ref, @_ ) };
  0         0  
514             }
515              
516             =head2 C<< curry_is_empty( $arrayref ) >>
517              
518             Curry the first argument of C<< Hydrogen::ArrayRef::is_empty >>.
519              
520             =cut
521              
522             sub curry_is_empty {
523 1 50   1 1 2192 @_ == 1
524             or Hydrogen::croak(
525             "Wrong number of parameters in signature for curry_is_empty: got %d, %s",
526             scalar(@_), "expected exactly 1 parameter"
527             );
528 1 50       6 (ref($_[0]) eq 'ARRAY')
529             or Hydrogen::croak(
530             "Type check failed in signature for curry_is_empty: %s should be %s",
531             "\\$_[0]", "ArrayRef"
532             );
533 1         2 my $ref = \$_[0];
534 1     0   4 return sub { Hydrogen::ArrayRef::is_empty( $$ref, @_ ) };
  0         0  
535             }
536              
537             =head2 C<< curry_join( $arrayref ) >>
538              
539             Curry the first argument of C<< Hydrogen::ArrayRef::join >>.
540              
541             =cut
542              
543             sub curry_join {
544 1 50   1 1 2019 @_ == 1
545             or Hydrogen::croak(
546             "Wrong number of parameters in signature for curry_join: got %d, %s",
547             scalar(@_), "expected exactly 1 parameter"
548             );
549 1 50       4 (ref($_[0]) eq 'ARRAY')
550             or Hydrogen::croak(
551             "Type check failed in signature for curry_join: %s should be %s",
552             "\\$_[0]", "ArrayRef"
553             );
554 1         1 my $ref = \$_[0];
555 1     0   3 return sub { Hydrogen::ArrayRef::join( $$ref, @_ ) };
  0         0  
556             }
557              
558             =head2 C<< curry_map( $arrayref ) >>
559              
560             Curry the first argument of C<< Hydrogen::ArrayRef::map >>.
561              
562             =cut
563              
564             sub curry_map {
565 1 50   1 1 2081 @_ == 1
566             or Hydrogen::croak(
567             "Wrong number of parameters in signature for curry_map: got %d, %s",
568             scalar(@_), "expected exactly 1 parameter"
569             );
570 1 50       3 (ref($_[0]) eq 'ARRAY')
571             or Hydrogen::croak(
572             "Type check failed in signature for curry_map: %s should be %s",
573             "\\$_[0]", "ArrayRef"
574             );
575 1         2 my $ref = \$_[0];
576 1     0   3 return sub { Hydrogen::ArrayRef::map( $$ref, @_ ) };
  0         0  
577             }
578              
579             =head2 C<< curry_max( $arrayref ) >>
580              
581             Curry the first argument of C<< Hydrogen::ArrayRef::max >>.
582              
583             =cut
584              
585             sub curry_max {
586 1 50   1 1 2018 @_ == 1
587             or Hydrogen::croak(
588             "Wrong number of parameters in signature for curry_max: got %d, %s",
589             scalar(@_), "expected exactly 1 parameter"
590             );
591 1 50       4 (ref($_[0]) eq 'ARRAY')
592             or Hydrogen::croak(
593             "Type check failed in signature for curry_max: %s should be %s",
594             "\\$_[0]", "ArrayRef"
595             );
596 1         1 my $ref = \$_[0];
597 1     0   3 return sub { Hydrogen::ArrayRef::max( $$ref, @_ ) };
  0         0  
598             }
599              
600             =head2 C<< curry_maxstr( $arrayref ) >>
601              
602             Curry the first argument of C<< Hydrogen::ArrayRef::maxstr >>.
603              
604             =cut
605              
606             sub curry_maxstr {
607 1 50   1 1 2104 @_ == 1
608             or Hydrogen::croak(
609             "Wrong number of parameters in signature for curry_maxstr: got %d, %s",
610             scalar(@_), "expected exactly 1 parameter"
611             );
612 1 50       4 (ref($_[0]) eq 'ARRAY')
613             or Hydrogen::croak(
614             "Type check failed in signature for curry_maxstr: %s should be %s",
615             "\\$_[0]", "ArrayRef"
616             );
617 1         1 my $ref = \$_[0];
618 1     0   4 return sub { Hydrogen::ArrayRef::maxstr( $$ref, @_ ) };
  0         0  
619             }
620              
621             =head2 C<< curry_min( $arrayref ) >>
622              
623             Curry the first argument of C<< Hydrogen::ArrayRef::min >>.
624              
625             =cut
626              
627             sub curry_min {
628 1 50   1 1 2094 @_ == 1
629             or Hydrogen::croak(
630             "Wrong number of parameters in signature for curry_min: got %d, %s",
631             scalar(@_), "expected exactly 1 parameter"
632             );
633 1 50       3 (ref($_[0]) eq 'ARRAY')
634             or Hydrogen::croak(
635             "Type check failed in signature for curry_min: %s should be %s",
636             "\\$_[0]", "ArrayRef"
637             );
638 1         2 my $ref = \$_[0];
639 1     0   3 return sub { Hydrogen::ArrayRef::min( $$ref, @_ ) };
  0         0  
640             }
641              
642             =head2 C<< curry_minstr( $arrayref ) >>
643              
644             Curry the first argument of C<< Hydrogen::ArrayRef::minstr >>.
645              
646             =cut
647              
648             sub curry_minstr {
649 1 50   1 1 2091 @_ == 1
650             or Hydrogen::croak(
651             "Wrong number of parameters in signature for curry_minstr: got %d, %s",
652             scalar(@_), "expected exactly 1 parameter"
653             );
654 1 50       4 (ref($_[0]) eq 'ARRAY')
655             or Hydrogen::croak(
656             "Type check failed in signature for curry_minstr: %s should be %s",
657             "\\$_[0]", "ArrayRef"
658             );
659 1         1 my $ref = \$_[0];
660 1     0   4 return sub { Hydrogen::ArrayRef::minstr( $$ref, @_ ) };
  0         0  
661             }
662              
663             =head2 C<< curry_natatime( $arrayref ) >>
664              
665             Curry the first argument of C<< Hydrogen::ArrayRef::natatime >>.
666              
667             =cut
668              
669             sub curry_natatime {
670 1 50   1 1 2062 @_ == 1
671             or Hydrogen::croak(
672             "Wrong number of parameters in signature for curry_natatime: got %d, %s",
673             scalar(@_), "expected exactly 1 parameter"
674             );
675 1 50       4 (ref($_[0]) eq 'ARRAY')
676             or Hydrogen::croak(
677             "Type check failed in signature for curry_natatime: %s should be %s",
678             "\\$_[0]", "ArrayRef"
679             );
680 1         3 my $ref = \$_[0];
681 1     0   5 return sub { Hydrogen::ArrayRef::natatime( $$ref, @_ ) };
  0         0  
682             }
683              
684             =head2 C<< curry_not_all_true( $arrayref ) >>
685              
686             Curry the first argument of C<< Hydrogen::ArrayRef::not_all_true >>.
687              
688             =cut
689              
690             sub curry_not_all_true {
691 1 50   1 1 2307 @_ == 1
692             or Hydrogen::croak(
693             "Wrong number of parameters in signature for curry_not_all_true: got %d, %s",
694             scalar(@_), "expected exactly 1 parameter"
695             );
696 1 50       4 (ref($_[0]) eq 'ARRAY')
697             or Hydrogen::croak(
698             "Type check failed in signature for curry_not_all_true: %s should be %s",
699             "\\$_[0]", "ArrayRef"
700             );
701 1         2 my $ref = \$_[0];
702 1     0   4 return sub { Hydrogen::ArrayRef::not_all_true( $$ref, @_ ) };
  0         0  
703             }
704              
705             =head2 C<< curry_pairfirst( $arrayref ) >>
706              
707             Curry the first argument of C<< Hydrogen::ArrayRef::pairfirst >>.
708              
709             =cut
710              
711             sub curry_pairfirst {
712 1 50   1 1 2229 @_ == 1
713             or Hydrogen::croak(
714             "Wrong number of parameters in signature for curry_pairfirst: got %d, %s",
715             scalar(@_), "expected exactly 1 parameter"
716             );
717 1 50       4 (ref($_[0]) eq 'ARRAY')
718             or Hydrogen::croak(
719             "Type check failed in signature for curry_pairfirst: %s should be %s",
720             "\\$_[0]", "ArrayRef"
721             );
722 1         2 my $ref = \$_[0];
723 1     0   3 return sub { Hydrogen::ArrayRef::pairfirst( $$ref, @_ ) };
  0         0  
724             }
725              
726             =head2 C<< curry_pairgrep( $arrayref ) >>
727              
728             Curry the first argument of C<< Hydrogen::ArrayRef::pairgrep >>.
729              
730             =cut
731              
732             sub curry_pairgrep {
733 1 50   1 1 2282 @_ == 1
734             or Hydrogen::croak(
735             "Wrong number of parameters in signature for curry_pairgrep: got %d, %s",
736             scalar(@_), "expected exactly 1 parameter"
737             );
738 1 50       4 (ref($_[0]) eq 'ARRAY')
739             or Hydrogen::croak(
740             "Type check failed in signature for curry_pairgrep: %s should be %s",
741             "\\$_[0]", "ArrayRef"
742             );
743 1         2 my $ref = \$_[0];
744 1     0   4 return sub { Hydrogen::ArrayRef::pairgrep( $$ref, @_ ) };
  0         0  
745             }
746              
747             =head2 C<< curry_pairkeys( $arrayref ) >>
748              
749             Curry the first argument of C<< Hydrogen::ArrayRef::pairkeys >>.
750              
751             =cut
752              
753             sub curry_pairkeys {
754 1 50   1 1 2149 @_ == 1
755             or Hydrogen::croak(
756             "Wrong number of parameters in signature for curry_pairkeys: got %d, %s",
757             scalar(@_), "expected exactly 1 parameter"
758             );
759 1 50       4 (ref($_[0]) eq 'ARRAY')
760             or Hydrogen::croak(
761             "Type check failed in signature for curry_pairkeys: %s should be %s",
762             "\\$_[0]", "ArrayRef"
763             );
764 1         2 my $ref = \$_[0];
765 1     0   3 return sub { Hydrogen::ArrayRef::pairkeys( $$ref, @_ ) };
  0         0  
766             }
767              
768             =head2 C<< curry_pairmap( $arrayref ) >>
769              
770             Curry the first argument of C<< Hydrogen::ArrayRef::pairmap >>.
771              
772             =cut
773              
774             sub curry_pairmap {
775 1 50   1 1 2090 @_ == 1
776             or Hydrogen::croak(
777             "Wrong number of parameters in signature for curry_pairmap: got %d, %s",
778             scalar(@_), "expected exactly 1 parameter"
779             );
780 1 50       4 (ref($_[0]) eq 'ARRAY')
781             or Hydrogen::croak(
782             "Type check failed in signature for curry_pairmap: %s should be %s",
783             "\\$_[0]", "ArrayRef"
784             );
785 1         1 my $ref = \$_[0];
786 1     0   4 return sub { Hydrogen::ArrayRef::pairmap( $$ref, @_ ) };
  0         0  
787             }
788              
789             =head2 C<< curry_pairs( $arrayref ) >>
790              
791             Curry the first argument of C<< Hydrogen::ArrayRef::pairs >>.
792              
793             =cut
794              
795             sub curry_pairs {
796 1 50   1 1 2182 @_ == 1
797             or Hydrogen::croak(
798             "Wrong number of parameters in signature for curry_pairs: got %d, %s",
799             scalar(@_), "expected exactly 1 parameter"
800             );
801 1 50       3 (ref($_[0]) eq 'ARRAY')
802             or Hydrogen::croak(
803             "Type check failed in signature for curry_pairs: %s should be %s",
804             "\\$_[0]", "ArrayRef"
805             );
806 1         2 my $ref = \$_[0];
807 1     0   3 return sub { Hydrogen::ArrayRef::pairs( $$ref, @_ ) };
  0         0  
808             }
809              
810             =head2 C<< curry_pairvalues( $arrayref ) >>
811              
812             Curry the first argument of C<< Hydrogen::ArrayRef::pairvalues >>.
813              
814             =cut
815              
816             sub curry_pairvalues {
817 1 50   1 1 2013 @_ == 1
818             or Hydrogen::croak(
819             "Wrong number of parameters in signature for curry_pairvalues: got %d, %s",
820             scalar(@_), "expected exactly 1 parameter"
821             );
822 1 50       4 (ref($_[0]) eq 'ARRAY')
823             or Hydrogen::croak(
824             "Type check failed in signature for curry_pairvalues: %s should be %s",
825             "\\$_[0]", "ArrayRef"
826             );
827 1         3 my $ref = \$_[0];
828 1     0   3 return sub { Hydrogen::ArrayRef::pairvalues( $$ref, @_ ) };
  0         0  
829             }
830              
831             =head2 C<< curry_pick_random( $arrayref ) >>
832              
833             Curry the first argument of C<< Hydrogen::ArrayRef::pick_random >>.
834              
835             =cut
836              
837             sub curry_pick_random {
838 1 50   1 1 1991 @_ == 1
839             or Hydrogen::croak(
840             "Wrong number of parameters in signature for curry_pick_random: got %d, %s",
841             scalar(@_), "expected exactly 1 parameter"
842             );
843 1 50       4 (ref($_[0]) eq 'ARRAY')
844             or Hydrogen::croak(
845             "Type check failed in signature for curry_pick_random: %s should be %s",
846             "\\$_[0]", "ArrayRef"
847             );
848 1         2 my $ref = \$_[0];
849 1     0   3 return sub { Hydrogen::ArrayRef::pick_random( $$ref, @_ ) };
  0         0  
850             }
851              
852             =head2 C<< curry_pop( $arrayref ) >>
853              
854             Curry the first argument of C<< Hydrogen::ArrayRef::pop >>.
855              
856             =cut
857              
858             sub curry_pop {
859 1 50   1 1 2015 @_ == 1
860             or Hydrogen::croak(
861             "Wrong number of parameters in signature for curry_pop: got %d, %s",
862             scalar(@_), "expected exactly 1 parameter"
863             );
864 1 50       4 (ref($_[0]) eq 'ARRAY')
865             or Hydrogen::croak(
866             "Type check failed in signature for curry_pop: %s should be %s",
867             "\\$_[0]", "ArrayRef"
868             );
869 1         1 my $ref = \$_[0];
870 1     0   4 return sub { Hydrogen::ArrayRef::pop( $$ref, @_ ) };
  0         0  
871             }
872              
873             =head2 C<< curry_print( $arrayref ) >>
874              
875             Curry the first argument of C<< Hydrogen::ArrayRef::print >>.
876              
877             =cut
878              
879             sub curry_print {
880 1 50   1 1 2075 @_ == 1
881             or Hydrogen::croak(
882             "Wrong number of parameters in signature for curry_print: got %d, %s",
883             scalar(@_), "expected exactly 1 parameter"
884             );
885 1 50       4 (ref($_[0]) eq 'ARRAY')
886             or Hydrogen::croak(
887             "Type check failed in signature for curry_print: %s should be %s",
888             "\\$_[0]", "ArrayRef"
889             );
890 1         2 my $ref = \$_[0];
891 1     0   4 return sub { Hydrogen::ArrayRef::print( $$ref, @_ ) };
  0         0  
892             }
893              
894             =head2 C<< curry_product( $arrayref ) >>
895              
896             Curry the first argument of C<< Hydrogen::ArrayRef::product >>.
897              
898             =cut
899              
900             sub curry_product {
901 1 50   1 1 2001 @_ == 1
902             or Hydrogen::croak(
903             "Wrong number of parameters in signature for curry_product: got %d, %s",
904             scalar(@_), "expected exactly 1 parameter"
905             );
906 1 50       5 (ref($_[0]) eq 'ARRAY')
907             or Hydrogen::croak(
908             "Type check failed in signature for curry_product: %s should be %s",
909             "\\$_[0]", "ArrayRef"
910             );
911 1         1 my $ref = \$_[0];
912 1     0   4 return sub { Hydrogen::ArrayRef::product( $$ref, @_ ) };
  0         0  
913             }
914              
915             =head2 C<< curry_push( $arrayref ) >>
916              
917             Curry the first argument of C<< Hydrogen::ArrayRef::push >>.
918              
919             =cut
920              
921             sub curry_push {
922 1 50   1 1 1994 @_ == 1
923             or Hydrogen::croak(
924             "Wrong number of parameters in signature for curry_push: got %d, %s",
925             scalar(@_), "expected exactly 1 parameter"
926             );
927 1 50       4 (ref($_[0]) eq 'ARRAY')
928             or Hydrogen::croak(
929             "Type check failed in signature for curry_push: %s should be %s",
930             "\\$_[0]", "ArrayRef"
931             );
932 1         2 my $ref = \$_[0];
933 1     0   3 return sub { Hydrogen::ArrayRef::push( $$ref, @_ ) };
  0         0  
934             }
935              
936             =head2 C<< curry_reduce( $arrayref ) >>
937              
938             Curry the first argument of C<< Hydrogen::ArrayRef::reduce >>.
939              
940             =cut
941              
942             sub curry_reduce {
943 1 50   1 1 1992 @_ == 1
944             or Hydrogen::croak(
945             "Wrong number of parameters in signature for curry_reduce: got %d, %s",
946             scalar(@_), "expected exactly 1 parameter"
947             );
948 1 50       4 (ref($_[0]) eq 'ARRAY')
949             or Hydrogen::croak(
950             "Type check failed in signature for curry_reduce: %s should be %s",
951             "\\$_[0]", "ArrayRef"
952             );
953 1         2 my $ref = \$_[0];
954 1     0   3 return sub { Hydrogen::ArrayRef::reduce( $$ref, @_ ) };
  0         0  
955             }
956              
957             =head2 C<< curry_reductions( $arrayref ) >>
958              
959             Curry the first argument of C<< Hydrogen::ArrayRef::reductions >>.
960              
961             =cut
962              
963             sub curry_reductions {
964 1 50   1 1 2028 @_ == 1
965             or Hydrogen::croak(
966             "Wrong number of parameters in signature for curry_reductions: got %d, %s",
967             scalar(@_), "expected exactly 1 parameter"
968             );
969 1 50       3 (ref($_[0]) eq 'ARRAY')
970             or Hydrogen::croak(
971             "Type check failed in signature for curry_reductions: %s should be %s",
972             "\\$_[0]", "ArrayRef"
973             );
974 1         2 my $ref = \$_[0];
975 1     0   4 return sub { Hydrogen::ArrayRef::reductions( $$ref, @_ ) };
  0         0  
976             }
977              
978             =head2 C<< curry_reset( $arrayref ) >>
979              
980             Curry the first argument of C<< Hydrogen::ArrayRef::reset >>.
981              
982             =cut
983              
984             sub curry_reset {
985 1 50   1 1 2134 @_ == 1
986             or Hydrogen::croak(
987             "Wrong number of parameters in signature for curry_reset: got %d, %s",
988             scalar(@_), "expected exactly 1 parameter"
989             );
990 1 50       25 (ref($_[0]) eq 'ARRAY')
991             or Hydrogen::croak(
992             "Type check failed in signature for curry_reset: %s should be %s",
993             "\\$_[0]", "ArrayRef"
994             );
995 1         2 my $ref = \$_[0];
996 1     0   4 return sub { Hydrogen::ArrayRef::reset( $$ref, @_ ) };
  0         0  
997             }
998              
999             =head2 C<< curry_reverse( $arrayref ) >>
1000              
1001             Curry the first argument of C<< Hydrogen::ArrayRef::reverse >>.
1002              
1003             =cut
1004              
1005             sub curry_reverse {
1006 1 50   1 1 2150 @_ == 1
1007             or Hydrogen::croak(
1008             "Wrong number of parameters in signature for curry_reverse: got %d, %s",
1009             scalar(@_), "expected exactly 1 parameter"
1010             );
1011 1 50       3 (ref($_[0]) eq 'ARRAY')
1012             or Hydrogen::croak(
1013             "Type check failed in signature for curry_reverse: %s should be %s",
1014             "\\$_[0]", "ArrayRef"
1015             );
1016 1         2 my $ref = \$_[0];
1017 1     0   3 return sub { Hydrogen::ArrayRef::reverse( $$ref, @_ ) };
  0         0  
1018             }
1019              
1020             =head2 C<< curry_sample( $arrayref ) >>
1021              
1022             Curry the first argument of C<< Hydrogen::ArrayRef::sample >>.
1023              
1024             =cut
1025              
1026             sub curry_sample {
1027 1 50   1 1 2235 @_ == 1
1028             or Hydrogen::croak(
1029             "Wrong number of parameters in signature for curry_sample: got %d, %s",
1030             scalar(@_), "expected exactly 1 parameter"
1031             );
1032 1 50       3 (ref($_[0]) eq 'ARRAY')
1033             or Hydrogen::croak(
1034             "Type check failed in signature for curry_sample: %s should be %s",
1035             "\\$_[0]", "ArrayRef"
1036             );
1037 1         3 my $ref = \$_[0];
1038 1     0   3 return sub { Hydrogen::ArrayRef::sample( $$ref, @_ ) };
  0         0  
1039             }
1040              
1041             =head2 C<< curry_set( $arrayref ) >>
1042              
1043             Curry the first argument of C<< Hydrogen::ArrayRef::set >>.
1044              
1045             =cut
1046              
1047             sub curry_set {
1048 1 50   1 1 2104 @_ == 1
1049             or Hydrogen::croak(
1050             "Wrong number of parameters in signature for curry_set: got %d, %s",
1051             scalar(@_), "expected exactly 1 parameter"
1052             );
1053 1 50       4 (ref($_[0]) eq 'ARRAY')
1054             or Hydrogen::croak(
1055             "Type check failed in signature for curry_set: %s should be %s",
1056             "\\$_[0]", "ArrayRef"
1057             );
1058 1         2 my $ref = \$_[0];
1059 1     0   4 return sub { Hydrogen::ArrayRef::set( $$ref, @_ ) };
  0         0  
1060             }
1061              
1062             =head2 C<< curry_shallow_clone( $arrayref ) >>
1063              
1064             Curry the first argument of C<< Hydrogen::ArrayRef::shallow_clone >>.
1065              
1066             =cut
1067              
1068             sub curry_shallow_clone {
1069 1 50   1 1 2057 @_ == 1
1070             or Hydrogen::croak(
1071             "Wrong number of parameters in signature for curry_shallow_clone: got %d, %s",
1072             scalar(@_), "expected exactly 1 parameter"
1073             );
1074 1 50       3 (ref($_[0]) eq 'ARRAY')
1075             or Hydrogen::croak(
1076             "Type check failed in signature for curry_shallow_clone: %s should be %s",
1077             "\\$_[0]", "ArrayRef"
1078             );
1079 1         2 my $ref = \$_[0];
1080 1     0   3 return sub { Hydrogen::ArrayRef::shallow_clone( $$ref, @_ ) };
  0         0  
1081             }
1082              
1083             =head2 C<< curry_shift( $arrayref ) >>
1084              
1085             Curry the first argument of C<< Hydrogen::ArrayRef::shift >>.
1086              
1087             =cut
1088              
1089             sub curry_shift {
1090 1 50   1 1 2030 @_ == 1
1091             or Hydrogen::croak(
1092             "Wrong number of parameters in signature for curry_shift: got %d, %s",
1093             scalar(@_), "expected exactly 1 parameter"
1094             );
1095 1 50       4 (ref($_[0]) eq 'ARRAY')
1096             or Hydrogen::croak(
1097             "Type check failed in signature for curry_shift: %s should be %s",
1098             "\\$_[0]", "ArrayRef"
1099             );
1100 1         1 my $ref = \$_[0];
1101 1     0   5 return sub { Hydrogen::ArrayRef::shift( $$ref, @_ ) };
  0         0  
1102             }
1103              
1104             =head2 C<< curry_shuffle( $arrayref ) >>
1105              
1106             Curry the first argument of C<< Hydrogen::ArrayRef::shuffle >>.
1107              
1108             =cut
1109              
1110             sub curry_shuffle {
1111 1 50   1 1 2560 @_ == 1
1112             or Hydrogen::croak(
1113             "Wrong number of parameters in signature for curry_shuffle: got %d, %s",
1114             scalar(@_), "expected exactly 1 parameter"
1115             );
1116 1 50       26 (ref($_[0]) eq 'ARRAY')
1117             or Hydrogen::croak(
1118             "Type check failed in signature for curry_shuffle: %s should be %s",
1119             "\\$_[0]", "ArrayRef"
1120             );
1121 1         2 my $ref = \$_[0];
1122 1     0   5 return sub { Hydrogen::ArrayRef::shuffle( $$ref, @_ ) };
  0         0  
1123             }
1124              
1125             =head2 C<< curry_shuffle_in_place( $arrayref ) >>
1126              
1127             Curry the first argument of C<< Hydrogen::ArrayRef::shuffle_in_place >>.
1128              
1129             =cut
1130              
1131             sub curry_shuffle_in_place {
1132 1 50   1 1 3403 @_ == 1
1133             or Hydrogen::croak(
1134             "Wrong number of parameters in signature for curry_shuffle_in_place: got %d, %s",
1135             scalar(@_), "expected exactly 1 parameter"
1136             );
1137 1 50       5 (ref($_[0]) eq 'ARRAY')
1138             or Hydrogen::croak(
1139             "Type check failed in signature for curry_shuffle_in_place: %s should be %s",
1140             "\\$_[0]", "ArrayRef"
1141             );
1142 1         3 my $ref = \$_[0];
1143 1     0   5 return sub { Hydrogen::ArrayRef::shuffle_in_place( $$ref, @_ ) };
  0         0  
1144             }
1145              
1146             =head2 C<< curry_sort( $arrayref ) >>
1147              
1148             Curry the first argument of C<< Hydrogen::ArrayRef::sort >>.
1149              
1150             =cut
1151              
1152             sub curry_sort {
1153 1 50   1 1 3408 @_ == 1
1154             or Hydrogen::croak(
1155             "Wrong number of parameters in signature for curry_sort: got %d, %s",
1156             scalar(@_), "expected exactly 1 parameter"
1157             );
1158 1 50       5 (ref($_[0]) eq 'ARRAY')
1159             or Hydrogen::croak(
1160             "Type check failed in signature for curry_sort: %s should be %s",
1161             "\\$_[0]", "ArrayRef"
1162             );
1163 1         2 my $ref = \$_[0];
1164 1     0   8 return sub { Hydrogen::ArrayRef::sort( $$ref, @_ ) };
  0         0  
1165             }
1166              
1167             =head2 C<< curry_sort_in_place( $arrayref ) >>
1168              
1169             Curry the first argument of C<< Hydrogen::ArrayRef::sort_in_place >>.
1170              
1171             =cut
1172              
1173             sub curry_sort_in_place {
1174 1 50   1 1 3369 @_ == 1
1175             or Hydrogen::croak(
1176             "Wrong number of parameters in signature for curry_sort_in_place: got %d, %s",
1177             scalar(@_), "expected exactly 1 parameter"
1178             );
1179 1 50       26 (ref($_[0]) eq 'ARRAY')
1180             or Hydrogen::croak(
1181             "Type check failed in signature for curry_sort_in_place: %s should be %s",
1182             "\\$_[0]", "ArrayRef"
1183             );
1184 1         2 my $ref = \$_[0];
1185 1     0   5 return sub { Hydrogen::ArrayRef::sort_in_place( $$ref, @_ ) };
  0         0  
1186             }
1187              
1188             =head2 C<< curry_splice( $arrayref ) >>
1189              
1190             Curry the first argument of C<< Hydrogen::ArrayRef::splice >>.
1191              
1192             =cut
1193              
1194             sub curry_splice {
1195 1 50   1 1 3597 @_ == 1
1196             or Hydrogen::croak(
1197             "Wrong number of parameters in signature for curry_splice: got %d, %s",
1198             scalar(@_), "expected exactly 1 parameter"
1199             );
1200 1 50       26 (ref($_[0]) eq 'ARRAY')
1201             or Hydrogen::croak(
1202             "Type check failed in signature for curry_splice: %s should be %s",
1203             "\\$_[0]", "ArrayRef"
1204             );
1205 1         3 my $ref = \$_[0];
1206 1     0   5 return sub { Hydrogen::ArrayRef::splice( $$ref, @_ ) };
  0         0  
1207             }
1208              
1209             =head2 C<< curry_sum( $arrayref ) >>
1210              
1211             Curry the first argument of C<< Hydrogen::ArrayRef::sum >>.
1212              
1213             =cut
1214              
1215             sub curry_sum {
1216 1 50   1 1 4744 @_ == 1
1217             or Hydrogen::croak(
1218             "Wrong number of parameters in signature for curry_sum: got %d, %s",
1219             scalar(@_), "expected exactly 1 parameter"
1220             );
1221 1 50       29 (ref($_[0]) eq 'ARRAY')
1222             or Hydrogen::croak(
1223             "Type check failed in signature for curry_sum: %s should be %s",
1224             "\\$_[0]", "ArrayRef"
1225             );
1226 1         2 my $ref = \$_[0];
1227 1     0   7 return sub { Hydrogen::ArrayRef::sum( $$ref, @_ ) };
  0         0  
1228             }
1229              
1230             =head2 C<< curry_tail( $arrayref ) >>
1231              
1232             Curry the first argument of C<< Hydrogen::ArrayRef::tail >>.
1233              
1234             =cut
1235              
1236             sub curry_tail {
1237 1 50   1 1 3694 @_ == 1
1238             or Hydrogen::croak(
1239             "Wrong number of parameters in signature for curry_tail: got %d, %s",
1240             scalar(@_), "expected exactly 1 parameter"
1241             );
1242 1 50       6 (ref($_[0]) eq 'ARRAY')
1243             or Hydrogen::croak(
1244             "Type check failed in signature for curry_tail: %s should be %s",
1245             "\\$_[0]", "ArrayRef"
1246             );
1247 1         3 my $ref = \$_[0];
1248 1     0   7 return sub { Hydrogen::ArrayRef::tail( $$ref, @_ ) };
  0         0  
1249             }
1250              
1251             =head2 C<< curry_uniq( $arrayref ) >>
1252              
1253             Curry the first argument of C<< Hydrogen::ArrayRef::uniq >>.
1254              
1255             =cut
1256              
1257             sub curry_uniq {
1258 1 50   1 1 3871 @_ == 1
1259             or Hydrogen::croak(
1260             "Wrong number of parameters in signature for curry_uniq: got %d, %s",
1261             scalar(@_), "expected exactly 1 parameter"
1262             );
1263 1 50       5 (ref($_[0]) eq 'ARRAY')
1264             or Hydrogen::croak(
1265             "Type check failed in signature for curry_uniq: %s should be %s",
1266             "\\$_[0]", "ArrayRef"
1267             );
1268 1         3 my $ref = \$_[0];
1269 1     0   6 return sub { Hydrogen::ArrayRef::uniq( $$ref, @_ ) };
  0         0  
1270             }
1271              
1272             =head2 C<< curry_uniq_in_place( $arrayref ) >>
1273              
1274             Curry the first argument of C<< Hydrogen::ArrayRef::uniq_in_place >>.
1275              
1276             =cut
1277              
1278             sub curry_uniq_in_place {
1279 1 50   1 1 3906 @_ == 1
1280             or Hydrogen::croak(
1281             "Wrong number of parameters in signature for curry_uniq_in_place: got %d, %s",
1282             scalar(@_), "expected exactly 1 parameter"
1283             );
1284 1 50       6 (ref($_[0]) eq 'ARRAY')
1285             or Hydrogen::croak(
1286             "Type check failed in signature for curry_uniq_in_place: %s should be %s",
1287             "\\$_[0]", "ArrayRef"
1288             );
1289 1         3 my $ref = \$_[0];
1290 1     0   7 return sub { Hydrogen::ArrayRef::uniq_in_place( $$ref, @_ ) };
  0         0  
1291             }
1292              
1293             =head2 C<< curry_uniqnum( $arrayref ) >>
1294              
1295             Curry the first argument of C<< Hydrogen::ArrayRef::uniqnum >>.
1296              
1297             =cut
1298              
1299             sub curry_uniqnum {
1300 1 50   1 1 3922 @_ == 1
1301             or Hydrogen::croak(
1302             "Wrong number of parameters in signature for curry_uniqnum: got %d, %s",
1303             scalar(@_), "expected exactly 1 parameter"
1304             );
1305 1 50       6 (ref($_[0]) eq 'ARRAY')
1306             or Hydrogen::croak(
1307             "Type check failed in signature for curry_uniqnum: %s should be %s",
1308             "\\$_[0]", "ArrayRef"
1309             );
1310 1         3 my $ref = \$_[0];
1311 1     0   6 return sub { Hydrogen::ArrayRef::uniqnum( $$ref, @_ ) };
  0         0  
1312             }
1313              
1314             =head2 C<< curry_uniqnum_in_place( $arrayref ) >>
1315              
1316             Curry the first argument of C<< Hydrogen::ArrayRef::uniqnum_in_place >>.
1317              
1318             =cut
1319              
1320             sub curry_uniqnum_in_place {
1321 1 50   1 1 3888 @_ == 1
1322             or Hydrogen::croak(
1323             "Wrong number of parameters in signature for curry_uniqnum_in_place: got %d, %s",
1324             scalar(@_), "expected exactly 1 parameter"
1325             );
1326 1 50       6 (ref($_[0]) eq 'ARRAY')
1327             or Hydrogen::croak(
1328             "Type check failed in signature for curry_uniqnum_in_place: %s should be %s",
1329             "\\$_[0]", "ArrayRef"
1330             );
1331 1         3 my $ref = \$_[0];
1332 1     0   7 return sub { Hydrogen::ArrayRef::uniqnum_in_place( $$ref, @_ ) };
  0         0  
1333             }
1334              
1335             =head2 C<< curry_uniqstr( $arrayref ) >>
1336              
1337             Curry the first argument of C<< Hydrogen::ArrayRef::uniqstr >>.
1338              
1339             =cut
1340              
1341             sub curry_uniqstr {
1342 1 50   1 1 3871 @_ == 1
1343             or Hydrogen::croak(
1344             "Wrong number of parameters in signature for curry_uniqstr: got %d, %s",
1345             scalar(@_), "expected exactly 1 parameter"
1346             );
1347 1 50       7 (ref($_[0]) eq 'ARRAY')
1348             or Hydrogen::croak(
1349             "Type check failed in signature for curry_uniqstr: %s should be %s",
1350             "\\$_[0]", "ArrayRef"
1351             );
1352 1         3 my $ref = \$_[0];
1353 1     0   6 return sub { Hydrogen::ArrayRef::uniqstr( $$ref, @_ ) };
  0         0  
1354             }
1355              
1356             =head2 C<< curry_uniqstr_in_place( $arrayref ) >>
1357              
1358             Curry the first argument of C<< Hydrogen::ArrayRef::uniqstr_in_place >>.
1359              
1360             =cut
1361              
1362             sub curry_uniqstr_in_place {
1363 1 50   1 1 3886 @_ == 1
1364             or Hydrogen::croak(
1365             "Wrong number of parameters in signature for curry_uniqstr_in_place: got %d, %s",
1366             scalar(@_), "expected exactly 1 parameter"
1367             );
1368 1 50       5 (ref($_[0]) eq 'ARRAY')
1369             or Hydrogen::croak(
1370             "Type check failed in signature for curry_uniqstr_in_place: %s should be %s",
1371             "\\$_[0]", "ArrayRef"
1372             );
1373 1         3 my $ref = \$_[0];
1374 1     0   7 return sub { Hydrogen::ArrayRef::uniqstr_in_place( $$ref, @_ ) };
  0         0  
1375             }
1376              
1377             =head2 C<< curry_unshift( $arrayref ) >>
1378              
1379             Curry the first argument of C<< Hydrogen::ArrayRef::unshift >>.
1380              
1381             =cut
1382              
1383             sub curry_unshift {
1384 1 50   1 1 3798 @_ == 1
1385             or Hydrogen::croak(
1386             "Wrong number of parameters in signature for curry_unshift: got %d, %s",
1387             scalar(@_), "expected exactly 1 parameter"
1388             );
1389 1 50       6 (ref($_[0]) eq 'ARRAY')
1390             or Hydrogen::croak(
1391             "Type check failed in signature for curry_unshift: %s should be %s",
1392             "\\$_[0]", "ArrayRef"
1393             );
1394 1         3 my $ref = \$_[0];
1395 1     0   6 return sub { Hydrogen::ArrayRef::unshift( $$ref, @_ ) };
  0            
1396             }
1397              
1398             1;
1399              
1400             =head1 EXPORT
1401              
1402             No functions are exported by this module by default. To import them all (this is usually a bad idea), use:
1403              
1404             use Hydrogen::Curry::ArrayRef -all;
1405              
1406             To import a particular function, use:
1407              
1408             use Hydrogen::Curry::ArrayRef 'curry_all_true';
1409              
1410             To rename functions:
1411              
1412             use Hydrogen::Curry::ArrayRef 'curry_all_true' => { -as => 'myfunc' };
1413              
1414             On Perl 5.37.2+ (or if L is installed) you can import lexically:
1415              
1416             use Hydrogen::Curry::ArrayRef -lexical, 'curry_all_true';
1417              
1418             See L for more hints on importing.
1419              
1420             =head1 BUGS
1421              
1422             Please report any bugs to
1423             L.
1424              
1425             =head1 SEE ALSO
1426              
1427             L,
1428             L,
1429             L,
1430             L,
1431             L,
1432             L,
1433             L.
1434              
1435             =head1 AUTHOR
1436              
1437             Toby Inkster Etobyink@cpan.orgE.
1438              
1439             =head1 COPYRIGHT AND LICENCE
1440              
1441             This software is copyright (c) 2022-2025 by Toby Inkster.
1442              
1443             This is free software; you can redistribute it and/or modify it under
1444             the same terms as the Perl 5 programming language system itself.
1445              
1446             =head1 DISCLAIMER OF WARRANTIES
1447              
1448             THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
1449             WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1450             MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1451