For those interested in experimenting with (compiling / developing) 
a version of R for the Common Language Runtime (CLR) 
environment (Microsoft .Net, Novell Ximan Mono & DotGNU) 
-- a few links to some "free" compliers:

C
DotGNU (the official GNU project)
http://dotgnu.org/
http://www.southern-storm.com.au/pnet_faq.html#q1_7
FAQ "1.7. What is pnetC?
Since version 0.4.4 of DotGNU Portable.NET, the cscc compiler has had 
support for compiling C programs. 
The companion libc implementation for the C compiler is called 'pnetC'. 
The code is based on glibc."
===

C
lcc -- lcc is a retargetable compiler for Standard C.
lcc.NET, an lcc 4.2 backend for MSIL 
According to DotGNU "[MSIL] is exactly the same as CIL, but some media 
reports have called it 'MSIL' for some reason."
http://www.cs.princeton.edu/software/lcc/
1. "LCC 4.2 has been recently released. This release adds support for 
compiling ANSI C programs to CIL. 
Note that the CIL support only works on Win32 right now, but should be 
easy to convert to Mono/other architectures. "

2. "LCC is not an open source compiler, but it is free as long as you do 
not profit from selling it. "


C# (C-sharp)
Mono C# (version 1.0 released today)
http://www.mono-project.com/using/relnotes/1.0.html
===

C++
Microsoft's C++ -- a "free" download (free as in beer)
http://www.microsoft.com/downloads/details.aspx?FamilyId=272BE09D-40BB-49FD-9CB0-4BFA122FA91B&displaylang=en

1. "Visual C++ Toolkit 2003
The Microsoft Visual C++ Toolkit 2003 includes the core tools developers 
need to compile and link 
C++-based applications for Windows and the .NET Common Language Runtime
 ? compiler, linker, libraries, and sample code."

2. "The Visual C++ Toolkit is a free edition of Microsoft?s professional 
Visual C++ 
optimizing compiler and standard libraries ? the same optimizing compiler 
and standard libraries that ship in Visual Studio .NET 2003 Professional!"

3. "Are there any restrictions on how I use the Visual C++ Toolkit?
In general, no. You may use the Toolkit to build C++ -based applications, 
and you may redistribute those applications. 
Please read the End User License Agreement (EULA), included with the 
Toolkit, for complete details."
===

FORTRAN
No "free" news -- so I guess it is F2C.
Lahey & Salford have commercial Fortran compliers.
===

JAVA (useful for Omegahat)
IKVM - a CLR implementation of a language compatible with the Java syntax 
that be used with GNU Classpath and IBM Jikes
http://www.ikvm.net/
===

PERL
PerlSharp
http://taubz.for.net/code/perlsharp/
1. "By Joshua Tauberer. PerlSharp is a .NET binding to the Perl 
interpreter. 
It allows .NET programs to embed Perl scripts and manipulate Perl data. 
Perl version 5.8.0 or later on a Unix-like system is required (thus you 
need Mono). "
2. "The current release was built on 4/11/2004. 
This is the first release, so I wouldn't place bets on it actually working 
out of the box. 
It is released under the GPL."
===

PYTHON
Python.NET (from http://www.go-mono.com/languages.html#python)
"Brian Lloyd is working on linking the Python runtime with the .NET 
runtime. More information on the PS.NET project "
http://www.zope.org/Members/Brian/PythonNet
http://zope.org/Members/Brian/PythonNet/README.html

1. "This package does not implement Python as a first-class CLR language 
- it does not produce managed code (IL) from Python code. 
Rather, it is an integration of the C Python engine with the .NET runtime. 

This approach allows you to use CLR services and continue to use existing 
Python C extensions 
while maintaining native execution speeds for Python code."

2. "While a solution like Jython provides 'two-way' interoperability, 
this package only provides 'one-way' integration. Meaning, while 
Python can use types and services implemented in .NET, 
managed code cannot generally use classes implemented in Python."

3. "Python for .NET is based on Python 2.3.2. 
Note that this is a change from the preview releases, which were based on 
Python 2.2."
===

also 

PYTHON -- Iron Python
Jim Hugunin (author of JPython/Jython and Numeric Python/NumPy) 
is developing "IronPython: A fast Python implementation for .NET and 
Mono."
http://ironpython.com/
===

Note: According to DotGNU -- IL, CIL & MSIL all refer to "the bytecode 
format that is used to represent compiled programs"
http://www.southern-storm.com.au/pnet_faq.html#q1_9

Why CLR?
1. Cross-language 
2. Cross-platform (Mono, DotGNU) -- Linux, Windows & OS X
3. Database access  -- ADO.Net & "Provider Factory"

Mono ships with "support for Postgres, MySql, Sybase, DB2, SqlLite, Tds 
(SQL server protocol) and Oracle databases. "
- Mono.Data.SqliteClient.dll: Sqlite database provider. 
- Mono.Data.SybaseClient.dll: Sybase database provider. 
- Mono.Data.TdsClient.dll: MS SQL server provider. 
- Mono.Data.Tds.dll: MS SQL server provider. 
- ByteFX.Data.dll: MySQL client access library (LGPL) 
- Npgsql.dll: Postgresql client access library (LGPL) 
http://www.mono-project.com/about/faq.html

Jim Callahan
Management, Budget & Accounting
City of Orlando
(407) 246-3039 office
        [[alternative HTML version deleted]]

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to