Commit Graph

770 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
3086c4e339 Actual contracts for classes. Yay sstrickl!
svn: r18547

original commit: b9902e514541039ac87d47c35e9bcd9d3f37d1f3
2010-03-15 18:21:15 +00:00
Stevie Strickland
7387b32825 Need scheme/class's init for use in class/c form.
svn: r18543

original commit: bf56a108fe3c3f05976223dd81dbbf5b80baed33
2010-03-15 09:04:10 +00:00
Stevie Strickland
d22cdbcee1 Add handling of by-name inits to commented-out class/c use in typed-scheme.
Also, fix class/c section of reference slightly by mentioning the role of
external contracts in class instantiation.

svn: r18542

original commit: 5a488ae7cbf9f973cf89169f5557c12e355a3f39
2010-03-15 08:57:41 +00:00
Stevie Strickland
78214ab410 Correct with-type so it handles result types of the form (values t ...).
svn: r18531

original commit: 7b831e86a6e70edafb2993f3169d891d27fa5d77
2010-03-14 02:32:20 +00:00
Sam Tobin-Hochstadt
0a828f2262 Prevent unbound identifiers from being in the base env.
Fix some bugs caught by this.

svn: r18526

original commit: 9035e2e58457bd635ceb739f3d021e30fc7262b2
2010-03-12 16:25:40 +00:00
Noel Welsh
19cdb4f096 Add tests for all the fixnum operations. This only checks that the operations have types; semantics and completely specified types aren't rigourously checked.
svn: r18523

original commit: 97924ffc65b5b5ded6f2b4436cde51ed00462e03
2010-03-12 12:13:10 +00:00
Noel Welsh
2545da16a9 Add scheme/fixnum to the list of require'd modules, meaning the type declarations for fixnum operations are actually bound to the correct functions and so Typed Scheme programs using fixnum ops will actually compile.
svn: r18522

original commit: a8b5f4275ac3118b027dbf679b5c4e024280c6f5
2010-03-12 10:58:26 +00:00
Sam Tobin-Hochstadt
db56dfd7d6 Null does not overlap with structs.
svn: r18508

original commit: b3be4f32f7dceb402dbfc2bce35a8db466c16219
2010-03-10 23:43:47 +00:00
Sam Tobin-Hochstadt
b207bb9c0f update docs to use `define-type'
document `define-predicate'

svn: r18498

original commit: 24b9078560d936d046fe14b3198432a3f64cbd1c
2010-03-10 00:17:33 +00:00
Sam Tobin-Hochstadt
2f1771b849 Add `define-predicate'
svn: r18497

original commit: c24daa5dbb2e4a503e81385620008b70d044f76c
2010-03-10 00:10:03 +00:00
Sam Tobin-Hochstadt
79c93700c7 Fix PR 10813
svn: r18477

original commit: 87f978e59ecb88b19391e2210b6b3cb550e4df25
2010-03-05 21:52:54 +00:00
Sam Tobin-Hochstadt
3edcfaf5f5 fix PR10810
svn: r18470

original commit: e703d52b945d51623a781dc97eda74a10430e1f9
2010-03-04 21:42:55 +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
1e35d3a083 Use `current-contract-region' appropriately.
Maintain source locations.
Fix PR 10776.

svn: r18421

original commit: 65b12a2af3a487da88a0d354586e533516273d39
2010-03-01 23:43:15 +00:00
Sam Tobin-Hochstadt
b94868a43b Re-enable printing
svn: r18420

original commit: 3ea26dee8440f9e72bc51142e050eefccb04869a
2010-03-01 22:56:03 +00:00
Sam Tobin-Hochstadt
9eabaf2109 fix PR 10735
svn: r18419

original commit: 33db456f9ee83fe38e97ac1c006c5bb3dd0407c2
2010-03-01 22:51:42 +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
008ecc173f fix doc typo
svn: r18417

original commit: 079c430e89846fda4e6925abda664300d1142572
2010-03-01 22:32:48 +00:00
Sam Tobin-Hochstadt
b0a1fde7aa Add `with-type' for defintions, add #:result keyword.
Fix contract for top-arr.
Remove static version of printing conditional.
Fix brokenness in print-converting.

svn: r18416

original commit: 78c14e434b7f6dffc6c404d090b449b097e96cfb
2010-03-01 22:31:24 +00:00
Sam Tobin-Hochstadt
fd3a9e042a fix with-types requires on windows
svn: r18387

original commit: 68c46cca9a57835f38cb42e6eee45c86755f7cd8
2010-02-27 19:21:42 +00:00
Sam Tobin-Hochstadt
7e4367c9cd remove obsolete doc files
eliminate repeated expansion

svn: r18382

original commit: 6c4b1234bf7545fded38270fed92c886a0e49b48
2010-02-27 16:24:22 +00:00
Sam Tobin-Hochstadt
a47ed6d95a Fix tests to use `test-suite' to delay execution.
Move hiding of errors down in stack.

svn: r18381

original commit: 31f0b5e305f95af45772ff11e4b04bf332ead59a
2010-02-27 15:07:45 +00:00
Stevie Strickland
a92cd6cdce Add `unregister-type'
Add type regions.
Untyped lexical vars not an internal error.

svn: r18374

original commit: 8e3a67936eeb14fc08279a075966f93e35209f23
2010-02-27 01:26:16 +00:00
Sam Tobin-Hochstadt
cdb7b62f5e whoops
svn: r18364

original commit: 144a25ffd4abe289cbab74c4b353e404164b6a8a
2010-02-26 21:04:00 +00:00
Sam Tobin-Hochstadt
e3cf00137d fix no-check
svn: r18362

original commit: 5d3e46bb2f098eac10678e1d4d401c2f0401f382
2010-02-26 20:50:14 +00:00
Sam Tobin-Hochstadt
d98d962195 use new schemeunit
svn: r18361

original commit: 21d0dfcf09b7ef168f7d4e861aad2e3ee062352a
2010-02-26 20:44:30 +00:00
Sam Tobin-Hochstadt
36ee83368d add inst to no-check
svn: r18357

original commit: d06b3ed1df34d1ac9f0628eb3ca87073e40ca658
2010-02-26 19:59:40 +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
Noel Welsh
bb22e41f6d Fix order of cases in case-lambda expressions for some unsafe-fx operations.
Add the safe equivalents of the unsafe-fx operations.

svn: r18334

original commit: dcb01829a0f13bcdb86f9eb7a794555a5aedc9d6
2010-02-25 13:00:55 +00:00
Noel Welsh
b7d27869fd Add types for unsafe fixnum operations. This allows support for some sequences; in particular in-range now works in some cases (though still requires type annotations).
svn: r18333

original commit: 3d95ef650c1908d79f9b2bf5e3086322cdb494bc
2010-02-25 11:48:33 +00:00
Sam Tobin-Hochstadt
43c22f41e5 fix comment, add test
svn: r18307

original commit: 1616e27b4b0a2a8cb1ad419933fdd38894c7a882
2010-02-23 21:36:53 +00:00
Sam Tobin-Hochstadt
349755c446 Fix bad hashtable type inference.
svn: r18284

original commit: f2ee3aa7b6a71320d00d75d0b18191dba2e2c23c
2010-02-23 02:05:40 +00:00
Sam Tobin-Hochstadt
bcebf867f4 revert this change, since it breaks insert large letters
svn: r18267

original commit: 8a11336b51936c0b465ed399f64579e2e73d75df
2010-02-22 20:06:34 +00:00
Carl Eastlund
8f366a3613 Renamed simple-contract and simple-flat-contract to make-contract and make-flat-contract.
svn: r18259

original commit: 1d6111c5328dc9b9ecfc14832879a7c47717d7a3
2010-02-22 02:51:16 +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
3cfe752100 disable contracts
svn: r18156

original commit: d9f24d94e7887956ec497ea97721b7c4e9196634
2010-02-18 21:25:06 +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
03ae8d6f21 Improve some framework contracts, and provide scheme/base at phase 1 from typed/scheme.
svn: r18106

original commit: 0920b493c84cf2e8306325bd98f5ae9759acdd51
2010-02-17 00:02:44 +00:00
Carl Eastlund
0d5a01f2a7 Corrected types of hash-update and hash-update!
svn: r18093

original commit: 52f2ec2e30e7ffdb3d0f44d3cb2a07e52e0b5be7
2010-02-16 00:55:03 +00:00
Carl Eastlund
8c9670ca0c Added types for full exception hierarchy.
svn: r18092

original commit: 08b53c715d9116ecefb7e1dd83da6527b2c20348
2010-02-15 23:22:40 +00:00
Sam Tobin-Hochstadt
f25f361bbc remove debugging code
svn: r18087

original commit: 89da61307393a19dbf7ae90942c1301616939edb
2010-02-15 18:36:26 +00:00
Carl Eastlund
05c08898a6 Added automatic blame-tracking to poly/c contract in unstable (and updated use in Typed Scheme).
svn: r18075

original commit: 1b28ea1a6c1c499d0d4f5d0a13d2496c2bfc0ec8
2010-02-12 23:03:11 +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
b2ea0474f2 Fix printing of `Number' - reported by Noel.
Provide `assert' from `typed/scheme'

svn: r18062

original commit: e99b1d028c89c2b3b027f861260fa57d2790abf1
2010-02-12 15:49: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
7eec279e96 Better error message when definition is missing. Fixes PR 10751.
svn: r18042

original commit: 39a8c288ec409cef59ec5a3cfec16b13a0a7c1b5
2010-02-10 20:32:53 +00:00
Sam Tobin-Hochstadt
e2b4318dfa More precise types for typed MrEd wrappers.
More precise types in auto-language.ss

svn: r18041

original commit: c224d2ebfc878ddb2758cdd409cacd2dbf49e891
2010-02-10 20:23:59 +00:00
Sam Tobin-Hochstadt
cacbfb9b91 Fix subtyping for keywords.
svn: r18025

original commit: 2276cb10d54bd24a35bcb75f856b9be254f1bb6d
2010-02-08 23:03:55 +00:00
Sam Tobin-Hochstadt
f6c223fc05 fix dumb typo
svn: r18018

original commit: 89eb249b00c307f9ff8af3094d7292b3b9939146
2010-02-08 18:21:43 +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
40b9514197 fix let/ec: and let/cc:
svn: r18000

original commit: bf77c690f4d1a97fb530ea23602bf590f32f2479
2010-02-05 23:00:07 +00:00
Carl Eastlund
f3030b5775 Oops, got the types of char->integer and integer->char backwards.
svn: r17991

original commit: f9ae636aead96beb7ceac5fbeb5a0fd2185c08ac
2010-02-05 06:24:44 +00:00
Carl Eastlund
779cdbe53f Added types for char->integer and integer->char.
svn: r17990

original commit: f2852257bb0987a0ffd5ca51d06ac0adf3d4a34d
2010-02-05 05:22:49 +00:00
Carl Eastlund
2d0c950305 Added types for missing hash table operations.
svn: r17989

original commit: 578637c691ec0301554d0170ff6ba713446c1790
2010-02-05 04:49:49 +00:00
Eli Barzilay
32dcd7960c A bunch of additional typos
svn: r17976

original commit: c88a5a685674ea70991a97f35972bd5144483e7a
2010-02-05 03:21:52 +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
70118d8ebe fix some contract errors
original commit: 492cab22cbebcdfeed9a4bc467d147b4722308e9
2010-02-03 11:44:10 -05:00
Sam Tobin-Hochstadt
3e18a985d7 new files
original commit: 1e6aaf5928d25a650e3642f84657c6cd78476672
2010-02-02 20:42:53 -05:00
Sam Tobin-Hochstadt
3842628342 new branch
original commit: 536b94c3052559ae51a63807d8190b01d97f7326
2010-02-02 20:42:22 -05:00
Sam Tobin-Hochstadt
b1a442d1f0 Stop using eq? for types.
More contracts.
Fix some contract errors.

svn: r17943

original commit: 9939f4b6194f61ff1bbed48ef3b36c7dba41363d
2010-02-02 18:09:25 +00:00
Sam Tobin-Hochstadt
cec76e7ad4 most of the way to real printing
svn: r17935

original commit: 8b120675bc02d0ad4396cc3a5ece7b5b19613972
2010-02-02 01:24:06 +00:00
Sam Tobin-Hochstadt
879e22a666 Progress on Rep.
svn: r17924

original commit: 94029a06c9af5dce0e7712cc1cc38e96e8b9b7ca
2010-02-01 15:51:32 +00:00
Sam Tobin-Hochstadt
30e08424ec merge to trunk
svn: r17877

original commit: 9789615ed9840f09a6708d27276cf892d334b653
2010-01-29 00:08:15 +00:00
Sam Tobin-Hochstadt
d20ee9bf2b progress on refactoring rep
svn: r17875

original commit: bbc195c0fb6d54bb645b163fe6540af342fbc004
2010-01-28 21:47:05 +00: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
Sam Tobin-Hochstadt
3dc58b3a44 improve internal error messages
svn: r17819

original commit: e493ba5c6ad1a53b01a50b2a80592baa694ece91
2010-01-25 17:23:19 +00:00
Sam Tobin-Hochstadt
0a8b1acb6f work on new guide
svn: r17814

original commit: e65535c88037da8c21876c9c4a7fcd62efdbe9d4
2010-01-25 15:36:56 +00:00
Sam Tobin-Hochstadt
9821c485c0 new doc branch
svn: r17813

original commit: e071050f7f498fc4c23c33facbe5880e9124cbfc
2010-01-25 14:48:11 +00:00
Sam Tobin-Hochstadt
5cb93424d5 Simplify pattern for expressions in type env.
Attempt to avoid doing local-expansion repeatedly.

svn: r17812

original commit: 2cd7fe5499fab307a6b2287111cdb02fa5fb06ab
2010-01-25 14:46:34 +00:00
Carl Eastlund
e9503a6993 Replaced uses of quote-srcloc with quote-syntax.
svn: r17757

original commit: 7f58c26709c9a97623f50ec812727daa080b155b
2010-01-19 23:25:07 +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
Carl Eastlund
2fda2984ab Updated local-expand of contract forms in require/contract.
svn: r17725

original commit: 9e540043bca10416a07cdb7dc36729cd62b648d9
2010-01-19 00:20:54 +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
12be4e80ab Syntax for predicates with non-empty paths
svn: r17660

original commit: 5e1b355e325a8a910911caaa25069b51eea7cd7b
2010-01-14 23:17:56 +00:00
Sam Tobin-Hochstadt
aac0a48ef4 update to the final version of this code
svn: r17658

original commit: d69c96cf06ccc0f6bef7734d679329e9fa320db1
2010-01-14 22:09:31 +00:00
Sam Tobin-Hochstadt
a1062c49f9 Types for the other `check-expect'-style forms.
svn: r17657

original commit: 104adf9c62a458e848019fc2331184c8c83ab29e
2010-01-14 21:24:47 +00:00
Sam Tobin-Hochstadt
8fd1b8c69e Paths for first' and rest'
svn: r17654

original commit: 1ab2a41092d9b64a3d7744bd7f0c3fea7248c021
2010-01-14 20:00:37 +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
b7c5360562 `andmap' now works as a predicate in Typed Scheme
svn: r17575

original commit: f13453e8893ed86e7f90a596e80aed9e61755d89
2010-01-08 19:05:58 +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
9e17eab6d8 Create new `typed/test-engine' collection.
Remove dependence of `typed-scheme' on `test-engine'.

svn: r17567

original commit: 0d46fcb48a2865dd8bae8e229e8ffb4e3a2c9521
2010-01-08 15:38:17 +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
6a1e740b74 Fix error messages on malformed All.
svn: r17546

original commit: 6199fc88670eab71e59e34aa244f6531547e7576
2010-01-07 20:31:23 +00:00
Sam Tobin-Hochstadt
0482c90bfa Improve error messages.
svn: r17545

original commit: a40d5c55693037f2a260512c74a6ef4d58d5ba5e
2010-01-07 20:16:05 +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
34e36bf350 More type names
Fixes PR 10646 (as it evolved)

svn: r17533

original commit: b71b1967641584d4ad1a5280598e9c6d60f929e3
2010-01-07 16:48:05 +00:00
Sam Tobin-Hochstadt
d82d82029e fix typo
svn: r17530

original commit: bcee60dfd8670192bce12693ebc7ce17c5ec5e67
2010-01-07 15:14:33 +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
a431e55952 fix lots of numeric types
svn: r17520

original commit: 8b7fb016923da57df016ade78089468a902483d2
2010-01-06 23:21:31 +00:00
Sam Tobin-Hochstadt
1eeef8e717 Put dynamic behavior of `check-expect' into functions.
Give those functions types.

svn: r17519

original commit: c7cb124c954cb533d31d2dac165697780322e7c6
2010-01-06 23:03:08 +00:00
Sam Tobin-Hochstadt
860376e33f Use syntax-parse and syntax-classes for type annotation macros.
Add `let-values:' and `let*-values:', fixes PR 9793

svn: r17516

original commit: 582ca03d1898ffc89b142e0e38398861c7d8549f
2010-01-06 22:15:18 +00:00