17 lines
380 B
Racket
17 lines
380 B
Racket
#;
|
|
(exn-pred 2)
|
|
#lang typed/scheme
|
|
|
|
(define-struct: parent ((x : Integer)))
|
|
(define-struct: (child1 parent) ((y : Integer)))
|
|
(define-struct: (child2 parent) ((y : Float)))
|
|
|
|
(: f (parent -> Integer))
|
|
(define (f x)
|
|
(cond [(child1? x) (+ "a" "b")] ; rhs was considered dead code
|
|
[(child2? x) 2]
|
|
[else (error "eh?")]))
|
|
|
|
(f (make-child1 1 2))
|
|
(f (make-child2 1 2.0))
|