Commit Graph

362 Commits

Author SHA1 Message Date
Eric Dobson
ad93c3fbfc Provides better error message for PR 11889.
original commit: a9655c04dd8cd150f283a5755a89b47dcd505d62
2011-07-05 11:25:10 -04:00
Eric Dobson
f357d4c0ce Fix typechecking of call-with-values. Closes PR11709.
original commit: 0b761781380ba23a6e363798ad39049a8d4e6eb6
2011-07-05 11:25:10 -04:00
Eric Dobson
1c0f8a6df8 Add types for kernel struct constructors.
original commit: 046d4769704809840c3850b501ec378cdbcdf7e7
2011-07-05 11:25:10 -04:00
Vincent St-Amour
c891702954 Have letrec build unions in canonical form.
original commit: 27d7ad1e87da6007a4a1123941114802a74615c3
2011-07-01 16:06:15 -04:00
Vincent St-Amour
0fa93ae065 Remove trailing whitespace.
original commit: 43efe6adf01c5ee7f7b63eebd46c85ce38eff97b
2011-06-30 14:01:47 -04:00
Matthew Flatt
5fb4f1af3a remove syntax certificates; add syntax taints
original commit: 1160d3df629ce65eb8fe9ebea2c33b8d4000ea50
2011-06-29 19:15:48 -06:00
Eric Dobson
c8c1cdc655 Make TR provided struc-infos act like constructors. Closes PR11578.
Closes PR11866.

original commit: d0cfebd5b464076bbfa136861ffbaaae2d400620
2011-06-29 17:38:05 -04:00
Eric Dobson
c3ca0bbda9 Cleaned up define-typed-struct-internal and require/typed.
Also fixed a test for require/typed.

original commit: ecaf5f40a0220b06fdf747e3baefe6d05ae69cf0
2011-06-29 17:38:05 -04:00
Eric Dobson
a5d5be4f95 Added support for configurable constructor names in require/typed.
Closes PR11171. Closes PR11194. Closes PR11314.

original commit: f3692eae29d7b0582eb90cc4768786688b8ca438
2011-06-29 17:38:05 -04:00
Eli Barzilay
52bad5959a A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)

original commit: 40124a0619da5e187d95aeb1dde237f05d6f9c6b
2011-06-28 02:01:41 -04:00
Eric Dobson
56e83287e8 Make vector-immutable work like vector. Closes PR 11535.
original commit: a14723f27a61ce262b0024db1777fa2db7f94c8b
2011-06-27 11:35:48 -04:00
Eric Dobson
ee96de4dce Moved tests for equality to unit tests
original commit: 0671945a8d39c87dfe3536291a06bf2dc00f241d
2011-06-17 15:17:20 -04:00
Vincent St-Amour
3face0ff46 Unify types and filter behavior of not and false?.
original commit: 26541ffbbdccf7d27db1f1ae439430090fcb4b0b
2011-06-16 18:08:44 -04:00
Sam Tobin-Hochstadt
0cf1898580 Wrap expected type. Closes PR 11980.
original commit: b76819a66e9f8c6b1b5f364c4b07301ecada7979
2011-06-14 19:05:16 -04:00
Vincent St-Amour
7e441e8e31 Remove trailing whitespace.
original commit: 3b036388d64c33a63bad18e53341b54bac719b1a
2011-05-18 17:09:45 -04:00
Vincent St-Amour
794bfe775b Give more meaningful names to conditional contract forms.
original commit: a1fab6ec06b1b000e0419f617ec974f2827c57e4
2011-05-18 17:09:45 -04:00
Eric Dobson
3de7ea8410 Correctly instantiate poly-dotted functions with zero arguments.
Closes PR 11776. Closes PR 11545.

original commit: 44f377bcd40b88147b606dbe1e8950e59b40e07d
2011-05-03 18:20:31 -04:00
Sam Tobin-Hochstadt
403354ad49 Remove useless requires.
original commit: 51083dbce6bc66305a7d3809097bdaba07c78313
2011-04-20 09:41:42 -04:00
Ryan Culpepper
12955cdc37 moved unstable/{location,srcloc} to syntax collection
fixed bugs in unstable/wrapc

original commit: 7828a7bfa78ac6591ea7074cdf85f3cd0ca12baf
2011-04-08 08:25:22 -06:00
Ryan Culpepper
332517bc27 created racket/syntax from parts of unstable/syntax
original commit: 73ab1675222761363f6633061bc1156189f4ba59
2011-04-07 09:47:20 -06:00
Vincent St-Amour
ddd2dd821b Add an Exact-Number type.
original commit: 88fac43d551687efc72b6241c2dffbbaffe270d7
2011-03-18 10:25:20 -04:00
Vincent St-Amour
5e37d261e5 Fix contract.
original commit: fe8f1c3591ea86f7d0ec7943ccff47c4c2585dea
2011-03-17 13:10:19 -04:00
David Van Horn
091a0f64e3 Fixes more spelling errors.
original commit: 760a58b65df2b91010d2bcc2739ddab2a4489729
2011-02-04 19:44:13 -07:00
David Van Horn
774c62bda5 Fixed various spelling errors.
original commit: c9519fd11300b07292df8619e86f48533eff6e4d
2011-02-03 17:42:33 -05:00
Vincent St-Amour
2b933e4436 Remove some legacy bindings.
original commit: d65438c9ea1bacce33579c81cc0e22120ab64f5d
2011-01-31 16:39:19 -05:00
Vincent St-Amour
97d8f2613c Fix typechecking of single flonum literals, now that they are enabled by default.
original commit: 0f0a2625c6765a48e6aeb41230d2e6d9225f9c9e
2011-01-31 16:39:18 -05:00
Vincent St-Amour
c0970cc647 Small-Float -> Single-Flonum
original commit: f1c6c74284fd913ab8231426bcf1206bcf259f77
2011-01-31 16:39:18 -05:00
Vincent St-Amour
d5941cb2d6 TR's numeric tower is now built from unions of non-overlapping base types.
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.

In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.

original commit: d4c93cc12e6df893ba2e782f0e0ea5529738315a
2011-01-31 16:39:13 -05:00
Vincent St-Amour
b13ebb0924 Generalize hash table literals and subtypes of symbol.
Closes PR 11670.

original commit: 2bd0145603f411e01ce6e16bfcf6ffc842b6801a
2011-01-26 14:23:19 -05:00
Vincent St-Amour
9f19fceabb Fix portable-fixnum?.
original commit: 7808be5e20c022799d16d3a7044dc1e17dd04898
2011-01-12 14:20:29 -05:00
Vincent St-Amour
6d105153f1 Fix portable fixnum size.
original commit: cb723092e26f980600df3d66c54321da28b0490e
2011-01-05 14:42:31 -05:00
Vincent St-Amour
ee11638bc6 Scheme -> Racket
original commit: 740b8308d7d52c1b4b9f00282d1b1c5187cd81e3
2010-12-10 17:17:02 -05:00
Vincent St-Amour
f4a1a31f61 Typecheck body of letrec using original types instead of potentially undefined type.
original commit: 81ef5f9418b0011daa980d438c0eed451b37d578
2010-12-08 20:32:20 -05:00
Vincent St-Amour
0ccef7d4bc Error if we get a type that may be undefined and we don't expect it.
original commit: 53719600d8de6c504c126a316eb87deb2c49ebdd
2010-12-08 20:32:20 -05:00
Vincent St-Amour
2865f2801f letrec: consider outside bindings safe.
original commit: b045153177afe8aaebdbf179dbe27670b1cf577d
2010-12-08 20:32:19 -05:00
Sam Tobin-Hochstadt
1527fba4b3 Allow arbitrary filter specification in function types.
Allow (A -> B -> C) for curried function types.

original commit: 87eab889d68dd46bfd5b0f4d79942bc104cb3da2
2010-12-08 18:22:29 -05:00
Sam Tobin-Hochstadt
05e1489dfb Better handling of `hash-*' functions, and hashes as sequences.
original commit: 73dbf42e0e6fb750d871060d6ed34adf6e207eec
2010-12-08 18:22:29 -05:00
Vincent St-Amour
5acfe5b67d Take into account potentially undefined values in letrec.
Closes PR11511.

original commit: dc2df4882b6abca46839ace724924df5ab0d7707
2010-12-08 18:17:06 -05:00
Eli Barzilay
46cbe83ff3 Clarify comment re `fixnum?' non-use at the syntax level, and add a note
to the `fixnum?' documentation.

original commit: 9a485064ed81366579f2a5c7cebf591de7e07be2
2010-11-05 01:48:23 -04:00
Vincent St-Amour
9c5a1e0086 Fixed a fixnum typechecking issue.
original commit: 4c081c127ab91067c3a69568175d7274b090f986
2010-11-04 17:27:34 -04:00
Vincent St-Amour
26aafa3ea6 Fixed potential danger with fixnum optimizations.
original commit: c0a6137c67228933ad94d88409ffd86e30e922ae
2010-11-04 15:35:21 -04:00
Vincent St-Amour
1a4e176824 Inexact-Complex -> Float-Complex
original commit: 27e722f27b673cbfcee60aaba75dfdcab7e396c5
2010-10-12 16:47:46 -04:00
Vincent St-Amour
92b3f9af03 Changed the TR numeric tower to use the new flonums.
original commit: a59a99c42dffec38be98f3c0449097c80bad40fe
2010-10-12 16:47:45 -04:00
Vincent St-Amour
19784fffe5 Improved TR's error messages when all domains but one have been eliminated.
original commit: db0046101cb8b75e56215b4528d280894c59a36d
2010-10-07 18:30:35 -04:00
Vincent St-Amour
105b82fb70 Fixed tautology/contradiction recording to work with case-lambda.
original commit: 5395dbca122c534db3d70139c871e0bc4b91515f
2010-10-06 17:32:29 -04:00
Vincent St-Amour
9e13c1a6d9 Register types for send exprs in the type table.
original commit: 21723281899d7aab5692e605386abcf6f92cefe9
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
5733f06d9a Contract fixes.
original commit: c739128703d917540ff963775459b6c75ccf2c80
2010-10-01 19:29:18 -07:00
Vincent St-Amour
1fb2c973f0 Further improvements for TR's error messages.
Only the most permissive domains whose associated return type is
consistent with the expected type are shown in error messages.

For example, for a function with the following type:
Fixnum -> Fixnum
Integer -> Integer
and an expected type of Integer, only the latter domain is shown in
the error message.

original commit: e011ea00bd73fd8ac3b9c4afe4e1435dcaa27cdb
2010-10-01 17:48:46 -04:00
Vincent St-Amour
5fab19e4df Improved TR's error messages in presence of case-lambda types.
- When displaying errors involving functions that have case-lambda
  types with branches that are redundant modulo filters (such as <, >
  and others), only the general branches appear in the error message.
  (Real Real Real * -> Boolean, in the case of < and co.).
- For all errors involving case-lambda types, only domains for which
  the return type is consistent with the expected type are displayed
  in the error message. Further simplification is planned.

original commit: 206fe52047f24ab89ac1d538c939c04fbbae59b7
2010-09-23 12:59:47 -04:00
Sam Tobin-Hochstadt
087b5fd8f7 Fix internal error when single value expected.
original commit: 979561354d3c0949208e1dd7fed9fe750f4c1cef
2010-09-10 18:29:34 -04:00