49 lines
1.5 KiB
Racket
49 lines
1.5 KiB
Racket
#lang typed/scheme
|
|
|
|
(define: x : (Pair (Pair (Pair (Pair Integer String)
|
|
(Pair True Null))
|
|
(Pair (Pair False Char)
|
|
(Pair String Null)))
|
|
(Pair (Pair (Pair String Integer)
|
|
(Pair Float Null))
|
|
(Pair (Pair (Vectorof Float) True)
|
|
(Pair (Listof Float) False))))
|
|
'((((1 . "1") . (#t))
|
|
. ((#f . #\f) . ("2")))
|
|
. ((("3" . 4) . (1.0))
|
|
. ((#(2.0 3.0 -4.0) . #t)
|
|
. ((2.0 3.0 4.0) . #f)))))
|
|
|
|
|
|
(ann (caar x) (Pair (Pair Integer String) (Pair True Null)))
|
|
(ann (caaar x) (Pair Integer String))
|
|
(ann (caaaar x) Integer)
|
|
(ann (cdaaar x) String)
|
|
(ann (cdaar x) (Pair True Null))
|
|
(ann (cadaar x) True)
|
|
(ann (cddaar x) Null)
|
|
|
|
(ann (cdar x) (Pair (Pair False Char) (Pair String Null)))
|
|
(ann (cadar x) (Pair False Char))
|
|
(ann (caadar x) False)
|
|
(ann (cdadar x) Char)
|
|
(ann (cddar x) (Pair String Null))
|
|
(ann (caddar x) String)
|
|
(ann (cdddar x) Null)
|
|
|
|
(ann (cadr x) (Pair (Pair String Integer) (Pair Float Null)))
|
|
(ann (caadr x) (Pair String Integer))
|
|
(ann (caaadr x) String)
|
|
(ann (cdaadr x) Integer)
|
|
(ann (cdadr x) (Pair Float Null))
|
|
(ann (cadadr x) Float)
|
|
(ann (cddadr x) Null)
|
|
|
|
(ann (cddr x) (Pair (Pair (Vectorof Float) True) (Pair (Listof Float) False)))
|
|
(ann (caddr x) (Pair (Vectorof Float) True))
|
|
(ann (caaddr x) (Vectorof Float))
|
|
(ann (cdaddr x) True)
|
|
(ann (cdddr x) (Pair (Listof Float) False))
|
|
(ann (cadddr x) (Listof Float))
|
|
(ann (cddddr x) False)
|