Gareth Rees
5559f36540
Fix indentation of second clause of license.
2020-08-30 10:13:06 +01:00
Gareth Rees
5165d75267
Use https: instead of http: when linking to the ravenbrook web site.
2020-08-30 10:13:03 +01:00
Peter Jackson
5d787d1cb4
Merge remaining changes from earlier licence branch.
...
Copied from Perforce
Change: 197111
2020-08-28 18:05:26 +01:00
Gareth Rees
56a5573881
Update xcode project for xcode 10.0.
...
Xcode 10.0 no longer supports building for IA-32, so the MPS can no longer support building for xci3ll using Xcode.
Revise example Scheme interpreter so that it can be compiled even if getopt.h includes unistd.h (as it does on macOS).
Copied from Perforce
Change: 195090
2018-09-18 15:00:45 +01:00
Richard Brooksby
0f8bee3762
Detabifying code and restructuredtext files.
...
Copied from Perforce
Change: 189309
ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +00:00
Gareth Rees
2b313decf1
Catch-up merge from master sources @186519 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186520
ServerID: perforce.ravenbrook.com
2014-06-12 11:43:56 +01:00
Gareth Rees
6e72fe4da3
Synchronize stdout and stderr (for the benefit of windows).
...
Copied from Perforce
Change: 186519
ServerID: perforce.ravenbrook.com
2014-06-12 11:37:50 +01:00
Gareth Rees
e93033f289
Must fflush stderr too--it's buffered on windows!
...
Copied from Perforce
Change: 186517
ServerID: perforce.ravenbrook.com
2014-06-12 11:28:41 +01:00
Gareth Rees
e79e0ee1dd
Need to synchronize stdout and stdin for the benefit of windows.
...
Copied from Perforce
Change: 186516
ServerID: perforce.ravenbrook.com
2014-06-12 11:22:55 +01:00
Gareth Rees
4dc70cba7c
All versions of the scheme interpreter now take multiple files on the command line.
...
Integrate change 186243 to scheme-{advanced,malloc,boehm}.c.
Copied from Perforce
Change: 186244
ServerID: perforce.ravenbrook.com
2014-05-22 13:16:29 +01:00
Gareth Rees
f025b00534
Turn on -wunreachable-code for gcc and clang.
...
Remove unreachable code:
* No need to have different debug options or structured allocation classes for different platforms.
* Don't use STATISTIC_BEGIN, use STATISTIC_STAT.
* #ifdef away the unused code in zmess.c for testing ControlAlloc failure.
* Remove unused code from the example Scheme interpreter.
Copied from Perforce
Change: 185089
ServerID: perforce.ravenbrook.com
2014-03-30 14:26:02 +01:00
Gareth Rees
37e3e2dfac
Suppress "variable may be used uninitialized" warnings.
...
Copied from Perforce
Change: 182545
ServerID: perforce.ravenbrook.com
2013-06-05 16:44:35 +01:00
Gareth Rees
341783a70c
Remove $id$: this causes sphinx to wrongly think that the download has changed.
...
Copied from Perforce
Change: 181165
ServerID: perforce.ravenbrook.com
2013-03-18 15:08:15 +00:00
Richard Brooksby
0ff56c73fd
Fixing typos in comments.
...
Copied from Perforce
Change: 180959
ServerID: perforce.ravenbrook.com
2013-02-19 16:52:44 +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
323e12294f
Merge documentation changes.
...
Copied from Perforce
Change: 180445
ServerID: perforce.ravenbrook.com
2012-11-11 20:44:19 +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
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
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
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
fef5178a3a
Improve quasiquote implementation.
...
Copied from Perforce
Change: 180295
ServerID: perforce.ravenbrook.com
2012-11-02 22:38:05 +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
5225f07f06
Implement load.
...
Copied from Perforce
Change: 180287
ServerID: perforce.ravenbrook.com
2012-11-02 16:38:44 +00:00
Gareth Rees
3dcc9800ad
Support more kinds of hashtable via make-hashtable.
...
Fix bug in eqv (character objects now test equal if they represent the same character).
Copied from Perforce
Change: 180284
ServerID: perforce.ravenbrook.com
2012-11-02 16:02:05 +00:00
Gareth Rees
700291e07c
New constructor make_bool avoids boilerplate.
...
Hash function takes a length so that it (1) it can support strings containing NULs; (2) it doesn't have to check for NULs so runs a bit faster; and (3) it performs OK on addresses (which often contain zero bytes).
Hash tables have hash and comparison functions.
Implement string=?, make-eqv-hashtable and make-hashtable.
Copied from Perforce
Change: 180281
ServerID: perforce.ravenbrook.com
2012-11-02 15:39:19 +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
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
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
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
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
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