[Chicken-users] chicken-hosted stalin

2008-01-22 Thread felix winkelmann
Hi!

A "stalin" egg has been added to the repository that provides
a slightly modified version of Jeffrey Mark Siskinds Stalin
Scheme->C compiler, compiled with chicken. Even though the
compiler is even slower than the original one, it compiles
(the compiler itself) faster and uses less resources (takes
for example around 1 1/2 hours on a 512mb Mac Mini (ppc)).
It also has a few extensions (more character escape sequences
in string literals and SRFI-0 support (cond-expand)).

More information can be found here:

http://chicken.wiki.br/stalin


cheers,
felix


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread John Cowan
felix winkelmann scripsit:

> Even though the [chicken-stalin] compiler is even slower than the
> original one, it compiles (the compiler itself) faster [...].

This is indecipherable.  The purpose of a compiler is to compile; if
chicken-stalin compiles the Stalin source code faster than native stalin
does, in what sense is it also slower?  And if chicken-stalin *is* slower,
what is the point of compiling Stalin with csc, since a program that
is inherently as slow as Stalin should presumably be compiled with the
compiler that produces the fastest executables, viz. native stalin?

Also, I'm not clear how much use Stalin is in the Chicken environment,
given its severe restrictions on input language.  If Stalin could
be front-ended with an R5RS macro expander, and if enough bootstrap
procedures could be provided that it could understand a larger fraction of
Chicken Scheme, then it would indeed be useful to have as an alternative
compiler.

> http://chicken.wiki.br/stalin

The link to the Stalin manual is to "stalin1html", which is broken.  Plausible
alternatives like "stalin.1.html", "stalin1.html", "stalin.1", and "stalin1"
also don't work.

-- 
Clear?  Huh!  Why a four-year-old child John Cowan
could understand this report.  Run out  [EMAIL PROTECTED]
and find me a four-year-old child.  I   http://www.ccil.org/~cowan
can't make head or tail out of it.
--Rufus T. Firefly on government reports


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread felix winkelmann
On Jan 22, 2008 3:45 PM, John Cowan <[EMAIL PROTECTED]> wrote:
> felix winkelmann scripsit:
>
> > Even though the [chicken-stalin] compiler is even slower than the
> > original one, it compiles (the compiler itself) faster [...].
>
> This is indecipherable.  The purpose of a compiler is to compile; if
> chicken-stalin compiles the Stalin source code faster than native stalin
> does, in what sense is it also slower?  And if chicken-stalin *is* slower,
> what is the point of compiling Stalin with csc, since a program that
> is inherently as slow as Stalin should presumably be compiled with the
> compiler that produces the fastest executables, viz. native stalin?

chicken-stalin can be built on systems that are too weak to build
the regular stalin, it also runs probably on more platforms.
I think this is useful. Due to the reduced turnaround times and the much
richer runtime environment, one can actually debug and enhance
the system (much more so as the original one).

>
> Also, I'm not clear how much use Stalin is in the Chicken environment,
> given its severe restrictions on input language.  If Stalin could
> be front-ended with an R5RS macro expander, and if enough bootstrap
> procedures could be provided that it could understand a larger fraction of
> Chicken Scheme, then it would indeed be useful to have as an alternative
> compiler.

You have to see for yourself whether you find it useful. It is possible
to mix chicken and stalin code, so one could conceive trying to get the
best of both worlds (partially fast code and partically using a rich
and dynamic runtime environment).

Adding macros and more compiler language support could be done, though.
So this is a start.


cheers,
felix


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread John Cowan
felix winkelmann scripsit:

> chicken-stalin can be built on systems that are too weak to build
> the regular stalin, it also runs probably on more platforms.
> I think this is useful. Due to the reduced turnaround times and the much
> richer runtime environment, one can actually debug and enhance
> the system (much more so as the original one).

Fair enough.  I'm still not clear on whether it is actually slower or faster,
though, or perhaps slower in general but faster when compiling Stalin, or what.

> You have to see for yourself whether you find it useful. It is possible
> to mix chicken and stalin code, so one could conceive trying to get the
> best of both worlds (partially fast code and partically using a rich
> and dynamic runtime environment).
> 
> Adding macros and more compiler language support could be done, though.
> So this is a start.

Also fair enough.

-- 
John Cowan   [EMAIL PROTECTED]  http://www.ccil.org/~cowan
Most languages are dramatically underdescribed, and at least one is
dramatically overdescribed.  Still other languages are simultaneously
overdescribed and underdescribed.  Welsh pertains to the third category.
--Alan King


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread Tobia Conforto

John Cowan wrote:

felix winkelmann scripsit:

Even though the [chicken-stalin] compiler is even slower than the
original one, it compiles (the compiler itself) faster.


This is indecipherable.


I was wondering too what is faster or slower than what!

Chichen compiling Stalin to C, vs. Stalin compiling Stalin to C?
Gcc compiling Chicken-compiled Stalin to executable, vs. gcc compiling  
Stalin-compiled Stalin to executable?
Chicken-compiled Stalin compiling user code to C, vs. Stalin-compiled  
Stalin compiling user code to C?

I'm probably missing some combination too...

LOL

Tobia


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread Shawn Rutledge
On Jan 22, 2008 2:35 AM, felix winkelmann <[EMAIL PROTECTED]> wrote:
> A "stalin" egg has been added to the repository that provides
> a slightly modified version of Jeffrey Mark Siskinds Stalin
> Scheme->C compiler, compiled with chicken. Even though the

I assume the point is that stalin produces better-performing compiled
code?  How much faster?

I wonder if it would be useful for selective optimization of some eggs
which happen to be compatible with Stalin's subset of the language.


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread felix winkelmann
On Jan 22, 2008 4:43 PM, John Cowan <[EMAIL PROTECTED]> wrote:
>
> Fair enough.  I'm still not clear on whether it is actually slower or faster,
> though, or perhaps slower in general but faster when compiling Stalin, or 
> what.

Stalin *can* (in the hands of someone experienced with it, and there
are not many
of those, and I'm not) generate very fast code. Fast as "competitive with C".

The code generated by the original Stalin is (should) be identical to
the code generated
by the chicken-stalin, so there is no difference in the performance of
the generated
executables (stalin has it's own runtime system, and is a completely separate
implementation).

Compilation of Scheme with Stalin takes extremely long. The chicken-compiled
Stallin is smaller and doesn't stress gcc so much, but is (naturally)
even slower
than the original Stalin, which means slow compiling Scheme to C.


cheers,
felix


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread John Cowan
felix winkelmann scripsit:

> Compilation of Scheme with Stalin takes extremely long. The chicken-compiled
> Stallin is smaller and doesn't stress gcc so much, but is (naturally)
> even slower than the original Stalin, which means slow compiling Scheme to C.

Well, that's what I expected.  But then what is the meaning of saying that there
are faster turnaround times for chicken-stalin than for native stalin?

-- 
De plichten van een docent zijn divers, John Cowan
die van het gehoor ook. [EMAIL PROTECTED]
  --Edsger Dijkstra http://www.ccil.org/~cowan


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] chicken-hosted stalin

2008-01-22 Thread Alex Shinn
On Jan 23, 2008 9:09 AM, John Cowan <[EMAIL PROTECTED]> wrote:
> felix winkelmann scripsit:
>
> > Compilation of Scheme with Stalin takes extremely long. The chicken-compiled
> > Stallin is smaller and doesn't stress gcc so much, but is (naturally)
> > even slower than the original Stalin, which means slow compiling Scheme to 
> > C.
>
> Well, that's what I expected.  But then what is the meaning of saying that 
> there
> are faster turnaround times for chicken-stalin than for native stalin?

I think the relevant point is that there are faster turnaround
times for hacking Stalin itself.  This is very important, because
Stalin is minimal to the point of being unusable, and so a lot of
hacking is needed.

-- 
Alex


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users