「管理された言語」は過剰な用語なので、ここでは一言で答えてから、(私の) 心に浮かぶ通常のさまざまな意味の詳細をいくつか示します。
CLR ターゲットとして管理
いいえ、Haskell は Microsoft CLI の IL にコンパイルされません。
まあ、それを行うことができるいくつかのソリューションがあることを読みましたが、そうではありません.CLRはFP用に構築されておらず、最適化が深刻に欠けているため、おそらく研究言語のパフォーマンスが得られます. 個人的に本当に CLR をターゲットにしたい場合は、F# を使用します。F#は関数型言語ではありませんが、それに近い言語です。
注: これは、「マネージド言語」という用語の最も正確で実際的な意味です。次の意味は、まあ、間違っていますが、残念ながら一般的です。
自動ガベージコレクションで管理
はい、これはほぼ必須です。つまり、仕様を超えて: ガベージ コレクションが必要になると、私たちの最愛の家である高地で作業する機能的なテーマが破壊されます。
また、不純物とメモリ モデルを強制します。
VM によって実行されるバイトコードにコンパイルされたものとして管理される
いいえ(通常)。
それはあなたのバックエンドに依存します: 現在、さまざまな Haskell コンパイラがあるだけでなく、一部のコンパイラにはさまざまなバックエンドがあります。JavaScript 用のバックエンドもあります!
したがって、VM をターゲットにしたい場合は、既存のものを使用するか、そのバックエンドを作成できます。しかし、Haskell はそれを必要としません。したがって、ネイティブの raw-metal バイナリにコンパイルできるのと同じように、他のものにコンパイルできます。
C# 1、VB.NET などの CLR 言語とは対照的に、Java などとは対照的に、 Haskell はVM をまったく必要としないため、JVM、CLR、Mono などをターゲットにする必要はありません。
GHCがいい例です。GHC でコンパイルすると、そのままバイナリにコンパイルされるのではなく、Core と呼ばれる中間言語にコンパイルされます。次に、STG と呼ばれる別の言語に進む前に、Core から Core へと何度か最適化されてから、コードに進みます。世代(あなたがそれを言うならば、それはそこで止まることができます)。2そして最近では、それを使用して LLVM バイトコードにコンパイルすることもできます (これにはいくつかの素晴らしい最適化が適用されます)。LLVM バックエンドにより、GHC は非常に高速なプログラムを作成できます。それと GHC バックエンドの詳細については、こちらを参照してください。
下の図は、GHC コンパイル パイプラインを示しています。ここでは、さまざまな段階に関する詳細情報を見つけることができます。

3 つの異なるターゲットの下部にあるフォークを参照してください。それらは私が言及していたバックエンドです。
1将来の例外と楽しい事実: Microsoft は現在ネイティブ .NET に取り組んでいます! 狡猾な名前: Microsoft .NET Native .