public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
@ 2007-06-15  0:27 John R. Graham
  2007-06-15  4:52 ` Vlastimil Babka
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: John R. Graham @ 2007-06-15  0:27 UTC (permalink / raw
  To: gentoo-dev

I occasionally run across a package version dependency issue that cannot
be elegantly solved by the current  dependency syntax.  Every time I've
come across this, it's boiled down to a range.  For example, package
some-cat/foo has the following versions in the tree
    some-cat/foo-4.0.0-r2
    some-cat/foo-4.1
    some-cat/foo-4.1.1
    some-cat/foo-4.1.2-r2
    some-cat/foo-4.2.1-r5
    some-cat/foo-4.3
    some-cat/foo-4.4

Now, package other-cat/bar has a runtime dependency on some-cat/foo but
it only works with the 4.1 and 4.2 slot.  The other-cat/bar ebuild was
originally composed before the some-cat/foo-4.3 package came out, so the
ebuild developer coded the runtime dependency as
    >=some-cat/foo-4.1

But, when some-cat/foo-4.3 came along, it got messy.  The only possible
solution today that I know of is
    ( || =some-cat/foo-4.1* =some-cat/foo-4.2* )
and this potentially grows over time as new versions stabilize.

What I'd really like to be able to code is a range with an AND operator,
something like this
    ( && >=some-cat/foo-4.0 <some-cat/foo-4.3 )

So, my question is, does this make sense?  Is something like this
planned for some EAPI>0?  Would it be appropriate for me (a non-dev) to
file a bug and link it to SpanKy's "EAPI-1 tracker" bug?


Thanks in advance.

- John
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
  2007-06-15  0:27 [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies John R. Graham
@ 2007-06-15  4:52 ` Vlastimil Babka
  2007-06-15 18:18   ` John R. Graham
  2007-06-15  6:28 ` Kent Fredric
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Vlastimil Babka @ 2007-06-15  4:52 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John R. Graham wrote:
> I occasionally run across a package version dependency issue that cannot
> be elegantly solved by the current  dependency syntax.  Every time I've
> come across this, it's boiled down to a range.  For example, package
> some-cat/foo has the following versions in the tree
>     some-cat/foo-4.0.0-r2
>     some-cat/foo-4.1
>     some-cat/foo-4.1.1
>     some-cat/foo-4.1.2-r2
>     some-cat/foo-4.2.1-r5
>     some-cat/foo-4.3
>     some-cat/foo-4.4
> 
> Now, package other-cat/bar has a runtime dependency on some-cat/foo but
> it only works with the 4.1 and 4.2 slot.  The other-cat/bar ebuild was
> originally composed before the some-cat/foo-4.3 package came out, so the
> ebuild developer coded the runtime dependency as
>     >=some-cat/foo-4.1
> 
> But, when some-cat/foo-4.3 came along, it got messy.  The only possible
> solution today that I know of is
>     ( || =some-cat/foo-4.1* =some-cat/foo-4.2* )
> and this potentially grows over time as new versions stabilize.

If 4.1 and 4.2 are really SLOTs as you say, then this || syntax makes
good sense. Of course would be better with real slot deps :) So your
example is not so ideal. But nevermind.

> What I'd really like to be able to code is a range with an AND operator,
> something like this
>     ( && >=some-cat/foo-4.0 <some-cat/foo-4.3 )

Syntax shouldn't repeat package name twice. It wouldn't make much sense
to use it with >=some-cat/foo-4.0 <some-cat/bar-4.3 would it?

> So, my question is, does this make sense?  Is something like this
> planned for some EAPI>0?  Would it be appropriate for me (a non-dev) to
> file a bug and link it to SpanKy's "EAPI-1 tracker" bug?

There's been bug 4315 for ages, so maybe just reassign it to PMS?
- --
Vlastimil Babka (Caster)
Gentoo/Java
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGchsotbrAj05h3oQRAjg8AJ46/ofZuK6EI+LnQcTivJDzOjgj4gCfWNRe
a56SGjmxI16imQxdkfRRoQI=
=bu3E
-----END PGP SIGNATURE-----
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies
  2007-06-15  0:27 [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies John R. Graham
  2007-06-15  4:52 ` Vlastimil Babka
@ 2007-06-15  6:28 ` Kent Fredric
  2007-06-15  8:02   ` Tobias Klausmann
  2007-06-15  9:33 ` Marijn Schouten (hkBst)
       [not found] ` <20070615120051.4f35ea2c@snowflake>
  3 siblings, 1 reply; 15+ messages in thread
From: Kent Fredric @ 2007-06-15  6:28 UTC (permalink / raw
  To: gentoo-dev

On 6/15/07, John R. Graham <n3440d@gmail.com> wrote:
> I occasionally run across a package version dependency issue that cannot
> be elegantly solved by the current  dependency syntax.  Every time I've
> come across this, it's boiled down to a range.  For example, package
> some-cat/foo has the following versions in the tree
>     some-cat/foo-4.0.0-r2
>     some-cat/foo-4.1
>     some-cat/foo-4.1.1
>     some-cat/foo-4.1.2-r2
>     some-cat/foo-4.2.1-r5
>     some-cat/foo-4.3
>     some-cat/foo-4.4
>

/me votes for rubyesqe range syntax

some-cat/foo-( s:4.1 ..  s:4.2)  // start at slot 4.1 , and go upto
and including 4.2
some-cat/foo-( s:4.1 ... s:4.2) //  start at slot 4.1 and go upto, but
not including 4.2
some-cat/foo-( v:4.1.0 .. v:4.2.0  ) // start at version 4.1.0 and go
upto and including 4.2.0
some-cat/foo-( v:4.1.0 ... v:4.2.0  ) // start at version 4.1.0 and go
upto , but excluding 4.2.0

I know thats probably not possible in a bash env tho, but hopefully
the 'range' concept  will give some inspiration, as IMO, having to
specify the ebuild atom name for both upper and lower values is
redundant, and easily missused as lamented by Vlastimil Babka

/me hides in his corner to avoid abuse from people despising ruby lovers

/me goes and joins ruby addicts anonymous

-- 
Kent
ruby -e '[1, 2, 4, 7, 0, 9, 5, 8, 3, 10, 11, 6, 12, 13].each{|x|
print "enNOSPicAMreil kdrtf@gma.com"[(2*x)..(2*x+1)]}'
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies
  2007-06-15  6:28 ` Kent Fredric
@ 2007-06-15  8:02   ` Tobias Klausmann
  0 siblings, 0 replies; 15+ messages in thread
From: Tobias Klausmann @ 2007-06-15  8:02 UTC (permalink / raw
  To: gentoo-dev

Hi! 

On Fri, 15 Jun 2007, Kent Fredric wrote:
>  On 6/15/07, John R. Graham <n3440d@gmail.com> wrote:
> > I occasionally run across a package version dependency issue that cannot
> > be elegantly solved by the current  dependency syntax.  Every time I've
> > come across this, it's boiled down to a range.  For example, package
> > some-cat/foo has the following versions in the tree
> >     some-cat/foo-4.0.0-r2
> >     some-cat/foo-4.1
> >     some-cat/foo-4.1.1
> >     some-cat/foo-4.1.2-r2
> >     some-cat/foo-4.2.1-r5
> >     some-cat/foo-4.3
> >     some-cat/foo-4.4
> >
> 
>  /me votes for rubyesqe range syntax
> 
>  some-cat/foo-( s:4.1 ..  s:4.2)  // start at slot 4.1 , and go upto
>  and including 4.2
>  some-cat/foo-( s:4.1 ... s:4.2) //  start at slot 4.1 and go upto, but
>  not including 4.2
>  some-cat/foo-( v:4.1.0 .. v:4.2.0  ) // start at version 4.1.0 and go
>  upto and including 4.2.0
>  some-cat/foo-( v:4.1.0 ... v:4.2.0  ) // start at version 4.1.0 and go
>  upto , but excluding 4.2.0
> 
>  I know thats probably not possible in a bash env tho, but hopefully
>  the 'range' concept  will give some inspiration, as IMO, having to
>  specify the ebuild atom name for both upper and lower values is
>  redundant, and easily missused as lamented by Vlastimil Babka
> 
>  /me hides in his corner to avoid abuse from people despising ruby lovers
> 
>  /me goes and joins ruby addicts anonymous

As a side note, while we're talking ranged dependencies.

It would also be really, really nice to be able to (un)mask
ranges in /etc/portage/package.(un)mask.

Just my 1.953 Eurocent (adjusted for inflation).

Rgards,
Tobias

-- 
In the future, everyone will be anonymous for 15 minutes.
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
  2007-06-15  0:27 [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies John R. Graham
  2007-06-15  4:52 ` Vlastimil Babka
  2007-06-15  6:28 ` Kent Fredric
@ 2007-06-15  9:33 ` Marijn Schouten (hkBst)
  2007-06-15  9:54   ` Vlastimil Babka
  2007-06-15 11:08   ` John R. Graham
       [not found] ` <20070615120051.4f35ea2c@snowflake>
  3 siblings, 2 replies; 15+ messages in thread
From: Marijn Schouten (hkBst) @ 2007-06-15  9:33 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John R. Graham wrote:
> What I'd really like to be able to code is a range with an AND operator,
> something like this
>     ( && >=some-cat/foo-4.0 <some-cat/foo-4.3 )

AND is already the implicit combinator. Thus simply listing both these atoms
gives what you want:

>=some-cat/foo-4.0
<some-cat/foo-4.3


Still a special syntax for ranges seems like a good idea. If only portage
would not upgrade past such specifications (and downgrade the next time).

Marijn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD4DBQFGclz1p/VmCx0OL2wRAuxMAJY2sDo/FpEqRN3DPk3DkCGM5p++AJ9c/qG5
1TWUJff+OI4ut//e5vPIVg==
=HLGX
-----END PGP SIGNATURE-----
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
  2007-06-15  9:33 ` Marijn Schouten (hkBst)
@ 2007-06-15  9:54   ` Vlastimil Babka
  2007-06-15 11:08   ` John R. Graham
  1 sibling, 0 replies; 15+ messages in thread
From: Vlastimil Babka @ 2007-06-15  9:54 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marijn Schouten (hkBst) wrote:
> John R. Graham wrote:
>> What I'd really like to be able to code is a range with an AND operator,
>> something like this
>>     ( && >=some-cat/foo-4.0 <some-cat/foo-4.3 )
> 
> AND is already the implicit combinator. Thus simply listing both these atoms
> gives what you want:
> 
> >=some-cat/foo-4.0
> <some-cat/foo-4.3

Not always, AFAIK Imagine there's some 3.x versions in slot 3, 4.x in
slot 4, 5.x in slot 5. With this atoms you could end up with both 3.x
and 5.x installed, and no 4.x :) It doesn't try to satisfy both atoms
with one version.

> Still a special syntax for ranges seems like a good idea. If only portage
> would not upgrade past such specifications (and downgrade the next time).

IIRC upgrade/downgrade loops were already solved in some recent version?
Now it spits some error about conflicting deps that cause that.
- --
Vlastimil Babka (Caster)
Gentoo/Java
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGcmHKtbrAj05h3oQRAjxQAJ9jYtK7aAAWBvYttCTLW1Kt7a/OzACeL2Oe
aLZwTVOKohkRfcyyfRKpqMY=
=gYLD
-----END PGP SIGNATURE-----
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
  2007-06-15  9:33 ` Marijn Schouten (hkBst)
  2007-06-15  9:54   ` Vlastimil Babka
@ 2007-06-15 11:08   ` John R. Graham
  1 sibling, 0 replies; 15+ messages in thread
From: John R. Graham @ 2007-06-15 11:08 UTC (permalink / raw
  To: gentoo-dev

Marijn Schouten (hkBst) wrote:
> AND is already the implicit combinator. Thus simply listing both these
> atoms
> gives what you want:
>
> > =some-cat/foo-4.0
> <some-cat/foo-4.3
>
> Still a special syntax for ranges seems like a good idea. If only portage
> would not upgrade past such specifications (and downgrade the next time).
Sorry; I made a mistake on my second example.  Meant to say   
    ( && >=some-cat/foo-4.1 <some-cat/foo-4.3 )
to imply that there were versions *less* than 4.1 that should not be
picked up.

I'm not hung up *at all* on the syntax, though, and just modeled my
example after the existing OR syntax.

- John
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
       [not found] ` <20070615120051.4f35ea2c@snowflake>
@ 2007-06-15 11:45   ` Luca Barbato
  2007-06-15 11:56     ` Ciaran McCreesh
  0 siblings, 1 reply; 15+ messages in thread
From: Luca Barbato @ 2007-06-15 11:45 UTC (permalink / raw
  To: gentoo-dev

Ciaran McCreesh wrote:
> Paludis allows users to do some-cat/foo[>=4.0&<4-3] and
> some-cat/foo[=4.1|=4.2|=4.3] . The syntax isn't particularly pretty,
> but it's cleaner than requiring duplication of the cat/pkg. Combined
> with :slot deps it should give you everything you need.
> 

Seems not bad, do you have plans to refine it before proposing it for
the pms?
the combination with :slot defines within the [] or outside the [] or both?

lu

-- 

Luca Barbato

Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero

-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
  2007-06-15 11:45   ` Luca Barbato
@ 2007-06-15 11:56     ` Ciaran McCreesh
  2007-06-18  5:19       ` [gentoo-dev] " Steve Long
  0 siblings, 1 reply; 15+ messages in thread
From: Ciaran McCreesh @ 2007-06-15 11:56 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1420 bytes --]

On Fri, 15 Jun 2007 13:45:39 +0200
Luca Barbato <lu_zero@gentoo.org> wrote:
> Ciaran McCreesh wrote:
> > Paludis allows users to do some-cat/foo[>=4.0&<4-3] and
> > some-cat/foo[=4.1|=4.2|=4.3] . The syntax isn't particularly pretty,
> > but it's cleaner than requiring duplication of the cat/pkg. Combined
> > with :slot deps it should give you everything you need.
> 
> Seems not bad, do you have plans to refine it before proposing it for
> the pms?

Well, I'm happy with it like that...

> the combination with :slot defines within the [] or outside the [] or
> both?

Paludis currently requires a particular ordering:

  opcat/pkg-ver:slot::repo[bracketed][another][...]
  cat/pkg:slot::repo[bracketed][another][...]

Bracketed things can be any of:

  [use]
  [-use]
  [opver]
  [opver|opver|opver...]
  [opver&opver&opver...]

And reserved for future deviousness:

  [key=value]

opcat/pkg-ver used with [opver] things is currently accepted (but
probably shouldn't be). It behaves as if the external op-ver is added
to the brackets with whatever combining operator the brackets use, or &
if there's no combining operator.

This isn't allowed for EAPI=0, so if you want to experiment you'll have
to either do it in user config files (which can take anything that's
legal for anything, and various extra things that aren't) or set
EAPI=paludis-1.

-- 
Ciaran McCreesh


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies
  2007-06-15  4:52 ` Vlastimil Babka
@ 2007-06-15 18:18   ` John R. Graham
  0 siblings, 0 replies; 15+ messages in thread
From: John R. Graham @ 2007-06-15 18:18 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 580 bytes --]

On 6/15/07, Vlastimil Babka <caster@gentoo.org> wrote:
>
> Syntax shouldn't repeat package name twice. It wouldn't make much sense
> to use it with >=some-cat/foo-4.0 <some-cat/bar-4.3 would it?
>
> There's been bug 4315 for ages, so maybe just reassign it to PMS?
>
>
I was thinking about AND dependencies but the only reasonable examples I
could thing of were ranges of versions and thus didn't recognize bug 4315
("add support for version ranges in DEPEND") as *exactly* what I was talking
about.  It's already on SpanKy's EAPI-1 list, so, sorry for the channel
noise.

- John

[-- Attachment #2: Type: text/html, Size: 915 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [gentoo-dev]  Re: EAPI-1 (or >1, perhaps) Proposal:  AND Dependencies
  2007-06-15 11:56     ` Ciaran McCreesh
@ 2007-06-18  5:19       ` Steve Long
  2007-06-18  6:47         ` Kent Fredric
  0 siblings, 1 reply; 15+ messages in thread
From: Steve Long @ 2007-06-18  5:19 UTC (permalink / raw
  To: gentoo-dev

Ciaran McCreesh wrote:
> Luca Barbato <lu_zero@gentoo.org> wrote:
>> Ciaran McCreesh wrote:
>> > Paludis allows users to do some-cat/foo[>=4.0&<4-3] and
>> > some-cat/foo[=4.1|=4.2|=4.3] . The syntax isn't particularly pretty,
>> > but it's cleaner than requiring duplication of the cat/pkg. Combined
>> > with :slot deps it should give you everything you need.
>> 
>> Seems not bad, do you have plans to refine it before proposing it for
>> the pms?
> 
> Well, I'm happy with it like that...
> 
but as you said, it ain't pretty: what about simply replacing [] with ()?
&& to match || in portage and logical AND in C etc. seems wise too.
Allow both if you *have* to maintain backwards-compatibility, but it makes
it more like portage syntax, which folks are used to:
some-cat/foo(>=4.0&&<4.3) seems clean, for this example.

To my mind, | seems like a good second-level operator, so one could have:
cat-foo/bar(~3.6||~3.7|>=4.0&&<4.3|>=5.1) while still using the operators
everyone is used to for most things.

(& makes no sense in that context, of course.)


-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] Re: EAPI-1 (or >1, perhaps) Proposal: AND Dependencies
  2007-06-18  5:19       ` [gentoo-dev] " Steve Long
@ 2007-06-18  6:47         ` Kent Fredric
  2007-06-18 22:53           ` [gentoo-dev] " Steve Long
  0 siblings, 1 reply; 15+ messages in thread
From: Kent Fredric @ 2007-06-18  6:47 UTC (permalink / raw
  To: gentoo-dev

On 6/18/07, Steve Long <slong@rathaus.eclipse.co.uk> wrote:
> Ciaran McCreesh wrote:
> > Luca Barbato <lu_zero@gentoo.org> wrote:
> >> Ciaran McCreesh wrote:
> >> > Paludis allows users to do some-cat/foo[>=4.0&<4-3] and
> >> > some-cat/foo[=4.1|=4.2|=4.3] . The syntax isn't particularly pretty,
> >> > but it's cleaner than requiring duplication of the cat/pkg. Combined
> >> > with :slot deps it should give you everything you need.
> >>
> >> Seems not bad, do you have plans to refine it before proposing it for
> >> the pms?
> >
> > Well, I'm happy with it like that...
> >
> but as you said, it ain't pretty: what about simply replacing [] with ()?
> && to match || in portage and logical AND in C etc. seems wise too.
> Allow both if you *have* to maintain backwards-compatibility, but it makes
> it more like portage syntax, which folks are used to:
> some-cat/foo(>=4.0&&<4.3) seems clean, for this example.
>
> To my mind, | seems like a good second-level operator, so one could have:
> cat-foo/bar(~3.6||~3.7|>=4.0&&<4.3|>=5.1) while still using the operators
> everyone is used to for most things.
>
> (& makes no sense in that context, of course.)

If you can, try integrate a name based syntax into the requirement.
using decorative characters alone may have their uses, but there are
only so many you can use, and so many combinations you can create
before all your code starts looking like perl's acme eyedrops. I say
name based, because this allows some degree of permitting forward
development & enhancement without majorly breaking an existing system
:)

( im not much of a lisper, but lisp a lot of functionality for the
cost of very minimal symbol abuse . .im not saying we should use lisp
syntax, but maybe a page from their book in terms of expandability )
-- 
Kent
ruby -e '[1, 2, 4, 7, 0, 9, 5, 8, 3, 10, 11, 6, 12, 13].each{|x|
print "enNOSPicAMreil kdrtf@gma.com"[(2*x)..(2*x+1)]}'
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [gentoo-dev]  Re: Re: EAPI-1 (or >1, perhaps) Proposal: AND Dependencies
  2007-06-18  6:47         ` Kent Fredric
@ 2007-06-18 22:53           ` Steve Long
  2007-06-19  6:38             ` Kent Fredric
  0 siblings, 1 reply; 15+ messages in thread
From: Steve Long @ 2007-06-18 22:53 UTC (permalink / raw
  To: gentoo-dev

Kent Fredric wrote:
> If you can, try integrate a name based syntax into the requirement.
> using decorative characters alone may have their uses, but there are
> only so many you can use, and so many combinations you can create
> before all your code starts looking like perl's acme eyedrops. I say
> name based, because this allows some degree of permitting forward
> development & enhancement without majorly breaking an existing system
> :)
>
Wow that all sounds mega: er what does it mean? ;) I mean, can you give
examples of the syntax please? I'm guessing and instead of && but what
about (..) Is that going to be line-based? (LISP brackets are very annoying
imo.)

> ( im not much of a lisper, but lisp a lot of functionality for the
> cost of very minimal symbol abuse . .im not saying we should use lisp
> syntax, but maybe a page from their book in terms of expandability )

Yeah #haskell has nice ideas too..


-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] Re: Re: EAPI-1 (or >1, perhaps) Proposal: AND Dependencies
  2007-06-18 22:53           ` [gentoo-dev] " Steve Long
@ 2007-06-19  6:38             ` Kent Fredric
  2007-06-22  7:35               ` [gentoo-dev] " Steve Long
  0 siblings, 1 reply; 15+ messages in thread
From: Kent Fredric @ 2007-06-19  6:38 UTC (permalink / raw
  To: gentoo-dev

On 6/19/07, Steve Long <slong@rathaus.eclipse.co.uk> wrote:
> Kent Fredric wrote:
> > If you can, try integrate a name based syntax into the requirement.
> > using decorative characters alone may have their uses, but there are
> > only so many you can use, and so many combinations you can create
> > before all your code starts looking like perl's acme eyedrops. I say
> > name based, because this allows some degree of permitting forward
> > development & enhancement without majorly breaking an existing system
> > :)
> >
> Wow that all sounds mega: er what does it mean? ;) I mean, can you give
> examples of the syntax please? I'm guessing and instead of && but what
> about (..) Is that going to be line-based? (LISP brackets are very annoying
> imo.)

Plot summary:

Limitation of symbol oriented commands:
!@#$%^&*()-+~`[]:"<>,./?\|

By the time your in the want for  more than 30 general features,  your
starting to have nasty syntax like this:
(!#$ 1.4.6)

By the time you want to get something practical done, you've got big
screenfulls of non-human readable (well, not in the normal sense )
syntax which you need to frequently RTFM just to work out what each
esoteric combination of symbols does.

I'm merely suggesting that we have some room for a syntax+keyword
system ( which is both easier to parse, and easier to program, and
reduces the volume of 'wtf is that new syntax or somebody making a
typo?' for old revisions and makes it obvious to the parser 'no, thats
not a syntax error, he merely referred to a module we ain't got yet '
)

Maybe the limitations of bash programming are not conducive to that
desire tho, but if symbol based programming was all that wonderful
we'd probably have more than 255 characters in the ANSI spec ( I for
one, don't know of any languages where the actual syntax requires
Unicode, at least for any purpose other than internationalization )


Plot Summary Summary:
Future Proof, so that its easier to make stuff backwards compatible later.

Plot Summary Summary Summary:
......yeah.
>
> > ( im not much of a lisper, but lisp a lot of functionality for the
> > cost of very minimal symbol abuse . .im not saying we should use lisp
> > syntax, but maybe a page from their book in terms of expandability )
>
> Yeah #haskell has nice ideas too..
>
>
> --
> gentoo-dev@gentoo.org mailing list
>
>


-- 
Kent
ruby -e '[1, 2, 4, 7, 0, 9, 5, 8, 3, 10, 11, 6, 12, 13].each{|x|
print "enNOSPicAMreil kdrtf@gma.com"[(2*x)..(2*x+1)]}'
-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [gentoo-dev]  Re: Re: Re: EAPI-1 (or >1, perhaps) Proposal: AND Dependencies
  2007-06-19  6:38             ` Kent Fredric
@ 2007-06-22  7:35               ` Steve Long
  0 siblings, 0 replies; 15+ messages in thread
From: Steve Long @ 2007-06-22  7:35 UTC (permalink / raw
  To: gentoo-dev

Kent Fredric wrote:
> Steve Long wrote:
>> Wow that all sounds mega: er what does it mean? ;) I mean, can you give
>> examples of the syntax please? I'm guessing and instead of && but what
>> about (..) Is that going to be line-based? (LISP brackets are very
>> annoying imo.)
> 
> Limitation of symbol oriented commands:
> !@#$%^&*()-+~`[]:"<>,./?\|
> 
> By the time your in the want for  more than 30 general features,  your
> starting to have nasty syntax like this:
> (!#$ 1.4.6)
> 
<snip class="blah blah" /> 
Man, I just wanted to see some of your proposed syntax! ;P 
Can you give us some specific examples where your syntax is cleaner than the
existing (or the proposed additions.) Further, I can see it being tricky to
maintain two syntactic forms, so unless you can show us how much more
simple it is, I'd vote for just the amending the existing one, as it isn't
really that cryptic. Your `example' misses out the cat/pkg which tends to
make things easier to read imo.
#gentoo-dev-help (irc.freenode.org) is a great place to ask about this sorta
stuff btw.


-- 
gentoo-dev@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2007-06-22  7:44 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-15  0:27 [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies John R. Graham
2007-06-15  4:52 ` Vlastimil Babka
2007-06-15 18:18   ` John R. Graham
2007-06-15  6:28 ` Kent Fredric
2007-06-15  8:02   ` Tobias Klausmann
2007-06-15  9:33 ` Marijn Schouten (hkBst)
2007-06-15  9:54   ` Vlastimil Babka
2007-06-15 11:08   ` John R. Graham
     [not found] ` <20070615120051.4f35ea2c@snowflake>
2007-06-15 11:45   ` Luca Barbato
2007-06-15 11:56     ` Ciaran McCreesh
2007-06-18  5:19       ` [gentoo-dev] " Steve Long
2007-06-18  6:47         ` Kent Fredric
2007-06-18 22:53           ` [gentoo-dev] " Steve Long
2007-06-19  6:38             ` Kent Fredric
2007-06-22  7:35               ` [gentoo-dev] " Steve Long

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox