racket/typed-racket

The no-check TR language's bindings are not identical to TR in the transformer environment

オープン

#595 opened on 2017/08/30

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)Racket (106 件のフォーク)github user discovery
good first issue

Repository metrics

Stars
 (576 個のスター)
PR merge metrics
 (平均マージ 11d 14h) (30d で 1 merged PR)

説明

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)

コントリビューターガイド