Valentin,
Thanks for your reply. One of the most attractive and distinct features
of Perl is its expressive power -- there are many ways to achieve a goal
or an effect and there is a lot of interplay between syntax and
semantics. As such, Perl code is notoriously difficult to parse and
interpret correctly. Writing a Perl interpreter is a non-trivial
task. Do you think Refal's approach of evaluation by substitution makes
it easier in any way to deal with Perl's fluid syntax? If so, why?
-- Jordan
On Tue, 7 Aug 2001, Valentin Turchin wrote:
> Hello, Jordan.
>
> The principle of supercompilation is applicable to any programming language. And yes,
> in the last analysis, the goal is to speed-up a given program. But due to speed-up
>we often
> can allow programming styles which, without supercompilation, entail the loss of
>efficiency
> which we could not afford. I speak, in the first place, of interpreters of various
>kinds which
> a supercompiler converts, once the interpreted text is given, into an efficient
> compiled program, thus working as a universal compiler. Years ago I wrote in Refal
> an interpreter of a subset of Pascal which after supercompilation worked 40 times
>faster.
> With interpretation of regular expressions, prominent in Perl, the speed-up is, if
>I remember
> correctly, something like 15. With a neatly written program without parts given
>beforehand
> there will be no speed-up at all.
>
> You can use supercompilation with Perl in two ways.
> (1) Write an interpreter of Perl in Refal and use it with the existing supercompiler
>SCP4
> (written by myself and Andrei Nemytykh). As I said above, the goal is double:
>speed-up
> and possible invention of new ways of programming in Perl -- with heavy
>interpretation.
> (2) Write a new supercompiler in the language of your choice. The same goals.
>
> Andrei Klimov and Andrei Nemytykh may write you with more detail.
>
> Regards.
>
> Valentin Turchin
>
>
> -----Original Message-----
> From: Jordan Dimov <[EMAIL PROTECTED]>
> To: Valentin Turchin <[EMAIL PROTECTED]>
> Cc: [EMAIL PROTECTED] <[EMAIL PROTECTED]>; Helmut Enck-Radana
><[EMAIL PROTECTED]>; John Porter <[EMAIL PROTECTED]>; Simon Cozens
><[EMAIL PROTECTED]>
> Date: Monday, August 06, 2001 06:08 PM
> Subject: Re: Supercompiled Perl
>
>
> >
> > Valentin,
> >
> > Could you please write a short message to this list explaining what
> >benefits you see in a Perl supercompiler? Is it just a speed isue? Why
> >do you think Perl is suitable for the type of transformations that you
> >have studied?
> >
> > Thank you very much!
> >
> > -- Jordan
> >
> >On Mon, 6 Aug 2001, Valentin Turchin wrote:
> >
> >> Dear Helmut,
> >>
> >> Thanks a lot for your letter. Writing a supercompiler for PERL is a very good
>idea.
> >> Should anybody embark on it, we in the Refal group will gladly share our
>experience.
> >>
> >> Best wishes.
> >>
> >> Valentin Turchin
> >>
> >>
> >>
> >> -----Original Message-----
> >> From: Helmut Enck-Radana <[EMAIL PROTECTED]>
> >> To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> >> Cc: Jordan Dimov <[EMAIL PROTECTED]>; John Porter <[EMAIL PROTECTED]>; Simon
>Cozens <[EMAIL PROTECTED]>
> >> Date: Saturday, August 04, 2001 02:46 PM
> >> Subject: Re: Supercompiled Perl
> >>
> >>
> >> >John Porter wrote:
> >> >>Jordan Dimov wrote:
> >> >>>Turchin has founded a start up (www.supercompilers.com) with the purpose
> >> >>>of developing a supercompiler for Java, speeding up Java code by a factor
> >> >>>of 100.
> >> >>
> >> >>The culture of Java encourages fantastic hyperbole.
> >> >
> >> >Simon Cozens wrote:
> >> >>Jordan Dimov wrote:
> >> >>>Is anyone here familiar with the concept of supercompilation, as
> >> >>>described by prof. Valentin Turchin in [1] for example?
> >> >>>[...]
> >> >>>[1] ``The Concept of a Supercompiler'', Valenting F. Turchin, ACM Trans.
> >> >>>Program. Lang. Syst. 8, 3 (Jul 1986), pp. 292-325
> >> >>
> >> >>I've read this.
> >> >>[...]
> >> >>This isn't anything new, since most compilers do this anyway.
> >> >
> >> >This must be a misunderstanding. As far as I understand modern
> >> >supercompilers are capable of transforming an interpreter into a compiler.
> >> >This seems to be just too revolutionary for most people to believe. The
> >> >speed-up factor of course depends on the kind of application. More
> >> >important is the idea to allow writing programs on a level of abstraction
> >> >which was not possible so far. Obviously there must be some hindrances for
> >> >the wide-spread use of this technology. Possibly the publicly available
> >> >tools only work on some advanced programming languages which aren't
> >> >understood by a lot of programmers, and may be they aren't very easy to
> >> >apply in ordinary practise.
> >> >
> >> >There are quite a few papers about the subject, some of which can be found
> >> >here:
> >> >http://citeseer.nj.nec.com/cs?q=supercompiler&submit=Search+Documents&am=50
> >> >http://www.refal.com/english/s_compil.htm (home of supercompilation with
> >> >Refal, online examples)
> >> >http://www.diku.dk/topps/bibliography/bibl-aut.html (search for
> >> >/supercompil(er)|(ation)/ yields lots of hits)
> >> >http://www.diku.dk/users/rambo/publications.html (Master's Thesis with
> >> >detailed remarks about history)
> >> >http://www.dina.dk/~jesper/PEsummerschool/ (educational implementation &
> >> >tutorial)
> >> >http://www.dina.kvl.dk/~jesper/CASE/ (educational implementation, examples)
> >> >
> >> >>>Is Perl suitable for this kind of program transformation?
> >> >>
> >> >>Of course.
> >> >
> >> >Jordan, possibly this wasn't the best mailing list to ask questions about
> >> >that subject. You could have more luck when you direct them to the Refal
> >> >mailing list:
> >> >
> >> >mailto:[EMAIL PROTECTED]
> >> >
> >> >The archive can be browsed here:
> >> >
> >> >http://www.botik.ru/mail-archive/refal/
> >> >
> >> >(Most messages are in Russian, but questions which are posted in English
> >> >are also replied to in English. Also some of the Russian messages are
> >> >nearly understandable after applying online-translation. Watch out not to
> >> >execute the attachment Microsoft_Word__3_.doc.bat.)
> >> >
> >> >-- Helmut
> >> >
> >> >(BCCed to Valentin F. Turchin, Andrei V. Klimov, Andrei P. Nemytykh)
> >> >
> >> >
> >> >________________________________
> >> >
> >> >Helmut Enck-Radana
> >> >Paradigma Software GmbH
> >> >http://www.paradigma-software.de
> >> >________________________________
> >> >
> >> >
> >>
> >
> >
>