Escape schema names with ? instead of $
This commit is contained in:
parent
b968f77ff6
commit
53bd5a1a7e
|
@ -387,54 +387,54 @@
|
|||
(define (Bundle->preserves input)
|
||||
(match
|
||||
input
|
||||
((Bundle $modules)
|
||||
(record 'bundle (list (Modules->preserves $modules))))))
|
||||
((Bundle ?modules)
|
||||
(record 'bundle (list (Modules->preserves ?modules))))))
|
||||
(define (CompoundPattern->preserves input)
|
||||
(match
|
||||
input
|
||||
((CompoundPattern-rec $label $fields)
|
||||
((CompoundPattern-rec ?label ?fields)
|
||||
(record
|
||||
'rec
|
||||
(list
|
||||
(NamedPattern->preserves $label)
|
||||
(NamedPattern->preserves $fields))))
|
||||
((CompoundPattern-tuple $patterns)
|
||||
(NamedPattern->preserves ?label)
|
||||
(NamedPattern->preserves ?fields))))
|
||||
((CompoundPattern-tuple ?patterns)
|
||||
(record
|
||||
'tuple
|
||||
(list
|
||||
(for/list
|
||||
((item (in-list $patterns)))
|
||||
((item (in-list ?patterns)))
|
||||
(NamedPattern->preserves item)))))
|
||||
((CompoundPattern-tuple* $fixed $variable)
|
||||
((CompoundPattern-tuple* ?fixed ?variable)
|
||||
(record
|
||||
'tuple*
|
||||
(list
|
||||
(for/list ((item (in-list $fixed))) (NamedPattern->preserves item))
|
||||
(NamedSimplePattern->preserves $variable))))
|
||||
((CompoundPattern-dict $entries)
|
||||
(record 'dict (list (DictionaryEntries->preserves $entries))))))
|
||||
(for/list ((item (in-list ?fixed))) (NamedPattern->preserves item))
|
||||
(NamedSimplePattern->preserves ?variable))))
|
||||
((CompoundPattern-dict ?entries)
|
||||
(record 'dict (list (DictionaryEntries->preserves ?entries))))))
|
||||
(define (Definition->preserves input)
|
||||
(match
|
||||
input
|
||||
((Definition-or $pattern0 $pattern1 $patternN)
|
||||
((Definition-or ?pattern0 ?pattern1 ?patternN)
|
||||
(record
|
||||
'or
|
||||
(list
|
||||
(list*
|
||||
(NamedAlternative->preserves $pattern0)
|
||||
(NamedAlternative->preserves $pattern1)
|
||||
(NamedAlternative->preserves ?pattern0)
|
||||
(NamedAlternative->preserves ?pattern1)
|
||||
(for/list
|
||||
((item (in-list $patternN)))
|
||||
((item (in-list ?patternN)))
|
||||
(NamedAlternative->preserves item))))))
|
||||
((Definition-and $pattern0 $pattern1 $patternN)
|
||||
((Definition-and ?pattern0 ?pattern1 ?patternN)
|
||||
(record
|
||||
'and
|
||||
(list
|
||||
(list*
|
||||
(NamedPattern->preserves $pattern0)
|
||||
(NamedPattern->preserves $pattern1)
|
||||
(NamedPattern->preserves ?pattern0)
|
||||
(NamedPattern->preserves ?pattern1)
|
||||
(for/list
|
||||
((item (in-list $patternN)))
|
||||
((item (in-list ?patternN)))
|
||||
(NamedPattern->preserves item))))))
|
||||
((Definition-Pattern src) (Pattern->preserves src))))
|
||||
(define (Definitions->preserves input)
|
||||
|
@ -468,8 +468,8 @@
|
|||
(define (NamedAlternative->preserves input)
|
||||
(match
|
||||
input
|
||||
((NamedAlternative $variantLabel $pattern)
|
||||
(list $variantLabel (Pattern->preserves $pattern)))))
|
||||
((NamedAlternative ?variantLabel ?pattern)
|
||||
(list ?variantLabel (Pattern->preserves ?pattern)))))
|
||||
(define (NamedPattern->preserves input)
|
||||
(match
|
||||
input
|
||||
|
@ -483,8 +483,8 @@
|
|||
(define (NamedSimplePattern_->preserves input)
|
||||
(match
|
||||
input
|
||||
((NamedSimplePattern_ $name $pattern)
|
||||
(record 'named (list $name (SimplePattern->preserves $pattern))))))
|
||||
((NamedSimplePattern_ ?name ?pattern)
|
||||
(record 'named (list ?name (SimplePattern->preserves ?pattern))))))
|
||||
(define (Pattern->preserves input)
|
||||
(match
|
||||
input
|
||||
|
@ -493,40 +493,40 @@
|
|||
(define (Ref->preserves input)
|
||||
(match
|
||||
input
|
||||
((Ref $module $name)
|
||||
(record 'ref (list (ModulePath->preserves $module) $name)))))
|
||||
((Ref ?module ?name)
|
||||
(record 'ref (list (ModulePath->preserves ?module) ?name)))))
|
||||
(define (Schema->preserves input)
|
||||
(match
|
||||
input
|
||||
((Schema $definitions $embeddedType $version)
|
||||
((Schema ?definitions ?embeddedType ?version)
|
||||
(record
|
||||
'schema
|
||||
(list
|
||||
(hash
|
||||
'definitions
|
||||
(Definitions->preserves $definitions)
|
||||
(Definitions->preserves ?definitions)
|
||||
'embeddedType
|
||||
(EmbeddedTypeName->preserves $embeddedType)
|
||||
(EmbeddedTypeName->preserves ?embeddedType)
|
||||
'version
|
||||
(Version->preserves $version)))))))
|
||||
(Version->preserves ?version)))))))
|
||||
(define (SimplePattern->preserves input)
|
||||
(match
|
||||
input
|
||||
((SimplePattern-any) 'any)
|
||||
((SimplePattern-atom $atomKind)
|
||||
(record 'atom (list (AtomKind->preserves $atomKind))))
|
||||
((SimplePattern-embedded $interface)
|
||||
(record 'embedded (list (SimplePattern->preserves $interface))))
|
||||
((SimplePattern-lit $value) (record 'lit (list $value)))
|
||||
((SimplePattern-seqof $pattern)
|
||||
(record 'seqof (list (SimplePattern->preserves $pattern))))
|
||||
((SimplePattern-setof $pattern)
|
||||
(record 'setof (list (SimplePattern->preserves $pattern))))
|
||||
((SimplePattern-dictof $key $value)
|
||||
((SimplePattern-atom ?atomKind)
|
||||
(record 'atom (list (AtomKind->preserves ?atomKind))))
|
||||
((SimplePattern-embedded ?interface)
|
||||
(record 'embedded (list (SimplePattern->preserves ?interface))))
|
||||
((SimplePattern-lit ?value) (record 'lit (list ?value)))
|
||||
((SimplePattern-seqof ?pattern)
|
||||
(record 'seqof (list (SimplePattern->preserves ?pattern))))
|
||||
((SimplePattern-setof ?pattern)
|
||||
(record 'setof (list (SimplePattern->preserves ?pattern))))
|
||||
((SimplePattern-dictof ?key ?value)
|
||||
(record
|
||||
'dictof
|
||||
(list
|
||||
(SimplePattern->preserves $key)
|
||||
(SimplePattern->preserves $value))))
|
||||
(SimplePattern->preserves ?key)
|
||||
(SimplePattern->preserves ?value))))
|
||||
((SimplePattern-Ref src) (Ref->preserves src))))
|
||||
(define (Version->preserves input) (match input ((Version) '1))))
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
[_ #f]))
|
||||
|
||||
(define (escape s)
|
||||
(format-symbol "$~a" s))
|
||||
(format-symbol "?~a" s))
|
||||
|
||||
(define (module-path-prefix module-path)
|
||||
(if (null? module-path)
|
||||
|
|
Loading…
Reference in New Issue