Commit graph

136 commits

Author SHA1 Message Date
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 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
Simon Brooke cec32eff54 Progress, but there's something wrong with nlambdas 2018-12-13 23:20:34 +00:00
Simon Brooke 11409301da Tactical commit before trying adventurous change in peano 2018-12-13 19:23:44 +00:00
Simon Brooke facd5ccc94 Started work on nlambda. It isn't working yet. 2018-12-13 17:08:47 +00:00
Simon Brooke 0550b0168f And now the interpreter works (I think) correctly! 2018-12-13 13:31:04 +00:00
Simon Brooke 676b231743 Interpreter working! 2018-12-12 18:49:05 +00:00
Simon Brooke 7189c0172c Much work on the interpreter, but it is getting messy
Going to try something radically different
2018-12-12 16:20:16 +00:00
Simon Brooke 7d0b6bec97 Colourised print. 2018-12-12 11:48:24 +00:00
Simon Brooke 9bfc9074b0 Improved (for me) formatting on Mac
Don't yet know whether this will work on Linux.
2018-12-08 14:09:57 +00:00
Simon Brooke 27fd678888 Tried to get more sensible printing of floating point numbers
Results are quite disappointing. Resolution on long doubles is nothing like as good as I hoped; they're out by one part in 10^20.

All unit tests except one pass, and the one that doesn't is a very minor rounding issue, so I'm calling it good.
2018-12-08 00:29:05 +00:00
Simon Brooke fc960dec20 Fixed! A stupid error which was entirely my fault 2018-12-07 22:33:59 +00:00
Simon Brooke d620542ee5 Trying to get to the point where make format works the same
on Linux and MacOS
2018-12-07 21:37:31 +00:00
Simon Brooke 93b84087ce There's an enormous lot of good stuff in this, but I've messed up print
almost certainly by writing a non-wide character to a wide stream.
2018-12-07 20:09:33 +00:00
Simon Brooke 7e40d65df0 Fixed misnamed unit test file; upversioned to 0.0.2 2018-12-07 06:51:00 +00:00
Simon Brooke 645ab3674e All unit tests pass. The eval-quote problem is solved. 2018-12-07 06:43:23 +00:00
Simon Brooke fd9c851185 Merge branch 'develop' of github.com:simon-brooke/post-scarcity into develop 2018-12-07 06:39:23 +00:00
Simon Brooke 1307c65e94 And the answer was, eval is a function, not a special form. 2018-12-07 06:32:02 +00:00
Simon Brooke 88fd7d95d9 Added Doxyfile, updated Makefile, reformatted. 2018-12-06 18:12:15 +00:00
Simon Brooke 3112f190db Work on the eval-quote bug. I have a really profound misunderstanding here!
But, in working on it, I've worked hard on documentation, which is good.
2018-12-06 17:55:54 +00:00
Simon Brooke 7f29c11592 Added new unit test for a failing behaviour in eval 2018-12-05 09:33:37 +00:00
simon 01cf08b100 COND working 2017-10-16 14:37:09 +01:00
simon b989b5e041 PROGN working 2017-10-16 12:22:49 +01:00
simon 05854725c8 Upversion to 0.0.1 2017-10-15 18:31:10 +01:00
simon 685790df43 Apply works; all unit tests pass. 2017-10-15 18:27:55 +01:00
simon 8e7d1ab913 More work on apply, also trying to read dotted pairs. 2017-10-15 17:01:03 +01:00
Simon Brooke 89b4f093f9 Fixed bug which caused reader to infinite loop if symbol contained non-alnum. 2017-10-15 15:14:34 +01:00
Simon Brooke 0685442e1a Tidied up 'wide' printing. 2017-10-15 14:31:57 +01:00
Simon Brooke ba4a31c25a All tests passing except 'apply', which is genuinely broken; I'm not yet sure
what's wrong.
2017-10-15 14:17:54 +01:00
Simon Brooke 3e8e621fdd Merge remote-tracking branch 'refs/remotes/origin/develop'
Conflicts:
	src/consspaceobject.h
2017-10-06 18:28:14 +01:00
simon 0e224e551b EVAL on arithmetic operations still not working 2017-10-06 18:27:01 +01:00
Simon Brooke 77393b70ad Fix build bugs 2017-09-25 13:34:46 +01:00
Simon Brooke b713c1822d WArning! this doesn't even build! Half way through reworking eval. 2017-09-17 20:18:15 +01:00
simon cf1b09c62a Bug in reading reals. 2017-09-17 11:29:49 +01:00
simon 79f7492390 Whitespace changes only - trying to keep the format regular 2017-09-14 19:02:03 +01:00
Simon Brooke e43c9a7b33 Documentation in conspage.h 2017-09-14 15:51:11 +01:00
Simon Brooke 27f39e85ea Integer arithmetic works, real doesn't - yet. 2017-09-13 18:01:35 +01:00
Simon Brooke 648a4cd522 Add and multiply now work, but robustly. 2017-09-13 17:00:13 +01:00
simon 0826dcfdda Huge progress. Now actually working. 2017-09-13 15:58:59 +01:00
simon 9661ad339a This isn't working, but I think it's progress. 2017-09-13 12:50:20 +01:00
Simon Brooke 5dee093e65 All tests still pass and a lot of debugging junk is gone 2017-09-13 00:25:11 +01:00
simon 306f520082 12/12 tests passed! Moving onward... 2017-09-12 22:30:15 +01:00
simon 36d8431a91 11 out of 12 unit tests passing, progress!
I don't understand why it works, but it works.
2017-09-12 22:14:11 +01:00
simon d7886550a6 Standardised formatting. 2017-08-14 20:18:13 +01:00
simon 31176e1f39 Some improvement, but two unit tests fail. 2017-08-14 17:57:23 +01:00
Simon Brooke e968b30bbc Sorted out some interesting buglets in read and print (although there is
still one I know of). More unit tests, and all pass. Not evalling yet.

Good day's work.
2017-01-20 18:24:48 +00:00
Simon Brooke 770767c11e Now have quote. Everything still seems to work. Unit tests still pass. 2017-01-20 12:27:09 +00:00
Simon Brooke 03dfe37045 Lisp-ops bound on oblist but not yet being used. All unit tests still pass. 2017-01-20 12:05:10 +00:00
Simon Brooke 1133a07752 Enough lisp operations implemented that it's now probably possible to
try a read-eval-print loop. Read still isn't correctly reading UTF characters,
but so long as I don't use UTF characters it's OK (bug needs fixing, but).
2017-01-13 17:40:49 +00:00
Simon Brooke 7e53ce2c4f Added stuff for a lisp stack, but not yet integrated. 2017-01-13 08:44:56 +00:00
Simon Brooke 432ccb2d44 Frustrating. I think all the conversion to 'wide' (UTF) character handling
is done, and all the existing unit tests pass - but UTF characters are
nevertheless not read or printed correctly.
2017-01-13 00:45:00 +00:00
Simon Brooke 472b58b900 Merge branch 'master' of github.com:simon-brooke/post-scarcity 2017-01-12 18:41:36 +00:00
simon f64469235d Argh! 2017-01-12 15:02:41 +00:00
simon b0ea969197 Almost working lispops. 2017-01-12 15:02:13 +00:00
Simon Brooke c47ef5d8f9 Interning symbols (actually, not just symbols) and creating an oblist. 2017-01-07 16:09:40 +00:00
Simon Brooke ecf5fe19bb Added equality operators, so that I can intern symbols. 2017-01-07 13:48:18 +00:00
Simon Brooke 2d9f4b0439 All unit tests passing! This is slightly a fix because there is a bug with
the character read after reading a number not being correctly pushed back
onto the input stream, but...
2017-01-07 12:24:54 +00:00
Simon Brooke 6eab3a531a Added more unit tests. 2017-01-07 11:13:06 +00:00
Simon Brooke 8026138b9c Added primitive unit testing. 2017-01-07 10:48:28 +00:00
Simon Brooke 85cc542d74 Reads, stores and prints numbers correctly. Reads and stores lists and
strings, but they don't print correctly.
2017-01-07 02:17:54 +00:00
Simon Brooke 5920b0d04f Added first cut of reader and writer, but nothing working at this stage. 2017-01-06 22:49:04 +00:00
simon 0e693d4360 Well, a strat has been made. 2017-01-06 16:21:11 +00:00
simon 2e77d2beb6 Having found rust wasn't going to work, I've hacked up a rough core of the
cons space in C. None of this is tested.
2017-01-06 15:25:16 +00:00
simon 655526afac I'd like to have used Rust as the implementation language for this, but it
doesn't really work yet because it lacks union structs. So, much as I dislike
C, C it will have to be.
2017-01-06 10:14:57 +00:00
Simon Brooke 0092c30390 Added Cargo.toml and main.rs, even though neither does anything of interest
yet.
2017-01-04 19:13:17 +00:00