Subject: Re: [boost] Announcement: Faber, a new build system based on bjam
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2017-11-30 12:54:11
On 30.11.2017 07:32, Paul A. Bristow via Boost wrote:
>> -----Original Message-----
>> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Hans Dembinski via Boost
>> Sent: 30 November 2017 10:52
>> To: Stefan Seefeld
>> Cc: Hans Dembinski; boost_at_[hidden]
>> Subject: Re: [boost] Announcement: Faber, a new build system based on bjam
>>> On 29. Nov 2017, at 14:31, Stefan Seefeld <stefan_at_[hidden]> wrote:
>>> On 29.11.2017 07:59, Hans Dembinski wrote:
>>>>> from faber.artefacts.binary import binary
>>>>> greet = module('greet')
>>>>> hello = binary('hello', ['hello.cpp', greet.greet])
>>>>> rule(action('test', '$(>)'), 'test', hello, attrs=notfile|always)
>>>>> default = hello
>>>>> which uses higher-level artefacts (`binary`, `library`) and doesn't
>>>>> require the user to define his own actions to build.
>>>> This example remains cryptic.
>>>> from faber.artefacts...: artefacts? The term "artefact" is very general and non-descriptive. The first definition provided by
>> Google is essentially "human-made thing".
>>> Right, it's what "faber" generates (using the same stem even).
>> :) Fair enough, but it is still not very descriptive. Why use an uncommon latin word if you could use a common word from
>> day-to-day language? The purpose of language is to transmit information, so it is usually a good idea to use common words
>> that leave no room for ambiguity.
>> Ironically, the other meaning of "artefact" is "any error in the *perception or representation of any information*, introduced
>> by the involved equipment or technique(s)" [Wikipedia]
> I'm with Hans on this.
(Yes, I'm fully aware of the difficulties of defining and establishing
terminology. :-) )
> But it would be better to call it 'thing' than artefact!
Ah, no. Because with "artefact" I really use the original (etymologic)
meaning: something created. Think of yourself as "homo faber" in that
> PS '$(>)' really, really turns me off :-(
Sorry for that. That's a bit of inheritance from bjam, but can easily be
changed. Or we could add aliases such as $(in) and (out), or whatever
I have to admit that I bit frustrated that we spend so much time talking
about naming and syntax, rather than the more fundamental stuff like
design or functionality. Is that merely because it's easy to find syntax
issues, but arguing about design requires more time to understand the
thing under review ? I really don't want to get stuck in bikeshed
discussions after having spent so much effort on Faber's infrastructure
to correct what I perceived as major flaws in b2's design. . :-(
-- ...ich hab' noch einen Koffer in Berlin...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk