Incorrect package computation
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 250
- Forks
- 102
- Avg merge
- 11d 11h
- Merged PRs (30d)
- 1
Description
https://docs.racket-lang.org/2d/ shows that #lang 2d is a part of the 2d-test package. It should actually be 2d-lib.
The root of the problem is that defmodulelang (and/or defmodule with #:lang) should not treat the input name as a final module-path to be used. In this particular case, (require 2d) loads 2d/2d-test/main.rkt, which doesn't exist and is in an incorrect package. The correct module path to require should be (require 2d/lang/reader), which loads 2d/2d-lib/lang/reader.rkt in 2d-lib.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing defmodulelang and defmodule with #:lang, then reproduce the difference between (require 2d) and (require 2d/lang/reader). Done means the generated package information identifies 2d-lib and the module path loads the reader from 2d-lib rather than the nonexistent 2d-test path.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100