diff --git a/tapl/lam-testing.rkt b/tapl/lam-testing.rkt new file mode 100644 index 0000000..2be3869 --- /dev/null +++ b/tapl/lam-testing.rkt @@ -0,0 +1,22 @@ +#lang racket +(require (for-syntax syntax/parse)) +(require (for-meta 2 racket/base)) +(provide #%module-begin #%top-interaction #%app #%datum) +(provide (rename-out [lam/tc λ])) + +(define-syntax (lam/tc stx) + (syntax-parse stx + [(_ (x y) e) + #:with + (lam xs (lr bs1 vs1 (lr2 bs2 vs2 e+))) + (local-expand + #'(λ (x y) + (let-syntax +; ([x (λ (sx) (syntax-parse sx [z:id (syntax-property #'y 'type 100)]))]) + ([x (make-rename-transformer (syntax-property #'x 'type 100))]) + e)) + 'expression + null) + #:when (printf "~a\n" #'e+) + #:when (printf "~a\n" (syntax-property #'e+ 'type)) + #'(λ xs e+)])) \ No newline at end of file diff --git a/tapl/stlc-tests.rkt b/tapl/stlc-tests.rkt deleted file mode 100644 index 5bc0523..0000000 --- a/tapl/stlc-tests.rkt +++ /dev/null @@ -1 +0,0 @@ -#lang s-exp "stlc.rkt" \ No newline at end of file