Commit Graph

213 Commits

Author SHA1 Message Date
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
Mike Sperber
fa854f62fc Add vector signatures, and `vector-of' to the HtDP signature syntax. 2010-12-19 11:20:51 +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
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
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
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
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
3e205b6193 Better error message for certain bogus signatures. 2010-10-08 13:55:42 +02:00
Mike Sperber
38cf78e213 Allow specifying arbitary expressions in a signature declaration.
Fixes PR 11282
2010-10-08 13:12:18 +02:00
Mike Sperber
1e44fc8e43 More "contract" -> "signature" identifier renaming. 2010-10-08 11:51:33 +02:00
Mike Sperber
91590040dc Ignore duplicate signature declarations. 2010-10-08 11:50:17 +02:00
Mike Sperber
87da2f35b9 Provide English and German versions of deinprogramm/signature/signature. 2010-10-08 11:19:38 +02:00
Matthias Felleisen
725da3b2ed fix string-ith problem, Closes PR 11261 2010-09-28 18:07:10 -04:00
Mike Sperber
65bd667be2 Make parametric signatures work in BSL. 2010-09-22 11:35:00 +02:00
Mike Sperber
7304c061e3 Add `cons-of' signature constructor to HtDP languages. 2010-09-22 11:31:24 +02:00
Mike Sperber
593f8588fe Implement lazy signature checking for ordinary pairs. 2010-09-22 11:03:01 +02:00
Mike Sperber
98c9ad4d22 Add `Any' contract to HtDP languages. 2010-09-21 16:23:58 +02:00
Mike Sperber
333d82e6df Fix some error messages for invalid : signature declarations. 2010-09-17 18:02:33 +02:00
Mike Sperber
8bc95ace01 Unbreak signatures for BSL. 2010-09-17 18:02:33 +02:00
Matthew Flatt
036ed57000 fix *SL `define-struct' expand-time info: omit non-existent struct type 2010-08-30 16:11:08 -06:00
Robby Findler
b1550d6c9b changed the expansion of the ... macro in the teaching languages so that
it cooperates with the test coverage annotations in drracket.
closes PR 11138
2010-08-30 09:23:34 -05:00
Jay McCarthy
45a8854398 Adding immutable hash operations to ASL 2010-08-25 10:36:36 -06:00
Jay McCarthy
368d711ae2 Optional arguments to hash table constructors in ASL 2010-08-25 10:36:34 -06:00
Matthew Flatt
0955ed6e8b fix custom printer attached to *SL structure types 2010-08-24 06:23:22 -06:00
Robby Findler
611e04abda adjusted the expansion so that the references to "foo" in this ISL program:
(define-struct foo (x))

(: make-foo (Number -> foo))
(: foo-x (foo -> Number))

(define x (make-foo 5))
(foo-x x)

don't get colored the "not yet executed" color.
2010-08-23 10:23:34 -05:00
Matthew Flatt
a7bc964c69 fix problem with binding of *SL struct-type name and application 2010-08-19 07:38:25 -06:00
Robby Findler
ee3a837ee2 fixes the other aspect of PR 11062 2010-07-31 09:15:11 -05:00
Matthew Flatt
0e8af6bc5d fix acc/mut error msgs from `define-struct' in teaching languages
Merge to 5.0.1
 Closes PR 11062
2010-07-30 11:16:32 -06:00
Jay McCarthy
407dcee206 Adding match to ASL 2010-07-22 15:39:53 -06:00
Jay McCarthy
eeada45868 Fixing error string 2010-07-22 15:12:07 -06:00
Jay McCarthy
9eb053d4db Adding define-datatype to ASL 2010-07-22 11:36:04 -06:00
Jay McCarthy
c9ccf6d48b Adding all hash prims per SK 2010-07-16 09:43:03 -06:00
Jay McCarthy
d17deb5fef Adding hash table functions to ASL 2010-07-15 15:45:54 -06:00
Mike Sperber
faf8ec358f Rename DMdA/HtDP "contract" to "signature". 2010-06-28 14:58:16 +02:00
Mike Sperber
3319fa41d0 Add properties to the HtDP teaching languages. 2010-06-09 14:16:34 +02:00
Mike Sperber
f29b6483f9 Export `posn' contract to the HtDP teaching languages. 2010-06-09 13:46:51 +02:00
Mike Sperber
744b45f470 Rename HtDP list' contract to list-of'. 2010-06-09 12:07:47 +02:00
Mike Sperber
5b4d25295d Make `define-struct' define contracts.
In particular, in

(define-struct foo (a b))

... foo is a contract, and a contract combinator `foo-of' is defined.
2010-06-09 11:07:22 +02:00
Mike Sperber
da88f22b0e Change do-define-struct' to use make-struct-type' explicitly.
This is to enable the contracts work that is to come.
2010-06-08 14:20:07 +02:00
Mike Sperber
97a04e9f9d Fix error message to match the test suite's check for it. 2010-06-08 11:22:35 +02:00
Mike Sperber
dee21e9e73 Add what's needed, delete what's in the way.
Stuff I had forgotten earlier.
2010-06-08 09:26:07 +02:00
Mike Sperber
b0e6e6b55d Merge remote branch 'origin/master' 2010-06-07 17:26:34 +02:00
Robby Findler
c96bbe640d makes image=? work on 2htdp/image images. 2010-05-26 20:55:24 -05:00
Mike Sperber
f899fdf15d Report the correct position for a blamed procedure.
... if the `lambda' of that procedure was the result of expanding a `define':
Attach the `define''s source location to the `lambda' expression.
2010-05-21 19:39:27 +02:00
Mike Sperber
8d39c15b17 Make contracts available in HtDP languages.
Known breakage: when blame is assigned to a procedure defined via
(define (f ...) ...), its source position isn't reported because its
lambda expression is generated.
2010-05-21 19:30:37 +02:00
Mike Sperber
8590e8cadf Merge deinprogramm contract test-engine into the regular one.
This adds support for contracts.
2010-05-20 15:31:45 +02:00
Matthew Flatt
9fc5cbfa2c Fix syntax error in ASL
Closes PR 10914
 Merge to v5.0
2010-05-19 15:11:41 -06:00
Matthew Flatt
043f97df97 fix more test files 2010-05-01 07:23:05 -06:00
Matthew Flatt
32de6647dc fix HtDP language printing 2010-04-28 08:55:16 -06:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Matthew Flatt
616080c7c4 change 'define-struct' to bind the type name as a constructor, add an #:extra-constructor-name option, etc. 2010-04-25 12:10:36 -06:00
Matthias Felleisen
6bc3484ae0 added member? as an alias for member to BSL 2010-04-20 22:48:41 -04:00
Robby Findler
6f4c164793 improved the implementation of error in the teaching languages, added test casees
svn: r17923
2010-02-01 15:39:33 +00:00
Matthew Flatt
1086cefc7a add empty to the list of things that are not structs for HtDP langs
svn: r17563
2010-01-08 13:38:48 +00:00
Matthew Flatt
1e2cb09f39 fix HtDP advanced docs for random
svn: r17470
2010-01-03 18:04:44 +00:00
Matthias Felleisen
560234138c error docs fixed
svn: r17455
2009-12-31 19:08:19 +00:00
Matthias Felleisen
7f2bce0130 added with-in/out from/to string for Bloch
svn: r17453
2009-12-31 14:50:47 +00:00
Matthias Felleisen
5296a0a877 added gensym, current-millisecond, sleep, assoc, with-i/o-from-to
svn: r17444
2009-12-30 22:45:12 +00:00
Matthias Felleisen
e9be5c92fe added (random) to ASL
svn: r17438
2009-12-30 15:26:28 +00:00
Robby Findler
e821a0c461 separated 2htdp/universe from htdp/image, allowing either htdp/image or 2htdp/image to be used
svn: r17430
2009-12-29 23:59:39 +00:00
Matthias Felleisen
bd0f694803 svn: r17109 2009-11-30 16:16:50 +00:00
Matthias Felleisen
2bb3403f88 modified error to take arbitrary number of arguments
svn: r17108
2009-11-30 15:31:38 +00:00
Matthias Felleisen
2153c258db fixed to docs of eq?, eqv?, memq, and memv
svn: r16742
2009-11-13 03:30:46 +00:00
Matthias Felleisen
26bf0a7297 added list* to advanced
svn: r16492
2009-10-31 16:13:57 +00:00
Matthew Flatt
f3de56f742 fix 'append' in ISL+ to disallow a non-list last argument (merge to 4.2.2)
svn: r16166
2009-09-29 15:28:44 +00:00
Matthias Felleisen
d39c717b69 fixed argmax doc bug; please propagate
svn: r16118
2009-09-23 22:27:13 +00:00
Matthias Felleisen
4ad2d25e1d error takes just a string
svn: r16071
2009-09-19 17:20:34 +00:00
Matthias Felleisen
3c6f5e5c98 append takes 1 or more arguments now in ISL+
svn: r15779
2009-08-18 20:01:31 +00:00
Matthias Felleisen
fd813e111e added make-pair to beginner
svn: r15742
2009-08-14 23:27:54 +00:00
Matthew Flatt
3cb2775f7c preserve original id use in expansion of first-order->higher-order
svn: r15699
2009-08-11 01:58:03 +00:00
Matthias Felleisen
1fe887fd9a doc bug for replicate fixed
svn: r15686
2009-08-07 18:37:09 +00:00
Eli Barzilay
03f91ccbeb set svn:eol-style
svn: r15561
2009-07-25 10:06:55 +00:00
Matthias Felleisen
5e638cc8fe andmap, ormap (10326); remove added
svn: r15555
2009-07-24 22:06:24 +00:00
Matthew Flatt
68a2257f2a better interaction of HtDP languages with scheme/match
svn: r15462
2009-07-16 16:11:12 +00:00
Eli Barzilay
a70bf64fd9 Newlines at EOFs
svn: r15380
2009-07-04 02:28:31 +00:00
Matthew Flatt
81f9622b58 HtDP lang doc repairs
svn: r15203
2009-06-18 07:47:36 +00:00
Matthew Flatt
b09e905da0 fix intm+ function export to omit replaced beg math ops
svn: r14841
2009-05-16 02:20:13 +00:00
Matthias Felleisen
6a4c101859 arithmetic functions should be standard
svn: r14831
2009-05-15 16:30:39 +00:00
Matthias Felleisen
0e43e6a0dc added functins for analyzing strings as 1-letter strings
svn: r14830
2009-05-15 16:22:17 +00:00
Matthias Felleisen
299cba5adf svn: r14823 2009-05-14 22:50:43 +00:00
Matthias Felleisen
bac292acc6 second draft of char/string
svn: r14755
2009-05-08 21:55:05 +00:00
Matthias Felleisen
4d3d16ef48 char replacement functions, first draft
svn: r14741
2009-05-07 21:41:44 +00:00
Matthias Felleisen
5f2a62f37c svn: r14689 2009-05-02 15:25:15 +00:00
Matthias Felleisen
05ae98e55b fixed error message for sqr
svn: r14515
2009-04-14 22:04:52 +00:00
Matthias Felleisen
d0841e6c74 random modified to take just one argument
svn: r14514
2009-04-14 21:52:45 +00:00
Matthew Flatt
9927b0b576 changed htdp languages to allow identifier module paths; scribble improvements to latex back-end; added definterface
svn: r13681
2009-02-16 22:04:51 +00:00
Matthias Felleisen
f302dbfb91 integer-sqrt and make-rectangular added
svn: r13591
2009-02-15 01:34:54 +00:00
Matthias Felleisen
d43f58df4c annotated integer inputs
svn: r13590
2009-02-15 01:31:08 +00:00
Matthias Felleisen
cba8e0d079 doc request: 10022; fixed
svn: r13085
2009-01-13 02:47:26 +00:00
Robby Findler
fb821d9041 added argmin and argmax to scheme/list and to the teaching languages
svn: r12960
2009-01-01 00:03:31 +00:00
Matthew Flatt
1642a84e69 add equal?/recur; implement equal? for image-snip% via properties
svn: r12950
2008-12-29 22:36:53 +00:00
Robby Findler
b8687f7957 change 'list' contract to (listof any)
svn: r12469
2008-11-17 14:32:15 +00:00
Matthias Felleisen
e9ca169869 string functions take at least two arguments
svn: r12167
2008-10-29 15:13:17 +00:00