关于函数式编程语言的这种说法是否正确?

Is this statement about functional programming languages correct?

我在读一本关于编译器设计的书,其中有一部分说,

The main difference in the compilers of different languages is concerned with the code generated by them. In general, it can be said that the compilers for imperative and object oriented languages generate the code in assembly language; whereas functional language compilers generate in C or C++.

关于 C/C++ 的最后一部分是否正确?我无法通过 Google 搜索找到任何内容,所以我在这里提问。

Is the last part about C/C++ correct?

不,不是。

有些语言确实可以编译为 C,但这并不特定于函数式语言。如果这在函数式语言中比在非函数式语言中更常见,那么肯定不会扩展到可以将其称为 属性 函数式语言的程度。

此外,绝对不是大多数现实世界的函数式编程语言都编译为 C(通过其官方 and/or 最常用的实现)。如果我列出前十个函数式编程 languages/implementations 我能想到的 (Haskell (GHC, Hugs), OCaml, F#, Scala, Clojure, Racket, Common Lisp (SBCL, CLisp)), none 其中编译为 C(据我所知)。 GHC 曾经有一个 C 后端,但已经停产了。

我能想到的两种主要实现编译为 C 的语言是 Vala 和 Haxe,它们都不是函数式语言。在其中一个链接的线程中,提到了 Chicken Scheme。所以这是一个相对知名的使用 C 的实现。这还不足以证明 "generally" 就是这种情况。