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 this

0.72.73 2023-1-22
    - fix
    - 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
    - SortedPureArray: 'finish' by adding `sortedpurearray_by`
      function (and docstring); add it to FunctionalPerl's :sequences
    - Add this week's Perl Weekly Challenges

0.72.60 2021-5-16
    - Create FP::SortedPureArray, add `as_sorted_by` method to
    - 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
    - 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"

0.72.51 2021-4-21
    - make test not fail in the absence of

0.72.50 2021-4-21
    - Fix "Repl: change to save history as individual files,
    - 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
    - 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
    - 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
    - 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
    - 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
    - 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

0.72.28 2019-12-22
    - Dependencies: hopefully fixes #131217 on
    - 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

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 ->

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
    - 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 (; 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 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
    - use proper pod formatting with links

0.72.7 2019-11-24
    - add FP::autobox
    - clean up Windows skipping, eliminate top-level 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"

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