4

Haskellのような言語が静的に型付けされ、型推論を持っていることを私は知っています。しかし、グローバル型推論を備えた非関数型言語はありますか。これは、型推論と構造型を備えたCのようなものに相当します。

4

3 に答える 3

1

OCamlは私が知っている唯一のものであり、静的に型付けされ、ガベージコレクションされ、グローバル型推論と構造型型付けをサポートしますが、本質的に関数型言語です。

ScalaはOCamlのような関数型言語ではありませんが、構造型をサポートする必須/オブジェクト指向言語ですが、探している種類の型推論はありません。ただし、機能構造は引き続きサポートされます。

「非機能的」とは、関数型プログラミングをまったくサポートしていない言語を意味する場合、その言語はないと思います。

于 2012-10-27T06:50:45.527 に答える
1

もはやOCamlだけが競争相手ではありません。近年、構造的に型付けされた命令型言語がいくつか登場しています。

  • F#は、OCamlと同様に、複雑なパターンマッチングと、命令型プログラミングと関数型プログラミングの両方をサポートするマルチパラダイム言語です。OCamlの派生語であるため、2つの言語は実際には非常に類似しているため、機能のわずかな違いを除けば、実質的にソース互換です。主な[不利な点]の利点は、.NETで実行されることです。
  • Goは、これらのシステムのコンパイラに関する数十年にわたる作業に基づいて、Googleに導入されて以来、元のUnix / Plan 9/Infernoチームの恋人です。Goは、オブジェクトコンポジションがその主要なサブタイピングメカニズムであり、メソッドインターフェイスを明示的に実装する必要がないという意味で、構造的ポリモーフィズムをサポートしています。
  • Haxeは、C ++(!)を含むさまざまなプラットフォームにコンパイルするために作成されたActionScript派生物です。C#スタイルのオブジェクト階層とともに完全な構造型と列挙型(OCamlユニオンに相当)をサポートし、洗練されたマクロシステムを誇っています。
于 2013-04-04T22:29:34.263 に答える
0

Crystalもありますが、プレアルファ段階にあります。

https://github.com/manastech/crystal

于 2013-06-26T16:29:09.820 に答える