2003-11-06 Zoltan Varga <vargaz@freemail.hu>
[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                 * <a href="#dotlist">dotLisp</a>
13         </ul>
14
15         Languages which are known to run, but we have not done a
16         complete ran of all their regression tests to validate it:
17
18         <ul>
19                 * Kylix.NET.
20         </ul>
21
22         Languages we would like to have supported, with links to resources:
23
24         <ul>
25                 * <a href="#JavaScript">Java Script</a>
26                 * <a href="#java.html">Java</a>
27                 * <a href="#c">C</a>
28         </ul>
29
30         Some experimental languages:
31
32         <ul>
33                 * <a href="#Tachy">Tachy</a> (scheme-like)
34                 * <a href="#python">Python</a>
35         </ul>
36
37 <a name="Java">
38 ** Java
39
40         There is a very interesting project to make a JavaVM for .NET
41         <a href="http://radio.weblogs.com/0109845/">here</a>.
42
43         Zoltan has got IKVM to work with Mono.
44
45 <a name="PHP">
46 ** PHP
47
48         Sterling has code to allow PHP developers to use Mono code, in
49         his <a href="http://www.php.net/~sterling/mono/">site</a>
50
51 <a name="MonoLogo">
52 ** MonoLogo
53
54         An implementation of Logo for Mono (and .NET)
55
56         The <A href="http://monologo.sf.net">Mono Logo</a> compiler is
57         hosted in the <a href="ccvs.html">Mono CVS</a> repository
58         and also available on the <a href="anoncvs.html">AnonCVS</a> mirrors.
59
60 <a name="mbas">
61 ** Mono Basic (Mono's VB.NET compiler)
62
63         Work has resumed on the Mono Visual Basic compiler (currently
64         called mbas).  It is part of the standard Mono distribution,
65         but its still an early compiler.
66
67 <a name="Oberon">
68 ** Oberon
69
70         This Oberon compiler is written in Oberon.NET (another self
71         hosting compiler).
72
73         The main site <a href="http://www.oberon.ethz.ch/oberon.net/">http://www.oberon.ethz.ch/oberon.net/</a>
74
75         Download:
76         <a href="http://www.oberon.ethz.ch/oberon.net/download/">http://www.oberon.ethz.ch/oberon.net/download/</a>
77
78         Examples:
79         <a href="http://www.oberon.ethz.ch/oberon.net/examples/">http://www.oberon.ethz.ch/oberon.net/examples/</a>
80
81
82         <a href="http://www.superin.formativ.net/mono/oberon/oberon.zip">http://www.superin.formativ.net/mono/oberon/oberon.zip</a>
83
84 <a name="ComponentPascal">
85 ** Component Pascal
86
87         The Component Pascal compiler: <a
88         href="http://www.citi.qut.edu.au/research/plas/projects/cp_files/cpnet.html">Home
89         Page</a>, you can <a
90         href="http://www.citi.qut.edu.au/research/plas/projects/cp_files/cpdownload.html">
91         download it</a>
92         
93 <a name="Forth">
94 ** Delta Forth
95
96          The Delta Forth.NET project: <a 
97          href="www.dataman.ro/dforth">Home
98          Page</a> and <a href="http://www.dataman.ro/dforth/index.html">more
99          details here</a>.
100          
101
102 <a name="Tachy">
103 ** Tachy
104
105         A subset of Scheme language called <a
106         href="http://radio.weblogs.com/0101156/stories/2002/03/19/tachy.html">Tachy</a>
107
108 <a name="Python">
109 ** Python
110
111         <a href="mailto:brian@No.Spam.zope.com">Brian Lloyd</a> is
112         working on linking the Python runtime with the .NET runtime.
113         More information on the PS.NET project can be found <a
114         href="http://www.zope.org/Members/Brian/PythonNet">here</a>.
115         An FAQ document is available <a
116         href="http://www.zope.org/Members/Brian/PythonNet/FAQ.html">here</a>.
117
118 <a name="dotlisp">
119 ** dotLisp
120
121         DotLisp is available from: <a
122         href="http://sourceforge.net/projects/dotlisp/">http://sourceforge.net/projects/dotlisp/</a>
123
124 <a name="JavaScript">
125 * Java Script
126
127         Cesar is working on Mono's implementation of JScript, the code
128         is available on CVS on module `mcs'.
129
130 * Missing languages
131
132         Here is a list of a few languages that we would like to see
133         supported.  We will try to maintain a set of links here with 
134         technical information for those interested in porting,
135         implementing or adapting a compiler for any of these
136         languages:
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         Java bytecode can run directly on Mono using the <a
156         href="http://www.ikvm.net">IKVM</a> java virtual machine for
157         .NET.
158
159         We have a <a href="java.html">separate page</a> for Java.
160
161