Skip to content

resyntax analyze exits with contract violation in closed-range #272

Description

@blakelewis

When I run resyntax analyze on a smallish piece of code that I wrote, it exits with the message

resyntax: analyzing /Users/blakelewis/Exercism/racket/house/house.rkt
closed-range: contract violation;
 lower endpoint must be less than or equal to upper endpoint
      lower: 18
      upper: 17
      cmp: #<comparator:natural<=>>
...
  blaming: <pkgs>/resyntax/private/linemap.rkt

followed by a long list of context (full output attached).

The code is for an exercise on exercism.org, a site that lets you solve fairly simple programming challenges in a wide variety of languages. It produces verses from the nursery rhyme "The House that Jack Built." We are looking at adding resyntax to our submission pipeline so that students will see its suggestions when they submit a solution. It is a very nice tool and I ran it successfully on several other pieces of code, but something about this one seems to have upset it.

Background information: I am running Racket v8.14 on an x86_64 Macbook running MacOS 12.7.6. I installed resyntax today using raco install as shown in the README file. I am using the command resyntax analyze --file house.rkt and the contract violation happens every time. The code passes the tests on exercism.org, so it is at least somewhat sane.

Apparently, I can't attach .rkt files, so I have pasted .txt onto the end of the file name.

house.rkt.txt
anal.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions