Boost logo

Boost :

Subject: Re: [boost] Announcement: Faber, a new build system based on bjam
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2017-11-30 15:04:00


> -----Original Message-----
> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Stefan Seefeld via Boost
> Sent: 30 November 2017 12:54
> To: boost_at_[hidden]
> Cc: Stefan Seefeld
> Subject: Re: [boost] Announcement: Faber, a new build system based on bjam
>
> 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
> >>>>>
> >>>>> (from
> >>>>> https://github.com/stefanseefeld/faber/blob/develop/examples/modular/fabscript
> >> <https://github.com/stefanseefeld/faber/blob/develop/examples/modular/fabscript>),
> >>>>> 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
> ontology :-)
>
> >
> > Paul
> >
> > 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
> people prefer.
>
> 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. . :-(

OK - yes definitely.

Sorry for the noise - I can resist anything but temptation ;-)

Paul


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk