我正在用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
中有pair
、fst
、snd
。