Commit Graph

250 Commits

Author SHA1 Message Date
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
Matthew Flatt
8cf2306979 adjust HtDP language module-begin to work right if 'provide' shows up
svn: r12157
2008-10-28 13:27:22 +00:00
Matthew Flatt
bb7d3d1a28 fix 'local-expand' checking of stop list to disallow symbols; extend 'continuation-marks' to work on threads; fix HtDP language module-level stop list
svn: r12101
2008-10-23 13:38:03 +00:00
Matthew Flatt
d8a5a4e1c6 fix macro-introduced define-values-for-syntax in HtDP languages
svn: r12080
2008-10-21 11:26:35 +00:00
Matthias Felleisen
d5e3fdf639 svn: r12067 2008-10-20 02:24:04 +00:00
Robby Findler
ce217355f8 PR 9761
svn: r11779
2008-09-16 20:26:15 +00:00
Matthew Flatt
fea6ea12bf tune htdp language #%module-begin to avoid unnecessary macro trampolining
svn: r11405
2008-08-24 12:34:04 +00:00
Matthew Flatt
23edcfc129 fix name of sort function in htdp languages
svn: r11193
2008-08-11 23:55:08 +00:00
Eli Barzilay
7d50e61c7f * Newlines at EOFs
* Another big chunk of v4-require-isms
* Allow `#lang framework/keybinding-lang' for keybinding files
* Move hierlist sources into "mrlib/hierlist", leave stub behind

svn: r10689
2008-07-09 07:18:06 +00:00
Matthias Felleisen
269595665c added sort as duplicate of quicksort
svn: r10283
2008-06-16 13:56:35 +00:00
Matthias Felleisen
913fa9408f fixed doc for member to -> boolean
svn: r10282
2008-06-16 12:54:56 +00:00
Matthew Flatt
20fcb6314c honu-module -> honu; misc doc and slideshow tweaks
svn: r10230
2008-06-12 13:02:41 +00:00
Matthew Flatt
26a36a9cbe add 'false?'
svn: r9849
2008-05-15 16:03:50 +00:00
Matthew Flatt
a932a75708 fix rename-in bug, and try to provide a better error message for attempting to use a run-time definition in a transformer expression
svn: r9819
2008-05-12 23:13:47 +00:00
Matthew Flatt
265930ffa6 enable explicit printing of teaching-language expression results
svn: r9740
2008-05-08 14:47:39 +00:00
Matthew Flatt
ed4c83b529 explicit printing of top-level expression results in teaching languages, but disabled for now
svn: r9739
2008-05-08 13:54:06 +00:00
Matthew Flatt
e5350bb22f sync HtDP languages and test suite
svn: r9424
2008-04-23 13:28:43 +00:00
Kathy Gray
7a6dff6d19 Merging testing branch (kathyg/test-harnessv4-2) onto trunk: -r8903:9138
svn: r9160
2008-04-04 11:30:36 +00:00
Eli Barzilay
b76390a452 revise the way setup-plt crawls over the collection trees
svn: r8860
2008-03-03 22:04:28 +00:00
Eli Barzilay
bb34f747b6 make all files terminate with a newline
svn: r8786
2008-02-24 21:27:36 +00:00
Eli Barzilay
b1a08edd5a use new require specs in many places
svn: r8774
2008-02-23 09:42:03 +00:00
Eli Barzilay
699c40643d * Changed setup-plt to compile collections if they have an "info.ss"
file.  (That is, it does not require the file to have a `name'
  entry.)

* The name shown when setup works is the directory name, followed by
  the `name' field from the info file when specified.

* This means that many `name's are no longer needed, so I'm removing
  them.  To see if you need a `name' entry, consider that the name
  will be shown like this:
    ... foo (<your name here>)
  This means that if the name is the same as the directory name, then
  there is no point in having it.  I also removed cases where the name
  differed only in its capitalization for collections where the case
  is obvious.

* Also, for subcollections, the name should clarify the name of the
  subcollection in context.  For example "Acknowledgments" explains
  what scribbling/acks is, but there's no need to add the context name
  as in "Scribblings: Acknowledgments".

* There may also be a point in keeping names for other uses.  One such
  example was in games, where the name field was used in the PLT Games
  application.  (This was changed to default on the directory name, so
  it is no longer needed in most games.)  Another example is in planet
  packages.

svn: r8629
2008-02-12 10:33:01 +00:00
Eli Barzilay
3c72e71e24 switched info.ss files to #lang
svn: r8532
2008-02-04 23:00:35 +00:00
Matthew Flatt
7fc41024c0 3.99.0.9: binding links in docs use nominal import sources
svn: r8196
2008-01-03 19:07:02 +00:00
Matthew Flatt
d4482c90ca finish first draft of HtDP language docs
svn: r8179
2008-01-02 03:33:00 +00:00
Matthew Flatt
c0872f69ea equal? and hashing work on cyclic values
svn: r8132
2007-12-27 11:07:14 +00:00
Matthew Flatt
f70ea2d03a shared
svn: r8069
2007-12-19 21:32:07 +00:00
Matthew Flatt
1adc9702e8 fix stop points of module-begin expansion (for contracts) in HtDP langauges
svn: r7736
2007-11-15 12:23:29 +00:00
Matthew Flatt
39cedb62ed v3.99.0.2
svn: r7706
2007-11-13 12:40:00 +00:00
Matthew Flatt
9c8b9eb0ba change beginner-cond error to highlight individual cond-clause elements when the wrong number are present
svn: r7380
2007-09-18 16:52:23 +00:00
Carl Eastlund
33b4228a4e Updated ellipsis error message in htdp languages.
Updated test cases for ellipsis error message.
Fixed problem with htdp advanced tests introduced with previous ellipsis updates.
Fixed htdp tests for updated undefined variable error message.

svn: r6887
2007-07-10 21:23:33 +00:00
Matthias Felleisen
9b96dbd211 changed argument to parameter
svn: r6784
2007-07-01 14:03:59 +00:00
Carl Eastlund
5b67fcbb86 Added binding for .., ..., ...., ....., and ...... in htdp languages.
Uses of these dots expand to an expression generating a runtime error
stating "expected a finished expression, but found a placeholder".
Students may write and run unfinished templates (as usual), but will get an
error message that is more specific and hopefully more useful than unbound variable.

Added tests for this functionality.

svn: r6743
2007-06-26 15:41:01 +00:00
John Clements
d0e5e2cbb6 added skipto for let-syntaxes
svn: r6192
2007-05-10 18:04:41 +00:00
Matthew Flatt
448cba2fb5 fix HtDP require so that it correctly binds fo lib and planet paths
svn: r6120
2007-05-02 22:40:48 +00:00
Matthew Flatt
60cb899ba1 require in the HtDP languages
svn: r6116
2007-05-02 01:18:57 +00:00
Matthias Felleisen
373860bb16 append requires 2 args now
svn: r6106
2007-05-01 01:55:31 +00:00
Eli Barzilay
19c33a8e2a no need for string->immutable-string when creating exceptions
svn: r5372
2007-01-17 01:18:50 +00:00
Matthew Flatt
58e05fbd65 fix typo
svn: r5369
2007-01-17 00:13:11 +00:00
Robby Findler
d3f0e20191 remove test-suite reference
svn: r5237
2007-01-07 01:08:18 +00:00
Eli Barzilay
3459c3a58f merged units branch
svn: r5033
2006-12-05 20:31:14 +00:00
John Clements
517bec65c8 top-level-begin requires different stepper annotation
svn: r4783
2006-11-05 16:54:23 +00:00
John Clements
b9e97afc4c changed syntax-property to stepper-syntax-property
svn: r4763
2006-11-03 18:28:43 +00:00
Matthew Flatt
b61846baba cache bitmap and dc for snip sizing
svn: r4708
2006-10-30 06:50:14 +00:00
Matthew Flatt
c12683b9d4 use defn to hide introduced dummy function
svn: r4673
2006-10-23 07:15:47 +00:00
Matthew Flatt
a8465ee701 make defined names always mutable in HtDP advanced
svn: r4672
2006-10-23 07:05:21 +00:00
Matthew Flatt
6b13db5211 wrap primitives and beginner-specialized primitives as first order, so that higher-order primitives can recognize them
svn: r4666
2006-10-21 02:28:30 +00:00
John Clements
530e39c5be checkign -> checking
svn: r4586
2006-10-13 16:56:42 +00:00
John Clements
7de449312c there's an extra syntax-e in the stepper-skipto for (time ...)
svn: r4450
2006-09-28 00:59:28 +00:00
John Clements
66298f0727 changed representation of stepper-skipto lists
svn: r4422
2006-09-23 10:44:40 +00:00
Matthew Flatt
b4af10dc2e begin0 is a module-level expression
svn: r3244
2006-06-06 04:01:40 +00:00
Matthew Flatt
e4b1be1140 replace values expression-forcing wrapper with begin0 wrapper
svn: r3243
2006-06-06 03:31:23 +00:00
John Clements
e6c79bf796 introduced stepper-ignore-checker abstraction
svn: r1529
2005-12-05 21:15:34 +00:00
Matthias Felleisen
4de4292474 fixed typo
svn: r1502
2005-12-02 22:14:35 +00:00
Matthew Flatt
26c5a97299 stepper annotation to skip introduced 'values'
svn: r1499
2005-12-02 21:33:27 +00:00
Matthias Felleisen
2526db5610 fixed higher-order function contracts in intermediate
svn: r1489
2005-12-02 15:11:23 +00:00
Matthew Flatt
81dc642c4e teaching-langauge error message improvements
svn: r1197
2005-11-01 20:13:10 +00:00
John Clements
e54afdb8c8 ...
svn: r763
2005-09-04 07:38:45 +00:00
Robby Findler
8848a3f7ec changed set! result and its printing for teaching languages
svn: r752
2005-09-02 15:51:49 +00:00
John Clements
e728ab2925 added annotation for advanced setbang
svn: r743
2005-09-01 23:12:20 +00:00
Robby Findler
fd7790118c ,
svn: r620
2005-08-19 20:31:05 +00:00
Robby Findler
a4be78133a ,
svn: r541
2005-08-03 14:11:51 +00:00
Eli Barzilay
20eba137c6 Use (require (only ... foo))' instead of (require (rename ... foo foo))'
svn: r83
2005-06-09 23:01:05 +00:00
Eli Barzilay
017d151d59 Adding collects, with all the right properties (except eoln-style).
svn: r3
2005-05-27 18:56:37 +00:00