0
型付きラケットのRec
タイプは、再帰的な型を作るための簡単な方法です:再帰的な契約は
#lang typed/racket/base
(define (deep (n : Integer)) : (Rec T (U Integer (List T)))
(if (zero? n)
n
(list (deep (- n 1)))))
は、再帰的な契約をする同様の方法はありますか? ラケットのrecursive-contract
は同じではありません。
Slack on Original Q/A:https://racket.slack.com/archives/C06V96CKX/p1496706050248551 –