* Document 
     - open (RIO handles) with input and output pipes
     - copyandmake

* GRID::Machine::IOHandle. Open returns file globs for processes while for 
    files we have a GRID::Machine::IOHandle object!

* A GRID::Machine object can't "use GRID::Machine". This is a limitation
     See examples/netsshtelnetgridm2.pl
    - Quizá la parte remota debería ser también un singleton?

* Optimize "scp", "sftp" open a single session and keep it open then use it to transfer files?

* sub x : public (install a synonym of the sub in the hash)

* Write a debugger

* evalfile: read file and eval

* if exists a file .grid_machine/machine the options will be read from that file?

* RIO: remote files are now an integer. It does not work with IO::select.
  It is more transparent if it is a "file" on the local side. It will be a process
  that runs in a pipe.
  REMEMBER TO CONTROL SIGPIPE

* Be sure to kill nc in the remote machine when hangs
* Write a loader or booter. 
  Check if the modules were already written on the remote side and the versions agree.
  In such case, don't load them again.
* auxiliary functions (split host, port, etc.)

* Rewrite qx
* May be an AUTOLOAD for Perl CORE functions?
    - I can check if the opertor exists using Module::CoreList on the full name
    of the function
    - prototype("CORE::length")

* Add to "sub include" the parsing of attributes as:
    - "context" (send the context scalar/list to the remote sub
    - "filter" Filter output
    - 
* log files (stdout, stderr) in a subdir?

* encapsulate the freeze-thaw method with the subroutine object (for example matrix multiplication with PDL)
* edebug. Remote debug
* Parameters for new:
    -- tar
    -- untar
    -- gzip
    -- gunzip
    -- etc.

* Define functions "greadline" that - when executed on the remote side - reads from the local 
side

* Define GRID::Machine::LIOHandle objects as files on the local side that are accesible from the remote side.
  I.e. s.t. like:

   my $r = $m->sub { tutu => q{
                       my $f = GRID::Machine::LIOHandle->new("titi.txt");
                       my $x = <$f>;
                       gprint $x;
                     }
                   }

* Tests

* Documentation

* Method "call" must specify the context: if scalar or list. Important for IO.

* When installing a sub fields "thaw" and "freeze". By default Data::Dumper and eval

* The "rsync" Method

* Deferred DECISION: 
                allow (or not) pass by reference in RPC?
  S.t. like a prototype
    politely=> 1, varref => "0, 3..5, 9.."

  meaning that variables 0,3,4,5, and from 9 to the end are passed by reference

* args{log}: Ahora se fuerza a que sea relativo al HOME. Si es absoluto que se hace?
  Crearlo si no existe?

* The host variable in "new" can be undef. Fix the bug

* Make code Operating System independent. is_operative rewrite

* Look how slow is package2.pl

