Grokbase Groups Perl ai August 2001
FAQ

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:refal@botik.ru

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
________________________________

Search Discussions

  • Valentin Turchin at Aug 6, 2001 at 10:02 pm
    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 <her@paradigma-software.de>
    To: perl-ai@perl.org <perl-ai@perl.org>
    Cc: Jordan Dimov <jdimov@cigital.com>; John Porter <jdporter@min.net>; Simon Cozens <simon@brecon.co.uk>
    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:refal@botik.ru

    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
    ________________________________
  • Jordan Dimov at Aug 6, 2001 at 10:08 pm
    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 <her@paradigma-software.de>
    To: perl-ai@perl.org <perl-ai@perl.org>
    Cc: Jordan Dimov <jdimov@cigital.com>; John Porter <jdporter@min.net>; Simon Cozens <simon@brecon.co.uk>
    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:refal@botik.ru

    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
    ________________________________
  • Valentin Turchin at Aug 7, 2001 at 11:43 pm
    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 <jdimov@cigital.com>
    To: Valentin Turchin <VTurchin@BellAtlantic.net>
    Cc: perl-ai@perl.org <perl-ai@perl.org>; Helmut Enck-Radana <her@paradigma-software.de>; John Porter <jdporter@min.net>; Simon Cozens <simon@brecon.co.uk>
    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 <her@paradigma-software.de>
    To: perl-ai@perl.org <perl-ai@perl.org>
    Cc: Jordan Dimov <jdimov@cigital.com>; John Porter <jdporter@min.net>; Simon Cozens <simon@brecon.co.uk>
    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:refal@botik.ru

    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
    ________________________________
  • Jordan Dimov at Aug 8, 2001 at 6:08 pm
    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 <jdimov@cigital.com>
    To: Valentin Turchin <VTurchin@BellAtlantic.net>
    Cc: perl-ai@perl.org <perl-ai@perl.org>; Helmut Enck-Radana <her@paradigma-software.de>; John Porter <jdporter@min.net>; Simon Cozens <simon@brecon.co.uk>
    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 <her@paradigma-software.de>
    To: perl-ai@perl.org <perl-ai@perl.org>
    Cc: Jordan Dimov <jdimov@cigital.com>; John Porter <jdporter@min.net>; Simon Cozens <simon@brecon.co.uk>
    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:refal@botik.ru

    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
    ________________________________
  • Tom Fawcett at Aug 8, 2001 at 6:22 pm
    Gents,

    This is an interesting topic but it seems unrelated to artificial intelligence
    using Perl. Could you take PERL-AI@PERL.ORG off the replies (or explain how
    it's relevant)? Thanks.

    -Tom
  • Jordan Dimov at Aug 8, 2001 at 6:31 pm
    Tom,

    The discussion isn't directly related to AI with Perl, but I do think it
    should be of interest to perl-ai folks. The primary reason for this
    (apart from the coolness factor) is that, as Valentin mentioned in his
    earlier message, significant speed-ups may lead to changes in programming
    paradigms that may very well be of great utility for AI programming. At
    some point, increases in speed tend to lead to phase transitions where
    qualitatively new things become feasible.

    Besides, the list has been pretty quiet lately. Of course we can take
    perl-ai off the address list if you guys still think it's a waste of time
    / bandwidth.

    -- Jordan
    On Wed, 8 Aug 2001, Tom Fawcett wrote:


    Gents,

    This is an interesting topic but it seems unrelated to artificial intelligence
    using Perl. Could you take PERL-AI@PERL.ORG off the replies (or explain how
    it's relevant)? Thanks.

    -Tom
  • Joe Schulman at Aug 8, 2001 at 11:39 pm
    I have no problem with it and find it extremely interesting.

    Regards,
    Joe Schulman

    -----Original Message-----
    From: Jordan Dimov
    Sent: Wednesday, August 08, 2001 1:22 PM
    To: Tom Fawcett
    Cc: Valentin Turchin; Andrei Nemytykh; Andrei Klimov; Simon Cozens; John Porter; Helmut Enck-Radana; perl-ai@perl.org
    Subject: Re: Supercompiled Perl


    Tom,

    The discussion isn't directly related to AI with Perl, but I do think it
    should be of interest to perl-ai folks. The primary reason for this
    (apart from the coolness factor) is that, as Valentin mentioned in his
    earlier message, significant speed-ups may lead to changes in programming
    paradigms that may very well be of great utility for AI programming. At
    some point, increases in speed tend to lead to phase transitions where
    qualitatively new things become feasible.

    Besides, the list has been pretty quiet lately. Of course we can take
    perl-ai off the address list if you guys still think it's a waste of time
    / bandwidth.

    -- Jordan
    On Wed, 8 Aug 2001, Tom Fawcett wrote:


    Gents,

    This is an interesting topic but it seems unrelated to artificial intelligence
    using Perl. Could you take PERL-AI@PERL.ORG off the replies (or explain how
    it's relevant)? Thanks.

    -Tom
  • Simon Cozens at Aug 8, 2001 at 11:41 pm

    On Wed, Aug 08, 2001 at 06:39:14PM -0500, Joe Schulman wrote:
    I have no problem with it and find it extremely interesting.
    Although I have supreme doubts that this will work, and I also
    believe that more effort should be spent on the *real* next
    implementation of the Perl interpreter, Perl 6, than on creating
    another new one from scratch, if anyone has any questions about
    how Perl is implemented, feel free to ask me.

    Simon
  • Guinevere liberty at Aug 9, 2001 at 6:01 am
    If we're voting (apologies if we're not) then add my
    name - and some friends of mine too - to the list of
    pro this thread, i think it is both related and
    interesting.


    --- Joe Schulman wrote:
    I have no problem with it and find it extremely
    interesting.

    Regards,
    Joe Schulman

    -----Original Message-----
    From: Jordan Dimov
    Sent: Wednesday, August 08, 2001 1:22 PM
    To: Tom Fawcett
    Cc: Valentin Turchin; Andrei Nemytykh; Andrei
    Klimov; Simon Cozens; John Porter; Helmut
    Enck-Radana; perl-ai@perl.org
    Subject: Re: Supercompiled Perl


    Tom,

    The discussion isn't directly related to AI with
    Perl, but I do think it
    should be of interest to perl-ai folks. The primary
    reason for this
    (apart from the coolness factor) is that, as
    Valentin mentioned in his
    earlier message, significant speed-ups may lead to
    changes in programming
    paradigms that may very well be of great utility for
    AI programming. At
    some point, increases in speed tend to lead to phase
    transitions where
    qualitatively new things become feasible.

    Besides, the list has been pretty quiet lately.
    Of course we can take
    perl-ai off the address list if you guys still think
    it's a waste of time
    / bandwidth.

    -- Jordan
    On Wed, 8 Aug 2001, Tom Fawcett wrote:


    Gents,

    This is an interesting topic but it seems
    unrelated to artificial intelligence
    using Perl. Could you take PERL-AI@PERL.ORG off
    the replies (or explain how
    it's relevant)? Thanks.

    -Tom

    =====
    perl -00lane 'for(map{$F[rand($>*($(%10*$$*$(%10+$%*$=))]} @F){last if @a > 5;push @a, /(\S{1,5}.)/} push @a, @F[rand($>*($$%10*$=)/5),rand(2*($(%10*$=))] for 0..rand($))%10;print "\n",$a=pop @a,"\n","-" x length($a);while(@a){print join " ", splice(@a,rand($#a+1),rand($))%10)}' /usr/dict/words #new, slightly improved, less Aarhus

    __________________________________________________
    Do You Yahoo!?
    Make international calls for as low as $.04/minute with Yahoo! Messenger
    http://phonecard.yahoo.com/
  • Tom Fawcett at Aug 9, 2001 at 5:28 pm

    guinevere liberty wrote:
    If we're voting (apologies if we're not) then add my name - and some friends
    of mine too - to the list of pro this thread, i think it is both related and
    interesting.
    All: No need to stop, I'm apparently the only one who cares.
    -Tom
  • John Porter at Aug 10, 2001 at 12:46 pm

    Tom Fawcett wrote:

    guinevere liberty wrote:
    If we're voting (apologies if we're not) then add my name - and some friends
    of mine too - to the list of pro this thread, i think it is both related and
    interesting.
    All: No need to stop, I'm apparently the only one who cares.
    No you're not. I for one am sick of this thread.
    Not only has it nothing to do with AI in particular
    (it could easily live on clp.misc), but also, nothing
    substantial is being said about it. People are just
    expressing their opinions on how feasible or useful
    it's likely to be. Waste of bandwidth, imho.

    --
    John Porter
  • Josiah Bryan at Aug 14, 2001 at 6:04 pm

    John Porter wrote:
    No you're not. I for one am sick of this thread.
    Not only has it nothing to do with AI in particular
    (it could easily live on clp.misc), but also, nothing
    substantial is being said about it. People are just
    expressing their opinions on how feasible or useful
    it's likely to be. Waste of bandwidth, imho.
    I agree, Porter. I find the subject facinating and I
    dont mind the deviant from some semblanced of
    relation to AI, but I am annoyed that all we are
    getting on this topic is hot air (or most of it, anyways.)
    However, I would be quite interested in hearing
    details and specific examples of ways to implement
    this dream as a reality.

    My momma always said (*use Forest Gump accent*):
    If you dont have something useful to say, dont
    say anything at all! :)

    Cheers!
    --
    Josiah Bryan
  • Simon Cozens at Aug 14, 2001 at 7:08 pm
    <hat type="listpop">
    On Fri, Aug 10, 2001 at 08:52:34AM -0400, Josiah Bryan wrote:
    However, I would be quite interested in hearing
    details and specific examples of ways to implement
    this dream as a reality.
    I don't think we should go this way either, sorry; if you
    want to try and pin the supercompilation guys down to reality,
    please do so off-list. It's quite painful to watch.

    </hat>

    --
    Hildebrant's Principle:
    If you don't know where you are going, any road will get you there.
  • David M Guzak at Aug 9, 2001 at 12:40 am
    Jordan,

    When a supercompiler is necessary for an ai-perl code implementation, it
    seems relevant. When talking about supercompilation development itself the
    question becomes how is "perl-ai" directly involved. In your own message
    you point out it may be of great utility. This means it may be useful and
    may be relevant.

    I commend Valentin's accomplishments, but think the discussion should be
    taken to e-mail for those interested.

    I discourage efforts to remedy the quiet with anything but perl-ai. There
    is beauty to a quiet list. I think we've exhausted the theoretical
    discussions on how supercompilation may help AI with Perl, and welcome
    anyone to prove me wrong.

    I would be happy enough with a quintessential general AI program that ran 20
    or even a 100 times slower than optimal. Upon completion I'm sure the beast
    would rewrite itself on the fly in assembly, and dawn a new chapter in
    history. If we're ever going to get there, we've got to stick to the
    subject.

    I'm not a moderator or even a common contributor to Perl-AI, just a member
    giving my two cents.

    Regards,


    David M Guzak

    -----Original Message-----
    From: Jordan Dimov

    Tom,

    The discussion isn't directly related to AI with Perl, but I do think it
    should be of interest to perl-ai folks. The primary reason for this
    (apart from the coolness factor) is that, as Valentin mentioned in his
    earlier message, significant speed-ups may lead to changes in programming
    paradigms that may very well be of great utility for AI programming. At
    some point, increases in speed tend to lead to phase transitions where
    qualitatively new things become feasible.

    Besides, the list has been pretty quiet lately. Of course we can take
    perl-ai off the address list if you guys still think it's a waste of time
    / bandwidth.

    -- Jordan
    On Wed, 8 Aug 2001, Tom Fawcett wrote:


    Gents,

    This is an interesting topic but it seems unrelated to artificial
    intelligence
    using Perl. Could you take PERL-AI@PERL.ORG off the replies (or explain how
    it's relevant)? Thanks.

    -Tom
  • Guinevere liberty at Aug 9, 2001 at 6:09 am

    I would be happy enough with a quintessential
    general AI program that ran 20
    or even a 100 times slower than optimal. Upon
    completion I'm sure the beast
    would rewrite itself on the fly in assembly, and
    dawn a new chapter in
    history. If we're ever going to get there, we've
    got to stick to the
    subject.
    :-)

    okay, if this is how people feel (and want this to
    branch) can we please create a (temporary perhaps)
    email list - via addressbook is ok - where we can
    discuss supercompilers in relation to perl/perl-ai?
    whoever wants to take the initiative just provide an
    email address for us to subscribe/use ..






    =====
    perl -00lane 'for(map{$F[rand($>*($(%10*$$*$(%10+$%*$=))]} @F){last if @a > 5;push @a, /(\S{1,5}.)/} push @a, @F[rand($>*($$%10*$=)/5),rand(2*($(%10*$=))] for 0..rand($))%10;print "\n",$a=pop @a,"\n","-" x length($a);while(@a){print join " ", splice(@a,rand($#a+1),rand($))%10)}' /usr/dict/words #new, slightly improved, less Aarhus

    __________________________________________________
    Do You Yahoo!?
    Make international calls for as low as $.04/minute with Yahoo! Messenger
    http://phonecard.yahoo.com/
  • Ianb at Aug 9, 2001 at 7:52 am

    On 08 Aug 01 at 11:09:56PM, guinevere liberty wrote:

    okay, if this is how people feel (and want this to
    branch) can we please create a (temporary perhaps)
    email list - via addressbook is ok - where we can
    discuss supercompilers in relation to perl/perl-ai?
    whoever wants to take the initiative just provide an
    email address for us to subscribe/use ..
    Of course, you could take it to a forum like comp.lang.perl.misc, and
    anyone who wants to follow it could watch that too, if they aren't
    already. You'd certainly catch a wider audience of interested people
    than on this fairly narrow list.

    Of course, there'd be more noise and possibly some trolls.


    Ian
  • Andrei P. Nemytykh at Aug 9, 2001 at 2:47 pm
    Dear colleagues,

    Valentin Turchin wrote:
    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.
    In my opinion, both possibilities can be useful.
    Sure, the second way requires much more attention.

    I remember an idea ( by Sergei Romanenko ). He suggests
    to use supercompiler together with a meta-program. The meta-program
    has to be a part of a concrete operating system. It is a dispatcher
    of supercompilation.
    The program has to observe the behavior of users:
    - how often a concrete Perl-program is used ?
    - maybe, some arguments of a program have a constant intrivial
    properties, so its specialized version makes sense ?
    - maybe, something else ...

    If the meta-program decides to transform a Perl-program, then it does
    that and creates a new residual version. After that any call to
    the original Perl-program ( within the chosen context ) is replaced
    with the residual version automatically.

    Sincerely,
    Andrei Nemytykh.
  • Gidon Wise at Aug 9, 2001 at 10:07 pm
    I might be off base here, but aren't you describing
    caching results of a program by your "Meta-Program"???
    I do this with perl scripts all the time .

    In fact CGI::Cache in CPAN is pretty good and there are others
    that are also good for various situations.


    "Andrei P. Nemytykh" wrote:
    Dear colleagues,

    Valentin Turchin wrote:
    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.
    \
    In my opinion, both possibilities can be useful.
    Sure, the second way requires much more attention.

    I remember an idea ( by Sergei Romanenko ). He suggests
    to use supercompiler together with a meta-program. The meta-program
    has to be a part of a concrete operating system. It is a dispatcher
    of supercompilation.
    The program has to observe the behavior of users:
    - how often a concrete Perl-program is used ?
    - maybe, some arguments of a program have a constant intrivial
    properties, so its specialized version makes sense ?
    - maybe, something else ...

    If the meta-program decides to transform a Perl-program, then it does
    that and creates a new residual version. After that any call to
    the original Perl-program ( within the chosen context ) is replaced
    with the residual version automatically.

    Sincerely,
    Andrei Nemytykh.
  • Helmut Enck-Radana at Aug 10, 2001 at 4:10 pm

    At 00:21 10-08-01, Gidon Wise wrote:
    I might be off base here, but aren't you describing
    caching results of a program by your "Meta-Program"???
    Not caching results, but specialized versions of the original program.
    Consider following simple example: A command line tool takes 2 arguments
    and produces some output dependent on them. In 50% of all invocations the
    2nd argument is the same. The supercompiler can transform the program to a
    specialized one, which has only 1 argument. The 2nd argument has become a
    constant within the program. The new program is as efficient as if it had
    been designed from scratch for being dependent on only 1 argument. AFAIU
    this is possible, because the semantics of the whole program is analyzed, a
    model is created, and a complete new program with the same semantics is
    generated.

    This is possible even in more complex situations, were the argument is
    itself a program. I saw working examples of programs which were generated
    by a supercompiler as it was applied to an XSL interpreter specialized by
    providing certain given XSL style sheets. These programs had the same
    semantics as the corresponding style sheets, but were quite short and very
    fast.

    -- Helmut

    "Andrei P. Nemytykh" wrote:
    [...]
    I remember an idea ( by Sergei Romanenko ). He suggests
    to use supercompiler together with a meta-program. The meta-program
    has to be a part of a concrete operating system. It is a dispatcher
    of supercompilation.
    The program has to observe the behavior of users:
    - how often a concrete Perl-program is used ?
    - maybe, some arguments of a program have a constant intrivial
    properties, so its specialized version makes sense ?
    - maybe, something else ...

    If the meta-program decides to transform a Perl-program, then it does
    that and creates a new residual version. After that any call to
    the original Perl-program ( within the chosen context ) is replaced
    with the residual version automatically.
    [...]
  • Andrei P. Nemytykh at Aug 10, 2001 at 5:29 pm

    Helmut Enck-Radana wrote:

    Not caching results, but specialized versions of the original program.
    Consider following simple example: A command line tool takes 2 arguments
    and produces some output dependent on them. In 50% of all invocations the
    2nd argument is the same. The supercompiler can transform the program to a
    specialized one, which has only 1 argument. The 2nd argument has become a
    constant within the program. The new program is as efficient as if it had
    been designed from scratch for being dependent on only 1 argument. AFAIU
    this is possible, because the semantics of the whole program is analyzed, a
    model is created, and a complete new program with the same semantics is
    generated. [ ... ]
    "Andrei P. Nemytykh" wrote:
    I remember an idea ( by Sergei Romanenko ). He suggests
    to use supercompiler together with a meta-program. The meta-program
    has to be a part of a concrete operating system. It is a dispatcher
    of supercompilation.
    The program has to observe the behavior of users:
    - how often a concrete Perl-program is used ?
    - maybe, some arguments of a program have a constant intrivial
    properties, so its specialized version makes sense ?
    - maybe, something else ...

    If the meta-program decides to transform a Perl-program, then it does
    that and creates a new residual version. After that any call to
    the original Perl-program ( within the chosen context ) is replaced
    with the residual version automatically.
    [...]
    This idea solves a number of problems of supercompilation.
    For example,
    -1- Why are we in need to supercompile a program ?
    -2- Supercompilation can take much time to do deep transformations,
    because of users do not wait of ending the process at all.
    -3- What is more, a supercompiler can try different strategies of
    the transformations to choose the best one.

    Sincerely,
    Andrei Nemytykh.
  • Helmut Enck-Radana at Aug 10, 2001 at 8:38 pm

    At 19:16 10-08-01, Andrei P. Nemytykh wrote:
    "Andrei P. Nemytykh" wrote:
    I remember an idea ( by Sergei Romanenko ). He suggests
    to use supercompiler together with a meta-program. The meta-program
    has to be a part of a concrete operating system. It is a dispatcher
    of supercompilation.
    The program has to observe the behavior of users:
    - how often a concrete Perl-program is used ?
    - maybe, some arguments of a program have a constant intrivial
    properties, so its specialized version makes sense ?
    - maybe, something else ...

    If the meta-program decides to transform a Perl-program, then it does
    that and creates a new residual version. After that any call to
    the original Perl-program ( within the chosen context ) is replaced
    with the residual version automatically.
    This idea solves a number of problems of supercompilation.
    For example,
    -1- Why are we in need to supercompile a program ?
    -2- Supercompilation can take much time to do deep transformations,
    because of users do not wait of ending the process at all.
    -3- What is more, a supercompiler can try different strategies of
    the transformations to choose the best one.
    Is the comparison of the results of applying different strategies based on
    statical analysis or on dynamic tests?

    -- Helmut
  • Andrei P. Nemytykh at Aug 12, 2001 at 3:08 pm

    Helmut Enck-Radana wrote:

    This idea solves a number of problems of supercompilation.
    For example,
    -1- Why are we in need to supercompile a program ?
    -2- Supercompilation can take much time to do deep transformations,
    because of users do not wait of ending the process at all.
    -3- What is more, a supercompiler can try different strategies of
    the transformations to choose the best one.
    Is the comparison of the results of applying different strategies based on
    statical analysis or on dynamic tests?
    -- To this moment, that is just a good idea.
    Nobody implemented the meta-program.


    Sincerely,
    Andrei Nemytykh.
  • Helmut Enck-Radana at Aug 8, 2001 at 9:36 pm

    At 20:21 08-08-01, Tom Fawcett wrote:
    This is an interesting topic but it seems unrelated to artificial
    intelligence using Perl.
    One of the traditional topics of AI is to find ways to generate
    implementations from specifications. While this is not possible in general,
    there are enough situations where executable specifications are only too
    inefficient to be useful. Let's say you write a specification for your
    application in a specification language which is restricted such that it is
    possible to implement an interpreter for this language. Even if you used a
    low-level language to implement this interpreter, the execution of the
    specification could be too slow. But you write this interpreter in your
    preferred high-level language (which could perhaps be Perl) and apply a
    supercompiler to this interpreter together with your specification as
    input. Imagine the resulting program would be efficient enough to be used
    instead of a hand-coded program. This would be a solution to a classic AI
    problem.

    I am interested in comments of the supercompiler specialists on how
    realistic/unrealistic my scenario is.

    -- Helmut

    ________________________________

    Helmut Enck-Radana
    Paradigma Software GmbH
    http://www.paradigma-software.de
    ________________________________
  • Allen_gregg at Aug 9, 2001 at 2:14 pm
    Can someone please tell me how to unsubscribe? I'm changing jobs and will
    resubscribe when I get settled at my new place of employment.

    Thanks,

    Gregg R. Allen
    EMC 2
    Layered Product Engineering
    62 TW Alexander Dr
    Research Triangle Park, NC. 27709


    Blessed are they who expect nothing,
    for they shall not be disappointed.

    F. Nietzsche
  • Valentin Turchin at Aug 10, 2001 at 3:38 am
    -----Original Message-----
    From: Helmut Enck-Radana <her@paradigma-software.de>
    Date: Wednesday, August 08, 2001 03:51 PM
    At 20:21 08-08-01, Tom Fawcett wrote:
    This is an interesting topic but it seems unrelated to artificial
    intelligence using Perl.
    >
    One of the traditional topics of AI is to find ways to generate
    implementations from specifications. While this is not possible in general,
    there are enough situations where executable specifications are only too
    inefficient to be useful. Let's say you write a specification for your
    application in a specification language which is restricted such that it is
    possible to implement an interpreter for this language. Even if you used a
    low-level language to implement this interpreter, the execution of the
    specification could be too slow. But you write this interpreter in your
    preferred high-level language (which could perhaps be Perl) and apply a
    supercompiler to this interpreter together with your specification as
    input. Imagine the resulting program would be efficient enough to be used
    instead of a hand-coded program. This would be a solution to a classic AI
    problem. >
    I am interested in comments of the supercompiler specialists on how
    realistic/unrealistic my scenario is. >
    -- Helmut

    Hi, Helmut,

    Your scenario is in the mainstream of the use of supercompilers, and you
    formulated it
    precisely. Up to now we have dealt with the case where the specifications
    are those of an algorithm,
    but we think of trying some AI applications. I thought of a general
    criterion of how effective
    the supercompilation will be. It is this: if the role of specificaiton
    remains essential at all stages
    of the construction of a solution, then we can expect that the effect of
    supercompilation will be big;
    otherwise the radical improvement is unlikely. Specification of an
    algorithm obviously
    satisfies this criterion; but theorem proving from the first principles
    does not. Indeed, specification
    here is the list of axioms, while the progress towards the proof depends on
    the total list
    of true statements, in which the axioms constitute a progressively smaller
    part, relatively.

    Best regards.

    Valentin Turchin.
  • Helmut Enck-Radana at Aug 10, 2001 at 9:45 am

    At 09:22 06-08-01, Simon Cozens wrote:
    Isn't it *really strange* that something so utterly revolutionary would
    never take off at all...
    It looks less strange, when you think of the fact that all prevalent
    programming languages are mainly based on concepts which are 30 to 40 years
    old - as if there hadn't been any development in computer science since
    then. Obviously there is a big gap between what is possible today and what
    is used to be done in industry.

    -- Helmut


    ________________________________

    Helmut Enck-Radana
    Paradigma Software GmbH
    http://www.paradigma-software.de
    ________________________________

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupai @
categoriesperl
postedAug 4, '01 at 6:45p
activeAug 14, '01 at 7:08p
posts27
users14
websiteperl.org

People

Translate

site design / logo © 2021 Grokbase