scribble-enhanced/graph-lib/graph/__DEBUG_graph5.rkt

82 lines
1.5 KiB
Racket

#lang typed/racket
#|(require
"graph.lp2.rkt"
"../type-expander/type-expander.lp2.rkt")
(define-graph g2
[a [v : Number] [w : b] ((ma) (a 1 (mb)))]
[b [v : String] ((mb) (frob) (b "b"))])
(define (frob)
: (g2 b)
(error "niy!"))|#
;#|
#|
(module mm typed/racket
(require ;(submod "graph.lp2.rkt" test)
"graph.lp2.rkt"
"../type-expander/type-expander.lp2.rkt")
(provide g2)
(define-graph g2
[a [v : Number] [w : b] ((ma) (a 1 (mb)))]
[b [v : String] ((mb) (frob) (b "b"))])
(define (frob)
: (g2 b)
(error "niy!")))
(require "graph.lp2.rkt"
"../type-expander/type-expander.lp2.rkt"
'mm)
(λ ([x : (g2 b)]) x)
(λ ([x : (g2 a)]) x)
|#
#|
(require "../type-expander/type-expander.lp2.rkt")
(require "graph.lp2.rkt")
(define-graph g2 [a [v : Number] ((ma) (a 1))])
|#
(require "graph-5-multi-ctors.lp2.rkt")
(require "../lib/low.rkt"
"graph.lp2.rkt"
"get.lp2.rkt"
"../type-expander/type-expander.lp2.rkt"
"../type-expander/multi-id.lp2.rkt")
(define-graph/multi-ctor gm ([a [b1 : b] [b2 : b] [v : Number]]
[b [a : a] [s : String] [v : Number]])
[(r [v : Number] [w : String])
: a
(a (bx (if (> 0 v) (sub1 v) (+ v (string-length w))))
(by (if (> 0 v) (sub1 v) (+ v (string-length w))) "xyz")
v)]
[(bx [v : Number])
: b
(b (r v) "x" v)]
[(by [v : Number] [w : String])
: b
(b (r v) "y" (+ v (string-length w)))])