Commit Graph

16 Commits

Author SHA1 Message Date
Matthew Flatt
3a2659968a prefer closest binding name for procedures
In some cases, such as

 (define g (let ([f (lambda (x) x)]) f))

the inner name `f` could get replaced by the outer name `g`.
Prefer the inner name so that macros can use a `let` wrapper
to reliably name a procedure.

cherry-picked from mflatt/ChezScheme#letname

original commit: fb75f08cfa9690f94ae2abaa237278b287367d68
2018-06-22 09:33:12 -06:00
Matthew Flatt
f4f0bfff11 Merge branch 'genid' of github.com:mflatt/ChezScheme
original commit: bd3c746343c6850ed62eb5fcd2674292e4480fa4
2018-01-04 18:47:47 -07:00
Matthew Flatt
3526ab71fa add expand-omit-library-invocations
original commit: 35dbfdaa9ea3832f2ded108b7edcaead61922007
2018-01-04 18:32:27 -07:00
Matthew Flatt
cf87f8c4f6 add current-generate-id
original commit: be555fa7605f17f8613b1c02fe9f5e187a7cfeb9
2018-01-04 18:32:27 -07:00
Matthew Flatt
33d037f6a6 Merge branch 'procloc' of github.com:mflatt/ChezScheme
original commit: 552758ee584d142f5e92612676869cd4fde64ede
2017-12-06 08:37:50 -07:00
Matthew Flatt
9f1f5b793f add generate-procedure-source-information
original commit: 45df1f3a517c040a45aaea8f0bd4c9d859310187
2017-12-05 20:40:22 -07:00
Matthew Flatt
4c2528653e add make-arity-wrapper-procedure
A program can use `make-arity-wrapper-procedure` to synthesize a
function that reports a given arity mask (without calling `compile`).

In addition, `set-arity-wrapper-procedure!` suports modifying the
implementation of a synthesized procedure. Although similar
functionality could be achieved with `(lambda args (apply (unbox proc)
args))`, an arity wrapper procedure can dispatch to another procedure
without allocating a list for the arguments.

The interpreter now uses an internal variant of arity wrappers to
cooperate with `procedure-arity-mask`.

original commit: 295255a326afbf3f120f95c2ccc6e95b74fdd5e2
2017-12-02 08:24:42 -07:00
dybvig
35590cea2b - fixed pariah mat
misc.ms

original commit: 271eae05086b2299529acf039a638543796e16a9
2017-07-12 13:25:25 -04:00
Gustavo Massaccesi
be3e357aae don't remove the pariah form in the cp0 pass
cp0.ss
  misc.ms

original commit: d6a1b8a9208d78bb8d216d9381546a6723fe5b9e
2017-07-10 17:10:19 -03:00
dyb
dacb66ac72 fixed a bug in flonum-extractor, which on 64-bit machines was using an
8-byte read instead of a 4-byte read to pick up the 4 highest-order
bytes of a little-endian flonum, potentially reading past the end of
mapped memory for flonums produced by taking the imaginary part of an
inexact complexnum (which, unlike other flonums, are not aligned on
16-byte boundaries).  The 8-byte load would also have failed to produce
correct results on 64-bit big-endian machines (of which we presently
have none) because the offsets passed to flonum-extractor assume the
bits are in the lowest-order 4 bytes of the extracted field.
  cp0.ss,
  misc.ms,
  release_notes.stex

original commit: 97bd75bcedbcf32b77c59615a638ea1528ebe26b
2017-06-09 21:21:08 -04:00
Matthew Flatt
bd922055d8 fix strip-fasl-file for immutable strings and vector
Also, fix an `$oops` in fasl-read` and fix `equal-hash-code` for
vectors.

original commit: cc8248b315f72ab6e0452e81e7aa23e4b5791011
2017-05-24 13:10:28 -06:00
Bob Burger
831ea8ad18 changed copyright year to 2017
7.ss, scheme.1.in, comments of many files

original commit: 06f858f9a505b9d6fb6ca1ac97234927cb2dc641
2017-04-06 11:41:33 -04:00
Kent Dybvig
9cd0199a39 merge @mflatt immutable-vector, immutable-string, immutable-bytevector,
immutable-fxvector, and immutable-box support

original commit: 547fce9b99c6566d5cb3f7af9ca84654e798486e
2017-03-15 11:09:57 -04:00
Matthew Flatt
21fe925d06 add procedure-arity-mask
original commit: 4bd061000ab903feb3fe8e3b96ecbcb10c59dba9
2017-02-22 07:16:53 -07:00
dybvig
35eaa9feff - fixed a bug in cpvalid resulting in it leaving behind a cpvalid-defer
form for later passes to choke on.  also fixed cp0 to print the correct
  name for cpvalid when it does this.
    cpvalid.ss, cp0.ss,
    misc.ms
- updated the prototype for s_ee_write_char to match the definition
    expeditor.c
- updated LOG and release_notes
- rebuilt boot files due to s-directory changes

original commit: 50aa8b34774a9e65e96481ae329a3f329fad7aca
2016-08-07 23:36:40 -04:00
dyb
1356af91b3 initial upload of open-source release
original commit: 47a210c15c63ba9677852269447bd2f2598b51fe
2016-04-26 10:04:54 -04:00