Re: [perl6/specs] 6ef69b: pod vars are now lowercase as seen in 3e1a9a5a576b...
> Thank you damian, i will apply that patch, Much appreciated, Herbert! Damian
Re: [perl6/specs] 6ef69b: pod vars are now lowercase as seen in 3e1a9a5a576b...
Thank you damian, i will apply that patch, > Herbert Breunung asked: > >> what was you rational behind this decision. >> I like it visually but my brain refuses to find any logic why only there >> special vars should be different. > > This change stems from another change that we made after discussions at > YAPC Riga last year. That change was to convert the =DATA and =END > markers to =data and =finish. > > The rationale for that change was as follows... > > In the original redesign for Pod6, every built-in directive (=begin, > =head1, =item, =table, etc.) was lower-case...except for =DATA and =END, > which retained their vestigal upper-casing, in analogy to Perl 5's > __DATA__ and __END__. > > And in the original Pod6 design, every upper-case directive (=SYNOPSIS, > =AUTHOR, =COPYRIGHT, etc.) was a "semantic block"except for =DATA > and =END, which were built-ins. > > In other words, =DATA and =END were violating both the syntax for > built-ins (should be lower-case, but aren't) and the semantics > of upper-case (should be semantic blocks, but aren't). > > So we changed them to what the syntax and semantics were telling us they > should be: lower-case. > > But this change broke the one-to-one mapping between Pod sections and > Pod-access variables. Previously it was: > > =pod<-> $=pod > =UserDef<-> $=UserDef > =SYNOPSIS <-> $=SYNOPSIS > =DATA <-> $=DATA > > But, after the Riga discussions it became: > > =pod<-> $=pod > =UserDef<-> $=UserDef > =SYNOPSIS <-> $=SYNOPSIS > =data <-> $=DATA (oops!) > > Now, this second change simply restores balance to the Force: > > =pod<-> $=pod > =UserDef<-> $=UserDef > =SYNOPSIS <-> $=SYNOPSIS > =data <-> $=data > > > Note too that, under the current notion that *any* Pod block > (say: =foo or =BAR) is available under a variable of its own name > (i.e. $=foo and $=BAR), then $=DATA is still a valid variable. It does > not, however, access the built-in "data block" named =data. Instead, it > accesses the (potential) semantic block named =DATA...which is an > entirely different beastie. > > > BTW, S02 still has remnant mentions of $=POD and $=DATA, as well as some > other "antiquities" regarding Pod variables. I have attached a proposed > docpatch. > > > Damian
Re: [perl6/specs] 6ef69b: pod vars are now lowercase as seen in 3e1a9a5a576b...
Herbert Breunung asked: > what was you rational behind this decision. > I like it visually but my brain refuses to find any logic why only there > special vars should be different. This change stems from another change that we made after discussions at YAPC Riga last year. That change was to convert the =DATA and =END markers to =data and =finish. The rationale for that change was as follows... In the original redesign for Pod6, every built-in directive (=begin, =head1, =item, =table, etc.) was lower-case...except for =DATA and =END, which retained their vestigal upper-casing, in analogy to Perl 5's __DATA__ and __END__. And in the original Pod6 design, every upper-case directive (=SYNOPSIS, =AUTHOR, =COPYRIGHT, etc.) was a "semantic block"except for =DATA and =END, which were built-ins. In other words, =DATA and =END were violating both the syntax for built-ins (should be lower-case, but aren't) and the semantics of upper-case (should be semantic blocks, but aren't). So we changed them to what the syntax and semantics were telling us they should be: lower-case. But this change broke the one-to-one mapping between Pod sections and Pod-access variables. Previously it was: =pod<-> $=pod =UserDef<-> $=UserDef =SYNOPSIS <-> $=SYNOPSIS =DATA <-> $=DATA But, after the Riga discussions it became: =pod<-> $=pod =UserDef<-> $=UserDef =SYNOPSIS <-> $=SYNOPSIS =data <-> $=DATA (oops!) Now, this second change simply restores balance to the Force: =pod<-> $=pod =UserDef<-> $=UserDef =SYNOPSIS <-> $=SYNOPSIS =data <-> $=data Note too that, under the current notion that *any* Pod block (say: =foo or =BAR) is available under a variable of its own name (i.e. $=foo and $=BAR), then $=DATA is still a valid variable. It does not, however, access the built-in "data block" named =data. Instead, it accesses the (potential) semantic block named =DATA...which is an entirely different beastie. BTW, S02 still has remnant mentions of $=POD and $=DATA, as well as some other "antiquities" regarding Pod variables. I have attached a proposed docpatch. Damian S02.patch Description: Binary data
Re: [perl6/specs] 6ef69b: pod vars are now lowercase as seen in 3e1a9a5a576b...
Dear Damian Conway, what was you rational behind this decision. I like it visually but my brain refuses to find any logic why only there special vars should be different. thank you very much. herbert Am 03.04.2012 23:05, schrieb GitHub: > Branch: refs/heads/master > Home: https://github.com/perl6/specs > Commit: 6ef69b98d8afb6e33a271a466fb8e1beb7142eb8 > > https://github.com/perl6/specs/commit/6ef69b98d8afb6e33a271a466fb8e1beb7142eb8 > Author: Herbert Breunung > Date: 2012-04-03 (Tue, 03 Apr 2012) > > Changed paths: > M S28-special-names.pod > > Log Message: > --- > pod vars are now lowercase as seen in > 3e1a9a5a576b90e9eeabdb7083d16431513513f2 > > >