Commit Graph

20796 Commits

Author SHA1 Message Date
Neil Toronto
89a5afa96d Purged last SVG file 2012-01-07 16:32:56 -07:00
Neil Toronto
1a00d2d51f Last icon rewrite!
This removes all the SVG sources, parsing, and marked-layer colorizing, the PNG binaries in the distribution, and the dependence of DrRacket on `slideshow/pict'.

Icons are now produced by drawing on a bitmap-dc%, inferring or building a z map, choosing a material, and sending these to a two-pass ray tracer. This is for the most part hidden behind an API consisting of functions from colors and optional sizes and materials to `bitmap%'s.

Contracts and documentation forthcoming.
2012-01-07 16:18:11 -07:00
Philippe Meunier
67beec3ae9 Updates French translation file and fixes small mistake in English one. 2012-01-08 04:25:16 +09:00
Eli Barzilay
465a8da995 Add status script. 2012-01-07 09:35:15 -05:00
Eli Barzilay
efc5a05049 Delete build directory at the start of a dispatched build.
Previously, if a dispatched build failed the files from the previous
build would still get copied.  This was an intentional feature, since
only the compiled binaries of these builds are used, and usually these
would work fine (with the zo files that were built on the main machine).

Now, the build directory is deleted when starting, which means that any
failure in a remote build means that the whole build will fail.  This
turns out to be better since when there are problems, the previous
behavior could be very confusing.  In addition, the racket setup itself
rarely fails, so this won't make a difference.
2012-01-07 09:35:14 -05:00
Eli Barzilay
ecf42d077b More build improvements.
* Use `ssh' to copy the repo tgz, so it can also create the build
  directory in a single connection.

* Use "racket" in the build materials directory name (since it's used in
  random machines).

* Use `chcon' to make files accessible to the web server under selinux.

* "YYYY-MM-DD HH:MM" in log time strings (leave the one on the web page
  as is).

* Uniform machine+platform labels in headers on dispatched builds.  The
  main build machine doesn't have them.
2012-01-07 09:35:14 -05:00
Eli Barzilay
e0dc712002 Add a status file.
On dispatched builds the status is printed in their own logs in a
greppable way, and these lines are removed when these logs are displayed
as part of the main log.
2012-01-07 09:35:14 -05:00
Eli Barzilay
62abe242f2 Better tmp filenames, since it's in a "racket" directory. 2012-01-07 09:35:14 -05:00
Eli Barzilay
6616d53831 More robust use of `$htmloutput'. 2012-01-07 09:35:14 -05:00
Eli Barzilay
aa0c90a2a0 Cleanup using `$tmpdir', and set it to a subdirectory of /tmp. 2012-01-07 09:35:14 -05:00
Eli Barzilay
13db1c1a08 Simplify `port-success-choose': no need for the first argument with the
full match, since it can be taken from the `ms' list.  (Also, some minor
reformatting.)
2012-01-07 09:35:14 -05:00
Robby Findler
e0a72fab7d did some refactoring to prepare for making the keybindings dialog
be a frame and react to changes in focus of the main drracket window.

didn't finish because there does not seem to be an equivalent to
on-subwindow-focus that lets the frame detect when one of its
children gets the focus.

related to PR 12474
2012-01-07 07:11:59 -06:00
Robby Findler
950d165133 fix the not-a-language message so that the styles in the REPL are right 2012-01-06 20:59:34 -06:00
Vincent St-Amour
631c145add Change Performance Report popups to frames instead of dialogs.
This fixes the lack of close button on mac.
2012-01-06 15:59:23 -05:00
Vincent St-Amour
076648fecc Improve documentation the TR numeric tower. 2012-01-06 13:19:14 -05:00
Vincent St-Amour
f50008280b Export Negative-Fixnum. 2012-01-06 13:19:14 -05:00
Vincent St-Amour
4556ea2992 Fix log's type for Real inputs. 2012-01-06 13:19:14 -05:00
Matthew Flatt
c1ceebb92a fix cfg-parser' to more closely match parser' 2012-01-06 10:43:10 +01:00
Robby Findler
20bcf80e8b add a check to make sure we don't try to select a teachpack when the
user clicks on empty space

closes PR 12472
2012-01-05 23:04:07 -06:00
Jay McCarthy
061007f30f Fixing last dumb mistake? 2012-01-05 14:57:08 -07:00
Jay McCarthy
0bf92dbc29 Forgot to update props for GC2 2012-01-05 13:23:12 -07:00
Jay McCarthy
c2355caef6 Finalizing initial pass on GC2
It was not a problem with the particular collector. All allocation
sites need to update the gc-roots-key with their static information.
2012-01-04 19:55:24 -07:00
Jay McCarthy
55e1df1445 See last commit 2012-01-04 19:55:24 -07:00
Jay McCarthy
caf83b911b Initial pass on adding manual closure management
There are still five errors, but they seem to be errors in the sample
collector. But I need to find out.
2012-01-04 19:55:24 -07:00
Jay McCarthy
f80292b4cf Converting mutators 2012-01-04 19:55:24 -07:00
Jay McCarthy
e4755a5ffc New GC code 2012-01-04 19:55:24 -07:00
Robby Findler
7fb3d5c395 improve the red highlighting in drracket so that it picks
the first thing in the stack that's in the definitions window
(instead of just the first thing in the stack period)
2012-01-04 10:59:42 -06:00
Jay McCarthy
ef1278d6e1 Adding radio and checkbox groups to formlets 2012-01-03 15:05:37 -07:00
Jay McCarthy
4271fe4231 Improve formlet docs a little
Clarify that the formlet position is any expression.
2012-01-03 15:05:37 -07:00
Jay McCarthy
022ce2d8d7 Fixing PR12443
There is a big comment in thread.rkt that explains the problem and the
"fix". I think something better could and should be done, but I don't
know what it is.
2012-01-03 15:05:37 -07:00
Robby Findler
160fcacad6 redex: fix bug introduced in recent optimization attempts 2012-01-02 22:21:21 -06:00
Robby Findler
83758881c3 Don't attempt to drop duplicates in the non-terminal case
This speeds up the lambdajs model considerably because the computation
to determine duplicates is expensive and no duplicates are really
ever dropped (and, in general, I think that duplicates will only
be dropped when the grammar is ambiguous; so maybe a better thing
is to just rewrite the grammar when that happens)
2012-01-02 10:08:34 -06:00
Robby Findler
6bf42855b8 adjust plug to be parsimonious and actually shortcircuit
when one hole has been found

This improves the lambdajs model example's running time, presumably
because the hole is generally found near the "beginning" of the
term
2012-01-02 10:08:33 -06:00
Robby Findler
5dcbedc768 redex: adjust the caching strategy
Instead of using a hash-table, use the equal-hash-code directly;
this lets me evict entries only when they clobber each other,
and generally keep good cache utilization.

Also, cut the cache size by a factor of 5 while still having a
slight performance improvement on the r6rs test suite benchmark.
On that same benchmark, there are 1714812 misses in the cache, but
only 3485 times is an entry in the cache clobbered
2012-01-02 10:08:31 -06:00
Robby Findler
a6a01fd7b8 redex: fix arity-1 cache key computation 2012-01-02 10:08:31 -06:00
Robby Findler
a7a70cbca9 redex: improved the definitely-not-list definitely-not-non-list
computation to be more accurate
2012-01-02 10:08:30 -06:00
Robby Findler
fe1df742b3 Tried to improve redex by detecting when a pattern does not
have any holes, hide-holes, or names and, in that case, just
combining booleans instead of building of mtch structs.

This does seem to work on a simple benchmark. The code below
gets about 6x faster. But on the r6rs test suite, there is
no substantial change (possibly because the caching obviates
this optimization?)

lang racket/base
(require redex/reduction-semantics)
(caching-enabled? #f)
(define-language L (e (+ e e) number))
(define t
  (let loop ([n 100])
    (cond
      [(zero? n) 1]
      [else `(+ 11 ,(loop (- n 1)))])))
(define f (redex-match L e))
(time (for ([x (in-range 1000)]) (f t)))
2012-01-02 10:08:29 -06:00
Robby Findler
6f97a3a783 disable attempt at Jay's optimization
When I enabled this, I don't see any speedup, on the R6RS test suite
benchmark (I see minor slowdown). Here are the numbers I get, on my
laptop:

   nt cache:  35537 msec
    neither: 844933 msec
 Jay's idea: 875306 msec

And with both on, I see a similar, minor slowdown (as compared to the
version with the nt cache).

The main difference seems to be that I'm getting about 6 "hits" per
test case on the nt-match structs (that is, I avoid work by finding an
nt-match struct) and I'm getting about 8,800 hits in the cache per
test case.
2012-01-02 10:08:29 -06:00
Robby Findler
424a535cf4 first attempt at Jay's optimization for redex
(only did enough to get the r6rs tests running)
2012-01-02 10:08:28 -06:00
Matthew Flatt
2b2c44774f fix scheme_basic_env() reset behavior
Also, fix test to that it DrDr will run it.
2012-01-02 15:03:49 +01:00
Matthew Flatt
03808d245c fix typo
reported by ozzloy
2011-12-31 17:03:50 -07:00
Eli Barzilay
3718600125 2011 -> 2012 2011-12-31 15:16:59 -05:00
Eli Barzilay
4d5ba08653 lambda' -> λ' 2011-12-31 14:24:41 -05:00
Matthias Felleisen
32b7a1b418 created pad=, exported it, documented game pad minimally 2011-12-31 11:28:11 -05:00
Matthias Felleisen
b0de0e126e an interactive test for various game pad configs 2011-12-31 11:28:11 -05:00
Matthias Felleisen
5867589993 initial stage of game pad, need to turn play file into test 2011-12-31 11:28:10 -05:00
Matthias Felleisen
c221131254 scheme/racket cleanup 2011-12-31 11:28:10 -05:00
Matthew Flatt
fb46daafa0 fix typo
Reported by J. Ian Johnson
2011-12-31 06:32:13 -07:00
Matthew Flatt
2ebff14e3e fix typo 2011-12-31 06:32:13 -07:00
Robby Findler
f4b4e00c55 added bitmap/file
closes PR 12466
2011-12-29 22:18:07 -06:00
Robby Findler
4c86e2fe86 redex: memoize only the non-terminal patterns
remarkably, this seems to cut the time for running
the r6rs test suite in about 1/2
2011-12-29 11:01:21 -06:00
Robby Findler
57f51cf5c8 redex: use predicate/c instead of (-> any/c boolean?)
and a few other, minor changes
2011-12-29 10:58:26 -06:00
Robby Findler
d6ce2b61bc redex: inline lookup-binding 2011-12-29 10:32:02 -06:00
Robby Findler
9bcb86eb0c redex: minor cleanup 2011-12-29 10:15:52 -06:00
Robby Findler
5b2d378a77 fixed a bug in recent Redex internal pattern rewrite
(discovered by the random testing done for the racket machine model)
2011-12-28 23:52:56 -06:00
Eli Barzilay
753fd77858 Minor typo.
Closes PR12463
2011-12-28 21:09:45 -05:00
Eli Barzilay
3fcd3c04d5 Minor typo in recent new regexp. 2011-12-28 21:07:25 -05:00
Eli Barzilay
064a914fb2 Complete set of mailman template files.
This covers all of the html files in mailman's template directory, and
we should have a consistent look for all pages.  (Including archived
messages.)  Also tweak the front page to have a link to the mailman
"listinfo" page with the complete list of the hosted mailing lists.
2011-12-28 21:07:25 -05:00
Eli Barzilay
1160e423e2 Add a timeout to the ftp poll.
This is because the ftp mirror tends to become unresponsive often, but
it takes a huge amount of time to actually get a tmeout.
2011-12-28 21:07:24 -05:00
Eli Barzilay
fa4c073b9e Adjust meta/web' for changes in scribble/html'.
Add a `resource/referrer' abstraction for referrers, on top of plain
resources.  (When the referrer is `values', it just returns the plain
resource.)  Also add `url-of' to replace `get-resource-path'.
2011-12-28 21:07:24 -05:00
Eli Barzilay
787f3151de Make a `resource' struct so it is identifiable.
(Also, change a `define-struct' to a `struct'.)
2011-12-28 21:07:24 -05:00
Eli Barzilay
180651d04d Remove the `referrer' argument from resources.
This turned out to be a bad idea.  The thing is that some resources need
to be referred to in multiple ways -- for example, different texts in
links of different kinds, or using the URL directly in some cases.  The
existence of `get-resource-path' is a witness for this problem, since it
was used for such cases -- this function is removed as well.

There's no point in trying to generalize this here: instead, go back to
a simpler system where a resource always returns its URL (with an
optional argument to get an absolute URL).  When a `referrer'
functionality is needed, build it on top of that, in a place where it
makes more sense.  (That is, in a specific code for generating content,
where there could be a decision that resources have plain links and also
a very short link for use in navbars.)  Otherwise, it's usually simpler
to just define resources and referrers separately (as different
bindings, the latter uses the former).
2011-12-28 21:07:24 -05:00
Eli Barzilay
1cd8e6cbf3 Remove the referrer argument from copyfile' and symlink', and remove
the unused `content-resource' (it is not necessary).
2011-12-28 21:07:24 -05:00
Eli Barzilay
c8c13e46bb Switch delay's to lazy's. 2011-12-28 21:07:24 -05:00
Eli Barzilay
ace5fdf1f3 Clarify a comment for future work; a bunch of new internal definition uses. 2011-12-28 21:07:24 -05:00
Eli Barzilay
8beba3caf9 Avoid bash regexps
Turns out that bash's regexps (using `=~') changed so that quoting them
matches a literal string, and it seems dangerous to rely on parsing
unquoted regexps.  One way around this is to put the regexp in a
variable, but for the two simple uses that this script had, it's easy to
avoid regexps completely.
2011-12-28 21:07:24 -05:00
Matthew Flatt
00cd512e06 fix doc typo 2011-12-28 19:06:07 -06:00
Robby Findler
f1bacffbdc Adjusted rewrite-side-condition/check-errs so that it normalizes the internal
redex patterns a bunch:

- repeats are turned into wrappers in sequences,
- names are all explicit,
- non-terminals are wrapped with `nt',
- cross patterns always have the hyphens in them.
- ellipses names are normalized (so there are no "hidden"
  name equalities); this also means that repeat patterns
  can have both a regular name and a mismatch name

Also, added a match-a-pattern helper macro that checks to make sure
that functions that process patterns don't miss any cases
2011-12-28 09:46:43 -06:00
Robby Findler
c9fcde258f docs bug (as noted by Marijn on racket-dev) 2011-12-27 08:53:35 -06:00
Robby Findler
376ad1f52c remove 'stupid-internal-definition' and Rackety 2011-12-27 08:53:32 -06:00
Jay McCarthy
a0475c5d90 Commit from Anthony West to tutorial 2011-12-26 14:43:49 -07:00
Jay McCarthy
9723e939b4 Merge branch 'master' of git.racket-lang.org:plt 2011-12-26 14:33:20 -07:00
Jay McCarthy
ae31b19168 Synchronizable events from Tom McNulty 2011-12-26 14:33:07 -07:00
Robby Findler
e02eb9c2c1 the variable most-recent-languages-hier-list-selection used
to be a  hierarchical-list-item<%> object, but now it is
a list of language names (same information, different data)
and one place didn't get updated.

Closes PR 12462
2011-12-26 09:50:33 -06:00
Matthew Flatt
3a1df23be6 fix `text-outline' test to include a curve 2011-12-26 06:27:22 -06:00
Michael W
ae1ca5b91a Bugfix: text-outline now handles curves correctly 2011-12-26 06:26:58 -06:00
Matthew Flatt
e12bf33f8d 'rshift and 'rcontrol don't interrupt keybindings
Closes PR 12461
2011-12-25 19:39:37 -06:00
Matthew Flatt
1c63784517 for record-dc%', record initial configuration after each erase'
Closes PR 12460
2011-12-25 19:26:39 -06:00
Matthew Flatt
6c5c170565 racket/draw: add text-outline' to dc-path%' 2011-12-25 18:20:39 -06:00
Robby Findler
9bef0204bb fix the "Show Line Numbers" menu item so its label changes
when the preference changes

closes PR 12459
2011-12-25 13:39:14 -06:00
Robby Findler
188f868a28 Remove the position-location cache that check syntax used to maintain for
the purpose of drawing arrows.

The computation to fill in the cache seems to actually be pretty quick and
the work to clear the cache when it is out of date (via a call to on-change)
can be substantial on big files, so just not maintaining the cache seems better.
(there are 7254 arrows in drracket/private/unit.rkt, stored in an interval map,
and iterating over the interval-map in a for loop seems to be time consuming)

Also, DrRacket could get into a state where switching tabs would trigger a
call to on-change, which means that switching tabs would take a few seconds.
2011-12-23 16:15:26 -06:00
Matthew Flatt
5bfaea25fe fix draw-polygon' on pairs instead of point%'s
Closes PR 12455
2011-12-23 07:25:59 -06:00
Matthew Flatt
dccc76c9b0 slight modernization of the Slideshow tutorial 2011-12-21 16:30:24 -07:00
Matthew Flatt
d020c75202 remove libfit 2011-12-21 16:17:56 -07:00
Matthew Flatt
5a7f1b15ed mysterx: fix private/mxmain hack to avoid cross-module optimization
Using the old extension protocol for MysterX --- plus the hack of
a dummy source module for a kind of portability --- really should
be replaced with an FFI-based approach to the MysterX DLL.
2011-12-21 14:00:26 -07:00
Eli Barzilay
ed8e3367d4 More fixes and improvements to `net/unihead'.
* In base64 encoding remove all newlines from the encoded result, avoids
  getting an invalid result.

* In qp encoding:
  - replace all spaces by underlines, not just the first (looks like a
    typo in the previous code)
  - encode "?"s and "_"s too, as required for this encoding
  - remove soft newlines (again, avoid an invalid result)

* Use `regexp-replace*' to encode the parts between the lines.  Besides
  making the code simpler, it fixes a bug in the previous code where
  multiple lines would each get encoded and the results concatenated
  without the newlines or any other whitespace.

* When the string to be encoded is longer than 70 characters, split and
  encode the sub-parts, then concatenate the encodings with a "\n "
  separator.  This is done as a poor attempt to follow the line length
  limits specified in rfc2047, or more concretely, to avoid sendmail's
  "!\n " splitting.
2011-12-21 14:46:13 -05:00
Eli Barzilay
188c65661d Fixes and improvements to `net/unihead'.
* Use `re:non-ascii' to look for a non-ascii character => faster.

* Use either CR or LF for a newline, not just LF.

* Use `regexp-replace*' to encode the parts between the lines.  Besides
  making the code simpler, it fixes a bug in the previous code where
  multiple lines would each get encoded and the results concatenated
  without the newlines or any other whitespace.
2011-12-21 14:46:13 -05:00
Matthew Flatt
dcedd6e2be fix for `scribble --text' and tables 2011-12-21 11:27:06 -07:00
Eli Barzilay
ddcab952f7 Quote sender, subject, and recipients strings if needed.
There might be existing uses of `net/sendmail' that did this quoting
since this code didn't do so.  Such uses would continue to work fine,
since quoted strings would already be plain ASCII, so a second quoting
would leave it as is.

Note that the quoted strings are also used as command line arguments.
It seems that sendmail deals with these all fine when they appear as
command line arguments.  This means that any valid email address format
can be used, not just "raw" emails.  If there are some sendmails that
don't do this, then it would be better to add a `-t' flag to let
sendmail parse the text in the message.

One caveat (not a new one): since they're passed as is, it is possible
to use two emails in a single string, as in "a@b.com, c@d.com".  This
could lead to obvious problems if someone uses "Bar, Foo <foo@bar.org>"
instead of "\"Bar, Foo\" <foo@bar.org>".  (Using a `-t' to parse the
content won't help with that...)  The only way to avoid this would be to
parse the emails and quote the name part if needed.  But that's a much
hairier piece of code.
2011-12-20 16:13:13 -05:00
Eli Barzilay
f9d07d8400 Revise `net/sendmail'.
* Move the `X-Mailer' header to the top, so that the interesting headers
  are all together at the bottom (the top gets littered by server
  headers anyway).

* Use `subprocess' directly (`process*' wasn't really doing anything
  more than that).

* Allow the sender to be `#f', leaving the header out.  This makes all
  sendmails that I've used use the username that is running the process.

* Just search for a sendmail program: don't barf on windows, so it can
  be used in case there is a sendmail.exe executable there.

* Remove `no-mail-recipients' to make it in-line with other racket code
  that doesn't raise super-specific exceptions.

* Use port counting instead of doing the counts manually, much simpler
  code.
2011-12-20 15:53:40 -05:00
Sam Tobin-Hochstadt
81bb8a5ea3 Improve type of `in-range'. 2011-12-19 19:41:45 -05:00
Matthew Flatt
26c0ef99ef fix executable distribution creation on Unix 2011-12-19 12:36:16 -07:00
Ryan Culpepper
d00b93cdff remove references to non-existent unstable module 2011-12-18 14:35:41 -07:00
Ryan Culpepper
bb93132463 uniform position for unstable header in unstable docs 2011-12-18 14:23:21 -07:00
Ryan Culpepper
59beeb2e14 minor doc fixes 2011-12-18 13:57:50 -07:00
Ryan Culpepper
933965b2c2 moved unstable/prop-contract into racket/contract/base 2011-12-18 13:57:50 -07:00
Ryan Culpepper
e086d237cd moved unstable/mutated-vars back to typed-racket 2011-12-18 13:57:49 -07:00
Ryan Culpepper
bf21e5b765 pruned unstable/bytes (moved some code back to web-server)
Corrected contracts from serializable? to printable/c.
2011-12-18 13:57:49 -07:00
Ryan Culpepper
dd061bdb17 removed unstable/net/url (moved code back to web-server) 2011-12-18 13:57:49 -07:00
Ryan Culpepper
7f345fe067 removed unstable/gui/language-level 2011-12-18 13:57:49 -07:00
Ryan Culpepper
6ac708a3da pruned unstable/syntax 2011-12-18 13:57:49 -07:00
Ryan Culpepper
d803e55a5b removed resolved commentary from unstable/struct 2011-12-18 13:57:49 -07:00
Ryan Culpepper
7ef56fbfc5 pruned unstable/string (moved some code back to web-server) 2011-12-18 13:57:48 -07:00
Ryan Culpepper
52aefa6e35 removed unstable/require 2011-12-18 13:57:48 -07:00
Ryan Culpepper
a4c6c7cfce pruned unstable/port 2011-12-18 13:57:48 -07:00
Ryan Culpepper
fd2554d6fc removed unstable/path (moved code back to single use in web-server) 2011-12-18 13:57:48 -07:00
Ryan Culpepper
bc7401d4d9 pruned unstable/function 2011-12-18 13:57:48 -07:00
Ryan Culpepper
e4e89b0bc9 removed unstable/exn (moved code to single use in web-server) 2011-12-18 13:57:44 -07:00
Ryan Culpepper
f21b871760 removed unstable/dirs 2011-12-18 13:57:22 -07:00
Ryan Culpepper
53fc18008c removed unstable/dict (no uses) 2011-12-18 13:57:14 -07:00
Ryan Culpepper
4f9da1fd1c pruned unstable/define 2011-12-18 13:56:00 -07:00
Ryan Culpepper
f99d79ef10 pruned unstable/contract
Removed unused code. Removed nat/c, pos/c as they correspond to
standard predicates.
2011-12-18 13:56:00 -07:00
Ryan Culpepper
b12d284055 fixed typo 2011-12-18 13:14:03 -07:00
Matthew Flatt
6bae0fc036 clarify `letrec' spec 2011-12-18 07:27:32 -07:00
Matthew Flatt
4fed17704a avoid `racket/gui' tests that can't work on X 2011-12-18 07:27:32 -07:00
Matthew Flatt
1b4f13e674 scribble: avoid line-break between "#" and "<void>" 2011-12-18 07:27:32 -07:00
Matthew Flatt
4b1f746714 enable R5RS map' & for-each' (i.e., mmap' and mfor-each') inlining 2011-12-18 07:27:32 -07:00
Mike Sperber
a657b0217e Fix for line3d's `create-viewport-matrix'.
Submitted by David Herrmann.
2011-12-18 14:37:34 +01:00
Mike Sperber
16a27c6391 For DMdA languages, document which signatures work with `check-property'.
Namely, not the singular record signature, but the signature
constructors of `define-record-procedures-parametric'.

(We'd done this before, but that patch got reverted, without the
doc part getting reinstated.)
2011-12-18 14:18:42 +01:00
Mike Sperber
7fac9193fa In the DMdA languages, create arbitrary for record signature without fields.
This way, you don't have to use define-record-procedures-parametric
for records like this:

(define-record-procedures empty
  make-empty empty?
  ())
2011-12-18 14:18:42 +01:00
Mike Sperber
c080940d02 Fix infinite recursive signatures.
Such as this, submitted by Torsten Grust:

(define-record-procedures-parametric stream_ stream-of
  make-stream
  stream?
  (stream-head stream-tail))

(define stream
  (lambda (t)
    (signature (stream-of t (-> (stream t))))))

(: from (number -> (stream number)))
(define from
  (lambda (n)
    (make-stream n (lambda () (from (+ n 1))))))

(: foo (stream number))
(define foo (from 1))

The problem was that the arbitaries got evaluated too eagerly.
2011-12-18 14:18:42 +01:00
Ryan Culpepper
6742c308d9 db: fix sqlite3 memory corruption bug 2011-12-16 19:18:46 -07:00
Vincent St-Amour
664245ae69 Add in-slice sequences.
Patch from David Vanderson.
2011-12-16 13:50:25 -05:00
Robby Findler
a122ea725d fix a bug in the kill-safe abstraction that is designed to protect
the state that online check syntax uses (indirectly via scribble)
to lookup documentation.

since the kill-safe abstraction moved some computation over to
another thread, the values of various parameters (current-directory
in this case) were not preserved. So when scribble then ended up
resolving a module path with the wrong current directory, this
bad value got cached. Then later, when check syntax tries to figure
out what file to open to jump to it, it got the cached bogus value
(even though current-directory was right when check syntax asked
for the filename).

closes PR 12538
2011-12-15 20:37:15 -06:00
Robby Findler
a2bbcf8b00 tighten up the contract 2011-12-15 20:37:14 -06:00
Matthew Flatt
c9d214138e make `choice-evt' take O(N) time for N arguments
Delay flattening nested `choice-evt's to `sync'.
2011-12-15 16:04:08 -07:00
Sam Tobin-Hochstadt
ff74b262cf Global seed to debug fuzzer timeouts. 2011-12-15 13:53:04 -05:00
Robby Findler
fd89d560b2 fix docs 2011-12-15 10:34:06 -06:00
Robby Findler
39e4454f51 added docs for the pkg-info.ss url to planet 2011-12-15 08:44:39 -06:00
Robby Findler
a88d9ca116 missed a place to add an undatum 2011-12-15 08:44:39 -06:00
Robby Findler
c91d004729 more cleanup of the rendering for the case when (format "~s" x)
and (format "~a" x) are different (when 'x' is a symbol)
2011-12-15 08:44:39 -06:00
Sam Tobin-Hochstadt
7802eda605 Better types for fourth' -- tenth'. 2011-12-14 19:06:05 -05:00
Matthew Flatt
ee775c3cc3 intern strings, etc. only when making syntax objects, not in `read'
Rename `read-intern-literal' to `datum-intern-literal'.

Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
2011-12-14 16:03:44 -07:00
Jay McCarthy
a16caef298 Revising docs a little to help use dispatch-rules 2011-12-14 11:53:15 -07:00
Matthew Flatt
c8fcf2a0a4 remove datum', etc. from mzscheme' 2011-12-14 06:37:45 -07:00
Ryan Culpepper
d312744aae db: make debugging easier 2011-12-13 23:51:31 -07:00
Ryan Culpepper
b355abfdb3 db: allow mysql-connect without db 2011-12-13 22:18:13 -07:00
Ryan Culpepper
fd74709e1c db: implement mysql auth plugin support, old password support
related to PR 12415
2011-12-13 22:17:51 -07:00
Ryan Culpepper
32c5e3c9d2 avoid resolving module-path-index (current-directory may not be set right) 2011-12-13 17:38:21 -07:00
Asumu Takikawa
1ec2f9ca82 Fix doc inconsistency for require/typed. 2011-12-13 16:54:01 -05:00
Jordan Schatz
36c720a28c Small spelling error 2011-12-13 09:47:43 -05:00
Matthew Flatt
b87a7c0ec9 fix `raco make --no-deps' 2011-12-13 06:13:17 -07:00
Matthew Flatt
b99eb54f16 fix race in subprocess test 2011-12-13 06:13:16 -07:00
Robby Findler
610efbbe75 brutal changes to check syntax to try to see if they fix the symptom Marijn reports 2011-12-13 04:56:13 -06:00
Robby Findler
843f057024 Revert "adjust the synchronization in check syntax for reading doc results to"
This reverts commit 8f12372b17.
2011-12-13 04:56:13 -06:00
Jay McCarthy
701b8ed72f Missing data character 2011-12-12 15:54:00 -07:00
Eli Barzilay
932f7ce726 Remove "Affiliates" section which is less relevant now. 2011-12-12 16:40:42 -05:00
Robby Findler
48772f2e40 when double clicking in a comment, fall back to word-based instead
of sexp-based selection

closes PR 12439
2011-12-12 14:45:27 -06:00
Robby Findler
2ed8023b36 minor refactoring 2011-12-12 14:45:27 -06:00
Jay McCarthy
5701c9cc69 Apache not in docs 2011-12-12 11:33:07 -07:00