Re: Stalin ported to Windows.
- From: phi500ac@xxxxxxxx
- Date: Tue, 21 Oct 2008 04:33:38 -0700 (PDT)
On 21 out, 03:02, Benjamin L. Russell <DekuDekup...@xxxxxxxxx> wrote:
On Mon, 20 Oct 2008 18:46:15 -0700 (PDT), phi50...@xxxxxxxx wrote:
Not long ago, I posted an article about bugs in Stalin ports to
Windows. Most of the ports are based on the compilation the C source
code, which was generated on a Linux machine. Therefore, the compiler
fails to work in many situations. Finally, Professor Romildo compiled
Stalin from Scheme sources; it took six hours to generate the C
sources. Junia and Reane got a working Windows port from the C
sources. You can download it from Junia's Stalin distribution site:
http://code.google.com/p/stalingui/
The package comes with Stalin, a GUI for Stalin, Ed Mort's tutorial,
and gcc. Junia prepared an installation script that seems to work
flawlessly. If you find any problem with the package, please let her
know about it, and she will be happy to fix it.
This looks interesting, but who is the author of this project?
Concerning authorship, all I see is a list of e-mail addresses.
Although this project looks very interesting, I am hesitant to run a
.exe file from an unknown source. Forgive me for asking, but what is
your identity?
-- Benjamin L. Russell
Hi. Russell.
The person behind the job is Professor Romildo Malaquias. He is the
same person who completed the number tower of Bigloo. I do not know
him very well, but I believe that he is a reliable professional, not
adept of practical jokes. It seems that
http://sourceforge.net/projects/stalin
It seems that Prof. Romildo intends to complete the numerical tower of
Stalin, and add macros and other goodies. You can write directly to
him, or to the list. Since Prof. Romildo is very slow with new
releases, and since people do not have a working stalin compiler for
Windows, Junia created a project at code.google.com. Reane is one of
Prof. Romildo's students. As for myself, I am not taking part of the
project; this is my first College year, and I do not know much about
Scheme in general, or Stalin in particular. I have used Junia's
release, and nothing happened to my machine. However, I warn you that
her installer does modifies the path, and install a gcc compiler
(MinGW brand, last release) in your machine. Besides this, it install
the gcc compiler in front of everything else. If you have another gcc
in your machine, and do not want another one, you could do the
following: (1) Do not tick the radio box for adding the package to
your path. (2) Set the path yourself, so stalin can find your gcc
installation.
By the way, it seems that Prof. Siskind is not working actively on
Stalin anymore. That is the reason for Prof. Romildo setting a project
to keep the ball rolling. Prof. Siskind oriented the Windows port, but
he is not participating in the works directly. If you want to make
your own port to Windows, I forward Prof. Siskind guidance.
----- Forwarded message from Jeffrey Mark Siskind <qobi@xxxxxxxxxx>
-----
.... ... ...
I don't actively develop Stalin at the current time. My current
research
efforts focus on Stalingrad, a new compiler for a new language, VLAD,
that is
Scheme-like but whose focus is numerical computing. VLAD includes
support for
automatic differentiation, taking derivatives of programs. I fix bugs
in
Stalin from time to time and I actively use it for some of my research
projects, but I don't actively maintain it. In other words, I don't
have
regular releases and may take time to fix bugs.
I welcome other people to take over the effort of maintaining and
further
developing Stalin.
I don't use Windows. I have never written or compiled a program under
Windows.
I don't know how. I don't have access to a Windows machine with
development
tools installed.
I wrote Stalin primarily to run under various flavors of Unix,
including Linux.
I actively ported it to run on IA32, SPARC32, SPARC64, MIPS, Alpha,
ARM, M68K,
PowerPC32, PowerPC64, S390, and AMD64. But I did not participate in
the port
to Windows.
The correct way to port Stalin is a multistep process:
1. Compile and run stalin-architecture.c on the target platform to get
an
architecture entry.
2. Add the architecture entry to stalin.architectures.
3. On a machine for which there exists a running port of Stalin, cross
compile
a version of Stalin for the target platform from the Scheme
sources.
4. Make sure that the generate Stalin works by self compiling it, from
Scheme
sources, on the new target platform.
The people who ported Stalin to windows did not follow this full
process. The
just modified the C intermediate code generated for the Linux IA32
architecture, by hand, to get it to compile under Windows. While the
resulting
compiler runs under Windows, it has not been modified to generate code
that
runs under Windows. It usually works, but not always.
It appears that the default alignment for doubles is different under
Linux for
IA32 from Windows for IA32. Linux uses 4-byte alignment and it appears
that
Windows uses 8-byte alignment. The quick partial way around this is to
do
steps (1) and (2) from above. This will get Stalin to generate code
with the
correct alignment. The problem is that Stalin itself has been compiled
for
4-byte alignment instead of 8-byte alignment. Fortunately, the Stalin
compile
itself has been compiled with single-precision mode (i.e. without -d)
so it
does not use doubles and thus will not be affected by the incorrect
alignment
of doubles.
There are other issues. Stalin knows about Unix pathnames having
directories
being separated by a "/" character. In Windows, they are separated by
a "\"
character. The only way to fix this is to modify the Scheme source and
recompile.
.
- References:
- Stalin ported to Windows.
- From: phi500ac
- Re: Stalin ported to Windows.
- From: Benjamin L . Russell
- Stalin ported to Windows.
- Prev by Date: Variable in List
- Next by Date: Re: Stalin ported to Windows.
- Previous by thread: Re: Stalin ported to Windows.
- Next by thread: Re: Stalin ported to Windows.
- Index(es):
Relevant Pages
|