Simon Brooke
b6ae110f66
Hybrid assoc lists
2021-08-18 11:00:47 +01:00
Simon Brooke
b0a49fb71d
Restandardised formatting.
2021-08-17 16:37:04 +01:00
Simon Brooke
93d4bd14a0
Generally, changed working with tags as strings to as values.
...
This seems both cheaper and safer; what's not to like?
2021-08-17 16:09:00 +01:00
Simon Brooke
eadb125b83
Hashmaps now *mostly* work
2021-08-16 23:23:03 +01:00
Simon Brooke
4fc9545be8
Hashmaps sort-of work but there are still bugs and one test is failing that wasn't.
2021-08-16 18:55:02 +01:00
Simon Brooke
bfd7304da1
Bother. It looks like I'd already fully implemented hashmaps...
...
May need to back out a whole hill of work.
2021-08-16 15:12:05 +01:00
Simon Brooke
3f3b596ff0
Added the beginnings of hashmap but does not yet compile.
2021-08-03 15:46:50 +01:00
Simon Brooke
70d176982b
Work on exception handling, especially around ratio arithmetic
...
Much simplified but will break things!
2021-07-25 17:02:28 +01:00
Simon Brooke
d2101dbd47
Started to try to get back into this; work on exceptions and loops.
2021-07-24 08:54:55 +01:00
Simon Brooke
897d5d2670
Map in function position
2019-02-07 13:57:37 +00:00
Simon Brooke
f36436a9e1
#8 : Done
...
I'm now of the opinion that this is done at the wrong level in the stack and needs to be redone later; but it works for now.
There's a regression in `open`, but I can't see why.
2019-02-07 09:22:44 +00:00
Simon Brooke
0687b0baeb
#8 : Buggy, but a lot of it works.
2019-02-06 11:17:31 +00:00
Simon Brooke
b6958bbf65
#8 : compiles, but most tests fail.
2019-02-05 13:46:46 +00:00
Simon Brooke
e7ef82d23f
#8 : keywords as functions on associations working
2019-02-05 11:02:04 +00:00
Simon Brooke
bd4d655362
Metadata for file streams
2019-01-31 13:24:06 +00:00
Simon Brooke
f9bcac10e7
Fixed, working.
2019-01-29 22:36:20 +00:00
Simon Brooke
eb394d153f
Setting up medatata works...
...
And the `inspect` function correctly shows it. However, the `metadata` function segfaults.
2019-01-29 18:31:30 +00:00
Simon Brooke
a640c9dff9
It works!
2019-01-28 18:46:24 +00:00
Simon Brooke
0e11adea1c
Compiles, most tests break
2019-01-27 17:22:13 +00:00
Simon Brooke
a355a28ffa
Tactical commit whilst converting to URL_FILE
2019-01-24 19:36:00 +00:00
Simon Brooke
bf72ae379d
Getting closer. WARNING: GC disabled in this commit.
2019-01-22 09:48:26 +00:00
Simon Brooke
64fc43e9fc
OK, my idea that long multiplication is like long addition is wrong.
...
It's still broken, but it's broken because of fundamental misunderstanding which tinkering won't solve.
2019-01-20 23:34:46 +00:00
Simon Brooke
22fa7314d6
Mostly fixing and standardising documentation.
2019-01-20 20:37:44 +00:00
Simon Brooke
0f8bc990f2
Much investigation of bignum problems
...
bignum multiply is still not working, but as bignum read and bignum divide depend on it, it's the problem to hit first.
2019-01-19 16:28:15 +00:00
Simon Brooke
7f93b04b72
Various refactorings around bignum arithmetic
2019-01-17 17:04:14 +00:00
Simon Brooke
d624c671cd
Major refactoring, all tests still pass
...
Bignum issues not yet folly resolved.
2019-01-05 11:42:17 +00:00
Simon Brooke
67802a07b8
Now successfully reading/printing 2 cell bignums
...
Something is wrong with n-cell bignums, but let's make haste slowly.
2019-01-04 10:40:15 +00:00
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
a02d286ad5
Spotted a bug in car of a stream, and fixed it.
2018-12-31 16:18:39 +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
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
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
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
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