Escape schema names with ? instead of $

This commit is contained in:
Tony Garnock-Jones 2021-06-02 12:35:56 +02:00
parent b968f77ff6
commit 53bd5a1a7e
2 changed files with 43 additions and 43 deletions

View File

@ -387,54 +387,54 @@
(define (Bundle->preserves input) (define (Bundle->preserves input)
(match (match
input input
((Bundle $modules) ((Bundle ?modules)
(record 'bundle (list (Modules->preserves $modules)))))) (record 'bundle (list (Modules->preserves ?modules))))))
(define (CompoundPattern->preserves input) (define (CompoundPattern->preserves input)
(match (match
input input
((CompoundPattern-rec $label $fields) ((CompoundPattern-rec ?label ?fields)
(record (record
'rec 'rec
(list (list
(NamedPattern->preserves $label) (NamedPattern->preserves ?label)
(NamedPattern->preserves $fields)))) (NamedPattern->preserves ?fields))))
((CompoundPattern-tuple $patterns) ((CompoundPattern-tuple ?patterns)
(record (record
'tuple 'tuple
(list (list
(for/list (for/list
((item (in-list $patterns))) ((item (in-list ?patterns)))
(NamedPattern->preserves item))))) (NamedPattern->preserves item)))))
((CompoundPattern-tuple* $fixed $variable) ((CompoundPattern-tuple* ?fixed ?variable)
(record (record
'tuple* 'tuple*
(list (list
(for/list ((item (in-list $fixed))) (NamedPattern->preserves item)) (for/list ((item (in-list ?fixed))) (NamedPattern->preserves item))
(NamedSimplePattern->preserves $variable)))) (NamedSimplePattern->preserves ?variable))))
((CompoundPattern-dict $entries) ((CompoundPattern-dict ?entries)
(record 'dict (list (DictionaryEntries->preserves $entries)))))) (record 'dict (list (DictionaryEntries->preserves ?entries))))))
(define (Definition->preserves input) (define (Definition->preserves input)
(match (match
input input
((Definition-or $pattern0 $pattern1 $patternN) ((Definition-or ?pattern0 ?pattern1 ?patternN)
(record (record
'or 'or
(list (list
(list* (list*
(NamedAlternative->preserves $pattern0) (NamedAlternative->preserves ?pattern0)
(NamedAlternative->preserves $pattern1) (NamedAlternative->preserves ?pattern1)
(for/list (for/list
((item (in-list $patternN))) ((item (in-list ?patternN)))
(NamedAlternative->preserves item)))))) (NamedAlternative->preserves item))))))
((Definition-and $pattern0 $pattern1 $patternN) ((Definition-and ?pattern0 ?pattern1 ?patternN)
(record (record
'and 'and
(list (list
(list* (list*
(NamedPattern->preserves $pattern0) (NamedPattern->preserves ?pattern0)
(NamedPattern->preserves $pattern1) (NamedPattern->preserves ?pattern1)
(for/list (for/list
((item (in-list $patternN))) ((item (in-list ?patternN)))
(NamedPattern->preserves item)))))) (NamedPattern->preserves item))))))
((Definition-Pattern src) (Pattern->preserves src)))) ((Definition-Pattern src) (Pattern->preserves src))))
(define (Definitions->preserves input) (define (Definitions->preserves input)
@ -468,8 +468,8 @@
(define (NamedAlternative->preserves input) (define (NamedAlternative->preserves input)
(match (match
input input
((NamedAlternative $variantLabel $pattern) ((NamedAlternative ?variantLabel ?pattern)
(list $variantLabel (Pattern->preserves $pattern))))) (list ?variantLabel (Pattern->preserves ?pattern)))))
(define (NamedPattern->preserves input) (define (NamedPattern->preserves input)
(match (match
input input
@ -483,8 +483,8 @@
(define (NamedSimplePattern_->preserves input) (define (NamedSimplePattern_->preserves input)
(match (match
input input
((NamedSimplePattern_ $name $pattern) ((NamedSimplePattern_ ?name ?pattern)
(record 'named (list $name (SimplePattern->preserves $pattern)))))) (record 'named (list ?name (SimplePattern->preserves ?pattern))))))
(define (Pattern->preserves input) (define (Pattern->preserves input)
(match (match
input input
@ -493,40 +493,40 @@
(define (Ref->preserves input) (define (Ref->preserves input)
(match (match
input input
((Ref $module $name) ((Ref ?module ?name)
(record 'ref (list (ModulePath->preserves $module) $name))))) (record 'ref (list (ModulePath->preserves ?module) ?name)))))
(define (Schema->preserves input) (define (Schema->preserves input)
(match (match
input input
((Schema $definitions $embeddedType $version) ((Schema ?definitions ?embeddedType ?version)
(record (record
'schema 'schema
(list (list
(hash (hash
'definitions 'definitions
(Definitions->preserves $definitions) (Definitions->preserves ?definitions)
'embeddedType 'embeddedType
(EmbeddedTypeName->preserves $embeddedType) (EmbeddedTypeName->preserves ?embeddedType)
'version 'version
(Version->preserves $version))))))) (Version->preserves ?version)))))))
(define (SimplePattern->preserves input) (define (SimplePattern->preserves input)
(match (match
input input
((SimplePattern-any) 'any) ((SimplePattern-any) 'any)
((SimplePattern-atom $atomKind) ((SimplePattern-atom ?atomKind)
(record 'atom (list (AtomKind->preserves $atomKind)))) (record 'atom (list (AtomKind->preserves ?atomKind))))
((SimplePattern-embedded $interface) ((SimplePattern-embedded ?interface)
(record 'embedded (list (SimplePattern->preserves $interface)))) (record 'embedded (list (SimplePattern->preserves ?interface))))
((SimplePattern-lit $value) (record 'lit (list $value))) ((SimplePattern-lit ?value) (record 'lit (list ?value)))
((SimplePattern-seqof $pattern) ((SimplePattern-seqof ?pattern)
(record 'seqof (list (SimplePattern->preserves $pattern)))) (record 'seqof (list (SimplePattern->preserves ?pattern))))
((SimplePattern-setof $pattern) ((SimplePattern-setof ?pattern)
(record 'setof (list (SimplePattern->preserves $pattern)))) (record 'setof (list (SimplePattern->preserves ?pattern))))
((SimplePattern-dictof $key $value) ((SimplePattern-dictof ?key ?value)
(record (record
'dictof 'dictof
(list (list
(SimplePattern->preserves $key) (SimplePattern->preserves ?key)
(SimplePattern->preserves $value)))) (SimplePattern->preserves ?value))))
((SimplePattern-Ref src) (Ref->preserves src)))) ((SimplePattern-Ref src) (Ref->preserves src))))
(define (Version->preserves input) (match input ((Version) '1)))) (define (Version->preserves input) (match input ((Version) '1))))

View File

@ -95,7 +95,7 @@
[_ #f])) [_ #f]))
(define (escape s) (define (escape s)
(format-symbol "$~a" s)) (format-symbol "?~a" s))
(define (module-path-prefix module-path) (define (module-path-prefix module-path)
(if (null? module-path) (if (null? module-path)