RACKET:需要一个对类型的函数



我正在用plai-type语言编写一个程序,但我想使用函数"car"one_answers"cdr"

 (require (typed-in racket
               (car : (pair -> any/c))
               (cdr : (pair -> any/c))))

然而,它给了我错误对:错误类型

为什么会这样?我应该填写什么"类型"而不是"配对",因为在文档中它说两个函数的输入都是一对。

我试着键入"Pair"Pair"Pairs"Pairs",但都不起作用

我想你想要(... * ...)

(require (typed-in racket
                   (car : (('a * 'b) -> 'a))
                   (cdr : (('a * 'b) -> 'b))
                   (cons : ('a 'b -> ('a * 'b)))))

然后:

> (cons 1 2)
- (number * number)
'(1 . 2)
> (car (cons 1 2))
- number
1

有效类型列在https://docs.racket-lang.org/plai-typed/index.html#%28part._.Types%29.CCD_ 2或CCD_。

还要注意,在plai-typed中有pairfstsnd

相关内容

  • 没有找到相关文章

最新更新