On 19 Sep 2011, at 17:14, Paul Smith wrote: > In make, everything is just words: broken up on whitespace. So for > example, maybe someone writes a Guile function that computes a complex > set of prerequisites for a target: > > target: $(guile (...some Guile program...)) > > The list of prerequisites is a whitespace-separated list of target > names. If the Guile program returned a string like "dep1 dep2 dep3" > then that would be fine with what I have. But it seems like it might be > nice to allow the Guile script to return it as a list instead. Then I'd > like to convert a list like '(dep1 dep2 dep3) into a string "dep1 dep2 > dep3" (not "(dep1 dep2 dep3)" as display would do). > > But of course each element of the list could be something more complex, > as well. So it gets tricky.
How does 'make' store a list of words separated by strings internally? If Guile converts its lists to such strings, the behavior is likely to be fragile. It would better if 'make' converted those strings internally to lists, and the Guile extension interaction with those lists. Hans