updated manifest with all new files
[language-befunge.git] / Changes
blob9ac7ece5137140103bbf9cc13cc6c71e8ba55182
1 Revision history for Language::Befunge.
3 High-level changelog
4 ====================
6 4.0x    LB:LS split in LBS/LBW
7 3.0x    multidims, multiops possibilities
8 2.0x    optimizing + test coverage
9 1.2x    real LaheySpace support
10 1.1x    support for Build.PL
11 1.0x    official release + mailing-list
12 0.3x    oo interface
13 0.2x    libraries semantics
14 0.0x    initial work, with basic capabilities
17 Low-level changelog
18 ===================
20  - split LB::LaheySpace in LB::Storage and LB::Wrapping
21  - first storage implementations:
22     . LBS:2D:Sparse     2-dims, sparse hash
23     . LBS:Generic:AoA   n-dims, array of arrays
24  - first wrapping implementations:
25     . LBW:LaheySpace    funge98 wrapping
26  - LBI->new params stricter / easier
27  - requiring perl 5.10
31 4.00 <insert release date here>
32  - Insert lots of nifty reorganization stuff here (jq)
33  - LBV has additional rasterize method (moved and expanded from LBGSGA) (mg)
34  - LBV supports accelerated rasterize method in LBVXS 1.0.1 (mg)
35  - API standards: labels_lookup should return Vector objects. (mg)
36  - Adapt Storage::Generic::AoA to new LB tree.  Test it properly. (mg)
37  - API standards: expand() should exist for all Storage modules. (mg)
38  - Add new Generic::Vec storage module, with support for LBSGVXS. (mg)
39  - Consolidate generic Storage methods into a Storage base class. (mg)
40  - API standards: add get_dims() to the Storage API. (mg)
41  - Fix Interpreter->new() to allow specifying alternative plugins for
42    Storage and Wrapping and so forth. (mg)
43  - Add new Generic::Sparse storage module, and test it properly. (mg)
45 3.05 Tue Jan 22 17:52:27 CET 2008
46  - LBV now uses an array internally for more efficiency
47  - LBV tries to load transparently LBVXS for even more speed
48  - LB:LaheySpace.pm now also understand \r\n and \r terminated programs
49  - some tests cleaning
51 3.04 Wed Jan  9 17:50:58 CET 2008
52  - more robust way of skipping tests when Test::Exception isn't present
53    . fix t/1-classes/vector.t and t/3-lahey/generic.t
54    . fix RT ticket #32164
56 3.03 Sun Jan  6 19:05:09 CET 2008
57  - tests reorganized
59 3.02 Mon Nov 26 13:02:20 CET 2007
60  - kwalitee/cpants release
62 3.01 Wed Oct 24 14:22:24 CEST 2007
63  - fixing stricture
65 3.00 Fri Sep 28 17:41:27 CEST 2007
66  - new LB::Vector class for abstracting dimension (courtesy of Mark Glines)
67  - new LB::LaheySpace::Generic, a n-dims laheyspace (courtesy of Mark Glines)
68  - support for n-dims
69  - ops now belong to their own modules, with one test per op
70  - new LB::Interpreter class to create the combination dims / ops
71  - possibility to choose the set of ops: unefunge, befunge, generic-funge
72  - move to lib/ layout
76 2.08 Mon May 28 19:36:11 CEST 2007
77  - skipping a failing exec test on windows
79 2.07 Sat May 26 15:05:46 CEST 2007
80  - kwalitee release: LICENSE, pod tests, etc.
82 2.06 Tue May  2 18:02:12 CEST 2006
83  - corrected input error introduced during accessor split
84  - migrated 02befunge.t, 10stdio.t and 22lib.t to Test::More
85  - added tests for generic Befunge.pm test
86  - added tests for output errors
87  - added tests for library semantics
89 2.05 Mon May  1 18:34:18 CEST 2006
90  - migrated 03ip.t to Test::More
91  - updated 03ip.t to 100% cover L::B::IP
92  - updated 04lahey.t to 100% cover L::B::LaheySpace
93  - test-suite coverage is now 95.7%
95 2.04 Sun Apr 30 15:47:16 CEST 2006
96  - removed cargo-cult proto in constructors
97  - removed OO indirect notations
98  - renamed private methods to begin with _
99  - migrated 04lahey.t to Test::More
100  - ran coverage on the test-suite: 93.6%
102 2.03 Fri Feb 17 17:04:49 CET 2006
103  - use-ing integer for faster computations
105 2.02 Fri Feb 17 15:36:08 CET 2006
106  - rewritten accessors for L::B::IP, using same technik as L::B
107  - doc updated
109 2.01 Fri Feb 17 15:15:43 CET 2006
110  - rewritten accessors generation, for another speedup
111  - adapted the documentation
113 2.00 Fri Feb 17 14:48:54 CET 2006
114  - splitted accessors for L::B in get_* and set_*, for a small speedup. note:
115    this will break your code if you're running your own inner-loop!
116  - beginning of L::B 2.x, an optimization serie
120 1.20 Mon Feb 13 18:08:28 CET 2006
121  - fixed wrapping in L::B::LaheySpace::move_ip_forward to comply with
122    LaheySpace specs (courtesy of Mark Glines)
124 1.11 Tue Feb  7 18:07:03 CET 2006
125  - fixed L::B::IP->svalue returning undef on non-existent stack depth (courtesy
126    of Mark Glines)
128 1.10 Tue Feb  7 15:05:13 CET 2006
129  - included a Module::Builder mechanism (old scheme with Makefile.PL is preserved)
133 1.06 Mon Feb  6 21:04:04 CET 2006
134  - reworked Makefile.PL (now more light-weight)
135  - added a TODO file
137 1.05 Mon Feb  6 19:01:37 CET 2006
138  - fixing wrapping when ip delta is greater than lahey space width or height
139    (courtesy of Mark Glines)
141 1.04 Wed Feb  1 17:38:49 CET 2006
142  - detecting infinite loop on bogus funges in move_curip (courtesy of Mark Glines)
144 1.03 Mon Jan  2 21:20:07 CET 2006
145  - fixing failed test on 64bits platforms (courtesy of Mark Glines)
147 1.02 Fri Dec  2 21:44:48 CET 2005
148  - enhanced input checking, dealing correctly with non-ascii characters
149    (with the help of Mark Glines)
151 1.01 Sat Nov 26 16:22:23 CET 2005
152  - unrolling k instruction to avoid deep recursion warning (courtesy of Mark Glines)
154 1.00 Thu Oct 28 19:13:59 CEST 2004
155  - i instruction support binary flag (courtesy of Philippe Bruhat)
156  - mailing-list available: language-befunge@mongueurs.net
157  - stable for now 2 years, -98 fully implemented: sane basis for further work
158    on the module
162 0.38 Fri May  3 14:47:09 CEST 2002
163  - Removed a (silly) debug message.
164  - Fool-proof for ascii input.
165  - Numeric input works with LB::IP::input() (just as ascii input).
166  - Numeric input asks for input until it gets a valid input.
168 0.37 Wed Apr 24 08:54:00 CEST 2002
169  - New mechanism of libraries loading: loading instances of extension instead
170    of a plain module.
171  - doc/library.pod modified to reflect this.
173 0.36 Mon Apr 22 20:44:10 CEST 2002
174  - jqbf98 now understands the -v flag (verbose)
175  - New examples tpr00.bf, palin.bf
176  - IP.pm now has two methods spush_vec and spop_vec. Befunge.pm modified to
177    take advantage of those methods.
178  - IP.pm now has a method spush_args to push (and convert) arguments on the stack.
179  - IP.pm comes with a storage facility to allow library to fetch and store
180    whatever data they want. This is highly experimental and the interface may
181    change in future releases.
183 0.35 Tue Apr 16 17:20:29 CEST 2002
184  - LaheySpace::labels_lookup() now also returns the velocity that found the label.
185  - Minor pod update.
187 0.34 Tue Apr 16 15:00:27 CEST 2002
188  - Minor bug fix in LaheySpace.pm. I discovered it by chance, since it's
189    a tiny little bug that did not seem to break anything.
190  - LaheySpace now has a labels_lookup() method, that allow to search for
191    labels inside comments. This will be used in Inline::Befunge and maybe
192    some extensions will use this non-standard mechanism.
193  - Minor update to doc/library.pod
195 0.33 Mon Apr 15 17:21:23 CEST 2002
196  - Fancy stuff added in order to support Inline::Befunge (does not change
197    the default behavior)
198  - One more debug message
200 0.32 Mon Apr 15 12:01:53 CEST 2002
201  - POD fixing in doc/library.pod
203 0.31 Mon Apr 15 09:41:21 CEST 2002
204  - Smarter way of handling parameters.
205  - jqbf98 interpreter now handles parameters.
207 0.30 Sun Apr 14 15:53:19 CEST 2002
208  - Befunge.pm now has an Object Oriented interface.
209  - rewriting tests to take the new interface into account.
213 0.20 Sat Apr 13 13:08:17 CEST 2002
214  - Befunge.pm modified to understand libraries semantics:
215    parens (to load/unload) and capital letters.
216  - IP modified in order to accept the libraries semantics.
217  - New directory lib/ where to put libraries.
218  - New libraries FOO and HELO
219  - New test 22lib -> test libraries semantics.
220  - Pod completed in Befunge.pm
221  - Tutorial (doc/library.pod) on how to build new extensions.
222  - all instructions implemented in instr.txt
226 0.12 Fri Apr 12 18:51:04 CEST 2002
227  - Shipped with some examples.
228  - Shipped with the Funge-98 specs.
230 0.11 Fri Apr 12 18:33:09 CEST 2002
231  - Bug fix in the way spaces are handled in strings.
232  - Bug fix in numeric input.
233  - Bug fix in ascii input.
234  - New script jqbf98, a standalone interpreter.
235  - Rewrite of Makefile.PL to install this file.
237 0.10 Fri Apr 12 15:04:10 CEST 2002
238  - More POD documentation.
239  - Bug fix in instruction t.
240  - More debug messages.
241  - New test 21concur.t -> tests concurrent Funge.
243 0.09 Fri Apr 12 12:05:03 CEST 2002
244  - Bug fix in y instruction (flags).
245  - Bug fix in y instruction (size of TOSS).
246  - 20th field of y instruction returns ENV sorted by keys.
247  - More debug messages in Befunge.pm
248  - New test 20system.t -> tests exec and info retrieval
250 0.08 Thu Apr 11 19:34:38 CEST 2002
251  - Fixed some bad API calls in Befunge.pm
252  - Bug fix in LaheySpace.pm
253  - More debug messages in Befunge.pm
254  - Minor bug fix in output file for text flag.
255  - New test 19storg.t -> tests storage
256  - 10stdio.t extended to test input and output file.
258 0.07 Thu Apr 11 17:49:03 CEST 2002
259  - Fixed a bug in IP.pm and 03ip.pm
260  - Fixed some bad API calls in Befunge.pm
261  - More debug messages.
262  - New test 18sos.t -> tests stack stack manipulation
263  - instr.txt rewritten.
265 0.06 Thu Apr 11 15:06:50 CEST 2002
266  - Pod cleaning in LaheySpace.pm.
267  - Some bug fixes in Befunge.pm
268  - New test 16string.t -> tests string thingies
269  - New test 17stack.t  -> tests stack stuff
271 0.05 Thu Apr 11 14:25:10 CEST 2002
272  - Completed 14flow.t
273  - New test 15decis.t -> tests decision making
275 0.04 Thu Apr 11 12:04:30 CEST 2002
276  - store_code includes magic to display the correct filename in error msgs.
277  - instr.txt explained.
278  - Bug fixes for control flow instructions.
279  - New test 13dir.t  -> tests direction changing
280  - New test 14flow.t -> tests flow control
282 0.03  Thu Apr 11 09:59:28 CEST 2002
283  - Bug fix with string-mode.
284  - Debug facilities.
285  - New test 02befunge.t -> tests the exported functions
286  - New test 10stdio.t   -> tests ,. and space
287  - New test 11nums.t    -> tests 0-9a-f
288  - New test 12maths.t   -> tests +-*/%
289  - New file inst.txt with the instruction and their current
290    status (tested with a X).
292 0.02  Wed Apr 10 14:22:31 CEST 2002
293  - New function store_code.
294  - Language::Befunge synopsis extended.
296 0.01  Wed Apr 10 14:01:20 CEST 2002
297  - Original version.
298  - Every instruction is implemented, but _not_ tested.
299  - Module LaheySpace written and tested.
300  - Module IP written and tested.