Commit Graph

181 Commits

Author SHA1 Message Date
Vincent St-Amour
0e710c1618 Show inlining and failed inlinings in Performance Report. 2012-07-11 10:59:31 -04:00
Neil Toronto
392d7bfbad Added sequence typecheck tests
Added empty-sequence type (prints funny but works polymorphically; will submit bug report)
Loosened type of sequence-andmap (can't mimic andmap's predicate type)
2012-07-10 13:22:53 -07:00
Sam Tobin-Hochstadt
6bf141513f Revise type environment propagation to use submodules.
Each typed module now defines a submodule named `type-decl`.
This module performs the type environment initialization (along
with other environment updates) when invoked.  Additionall,
every typed module, when invoked, performs a for-syntax addition
to a list specifying the submodules that need invocation.
This invocation is then performed by the `#%module-begin` from
Typed Racket.

The `type-decl` module always goes at the beginning of the
expanded module, so that it's available at syntax-time for all
the other submodules.  This involved adding pre- and post-
syntaxes for the results of typechecking.

This allows significant runtime dependency reduction from the
main `typed/racket` and `typed/racket/base` languages (not yet
complete).
2012-07-10 12:49:27 -04:00
Sam Tobin-Hochstadt
88f5f4c836 Remove evcase. 2012-07-10 12:49:27 -04:00
Neil Toronto
419b59e88e Added inline hint around `index?' definition; my own timing suggests 2x speedup 2012-07-09 19:15:35 -07:00
Neil Toronto
77655f9ade Added types for single-value sequences
Fixed some printing types
2012-07-09 19:15:35 -07:00
Vincent St-Amour
dba49db078 Fix type of andmap and ormap on empty lists.
Closes PR 12882.
2012-07-06 12:28:37 -04:00
Vincent St-Amour
1d43b5a0db Fix Performance Report on unsaved editors.
Closes PR12808.
2012-06-29 16:27:37 -04:00
Sam Tobin-Hochstadt
20e95f8d8e More refactoring and reduction of runtime dependencies. 2012-06-28 14:34:07 -04:00
Sam Tobin-Hochstadt
f075ecd36e File splitting, dependency reduction. 2012-06-28 14:34:07 -04:00
Vincent St-Amour
db6c2e7737 Update types of string-join and add-between. 2012-06-27 11:39:15 -04:00
Neil Toronto
db57b78e18 Added lock-icon
Changed most *-icon and *-logo function arguments to keyword arguments

text-icon no longer uses font size

Small doc changes
2012-06-26 15:00:05 -06:00
Sam Tobin-Hochstadt
d346415903 Fix type of dynamic-place. 2012-06-25 19:20:12 -04:00
Sam Tobin-Hochstadt
5e26c329d6 Remove no-longer needed require for residual code. 2012-06-25 19:20:12 -04:00
Sam Tobin-Hochstadt
94f1cb2127 Avoid requiring the printer unneccesarily. 2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
c61ed30d0b Depend only on the lowest-level place primitives. 2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
08c3f78476 Disable unused code. 2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
794bfa50ec Load environments dynamically in residual code. 2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
88ff5fee69 Minor refactorings.
- Remove tracing requires.
 - Use lists instead of sets in a few environments.
 - Small cleanups.
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
a05acfee4c Split out some small utilities to prepare to reduce dependencies. 2012-06-25 14:10:18 -04:00
Sam Tobin-Hochstadt
ccb724155a scheme -> racket 2012-06-25 13:39:07 -04:00
Vincent St-Amour
972df7c89e Add #:unless to the for: macros. 2012-06-25 13:38:51 -04:00
Vincent St-Amour
b1ad108759 Update type of string-join for its new keyword arguments.
Closes PR12866.
2012-06-25 13:05:46 -04:00
Vincent St-Amour
a0d55d4ab8 Reconstruct let bindings in the right order when unboxing let. 2012-06-22 17:53:43 -04:00
Vincent St-Amour
ee142047f8 Add type for range, and extend in-range's. 2012-06-22 17:53:43 -04:00
Eli Barzilay
7d6e79023c Random pickiness.
Spaces at EOFs, indentation, etc.
2012-06-22 12:00:48 -04:00
Vincent St-Amour
4d5bc17f85 Recover from any failure when attempting to prune types. 2012-06-17 23:28:50 -04:00
Vincent St-Amour
24b6ecf2a6 Extend time-apply to work with procedures with more than 2 arguments. 2012-06-17 23:04:47 -04:00
Vincent St-Amour
a5f2ca8fb0 Fix possible-domains on functions with multiple return values. 2012-06-17 23:04:47 -04:00
Vincent St-Amour
da897a2f85 Disable debugging printing. 2012-06-16 18:28:01 -04:00
Sam Tobin-Hochstadt
39e014bc55 Handle submodules in Typed Racket. 2012-06-16 22:08:06 +08:00
Sam Tobin-Hochstadt
a929bb21fc Don't export internal names for define & lambda. 2012-06-16 22:08:05 +08:00
Vincent St-Amour
c4613cf9ab Unbox exp on complex numbers. 2012-06-14 17:17:03 -04:00
Vincent St-Amour
cff1cd3c63 Fix type of exact->inexact.
Closes PR 12803.
2012-06-12 11:09:20 -04:00
Asumu Takikawa
c108fe5c6a Fix typo in TR special form docs 2012-06-11 17:29:02 -04:00
Vincent St-Amour
948a4d6184 Missed some cases in sqrt. 2012-06-09 22:11:42 -04:00
Vincent St-Amour
53746ca0a5 Fix type of fl/ to reflect changes to /. 2012-06-09 22:07:03 -04:00
Vincent St-Amour
5d26fd10e6 Subtraction is not commutative. 2012-06-09 22:04:43 -04:00
Vincent St-Amour
442def0b0f Fix typechecking of Single-Flonum-Complex literals.
Closes PR12840.
2012-06-09 22:00:27 -04:00
Vincent St-Amour
7191ef5c74 Be more conservative about returning Float-Complex and others. 2012-06-09 21:57:01 -04:00
Vincent St-Amour
f3f5abd1f7 Improve handling of NaN in division.
Closes PR12838.
2012-06-09 21:32:37 -04:00
Neil Toronto
8f840bd07b Fixed erroneously imprecise type for +nan.f literal (now Single-Flonum-Nan)
Types for nan?, infinite?, pi.f, exact-round, exact-floor, exact-ceiling,
exact-truncate, degrees->radians, radians->degrees

Extended tc-random-testing: generates exact integers and rationals now

Fixed types of sinh, cosh and tanh to account for underflow and NaNs
2012-06-09 17:46:04 -06:00
Vincent St-Amour
0f346601f4 Fix type of n-ary * to handle NaN properly. 2012-06-06 18:26:51 -04:00
Vincent St-Amour
48f47f3384 Fix flonum and single-flonum operation types.
Most issues were found with random testing.
2012-06-06 18:26:51 -04:00
Neil Toronto
a713ca8a8b Added nan?, infinite?, degrees->radians, radians->degrees, exact-round, exact-floor, exact-ceiling, exact-truncate to racket/math
Altered TR's random arithmetic testing to generate single-flonums and very small flonums; fails now because of erroneous types

Fixes to sgn, sinh, cosh, and tanh:
 * preserve single-flonum-ness
 * correct zero sign (-0.0) for negative return values that are smaller than epsilon
 * correct behavior with NaN and infinite inputs
2012-06-05 22:40:44 -06:00
Sam Tobin-Hochstadt
42a2ac6026 Document new TR aliased definitions. 2012-06-04 17:02:18 -04:00
Sam Tobin-Hochstadt
1801efe66a Whitespace fixes. 2012-06-03 10:50:18 -04:00
Sam Tobin-Hochstadt
cbbd889621 = can equate values with different types.
Closes PR 12804.
2012-06-03 10:50:18 -04:00
Sam Tobin-Hochstadt
8459c22c01 Improve type of identity.
Closes PR 12813.
2012-06-02 18:52:18 -04:00
Sam Tobin-Hochstadt
865a2cdcbd Support definitions of keyword functions in Typed Racket.
Caveats:
 - keyword function definitions do not define static
   bindings, thus limiting optimization opportunities
 - can't use `define:`, `lambda:`, etc with keywords
 - error messages sometimes expose the implementation
 - the optimizer skips most of the generated code for
   keyword functions definitions (user-level code is
   optimized)
2012-06-02 18:22:07 -04:00