Commit Graph

267 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
2d9267f484 Add types for with-output-to-string, open-output-nowhere
Fix time.ss test not to print

svn: r16790

original commit: 25f9bcfe030b4e1374546a8859d2170e5bf4b6eb
2009-11-15 22:38:30 +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
Eli Barzilay
33d300977a newlines at EOFs
svn: r16630

original commit: 44d88cee6b13d29d08d5bdd8e9e7681ca70a3765
2009-11-09 03:49:50 +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
115c7c8443 Types for all functions documented in reference/vector.scrbl
Fix docs for vector-arg{min,max}.

svn: r16602

original commit: dcb5f5cfb1a17fa652cee73fd95a4acdaf9b57ca
2009-11-07 07:11:00 +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
Sam Tobin-Hochstadt
bd75ded350 Elimintate printing of complex filters.
Allow parsing of ...* and ...a
Parameter for printing ...* and ...a

svn: r16225

original commit: 96f664354d80ed25ff70e27fd7d6dc7f694c6c7d
2009-10-02 20:41:56 +00:00
Eli Barzilay
43c0b93899 fix optional argument to number<->string functions
svn: r16123

original commit: cee0e5f3260e3571a54b546225aba4ee7c551f8e
2009-09-24 15:26:13 +00:00
Ryan Culpepper
8eb494615f removed old stxclass collection
Please apply to release branch.

svn: r16047

original commit: 987ab4c5e8c4548b9eb87f6f78c75b6877118065
2009-09-17 16:11:20 +00:00
Sam Tobin-Hochstadt
535ec1720f fix uses of syntax-parse attributes
svn: r15984

original commit: ed65dacdcd2c4c2d2cfe2177865598c97903dfd7
2009-09-11 22:49:56 +00:00
Sam Tobin-Hochstadt
87d48f63ef Remove last uses of stxclass.
svn: r15976

original commit: 5fc019ba6c8d0a9ca21c05c4a92f8476e348f407
2009-09-11 17:49:50 +00:00
Sam Tobin-Hochstadt
34a2dda59c Make type keywords show check syntax info
svn: r15925

original commit: bc25b75eb39e85c21fd23b95706295b158c11463
2009-09-08 20:16:48 +00:00
Sam Tobin-Hochstadt
521dee2bb5 Move parse-type2 to parse-type.
Re-enable typed-scheme tests automatically.

svn: r15924

original commit: 4907d266df8438b6f0f4a3e3fd0241702ab46b57
2009-09-08 20:02:03 +00:00
Sam Tobin-Hochstadt
cf872c4e38 New type parser, written using syntax/parse.
- uses keywords with bindings
 - : macro in separate file so it can be used earlier
 - internal function in separate file
FilterSet/c and LatentFilterSet/c contracts
Avoid returning #f when `look-for-in-orig' fails
Add type for unsafe-cdr

svn: r15923

original commit: 63d318fd4b7e7244af10fff21db74f0d09db5006
2009-09-08 19:51:34 +00:00
Sam Tobin-Hochstadt
c315e83375 Handle type ascription and type instantiation better with expected type.
Add remove-ascription
Identify incorrect element of wrongly typed list.
Use function argument types as expected types.
Allow multiple uses of orig-module-stx, older one takes precedence.

svn: r15857

original commit: b3dde2ca7f0e343e207deb2d983785a7fea64a1b
2009-09-01 22:25:35 +00:00
Sam Tobin-Hochstadt
4bc1a32ad1 fix 9979
svn: r15721

original commit: 1e5cb7d603ff13ce47ad4e09dec9ada8f9bb46ac
2009-08-12 21:55:04 +00:00
Sam Tobin-Hochstadt
031ca17732 improve types for numeric predicates
fix pr 9767

svn: r15717

original commit: 50b7a0b190ffea945aa012ad1be005bf3bd15030
2009-08-12 20:42:20 +00:00
Sam Tobin-Hochstadt
3df1a5b1a8 Allow filters/objects to be provided to untyped code.
svn: r15706

original commit: 50545830f2bc3176fb0e34d828d8fdbd4c6eb7fc
2009-08-11 21:00:57 +00:00
Sam Tobin-Hochstadt
2b0465d253 add getenv and pretty-print etc.
svn: r15705

original commit: c27783830a1846857c82478e50c7380faa5f861b
2009-08-11 20:44:45 +00:00
Sam Tobin-Hochstadt
4a448aa21d document define-struct/exec:
svn: r15703

original commit: 9649e10df843371f6c0436eb2024547767c38d79
2009-08-11 20:05:31 +00:00
Sam Tobin-Hochstadt
018b998e24 Prohibit predicates, unions of tvars in contracts
Add vector?

svn: r15701

original commit: b23016f86afbdd98a73fcb8f71d71a6ee5b8891c
2009-08-11 19:35:34 +00:00
Sam Tobin-Hochstadt
af1593c0ea New contracts for hashtables, vectors, boxes
svn: r15646

original commit: 1ea71ea94b86f9454825bebbc86215b73ede3f19
2009-07-30 21:15:16 +00:00
Sam Tobin-Hochstadt
71e1b33d99 struct->vector
svn: r15645

original commit: 55c9f55cf3e127fa748c619e78adffa5215b3750
2009-07-30 21:00:04 +00:00
Sam Tobin-Hochstadt
93bdf0ebba remove c
svn: r15644

original commit: 1977ab070999d88811c345ea7832432e1a4b3ca0
2009-07-30 20:13:28 +00:00
Sam Tobin-Hochstadt
b168bed203 Add some hash functions
svn: r15642

original commit: 7888fa5dc66fef9d8fe20063d6f7d71415130ec1
2009-07-30 19:30:05 +00:00
Noel Welsh
c1b6706298 Add types for:
- regexp? 
- pregexp? 
- byte-regexp? 
- byte-pregexp? 
- regexp 
- pregexp 
- byte-regexp 
- byte-pregexp 
- regexp-quote 
- read-bytes-line

svn: r15595

original commit: 9c7584b8c80771bed4d2983617695c6564b719c5
2009-07-28 10:41:27 +00:00
Eli Barzilay
40fa4f26b2 Newlines at EOFs
svn: r15380

original commit: a70bf64fd9d68487c128282ca85a8964e1592711
2009-07-04 02:28:31 +00:00
Sam Tobin-Hochstadt
6d02292d53 Use let/ec instead of let/cc
let/ec: and let/cc:
type for call-with-current-continuation
Start on ImpFilters

svn: r15220

original commit: 5b79cd7c0c7ec1298573d15b0c79abd403cdcf58
2009-06-19 18:01:33 +00:00
Carl Eastlund
1a71d5e3a3 Added types for string-copy and string->immutable-string.
svn: r15202

original commit: a06c6b38aa839860a6157b0644d7ab17ba964167
2009-06-18 00:59:04 +00:00
Carl Eastlund
ee04be2096 Added types to the srcloc structure.
svn: r15201

original commit: 21033a3e3c9af14c0bd06c291b0e9c779e43b869
2009-06-17 22:28:21 +00:00
Carl Eastlund
db8dddad38 Added types for:
- keyword?
 - string->keyword
 - keyword->string
 - char-upcase
 - char-downcase
 - char-titlecase
 - make-rectangular
 - make-polar

svn: r15200

original commit: f110157ac27b3dd3bac54dbed99386ae2ba66631
2009-06-17 21:08:35 +00:00
Sam Tobin-Hochstadt
c8cf1953e5 Use vector-immutableof' and box-immutable/c' to handle boxes and vectors.
svn: r15199

original commit: cfd65e7fa2ec01f345c6092c308c6894557dc7b6
2009-06-17 20:49:13 +00:00
Sam Tobin-Hochstadt
f7019a6a2b Merge in changes to Syntax types from Carl.
svn: r15156

original commit: bc6d606a604a999da46a18b7d01b8d39c7b0b7cb
2009-06-12 20:53:47 +00:00
Sam Tobin-Hochstadt
ab3e94b6e2 Add NoFilter and NoObject to represent no information about filter/object.
Handle these properly in check-below (with test).
Use NoFilter and NoObject to make if typechecking work properly with filters.
Reject mismatched filters/objects (with test).

New version of require/typed that handles opaque and struct requires.
Reorganize docs around this.

svn: r15155

original commit: 7b82069fa0805e3de16c9a49d6c303789fc75419
2009-06-12 19:04:39 +00:00
Carl Eastlund
3e612cbb93 Corrected types for source location in lists passed to datum->syntax.
Corrected types for peek-* functions (which may return EOF).
Added type for read-byte.

svn: r15137

original commit: e53b944fb3261c20322965f7671e08df5f7c5608
2009-06-10 23:38:52 +00:00
Sam Tobin-Hochstadt
9428ed0010 Fix a bunch of types and function types
svn: r15133

original commit: 7d9f506760dd7d068641eea5f89c15e36a45d837
2009-06-10 21:46:52 +00:00
Sam Tobin-Hochstadt
a9bff72959 add split-at and append*
svn: r15119

original commit: 513987519940efd23a801dacf8ba35364758228d
2009-06-08 15:54:05 +00:00
Sam Tobin-Hochstadt
0c647544df Parse (A -> B : C) correctly, B can't be a `values'
svn: r14858

original commit: e269f7aa7c0bf75b823e5f67931b4a9c5fb61723
2009-05-18 22:18:19 +00:00
Sam Tobin-Hochstadt
077ec2440e Handle ValuesDots in check-below.
Fix typo in valuesdots handling in values->tc-results
Handle ValuesDots in do-ret.
Don't try to construct silly wrappers for `apply values'
Don't use rest as list extension if it's #f
Fix tc-result handling for check-subforms/check
Add stronger contracts for Scope
Always generate substitution for infer/dots.
Fix type of `time-apply'

svn: r14815

original commit: 1047f7625d2dfa53d2896fa44fde732873d86ba4
2009-05-14 18:57:02 +00:00
Sam Tobin-Hochstadt
37d71ded6f Fix type->contract of function types.
svn: r14810

original commit: d8c613494e838711d2b85cc61607238d4c36baad
2009-05-14 14:45:24 +00:00
Sam Tobin-Hochstadt
d825cc12d7 rationalize get-type/infer to handle tc-results.
Fix tc-let to handle tc-results in various places.

svn: r14796

original commit: a3fb3575f9daccccc8ec053d585f3e8e9e192748
2009-05-13 16:16:39 +00:00
Sam Tobin-Hochstadt
67420e1988 Contracts for lexical-env
Fix type of quotient/remainer function

svn: r14792

original commit: f349525244ffac48741b12a147789cbbedd21852
2009-05-12 21:51:01 +00:00
Sam Tobin-Hochstadt
5a3369a939 Fix parsing of All to only use parse-values-type when appropriate.
Fix tests for new names.
Fix tests for parse-type not handling values.

svn: r14752

original commit: 9f3d719b4eed1f835372f63f71bdfdc837a199cc
2009-05-08 20:26:27 +00:00
Sam Tobin-Hochstadt
783581aa49 Handle polymorphic function application.
Paths work with car/cdr.
Fix #%require/#%provide top-level handling.

svn: r14735

original commit: 50696a08a31258428edf4af9d58c84d763a2bc17
2009-05-06 22:45:12 +00:00
Sam Tobin-Hochstadt
e4997f6176 Remove `make-arr/values'
Accessors now have appropriate latent objects
Handle function application for unions, error, mu, parameters

svn: r14724

original commit: 07341c605b9660333444665265a4fb3104efdc6e
2009-05-05 23:03:02 +00:00
Sam Tobin-Hochstadt
dfcd59c8fa Handle rest args and case-lambda in app.
Fix parsing.

svn: r14722

original commit: 59dbcade9c888afac614dba06b4c93cdff64c6b7
2009-05-05 19:10:21 +00:00
Sam Tobin-Hochstadt
c5bb0e753d `values->tc-results' needs the formals
Fix values->tc-results for ValuesDots
Don't generate problematic nested lists.
Fix stupid typo.
Parsing of tc-results now doesn't use parsing of values, which does something different.

svn: r14713

original commit: 9c538764dcd499d9b8a04b415a88835ccd55f1c9
2009-05-04 18:49:56 +00:00
Sam Tobin-Hochstadt
4627335b14 Fold tc/let-values/check into tc/let-values.
Remove printfs.
More metafunctions to handle splitting and merging filter sets.
Handle `delay', `list', `list*'
Implement tc/funapp for the simple case.
Make `id-from' a stxclass.
Shuffle code around so that it compiles.
Type parsing now handles multiple values properly, and has a values and results entry point.

svn: r14680

original commit: b4d100d60cb99e714374d2db3c75a36167b109cc
2009-05-01 21:18:23 +00:00