【发布时间】:2013-05-01 00:46:54
【问题描述】:
我正在为基于 F#(一种函数式语言)的语言开发 llvm 前端。好吧,函数式语言匹配值的概念,而不是变量。 F# 还支持所谓的“可变值”变量,我可以将其建模为 %llvm.dbg.declare() 来跟踪值。但我不知道如何跟踪价值。一个值不是由 alloca 创建的,它只是一个值,不会改变。并且这些示例都说明了诸如 C 之类的命令式语言的实现,它没有这个不可变的值概念。有人对函数式语言的调试信息有一些建议或提示吗?
【问题讨论】:
-
我不知道,但也许用
const用llvm-gcc -g -O0编译一些C++,看看它会产生什么? -
@EliBendersky F# 是一种静态类型语言。 “值”指的是 F# 中的不可变变量。
标签: debugging f# functional-programming llvm