RemObjects Mercuryは、Visual Basic for .NETを更新し、現在の.NET機能のサポートを追加した。同時に、WebAssembly、iOS、Android、Linuxなどのより多くのプラットフォームで利用できるようにした。
Mercuryは、Visual Basicを言語として進化させないというMicrosoftの発表によって生じたギャップを埋めようとしている。これは「言語の変更が必要となる.NET Coreの将来の機能がVisual Basicでサポートされない可能性がある」ことを意味する。
.NET(およびC#)が進化するにつれて、Mercuryは最新のプラットフォームバージョンと機能をサポートするように更新され続けています。そして、進化するにつれてC#の新しいバージョンに追加された機能との互換性も維持されます。
RemObjectsによると、Visual Basicとの互換性が99.9%であることに加えて、Mercuryには、マップ型、オーバーヘッドゼロのインライン型など、多くの新しい言語機能が追加されている。他にも、既存のタイプに新しいメソッドとプロパティを追加するために使用できる拡張タイプ、lazyプロパティ、インターフェイスの実装をクラスのローカルプロパティに委任するために使用できるインターフェイス委譲、レコードなどが追加されている。
Mercuryは、RemObjectのElementsの一部であり、C#、Swift、Goなどをサポートするマルチプラットフォームコンパイラとツールチェーンである。これにより、Elementsを利用できるすべてのプラットフォーム(.NET、iOSとmacOS、Android、Java、Linux、ネイティブWindows、WebAssemblyなど)でMercuryを使用できるようになる。Mercuryは、各プラットフォーム上のすべてのネイティブAPIへのアクセスを提供する。たとえば、Android SDKまたはNDKを使用して、Androidアプリ、macOSやiOSアプリ向けのCocoaとCocoaTouchなどを作成できる。特に、CocoaのAPIを使いやすくするために、Mercuryにはマルチパートメソッド名が含まれている。
最後にMercuryに関する注記として、MercuryではElementsでサポートされている他の言語と簡単に相互運用できる。そのため、同じプロジェクト内でVisual BasicとC#を組み合わせたり、他の利用可能な言語と組み合わせたりすることができる。
無料で入手できるSwiftを除いて、すべてのプラットフォームのElementsおよび関連IDEは、サブスクリプションモデルで利用できるプレミアム製品である。RemObjectsによると、サブスクリプションをキャンセルした後もコンパイラは無期限に機能し続けまる。しかし、IDEは機能しなくなるため、IDEを使用できなくなり、代わりにコマンドラインを使用してコンパイラを実行する必要がある。
RemObjects Mercuryは、Mercury言語と混同しないでください。Mercury言語は、Prologにインスパイアされ、複雑なシステムの作成を可能にするために拡張された論理/関数型プログラミング言語である。