diff --git a/WordList-0.1.3.tar.gz b/WordList-0.1.3.tar.gz deleted file mode 100644 index 49f270a..0000000 --- a/WordList-0.1.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fc9139db338497026dfb32d44f15f97b6ee3e57638e775475e80180163b5419a -size 16234 diff --git a/WordList-0.4.1.tar.gz b/WordList-0.4.1.tar.gz new file mode 100644 index 0000000..59d824c --- /dev/null +++ b/WordList-0.4.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47b43ea3e027ddeca3172757a808690352ff11e053214d1734f29991a0b104c6 +size 19152 diff --git a/perl-WordList.changes b/perl-WordList.changes index 96a7be6..d6b1a68 100644 --- a/perl-WordList.changes +++ b/perl-WordList.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Fri Apr 6 06:42:54 UTC 2018 - coolo@suse.com + +- updated to 0.4.1 + see /usr/share/doc/packages/perl-WordList/Changes + + 0.4.1 2018-04-03 (PERLANCAR) + + - Define non-deterministic wordlist (DYNAMIC=2). + + - Remove todo list entries: no longer planned to provide random + pick from a subset, already provide interface for faster lookup + via WordList::Mod. + + + 0.4.0 2018-04-02 (PERLANCAR) + + - Define dynamic wordlist. + + - Namespace: Add wordlist namespaces: WordList::Dynamic, + WordList::Number. + + + 0.3.2 2018-04-02 (PERLANCAR) + + - No spec changes. + + - Namespace: Replace WordList::Role::* with WordList::Mod::*. + + + 0.3.1 2018-03-23 (PERLANCAR) + + - Add WordList::Bloom::* to non-wordlist namespace. + + - [dist] Activate DZP:WordList and PWP:WordList. + + + 0.3.0 2018-03-22 (PERLANCAR) + + - Add WordList::Namespace. + + - [spec] each_word() will exit early if code returns -2. + + - [test] Add some tests. + + - [internal] Implement word_exists, pick, and all_words in terms of + each_word(). Which is a tiny bit slower but more orthogonal and makes + it easier to change functionality. + + + 0.2.1 2018-03-19 (PERLANCAR) + + - [doc] Mention that there must not be duplicate entries. + + + 0.2.0 2018-03-19 (PERLANCAR) + + - Allow wordlist to be sorted other than ascibetically, and in that + case, require $SORT package variable to be set to some true value. + + - Move back implementation from WordListC (WordListC was an experiment + and its feature is now incorporated into WordList). + + + 0.1.5 2018-02-20 (PERLANCAR) + + - No spec changes. + + - [optimize] Avoid using base.pm. + + + 0.1.4 2018-02-20 (PERLANCAR) + + - No spec changes. + + - [doc] Mention WordListC. + + - Move implementation to WordListC and make it our base module. + ------------------------------------------------------------------- Tue Feb 20 07:10:37 UTC 2018 - coolo@suse.com diff --git a/perl-WordList.spec b/perl-WordList.spec index 5f83b8a..6586ccd 100644 --- a/perl-WordList.spec +++ b/perl-WordList.spec @@ -17,7 +17,7 @@ Name: perl-WordList -Version: 0.1.3 +Version: 0.4.1 Release: 0 %define cpan_name WordList Summary: Word lists @@ -30,6 +30,8 @@ BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(Test::Exception) +BuildRequires: perl(Test::More) >= 0.98 %{perl_requires} %description @@ -43,48 +45,29 @@ are read-only/immutable and the modules are designed to have low startup overhead. This makes them more suitable for use in CLI scripts which often only want to pick a word from one or several lists. -Words (or phrases) must be put in '__DATA__' section, *sorted* -ascibetically (or by Unicode code point), one per line. Putting the -wordlist in the '__DATA__' section relieves perl from having to parse the -list during the loading of the module. To search for words or picking some -random words from the list, the module also need not slurp the whole list -into memory (and will not do so unless explicitly instructed). Sorting +Unless you are defining a dynamic wordlist (see below), words (or phrases) +must be put in '__DATA__' section, one per line. Putting the wordlist in +the '__DATA__' section relieves perl from having to parse the list during +the loading of the module. To search for words or picking some random words +from the list, the module also need not slurp the whole list into memory +(and will not do so unless explicitly instructed). + +You must sort your words ascibetically (or by Unicode code point). Sorting makes it more convenient to diff different versions of the module, as well -as performing binary search. +as performing binary search. If you have a different sort order other than +ascibetical, you must set package variable '$SORT' with some true value +(say, 'frequency'). -Since this is a new and non-backward compatible interface from -Games::Word::Wordlist, I also make some other changes: +There must not be any duplicate entry in the word list. -* * Namespace is put outside 'Games::' - -Because obviously word lists are not only useful for games. - -* * Interface is simpler - -This is partly due to the list being read-only. The methods provided are -just: - -- 'pick' (pick one or several random entries) - -- 'word_exists' (check whether a word is in the list) - -- 'each_word' (run code for each entry) - -- 'all_words' (return all the words in a list) - -A couple of other functions might be added, with careful consideration. - -* * Namespace is more language-neutral and not English-centric - -TODOS: - -* * Interface for random pick from a subset - -Pick $n words of length $L. - -Pick $n words matching regex $re. - -* * Interface to enable faster lookup/caching +*Dynamic and non-deterministic wordlist.* A dynamic wordlist must set +package variable '$DYNAMIC' to either 1 (deterministic) or 2 +(non-deterministic). A dynamic wordlist does not put the wordlist in the +DATA section; instead, user relies on 'each_word()' or 'all_words()' to get +the list. A deterministic wordlist returns the same list everytime +'each_word()' or 'all_words()' is called. A non-deterministic list can +return a different list for a different 'each_word()' or 'all_words()' +call. %prep %setup -q -n %{cpan_name}-%{version}