The no-check TR language's bindings are not identical to TR in the transformer environment
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 575
- Forks
- 106
- Avg merge
- 2h 1m
- Merged PRs (30d)
- 2
Description
What version of Racket are you using?
$ racket -v
Welcome to Racket v6.10.
What program did you run?
#lang racket
(module ok typed/racket
(begin-for-syntax
#'yep))
(module not-ok typed/racket/no-check
(begin-for-syntax
#'yep))
(module ok2 typed/racket/no-check
(require (for-syntax racket/base))
(begin-for-syntax
#'yep))
What should have happened?
According to the documentation,
They provide the same bindings and syntax as typed/racket and typed/racket/base, but do no type checking.
where "They" refers to the no-check languages. Thus, the programs should all mean the same thing, and the for-syntax require of racket/base in the module ok2 should be redundant rather than necessary.
If you got an error message, please include it here.
; /home/davidc/tmp/busted.rkt:10:4: syntax: unbound identifier in the transformer environment;
; also, no #%app syntax transformer is bound
; at: syntax
; in: (syntax yep)
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
Run the supplied Racket 6.10 reproduction and compare the transformer-environment bindings of typed/racket with typed/racket/no-check. The issue is done when the no-check language provides the documented bindings and the for-syntax racket/base require in ok2 is redundant.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100