Commit Graph

422 Commits

Author SHA1 Message Date
Matthias Felleisen
f1c1376d87 added 'range' to *sl per jpr's request and #lang-ified a couple of files 2012-05-29 12:00:27 -04:00
Matthias Felleisen
cc8e988346 fixed mistakes in posn documentation; Closes PR 12755 2012-05-09 12:04:44 -04:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Stephen Bloch
8f4178e7eb Eli's suggested patch to enable searching for picturing-programs library
functions (which includes image and universe) using F1 from teaching
languages.
2012-05-04 14:56:28 -04:00
Matthias Felleisen
e04b74f22a fix mistake in memf documentation, Closes PR 12745 2012-05-01 16:48:17 -04:00
Matthias Felleisen
1711ab96ba added vector->list 2012-03-27 10:19:52 -04:00
Sam Tobin-Hochstadt
c5e30d8af5 Use the correct #%app for applications of `local' bound identifiers in the student languages. 2012-03-24 16:04:08 -04:00
John Clements
8d6e9e79a4 cleanup and refactoring of run-teaching-program, minor teachpack stepper fix
It looks like run-teaching-program hasn't been touched in quite a while.
To begin with, the "rewrite-module" function used to add code to print
out values of non-define exprs, but this is no longer necessary. In fact,
the only thing that it does now is to discard "provide" statements, and
even this may be unnecessary. I rewrote big chunks of this (short) file
to introduce defines, eliminate unnecessary functions, and add stepper-
skip-completely annotations to the requires associated with teachpacks.

Also, it appears that the 'rep' argument to expand-teaching-program
was entirely superfluous; I removed it from the argument list, and also
from the three places in the main tree (deinprogramm, lang, and the stepper)
that call this function.

Let me know of any problems seen with teachpack requires....
2012-03-13 12:09:41 -07:00
Matthias Felleisen
190fbcd7ce fixed docs for quotient; Closes PR 12593 2012-02-22 08:33:16 -05:00
Eli Barzilay
c007c345f9 A bunch of more typos like the ones in David's commit. 2012-02-21 14:21:43 -05: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
Matthew Flatt
7ddbc95b51 clean up `set!' implementation in ASL to avoid catching failures
The code seems to pre-date the failure thunk to `syntax-local-value'.
A problem with letting an exception get raised is that it triggers
the `error-value->string' handler, which loads Slideshow pict support
in DrRacket, which loads `racket/draw' at phase 1 --- which isn't
inherenty bad, but a lot of work that can be avoided.
2011-12-02 16:02:11 -07:00
Eli Barzilay
a9b1f993d4 Remove redundant execution bit from some files, convert one CRLF file to LFs. 2011-12-01 03:54:32 -05:00
Robby Findler
462a348f19 fix bugs in the way the Racket|Disable Tests menu item worked
also adjust the test-engine-test.rkt test suite to bring it into
sync with the changes to the way the DrRacket REPL works from
commit bfa6b1d953
2011-11-28 00:13:59 -06:00
Matthew Flatt
c7464dcbd3 mzlib/pconvert: `add-make-prefix-to-constructor' parameter
Defaults to #f, which fixes constructor-style printing in `plai'
and `racket', and is set to #t for the HtDP languages.
2011-11-22 19:42:35 -07:00
Robby Findler
a40f288e48 relaxed the restrictions on planet requires in the teaching languages to allow the new forms 2011-10-07 11:48:24 -05:00
Robby Findler
25413a4c05 fix the expansion of beginner-true and beginner-false so
they don't throw away source locations.

related to PR 12253
2011-10-03 17:11:54 -05:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Guillaume Marceau
9b49de16e7 Fixed 'reference to an identifier before its definition' error in *SL. 2011-09-17 22:37:45 -04:00
Matthew Flatt
45331d1ae8 fix errortrace-conversion problem in HtDP languages 2011-09-14 12:24:41 -06:00
Matthew Flatt
d3c56c9f13 generalized `begin-for-syntax' 2011-09-08 14:06:00 -06:00
Robby Findler
ac8b5a7d03 fix up the teachpack code to be friendly to the drracket test suites 2011-09-06 14:40:50 -05:00
John Clements
e781072bf3 eliminate quasiquote-the-cons-application tag 2011-09-06 10:05:42 -07:00
Matthew Flatt
a53f51d92d fix HtDP local' to work better with macros that expand to begin'
In particular, the forms within `begin' need to be partially
expanded before checking whether they're allowed.
2011-09-03 15:15:24 -06:00
Eli Barzilay
ffbd9e16ea Some info.rkt cleanups. 2011-08-29 16:33:13 -04:00
Matthias Felleisen
6716b9b96a made 23238 stable w/ shared file prefix; Closes PR 12093 again 2011-08-14 22:29:20 -04:00
Robby Findler
b300bae75c added the lang/htdp-langs-save-file-prefix library
to help detect HtDP-lang save files
2011-08-13 15:03:29 -05:00
Matthew Flatt
001cb75bac syntax-taint repairs
for problems exposed by more agressive arming of `lambda'
and `#%app'
2011-08-09 16:33:17 -06:00
Matthias Felleisen
59f0732fa0 fixed docs for >=; Closes PR 12066 2011-07-20 15:20:22 -04:00
Robby Findler
9595145d79 adjust the teaching languages so they print images specially.
I picked "#<image>" not because I think it is a good way to print,
  but just so that there is something there to be easily changed later,
  when someone who has an opinion decides to change it.
2011-07-19 16:17:06 -05:00
Guillaume Marceau
2ae0376476 Fixes the (cons an image empty) error message 2011-07-19 13:01:07 -04:00
Guillaume Marceau
adf965e92a Undoes the 'produces -> return' part of commit c31d352f, keeping the 'changes -> mutates' change and the assorted bug fixes it contained. 2011-07-17 16:48:12 -04:00
Robby Findler
e4e1792bbe made the htdp lang's executable creation code use the modules that
string->lib-path asks it to use, but for both GUI and non-GUI mode
also refactored that code to move it into a separate file so
  eventually can add a drdr test for it
2011-07-15 21:25:16 -05:00
Guillaume Marceau
c31d352f2b Standartize the vocabulary to "the function returns" and "set! mutates" 2011-07-15 03:27:27 -04:00
Matthias Felleisen
03dc212d61 small edit to doc of atan; Closes PR 12039 2011-07-13 18:00:35 -04:00
John Clements
9cdeda1e04 added purpose statement to expand-teaching-program 2011-07-09 16:19:16 -07:00
Matthew Flatt
3d03e8f884 fix define-primitive' and provide-primitive'
Allow the implement to follow the `define-primitive'
 or `provide-primitive' declaration.
2011-07-09 16:57:56 -06:00
Matthew Flatt
0acf9834f7 make ISL local' and letrec' expand more the old way
That is, force expansion to use a single `letrec',
 instead of a mixture of `let' and `letrec' that an
 internal-definition expansion would now use.
2011-07-09 16:57:09 -06:00
Matthew Flatt
584a96a4e0 fix define-primitive' and porvide-primitive' to check binding
Closes PR 12031
2011-07-09 08:54:36 -06:00
Guillaume Marceau
2c075978fd Merged htdp-lib.scblr and teachpacks/error-composition.scrbl into htdp/htdp.scrbl,
to form a single manual titled "Implementing HtDP Teachpacks, Libraries, and
Customized Teaching Languages"
2011-07-08 18:23:17 -04:00
Guillaume Marceau
ff1ab35a12 Catches another way images prints. 2011-07-08 18:23:15 -04:00
Matthew Flatt
2840e2367b fix ASL `(begin0)' error message 2011-07-07 10:57:04 -06:00
Matthew Flatt
917d190877 more consistent *SL primitive descriptions 2011-07-07 10:45:43 -06:00
John Clements
77a31dc2af fix a stepper bug related to recent change to handling of module-level defines 2011-07-06 23:22:29 -07:00
Eli Barzilay
0ee3aef9cb Redo some of the ".ss" -> ".rkt" conversion that were undone in the last push. 2011-07-06 06:21:49 -04:00
Guillaume Marceau
9706920055 Updated the error messages of the world and universe teachpacks. 2011-07-06 05:35:27 -04:00
Guillaume Marceau
aa9dbd21f5 Updated the error message of check-expect. Fine tuning of the error messages. 2011-07-06 05:35:25 -04:00
Guillaume Marceau
6fc14b269d The rewriting machanism no longer inserts with-handler everywhere. 2011-07-06 00:28:45 -04:00
Guillaume Marceau
01b9bde7fa The documentation for htdp-lang now uses the new vocabulary. 2011-07-06 00:27:28 -04:00
Guillaume Marceau
6eea5b1793 The new error messages now pass the tests/language-test.rkt suite
(except for contract runtime error messages in levels higher than
 beginner.)
2011-07-06 00:19:26 -04:00
Guillaume Marceau
f858b8bb5c Htdp no longer throws exceptions that have no source information 2011-07-06 00:19:24 -04:00
Guillaume Marceau
79589b9b9f The htdp test suite now checks that the correct error messages are thrown. 2011-07-06 00:19:22 -04:00
Guillaume Marceau
2f3da4c4cd Changed the wording of BSL error messages 2011-07-05 17:57:19 -04:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Ryan Culpepper
1b702a2ae3 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
John Clements
e367f1d0f2 added missing argument to parameter set 2011-06-29 14:35:47 -07:00
John Clements
d839b9fea6 renamed define-struct-hint to black-box-expr, applied to require as well 2011-06-29 00:28:08 -07:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Matthias Felleisen
e3c552b785 boolean-valued functions in Intermediate and up now check their results; also fixed some error messages; Closes PR 11745 2011-05-25 14:05:45 -04:00
Matthias Felleisen
84cb649b87 removed pair? from language primitives so that HTDP works; Closes PR 10148 2011-05-13 12:55:45 -04:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Matthew Flatt
4cd0ba277e remove `define-wish' from BSL for now
Merge to 5.1.1
2011-04-27 06:09:30 -06:00
Robby Findler
7701f75fb0 adjusted test-docs-complete.rkt tests 2011-04-25 19:00:01 -05:00
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
Sam Tobin-Hochstadt
f9bf318a90 Fix `ormap' error messages in HTDP languages. 2011-04-12 14:28:33 -04:00
Kathy Gray
7758f508c5 Addition of define-wish to the teaching languages and corresponding addition of support for wishes in test reports and check-expects 2011-02-21 12:46:39 +00:00
Robby Findler
87e637a1cc - adjust the teaching language test coverage style implementation
so that it changes immediately when the black-on-white and
  white-on-black buttons are pushed in the preferences dialog

- expanded the color preferences api a little
  to allow the specification of background colors
  in addition to the foreground/style information
  already there

- changed the test coverage style so that the colors are
  settable in the preferences dialog

  closes PR 11704
2011-02-17 12:27:00 -06:00
Robby Findler
7af41fddc3 We no longer need to avoid IO or worry about exceptions, so drop the with-handlers.
Revert "This is a change to paper over a bug elsewhere in the system that threatens the release."

This reverts commit 25adab8cbb.
2011-02-15 19:05:21 -06:00
Robby Findler
25adab8cbb This is a change to paper over a bug elsewhere in the system that threatens the release.
Specifically, when there is an error in the namespace require (say if one of the teachpack
files gets corrupted (because you use a script that monkeys around in the installation, say,
and things go wrong)) then the first-opened method does not return normally, but raises
an exception. This, so far, is not a problem, but it appears that there is a bug in the
implementation of the drracket repl io ports that causes them to deadlock when flushing
the error port under certain conditions (I'm not sure what is really going on with this bug,
but I am observing a call to flush that fails to return) and the error-display-handler
for the teaching languages flushes the output port.

This change just avoids printing the error and so the error display handler is not called
in the fragile state. This change goes back to exactly what was happening in 5.0.2,
at least as far as the teaching language's first-opened method is concerned.

So, if this seems okay, I'd like to suggest it be included in the release.
2011-02-14 10:36:09 -06:00
Matthew Flatt
655f6045a2 fix shared' for #:auto' fields and constructors without `make-'
Closes PR 11588
 Closes PR 11591
2011-01-05 13:52:11 -07:00
Robby Findler
6fe8643194 adjust teaching languages so that print works properly 2010-12-27 09:16:09 -06:00
Mike Sperber
d5c58d9f82 Extends =~ to complex numbers
This is a (variation of a) fix from David van Horn.

Closes PR 11547.
2010-12-26 09:03:10 +01:00
Robby Findler
9c12f7aaa5 fix dumb edito I did last week or so 2010-12-24 19:12:55 -06:00
Robby Findler
bf53fd5c38 adjust the auto-text behavior of DrRacket so that it doesn't require the
queue-callback / execute callback dance; also, change the behavior
  a little bit so that it works a little bit more like the rest of the
  DrRacket languages; in particular, the initialization of the REPL
  now only happens when a window is first opened or a new tab is first
  created, but not at other times (ie not when the language changes;
  when the language changes, we just keep the REPL state the same and
  show a warning like before)

This change also required a change to the way the repl is initialized
and a slight change to the behavior of the first-opened method. Specifically,
it is now called in a slightly better context so that errors that
happen look like errors in the user's program. The only other use of
the first-opened method in the tree was to initialize the teachpacks
in the teaching languages and this new behavior is also an improvement
there.
2010-12-20 08:43:34 -06:00
Mike Sperber
fa854f62fc Add vector signatures, and `vector-of' to the HtDP signature syntax. 2010-12-19 11:20:51 +01:00
Mike Sperber
6bee489091 Add menu item to disable signature checking. 2010-12-14 17:29:30 +01:00
Mike Sperber
dbd1cfaf10 Don't use teach-equal?' for one-of' signature.
I did this under the mistaken assumption `equal?' would not work for
cycles, I think.
2010-11-26 11:10:29 +01:00
Mike Sperber
99e66e0dea Fix cycle detection in `tequal?'.
... and thus in `check-within', by using an eq? hash table.  Also,
while we're at it, add cycle detection to `tech-equal?'.

Fixes PR #11423.
2010-11-17 17:15:31 +01:00
Mike Sperber
69b858a7f5 Unbreak printing in DMdA.
Fix the the name by which the HtDP and DMdA languages refer to the
signatures module, making sure everybody sees the same properties.
2010-11-10 07:32:52 +01:00
Vincent St-Amour
c7d67f9bab *SL: first and rest should not report errors in terms of car and cdr. 2010-11-09 21:16:17 -05:00
Robby Findler
22ce241d4d no #%plain-app because test is not a function... 2010-10-22 06:45:56 -05:00
Robby Findler
c34bd6c28d fix the metadata parsing to be more robust so drracket does not crash when opening a corrupt htdp teaching language file
closes PR 11332
2010-10-22 06:45:56 -05:00
Robby Findler
ae37e186e7 use #%plain-app to avoid possible problems with code injected into the teaching languages 2010-10-19 07:07:08 -05:00
Matthew Flatt
9f959f247e fix quotability annotation on HtDP-language structs
Merge to 5.0.2
2010-10-17 19:32:17 -07:00
Mike Sperber
39541c51b5 Add `tech-equal?'.
This refuses to work on inexact numbers and procedures.  Use it in
`check-expect' & friends.
2010-10-15 15:26:24 +02:00
Robby Findler
8032705cf9 The call to display-results depends on the value of the current-namespace
parameter. Specifically, it is expected to be a namespace that has the GUI
bindings available. Unfortunately, during the dynamic extent of the
uncaught-exception-handler when a syntax error is raised, this may not be
the case because you get a phase 1 namespace, not a phase 0 one.

So, move the call to display-results to the code that runs the student language
programs and out of the uncaught exception handler.
2010-10-13 15:55:16 -05:00
Robby Findler
2de8b978ba move read-accept-lang parameter setting to the right place 2010-10-13 15:55:16 -05:00
Matthias Felleisen
852aaed2ea removed signatures for now 2010-10-13 12:49:26 -04:00
Matthias Felleisen
df62ca47e9 added 'function', Closes PR 11283 2010-10-13 10:31:00 -04:00
Mike Sperber
f3191ff4d6 Define `any' signature differently.
... to actually enable the subtyping check.  Also, make named
signatures work for signature variables.
2010-10-13 09:41:10 +02:00
Mike Sperber
eebe5b2e2b 2nd attempt at generators for records/structs.
This time, with feeling.
2010-10-11 13:34:16 +02:00
Mike Sperber
f706b0d7a7 Revert "Create arbitraties off parametric struct/record signature constructors."
This reverts commit 7df9a22a67.

It was broken in several ways.  New attempt later.
2010-10-09 17:48:58 +02:00
Matthew Flatt
6ac33a62be set `read-accept-lang' to #t by default, plus related adjustments
including adding some uses of `with-module-read-parameterization'
 so that `read-accept-lang' is set right anyway; still, so many
 many places just set `read-accept-reader' to #t that making
 `read-accept-lang' #f by default looks like too big of an
 incompatibility
2010-10-08 19:01:33 -06:00
Mike Sperber
4ec7cb1d88 Unbreak coverage for *SL `define-struct'. 2010-10-08 19:56:51 +02:00
Mike Sperber
7df9a22a67 Create arbitraties off parametric struct/record signature constructors.
This enables QuickCheck value generations for structs/records.
2010-10-08 17:21:07 +02:00
Mike Sperber
219c91d8e7 Check parametric struct/record signatures eagerly. 2010-10-08 17:01:47 +02:00
Mike Sperber
9b1188c77a Re-instate Robby's hack to display test results off REPL errors.
... and generalize it so there's an action before (clearing the old
tests out) in addition to after (displaying the test results).

Also, do for DMdA as for HtDP.
2010-10-08 15:25:44 +02:00
Mike Sperber
3e205b6193 Better error message for certain bogus signatures. 2010-10-08 13:55:42 +02:00