2002-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[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         </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         <a href="http://www.superin.formativ.net/mono/oberon/oberon.zip">http://www.superin.formativ.net/mono/oberon/oberon.zip</a>
43
44 <a name="ComponentPascal">
45 ** Component Pascal
46
47         The Component Pascal compiler: <a
48         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal">Home
49         Page</a>, you can <a
50         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal/gpcp1.1.4-netRTM.zip">
51         download it</a>
52         
53 <a name="Forth">
54 ** Delta Forth
55
56          The Delta Forth.NET project: <a 
57          href="http://www.codeproject.com/dotnet/dforthnet.asp">Home
58          Page</a> and <a href="http://www.dataman.ro/dforth/index.html">more
59          details here</a>.
60          
61
62 <a name="Tachy">
63 ** Tachy
64
65         A subset of Scheme language called <a
66         href="http://radio.weblogs.com/0101156/stories/2002/03/19/tachy.html">Tachy</a>
67
68 * Missing languages
69
70         Here is a list of a few languages that we would like to see
71         supported.  We will try to maintain a set of links here with 
72         technical information for those interested in porting,
73         implementing or adapting a compiler for any of these
74         languages:
75
76 <a name="JavaScript">
77 * Java Script
78
79         The Mozilla project has an implementation of JavaScript
80         written in Java called <a
81         href="http://www.mozilla.org/rhino/">Rhino</a>.
82
83         You could port this code from Java to C#.
84
85         Note that since JavaScript allows for evaluation at runtime,
86         the compiler has to be built as a class that can be invoked at
87         runtime.
88
89 <a name="c">
90 * C
91
92         Ideally GCC could be modified to generate CIL, but it is a 
93         big task.  That would give us various compilers in one pass.
94
95         Rumor is that the next version of the LCC compiler will
96         include an IL backend.  We do not know how extensive the support
97         for integration with .NET will be, but it would be an interesting
98         excercise to add an extension to C to call into .NET code.
99
100         LCC is not an open source compiler, but it is free as long as you
101         do not profit from selling it. 
102
103 <a name="Java">
104 * Java
105
106         We have a <a href="java.html">separate page</a> for Java.
107
108