Commit graph

118 commits

Author SHA1 Message Date
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