Compilers, SDKs, and Tools |
![]() |
This page features resources pertaining to...
The following academic languages are among those that are targeting the .NET Common Language Runtime:
Active Oberon is an interpretation of the programming language Oberon in the context of the new Microsoft .NET technology. It provides an explicit notion of object types including "active" objects with integrated thread, a powerful concept of definition as both unit of implementation and unit of service and a module construct that simultaneously acts as name-space and singleton object.
Component Pascal is a Pascal-like language, specifically designed for programming components. Professor John Gough and Dr Paul Roe of Queensland University of Technology have been porting the language to the .NET platform. The project is part of a larger one at the Distributed Systems Technology Research Centre investigating component technology. Component Pascal on .NET interworks with other CLS-compliant languages. The compiler is written in 25,000 lines of Component Pascal and bootstraps on .NET. The project is open source.
Eiffel is a comprehensive software development environment (ISE Eiffel) based on a method that covers the entire software lifecycle—not just implementation, but also analysis, design, and maintenance. The environment is based on the Eiffel language, thoroughly applying the principles of object technology and implementing the concepts of Design by Contract™ to produce highly reliable, extendible, and reusable applications. ISE Eiffel is particularly geared towards large and complex systems and is used by major organizations in the financial, defense, real-time, and other industries for mission-critical developments. Universities worldwide (such as Monash University) also use Eiffel to teach programming and software engineering at all levels.
Scheme is a simple, yet powerful, programming language. As a member of the Lisp family of languages, it is dynamically-typed and mostly functional. Since it is much smaller than Lisp, it can also be used as an embedded language, a scripting language or an extension language. The Hotdog Scheme compiler currently compiles most of the Scheme language. It has been extended to support development within the .NET framework, allowing integration of Scheme and other languages targeting the runtime (Visual Basic, C++, C#, etc.).
The Hotdog compiler backends to the JVM, to C, and to .NET using the same runtime system. The system is designed to support many backends and easy inter-operability between Scheme and the target language.
Mercury is a new logic/functional programming language, which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features. Its highly optimized execution algorithm delivers efficiency far in excess of existing logic programming systems, and close to conventional programming systems. Mercury addresses the problems of large-scale program development, allowing modularity, separate compilation, and numerous optimization/time trade-offs.
Mondrian is a functional language specifically designed for interoperating in OO environments. It is a small language while still providing the powerful features of function languages such as non-strict evaluation and higher-order functions. Mondrian interworks with other .NET languages so that the benefits of the different languages styles can easily be combined.
The Haskell for .NET compiler is a version of the Glasgow Haskell Compiler (GHC). A code output stage has been added which produces (one of two) internal formats used by the Mondrian compiler. This output is then passed to the Mondrian to be compiled for .NET.
Perl for .Net and Python for .Net will provide programmers with easy interoperability between languages, cross-language inheritance and they will enable programmers to simply create, extend and consume .NET components.
Standard ML is a safe, modular, strict, functional, polymorphic programming language with compile-time type checking and type inference, garbage collection, exception handling, immutable data types and updateable references, abstract data types, and parametric modules. It has efficient implementations and a formal definition with a proof of soundness.
SML.NET compiles the full SML'97 language to Microsoft's .NET common language runtime. A notable feature of the compiler is the focus on high-level interoperability with code written in other languages. SML.NET supports smooth, safe and bi-directional inter-language working with code written in C#, Visual Basic, JScript or any other .NET language.
The ILX SDK implements extensions to the .NET Common IL for closures, function types, thunks, discriminated unions and polymorphism. The implementation is by translation from ILX assembly language files to CIL assembly language files. The SDK includes samples and is suitable for use with the .NET Framework SDK, and is mainly for the use of Project 7 participants.
| AbsIL/ILX Web site |
The SDK is really three toolkits in one:
This toolkit is a productive way to get going on research projects for IL analysis and manipulation.
You now need OCaml version 3.04 to use this part of the toolkit.
When writing code that uses these libraries please follow the guidelines at research.microsoft.com/projects/ilx/absil.htm to help ensure your code will have a long life as the toolkit progresses.
The current release offers much the same functionality as the previous release. The internal APIs to this functionality are not yet available directly from OCaml, but will be in a future release.
These implementations are useful for finding codegen bugs, but there are some small incompletenesses with these tools that remain to be ironed out.
Working with different formats
The tools currently allow you to work with three different representations of MS-IL:
To work with binary formats you currently need an RTM build of the .NET Framework SDK. In principle you don’t need this to work with IL assembly language formats, and indeed you can work with the assembly language formats even on other operating systems.. In a future version, once I've implemented the binary writer, you will even be able to write binaries across multiple platforms.
Because you must agree to an individual EULA for the ILX SDK, it is only available for download from the Web.
The Microsoft .NET Framework Software Development Kit (SDK) includes the .NET Framework, as well as everything you need to write, build, test, and deploy .NET Framework applicationsdocumentation, samples, and command-line tools and compilers.
| Install .NET Framework SDK This setup program may take up to five minutes to load into your system's memory. Please be patient. |
| Late-Breaking Known Issues |
| MSDN .NET Developer Center |
| Service Pack 6a |
| Internet Explorer 6.0 |
| Microsoft Data Access Components 2.7 |
| Windows Update |
The .NET Framework SDK runs on:
Related Programs: The Microsoft .NET Framework redistributable package contains only the runtime elements required to run .NET Framework applications.
Relative debugging is a technique that allows a user to compare data between two executing programs. It was devised to aid the testing and debugging of programs that are either modified in some way, or are ported to other computer platforms. Whilst traditional debuggers force the programmer to understand the expected state and internal operation of a program, relative debugging makes it possible to trace errors by comparing the contents of data structures between programs at run time. In this way, the programmer is less concerned with the actual state of the program, and more concerned with finding when and where differences between the old and new codes occur.
The original implementation of relative debugging, called GUARD95, only allowed the programs to run on sequential platforms. The most recent implementation, GUARD2000, uses an enhanced dataflow-based execution mechanism, which makes it possible to run the programs on parallel computers. This is of significance interest since errors are often introduced when a program is ported from a sequential platform to a parallel one.
Features of GUARD include:
The Microsoft .NET Framework includes everything you need to run .NET Framework applications, including the Common Language Runtime, the .NET Framework class library, and ASP.NET.
Installation Instructions:
Typical Installation Requirements
The .NET Framework runs on:
Related Programs: If you plan on developing .NET Framework applications, the Microsoft .NET Framework SDK includes the .NET Framework, as well as everything you need to write, build, test, and deploy .NET Framework applicationsdocumentation, samples, and command-line tools and compilers.
Extend the power of the Microsoft .NET Framework and Microsoft Visual Studio .NET to build mobile Web applications. The Microsoft Mobile Internet Toolkit contains server-side technology that enables ASP.NET to deliver markup to a wide variety of mobile devices. These devices include WML and cHTML cell phones, HTML pagers, and PDAs like the Pocket PC.
| Install MMIT Release |
| Install MMIT RC |
| MMIT Web site |
The Mobile Internet Toolkit includes:
Requirements
The Microsoft Mobile Internet Toolkit requires that the .NET Framework or Visual Studio .NET be present before installation.
If you are using Visual Studio .NET (RTM version) install MMIT RTM. If you are using Visual Studio .NET (Release Candidate), install MMIT RC.
The major features of the Microsoft SOAP Toolkit 2.0 SP2 include:
Install SOAP Toolkit 2.0 SP2 by using the Microsoft Installer, which is part of Windows 2000, Office 2000, Windows Me, SQL Server 2000, etc. Windows Installer is released with many newer Microsoft products, but it may not be on your computer if you are running older versions of Microsoft Office or the Microsoft Windows operating system. If you are running Windows NT 4.0, Windows 98, or Windows ME, you must first update your Windows Installer to version 1.1. If you are running Windows 2000, you already have version 1.1, and there is no need to reinstall. After Windows Installer version 1.1 has been installed on your computer, you can download SOAP Toolkit 2.0 SP2.
The SOAP Toolkit 2.0 SP2 Samples are provided in a separate installation program to simplify distribution of the toolkit files.
The redistributable files contain the core SOAP Toolkit 2.0 runtime files in a merge module format. You can use these redistributable files to add the SOAP Toolkit 2.0 SP2 to your installation program.
Installation Notes
SOAP Toolkit 2.0 SP2 requires that the Visual Basic runtime files be installed before the installation script is run. If you are running Windows 98 and haven't previously installed the Visual Basic runtime, please install it before attempting to install this release.
To run this release of the SOAP Toolkit, you must first have installed Internet Explorer version 5.0 or higher.
MSXML 3.0 SP1 will be installed with this release if you don't already have the current version installed.
Project 7 is a research project targeting the release of the .NET Common Language Runtime (CLR). This unique project brings together languages from different programming language families to work toward the unique goal of producing a runtime that could truly support multiple languages. This project was started in the summer of 1999 and is still ongoing.
Visit the Project 7 Web site for more information.
© 2001-2002 Microsoft Corporation. All rights reserved. Terms of Use.