Module PAKCS RePL考虑一些未定义的,但是定义它的模块被加载。 问题
包括一个名为“测试”的模块,该模块定义了以下内容:Module PAKCS RePL考虑一些未定义的,但是定义它的模块被加载。 问题,module,curry,Module,Curry,包括一个名为“测试”的模块,该模块定义了以下内容: broken :: SetRBT Int broken = insertRBT 1 $ emptySetRBT (<) 但是,我无法评估破损的定义的RHS: All> insertRBT 1 $ emptySetRBT (<) PAKCS_Main_Exp.curry, line 3.18: Error: Undefined type RedBlackTree.RedBlackTree ERROR occurred
broken :: SetRBT Int
broken = insertRBT 1 $ emptySetRBT (<)
但是,我无法评估破损的定义的RHS:
All> insertRBT 1 $ emptySetRBT (<)
PAKCS_Main_Exp.curry, line 3.18: Error:
Undefined type RedBlackTree.RedBlackTree
ERROR occurred during parsing!
All>
这个习惯用法允许我加载所有我需要的东西(还有其他东西),而不产生长提示
如果我运行:modules
,看起来应该定义RedBlackTree:
All> :modules
Currently loaded modules:
All (loaded from ./.curry/pakcs/All.pl)
Prelude (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/Prelude.pl)
FiniteMap (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/FiniteMap.pl)
SetRBT (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/SetRBT.pl)
RedBlackTree (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/RedBlackTree.pl)
Tests (loaded from ./.curry/pakcs/Tests.pl)
All>
您必须告诉解释器添加引用的模块
All> :add RedBlackTree SetRBT
。。。一些消息
All SetRBT RedBlackTree> insertRBT 1 $ emptySetRBT (<)
All SetRBT RedBlackTree>insertRBT 1$emptySetRBT(虽然这个过程有效——谢谢!——但我仍然不明白发生了什么。为什么坏了
和insertRBT 1$emptySetRBT(
All> :modules
Currently loaded modules:
All (loaded from ./.curry/pakcs/All.pl)
Prelude (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/Prelude.pl)
FiniteMap (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/FiniteMap.pl)
SetRBT (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/SetRBT.pl)
RedBlackTree (loaded from /home/jeff/logic/curry/install/pakcs-2.0.2/lib/.curry/pakcs/RedBlackTree.pl)
Tests (loaded from ./.curry/pakcs/Tests.pl)
All>
All> :add RedBlackTree SetRBT
All SetRBT RedBlackTree> insertRBT 1 $ emptySetRBT (<)