Stu*_*Man 0 compiler-construction functional-programming transpiler
我正在读一本关于编译器设计的书,其中有一部分说的是,
不同语言的编译器的主要区别在于它们生成的代码.一般来说,可以说命令式和面向对象语言的编译器用汇编语言生成代码; 而功能语言编译器则用C或C++生成.
关于C/C++的最后一部分是否正确?我无法通过Google搜索找到任何内容,所以我在这里问.
关于C/C++的最后一部分是否正确?
不,这不对.
有些语言会编译为C语言,但这并不是特定于函数式语言.如果这在函数式语言中比在非函数式语言中更常见,那么可以肯定的是,人们可能将其称为函数式语言的属性.
此外,大多数现实世界的函数式编程语言都编译为C(通过其官方和/或最常用的实现)绝对不是这样.如果我列出我能想到的前十种函数式编程语言/实现(Haskell(GHC,Hugs),OCaml,F#,Scala,Clojure,Racket,Common Lisp(SBCL,CLisp)),它们都没有编译成C(到据我所知.)GHC确实有一个C后端,但已经停止了.
我能想到的两种语言,其主要实现编译为C的是Vala和Haxe,它们都不是函数式语言.在其中一个链接线程中,提到了Chicken Scheme.因此,这是一个使用C的相对众所周知的实现.这几乎不足以证明这是"通常"的情况.
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |