【发布时间】:2023-04-03 00:35:01
【问题描述】:
我在球拍中使用pl:https://pl.barzilay.org/
下载地址:http://pl.barzilay.org/pl.plt
( : f1 : -> (Pairof Symbol String))
(define (f1)
(cons 'wwww "aaa"))
错误:
Type Checker: Polymorphic function `cons' could not be applied to arguments:
Argument 1:
Expected: a
Given: 'wwww
Argument 2:
Expected: (Listof a)
Given: String
Result type: (Listof a)
Expected result: (Pairof Symbol String)
in: (cons (quote wwww) "aaa")
我做错了什么,我该如何解决?
【问题讨论】:
-
在
pl语言中定义的cons的类型是什么?如果cons的类型为(Pairof a (Listof a)),则类型检查器将不接受示例中的第二个参数“aaa”。 -
我找不到
pl的规范,但我看到(cons 1 2 )也无法编译,所以我猜你是对的。由于没有文档,而且世界上只有一个人可以正式回答这个问题,我想你回答它就可以了,我们关闭这个问题。 -
你可以问 Eli :-)
-
哈哈...我已经给他发了邮件,所以让我们看看他是否会在邮件中回复,如果是,我会将答案转发到这里。
标签: functional-programming lisp racket