Hmmm, a basic tenet of Prolog is that the rules do not have any side
effects. That is why Prolog can back track like it does. In a build process
there are many side effects in creating, modifying, and copying/moving
files. These side effects could become impossible to restore to their
original states.

I too, have little trouble with the Ant language the way it is. You must
learn to work with the language. All languages have their drawbacks so we
will never please everyone. 

I have used Ant very successfully in projects other than build. I needed to
produce and process lists of files so I needed looping. Working with Ant I
simply added AntContrib and used its looping capabilities.

Thanks.  Bill 

Bill Rich
Wilandra Consulting LLC
[EMAIL PROTECTED]
http://www.wilandra.com

-----Original Message-----
From: Rick Genter [mailto:[EMAIL PROTECTED] 
Sent: Friday, February 09, 2007 7:18 AM
To: Ant Users List
Subject: RE: Python implementation for Ant

> -----Original Message-----
> From: Steve Loughran [mailto:[EMAIL PROTECTED]
> Sent: Friday, February 09, 2007 2:15 AM
> To: Ant Users List
> Subject: Re: Python implementation for Ant
> 
> Now, I am not going to evangelise Prolog on everyone, but I found some 
> things really nice about going back to it
>   -its very graph centric. If you can walk the graph (especially 
> depth-first), then you get graph code for free
>   -lists are intrinsic to the language. Java only has arrays and 
> strings; no lists. So working with lists drops you down to objects and 
> unwiedly operations.
>   -incredibly fast dev cycle. That is despite the fact it doesnt come 
> with IDEs as good as IDEA.

It's funny you bring this up; while following this thread and reflecting on
the declarative nature of ANT, I was brought back to a previous life (late
'80s) where I did a *lot* of development in Prolog. At the time I was using
it for language parsing; I was actually able to successful parse COBOL using
Prolog thanks to its ability to backtrack. If you've ever looked seriously
at the syntax of COBOL you'll realize that it's LALR(infinite); you can't
even lexically analyze COBOL programs without a wacky lexer (e.g., you can
embed comments within tokens, and there is no cpp-like preprocessor).

Anyway, it would be interesting to merge ANT and Prolog, especially if you
could come up with semantics for backtracking (e.g., my build step failed,
so walk back the dependency tree and "restore" everything back to the way it
was).

Just random musings from someone who's had way too little coffee so far this
morning.

Rick
--
Rick Genter
Principal Software Engineer
Silverlink Communications
<mailto:[EMAIL PROTECTED]> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For additional
commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to