Created on: Thu 10 Dec 2009 10:32:58 PM
Last saved: Tue 09 Jul 2013 08:51:39 AM 


+-----------------------------------------------------------+
|                OS/Platforms supported: ALL                |
+-----------------------------------------------------------+

This directory contains development efforts for a new and
improved perldl shell (Perldl2).

You need to install the version 1.003011 of Devel::REPL
and have installed either Term::ReadLine::Perl or
Term::ReadLine::Gnu in order to use the new Perldl2 shell
capabilities.


+-----------------------------------------------------------+
|                         CONTENTS                          |
+-----------------------------------------------------------+

 README
   This file

 TODO
   Development list for Perldl2 shell

 Makefile.PL
   Perl configuration/build script for Perldl2

 Plugin/
 Profile/
 Script.pm
   Perl modules and directories with modules for Perldl2

 pdl2
   A perl script for starting the Perldl2 shell.
   (Falls back to the original perldl if either Devel::REPL
   or neither Term::ReadLine::Gnu nor Term::ReadLine::Perl
   are installed.)


+-----------------------------------------------------------+
|                      INSTALLATION                         |
+-----------------------------------------------------------+

  By default, the Perldl2 shell is always built and the
  pdl2 script installed.  To disable this, edit the
  WITH_DEVEL_REPL option in the perldl.conf file.

  You will need to install Devel::REPL version 1.003011
  or greater and either of Term::ReadLine::Gnu or
  Term::ReadLine::Perl to access the new pdl2 capabilities.


+-----------------------------------------------------------+
|                           USE                             |
+-----------------------------------------------------------+

  To use the Perldl2 shell, from the PDL build directory
  run the following:

    perl -Mblib Perldl2/pdl2

  If you have installed the just built PDL, you should
  be able to run:

    pdl2

  To exit the Perldl2 shell from the 'pdl> ' prompt, type
  Ctrl-D or quit, (q, x, and exit shortcuts are also
  available).  If Devel::REPL is not installed (or you
  don't have either TR::Gnu or TR::Perl), pdl2 will use
  perldl instead but the new Perldl2 features will not
  be available.

  The idea is that one just uses pdl2 where you used to
  use perldl.  At some point, the development will be
  complete and there will be only one PDL shell.


+-----------------------------------------------------------+
|                          NOTES                            |
+-----------------------------------------------------------+

 Supported functionality from Devel::REPL and PDL:
  * DDS (pretty prints output using Data::Dump::Streamer)
  * History (redo commands with !-1 and !<num> syntax)
  * Interrupt (interrupt with Ctrl-C; not on MSWin32)
  * LexEnv (e.g., my $x = zeros(10) works)
  * MultiLine::PPI (handles multiline input like perldl)
  * NiceSlice (PDL::NiceSlice works too!)
  * Packages (keeps track of current user package)
  * PDLCommands (perldl shell v1 convenience routines)
  * ReadLineHistory
    * Save and restore command history to file
  * CompletionDrivers
    * Globals  (completion for globals) 
    * INC      (completion for use module::name)
    * Keywords (completion for perl keywords)
    * LexEnv   (completion for lexical vars)
    * Methods  (completion of method names)

 Default PDL modules loaded:
  * PDL
  * PDL::Dbg
  * PDL::Doc::Perldl
  * PDL::IO::Dumper
  * PDL::IO::FlexRaw
  * PDL::IO::Pic
  * PDL::Image2D
  * PDL::AutoLoader

 ? and ?? are aliases for help and apropos
 
 Arguments to help|usage|apropos|sig|badinfo|demo are autoquoted

 Shell escapes start with $PERLDL::ESCAPE as the first character
 of a line ('#' by default).

 l <num> prints the last <num> lines of history, default 20.

 p prints the following args separated by space (i.e., $,=' ')

 demo as a command by itself lists the possible demos available.
 Otherwise it runs the specified demo.

 By default, leading patterns matching the pdl2 shell
 prompt ('pdl> ' with possible surrounding white space)
 are stripped from the input.  That allows for easy
 cut-and-paste of pdl2 sessions from examples, demos,
 or docs.

 The Perldl2 shell, pdl2, loads/saves from the same history
 file as perldl.

 The Perldl2 shell, pdl2, loads your .perldlrc file
 from the same location as the perldl shell does.  It also
 accepts .pdlrc as the name---looking forward to the new
 naming scheme for the interactive shell.  A local.pdlrc
 or local.perldlrc are run if present as well.
