我有一个适用于foo
类型的函数string
。当我export_code foo in Scala file -
时,我得到一个非常难看的Scala代码。
一个非常长的列表,看起来像这样创建了
abstract sealed class nibble
final case class Nibble0() extends nibble
final case class Nibble1() extends nibble
final case class Nibble2() extends nibble
...
答案 0 :(得分:4)
您需要导入Code_Char
理论,以告诉代码生成使用目标语言中现有的char / string实现,而不是将Isabelle定义转换为数据类型。
将"~~/src/HOL/Library/Code_Char"
添加到理论的导入条款中,一切都应该正常。
另外,我被告知 - 但到目前为止无法验证这一点 - 这应该总是在你的import子句的末尾,因为否则,代码生成器会发生有趣的事情。
干杯, 曼努埃尔