Commit graph

135 commits

Author SHA1 Message Date
Simon Brooke d9d789fdd0 Now creating the correct internal bignum representation
add_integers returns an integer which by inspection of the internal representation is correct, but the print representation is not correct.
2019-01-03 11:21:08 +00:00
Simon Brooke 4295b6e57f This isn't working, but it's VERY promising. 2019-01-01 15:04:44 +00:00
Simon Brooke 87007362f3 Fixed unit tests which were failing because of the change in formatting integers 2018-12-31 16:29:11 +00:00
Simon Brooke 6d2cf313cb Very small fix to formatting integers. 2018-12-31 16:24:38 +00:00
Simon Brooke a02d286ad5 Spotted a bug in car of a stream, and fixed it. 2018-12-31 16:18:39 +00:00
Simon Brooke 8fa71b13da Merge remote-tracking branch 'origin/feature/all-integers-are-bignums' into feature/all-integers-are-bignums 2018-12-31 16:15:25 +00:00
Simon Brooke e5f40032e9 Now safely detecting (but not dealing with) integer overflow.
Also printing and reading integers with comma separators.
2018-12-31 16:15:14 +00:00
Simon Brooke cad703f218 Now safely detecting (but not dealing with) integer overflow. 2018-12-31 16:11:55 +00:00
Simon Brooke 72ab4af20e Seem to have fixed the 'oblist getting lost' problem. 2018-12-31 14:43:47 +00:00
Simon Brooke e7dffcad2c Not really making progress. 2018-12-30 19:07:07 +00:00
Simon Brooke 02fe5669d8 Complete reworking of the REPL
which is good in itself, but not what I was meant to be working on.
2018-12-30 17:56:15 +00:00
Simon Brooke 47f4b4c7f7 Bug was in integer_to_string; all tests now pass. 2018-12-30 12:07:38 +00:00
Simon Brooke 61573d85d9 /all-integers-are-bignums: broken, but I don't know why. 2018-12-30 11:10:14 +00:00
Simon Brooke 489f008044 Printing of bignums basically done, not tested. 2018-12-29 23:44:28 +00:00
Simon Brooke 342f0308d3 The beginning of bignums is in place, tests still pass. 2018-12-29 22:30:07 +00:00
Simon Brooke c21a762413 Much better GC, still a few things being missed. 2018-12-29 20:34:31 +00:00
Simon Brooke 2ec5d37305 Noticed that my notes files weren't being rendered by github
Because .txt, not .md
2018-12-29 16:39:20 +00:00
Simon Brooke 7b126ea979 Garbage collection now much better, not good
There's clearly still a lot of things getting incremented but not decremented.
2018-12-29 09:35:29 +00:00
Simon Brooke ad806de656 Freeing vector-space objects, apparently good.
Not freeing enough cons-space objects, though!
2018-12-29 08:23:26 +00:00
Simon Brooke 40e1f3ca64 Whitespace only changes 2018-12-29 07:40:01 +00:00
Simon Brooke 8231c74bae Various fixes while trying to make defun! work
It still doesn't, but I think it's VERY close!
2018-12-28 22:41:00 +00:00
Simon Brooke a2afbe030f Merge branch 'release/0.0.4' into develop 2018-12-28 22:36:43 +00:00
Simon Brooke 2d5fc4a202 Upversioned, README updated 2018-12-28 22:36:26 +00:00
Simon Brooke 3d2d680041 Merge branch 'feature/stack-in-vector-space' into develop 2018-12-28 21:33:49 +00:00
Simon Brooke 570634bc43 Success! All tests pass. 2018-12-28 21:33:35 +00:00
Simon Brooke 96dad29f91 Good news: only one test failing. Bad news: it's nlambda. 2018-12-28 21:21:11 +00:00
Simon Brooke e52ccce0eb Much progress! Half the unit tests pass. 2018-12-28 15:50:37 +00:00
Simon Brooke 75abfb4050 Much better debugging, but it still doesn't work 2018-12-27 21:37:38 +00:00
Simon Brooke 3d5c27cb10 Horribly broken, may have to rethink. 2018-12-26 21:10:24 +00:00
Simon Brooke 9937f344dc Major refactoring. Major problems!
On the right path but it doesn't work yet.
2018-12-26 20:30:14 +00:00
Simon Brooke ae8ba67ed7 Better exceptions, investigation on failure to read/print wide chars. 2018-12-25 15:32:53 +00:00
Simon Brooke 9ff2f14c7d Reverse 2018-12-25 14:44:38 +00:00
Simon Brooke 9e5af35aa0 Read negative numbers 2018-12-25 13:51:15 +00:00
Simon Brooke 6ee9f9b59a Begun work on bignums; changed integer size to 64 bits
I'm fairly sure the size of a long int on my machines is 64 bit anyway, but for portability it needs to be explicit.
2018-12-25 13:18:37 +00:00
Simon Brooke ad9b1cd7f8 Ratio arithmetic separated out into its own files. 2018-12-24 21:06:58 +00:00
Simon Brooke a5e1d3ccd8 Reorganised source files to make navigation easier
All tests still pass (slightly to my surprise)
2018-12-24 19:27:04 +00:00
Simon Brooke f6ff403249 Basics of vector space sort of done, but not yet working. 2018-12-24 15:12:17 +00:00
Simon Brooke 7b1cdf4440 Ratio division 2018-12-24 12:32:41 +00:00
Simon Brooke 7e98207f7e Ratio multiplication and subtraction 2018-12-24 10:28:10 +00:00
Simon Brooke d725097f89 Ratio addition working perfectly; all tests pass. 2018-12-23 21:45:24 +00:00
Simon Brooke 813b24406d Ratio addition now works 2018-12-23 20:54:57 +00:00
Simon Brooke 4c9fdfc3db Added ratio numbers
(but some arithmetic is now broken)
2018-12-23 20:02:38 +00:00
Simon Brooke ea1d4ce7ed Doesn't compile, but I have a mess. 2018-12-23 19:23:00 +00:00
Simon Brooke 2c001a5f98 Sorting out what looked like a premature freeing bug.
It wasn't, but in investigating I tightened up allocation and deallocation in frames.
2018-12-23 15:16:53 +00:00
Simon Brooke 98120d045b All unit tests now pass 2018-12-23 14:16:51 +00:00
Simon Brooke 3c0c1515af Merge branch 'release/0.0.3' into develop 2018-12-21 21:41:10 +00:00
Simon Brooke 71b9a61814 Upversioned to 0.0.3 2018-12-21 21:39:57 +00:00
Simon Brooke 5a84f5e305 Fixed the eval-real test
So that it passes provided the answer is right to within one part in a million. Also worked on a solution to returning exceptions from make_stack_frame
2018-12-21 21:36:37 +00:00
Simon Brooke 7cd2cbf785 Very small progress. 2018-12-20 11:01:13 +00:00
Simon Brooke 637d78fb1b Much work, all I think positive, but defun still doesn't work. 2018-12-18 21:10:03 +00:00