Commit Graph

16430 Commits

Author SHA1 Message Date
Stevie Strickland
ec09139e0a Fix up subst-gen to treat vars and idxs separately. 2010-06-21 18:30:26 -04:00
Sam Tobin-Hochstadt
d886331807 Various small assorted fixes. 2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
e235c837b0 The inference engine doesn't need this annotation anymore. 2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
82e7d281cb More progress on refactoring infer 2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
18f45c4138 Fix a bunch of uses of `infer' et al. 2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
99e499a503 Change inference to take into account index vs regular vars. 2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
e8a591d291 Fix free index computation when the body refers to the bound. 2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
662f982b72 Refactor free variables.
- free-idxs no longer holds free de Bruijn indexes
   This information is not needed, and not stored anywhere
 - free-idxs holds free *index* variables, in the sense of the TOPLAS submission
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
7b2de53733 Re-enable the printer here. 2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
fe9395fdbf Add case to be fixed 2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
b787c7766c Switch to using functional hash tables for free variables. 2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
a93aecbed7 Special case for (apply values ListDots) 2010-06-21 18:30:20 -04:00
Sam Tobin-Hochstadt
12384c6c3f Change type variable environments from hash tables to sets. 2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
e9f8cc9aca Refactor test harness. 2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
d570006db8 Add index-env.
- Remove Dotted and DottedBoth values from tvar-env
 - Abstract env extension and lookup for tvar/index-env
 - Abstract index inference
 - Remove pointless parameterizations
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
0fb1ac66bd Properly compute Dotted variance for ListDots and ValuesDots. 2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
a9c34dae6a Remove dotted-env. 2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
f7b59f78e9 Generalize ListDots to Listof in inference of loop var types. 2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
a2af89bafd Inference for passing ListDots as Listof. 2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
fd5a662ccc Subtyping between (List T ... a) and (Listof T[Any/a]) 2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4c3f279ab9 Eliminate expressions with dotted pre-types.
- Now looks for (List T ...) types.
 - special handling of `map', `andmap', `ormap' when list arg is dotted
 - remove tc-dots-unit
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4cbeb0b2f0 Change type of ... rest args to have (List T ...) types. 2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
71939d2826 Handle simple inference of ListDots. 2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
e40d1824b0 Initial ListDots test. 2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
310bdf3529 Substitution for (List T ...) 2010-06-21 18:29:56 -04:00
Stevie Strickland
62fb6f9311 Add subtyping for dotted lists with the same bound. 2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
40dbb6389c First attempts at adding ListDots (and, incidentally, List*) types. 2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
50f93b9ed7 More environment refactoring.
- rationalize naming of files
- split files by env constructed
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
7e9763cf14 Stratify environments to only include props when needed. 2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
647c4eef59 Refactor environments.
- mapping stored as dict
 - use id tables for identifiers
 - use env-filter instead of filter
 - eliminate spurious use of conses
2010-06-21 18:29:54 -04:00
Robby Findler
e105d191b1 Adjusted 'raco setup' so that the arguments are collections (left setup-plt alone) 2010-06-21 16:58:32 -05:00
Sam Tobin-Hochstadt
4925e7e51f Refactor provide handling.
- use id-tables instead of lists
 - smarter iteration
 - prepare for eliminating declarations when not needed, but don't do it yet
2010-06-21 15:42:52 -04:00
Casey Klein
3eb9a6d6d0 Fixes a bug in the VM example 2010-06-21 14:41:10 -05:00
Jay McCarthy
e191513f70 Adding warning removal attr 2010-06-21 13:04:40 -06:00
Jay McCarthy
a5d9fc0def New props for DrDr 2010-06-21 12:55:18 -06:00
Jay McCarthy
a13edb18b6 Transparent XML structs 2010-06-21 12:48:26 -06:00
Jay McCarthy
801419693a Default args to eliminate-whitespace 2010-06-21 12:48:26 -06:00
Casey Klein
d6b20a51d2 Lifts mysterious restriction on patterns that now seems unnecessary. 2010-06-21 11:24:30 -05:00
Casey Klein
daa8507e51 Fixes matcher bug 2010-06-21 10:35:05 -05:00
Robby Findler
4504678bd7 added local 2010-06-20 21:59:39 -05:00
Eli Barzilay
554f026c71 "The Great Computer Language Shootout" -> "The Computer Language Benchmarks Game"
As requested by Isaac Gouy.
2010-06-20 22:19:43 -04:00
Robby Findler
e8573d9478 change the way the prompt testing works to only supply a port, instead of giving over the actual text object 2010-06-20 20:55:04 -05:00
Eli Barzilay
ee57029a92 One more optimization, getting it to 60x. 2010-06-20 18:37:07 -04:00
Eli Barzilay
eec0f4bf66 Yet another 2x factor.
(Total ~22x.)
2010-06-20 18:37:06 -04:00
Eli Barzilay
c78f367d9f Another simple improvement, making things about twice faster.
Total speedup is now ~14x.
2010-06-20 18:37:06 -04:00
Eli Barzilay
26c89b2ac6 And one more optimization gets this to a total of 6x improvement. 2010-06-20 18:37:06 -04:00
Eli Barzilay
e975e8e0c8 Another optimization, makes the `fl->fx' issue from the last one
irrelevant since it's not using it in the tight loop, but buys a bigger
improvement anyway.
2010-06-20 18:37:06 -04:00
Eli Barzilay
96006264ad Some improved shootout benchmarks.
* An improved version of the `fasta' benchmark: ~2.5 times faster, and
  if an inlined `unsafe-fl->fx' is added it is probably going to be
  about ~3.5 times faster.

* `reversecomplement' -- revised code that is ~2.5 times faster, further
  tweaks and unsafe ops gets it to ~4.5 times.

* Doing the structs differently in `binarytrees' and a few minor tweaks
  get it to be ~1.5 times faster.  This is probably because a leaf has
  now only one field.

* `mandelbrot' improved a little (~1.2x), but the code is pretty much a
  rewrite.  (Given some more flonum inlining it can probably do much
  better.)

* Added a comment to `pidigits-gmp' saying that it was used without
  attribution.

These versions use unsafe operations, but I'm not putting them in
separate files since it's easy to turn them off.  I've also removed
"mandelbrot-unsafe.rkt", since it was identical to the safe version.
2010-06-20 18:36:25 -04:00
Eli Barzilay
412fd4ff79 Use `exact-integer?'. 2010-06-20 18:34:06 -04:00
Eli Barzilay
b0d7c9d9c1 Updated commented url to docs. 2010-06-20 18:34:06 -04:00