Revision history for FunctionalPerl
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.)