通过列表中的指针定义解析器或递归传递列表会更有效吗?

Ath*_*ark 0 recursion parsing haskell lazy-evaluation

在C/C++中,我们使用指针和类似的东西在解析大量字符时节省内存.Haskell会使用同样的东西吗?我已经看到一些解析器实现接受/返回Haskell中的"要解析的剩余字符" - 编译器是否负责传递大量内存?提前致谢!

Dan*_*ner 5

是的,在Haskell中会使用相同的想法; 但是,使用GHC非常容易,因为所有(盒装)值都是指针.所以你不需要做任何特别的事情来利用这个常见的技巧......只需编写你的代码.