Gareth Rees
2f4c618ffb
Add some casts so that visual studio c++ 2010 express does not complain about loss of data and signed/unsigned comparison.
...
Copied from Perforce
Change: 180499
ServerID: perforce.ravenbrook.com
2012-11-19 15:10:30 +00:00
Gareth Rees
d522e73711
Integrate gcc compatibility fixes from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 180476
ServerID: perforce.ravenbrook.com
2012-11-15 11:40:09 +00:00
Gareth Rees
af8e1aad91
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
4133528ded
Avoid warnings under gcc:
...
* Use <errno.h> instead of "extern int errno;".
* Can't cast function pointer to object pointer.
* GCC's dataflow analysis wrongly thinks "end" can be used uninitialized.
Copied from Perforce
Change: 180474
ServerID: perforce.ravenbrook.com
2012-11-15 11:35:33 +00:00
Gareth Rees
4e75e51472
Need -std=c99 in order to use vsnprintf.
...
Copied from Perforce
Change: 180473
ServerID: perforce.ravenbrook.com
2012-11-15 11:33:54 +00:00
Gareth Rees
5e9f42cd44
Use three generations and 32 mb of address space.
...
Copied from Perforce
Change: 180467
ServerID: perforce.ravenbrook.com
2012-11-14 14:12:12 +00:00
Gareth Rees
38000922fc
Typo.
...
Copied from Perforce
Change: 180461
ServerID: perforce.ravenbrook.com
2012-11-13 15:07:49 +00:00
Gareth Rees
323e12294f
Merge documentation changes.
...
Copied from Perforce
Change: 180445
ServerID: perforce.ravenbrook.com
2012-11-11 20:44:19 +00:00
Gareth Rees
d298fea296
Document more of the entry points.
...
Copied from Perforce
Change: 180444
ServerID: perforce.ravenbrook.com
2012-11-11 20:42:56 +00:00
Gareth Rees
2974145d2d
Merge "do" implementation from scheme.c into scheme-advanced.c.
...
Copied from Perforce
Change: 180443
ServerID: perforce.ravenbrook.com
2012-11-11 19:41:01 +00:00
Gareth Rees
717c7e32e4
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
fd03ed65aa
Implement "do".
...
Copied from Perforce
Change: 180441
ServerID: perforce.ravenbrook.com
2012-11-11 19:34:46 +00:00
Gareth Rees
6f81d69df3
Add two new events:
...
* ArenaAccess for handling barrier hits;
* ArenaPoll for choosing a quantum of work.
Copied from Perforce
Change: 180432
ServerID: perforce.ravenbrook.com
2012-11-09 15:19:35 +00:00
Gareth Rees
d17e0165e4
(a very little) support for building scheme-boehm.
...
Copied from Perforce
Change: 180419
ServerID: perforce.ravenbrook.com
2012-11-08 16:11:08 +00:00
Gareth Rees
0603aac21a
Frequent garbage collection often turns up problems.
...
Copied from Perforce
Change: 180418
ServerID: perforce.ravenbrook.com
2012-11-08 15:22:09 +00:00
Gareth Rees
7c32a70133
One more test case implemented.
...
Copied from Perforce
Change: 180417
ServerID: perforce.ravenbrook.com
2012-11-08 15:21:51 +00:00
Gareth Rees
57b2c283b2
Integrate promise fix from scheme to scheme-advanced.
...
Copied from Perforce
Change: 180416
ServerID: perforce.ravenbrook.com
2012-11-08 15:20:57 +00:00
Gareth Rees
efb6eb325a
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
95389d01d0
Add (gc) stub to scheme-malloc.c so we can call it from the test suite.
...
Copied from Perforce
Change: 180414
ServerID: perforce.ravenbrook.com
2012-11-08 15:19:46 +00:00
Gareth Rees
c7ef8089ab
Implement full "map" and "for-each" behaviour and run test cases.
...
Copied from Perforce
Change: 180410
ServerID: perforce.ravenbrook.com
2012-11-08 14:01:51 +00:00
Gareth Rees
ce1d9fe08f
Integrate "apply" fix into scheme-advanced.c.
...
Copied from Perforce
Change: 180409
ServerID: perforce.ravenbrook.com
2012-11-08 14:01:10 +00:00
Gareth Rees
7e08dab17c
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
2c01ab86cf
Operators need to be self-evaluating.
...
"apply" needs to quote the arguments to avoid them being doubly evaluated.
Copied from Perforce
Change: 180407
ServerID: perforce.ravenbrook.com
2012-11-08 13:53:49 +00:00
Gareth Rees
69ec6a0e0e
Implement lots more r4rs.
...
Copied from Perforce
Change: 180377
ServerID: perforce.ravenbrook.com
2012-11-06 22:37:53 +00:00
Gareth Rees
d32dc9d43f
Oops, forgot to remove mps-specific comment.
...
Copied from Perforce
Change: 180376
ServerID: perforce.ravenbrook.com
2012-11-06 19:43:21 +00:00
Gareth Rees
e8ad32e097
Boehm port of the scheme interpreter.
...
Copied from Perforce
Change: 180375
ServerID: perforce.ravenbrook.com
2012-11-06 19:25:31 +00:00
Gareth Rees
df5b7f159c
Branch scheme-malloc.c to scheme-boehm.c.
...
Copied from Perforce
Change: 180374
ServerID: perforce.ravenbrook.com
2012-11-06 18:37:46 +00:00
Gareth Rees
8756115a86
"make clean" now idempotent.
...
Copied from Perforce
Change: 180366
ServerID: perforce.ravenbrook.com
2012-11-06 13:52:59 +00:00
Gareth Rees
ef1e9d50f4
More r4rs, r5rs.
...
Copied from Perforce
Change: 180365
ServerID: perforce.ravenbrook.com
2012-11-06 12:16:59 +00:00
Gareth Rees
675a07679e
Avoid type pun.
...
Copied from Perforce
Change: 180364
ServerID: perforce.ravenbrook.com
2012-11-06 12:16:46 +00:00
Gareth Rees
bd5f4e6e67
Integrate table_delete bugfix from scheme.c.
...
Copied from Perforce
Change: 180355
ServerID: perforce.ravenbrook.com
2012-11-05 23:57:21 +00:00
Gareth Rees
62ec3013e8
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
7115cb8099
Targets depend on the makefile.
...
Copied from Perforce
Change: 180308
ServerID: perforce.ravenbrook.com
2012-11-04 23:06:56 +00:00
Gareth Rees
01f052d63e
Oops, forgot to check in advanced.rst.
...
Copied from Perforce
Change: 180304
ServerID: perforce.ravenbrook.com
2012-11-03 18:28:36 +00:00
Gareth Rees
31c5b39795
Write "advanced topics" chapter of the user guide.
...
Copied from Perforce
Change: 180303
ServerID: perforce.ravenbrook.com
2012-11-03 17:38:57 +00:00
Gareth Rees
493989efb7
Merge improvements from scheme.c.
...
TAG_COUNT is a better name than TAG_LENGTH.
Handle splat correctly even if no dependent object.
Copied from Perforce
Change: 180302
ServerID: perforce.ravenbrook.com
2012-11-03 17:38:37 +00:00
Gareth Rees
248fc6690b
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
0686f64ff4
Fix bug: actually close the file in entry_close_port.
...
Copied from Perforce
Change: 180300
ServerID: perforce.ravenbrook.com
2012-11-03 17:08:15 +00:00
Gareth Rees
44b734b3a0
Separate the interactive and non-interactive loops for clarity.
...
New function "load" loads a file; call this in the non-interactive case.
Fix bug: close file handle after loading (if no error).
Copied from Perforce
Change: 180299
ServerID: perforce.ravenbrook.com
2012-11-03 15:49:59 +00:00
Gareth Rees
2ee1746ea8
Integrate quasiquote improvements from scheme.c.
...
Copied from Perforce
Change: 180297
ServerID: perforce.ravenbrook.com
2012-11-02 22:45:41 +00:00
Gareth Rees
0130b9fe05
Integrate quasiquote improvements.
...
Copied from Perforce
Change: 180296
ServerID: perforce.ravenbrook.com
2012-11-02 22:39:26 +00:00
Gareth Rees
fef5178a3a
Improve quasiquote implementation.
...
Copied from Perforce
Change: 180295
ServerID: perforce.ravenbrook.com
2012-11-02 22:38:05 +00:00
Gareth Rees
7f34f0e8cb
Implement the global symbol table as a weak-value hash table from strings to symbols.
...
Copied from Perforce
Change: 180294
ServerID: perforce.ravenbrook.com
2012-11-02 21:23:12 +00:00
Gareth Rees
d18dd95c1f
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
99d142ffd6
Implement "error".
...
Copied from Perforce
Change: 180292
ServerID: perforce.ravenbrook.com
2012-11-02 19:07:55 +00:00
Gareth Rees
ae557d16c9
New test case for weak hash tables (doesn't pass yet).
...
Copied from Perforce
Change: 180291
ServerID: perforce.ravenbrook.com
2012-11-02 17:35:39 +00:00
Gareth Rees
f05835b3ae
Refactor test code now that we can load it.
...
Copied from Perforce
Change: 180290
ServerID: perforce.ravenbrook.com
2012-11-02 17:35:05 +00:00
Gareth Rees
3633d3b64a
Merge scheme.c changes (load, eqv) into scheme-advanced.c.
...
Improve weak hash table interface.
Fix a couple of bugs in handling of dependent objects.
Copied from Perforce
Change: 180289
ServerID: perforce.ravenbrook.com
2012-11-02 17:34:49 +00:00
Gareth Rees
186cafaa5c
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
5225f07f06
Implement load.
...
Copied from Perforce
Change: 180287
ServerID: perforce.ravenbrook.com
2012-11-02 16:38:44 +00:00