1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 05:01:02 -08:00
Commit graph

65 commits

Author SHA1 Message Date
Gareth Rees
aaf7920007 Integrate apply from scheme-malloc.c.
Copied from Perforce
 Change: 180270
 ServerID: perforce.ravenbrook.com
2012-11-02 12:45:22 +00:00
Gareth Rees
a33c71a346 Implement apply.
Copied from Perforce
 Change: 180269
 ServerID: perforce.ravenbrook.com
2012-11-02 12:44:20 +00:00
Gareth Rees
468a79a99c Integrate references to documentation.
Copied from Perforce
 Change: 180258
 ServerID: perforce.ravenbrook.com
2012-11-02 11:58:38 +00:00
Gareth Rees
045c45a18c Add references to documentation.
Copied from Perforce
 Change: 180256
 ServerID: perforce.ravenbrook.com
2012-11-02 11:57:16 +00:00
Gareth Rees
2fb8140c68 Merge changes from scheme.c into scheme-advanced.c:
1. Deletion of keys in hash tables.
2. Forwarding of character objects on 64-bit platforms.
3. Fix to hash table probe sequence.
4. Comments in Scheme source.
5. Fix to define (implicit begin).
6. Extend equal? to vectors and strings.
7. Add references to R4RS documentation.
8. Implement list-tail, list-ref, open-output-file, close-input-port, close-output-port, write, write-string, newline, hashtable?, hashtable-size, hashtable-delete!, hashtable-contains?, hashtable-keys.
9. Fix bug (buckets might be scanned before dependent object is set).
10. Non-interactive mode.

Copied from Perforce
 Change: 180255
 ServerID: perforce.ravenbrook.com
2012-11-02 11:50:33 +00:00
Gareth Rees
0d17ceb416 Integrate changes from scheme-malloc to scheme.
Add test target to Makefile.

Copied from Perforce
 Change: 180253
 ServerID: perforce.ravenbrook.com
2012-11-02 11:19:45 +00:00
Gareth Rees
e42bab4f76 Make sure that probe sequence visits all buckets in the hash table by (a) ensuring that hash tables are a power of 2 in size; (b) ensuring that the probe step is odd.
Copied from Perforce
 Change: 180252
 ServerID: perforce.ravenbrook.com
2012-11-02 11:16:10 +00:00
Gareth Rees
bf1480c169 Chatter only if interactive.
Copied from Perforce
 Change: 180251
 ServerID: perforce.ravenbrook.com
2012-11-02 10:58:29 +00:00
Gareth Rees
879231be2d Add non-interactive execution.
Implement list-tail and list-ref.

Copied from Perforce
 Change: 180249
 ServerID: perforce.ravenbrook.com
2012-11-02 10:24:39 +00:00
Gareth Rees
b68fc45c4a Implement string-hash and correct error messages.
Copied from Perforce
 Change: 180244
 ServerID: perforce.ravenbrook.com
2012-11-01 22:07:33 +00:00
Gareth Rees
d3d7372e88 Merge changes from scheme-malloc.c to scheme.c.
Copied from Perforce
 Change: 180242
 ServerID: perforce.ravenbrook.com
2012-11-01 19:16:34 +00:00
Gareth Rees
57859a8d1a Segregate leaf objects into an amcz pool.
Copied from Perforce
 Change: 180240
 ServerID: perforce.ravenbrook.com
2012-11-01 18:14:41 +00:00
Gareth Rees
5b50c401c3 Fix bug in "define": no implied "begin" around function body.
Implement open-output-file, close-input-port, close-output-port, write, write-string, and newline.
Add Scheme test cases.

Copied from Perforce
 Change: 180238
 ServerID: perforce.ravenbrook.com
2012-11-01 18:05:34 +00:00
Gareth Rees
f9acc18caa Merge new hashtable stuff from scheme-malloc.c.
Fix bug in scheme.c (characters were only 8 bytes on 64-bit platforms, so can't be forwarded).

Copied from Perforce
 Change: 180231
 ServerID: perforce.ravenbrook.com
2012-11-01 15:37:43 +00:00
Gareth Rees
5e275103ed Add more hashtable features, including deletion (which we'll need for weak hashtables).
Copied from Perforce
 Change: 180225
 ServerID: perforce.ravenbrook.com
2012-11-01 14:37:45 +00:00
Gareth Rees
a8d8e95934 Try segregating leaf objects.
Copied from Perforce
 Change: 180209
 ServerID: perforce.ravenbrook.com
2012-10-31 22:52:39 +00:00
Gareth Rees
13af2f01a4 Weak hash tables in scheme-advanced.c.
Copied from Perforce
 Change: 180208
 ServerID: perforce.ravenbrook.com
2012-10-31 22:13:46 +00:00
Gareth Rees
760d198ea9 Branch scheme.c to scheme-advanced.c.
Copied from Perforce
 Change: 180204
 ServerID: perforce.ravenbrook.com
2012-10-31 19:10:58 +00:00
Gareth Rees
5e62407261 Move old scheme to example/scheme/scheme-malloc.c
Provide instructions to build it.

Copied from Perforce
 Change: 180185
 ServerID: perforce.ravenbrook.com
2012-10-31 12:02:11 +00:00
Gareth Rees
d894dd466a Improve the scheme example hashtable implementation:
1. Follow R6RS for naming of functions and arguments.
2. Grow the hashtable when half full.

Copied from Perforce
 Change: 180184
 ServerID: perforce.ravenbrook.com
2012-10-31 11:54:25 +00:00
Gareth Rees
6f01e17f9f Put explanations of the location dependency code into scheme.c. also, add lots of cross-references to the manual.
Copied from Perforce
 Change: 180121
 ServerID: perforce.ravenbrook.com
2012-10-28 19:13:56 +00:00
Gareth Rees
d4e3e73d9f Simplify scheme hash table implementation by folding the hash into buckets_find.
Copied from Perforce
 Change: 180086
 ServerID: perforce.ravenbrook.com
2012-10-25 21:18:40 +01:00
Gareth Rees
300a183b5b Write location chapter.
Copied from Perforce
 Change: 180080
 ServerID: perforce.ravenbrook.com
2012-10-25 17:58:49 +01:00
Gareth Rees
2a5e529ba4 Simple address-based (eq?) hash table implementation without location dependency.
Copied from Perforce
 Change: 180079
 ServerID: perforce.ravenbrook.com
2012-10-25 16:03:35 +01:00
Gareth Rees
591065565e (gc) takes no arguments, so check this.
Copied from Perforce
 Change: 180075
 ServerID: perforce.ravenbrook.com
2012-10-25 14:03:07 +01:00
Gareth Rees
c7b7b017a3 Be clear about the need to reserve lots of address space in a virtual memory arena.
Copied from Perforce
 Change: 180071
 ServerID: perforce.ravenbrook.com
2012-10-25 11:34:45 +01:00
Gareth Rees
031f75382d Complete actions from meeting with rb.
Copied from Perforce
 Change: 180056
 ServerID: perforce.ravenbrook.com
2012-10-24 16:25:19 +01:00
Gareth Rees
962a4c8934 R4rs is the "one true scheme" according to rb, so refer to that.
Copied from Perforce
 Change: 180033
 ServerID: perforce.ravenbrook.com
2012-10-23 17:35:51 +01:00
Gareth Rees
fe9212db5f Give correct reference for open-input-file (it's in the standard library, not the language).
Remove string-set! (was removed in R6RS).

Copied from Perforce
 Change: 180019
 ServerID: perforce.ravenbrook.com
2012-10-22 23:09:37 +01:00
Gareth Rees
05a8eced97 Enable finalization messages.
Rename entry_open_in to entry_open_input for consistency.
Add comments with specification from R6RS.

Copied from Perforce
 Change: 180008
 ServerID: perforce.ravenbrook.com
2012-10-22 15:54:20 +01:00
Gareth Rees
c3a91c815c Fix bug in append when the first argument is nil.
Copied from Perforce
 Change: 180004
 ServerID: perforce.ravenbrook.com
2012-10-22 12:54:35 +01:00
Gareth Rees
8dcd6ddb97 Implement procedure?, char?, char->integer, integer->char, string->list, and list->string.
Copied from Perforce
 Change: 179991
 ServerID: perforce.ravenbrook.com
2012-10-21 20:38:27 +01:00
Gareth Rees
1be5d945f2 Implement some string procedures: string?, make-string, string, string-length, string-ref, string-set!, substring, string-append, string-copy.
Copied from Perforce
 Change: 179990
 ServerID: perforce.ravenbrook.com
2012-10-21 19:59:47 +01:00
Gareth Rees
f859353280 Propagate changes from scheme-after.c to scheme.c; the former is no longer needed.
Convert license.txt and built.txt to reStructuredText and include them directly in the manual.

Copied from Perforce
 Change: 179957
 ServerID: perforce.ravenbrook.com
2012-10-19 11:26:25 +01:00
Gareth Rees
ab2c28cae4 Make sure that errors can be reported during initialization.
Fix cross-reference (now "start", not "main").

Copied from Perforce
 Change: 179902
 ServerID: perforce.ravenbrook.com
2012-10-16 16:22:45 +01:00
Gareth Rees
572b6624ae Fix url.
Copied from Perforce
 Change: 179896
 ServerID: perforce.ravenbrook.com
2012-10-16 12:17:19 +01:00
Richard Brooksby
861863389a Improving the start-up message on the scheme example as suggested by gdr.
Copied from Perforce
 Change: 179576
 ServerID: perforce.ravenbrook.com
2012-09-20 08:56:00 +01:00
Richard Brooksby
e819bf596f Implemented tail recursion.
Copied from Perforce
 Change: 179572
 ServerID: perforce.ravenbrook.com
2012-09-19 23:02:51 +01:00
Richard Brooksby
1b3c817ac8 Generating the scheme example makefile using autoconf, so that it gets the right flags for the platform.
Copied from Perforce
 Change: 179569
 ServerID: perforce.ravenbrook.com
2012-09-19 21:45:32 +01:00
Nick Barnes
cd4ece9201 Added > and < operators so i could write (define (tak a b c) ...) and other things.
Copied from Perforce
 Change: 179469
 ServerID: perforce.ravenbrook.com
2012-09-13 13:45:21 +01:00
Richard Brooksby
72def5850d Adding finalization to ports to show how it's done.
Printing statistics at the end of a collection.
Adding a Scheme function to force a full GC.
Adding the global syntax symbols as roots.  Oops!

Copied from Perforce
 Change: 179447
 ServerID: perforce.ravenbrook.com
2012-09-12 19:07:36 +01:00
Richard Brooksby
d39f090ba8 Integrating deletions from branch/2012-09-10/scheme-example. oops.
Copied from Perforce
 Change: 179430
 ServerID: perforce.ravenbrook.com
2012-09-11 16:44:39 +01:00
Richard Brooksby
5d4afc7f51 Integrating branch/2012-09-10/scheme-example
Copied from Perforce
 Change: 179429
 ServerID: perforce.ravenbrook.com
2012-09-11 16:41:33 +01:00
Richard Brooksby
3407e7354e Fixing another %%mps marker.
Copied from Perforce
 Change: 179422
 ServerID: perforce.ravenbrook.com
2012-09-11 15:08:00 +01:00
Richard Brooksby
6a0b934525 Making %%mps markers consistent and adding one to the symbol table.
Copied from Perforce
 Change: 179421
 ServerID: perforce.ravenbrook.com
2012-09-11 15:07:17 +01:00
Richard Brooksby
68a3760ce9 Adding a note about integration time.
Copied from Perforce
 Change: 179420
 ServerID: perforce.ravenbrook.com
2012-09-11 15:04:59 +01:00
Richard Brooksby
396d111709 Expunging the "hello world" example and replacing it with the scheme interpreter example where appropriate.
Copied from Perforce
 Change: 179419
 ServerID: perforce.ravenbrook.com
2012-09-11 14:52:27 +01:00
Richard Brooksby
4e39299392 Further improvements to documentation in the scheme example.
Copied from Perforce
 Change: 179418
 ServerID: perforce.ravenbrook.com
2012-09-11 14:51:45 +01:00
Richard Brooksby
cca2921f2d Converting old "@@@@" markers into todos as appropriate.
Removing FIXMEs that are already fixed.

Copied from Perforce
 Change: 179416
 ServerID: perforce.ravenbrook.com
2012-09-11 10:59:12 +01:00
Richard Brooksby
c856f16c96 Fixed line endings. they were classic mac (cr)!
Added MPS TO DO list.
Added printing of GC messages.
Further documentation improvements.

Copied from Perforce
 Change: 179415
 ServerID: perforce.ravenbrook.com
2012-09-11 10:54:29 +01:00