|
1 |
| -(define (hello) : Any (inject 24 Integer)) |
2 |
| -(define (world) : Any (inject 24 Integer)) |
3 |
| - |
4 |
| -(let ([x (inject (vector (inject 0 Integer) (inject 0 Integer)) |
5 |
| - (Vector Any Any))]) |
6 |
| - (let ([y (inject (vector-set! (project x (Vector Any Any)) 0 |
7 |
| - ((project (inject hello (-> Any)) (-> Any)))) |
8 |
| - Void)]) |
9 |
| - (let ([z (inject (vector-set! (project x (Vector Any Any)) 1 |
10 |
| - ((project (inject world (-> Any)) |
11 |
| - (-> Any)))) |
12 |
| - Void)]) |
13 |
| - (let ([a (project x (Vector Any Any))]) |
14 |
| - (+ (- 6) (+ (project (vector-ref a 0) Integer) |
15 |
| - (project (vector-ref a 1) Integer))))))) |
| 1 | +(define (world) : Any (inject 42 Integer)) |
| 2 | + |
| 3 | +(let ((x (inject (vector (inject 0 Integer)) (Vector Any)))) |
| 4 | + (let ([y (vector-set! (project x (Vector Any)) 0 (world))]) |
| 5 | + (let ((a (project x (Vector Any)))) |
| 6 | + (project (vector-ref a 0) Integer)))) |
| 7 | + |
| 8 | +;; ;; Works |
| 9 | +;; (define (world) : Any (inject 42 Integer)) |
| 10 | +;; (let ((x (inject (vector (inject 0 Integer)) (Vector Any)))) |
| 11 | +;; (let ((a (project x (Vector Any)))) |
| 12 | +;; (let ([y (vector-set! a 0 (world))]) |
| 13 | +;; (project (vector-ref a 0) Integer)))) |
| 14 | + |
| 15 | +;; ;; Works |
| 16 | +;; (define (world) : Any (inject 42 Integer)) |
| 17 | +;; (let ((x (vector (inject 0 Integer)))) |
| 18 | +;; (let ([y (vector-set! x 0 (world))]) |
| 19 | +;; (project (vector-ref x 0) Integer))) |
| 20 | + |
| 21 | +;; ;; Works: |
| 22 | +;; (let ((x (inject (vector (inject 0 Integer)) (Vector Any)))) |
| 23 | +;; (let ([y (vector-set! (project x (Vector Any)) 0 (inject 42 Integer))]) |
| 24 | +;; (let ((a (project x (Vector Any)))) |
| 25 | +;; (project (vector-ref a 0) Integer)))) |
| 26 | + |
| 27 | +;; ;; Does not work |
| 28 | +;; (define (world) : Integer 42) |
| 29 | +;; (let ((x (inject (vector (inject 0 Integer)) (Vector Any)))) |
| 30 | +;; (let ([y (vector-set! (project x (Vector Any)) 0 (inject (world) Integer))]) |
| 31 | +;; (let ((a (project x (Vector Any)))) |
| 32 | +;; (project (vector-ref a 0) Integer)))) |
| 33 | + |
0 commit comments