Author: particle
Date: 2009-01-07 01:53:03 +0100 (Wed, 07 Jan 2009)
New Revision: 24789

Modified:
   docs/Perl6/Spec/S19-commandline.pod
Log:
[S19] rip out option categories and services until they prove useful

Modified: docs/Perl6/Spec/S19-commandline.pod
===================================================================
--- docs/Perl6/Spec/S19-commandline.pod 2009-01-06 21:18:51 UTC (rev 24788)
+++ docs/Perl6/Spec/S19-commandline.pod 2009-01-07 00:53:03 UTC (rev 24789)
@@ -209,65 +209,6 @@
 =back
 
 
-=head1 Option Categories
-
-Perl's command line options fall into three categories:
-
-=over 4
-
-=item *
-
-B<Mode> flags set Perl's operational mode (e.g. I<--doc>, I<-e>).
-Only one mode flag may be specified on the command line.
-
-=item *
-
-B<Dynamic> flags may be set on the command line, via the I<PERL6OPT>
-environment variable, or within a file.
-
-[What file?  We need to be Very Careful not to delegate the identity of
-the current language to anything outside of P6.  I would very much hate
-to see anything resembling a .perl6rc file.]
-
-{{ TODO clarify that i mean "source file" here and not an rc-like file }}
-
-=item *
-
-B<Static> flags may be set only on the command line, and affect the entire
-run of the program.
-
-[I think this Static/Dynamic distinction is rather meaningless and
-confusing.  Certain commitments will be made by certain phases of
-compilation/linking/running, and every switch is dynamic before the
-commitment, static after.  And Mode flags are just the ones that
-commit so fast they exclude alternatives, seems like...]
-
-{{TODO very well, i'll shift the design to be more dynamic here}}
-
-=back
-
-For more on options and their classifications, see section
-L</"Option Reference">.
-
-
-=head1 Option Services
-
-Just because Perl 6 gives you a reasonable default command-line parser doesn't
-mean you don't want to extend it, or replace it with something else entirely.
-The command-line processor is organized into a set of services, each of which
-respond to a set of command-line options. These services live in the
-C<{{TODO}}> namespace, and may be overridden by loading a module with the
-C<--option-parser> option (see below).
-
-{{ TODO more details needed }}
-
-[Would like to see a use case for this mechanism.  The whole Services
-concept seems very nebulous, especially when you start giving services
-names like "Awk"..."Autoloop" would be more meaningful.]
-
-{{rename done}}
-
-
 =head1 Option Reference
 
 Perl 6 options, descriptions, and services.
@@ -301,18 +242,12 @@
 
 Turns on autosplit mode.
 
-Service: Autoloop
-
-Notes: Annotates function produced by -n | -p
-
 =item ++ARGSPROC [options, values] ++/ARGSPROC
 
 {{TODO don't like this name, but don't like ++CMD either}}
 
 Add a command-line processor.
 
-Service: Option
-
 Notes: When this option is parsed, it immediately triggers an action that
 could affect the remainder of the parse. Therefore, it's a good idea to put
 this option as early as possible in the argument list.
@@ -324,16 +259,12 @@
 
 Check syntax, then exit.
 
-Service: Runtime
-
 Notes: Desugars to C<++COMPILER -e 'CHECK{ compiles_ok(); exit; }' ++/COMPILER>
 
 =item --doc
 
 perldoc
 
-Service: Doc
-
 Notes: Desugars to
 C<++COMPILER -e 'CHECK{ compiles_ok(); dump_perldoc(); }' ++/COMPILER>
 
@@ -343,8 +274,6 @@
 
 Set debugging flags.
 
-Service: Debugger
-
 Notes: At least it's a start. Need a debugger spec for more.
 
 =item --execute, -e commandline
@@ -356,25 +285,12 @@
 your first -e on the command line should be passed a value of '6', like C<-e6>.
 See L<Synopsis 11|S11-modules.pod/"Forcing Perl 6"> for details.
 
-Service: Runtime
-
-Notes: Returns a function that's executed unless otherwise modified by
-Autoloop service's -p , -n, -a, -F.
-Actually combines all source from all -e parameters, then compiles when
-there are no more -e. Assigns the generated function to MAIN.
-
-[Not really a Mode in the sense you've defined it, but an input
-redirection of a vaguely here-docish flavor.  You could combine it
-with -c or --doc for instance, so not exclusive.]
-
 =item --autoloop-split, -F [string, closure, etc]
 
 Pattern to split on (used with -a). Accepts unicode strings (as long as your
 shell lets you pass them). Allows passing a closure
 (e.g. -F "{use Text::CSV}"). Awk's not better any more :)
 
-Service: Autoloop
-
 Notes: Substitutes a function for the default function which
 is { split ' ' } or whatever.
 
@@ -382,14 +298,10 @@
 
 Print summary of options. Desugars to C<++CMD --print-help --exit ++/CMD>.
 
-Service: Usage
-
 =item --include, -I
 
 Prepend directory to @*INC.
 
-Service: Lib
-
 Notes: this is unspecced elsewhere, so may not survive long.
 
 [at best, @*INC will only be the user's ad hoc libraries.  The API for
@@ -402,23 +314,10 @@
 
 use/no module.
 
-Service: Meta
-
-Notes: Maybe this happens before or affects which services are loaded.
-Or maybe there can be a UNIVERSAL service which knows about other services
-and is built into the interpreter. No looking at disk required?
-
-[I have no idea what you're talking about here...these switch are in
-the same category as -n and -p; they imply additional wrapping of
-the given code with extra "use" directives.  The syntax could probably
-use some refactoring though.]
-
 =item --autoloop-no-print, -n
 
 Act like awk.
 
-Service: Autoloop
-
 Notes: Desugars to C<++PARSER --prelude=Perl6-autoloop-no-print ++/PARSER>.
 
 =item --output-format, -O format
@@ -436,16 +335,12 @@
 
 Act like sed.
 
-Service: Autoloop
-
 Notes: Desugars to C<++PARSER --prelude=Perl6-autoloop-print ++/PARSER>.
 
 =item --search-path, -S path
 
 Use path to search for script specified on command-line.
 
-Service: Runtime
-
 =item --taint, -T
 
 Turns on "taint" checking. See L<...> for details.
@@ -457,8 +352,6 @@
 
 Display program name, version, patchlevel, etc.
 
-Service: Usage
-
 [maybe wants to propagate -v to ++CMD, ++PARSER, ++RTS, and any
 other known subsystems?]
 
@@ -470,8 +363,6 @@
 
 Display configuration details.
 
-Service: Usage
-
 [likewise]
 
 =back

Reply via email to