Commit Graph

348 Commits

Author SHA1 Message Date
Eli Barzilay
44d88cee6b newlines at EOFs
svn: r16630
2009-11-09 03:49:50 +00:00
Sam Tobin-Hochstadt
99a70b38d8 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
2009-11-09 02:29:02 +00:00
Sam Tobin-Hochstadt
dcb5f5cfb1 Types for all functions documented in reference/vector.scrbl
Fix docs for vector-arg{min,max}.

svn: r16602
2009-11-07 07:11:00 +00:00
Sam Tobin-Hochstadt
a5849fb05a 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
2009-10-21 13:30:03 +00:00
Sam Tobin-Hochstadt
37106bd6f7 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
2009-10-20 18:30:37 +00:00
Sam Tobin-Hochstadt
6a83901a8b 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
2009-10-18 01:10:00 +00:00
Sam Tobin-Hochstadt
96f664354d Elimintate printing of complex filters.
Allow parsing of ...* and ...a
Parameter for printing ...* and ...a

svn: r16225
2009-10-02 20:41:56 +00:00
Eli Barzilay
cee0e5f326 fix optional argument to number<->string functions
svn: r16123
2009-09-24 15:26:13 +00:00
Ryan Culpepper
987ab4c5e8 removed old stxclass collection
Please apply to release branch.

svn: r16047
2009-09-17 16:11:20 +00:00
Sam Tobin-Hochstadt
ed65dacdcd fix uses of syntax-parse attributes
svn: r15984
2009-09-11 22:49:56 +00:00
Sam Tobin-Hochstadt
5fc019ba6c Remove last uses of stxclass.
svn: r15976
2009-09-11 17:49:50 +00:00
Sam Tobin-Hochstadt
bc25b75eb3 Make type keywords show check syntax info
svn: r15925
2009-09-08 20:16:48 +00:00
Sam Tobin-Hochstadt
4907d266df Move parse-type2 to parse-type.
Re-enable typed-scheme tests automatically.

svn: r15924
2009-09-08 20:02:03 +00:00
Sam Tobin-Hochstadt
63d318fd4b 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
2009-09-08 19:51:34 +00:00
Sam Tobin-Hochstadt
b3dde2ca7f 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
2009-09-01 22:25:35 +00:00
Sam Tobin-Hochstadt
1e5cb7d603 fix 9979
svn: r15721
2009-08-12 21:55:04 +00:00
Sam Tobin-Hochstadt
50b7a0b190 improve types for numeric predicates
fix pr 9767

svn: r15717
2009-08-12 20:42:20 +00:00
Sam Tobin-Hochstadt
50545830f2 Allow filters/objects to be provided to untyped code.
svn: r15706
2009-08-11 21:00:57 +00:00
Sam Tobin-Hochstadt
c27783830a add getenv and pretty-print etc.
svn: r15705
2009-08-11 20:44:45 +00:00
Sam Tobin-Hochstadt
9649e10df8 document define-struct/exec:
svn: r15703
2009-08-11 20:05:31 +00:00
Sam Tobin-Hochstadt
b23016f86a Prohibit predicates, unions of tvars in contracts
Add vector?

svn: r15701
2009-08-11 19:35:34 +00:00
Sam Tobin-Hochstadt
1ea71ea94b New contracts for hashtables, vectors, boxes
svn: r15646
2009-07-30 21:15:16 +00:00
Sam Tobin-Hochstadt
55c9f55cf3 struct->vector
svn: r15645
2009-07-30 21:00:04 +00:00
Sam Tobin-Hochstadt
1977ab0709 remove c
svn: r15644
2009-07-30 20:13:28 +00:00
Sam Tobin-Hochstadt
7888fa5dc6 Add some hash functions
svn: r15642
2009-07-30 19:30:05 +00:00
Noel Welsh
9c7584b8c8 Add types for:
- regexp? 
- pregexp? 
- byte-regexp? 
- byte-pregexp? 
- regexp 
- pregexp 
- byte-regexp 
- byte-pregexp 
- regexp-quote 
- read-bytes-line

svn: r15595
2009-07-28 10:41:27 +00:00
Eli Barzilay
a70bf64fd9 Newlines at EOFs
svn: r15380
2009-07-04 02:28:31 +00:00
Sam Tobin-Hochstadt
5b79cd7c0c Use let/ec instead of let/cc
let/ec: and let/cc:
type for call-with-current-continuation
Start on ImpFilters

svn: r15220
2009-06-19 18:01:33 +00:00
Carl Eastlund
a06c6b38aa Added types for string-copy and string->immutable-string.
svn: r15202
2009-06-18 00:59:04 +00:00
Carl Eastlund
21033a3e3c Added types to the srcloc structure.
svn: r15201
2009-06-17 22:28:21 +00:00
Carl Eastlund
f110157ac2 Added types for:
- keyword?
 - string->keyword
 - keyword->string
 - char-upcase
 - char-downcase
 - char-titlecase
 - make-rectangular
 - make-polar

svn: r15200
2009-06-17 21:08:35 +00:00
Sam Tobin-Hochstadt
cfd65e7fa2 Use vector-immutableof' and box-immutable/c' to handle boxes and vectors.
svn: r15199
2009-06-17 20:49:13 +00:00
Sam Tobin-Hochstadt
bc6d606a60 Merge in changes to Syntax types from Carl.
svn: r15156
2009-06-12 20:53:47 +00:00
Sam Tobin-Hochstadt
7b82069fa0 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
2009-06-12 19:04:39 +00:00
Carl Eastlund
e53b944fb3 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
2009-06-10 23:38:52 +00:00
Sam Tobin-Hochstadt
7d9f506760 Fix a bunch of types and function types
svn: r15133
2009-06-10 21:46:52 +00:00
Sam Tobin-Hochstadt
5139875199 add split-at and append*
svn: r15119
2009-06-08 15:54:05 +00:00
Sam Tobin-Hochstadt
e269f7aa7c Parse (A -> B : C) correctly, B can't be a `values'
svn: r14858
2009-05-18 22:18:19 +00:00
Sam Tobin-Hochstadt
1047f7625d 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
2009-05-14 18:57:02 +00:00
Sam Tobin-Hochstadt
d8c613494e Fix type->contract of function types.
svn: r14810
2009-05-14 14:45:24 +00:00
Sam Tobin-Hochstadt
a3fb3575f9 rationalize get-type/infer to handle tc-results.
Fix tc-let to handle tc-results in various places.

svn: r14796
2009-05-13 16:16:39 +00:00
Sam Tobin-Hochstadt
f349525244 Contracts for lexical-env
Fix type of quotient/remainer function

svn: r14792
2009-05-12 21:51:01 +00:00
Sam Tobin-Hochstadt
9f3d719b4e 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
2009-05-08 20:26:27 +00:00
Sam Tobin-Hochstadt
50696a08a3 Handle polymorphic function application.
Paths work with car/cdr.
Fix #%require/#%provide top-level handling.

svn: r14735
2009-05-06 22:45:12 +00:00
Sam Tobin-Hochstadt
07341c605b Remove `make-arr/values'
Accessors now have appropriate latent objects
Handle function application for unions, error, mu, parameters

svn: r14724
2009-05-05 23:03:02 +00:00
Sam Tobin-Hochstadt
59dbcade9c Handle rest args and case-lambda in app.
Fix parsing.

svn: r14722
2009-05-05 19:10:21 +00:00
Sam Tobin-Hochstadt
9c538764dc `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
2009-05-04 18:49:56 +00:00
Sam Tobin-Hochstadt
b4d100d60c 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
2009-05-01 21:18:23 +00:00
Sam Tobin-Hochstadt
c5b4ac4f21 Rename id to mk-id to avoid name clashes.
Start on new tc-app as copy.

svn: r14660
2009-04-29 19:52:53 +00:00
Sam Tobin-Hochstadt
8cbdf3ee95 compiles again
svn: r14625
2009-04-27 16:06:54 +00:00