1
Мне сложно определить, как использовать локальную форму в Typed Racket.Локальное определение использования в типизированной ракетке
, что случилось с этим:
(: make-random-emetype-list (Range -> (Listof EmeType)))
(define (make-random-emetype-list range)
(local ([define how-many-types (random-integer (Range-lower range) (Range-upper range))]
[define: (bld-lst lst remaining) : ((Listof EmeType) Integer -> (Listof EmeType))
(cond [(< remaining 1) lst]
[else (bld-lst (cons (new-emetype) lst) (- remaining 1))])])
(bld-lst '() how-many-types)))
Я уверен, что проблема в том, что я не совсем понимаю синтаксической спецификации в TS-ссылки, но это было бы очень полезно иметь пример или две из локально определенных функций в типизированной ракетке.