Ruby has Rake. I think Python has SCons.
In addition to Rake, Ruby also has
Rant.
As for
SCons,
it's based on the Perl
Cons
software construction utility, both designed by Steven Knight.
Notice that Cons, SCons, Rake and Rant are all examples of an "internal"
DSL
(Domain Specific Language).
As noted in
Using the Rake Build Language:
- make is an external DSL using a custom syntax
- ant (and nant) is an external DSL using an XML based syntax
- rake is an internal DSL using Ruby
Internal DSLs have some advantages, notably:
- You don't have to drop out of the DSL to perform tasks outside the scope of the DSL. For example, a home-grown concoction of makefiles, perl and shell scripts can be awkward to maintain.
- Easy interoperability when using multiple internal DSLs.
The trouble with Cons, SCons, rake and rant is that you are limited
to using only valid syntax of the host language; that is, you can't
invent new syntax to better express your domain.
I feel Perl 6, due to its macro capability, should prove
a superior language for implementing internal DSLs
(much like
Lisp).
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.