Gareth Rees
9e9c0e3990
Remove mps_arg from mps.h.
...
Use MPS_ARGS_BEGIN etc in the Scheme example and in the manual.
Use MPS_BEGIN and MPS_END instead of BEGIN and END.
The _FIELD macros don't need to be function-like macros.
Restore TODO comments in mps.h.
Scheme example compiles with -std=c89.
Copied from Perforce
Change: 181749
ServerID: perforce.ravenbrook.com
2013-05-13 21:01:38 +01:00
Gareth Rees
10c13b2a54
New macro mps_arg and revised macro mps_args_add mean that client programs no longer need to know which keyword argument goes in which field. revise documentation accordingly.
...
Copied from Perforce
Change: 181736
ServerID: perforce.ravenbrook.com
2013-05-12 17:21:03 +01:00
Gareth Rees
e417e073cf
Use the new keyword argument interface in the example scheme interpreter.
...
Copied from Perforce
Change: 181724
ServerID: perforce.ravenbrook.com
2013-05-11 19:24:41 +01:00
Gareth Rees
f0ec6da761
Clarify comment about why the 'start' function call is necessary.
...
Copied from Perforce
Change: 181452
ServerID: perforce.ravenbrook.com
2013-04-25 20:19:34 +01:00
Gareth Rees
28067f1952
Fix typo.
...
Copied from Perforce
Change: 181392
ServerID: perforce.ravenbrook.com
2013-04-15 14:06:32 +01:00
Gareth Rees
8a2b4e3fcb
Integrate removal of $id$ from scheme-malloc.c to scheme-boehm.c and scheme.c
...
Copied from Perforce
Change: 181166
ServerID: perforce.ravenbrook.com
2013-03-18 15:12:13 +00:00
Richard Brooksby
5b557ecfb6
Deprecating the mps trampoline by using vectored exception handling on windows.
...
Copied from Perforce
Change: 180961
ServerID: perforce.ravenbrook.com
2013-02-20 12:11:40 +00:00
Richard Brooksby
056b38813d
Fixing typos in comments.
...
Copied from Perforce
Change: 180959
ServerID: perforce.ravenbrook.com
2013-02-19 16:52:44 +00:00
Richard Brooksby
20491464a8
Corrected statement about forwarding objects being used for padding.
...
Copied from Perforce
Change: 180914
ServerID: perforce.ravenbrook.com
2013-02-05 16:17:40 +00:00
Gareth Rees
3c51999256
Integrate gcc compatibility from scheme-malloc.c to scheme.c and scheme-boehm.c.
...
Copied from Perforce
Change: 180475
ServerID: perforce.ravenbrook.com
2012-11-15 11:39:08 +00:00
Gareth Rees
f54b26e6a1
Merge documentation changes.
...
Copied from Perforce
Change: 180445
ServerID: perforce.ravenbrook.com
2012-11-11 20:44:19 +00:00
Gareth Rees
045d54a9e6
Merge "do" implementation into scheme-boehm.c and scheme.c.
...
Copied from Perforce
Change: 180442
ServerID: perforce.ravenbrook.com
2012-11-11 19:40:17 +00:00
Gareth Rees
3e48dcaeec
Oops, forgot to scan and skip promises!
...
Copied from Perforce
Change: 180415
ServerID: perforce.ravenbrook.com
2012-11-08 15:20:11 +00:00
Gareth Rees
c8ad6b46dc
Integrate "apply" fix into scheme-boehm.c and scheme.c.
...
Copied from Perforce
Change: 180408
ServerID: perforce.ravenbrook.com
2012-11-08 13:55:43 +00:00
Gareth Rees
b6300a3af4
Avoid type pun.
...
Copied from Perforce
Change: 180364
ServerID: perforce.ravenbrook.com
2012-11-06 12:16:46 +00:00
Gareth Rees
c06a2a56ac
Need to check hash table for staleness when deleting a key.
...
Copied from Perforce
Change: 180354
ServerID: perforce.ravenbrook.com
2012-11-05 23:29:23 +00:00
Gareth Rees
88d5827d32
Fix typo in make_port.
...
Hash tables only depend on the location of keys if they are hashed by address.
Port objects are registered for finalization when created, and definalized when closed.
New function load handles loading a file in both cases (and calls mps_chat to ensure finalization).
Avoid calling fclose multiple times on a file handle.
Merge main loop improvements from scheme-malloc.c.
Copied from Perforce
Change: 180301
ServerID: perforce.ravenbrook.com
2012-11-03 17:30:25 +00:00
Gareth Rees
0ec61243f9
Integrate quasiquote improvements.
...
Copied from Perforce
Change: 180296
ServerID: perforce.ravenbrook.com
2012-11-02 22:39:26 +00:00
Gareth Rees
e0d552ff66
Integrate error implementation from scheme-malloc.c.
...
Copied from Perforce
Change: 180293
ServerID: perforce.ravenbrook.com
2012-11-02 19:12:58 +00:00
Gareth Rees
73f266ef56
Integrate load from scheme-malloc.c.
...
Copied from Perforce
Change: 180288
ServerID: perforce.ravenbrook.com
2012-11-02 16:40:22 +00:00
Gareth Rees
0756e9d42a
Integrate eq-hash and eqv-hash from scheme-malloc.c.
...
Copied from Perforce
Change: 180285
ServerID: perforce.ravenbrook.com
2012-11-02 16:04:06 +00:00
Gareth Rees
05dacb91bb
Integrate string=?, make-eqv-hashtable, make-hashtable from scheme-malloc.c.
...
Copied from Perforce
Change: 180282
ServerID: perforce.ravenbrook.com
2012-11-02 15:43:07 +00:00
Gareth Rees
9d47c8fd46
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
42755dedcc
Add references to documentation.
...
Copied from Perforce
Change: 180256
ServerID: perforce.ravenbrook.com
2012-11-02 11:57:16 +00:00
Gareth Rees
6c7e10b9aa
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
4245b9766f
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
768d4870bb
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
37c725f76b
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
57846b3f16
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
ba1c150cba
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
5828766a9a
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
6f00a2f8bd
Write location chapter.
...
Copied from Perforce
Change: 180080
ServerID: perforce.ravenbrook.com
2012-10-25 17:58:49 +01:00
Gareth Rees
c41b4d2761
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
1603f60954
(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
f7cf9e366c
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
6675558167
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
399c0253c1
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
bbfd48355f
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
3e9ad7ed80
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
e18c4fda16
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
640765f1d7
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
750a1a4c28
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
65f88af86c
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
9b5960fbd0
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
fa54a2706f
Fix url.
...
Copied from Perforce
Change: 179896
ServerID: perforce.ravenbrook.com
2012-10-16 12:17:19 +01:00
Richard Brooksby
d8902d2237
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
97826b14d9
Implemented tail recursion.
...
Copied from Perforce
Change: 179572
ServerID: perforce.ravenbrook.com
2012-09-19 23:02:51 +01:00
Nick Barnes
0cb0531ed2
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
d8ae9d263d
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
8eda125100
Fixing another %%mps marker.
...
Copied from Perforce
Change: 179422
ServerID: perforce.ravenbrook.com
2012-09-11 15:08:00 +01:00