cvsuser     04/12/08 22:37:26

  Modified:    languages/tcl TODO
  Log:
  major cleanup of TODO file
  
  Revision  Changes    Path
  1.25      +79 -140   parrot/languages/tcl/TODO
  
  Index: TODO
  ===================================================================
  RCS file: /cvs/public/parrot/languages/tcl/TODO,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- TODO      9 Dec 2004 05:54:43 -0000       1.24
  +++ TODO      9 Dec 2004 06:37:26 -0000       1.25
  @@ -6,6 +6,8 @@
   
   TODO tests would also suffice, where possible.
   
  +=item update docs/* 
  +
   =back 4
   
   =head1 Programming Issues
  @@ -30,16 +32,89 @@
   An object is probably too heavyweight for this. A PMC with a few overloaded
   methods is probably sufficient.
   
  +=item Use PMCs to handle numifying
  +
  +not the pir routines we now have. Verify that [expr 2a + 2b] behaves
  +appropriately when doing this. Include proper numififcation of octal and
  +hex
  +
   =back 4
   
  -=head1 Uncategorized Issues
  +=head2 PIR-level tasks
   
   =over 4
   
  -=item given PGE
  +=item interactive tclsh
  +
  +interactive tclsh mode currently only waits for EOF and then runs all
  +commands entered. should have sane defaults for tcl_prompt1, tcl_prompt2
  +and respect them, and process intermediate input.
  +
  +=item implement default globals, etc.
  +
  +global variables provided by tcl libary. L<tclvars>.
  +
  +global variables provided by tcl interpreter. L<tclsh>
   
  -[array get] [array names] [array unset] 
  -[regexp] [regsub] [switch] [glob]
  +source per-user settings. L<tclsh>
  +
  +=item misc
  +
  +octal and hex escapes are not supported. (Not sure parrot is
  +ready for this yet) in C<lib/parser.imc>
  +
  +=item unimplemented commands/subcommands
  +
  +[after] [array get] [array names] [array unset] 
  +[array statistics] [array anymore] [array donesearch]
  +[array nextelement] [array startsearch] [bgerror] [binary] 
  +[case] [clock] [close] [cd] [dde] [encoding] [eof] [exec]
  +[fblocked] [fconfigure] [fcopy] [file] [filename] [fileevent]
  +[flush] [foreach] [gets] [glob] [http] [info] [interp] [library]
  +[lindex] [load] [lreplace] [lsearch] [lset] [lsort] 
  +[memory] [msgcat] [namespace] [open] [package] [pid] [pwd]
  +[read] [registry] [regexp] [regsub] [resource] 
  +[safe] [scan] [seek] [socket] [subst]
  +[string repeat] [string replace] [string tolower]
  +[string totitle] [string toupper] [string trim] [string trimleft]
  +[string trimright] [string compare] [string equal] [string last]
  +[string bytelength] [string compare] [string is] [string map]
  +[string wordstart] [string wordend] [string map] [switch] [tcltest]
  +[tell] [update] [variable] [vwait]
  +
  +=item interpreter exit value
  +
  +If the return type of the outermost script is not OK, return the
  +I<appropriate> code to the system.
  +
  +
  +=back 4
  +
  +=head2 Tests
  +
  +=over 4
  +
  +=item standards
  +
  +Any future tests, write more like t/tcl_var_subst.t. Eventually cleanup
  +tests so they're consistent.
  +
  +=item Add tests for...
  +
  +tclword.imc tcl*.pmc
  +[concat] [join] [lrepeat] [uplevel] [upvar]
  +[lrange] [array set] [global] [string match] [inline]
  +the macros?
  +expr's precedence and parens
  +[puts]'s ability to write to other channels.
  +
  +=item pass tcl test suite
  +
  +=back 4
  +
  +=head1 Uncategorized Issues
  +
  +=over 4
   
   =item From leo - cleanup of tcl objects.
   
  @@ -79,13 +154,6 @@
   
   =item add benchmarks?
   
  -=item cross language compatibility 
  -
  -We need to make sure that we I<take> any PMC and try to do the right
  -thing. Don't I<require> that someone pass in a TclString when a PerlString
  -will work fine, thanks. This is now a bigger issue when using the [list] ops.
  -if someone passes in a fixed list and we need to resize it... what do we do?
  -
   =item given freeze/thaw for objects...
   
   Once freeze/thaw is working for tclwords (currently waiting on parrot
  @@ -109,12 +177,6 @@
   This will be much easier to do when we can call into the parser from
   the TclList PMC. (is this already doable?)
   
  -=item [[list]] proc
  -
  -doesn't handle varargs.
  -
  -support default values (e.g.: proc joe {{drink coffee}} { slurp $drink } )
  -
   =item compiler vs. interpreter
   
   it should be possible to further extend our interpreter
  @@ -141,58 +203,6 @@
    05/14/04: 500 calls in a loop slows us down to 60x!
    11/22/04: 500 calls in a loop: only 10x slower!
   
  -=item Tests
  -
  -Any future tests, write more like t/tcl_var_subst.t. Eventually cleanup
  -tests so they're consistent.
  -
  -=item Add tests for...
  -
  -tclword.imc tcl*.pmc
  -[concat] [join] [lrepeat] [uplevel] [upvar]
  -[lrange] [array set] [global] [string match] [inline]
  -the macros?
  -expr's precedence and parens
  -[puts]'s ability to write to other channels.
  -
  -=item update docs/* 
  -
  -with the parser/interpreter split, things are different.
  -(And, hopefully, easier.)
  -
  -=item Use PMCs to handle numifying
  -
  -not the pir routines we now have. Verify that [expr 2a + 2b] behaves
  -appropriately when doing this. Include proper numififcation of octal and
  -hex
  -
  -=item test suite patches
  -
  -need to patch testall so that it's not so cranky about people
  -who don't play nice with the new tests...
  -
  -=item unfinished commands
  -
  -[array statistics] - useless?
  -
  -[array anymore], [array donesearch] [array nextelement], [array startsearch]
  - { use iterators }
  -
  -[string repeat], [string replace], [string tolower],
  -[string totitle], [string toupper], [string trim], [string trimleft],
  -[string trimright], [string compare], [string equal], [string last]
  -
  -[string bytelength], [string compare], [string is], [string map],
  -[string wordstart], [string wordend]
  -
  -=item given [list]
  -
  -[foreach]
  -
  -=item given arrays
  -
  -[string map]
  -
   =item expr
   
   Clean up expr. MUUUUCH room for improvement there.
  @@ -228,79 +238,8 @@
   
   =item misc
   
  -tclsh normally does some extra processing that we aren't doing, namely
  -.tclshrc/tclshrc.tcl, setting of variables argc, argv, argv0, and
  -tcl_interactive... see also "man n tclvars"
  -
  -=item misc
  -
  -interactive tclsh mode currently only waits for EOF and then runs all
  -commands entered. should have sane defaults for tcl_prompt1, tcl_prompt2
  -and respect them, and process intermediate input.
  -
  -=item misc
  -
  -octal and hex escapes are not supported. (Not sure parrot is
  -ready for this yet)
  -
  -=item tests 
  -
  -run a tcl test suite (7.6p2 ?) and pass one test.
  -(then, pass most of them.) (then, retarget against tcl-latest)
  -
  -=item misc
  -
   complete [error] (need global var support)
   
  -If the return type of the outermost script is not OK, return the
  -I<appropriate> code to the system.
  -
  -=item missing procs
  -
  -Here's a list of commands from the 7.3 Ousterhout book that have yet to be
  -implemented. Just because something is implemented doesn't mean it's a full
  -implementation, either. That's what the test suite is for. =-) I've tried
  -to group them so that any procs that depend on another proc to really work
  -are so listed, and that related procs are grouped together. Some are SMOPs
  -at this point, others require me to add features, or refactor. Many already
  -implemented procs will require updating after procs/features are added.
  -
  -  lreplace, lsearch, lsort, foreach, scan
  -
  -  cd, file, pwd, pid, glob
  -
  -  seek, tell, open, close, eof, flush (use pioctl?), read, gets, close
  -
  -  info, exec {use exec/spawn opcodes.}
  -
  -  auto_mkindex*, trace*
  -
  -  unknown, history [ only in interactive mode ]
  -
  -  * isn't a recent distro of tcl
  -  
  -  And, here are more from a more recent tcl in no order.
  -
  -  after bgerror binary case clock dde
  -  encoding fblocked fconfigure (use pioctl?) fcopy fileevent filename
  -  http interp {setup our current single parser/interp as an pmc?}
  -  library lindex load lset memory
  -  msgcat namespace package packagens
  -  pkgMkIndex registry resource
  -  safe socket subst (use our parser?) tcltest
  -  update variable vwait
  - 
  -  also see "man n tclvars"
  -
  -=item tests
  -
  -Long term goal: Run the tcl test suite. Will an  older one, be easier to 
pass?
  -Yes, much easier. We still have a ways to go, however. To run all the tests,
  -run tclsh, sourcing "<tcl distro>tests/all".
  -
  -The sooner we can do this, the better, as I only want to have tests for
  -internals, not for any Tcl.
  -
   =back 4
   
   =cut
  
  
  

Reply via email to