[Chicken-users] chicken-hosted stalin
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
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
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
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
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
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
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
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
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