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