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)
(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))))

View File

@ -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)