Scheme中的严格变量声明

Scheme中的严格变量声明,scheme,strict,variable-declaration,Scheme,Strict,Variable Declaration,Scheme lisp是否提供任何库。与perl“strict”变量声明类似?与perl相比,Scheme从一开始就非常严格和干净(例如,在大多数实现中引用未声明的变量会引发异常)。编译时警告是一个实现质量问题。您使用的是哪种方案实现?能否将您的问题重新表述为比“像某些Perl功能”更具体?也许可以举一个例子,说明你想写什么,以及你希望语言如何处理它。如果我忘记在“let”中添加任何变量,那么scheme不会产生任何错误/警告,但它假定它是“nil”。同样,如果我访问我的DPL(动态属性列表,例

Scheme lisp是否提供任何库。与perl“strict”变量声明类似?

与perl相比,Scheme从一开始就非常严格和干净(例如,在大多数实现中引用未声明的变量会引发异常)。编译时警告是一个实现质量问题。您使用的是哪种方案实现?

能否将您的问题重新表述为比“像某些Perl功能”更具体?也许可以举一个例子,说明你想写什么,以及你希望语言如何处理它。如果我忘记在“let”中添加任何变量,那么scheme不会产生任何错误/警告,但它假定它是“nil”。同样,如果我访问我的DPL(动态属性列表,例如,(list nil'a1'b2)),如果属性不存在(在本例中为'c'),那么它也将返回nil。这种行为隐藏了代码中的错误,因此我想知道Scheme在这种情况下会以某种方式生成警告/错误消息。@Tanmay就我所知,R5RS不提供任何处理属性列表的函数。另外,
(list nil'a1'b2)
在我看来不像普通的财产清单。如果您使用某种库来处理这些数据结构,则错误处理是该库的责任。