Commit Graph

3 Commits

Author SHA1 Message Date
Matthew Flatt
83196703ee compiler/zo-marshal: fix encoding mistakes
Changes to the optimizer and validator exposed old problems.
2016-08-17 18:05:17 -06:00
Matthew Flatt
ad230d2ca0 improve structure-type property handling
Make the optimizer recognize and track `make-struct-property-type`
values, and use that information to recognize `make-struct-type`
calls that will defnitely succeed because a property that hs no
guard is given a value in the list of properties.

Combined with the change to require-keyword expansion, this
change allows the optimizer to inline `f` in

 (define (g y)
   (f #:x y))

 (define (f #:x x)
   (list x))

because the `make-struct-type` that appears between `g` and `f`
is determined to have no side-effect that would prevent `f` from
having its expected value.
2016-08-07 15:59:02 -06:00
Sam Tobin-Hochstadt
74723e3e95 Move to correct directories. 2016-05-27 17:20:35 -04:00