racket/pict

add minimum size contract to `standard-fish`

Open

#85 opened on Dec 15, 2024

 (1 comment) (0 reactions) (0 assignees)Racket (22 forks)github user discovery
good first issue

Repository metrics

Stars
 (18 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

standard-fish fails for small values with an unfortunate error that unlike a normal error points elsewhere in the code.

standard-fish is defined at pict-lib/pict/private/utils.rkt

options:

  • check args are valid w>5 , h>1?
  • modify standard fish to accept any numbers, including zero and negative.
#lang racket
(require pict)
(standard-fish 6 1)
Documents/GitHub/racket/racket/collects/racket/contract/private/blame.rkt:350:0: draw-ellipse: contract violation
  expected: (and/c real? (not/c negative?))
  given: -2
  in: the 4th argument of
      (->m
       real?
       real?
       (and/c real? (not/c negative?))
       (and/c real? (not/c negative?))
       void?)
  contract from: (class record-dc%)
  blaming: (unit language@)
   (assuming the contract is correct)

Contributor guide