diff --git a/IDEA b/IDEA new file mode 100644 index 0000000..4b431a9 --- /dev/null +++ b/IDEA @@ -0,0 +1,2 @@ +IDEA: to reduce the problem of "fake" immutable vectors etc. leaking out into the generated code, also change the representation of syntax objects. That way, errors will be caught really fast if anythin leaks. + Though this could also cause errors of its own in other places :-( \ No newline at end of file diff --git a/typed-syntax.rkt b/typed-syntax.rkt index a6cefe7..89c108a 100644 --- a/typed-syntax.rkt +++ b/typed-syntax.rkt @@ -13,6 +13,7 @@ ISyntaxOf-E ISyntax/Non ISyntax/Non-E + ISyntax/Non-Stx any->isyntax/non syntax->isyntax/non any->isyntax/non-e diff --git a/typed-syntax/typed-syntax-convert2.rkt b/typed-syntax/typed-syntax-convert2.rkt index 58f25b4..d2ad398 100644 --- a/typed-syntax/typed-syntax-convert2.rkt +++ b/typed-syntax/typed-syntax-convert2.rkt @@ -10,6 +10,7 @@ ISyntax-E ISyntax/Non ISyntax/Non-E + ISyntax/Non-Stx any->isyntax/non syntax->isyntax/non any->isyntax/non-e @@ -72,6 +73,7 @@ (define-type ISyntax/Non (ISyntaxOf (NonSyntaxOf Any) (NonSexpOf Any))) (define-type ISyntax/Non-E (ISyntaxOf-E (NonSyntaxOf Any) (NonSexpOf Any))) +(define-type ISyntax/Non-Stx (Syntaxof ISyntax/Non-E)) (define-type ISyntax (ISyntaxOf Nothing Nothing)) (define-type ISyntax-E (ISyntaxOf-E Nothing Nothing))