On Sat, 31 Dec 2011, Chris Double wrote: > On Fri, Dec 30, 2011 at 5:42 AM, wrote: >> Basically OP_DUP lets you duplicate the code on the stack and that is the >> key to looping.  I'm pretty sure from here we get get Turing completeness. >> Using the stack operations I expect you can implement the SK-calculus >> given an OP_EVAL that allows arbitrary depth. >> >> OP_EVAL adds dangerously expressive power to the scripting language. > > If you look at the archives of the concatenative programming mailing > list [1] you'll see lots of examples of people creating stack > languages with minimal operations that exploit similar functionality > to reduce the required built in operations. The discussion on the list > is mostly about stack based languages where programs can be pushed on > the stack and executed (eg. Joy [2]/Factor/Some Forths). > > I don't think the scripting engine in bitcoin has the ability to > concatenate, append or otherwise manipulate scripts on the stack to be > eval'd though does it? It will limited ability manipulate scripts on the stack through the use of arithmetic and hashing operations, and if OP_CAT, OP_SUBSTR and friends are ever restored, it will have even more abilities. -- Russell O'Connor ``All talk about `theft,''' the general counsel of the American Graphophone Company wrote, ``is the merest claptrap, for there exists no property in ideas musical, literary or artistic, except as defined by statute.''