Commit Graph

179 Commits

Author SHA1 Message Date
Matthew Flatt
7f3cf8a3ef move most of the 'scheme' collection to the 'racket' collection
original commit: c95a39875453e7f057395a7bf626e5d2ed732e7e
2010-04-20 15:24:48 -06:00
Sam Tobin-Hochstadt
6890aab175 Update structure types to have constructor ids.
Use constructor to generate better contracts for poly structs.

original commit: 41e469d7aefd9aab480594caaba62dd7019ec0fd
2010-04-14 15:06:14 -04:00
Noel Welsh
39e98488a7 Fix a problem generating contracts for FlVector exports. Add test for problem.
svn: r18603

original commit: cf017110a982fb24451691200dc05830136e9833
2010-03-23 10:30:24 +00:00
Sam Tobin-Hochstadt
04dbfaf38e fix some unfortunate bugs
svn: r18433

original commit: b020c8dc216c48d52dab9a78134c34405210da81
2010-03-02 20:37:36 +00:00
Sam Tobin-Hochstadt
ff6ad0c29d Fix bug 10763.
svn: r18418

original commit: 12257912e3a39efcd20bcd0ec3e778c630879577
2010-03-01 22:48:11 +00:00
Sam Tobin-Hochstadt
0ad41fd737 fix obvious bug pointed out by noel
svn: r18351

original commit: 013b12b19d56e051fddd6bd09d6c07115088b14e
2010-02-26 15:15:43 +00:00
Sam Tobin-Hochstadt
56732a6d6e Re-enable typechecking of auto-language.ss
Add `syntax-e' as a path.
Turn on contracts for objects.
Refactor Noel's additions.
Fix `require/typed' at the REPL.

svn: r18345

original commit: 2e90dfc081a3160abaa49aff9f535a901999c6a5
2010-02-26 00:25:23 +00:00
Sam Tobin-Hochstadt
b0a08fe0b8 providing static struct information to untyped code works
svn: r18198

original commit: 33c18b3985bce1bab5028c67e06eec5335722eb4
2010-02-19 23:27:06 +00:00
Stevie Strickland
ae00f56a11 Fix up Sam's use of make-provide/contract-transformer after Robby's change
to it for bug 10645.

svn: r18195

original commit: de859a88798b89c78da5386ab0a8bfdf76f118da
2010-02-19 21:57:03 +00:00
Sam Tobin-Hochstadt
5a47ebf0c7 New representation for free variables, now stored in struct.
Interning now merely used to create key, eq? not = for types.

svn: r18107

original commit: 1039e68e034196550e4def3e9f0233e6751201ab
2010-02-17 00:09:38 +00:00
Sam Tobin-Hochstadt
a61aef0339 Generate proper contracts for polymorphic struct types.
Document `Nothing'.

svn: r18074

original commit: 90c8fcff1194799ed6f522e7554d49571b1f3074
2010-02-12 21:57:58 +00:00
Sam Tobin-Hochstadt
00bd3adab8 More restrictive handling of contracts for the `Any' type.
svn: r18043

original commit: 8bf908d1061510198bb6a155fee7a25312bea714
2010-02-10 20:45:50 +00:00
Sam Tobin-Hochstadt
0db7c6d821 Fix a number of bugs reported by eli
svn: r18017

original commit: 55a48ca594bc7e3834bfbebea7fc5a1967c278d1
2010-02-08 18:17:15 +00:00
Sam Tobin-Hochstadt
4c1cf6b520 Add supertypes for mutable types, so that predicates work correctly.
svn: r17971

original commit: 318833f4226d9249077c772f87ee705ecfd4c617
2010-02-04 23:39:15 +00:00
Sam Tobin-Hochstadt
3842628342 new branch
original commit: 536b94c3052559ae51a63807d8190b01d97f7326
2010-02-02 20:42:22 -05:00
Sam Tobin-Hochstadt
8d5eb1decf Fix the handling of with-handlers that returns multiple values
svn: r17823

original commit: af2ef07d05adc6ca454467f3f9fd3ed8a8f5a501
2010-01-25 19:51:16 +00:00
Sam Tobin-Hochstadt
c6c381a207 use syntax-parse
support #:predicate option to `define-typed-struct-internal'

svn: r17822

original commit: c9b246a8d2f15a27cc438b8827ec6eef0232b16e
2010-01-25 19:35:56 +00:00
Sam Tobin-Hochstadt
674c88a752 Improve `internal-forms'
First step to custom predicates in `define-typed-struct-internal'

svn: r17820

original commit: bb541fd03fa0b35e22f0c82f6c9b3a8a6d5b0591
2010-01-25 18:38:56 +00:00
Carl Eastlund
d7fe71a64b Updated typed scheme to use a module path for blame.
svn: r17754

original commit: 87645ebd114088d1b1fb368df01c1ba2253eb90c
2010-01-19 10:44:27 +00:00
Sam Tobin-Hochstadt
34bb0090a0 Correct typing for `or'.
svn: r17665

original commit: 3fc133a0b84476a121b129f41e2c260e0d4593c0
2010-01-15 19:39:46 +00:00
Sam Tobin-Hochstadt
fba861f6df Typecheck `or' correctly.
svn: r17653

original commit: 33592b4f6c40faf63015fcf33e1874322007b03c
2010-01-14 19:53:28 +00:00
Sam Tobin-Hochstadt
46365587b2 Reject some cases of nested types.
svn: r17619

original commit: 91629fd31ace6700a6864c0db826c89e2987c1a2
2010-01-12 20:36:30 +00:00
Sam Tobin-Hochstadt
2022bc7b80 `reverse' is special on all tuples
svn: r17612

original commit: 81e963bd465ed66018506002a3b9a18f9c648493
2010-01-11 22:13:22 +00:00
Sam Tobin-Hochstadt
62d3dc1466 Propogate expected type through `reverse'.
New loop special case for `for/list'.

svn: r17609

original commit: 4fa4f6fd2d814de10e84300d1da76a311bf85160
2010-01-11 20:48:26 +00:00
Sam Tobin-Hochstadt
9364f5b9cc use of member, memq, memv as predicates working properly
svn: r17568

original commit: 05a0e722f9b64d0d53fb5b168181b467a4711ec7
2010-01-08 15:55:32 +00:00
Sam Tobin-Hochstadt
e0ceba24a8 `member' can now be used a predicate.
svn: r17554

original commit: b7f989943931dbd7aec58f238a9e9c66c1142f3b
2010-01-07 22:11:54 +00:00
Sam Tobin-Hochstadt
cffc0e2563 Better error message for functions that don't have the same arity as
the expected.
Add some tests for errors.

svn: r17551

original commit: eaad64d6120e70e59200fb2cec58f4af5a777ed4
2010-01-07 21:45:57 +00:00
Sam Tobin-Hochstadt
7b4164e4cb Error on duplicate type annotations.
svn: r17549

original commit: 62653d3c41b97de732aacc932bd123a8fd9ecb21
2010-01-07 21:20:45 +00:00
Sam Tobin-Hochstadt
b1869b6882 Improve error messages in the simple case.
Change 'typecheck to Type Checker in error messages.

svn: r17542

original commit: 08457d35e3faa1a8dccbcbfc6b193c63fda45fb6
2010-01-07 19:41:42 +00:00
Sam Tobin-Hochstadt
e044410d4e Fix `type-apply'
Fix duplicate filters

svn: r17522

original commit: a8e1c829c2e78744c20d6bd2b33bdb800f2a3b31
2010-01-07 00:55:51 +00:00
Sam Tobin-Hochstadt
2669a3269a Fix abstraction of implications.
Fix contract for lookup-typed/lexical.
Default cases for printing.
Abstract out indexing functions for Nat/Integer split.

svn: r17272

original commit: d0c8a19ce84ce1ef674c1c43e69b56ee7e0a63a2
2009-12-11 23:00:37 +00:00
Sam Tobin-Hochstadt
21f9c0ec16 fixes
svn: r17265

original commit: 791ec557876881eaeafc29a43b339b7a7d632d84
2009-12-11 00:25:59 +00:00
Sam Tobin-Hochstadt
4741518170 logic works properly now, it seems
svn: r17264

original commit: 92dbf999651f54b7efd8167427db9aa2f38512d1
2009-12-10 23:35:28 +00:00
Sam Tobin-Hochstadt
b68c553664 checkpoint
svn: r17258

original commit: 5767e23d875f1248e23132fe11f5b6b4ffb5cc39
2009-12-10 15:32:17 +00:00
Sam Tobin-Hochstadt
445c65e12e checkpoint
svn: r17054

original commit: e3bafbe298688ec0efe47a09254492f93027fa71
2009-11-25 02:30:41 +00:00
Sam Tobin-Hochstadt
09febf87c2 checkpoint
svn: r17045

original commit: 29c4a84183f15c98093973fae3fe7ec20a9fd8a3
2009-11-24 17:10:44 +00:00
Sam Tobin-Hochstadt
b2056bab7d use `make-provide/contract-transformer'
svn: r16949

original commit: 406b5c384d446b9b275971d14a690b7c71d12cac
2009-11-21 22:21:36 +00:00
Sam Tobin-Hochstadt
7d85ae8997 checkpoint
svn: r16915

original commit: 485c8a356708bb1f59c942529dd77bd455a6c82d
2009-11-20 05:20:23 +00:00
Sam Tobin-Hochstadt
9e87d52ba1 many fixes
svn: r16913

original commit: 1da2c7cd7d45b7f8a53d1892609e135820ef4301
2009-11-20 03:56:57 +00:00
Sam Tobin-Hochstadt
a1f96d6ce8 checkpoint
svn: r16908

original commit: 111b71c844707b146bbc1500dc086ef3c5ef7070
2009-11-20 00:06:32 +00:00
Sam Tobin-Hochstadt
812d2549dd remove tracing
svn: r16872

original commit: 424aa9049107a30e2d625eb2d06ff9fcd9e7eefb
2009-11-18 16:41:01 +00:00
Sam Tobin-Hochstadt
9dbe7c808f Add unstable/match with == match expander.
Add 'match expander' tech def.

svn: r16814

original commit: 0ae5843f1163a247f776b47ac29e38e31664bc03
2009-11-16 16:58:11 +00:00
Sam Tobin-Hochstadt
2c76766c1c Move a bunch of functions from typed-scheme/utils/utils to unstable.
Add convenience lib for unstable docs.
Add char support to format-{id,symbol}
Add unstable/sequence library.

svn: r16789

original commit: fb29a2498e964c6d7651ca6cc6a19c07ca28760b
2009-11-15 22:15:29 +00:00
Sam Tobin-Hochstadt
1d3800bfd8 Move mutated-vars and poly-c libraries to unstable collection.
- add docs
 - change requires
 - fix `letrec-syntaxes+values'
Fix contract on `author+email'

svn: r16628

original commit: 99a70b38d8c16c84174534d9ae9c3b413e566743
2009-11-09 02:29:02 +00:00
Sam Tobin-Hochstadt
a714f51138 Use tail-position syntax property for non-functions.
svn: r16451

original commit: 6d70a48de13cbc2e54535c274144adb741d8aba1
2009-10-29 18:02:33 +00:00
Sam Tobin-Hochstadt
2ca3a9176f Allow optional keyword args in a few more places
svn: r16400

original commit: 38fe4782b75eb88e4db750921bade80147f453b9
2009-10-21 14:47:56 +00:00
Sam Tobin-Hochstadt
382a771d75 Better error message for inference with keywords.
Do inference when loop is unannotated, even when argument are.
Don't infer for ((lambda when vars are annotated.
Make promise contracts work.
Fix types of min, max, port->lines, subbytes,  bytes-length, bytes, bytes-ref

svn: r16397

original commit: a5849fb05af85c586bbd730d220b324018a6673e
2009-10-21 13:30:03 +00:00
Sam Tobin-Hochstadt
387ee8193b Add `typed/scheme/system'
Special handling of (letrec ([x e]) x)
Allow functions with optional keyword args to be inferred when kws not supplied.
Infer instantiations for kw functions in simple cases.
Add `Path-String' type
Fix types of `filter', `with-{input-to,output-from}-file'
Add `port->lines'
New 'metrics.ss' test

svn: r16385

original commit: 37106bd6f7241277288ad56a3c75aef53cdfc3c3
2009-10-20 18:30:37 +00:00
Sam Tobin-Hochstadt
9c607d6779 Don't error for branches with wrong number of results where return type is Bot.
Allow case-lambda to be subtype of equiv union type.
Add types for path?, fold-files, assert

svn: r16357

original commit: 6a83901a8bd60ccea014f84238a378749573beb2
2009-10-18 01:10:00 +00:00
Eli Barzilay
43b5710477 require trace, not
svn: r16223

original commit: 44fda2f304627a0e36f8e505cf5bf3bd9d4ff729
2009-10-02 20:37:03 +00:00