我必须用C实现一个链表数据结构。在"linked_list.h"头文件中,我有下面这一行: typedef int ListDataType; 我的问题是,如果ListDataType不等于int,我如何终止程序?我知道如果不满足这个要求,预处理器不能阻止我的程序编译(因为它对typedef一无所知)。 我用C11编写代码,并且我知道_Generic关键字。我怎样才能避免写下面这样的东西呢?print_error_message_and_exit("list data typ
我目前正在使用模块,看看它们可以以类似于Haskell类型类的方式使用。目前,我正在尝试使用函子类型类: sig val fmap : ('a -> 'b) -> ('a f ->我知道为什么在这种情况下会导致这个错误,但我不知道如何绕过它(因为f类型是参数化的)。我已经尝试使用本地抽象类型:
let
这几乎是一字不差地取自奥列格的类型化无标记最终编码。类型嵌入到Lam中,但不能使用(^)作为应用程序。r, Lam r ) -> r (r a -> r (r b -> r (r c -> r d)))
emb3 f = lam $我觉得可以使用类似于Printf的PrintfType或fixed-vector的Cont类型,我可以使用<