From will+ant@cs.cmu.edu Fri Mar 3 20:24:00 2000 Return-Path: Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 68885 invoked from network); 3 Mar 2000 20:24:00 -0000 Received: from ux4.sp.cs.cmu.edu (128.2.198.104) by locus.apache.org with SMTP; 3 Mar 2000 20:24:00 -0000 Received: from TURTLE.CORAL.CS.CMU.EDU by ux4.sp.cs.cmu.edu id aa22184; 3 Mar 2000 15:23 EST Date: Fri, 03 Mar 2000 15:23:29 -0500 From: William Uther To: ant-dev@jakarta.apache.org Subject: Re: What flavour of scripting? Message-ID: <16080681.3161085809@turtle.coral.cs.cmu.edu> In-Reply-To: Originator-Info: login-id=will; server=postoffice.srv.cs.cmu.edu X-Mailer: Mulberry (MacOS) [1.4.4, s/n S-100002] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N --costin@eng.sun.com wrote: > Sam Ruby wrote: >> Now that Ant supports conditional compilation, expect to see BSF an >> optional part of several Apache projects. And several Apache projects as >> option plugins to BSF (example: make no mistake about it, Ant is a >> scripting language. If you have any doubt, take one look at >> tomcat-test.xml). I looked at test-tomcat.xml and it looked just like a script. To the point where I wondered why you used Ant. I was also amazed to find that is relied on the left-to-right execution ordering of dependancies. > Sam - almost everything can be turned into a scripting language. You can > write scripts in the boot prompt of some computers ( Forth ). You can > write scripts in Postscript ( and it's not a very bad language, it has > some nice features). XML looks like a different aproach from this > "everything is a program" world, but of course it's easy to turn XML into > a PL. [snip] > My point is that it is still posible to use the antfile as a description - > what has to be done to build this project. It doesn't say how ( of > course, you will say that it does - it's a sequnce of calls to execute() > in tasks). [snip] > Don't think that by using XML you'll create a perfect scripting > language. XSL is one of the best examples - it is XML but still ... Describing how to build something is describing what sequence of tasks to execute. This in an inherantly procedural activity - you are describing a series of tasks that make state changes on the file-system. You can discuss how strong a language you want. I think the answer is that we want as weak and as simple a language as will fit most common requirements. This could be in between the extremes of 'a list of Tasks' and 'Turing Complete'. We've had a number of people post requirements saying they'd like certain functionality. We've also had people saying ant should be kept as dependant targets each with a simple list of tasks. There seems to be a fundamental conflict here. What happens now? There have been a number of intermediate solutions listed. How do we pick one and go with it? As a final suggestion, how about this: Properties are constant once defined. If defined at a certain scope they become undefined outside that scope. Tasks can be nested. It is an error to try to redefine an already defined property. This is NOT turing complete even if you allow and . (it is close to a functional language, but without functions). later, \x/ill :-}