Commit Graph

573 Commits

Author SHA1 Message Date
Stephen Chang
6d33532aab add more ifc3 tests 2017-03-21 17:56:04 -04:00
Stephen Chang
fd8a59a45f add ifc3, ifc3-tests 2017-03-21 17:56:04 -04:00
Stephen Chang
ad6978a432 add fsm3 2017-03-21 17:56:04 -04:00
Stephen Chang
0c1635e984 rosette3: add tests checking displayed output 2017-03-21 17:56:04 -04:00
Stephen Chang
311c5ab117 rosette3: elimindate some code duplication
- use current-host-lang and typed-out
- reuse more unlifted forms (eg, let from ext-stlc)
2017-03-21 17:56:04 -04:00
Stephen Chang
824803388f fix non-turnstile mlish to work with define-primop and current-host-lang 2017-03-21 17:56:04 -04:00
Stephen Chang
39ad3e1726 ext-stlc: multi-expr let body and top-lvl fn defs 2017-03-21 17:56:04 -04:00
Stephen Chang
b4d5c710b3 use current-host-lang in define-primop and typed-out 2017-03-21 17:56:03 -04:00
Stephen Chang
297e5df6ae start host lang param experiment 2017-03-21 17:56:03 -04:00
Stephen Chang
4f400b5e0a refine if: create sym val only when test is sym bool 2017-03-21 17:56:03 -04:00
Stephen Chang
593f4f5881 fix merge remnant 2017-03-21 17:56:03 -04:00
Stephen Chang
3edf1e031a fixes to complete rebase master 2017-03-21 17:56:03 -04:00
Stephen Chang
3140cbff36 small addition to rosette notes 2017-03-21 17:56:03 -04:00
Stephen Chang
17b78ef229 add symbolic reflection forms; add sec7 guide tests
- for/all and define-lift not working with assert-type
  - how to associate pred with newly lifted (type) of values?
2017-03-21 17:56:03 -04:00
Stephen Chang
583469c25f add remaining libs; add sec6 guide tests 2017-03-21 17:56:03 -04:00
Stephen Chang
60c13fdd18 add structs (generics dont completely work); add sec5 guide tests 2017-03-21 17:56:03 -04:00
Stephen Chang
61751777ae add forms and tests for guide sec49 solver and sols 2017-03-21 17:56:03 -04:00
Stephen Chang
e2fa3bcaa5 add pairs; add list, vector, and box fns; add guide 4.6-8 tests
- add distinguish car/cdr from first/res
- add immut boxes
- add evaluate special case: nested Constant
2017-03-21 17:56:03 -04:00
Stephen Chang
3995203803 add sec45 guide tests 2017-03-21 17:56:03 -04:00
Stephen Chang
5862112f57 add remaining sec44 guide tests; use term cache to improve testing 2017-03-21 17:56:03 -04:00
Stephen Chang
a242442a46 start sec4.4 tests; fix ~> arity; transfer stx props in define
- change solvable, etc stx-prop-related err msg
2017-03-21 17:56:03 -04:00
Stephen Chang
e3171e2b47 change BVPred input to Any; add remaining sec4.3 BV examples 2017-03-21 17:56:03 -04:00
Stephen Chang
3495584667 update rosette notes about Constant subtyping rule(s) 2017-03-21 17:56:03 -04:00
Stephen Chang
6ff4410841 add rhs Constant clause in sub?; fix cons to create U 2017-03-21 17:56:03 -04:00
Stephen Chang
a605de099b check for constants in forall and exists 2017-03-21 17:56:03 -04:00
Stephen Chang
2e7e6a5d5c better checks for pred?s in debug 2017-03-21 17:56:03 -04:00
Stephen Chang
d8f674b362 remove type annotation from ?? 2017-03-21 17:56:03 -04:00
Stephen Chang
2e50bec36a complete Constant; TODO: check for Constant in synthesize, etc? 2017-03-21 17:56:03 -04:00
AlexKnauth
4fa8bac761 start on the Constant constructor 2017-03-21 17:56:03 -04:00
Stephen Chang
8e55e44363 eliminate type annotation in define-symbolic
- relevant preds have analogous type as stx prop
- add extra more precise solvable? and function? stx props
- define-symbolic et al require explicit preds (no exprs) (for now)
2017-03-21 17:56:03 -04:00
Stephen Chang
e3fc26354d add script to run all rosette tests (no require) 2017-03-21 17:56:03 -04:00
Stephen Chang
c601a4f46b start hash tables 2017-03-21 17:56:03 -04:00
Stephen Chang
4007d64ff1 add remaining logic ops; add sec4 tests; TODO: add hash and fix sol ops 2017-03-21 17:56:03 -04:00
Stephen Chang
f22619f47b add more arith tests 2017-03-21 17:56:03 -04:00
Stephen Chang
56bdcb73d8 add more numeric primitives 2017-03-21 17:56:03 -04:00
Stephen Chang
739355ad83 add Boxof and ~> 2017-03-21 17:56:03 -04:00
Stephen Chang
7ef84a313d support symbolic Listof; add letrec, remaining sec2 tests 2017-03-21 17:56:03 -04:00
Stephen Chang
79abcce491 add optimize, remaining sec3 tests; fix CList-CListof subtyping 2017-03-21 17:56:03 -04:00
Stephen Chang
dfdc0eae37 add CList and list fns 2017-03-21 17:56:03 -04:00
Stephen Chang
01799a12da add with-ctx shorthand 2017-03-21 17:55:45 -04:00
Stephen Chang
3d9ef8424c start dependent types example 2017-03-10 17:03:30 -05:00
Stephen Chang
0bccf822ad type= handles literals 2017-03-06 13:21:49 -05:00
Stephen Chang
50f08886d1 rackunit-typechecking: add more esc chars 2017-03-03 16:20:16 -05:00
Stephen Chang
772a2f1337 fix mlish chameneos test again 2017-02-17 12:09:58 -05:00
Stephen Chang
8be9371ed2 fix mlish chameneos test 2017-02-17 11:27:58 -05:00
Stephen Chang
f68308c38d fix stx->datum 2017-02-16 17:59:56 -05:00
Stephen Chang
a44a94ce5c add toplvl checking form 2017-02-13 18:33:46 -05:00
Stephen Chang
fd389086ef increase timeouts for typeclass tests 2017-02-08 13:27:53 -05:00
Stephen Chang
115aae8e73 completely separate type and kind api, etc; generalize type environment
Previously, "type" functions were reused a lot to manipulate kinds, and other
metadata defined via `define-syntax-category`, but this meant it was impossible
to define separate behavior for some type and kind operations, e.g., type=? and
kind=?. This commit defines a separate api for each `define-syntax-category`
declaration.

Also, every `define-syntax-category` defines a new `define-NAMEd-syntax` form,
which implicitly uses the proper parameters, e.g., `define-kinded-syntax` uses
`kindcheck?`, `current-kind-eval`, and the ':: kind key by default (whereas
before, it was using typecheck?, type-eval, etc).

This commit breaks backwards compatibility. The most likely breakage results
from using a different default key for kinds. It used to be ':, the same as
types, but now the default is '::.

This commit also generalizes the contexts used with `define-NAMEd-syntax` and
`infer`.
- all contexts now accept arbitrary key-values associated with a variable
- all contexts use let* semantics, where a binding is in scope for subsequent
  bindings; this means that one environment is sufficient in most scenarioes,
  e.g., type and term vars can be mixed (if properly ordered)
- environments allow lone identifiers, which are treated as type variables by
  default
2017-02-08 13:07:24 -05:00
Stephen Chang
f8cb9959cd add timeout to try to satisfy pkg-build 2017-01-27 15:35:37 -05:00