Updated
[mono.git] / web / languages
1 * Compilers for other languages
2
3         Here are some other free compilers for other languages that
4         target .NET and should work with Mono with no problem:
5
6         <ul>
7                 * <a href="#ComponentPascal">Component Pascal</a>
8                 * <a href="#MonoLogo">MonoLogo</a>
9                 * <a href="#Oberon">Oberon</a>
10                 * <a href="#Forth">Forth</a>
11                 * <a href="#mbas">Mono Basic</a> (Mono's VB.NET compiler)
12                 * <a href="#dotlist">dotLisp</a>
13                 * <a href="#nemerle">Nemerle</a>
14                 * <a href="#python">Python</a>
15         </ul>
16
17         Languages which are known to run, but we have not done a
18         complete ran of all their regression tests to validate it:
19
20         <ul>
21                 * Kylix.NET.
22         </ul>
23
24         Languages we would like to have supported, with links to resources:
25
26         <ul>
27                 * <a href="#JavaScript">Java Script</a>
28                 * <a href="#java.html">Java</a>
29                 * <a href="#c">C</a>
30         </ul>
31
32         Some experimental bindings:
33
34         <ul>
35                 * <a href="#Tachy">Tachy</a> (scheme-like)
36         </ul>
37
38 <a name="Java"></a>
39 ** Java
40
41         Java is supported through the <a href="http://www.ikvm.net">IKVM</a> virtual machine.
42
43         Zoltan worked with Jeroen to get IKVM to work with Mono.
44
45 <a name="nemerle">
46 * Nemerle
47
48         Nemerle is a new hybrid (functional, object-oriented and
49         imperative) programming language for the .NET platform. It is
50         available from <a
51         href="http://www.nemerle.org/">http://www.nemerle.org</a>.
52         
53 <a name="PHP">
54 ** PHP
55
56         Sterling has code to allow PHP developers to use Mono code, in
57         his <a href="http://www.php.net/~sterling/mono/">site</a>
58
59 <a name="MonoLogo">
60 ** MonoLogo
61
62         An implementation of Logo for Mono (and .NET)
63
64         The <A href="http://monologo.sf.net">Mono Logo</a> compiler is
65         hosted in the <a href="ccvs.html">Mono CVS</a> repository
66         and also available on the <a href="anoncvs.html">AnonCVS</a> mirrors.
67
68 <a name="mbas">
69 ** Mono Basic (Mono's VB.NET compiler)
70
71         Work has resumed on the Mono Visual Basic compiler (currently
72         called mbas).  It is part of the standard Mono distribution,
73         but its still an early compiler.
74
75 <a name="Oberon">
76 ** Oberon
77
78         This Oberon compiler is written in Oberon.NET (another self
79         hosting compiler).
80
81         The main site <a href="http://www.oberon.ethz.ch/oberon.net/">http://www.oberon.ethz.ch/oberon.net/</a>
82
83         Download:
84         <a href="http://www.oberon.ethz.ch/oberon.net/download/">http://www.oberon.ethz.ch/oberon.net/download/</a>
85
86         Examples:
87         <a href="http://www.oberon.ethz.ch/oberon.net/examples/">http://www.oberon.ethz.ch/oberon.net/examples/</a>
88
89 <a name="ComponentPascal">
90 ** Component Pascal
91
92         The Component Pascal compiler: <a
93         href="http://www.citi.qut.edu.au/research/plas/projects/cp_files/cpnet.html">Home
94         Page</a>, you can <a
95         href="http://www.citi.qut.edu.au/research/plas/projects/cp_files/cpdownload.html">
96         download it</a>
97         
98 <a name="Forth">
99 ** Delta Forth
100
101          The Delta Forth.NET project: <a href="http://www.dataman.ro/dforth">Home
102          Page</a> and <a href="http://www.dataman.ro/dforth">more
103          details here</a>.
104          
105
106 <a name="Tachy">
107 ** Tachy
108
109         A subset of Scheme language called <a
110         href="http://radio.weblogs.com/0101156/stories/2002/03/19/tachy.html">Tachy</a>
111
112 <a name="Python"></a>
113 ** Python
114
115         <a href="mailto:brian@No.Spam.zope.com">Brian Lloyd</a> is
116         working on linking the Python runtime with the .NET runtime.
117         More information on the PS.NET project can be found <a
118         href="http://www.zope.org/Members/Brian/PythonNet">here</a>.
119
120 <a name="dotlisp"></a>
121 ** dotLisp
122
123         DotLisp is available from: <a
124         href="http://sourceforge.net/projects/dotlisp/">http://sourceforge.net/projects/dotlisp/</a>
125
126 <a name="JavaScript">
127 * Java Script
128
129         Cesar is working on Mono's implementation of JScript, the code
130         is available on CVS on module `mcs'.
131
132 * Missing languages
133
134         Here is a list of a few languages that we would like to see
135         supported.  We will try to maintain a set of links here with 
136         technical information for those interested in porting,
137         implementing or adapting a compiler for any of these
138         languages:
139
140 <a name="c">
141 * C
142
143         Ideally GCC could be modified to generate CIL, but it is a 
144         big task.  That would give us various compilers in one pass.
145
146         <a href="http://www.cs.princeton.edu/software/lcc">LCC</a> 4.2
147         has been recently released.  This release adds support for compiling
148         ANSI C programs to CIL.  Note that the CIL support only works on Win32
149         right now, but should be easy to convert to Mono/other architectures.
150
151         LCC is not an open source compiler, but it is free as long as you
152         do not profit from selling it. 
153
154 <a name="ada"></a>
155 * ADA
156
157         A# is an ADA compiler for the CIL platform, it can be downloaded from:
158         <a
159         href="http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html">http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html</a>
160
161
162