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
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
2d5fc4a202
Upversioned, README updated
2018-12-28 22:36:26 +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
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