Re: Guile support in GNU make

Paul Smith <[email protected]>
Newsgroups gmane.comp.gnu.make.devel
Organization GNU's Not Unix!
Message-ID <1326658150.3482.259.camel@homebase>
On Sun, 2012-01-15 at 21:04 +0200, Eli Zaretskii wrote:
> But this cannot be enough to have a truly extensible Make, could it?

It depends on your definition of "extensible" of course.

> (Btw, how come one needs to open and close files in an extension
> language? this should be automatic, no?)

I don't understand what you mean by "automatic".  Why _wouldn't_ an
extension language need to open and close files?  It's all a matter of
the level of the language; Guile is a complete programming language not
just an extension language.  You can always create higher-level
procedures if you prefer a simpler interface:

        (define (>> file string)
          (let ((port (open-file file "a")))
            (display string port)
            (newline port)
            (close-port port)))

Now call:

        (>> "myfile" "some text to go into myfile)

> What I think is needed is to be able to affect Make on a more
> fundamental level.  For example, control whether a target will be
> remade given its prerequisites, or dynamically control the built-in
> rules, or maybe access the dependency graph and do something with it.

That's an entirely different thing.  To do this would require a whole
new internal API implementation that was stable and comprehensive, that
simply doesn't exist right now, and I don't think is appropriate to try
to create for this release.

At some point, after we have more experience with these extensions and
what people can, and want to, do with them, we will be better able to
decide what, or if, other facilities are needed.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[email protected]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.net
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.