htdp
htdp copied to clipboard
Inconsistent test engine messages when `(module+ test)` is not ran in #lang-based teaching languages
This is a minor interface issue. The test engine messages are different when the test submodule is not ran by DrRacket. 1. #lang-based language: ``` #lang htdp/isl+ (check-expect 1 1)...
This looks like something that could be a parameter: https://github.com/racket/htdp/blob/73ec2b90055f3ab66d30e54dc3463506b25e50b4/htdp-lib/test-engine/test-engine.rkt#L146 And if it were also exposed as such, it would be helpful. As one example: I would like to be...
Consider this ISL/lambda program: ``` (define (my-add1 n) (+ n 1)) my-add1 ``` The output says lambda: ``` Welcome to DrRacket, version 8.11.0.3 [cs]. Language: Intermediate Student with lambda; memory...
In the following example pred is shown as uncovered (tested in DrRacket 8.8 and 8.10). ```racket #lang htdp/bsl (define-struct S (pred)) (check-expect (S-pred (make-S #t)) #t) ``` If I manually...
**What version of Racket are you using?** 8.10 **What program did you run?** Images are an important type in the HTDP methodology. If the new signatures are supposed to be...
*SL includes `string-lower-case?` and `string-upper-case?`, but no functions for actually downcasing or upcasing strings. OTOH, it includes `char-upper-case?` and `char-upcase`, `char-lower-case?` and `char-downcase`. It includes `string=?` and `string-ci=?`, and `string
Various options like `mode?`, `x-place?`, `y-place?` should have _complete_ illustrations in their own section. With this way, users don't need to: - Search the entire documentation to see examples of...
Fixes #220. Wrap a struct around hashes that has a custom print-converter. NOTE: While this works correctly in the #langs, this fails the tests in htdp-test/tests/htdp-lang/advanced.rktl, as they pick up...
In ASL, hashes are constructed using a list of 2-element lists. However, they are printed as a list of pairs in constructor-printing style: > ```racket > > (make-hash '((b 69)...
Fixes #208. The `pconvert` printer checks the namespace for (pre-)defined symbols to decide between printing function names and `(lambda (a1 a2 ...) ...)` templates. If the current namespace is not...