better {local,gm}time documentation (from Mark-Jason Dominus)
[p5sagit/p5-mst-13.2.git] / Todo-5.6
index fbaeaae..7f18377 100644 (file)
--- a/Todo-5.6
+++ b/Todo-5.6
@@ -16,6 +16,7 @@ Unicode support
     autoload utf8_heavy.pl's swash routines in swash_init()
     autoload byte.pm when byte:: is seen by the parser
     check uv_to_utf8() calls for buffer overflow
+    (see also "Locales", "Regexen", and "Miscellaneous")
 
 Multi-threading
     support "use Thread;" under useithreads
@@ -45,22 +46,51 @@ Configure
     make configuring+building away from source directory work (VPATH et al)
     _r support
     cross-compilation configuring
-    POSIX 1003.1 1996 Edition support
+    POSIX 1003.1 1996 Edition support--realtime stuff:
+       POSIX semaphores, message queues, shared memory, realtime clocks,
+       timers, signals (the metaconfig units mostly already exist for these)
+    UNIX98 support: reader-writer locks, realtime/asynchronous IO
+
+Long doubles
+    figure out where the PV->NV->PV conversion gets it wrong at least
+    in AIX and Tru64 (V5.0 and onwards) when using long doubles: see the
+    regexp tricks we had to insert to t/comp/use.t and t/lib/bigfltpm.t.
 
 Locales
     deprecate traditional/legacy locales?
+    How do locales work across packages?
     figure out how to support Unicode locales
-    locales across packages?
+       suggestion: integrate the IBM Classes for Unicode (ICU)
+       http://oss.software.ibm.com/developerworks/opensource/icu/project/
+       and check out also the Locale Converter:
+       http://alphaworks.ibm.com/tech/localeconverter
+    ICU is "portable, open-source Unicode library with:
+    charset-independent locales (with multiple locales simultaneously
+    supported in same thread; character conversions; formatting/parsing
+    for numbers, currencies, date/time and messages; message catalogs
+    (resources) ; transliteration, collation, normalization, and text
+    boundaries (grapheme, word, line-break))".
+    There is also 'iconv', either from XPG4 or GNU (glibc).
+    iconv is about character set conversions.
+    Either ICU or iconv would be valuable to get integrated
+    into Perl, Configure already probes for libiconv and <iconv.h>. 
 
 Regexen
    make RE engine thread-safe
    POSIX [=bar=] and [.zap.] would nice too but there's no API for them
-   (=bar= could be done with Unicode, though, see TR about normalization forms)
+       =bar= could be done with Unicode, though, see the Unicode TR #15 about
+       normalization forms:
+       http://www.unicode.org/unicode/reports/tr15/
+       this is also a part of the Unicode 3.0:
+       http://www.unicode.org/unicode/uni2book/u2.html
+       executive summary: there are several different levels of 'equivalence'
    approximate matching
 
 Security
     use fchown, fchmod (and futimes?) internally when possible
     use fchdir(how portable?)
+    create secure reliable portable temporary file modules
+    audit the standard utilities for security problems and fix them
 
 Reliable Signals
     custom opcodes
@@ -74,11 +104,23 @@ Win32 stuff
 
 Miscellaneous
     add new modules (Archive::Tar, Compress::Zlib, CPAN::FTP?)
-    sub-second sleep? (integrate Time::HiRes?)
-    floating point handling: nans, infinities, fp exception masks, etc
+    sub-second sleep()? alarm()? time()? (integrate Time::HiRes?
+       Configure doesn't yet probe for usleep/nanosleep/ualarm but
+       the units exist)
+    floating point handling: nans, infinities, fp exception masks, etc.
+       at least the following interfaces exist: fp_classify(), fp_class(),
+       class(), isnan(), isinf(), isfinite(), finite(), isnormal(),
+       fp_setmask(), fp_getmask(), fp_setround(), fp_getround(), 
+       ieeefp.h, fp_class.h.  There are metaconfig units for all of these.
+    fix the basic arithmetics (+ - * / %) to preserve IVness/UVness if
+       both arguments are IVs/UVs
     replace pod2html with new PodtoHtml? (requires other modules from CPAN)
     automate testing with large parts of CPAN
-    Unicode collation?
+    Unicode collation? http://www.unicode.org/unicode/reports/tr10/
+    turn Cwd into an XS module?  (Configure already probes for getcwd())
+    mmap for speeding up input? (Configure already probes for the mmap family)
+    sendmsg, recvmsg? (Configure doesn't probe for these but the units exist)
+    setitimer, getitimer? (the units exist)
 
 Ongoing
     keep filenames 8.3 friendly, where feasible
@@ -88,6 +130,7 @@ Ongoing
 Documentation
     describe new age patterns
     update perl{guts,call,embed,xs} with additions, changes to API
+    convert more examples to use autovivified filehandles
     document Win32 choices
     spot-check all new modules for completeness
     better docs for pack()/unpack()