www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 411c386bb189ab5924d81951ef03bf8438c71bc5
parent c896df5666c9e27160336311df99ab1588702608
Author: Georges Dupéron <georges.duperon@gmail.com>
Date:   Thu, 19 Jan 2017 14:48:49 +0100

Closes FB case #165 Use syntax? instead of identifier? in the graph-info types

Diffstat:
Mgraph-info.hl.rkt | 11++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/graph-info.hl.rkt b/graph-info.hl.rkt @@ -139,10 +139,10 @@ return the corresponding node can be written based on it. @chunk[<node-info> (struct+/contract node-info - ([predicate? identifier?] + ([predicate? identifier?] ;; (expr/τ (→ Any Boolean : ?)) [field-order (listof identifier?)] [fields (hash/c symbol? field-info? #:immutable #t)] - [promise-type identifier?] + [promise-type stx-type/c] ;; Wrappers can mean that we have incomplete types with fewer ;; fields than the final node type. ;[make-incomplete-type identifier?] @@ -159,7 +159,7 @@ A field has a type. @chunk[<field-info> (struct+/contract field-info - ([type identifier?]) + ([type stx-type/c]) #:transparent #:methods gen:custom-write [(define write-proc (struct-printer 'field-info))] @@ -172,7 +172,7 @@ A field has a type. @chunk[<invariant-info> (struct+/contract invariant-info ([predicate identifier?] ; (→ RootNode Boolean : +witness-type) - [witness-type identifier?]) + [witness-type stx-type/c]) #:transparent #:methods gen:custom-write [(define write-proc (struct-printer 'invariant-info))] @@ -275,6 +275,7 @@ data. @CHUNK[<*> (require phc-toolkit/untyped + type-expander/expander racket/struct mzlib/pconvert (for-syntax phc-toolkit/untyped @@ -296,7 +297,7 @@ data. _))) {~optional {~and prefab #:prefab}}) #:with name/c (format-id #'name "~a/c" #'name) - (quasisyntax/top-loc this-syntax + (quasisyntax/top-loc (stx-car this-syntax) #,(template (begin (struct name (?? parent) (field ...)