Commit Graph

14159 Commits

Author SHA1 Message Date
Vincent St-Amour
61545c4e75 Made make-vector's type more convenient. 2010-06-22 18:29:56 -04:00
Vincent St-Amour
3bb0de0b53 Restored running of the typed shootout benchmarks by drdr. 2010-06-22 18:29:55 -04:00
Vincent St-Amour
dd858bc11f Got rid the the mandelbrot-unsafe benchmark, to reflect Eli's
changes.
2010-06-22 18:29:55 -04:00
Sam Tobin-Hochstadt
6e1954d79b Add `struct:' 2010-06-22 16:29:35 -04:00
Robby Findler
b286673c69 removed an unused style 2010-06-22 15:22:45 -05:00
Robby Findler
3fb5dbd1d3 Added another status line update to drracket for planet installations, showing when docs are being built 2010-06-22 14:22:35 -05:00
Robby Findler
9f5593c222 rackety mrlib/name-message 2010-06-22 14:22:35 -05:00
Robby Findler
c5b0c73111 added docs and minor cleanups in mrlib/name-message 2010-06-22 14:22:34 -05:00
Casey Klein
c083335ca5 Changes the matching of `where' clauses to the one most people expect. 2010-06-22 13:20:53 -05:00
Jay McCarthy
4d58a10ff4 Adding XPM parser 2010-06-22 11:33:06 -06:00
Sam Tobin-Hochstadt
bce2cedf38 Typecheck `map' expression, not just #'map. 2010-06-22 10:12:54 -04:00
Sam Tobin-Hochstadt
95c5f942e6 Initialize `infer' for tests 2010-06-22 10:11:14 -04:00
Casey Klein
c6ed9b9a12 Fixes a bug in `where' clause binding. 2010-06-22 05:42:17 -05:00
Stevie Strickland
550a8b3fa4 Handle new semantics for raco setup with no options. 2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
4df7d09ef1 Docs for List x ... 2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
0c7c722e16 support `map' over multiple ListDots with the same bound
- also support ListDots + Listof (map errors when not same length)
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
b8777d20b2 allow optional specifcation of var pattern 2010-06-21 18:30:29 -04:00
Stevie Strickland
034b22d014 Generate dcon-dotted, and substitute for them.
- generated only in the case where we have two ListDots or two ValuesDots
 - or when -> with the same bound, and fixed argument lengts are identical
 - currently errors if there are any 'fixed' portions
2010-06-21 18:30:29 -04:00
Stevie Strickland
9c22701bd3 Take dcon-dotteds and create an appropriate i-subst/dotted entry. 2010-06-21 18:30:29 -04:00
Stevie Strickland
3f7ca52e37 Add fixed part to dcon-dotted. 2010-06-21 18:30:29 -04:00
Sam Tobin-Hochstadt
339add9f78 Implement substitutions as hash tables from vars to subst-rhs.
- add convenience function for generating substitutions
 - give trivial substitution for unreferenced index variables
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
6b12757506 Add collection tab-completion for 'raco setup -l' 2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
44d46e4cd7 Refactor substitution.
- new file types/substitute
 - use structs for substitutions
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
dcc8beb5cd This test case now passes. 2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
8990459be6 provide more information in inference failures 2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
692dc025c0 fix fail! to use the correct arguments 2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
9f99c914f3 Fix move-to-dmap functions 2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
2285e1a340 Make `debug' catch *all* exceptions 2010-06-21 18:30:27 -04:00
Stevie Strickland
b5d4d54d45 The initial shot at extending cgen and friends to take both X and Y.
This doesn't fully work, in that more test cases are broken.  However,
this is mostly due to questionable inference rules in the past, and
so fixing these errors should lead to a more correct inference algorithm.

(i.e. we need to handle things like (List X ... a) (List Y .. b),
where a and b are not the same bound.  We'd started this work before,
but never actually gone through with it, since smashing regular and
dotted type variables into the same environment meant some things
magically worked when they possibly shouldn't have.)
2010-06-21 18:30:26 -04:00
Stevie Strickland
078b57c77d Export the types provide macro. 2010-06-21 18:30:26 -04:00
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
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
Eli Barzilay
7760a2eaff Minor clarifications about other editors and the Windows "terminal".
(And a few additional tweaks.)
2010-06-20 18:34:06 -04:00
Eli Barzilay
acb86d69f3 Apparently inline styles shouldn't be in comments now. 2010-06-20 18:34:06 -04:00
Eli Barzilay
1fc2a3e171 Rename "outreach+research" -> "learning".
* Move learning stuff from "community" to it.

* Set up a redirection page for "outreach+research.html".
2010-06-20 18:18:33 -04:00
Robby Findler
dd6f73255d removed robby-specific references and commented out the line that clobbers heart.png in the collects directory 2010-06-20 15:28:23 -05:00
Robby Findler
e15f6a1fb9 added a valentine's day splash screen image 2010-06-20 14:14:46 -05:00
Robby Findler
2e67f8bb9f Refactored the rotation code to support an arbitrary linear transformation 2010-06-20 14:13:16 -05:00
Robby Findler
83a95970b6 when planet installs things, it now resets the use-compiled-file-paths to its default value 2010-06-20 11:24:08 -05:00
Robby Findler
e947c36a74 removed debugging printf 2010-06-20 07:45:48 -05:00
Robby Findler
7bb8c876b6 fixed an obvious bug with the wrong arity to get-compiled-file-sha1 (but this may still be broken in a more subtle way) 2010-06-20 07:42:32 -05:00
Robby Findler
8be8c9b839 fix prop 2010-06-19 19:20:53 -05:00
Sam Tobin-Hochstadt
0a92ce7a43 fix prop 2010-06-19 19:52:49 -04:00
Robby Findler
545f473b72 fixed a mistake in previous commit 2010-06-19 17:42:57 -05:00
Robby Findler
857498e697 Some racketying. 2010-06-19 16:30:06 -05:00
Robby Findler
66d6759c4a added docs and contracts for some of the planet functions 2010-06-19 16:30:06 -05:00
Stevie Strickland
0aae2c866f Fix use of add-type-expr from commit 5d835ded. 2010-06-19 14:58:52 -04:00
Sam Tobin-Hochstadt
1e15ce1f32 Fix error message for 1-arg apply 2010-06-19 14:58:52 -04:00
Robby Findler
7a1538764e Added the ability for #lang-based languages to specify when an expression should be submitted at the prompt 2010-06-19 12:25:07 -05:00
Robby Findler
e14b330699 fixed some out of date docs 2010-06-19 12:13:48 -05:00
Vincent St-Amour
44acb3eed5 Props fix. 2010-06-19 00:16:04 -04:00
Vincent St-Amour
ad7e63aa76 Props fix. 2010-06-18 23:18:04 -04:00
Robby Findler
bc5ced58e2 More Racketying 2010-06-18 21:35:56 -05:00