in-pairs
-> in-dict
This commit is contained in:
parent
b6362e7eb3
commit
aae17a0bc0
|
@ -2,7 +2,7 @@
|
|||
|
||||
(require "../utils/utils.rkt"
|
||||
(types abbrev union subtype)
|
||||
racket/sequence
|
||||
racket/dict
|
||||
"fail.rkt" "signatures.rkt" "constraint-structs.rkt"
|
||||
racket/match
|
||||
racket/list)
|
||||
|
@ -26,7 +26,7 @@
|
|||
(define (insert cs var S T)
|
||||
(match cs
|
||||
[(struct cset (maps))
|
||||
(make-cset (for/list ([(map dmap) (in-pairs maps)])
|
||||
(make-cset (for/list ([(map dmap) (in-dict maps)])
|
||||
(cons (hash-set map var (make-c S T))
|
||||
dmap)))]))
|
||||
|
||||
|
@ -66,8 +66,8 @@
|
|||
[(x y)
|
||||
(match* (x y)
|
||||
[((struct cset (maps1)) (struct cset (maps2)))
|
||||
(define maps (for*/list ([(map1 dmap1) (in-pairs (remove-duplicates maps1))]
|
||||
[(map2 dmap2) (in-pairs (remove-duplicates maps2))]
|
||||
(define maps (for*/list ([(map1 dmap1) (in-dict (remove-duplicates maps1))]
|
||||
[(map2 dmap2) (in-dict (remove-duplicates maps2))]
|
||||
[v (in-value (% cons
|
||||
(hash-union/fail map1 map2 #:combine c-meet)
|
||||
(dmap-meet dmap1 dmap2)))]
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
(for-syntax
|
||||
racket/base
|
||||
syntax/parse)
|
||||
racket/sequence
|
||||
racket/dict
|
||||
racket/hash racket/list)
|
||||
|
||||
(import dmap^ constraints^)
|
||||
|
@ -106,7 +106,7 @@
|
|||
;; (CMap DMap -> Pair<CMap, DMap>) CSet -> CSet
|
||||
;; Map a function over a constraint set
|
||||
(define (map/cset f cset)
|
||||
(% make-cset (for/list/fail ([(cmap dmap) (in-pairs (cset-maps cset))])
|
||||
(% make-cset (for/list/fail ([(cmap dmap) (in-dict (cset-maps cset))])
|
||||
(f cmap dmap))))
|
||||
|
||||
;; Symbol DCon -> DMap
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;; This module provides functions for printing types and related
|
||||
;; data structures such as filters and objects
|
||||
|
||||
(require racket/require racket/match racket/sequence racket/string racket/promise
|
||||
(require racket/require racket/match racket/dict racket/string racket/promise
|
||||
racket/pretty
|
||||
racket/list
|
||||
racket/set
|
||||
|
@ -59,7 +59,7 @@
|
|||
;; has-name : Type -> Maybe[Listof<Symbol>]
|
||||
(define (has-name? t)
|
||||
(define candidates
|
||||
(for/list ([(n t*) (in-pairs (in-list (force (current-type-names))))]
|
||||
(for/list ([(n t*) (in-dict (force (current-type-names)))]
|
||||
#:when (and print-aliases (Type? t*) (type-equal? t t*)))
|
||||
n))
|
||||
(and (pair? candidates)
|
||||
|
|
Loading…
Reference in New Issue
Block a user