-
Notifications
You must be signed in to change notification settings - Fork 3
/
Changes
505 lines (428 loc) · 18.3 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
Revision history for FunctionalPerl
0.72.76 2023-1-22
- really do not depend on 'less' for tests
0.72.75 2023-1-22
- do not depend on 'less' for tests
0.72.74 2023-1-22
- fix https://rt.cpan.org/Public/Bug/Display.html?id=144932 this
time?
0.72.73 2023-1-22
- fix https://rt.cpan.org/Public/Bug/Display.html?id=144932
- fix tests: Indexing: do not attempt to run meta/perlfiles
0.72.72 2023-1-22
- Repl: add :S mode with Perl::Tidy
- Struct: allow to export constructors via _END_
- Struct: add all_field_names
- Struct: add ":defaults" base class feature
- Struct: display FP::Failure values from predicates
- List: add cartesian_product, nonempty_list_of, improper_map,
improper_filtermap, filtermap, improper_last, list_merge
- Array,Array/Mixin: add filtermap, merge
- List,Stream: add split
- HashSet: add hashset, is_hashset, is_uhashset, hashset_values,
hashset_map, hashset_filter, hash_to_...function
- Hash: add hash_map, hash_filter, hash_key_filter, hash_value_filter
- Abstract/Sequence: add hashset, uhashset
- Predicates: add is_path_string, is_path_segment_string, sequence_of
- Create FP::Cmp, move cmp_complement to it, add cmp_then
- xperlfunc: add maybe_getfile_utf8, improve spawn
- xopen: add stdin, stdout, stderr
- Htmlparse: handle XML namespaces (hack)
- Text/CSV: various improvements
- various fixes
- unfinished: Chj::xperlfunc::xlocaltime: add iso_week_number + more
0.72.71 2021-6-1
- revive meta/critic (perlcritic), apply fixes, leave
`critic-todo` file for remaining issues to work on (and prevent
release on new (or fixed) issues without explicit update)
0.72.70 2021-5-31
- Fixes for testing and dependency issues, including removing
some unused imports.
- A fix in FunctionalPerl::Indexing
0.72.69 2021-5-30
- Silence two recursion warnings, one of which is an indication of
a bug so will have to be investigated later.
- Create perl-weekly-challenges/114-1-Next_Palindrome_Number
- Website: add blog post on the new challenge
0.72.68 2021-5-28
- SortedPureArray: add `checks_ok`, docs/tests
- Lazy,Show: show now shows the backtrace information in promises
if present
- Create FP::noLazy
- some docs improvements
- Blog perl-weekly-challenges-113: go into lazy debugging
- fix test failure / add FunctionalPerl::Dependencies::ChjBin
0.72.67 2021-5-27
- website: various blog post fixes, and other
- Predicates: rename is_class_name to is_valid_class_name
- Create Chj::Packages, probably pointless but let me see
- Create FunctionalPerl::Indexing, for indexing the code base
- Htmlgen/Linking: auto-exclude identifiers from CPAN linking that
are in the local code base
0.72.66 2021-5-23
- website: add blog, with post about perl weekly challenge
- 113-1*: improvements
0.72.65 2021-5-22
- 113-1-represent_integer: fix and improve the Haskell version
0.72.64 2021-5-22
- sequences: change `any` to return the last false value
- List: silence recursion warning in list_map
- TransparentLazy: never use `FORCE` transparently
- Create FP::Either
- 113-1-represent_integer: improvements, add more performant
algorithm, and a (currently non-working) Haskell version
0.72.63 2021-5-21
- Repl: use FP_REPL_HOME env var if present
- t/repl.t: stop spamming the real repl history (and settings?)
- TransparentLazy: fix lazyLight
- Lazy,TransparentLazy: document behaviour of `lazyLight` in the
face of side effects
- Perl Weekly Challenges 113-1-represent_integer: use __SUB__
instead of FP::fix
0.72.62 2021-5-20
- fix a multitude of newly introduced test and dependency bugs
0.72.61 2021-5-20
- List: add map_with_tail, insertion_variants, fix `car` and
`car_and_cdr` for lazyT, fix cons method
- Lazy: add `lazyT_if`, add docstrings
- Array: change `any` to return the found true value, like List's
`any`
- SortedPureArray: 'finish' by adding `sortedpurearray_by`
function (and docstring); add it to FunctionalPerl's :sequences
tag
- Add this week's Perl Weekly Challenges
0.72.60 2021-5-16
- Create FP::SortedPureArray, add `as_sorted_by` method to
PureArray
- Optional: add `have`
- Create examples/perl-weekly-challenges/111-1-searchmatrix
- Create FP::Id / FP::Abstract::Id
- Create FP::Collection
- xperlfunc: `xmkdir_p`: take optional mask argument
- doc tweak
0.72.59 2021-5-2
- Repl: avoid taint check failures (if easily possible)
- Documentation
0.72.58 2021-5-1
- try to fix Windows test failure
- add CPAN signature
0.72.57 2021-5-1
- more test failure fixing?
- rename `number_cmp` to `real_cmp`
- create examples/youtube-extract
0.72.56 2021-4-29
- more test failure fixing?
- some todo list entries
- meta/release: remove wrong `dev` mode again (leave other new
features in)
0.72.55 2021-4-29
- Equal: add `boolean_equal`
- some more test failure fixes?
- meta/release: add flexible versioning, incl. wrongly(?)
understood underscore based ones
0.72.54 2021-4-28
- various small fixes
- FP::Text::CSV: require params argument even if undef, to remind
of its existence
- change examples/{treestat,csv-to-json} to require fewer
dependencies
- fix various test requirements
0.72.53 2021-4-22
- examples/treestat: add print-mtime-fixes
- fix yet more dependency declaration failures
- fix calling the right Perl from tests once more
- add checks for t/*t to release checkups
0.72.52 2021-4-21
- more "make test not fail in the absence of JSON.pm"
0.72.51 2021-4-21
- make test not fail in the absence of JSON.pm
0.72.50 2021-4-21
- Fix "Repl: change to save history as individual files,
immediately"
- Repl: increase default histlen to 500
- Add test for examples/csv-to-json
- Create FP::JSON by moving part of csv-to-json
0.72.49 2021-4-8
- Array: small fix
- support autoboxing for hashes
- PureHash: add key_value_pairs, array, purearray, list, sequence
- add `examples/csv-to-json`
0.72.48 2021-4-8
- Abstract/Sequence: change min, max to use a comparison function
- Array: add array_take_upto, array_last_upto
- Repl: fix history reading when $/ is localized
- Repl: change to save history as individual files, immediately
- add `repl2test` script; add `FP::RegexMatch`
0.72.47 2021-3-30
- add `group` to the Sequence interface
- add `hashkey`, `mesh` and `ziphash` to FP::Hash
- add add stdin_utf8, stdout_utf8, stderr_utf8 to Chj::xIOUtil
0.72.46 2021-3-26
- examples/treestat: depend on JSON instead of JSON::PP, add begin
of merging functionality, add contents hash
- update FP::TransparentLazy to follow FP::Lazy developments
- Lazy: add `lazyT`; properly implement lazyLight; add
`is_forced`; handle nested promises correctly
- Updates for lazyT:
- FP::List: make final, stop using shortcut for `cdr`
- Stream,IOStream: use `lazyT`
- StrictList: make `is_proper_sequence` O(1)
0.72.45 2021-3-21
- make examples/treestat work with older JSON::PP releases
0.72.44 2021-3-19
- Abstract/Sequence: add for_each_with_islast
- xgetfile_utf8: check encoding strictly
- add examples/treestat
0.72.43 2021-1-18
- missed cases in glob conversion, and update docs
- add links to testing frameworks
0.72.42 2021-1-6
- a test fix for Windows
- big move from globs to \& for passing function references
0.72.41 2020-12-22
- fixes in meta/code-reformat, apply more FP:Carp bits
- work on examples/hiring-without-whiteboards and
examples/sendprepare
- xIO: add `with_output_to_file`, HashSet: add
`array_to_countedhashset`, IO/File: add `xreadchar` method,
IOStream: add `xfile_chars`
- some fixes
0.72.40 2020-12-1
- FP::Carp: improve docs, rename fp_croak_nargs to fp_croak_arity,
and report number of arguments actually passed
- FunctionalPerl: consistent tag naming
0.72.39 2020-11-30
- some remaining "EXPORT" style fixes
- don't use subroutine prototypes anymore except in rare cases
(complete)
- don't use globs for referencing subs anymore (partial)
- don't use wantarray in list_rtake_while and list_take_while
- add FP::Carp, use it consistently (mostly complete)
- meta/pre-commit: some fixes, but it's still broken for partial
commits
- pointer_eq: safely handle non-pointer values
0.72.38 2020-11-16
- fix some newly introduced brokenness (dependency in a test,
broken `successes` and `failures` change, missed updates in pod
snippets because of using a new dev machine without all of the
optional modules installed)
- add `meta/install-development-dependencies-on-debian` so the
last subitem is less likely to happen again
0.72.37 2020-11-16
- another Windows fix
- a fix for Solaris
- big formatting revamp:
- use perltidy (I haven't looked into adapting my Emacs
configuration yet, so there may be more changes ahead)
- move EXPORT variables after `use strict`
- use experimental "signatures" instead of
Function::Parameters
- some cleanup
- don't use EXPORT style without `our` anymore
- remove usage of UNIVERSAL::{isa,can} except those checking for
`CODE` and similar
- some nice new tools in meta/
0.72.36 2020-10-29
- make Chj::xhome hopefully finally work on Windows
0.72.35 2020-10-29
- test suite fixes for "Makefile.PL: move more things to
TEST_REQUIRES"
- fixes for Windows
- fixes in hiring-without-whiteboards, test
0.72.34 2020-10-17
- more fix time zone; more "use $^X directly"
- attempts at fixing recommends in Makefile.PL
- add `take_while_and_rest`, fix `take_while` method
- Interfaces: make sure interface definitions are loaded
- sequences: implement missing type conversion methods, add test
- small improvements in Array_sort and IOStream
- extend examples/hiring-without-whiteboards
0.72.33 2020-09-20
- fix time zone (summer time) related bug in test suite
0.72.32 2020-09-11
- Sequences: rename map_with_i to map_with_index and add to
Sequence interface
- Add FP::Abstract::Compare, sortCompare
- Sequence: add `mean`, `median`
- Struct: error reporting improvements
- Chj::xperlfunc, Chj::IO::Command: fixes
0.72.31 2019-12-23
- only documentation changes (bundling as a release just in case
someone wants to read those locally)
0.72.30 2019-12-23
- doc fixes, and document "recommends" handling
- install the `fperl` and `perlrepl` scripts
0.72.29 2019-12-22
- work on FP::AST::Perl
- rename bin/repl+ to bin/fperl, bin/repl to bin/perlrepl, and
make bin/fperl use the "fperl" namespace (including updates
everywhere)
0.72.28 2019-12-22
- Dependencies: hopefully fixes #131217 on rt.cpan.org
- POD formatting and doc fixes
0.72.27 2019-12-21
- Rename FP::uncurry module to FP::Currying
- add `curry` (in spite of other CPAN modules offering it)
- Sequence: rename `join` to `intersperse`
- Sequence: add new `join` base method as alias to strings_join
0.72.26 2019-12-18
- List: add `cons_`; use it in `examples/functional-classes`
0.72.25 2019-12-8
- t/pod_snippets.t: Trap to repl if running test in a terminal
- AutoTrap: add possibly_activate (used for the above)
- WithRepl: WithRepl_eval*: avoid lexical variable capture
(An attempt at moving away from globs in FP::AST::Perl failed (see
Git history).)
0.72.24 2019-12-8
- proper POD formatting in some modules, move tests to POD
- Struct: make immutable if is_pure
- Struct: do not automatically inherit FP::Abstract::Pure anymore,
update other modules
- update/implement Show, Pure etc. in various modules
- rename Chj::Destructor::_ to Chj::_::Destructor
- Create FP::Combinators2
- FP::AST::Perl: semicolons, Let
0.72.23 2019-12-7
- Ops: rename `string` to `stringify`
- create FP::Struct::Equal
- create (the beginnings of) FP::AST::Perl
- some doc improvements
0.72.22 2019-12-6
- FP::Repl::Repl: ,p as shortcut for ,package (,P for print)
- FP::Repl::Repl: alias `set_package` for `set_maybe_package`
etc. (so that `repl package=> 'Foo::Bar'` works instead of just
`repl maybe_package=> 'Foo::Bar'`)
- FP::Repl::Repl: transparently try to force promises then getting
completions on values
- Chj::ruse: export "p" as shortcut
- Chj::ruse: fix %INC iteration (make copy)
- Chj::Backtrace: detect when loaded after FP::Repl::Trace
etc. and inactivate
0.72.21 2019-12-4
- fix: avoid running into an error when reporting an error in Lazy
- fix Repl,WithRepl to use show when showing a backtrace or exception
- Sequence,Predicates: add is_proper_sequence
- fix List's ->stream (oh; that could use a compile time warning)
- Stream,Sequence: add chunks_of and strictly_chunks_of
- update docs, more exahhhmples in README
0.72.20 2019-12-3
- fix "fix tests: add the new htmlgen modules to ::Dependencies"
- fix dependency on Perl::Tidy
0.72.19 2019-12-3
- fix tests: add the new htmlgen modules to ::Dependencies
- Rename `is_string_not_number` -> `is_nonnumeric_string`
0.72.18 2019-12-2
- some doc improvements
- website: link modules to CPAN url (over Github) if available;
fix bug due to sub prototype
- Predicates: add `is_string_not_number`, but is probably of no
use
0.72.17 2019-12-2
- tests: avoid the word 'failed' in messages checking dependencies
- tests: fix(?) for Windows: do not use -x
- tests: more "make Inf properly version independent"
- dependencies: htmlgen/gen: depend on Trap only if --trap given
- documentation improvements (markdown files)
- Predicates: fix: remove hand inlining of 'force'; add `is_seq`
- Repl fix accessing values in boolean context
- Show,Lazy: show location information in unevaluated promises
- Show: do not show sub/promise details when running in test suite
- avoid using PFLANZE:: namespaces (there are still some in meta)
- create (beginnings of) FP::PureHash, FP::Abstract::Map
- export `pointer_eq`
- create FP::Docstring
- htmlgen: cleanups, docstrings, pod snippets, use PXML::XHTML
(making code more worthy to look at)
- htmlgen: add capability to use PerlTidy
- Sequence: add `split_at`; Stream: make `append` n-ary
- create meta/update-pod
0.72.16 2019-11-29
- declare dependency on new example script (d'oh)
0.72.15 2019-11-29
- documentation improvements, add functional-classes example
- fix test failure involving TailExpand's pod snippets
- rename method fp_interface_method_names ->
FP_Interface__method_names
0.72.14 2019-11-28
- fix test failure with "Inf" vs. "inf"
- add FP::Mixin::Utils with a `F` utility method, added to Show
protocol and FP::Lazy-derived promises
- Makefile.PL: increase minimal Perl version to avoid Perl bugs
- Lazy: overload to error-describing exception to prevent
accidental use
- some docs
0.72.13 2019-11-27
- documentation improvements
- fix for Windows
- Chj::TEST run_tests_ fix
- handle missing module dependencies in pod snippets correctly
0.72.12 2019-11-26
- More Windows support work
- add relaxedequal to FP::Equal
- change Chj::TEST to use FP::Equal'relaxedequal instead of
dumperequal
- add `string` function to Ops
- create FP::BigInt
- change examples/fib to bigint to solve test failures due to
unreliable number implementation in base Perl
- workaround for failed TEST TAP location hack
0.72.11 2019-11-26
- reimplement repl+ in Perl for Windows
- clean up tail expansion dependencies during testing, hopefully
fixes test failures when run out of alphabetic order
- fix for #131081 (t/skip-leak.t fails on BSD systems)
- change Chj::TEST to use TAP so that subtest failure details can
be seen in CPAN tester reports
0.72.10 2019-11-24
- fix #131073 (Can't exec /bin/bash at website/gen line 1.)
- fixes for Windows (find-perl.pl; more system calls)
- more curing of unnecessary loading of FP::Repl
- FunctionalPerl: do not die on module load errors
- Chj::TEST::run_tests returns an object now with success number
as well; can't manage to merge numbers with Test::More's though.
- fix test.pl deletion: re-introduce $ENV{TEST}=1
- move csvstreams.t to t-slow/ (will look into how to do this
properly later)
0.72.9 2019-11-24
- fix handling of autobox dependency (both making it optional in
tests as well as making it a hard dependency for now)
- hopefully fix "Bug #131047 for FunctionalPerl: Some tests run
with the wrong perl"
- do not use tail-expanded files from meta/ in t/pod-snippets.t
(there might be more such breakage, todo check)
0.72.8 2019-11-24
- FunctionalPerl.pm: use proper pod formatting with links
0.72.7 2019-11-24
- add FP::autobox
- clean up Windows skipping, eliminate top-level test.pl script
- add group import feature to FunctionalPerl module
- fix in Array: report out of range errors (todo: there are more of these)
0.72.6 2019-11-22
- attempt to fix CPAN testers issues missing even "Test::Requires"
itself
0.72.5 2019-11-22
- improved regex_*substitute, eliminate line numbers from tests
- more Windows fixing
- Lots of updating in intro/basic
- enable more tests
0.72.4 2019-11-21
- more "fix skipping over tests that require missing dependencies"
- exclude some tests on Windows
- other test fixes
- silence a load time warning on Windows
- docs fixes and improvements
0.72.3 2019-11-21
- renames for better names of packages, config and settings files
- fix skipping over tests that require missing dependencies
- fix some warnings at testing time
- Makefile.PL improvements
- more improvements for CPAN indexing
0.72.2 2019-11-20
- rename some modules to fix unauthorized namespace use
- other improvements for CPAN indexing incl. POD fixes
(Deleted again to prevent old Chj::HTTP::Daemon from being
preferred due to higher version.)
0.72.1 2019-11-20
- first release to CPAN
(Deleted again to free up namespaces that weren't intended to be
allocated.)