Flush
[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         </ul>
12
13         Languages we would like to have supported, with links to resources:
14
15         <ul>
16                 * <a href="#JavaScript">Java Script</a>
17                 * <a href="java.html">Java</a>
18                 * <a href="#c">C</a>
19         </ul>
20
21         Some experimental languages:
22
23         <ul>
24                 * <a href="#Tachy">Tachy</a> (scheme-like)
25         </ul>
26
27 <a name="MonoLogo">
28 ** MonoLogo
29
30         An implementation of Logo for Mono (and .NET)
31
32         The <A href="http://monologo.sf.net">Mono Logo</a> compiler is
33         hosted in the <a href="ccvs.html">Mono CVS</a> repository
34         and also available on the <a href="anoncvs.html">AnonCVS</a> mirrors.
35
36 <a name="Oberon">
37 ** Oberon
38
39         This Oberon compiler is written in Oberon.NET (another self
40         hosting compiler).
41
42         The main site <a href="http://www.oberon.ethz.ch/oberon.net/">http://www.oberon.ethz.ch/oberon.net/</a>
43
44         Download:
45         <a href="http://www.oberon.ethz.ch/oberon.net/download/">http://www.oberon.ethz.ch/oberon.net/download/</a>
46
47         Examples:
48         <a href="http://www.oberon.ethz.ch/oberon.net/examples/">http://www.oberon.ethz.ch/oberon.net/examples/</a>
49
50
51         <a href="http://www.superin.formativ.net/mono/oberon/oberon.zip">http://www.superin.formativ.net/mono/oberon/oberon.zip</a>
52
53 <a name="ComponentPascal">
54 ** Component Pascal
55
56         The Component Pascal compiler: <a
57         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal">Home
58         Page</a>, you can <a
59         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal/gpcp1.1.4-netRTM.zip">
60         download it</a>
61         
62 <a name="Forth">
63 ** Delta Forth
64
65          The Delta Forth.NET project: <a 
66          href="www.dataman.ro/dforth">Home
67          Page</a> and <a href="http://www.dataman.ro/dforth/index.html">more
68          details here</a>.
69          
70
71 <a name="Tachy">
72 ** Tachy
73
74         A subset of Scheme language called <a
75         href="http://radio.weblogs.com/0101156/stories/2002/03/19/tachy.html">Tachy</a>
76
77 * Missing languages
78
79         Here is a list of a few languages that we would like to see
80         supported.  We will try to maintain a set of links here with 
81         technical information for those interested in porting,
82         implementing or adapting a compiler for any of these
83         languages:
84
85 <a name="JavaScript">
86 * Java Script
87
88         The Mozilla project has an implementation of JavaScript
89         written in Java called <a
90         href="http://www.mozilla.org/rhino/">Rhino</a>.
91
92         You could port this code from Java to C#.
93
94         Note that since JavaScript allows for evaluation at runtime,
95         the compiler has to be built as a class that can be invoked at
96         runtime.
97
98 <a name="c">
99 * C
100
101         Ideally GCC could be modified to generate CIL, but it is a 
102         big task.  That would give us various compilers in one pass.
103
104         Rumor is that the next version of the LCC compiler will
105         include an IL backend.  We do not know how extensive the support
106         for integration with .NET will be, but it would be an interesting
107         excercise to add an extension to C to call into .NET code.
108
109         LCC is not an open source compiler, but it is free as long as you
110         do not profit from selling it. 
111
112 <a name="Java">
113 * Java
114
115         We have a <a href="java.html">separate page</a> for Java.
116
117