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 (<)