Fix
[mono.git] / doc / 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         </ul>
13
14         Languages which are known to run, but we have not done a
15         complete ran of all their regression tests to validate it:
16
17         <ul>
18                 * Kylix.NET.
19         </ul>
20
21         Languages we would like to have supported, with links to resources:
22
23         <ul>
24                 * <a href="#JavaScript">Java Script</a>
25                 * <a href="#java.html">Java</a>
26                 * <a href="#c">C</a>
27         </ul>
28
29         Some experimental languages:
30
31         <ul>
32                 * <a href="#Tachy">Tachy</a> (scheme-like)
33         </ul>
34
35 <a name="Java">
36 ** Java
37
38         There is a very interesting project to make a JavaVM for .NET
39         <a href="http://radio.weblogs.com/0109845/">here</a>.
40
41         Zoltan has got IKVM to work with Mono.
42
43 <a name="PHP">
44 ** PHP
45
46         Sterling has code to allow PHP developers to use Mono code, in
47         his <a href="http://www.php.net/~sterling/mono/">site</a>
48
49 <a name="MonoLogo">
50 ** MonoLogo
51
52         An implementation of Logo for Mono (and .NET)
53
54         The <A href="http://monologo.sf.net">Mono Logo</a> compiler is
55         hosted in the <a href="ccvs.html">Mono CVS</a> repository
56         and also available on the <a href="anoncvs.html">AnonCVS</a> mirrors.
57
58 <a name="mbas">
59 ** Mono Basic (Mono's VB.NET compiler)
60
61         Work has resumed on the Mono Visual Basic compiler (currently
62         called mbas).  It is part of the standard Mono distribution,
63         but its still an early compiler.
64
65 <a name="Oberon">
66 ** Oberon
67
68         This Oberon compiler is written in Oberon.NET (another self
69         hosting compiler).
70
71         The main site <a href="http://www.oberon.ethz.ch/oberon.net/">http://www.oberon.ethz.ch/oberon.net/</a>
72
73         Download:
74         <a href="http://www.oberon.ethz.ch/oberon.net/download/">http://www.oberon.ethz.ch/oberon.net/download/</a>
75
76         Examples:
77         <a href="http://www.oberon.ethz.ch/oberon.net/examples/">http://www.oberon.ethz.ch/oberon.net/examples/</a>
78
79
80         <a href="http://www.superin.formativ.net/mono/oberon/oberon.zip">http://www.superin.formativ.net/mono/oberon/oberon.zip</a>
81
82 <a name="ComponentPascal">
83 ** Component Pascal
84
85         The Component Pascal compiler: <a
86         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal">Home
87         Page</a>, you can <a
88         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal/gpcp1.1.4-netRTM.zip">
89         download it</a>
90         
91 <a name="Forth">
92 ** Delta Forth
93
94          The Delta Forth.NET project: <a 
95          href="www.dataman.ro/dforth">Home
96          Page</a> and <a href="http://www.dataman.ro/dforth/index.html">more
97          details here</a>.
98          
99
100 <a name="Tachy">
101 ** Tachy
102
103         A subset of Scheme language called <a
104         href="http://radio.weblogs.com/0101156/stories/2002/03/19/tachy.html">Tachy</a>
105
106 * Missing languages
107
108         Here is a list of a few languages that we would like to see
109         supported.  We will try to maintain a set of links here with 
110         technical information for those interested in porting,
111         implementing or adapting a compiler for any of these
112         languages:
113
114 <a name="JavaScript">
115 * Java Script
116
117         The Mozilla project has an implementation of JavaScript
118         written in Java called <a
119         href="http://www.mozilla.org/rhino/">Rhino</a>.
120
121         You could port this code from Java to C#.
122
123         Note that since JavaScript allows for evaluation at runtime,
124         the compiler has to be built as a class that can be invoked at
125         runtime.
126
127 <a name="c">
128 * C
129
130         Ideally GCC could be modified to generate CIL, but it is a 
131         big task.  That would give us various compilers in one pass.
132
133         <a href="http://www.cs.princeton.edu/software/lcc">LCC</a> 4.2
134         has been recently released.  This release adds support for compiling
135         ANSI C programs to CIL.  Note that the CIL support only works on Win32
136         right now, but should be easy to convert to Mono/other architectures.
137
138         LCC is not an open source compiler, but it is free as long as you
139         do not profit from selling it. 
140
141 <a name="Java">
142 * Java
143
144         We have a <a href="java.html">separate page</a> for Java.
145
146