CLI languages are computer programming languages that are used to produce libraries and programs that conform to the Common Language Infrastructure (CLI) specifications. With some notable exceptions, most CLI languages compile entirely to the Common Intermediate Language (CIL), an intermediate language that can be executed using the Common Language Runtime, implemented by .NET Framework, .NET Core, and Mono. Some of these languages also require the Dynamic Language Runtime (DLR). As the program is being executed, the CIL code is just-in-time compiled (and cached) to the machine code appropriate for the architecture on which the program is running. This step can be omitted manually by caching at an earlier stage using an "ahead of time" compiler such as Microsoft's ngen.exe and Mono's "-aot" option. Notable CLI languages Current languages Ada for .Net: Ada is a multi-paradigm language, that is strongly focused on code safety, maintainability and correctness. C#: Most widely used CLI language, bearing strong similarities to Java, and some similarity to Object Pascal (Delphi) and C++. Implementations provided by .NET Framework, .NET Core, and Mono. C++/CLI: A version of C++ including extensions for using Common Language Runtime (CLR) objects. Provides full support for .NET Framework and library only support for .NET Core. Produces mixed-mode code that produces native code for C++ objects. The compiler is provided by Microsoft. ClojureCLR: A port of Clojure to the CLI, part of the Clojure project. Component Pascal: A CLI-compliant Oberon dialect. It is a strongly typed language in the heritage of Pascal and Modula-2 but with powerful object-oriented extensions. Eiffel: Purely object-oriented language, focused on software quality, includes integrated design by contract and multiple inheritance. CLI compliant. F#: A multi-paradigm CLI language supporting functional programming and imperative object-oriented programming disciplines. Variant of ML and is largely compatible with OCaml. Implementations provided by .NET Framework, .NET Core, and Mono. F*: A dependently typed language based on F#. Fantom: A language compiling to .NET and to the JVM IronPython: An open-source CLI implementation of Python, built on the Dynamic Language Runtime (DLR). IronScheme - a R6RS-compliant Scheme implementation built on the DLR Oxygene: An Object Pascal-based CLI language. PascalABC.NET: An Object Pascal-based language implemented on the .NET Framework. PeachPie: A compiler of PHP to .NET and .NET Core. Successor of Phalanger. PowerBuilder: Can target CLI since version 11.1. RemObjects Mercury: An Visual Basic .Net-based CLI language. Small Basic: A BASIC-derived programming language created by Microsoft for