Commit Graph

218 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
85a0fa22d1 progress 2008-09-02 20:25:23 -04:00
Sam Tobin-Hochstadt
3f5069a003 Fix construction of function types. 2008-09-01 15:04:18 -04:00
Sam Tobin-Hochstadt
b5a07f4646 compiles 2008-09-01 14:55:51 -04:00
Sam Tobin-Hochstadt
a8417c7c1c start on keywords 2008-08-29 18:23:59 -04:00
Sam Tobin-Hochstadt
fa8ffb417e Improve error message for summary.
Fix returned error type for polymorphic apps.
Fix typo.

svn: r11487
2008-08-29 20:14:22 +00:00
Sam Tobin-Hochstadt
3ac6b485a5 Improve error message for poly app when fcn is an identifier.
svn: r11486
2008-08-29 19:57:12 +00:00
Sam Tobin-Hochstadt
a16f879e24 Fix docs to work around schememod bug
svn: r11342
2008-08-19 19:57:59 +00:00
Sam Tobin-Hochstadt
d546d6e045 Better error messages for require/opaque-type
svn: r11341
2008-08-19 19:48:24 +00:00
Sam Tobin-Hochstadt
79b4f2d078 Print struct names without [].
svn: r11340
2008-08-19 19:40:38 +00:00
Matthew Flatt
9453aaaccf assign authors to manuals
svn: r11287
2008-08-15 20:16:06 +00:00
Sam Tobin-Hochstadt
513174a2bd Fix handling of `, delay, and this-language using Matthew's advice
svn: r11127
2008-08-07 19:05:32 +00:00
Sam Tobin-Hochstadt
24a98cf061 Provide some names
svn: r11114
2008-08-06 20:48:02 +00:00
Sam Tobin-Hochstadt
44e0c09d75 Fix typo
svn: r11113
2008-08-06 20:47:28 +00:00
Sam Tobin-Hochstadt
5f787a63d4 Add types for char comparison functions.
svn: r11085
2008-08-05 18:17:27 +00:00
Sam Tobin-Hochstadt
ad2b2b3199 fix some dumb bugs
svn: r11082
2008-08-05 15:05:25 +00:00
Sam Tobin-Hochstadt
28c5e71b01 Fix bug 9649.
svn: r11029
2008-08-01 20:57:48 +00:00
Sam Tobin-Hochstadt
d7b4d81e04 Fix docs of -> to talk about varargs.
svn: r11028
2008-08-01 20:42:30 +00:00
Sam Tobin-Hochstadt
fa857a40ac Allow ... rest variables to be used as lists.
Bind Values as a type.

svn: r11010
2008-07-31 19:26:46 +00:00
Stevie Strickland
402de6f090 Yes, we need the hyphen.
svn: r10968
2008-07-29 17:10:01 +00:00
Stevie Strickland
be456fec94 Actually, revert that last change. What we'll do is:
* Fix up things so that we actually use 'temp-dir via find-system-path
    instead of using /tmp always
  * Turn off logging via the logging? for-syntax definition.

svn: r10967
2008-07-29 17:06:11 +00:00
Stevie Strickland
2d9a48a11d This shouldn't have been left in.
svn: r10966
2008-07-29 16:58:21 +00:00
Stevie Strickland
91291ba2bc Add the forall Unicode symbol as an acceptable replacement for the
All type constructor.

svn: r10797
2008-07-16 17:37:05 +00:00
Stevie Strickland
0cd54c9e33 Merging in the following code:
svn merge -r10197:10773 http://svn.plt-scheme.org/plt/branches/samth/dots
svn merge -r10210:10737 http://svn.plt-scheme.org/plt/branches/samth/dots-tests

This adds non-uniform variable-arity polymorphism to Typed Scheme.

svn: r10778
2008-07-15 19:03:59 +00:00
Stevie Strickland
39c343ec18 Add filter-map to base-env.ss 2008-07-15 00:33:14 -04:00
Stevie Strickland
1fd8f6c2c3 This is too long for the paragraph, just separate it. 2008-07-15 00:10:04 -04:00
Stevie Strickland
8842fb9ea0 Add printing if a starred type was substituted in as well. 2008-07-14 09:42:45 -04:00
Sam Tobin-Hochstadt
2866efd348 logging 2008-07-14 08:48:14 -04:00
Stevie Strickland
e92c35d90c I'm not sure how best to add this as a hit for "rest argument(s)" without
actually putting that in the section title -- and truthfully, maybe it
should be, for those who aren't deeply versed in PL but know enough
Lisp/Scheme to ask for this.
2008-07-13 22:33:37 -04:00
Stevie Strickland
b991505297 Just tried the following program:
#lang typed-scheme

(require/typed
  srfi/1
  (fold (All (a b) ((a b -> b) b (Listof a) -> b))))

And got an error because (orig-module-stx) was #f.  I'm not sure whether
it should have been or not, but I've fixed up this to handle that case
(having it just use the normal error message when that's #f, as I'm not
sure whether the error message would be correct otherwise).

However, it might just be that (orig-module-stx) should have not been
#f, in which case this should be checked out.
2008-07-13 21:47:36 -04:00
Sam Tobin-Hochstadt
2456dcc18b Fix handling of mutable structs (setters != getters)
Allow use of #:mutable as define-typed-struct arg
Fix types of random andmap ormap
2008-07-13 17:31:58 -04:00
Stevie Strickland
4e7f527cb8 Put the beginnings of documentation here. 2008-07-13 16:50:05 -04:00
Stevie Strickland
d6f527a96f Starting to expand out the documentation in preparation of merging this
branch back to trunk.
2008-07-13 16:07:29 -04:00
Stevie Strickland
421df42d00 Switch these over to for/for*. Avoid the hash-copy calls as well, since
we either end up doing the traversal wholesale or throwing some of that
work away by removing items.
2008-07-13 12:14:15 -04:00
Stevie Strickland
fdfc8d7b78 Add comment explaining what's going on here. 2008-07-13 06:14:23 -04:00
Stevie Strickland
e0bad1987d Was thinking of doing some cleanups here, but at the very least I can
get rid of this useless remove, since it's just going to overwrite it
anyway if we don't remove it first.
2008-07-13 06:12:06 -04:00
Stevie Strickland
9f6427ac34 This makes the change mentioned in the log message for r10735 (the previous
revision). So what we'll get here is the following:

Dotted + Dotted = Dotted (from the first case)
Dotted + x      = x      (since x refers to a free use of the dotted var)
x      + Dotted = x      (same)

I think this is correct.
2008-07-12 22:33:04 -04:00
Stevie Strickland
f3eb315425 I'm not sure if this is correct, but this handles the cases where we're
instantiating dotted pre-types where the bound is _not_ free in the
pre-type base.  I checked in a test case for this, that's something like:

(inst (plambda: (a ...) [ys : (Number ... a -> Number)] (apply + ys))
      Integer Boolean String)
 =
(Number Number Number -> Number)

These changes introduce no extra test failures, and we really have to
account for the bound here, and really even if the variable _does_
appear free within the pre-type base, it shouldn't be counted as a
"regular" variable outside of that scope.

Actually, maybe Dotted should behave like Constant, where it just
propogates until there's a separate free use that we're merging with,
in which case we just treat it like the free use (which will
eventually get fix-bound applied to it anyway).  I think I'll make
that change next.
2008-07-12 22:30:00 -04:00
Stevie Strickland
9b289bea27 Actually, I want to be careful with this.
For example, we don't want the result type of the function to be free,
so it's more like:

G, D + {a}, S |- f : (t1 t2 -> t)
G, D, S |- t

(i.e. {a} not free in t)

Hmm.
2008-07-12 22:20:10 -04:00
Stevie Strickland
274814e6aa There's no reason we can't allow foldl on a rest arg, as long as the types
match up appropriately.  Let's do it!
2008-07-12 22:13:44 -04:00
Stevie Strickland
ab2360384f We have to be careful here -- for example, one of the test cases was failing
because the last thing in the instantiate was a function type, which is
a cons.  Look for a cons whose cdr is an identifier.
2008-07-12 22:11:23 -04:00
Eli Barzilay
7d50e61c7f * Newlines at EOFs
* Another big chunk of v4-require-isms
* Allow `#lang framework/keybinding-lang' for keybinding files
* Move hierlist sources into "mrlib/hierlist", leave stub behind

svn: r10689
2008-07-09 07:18:06 +00:00
Sam Tobin-Hochstadt
eed2c37495 Need to do the same for regular Poly as well. 2008-07-07 19:33:08 -04:00
Sam Tobin-Hochstadt
b835002d72 Finally found a nasty bug involving variables not appearing in the hash table. 2008-07-07 19:21:42 -04:00
Sam Tobin-Hochstadt
6a607be6a9 If there are extra effects, let them be. 2008-07-07 17:15:43 -04:00
Sam Tobin-Hochstadt
8599321b57 Add check that effect lists have same length. 2008-07-07 17:04:09 -04:00
Sam Tobin-Hochstadt
f9c91d6b8a Constraining with bottom produces trivial constraints, not missing constraints. 2008-07-07 16:54:46 -04:00
Sam Tobin-Hochstadt
589ba9d77a Add require of scheme/promise for force.
Handle call-with-values more appropriately.
2008-07-07 16:43:12 -04:00
Sam Tobin-Hochstadt
4758c0b14d Better check for 'is this error from a macro' 2008-07-07 15:54:19 -04:00
Sam Tobin-Hochstadt
2de55888f1 handle nested polymorphic types in the expected type of a lambda 2008-07-07 15:36:33 -04:00
Sam Tobin-Hochstadt
acd6664c52 Fix call with correct # of args. 2008-07-07 15:24:09 -04:00