
The layer is now redundant, since everything left in "pkgs" is in the "racket-pkgs" category.
25 lines
500 B
Racket
25 lines
500 B
Racket
#lang racket/base
|
|
(require racket/future)
|
|
|
|
(let ()
|
|
(struct a (x))
|
|
(define an-a (a 10))
|
|
|
|
(define iter 10000)
|
|
|
|
(define (f x)
|
|
(set! iter (sub1 iter))
|
|
(unless (zero? iter)
|
|
;; This call to `x` is JITted optimistically
|
|
;; as a struct-getter call, so non-getter `x`
|
|
;; fill fall back to a slow path:
|
|
(x an-a)))
|
|
(set! f f)
|
|
|
|
(void (f a-x))
|
|
|
|
(define f1 (future (lambda ()
|
|
(f f))))
|
|
(for/fold ([x #f]) ([i (in-range 1000)])
|
|
(cons 1 2)))
|