Commit graph

649 commits

Author SHA1 Message Date
Alex Shinn
0aa20e30b2 not all ports record source info 2010-06-26 11:08:41 +09:00
Alex Shinn
dd0588d778 signalling exceptions on generalized sexp_* numeric operations 2010-06-26 11:07:38 +09:00
Alex Shinn
e7f588c6f2 got comparison order wrong in the isymbol vs. lsymbol case 2010-06-23 13:08:52 +00:00
Alex Shinn
565ed858fe fixing memory leak when redefining macros
(was generating a new env cell instead of overwriting the old one)
2010-06-23 22:04:38 +09:00
Alex Shinn
9a052ddb7c passing correctly adjusted size to munmap when using mmapped heaps 2010-06-22 23:09:18 +09:00
Alex Shinn
00e30bfcaa packing string data into symbol instead of consing an extra string object 2010-06-22 22:58:26 +09:00
Alex Shinn
d668b35501 committing branch merge 2010-06-22 13:52:28 +00:00
Alex Shinn
8b6b2e5e83 compressing environment structures
pack the next cell pointer into the source loc info
of the env cell instead of requiring a "backbone" list
2010-06-22 13:50:30 +00:00
Alex Shinn
09a9970f26 64-bit fixes 2010-06-22 22:48:09 +09:00
Alex Shinn
93e2927e9a destroying context at end of main
(this is continuing a streak of valgrind errors)
2010-06-22 13:33:24 +00:00
Alex Shinn
998951cab0 using memmove instead of memcpy for potentially overlapping bignum copies 2010-06-22 13:32:04 +00:00
foof
47a1c61117 need to free the buffer when using open_memstream
(unlike how it's done in the sample in the manpage)
2010-06-22 13:30:24 +00:00
foof
a24de22094 gc bug fixes, adding optional gc debugging utils 2010-06-21 14:42:36 +00:00
Alex Shinn
b0bc96fc05 fixing symbol sorting 2010-06-13 22:58:09 +09:00
Alex Shinn
5d21ee0b7c removing dependency on x86.c 2010-05-18 07:33:16 +09:00
Alex Shinn
4066d8563b initial edit-line module (readline replacement in pure scheme) 2010-05-16 18:08:55 +09:00
Alex Shinn
3002d71a65 updating stty with get-terminal-width
(debated creating a full ioctl module, but all you really want
from ioctl is the TIOCGWINSZ command)
2010-05-15 15:25:43 +09:00
Alex Shinn
87d13c3a46 internal defines inside local scopes introduced byu let(rec)-syntax
are now analyzed within the correct syntactic scope.
fixes r5rs_pitfalls.scm 8.3.
2010-05-15 15:04:15 +09:00
Alex Shinn
aaf3f84c22 only warning when a non-procedure is found in an operator position 2010-05-15 14:42:19 +09:00
Alex Shinn
102b946b9d getting current-in/out/err-ports without using eval in repl loop 2010-05-15 13:08:33 +09:00
Alex Shinn
14c4d0b57d named let evaluates the initial bindings outside the scope of the loop
(fixes 8.2 in r5rs_pitfalls.scm)
2010-05-15 13:07:01 +09:00
Alex Shinn
f8a3296372 moving apply to vm.c
copying lambda param lists on creation
2010-05-15 13:05:50 +09:00
Alex Shinn
73a4605a59 adding stty module 2010-05-13 00:46:19 +09:00
Alex Shinn
147686a452 increasing numeric output buffer size 2010-05-05 22:11:30 +09:00
Alex Shinn
aa0af80993 replacing sprintf with snprintf to handle numeric formatting overflow 2010-05-05 22:09:18 +09:00
Alex Shinn
758e423c1b fixing signedness bug in heap growing heuristics 2010-04-20 22:30:38 +09:00
Alex Shinn
4d64568736 fixing bug in lset-union (thanks to alexander shendi) 2010-04-20 21:12:24 +09:00
Alex Shinn
5c91226157 removing experimental x86.so from targets 2010-04-19 07:44:09 +09:00
Alex Shinn
340ab8404c off by one error on last patch 2010-04-15 22:34:43 +09:00
Alex Shinn
0299d42807 fixing bug reading SEXP_MIN_FIXNUM 2010-04-15 22:25:35 +09:00
Alex Shinn
53e538d5a3 initial refactoring of VM code to vm.c 2010-04-04 10:31:42 +09:00
Alex Shinn
6e554911e6 simplifying with sexp_assert_type macro 2010-04-04 10:28:09 +09:00
Alex Shinn
d5ddfe6a92 changing type_exception to use self and a type_id
this simplifies and reduces the number of different static strings.
specific error messages are still available with sexp_xtype_exception.
2010-04-04 10:10:17 +09:00
Alex Shinn
8357b3afaa forgot to add the new self, n parameters in the new stubber 2010-04-03 11:42:33 +09:00
Alex Shinn
9f239534b4 rewriting string->number in C to fix the error catching problem (should return #f)
this calls sexp_read_number directly passing the base, so the
C implementation is shorter than the Scheme implementation,
much faster, and as an opcode generates smaller bytecode per use.
2010-04-03 11:31:11 +09:00
Alex Shinn
f1040180f4 moving ctype.h and stdio.h includes after u.h include for plan9 (issue 47) 2010-03-30 22:07:37 +09:00
Alex Shinn
71821fc95a convertin plan9 functions to new API 2010-03-30 22:06:16 +09:00
Alex Shinn
a7794e8189 only conditionally defining _GNU_SOURCE to avoid warning (issue 48) 2010-03-30 22:03:30 +09:00
Alex Shinn
74f7c5737c updating sexp_intern calls 2010-03-25 17:40:02 +09:00
Alex Shinn
061dacbf8e adding sexp_version and sexp_release to plan9 mkfile 2010-03-25 17:34:52 +09:00
Alex Shinn
9a3c863630 updating some individual opcodes to new API 2010-03-24 20:42:49 +09:00
Alex Shinn
ded9bbf0b6 updating libraries and genstubs to use new primitives API 2010-03-24 20:13:05 +09:00
Alex Shinn
a89956fc16 new primitives API
Primitives now have a signature of prim(ctx, self, n, args ...)
instead of just prim(ctx, args ...).  This allows for variadic
primitives, should help clean up exception handling, and will
allow primitives generated from Scheme->C or JIT compilation.

The primitives sometimes used as utility functions from C such as
sexp_memq have been renamed with a "_op" suffix (e.g. sexp_memq_op)
and a macro sexp_memq has been provided filling in the self and n
args automatically.  The self is passed as NULL in these macros,
but will be probably replaced with a reference to the opcode later.
2010-03-24 19:58:50 +09:00
Alex Shinn
36043bb8da making sexp_make_procedure public 2010-03-24 01:27:09 +09:00
Alex Shinn
135d53a8f0 forgot to include eval.h 2010-03-23 20:53:12 +09:00
Alex Shinn
cc6f727add sexp_intern, sexp_read_from_string and sexp_eval_string now all take length parameters.
this is more flexible and will help if strings are changed to be non-null-terminated.
2010-03-23 20:52:47 +09:00
Alex Shinn
adbf0d9370 Added tag stable for changeset b5e6d5afc88e 2010-03-23 17:08:00 +09:00
Alex Shinn
0e6c2ffde9 updating authors 2010-03-22 15:20:21 +09:00
Alex Shinn
87e80f85c0 also making core form names const char* 2010-03-22 15:19:48 +09:00
Alex Shinn
0a9085fbbd const qualifying char* inputs to various API functions 2010-03-22 15:14:30 +09:00