Re: Supercompiled Perl
[email protected] (Jordan Dimov)
| Newsgroups | perl.ai |
|---|---|
| Message-ID | <[email protected]> |
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 > >> >________________________________ > >> > > >> > > >> > > > > >