"Fossies" - the Fresh Open Source Software Archive

Member "RPerl-5.002000/docs/todo.txt" (29 Nov 2019, 23824 Bytes) of package /linux/misc/RPerl-5.002000.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. For more information about "todo.txt" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 5.000000_vs_5.002000.

    1 DONE
    2 
    3 
    4 DOING
    5 
    6     RPerl tests, number_arrayref_arrayref & string_arrayref_arrayref
    7 
    8     test $return_whole_value accessors & mutators for RPerl-defined data types in Class INIT block
    9     test $return_whole_value accessors & mutators for  user-defined data types in Class INIT block
   10 
   11     Installer, CentOS 7 Support, copy from LAMP Installer to RPerl Installer
   12     MongoDB C++ driver in installer
   13     MongoDB documentation
   14 
   15     manual IS file changes
   16 
   17     3D data structures
   18         *_arrayref_hashref_hashref
   19             stringify
   20             typetest
   21             t/06_hash
   22         *_*ref_*ref_hashref
   23         *_*ref_*ref_arrayref
   24 
   25     2D data structures
   26         *_*ref_*ref
   27         To_string() for each data structure in C++, to_string() in Perl
   28 
   29     # DEV NOTE, CORRELATION #rp031: NEED UPGRADE: implement proper @array vs $arrayref, %hash vs $hashref, dereferencing, etc.
   30     Scalar.pm, ArrayDereference.pm, Keys.pm, HashDereference.pm, etc.
   31     add support for non-reference @arrays and %hashes
   32         re-align PERLOPS_PERLTYPES w/ CPPOPS_CPPTYPES behavior for pass-by-value vs pass-by-reference
   33         figure out how to add data types to PERLOPS_PERLTYPES @array and %hash variable declarations
   34         std::vector should be array and std::unique_ptr<std::vector> should be arrayref, etc.
   35         ArrayDereference & HashDerefence operators should actually dereference (unwrap) std::unique_ptr in CPPOPS_CPPTYPES, deref AVRV to AV in CPPOPS_PERLTYPES, etc. 
   36         implement pertinent operators: scalar, keys, values
   37 
   38     foreach() loop and keys() operator in CPPOPS_CPPTYPES
   39 
   40     .travis.yml, disable dev version of Alien::Base::ModuleBuild v1.01_01, update min version required in Makefile.PL
   41     .travis.yml, disable Alien::GSL testing, update min version required in Makefile.PL
   42 
   43 
   44     META files in MANIFEST.SKIP???
   45 
   46     Moo(se) support
   47         Always
   48             better subroutine/method return types; GRAMMAR
   49             new() accept properties init values; GRAMMAR
   50             subroutine arguments received via 'shift' instead of @ARG only; GRAMMAR
   51             package 'integer' exports sub 'integer()' to check type, and friends
   52             accessors & mutators available (only?) w/out using 'get_' & 'set_' prefixes; Class.pm PERLOPS_PERLTYPES, Properties.pm? CPPOPS_CPPTYPES
   53         When Moo(se) is enabled
   54             'use parent' should not exist, replaced by 'extends'; GRAMMAR
   55             $properties should not exist, replaced by 'has'; GRAMMAR
   56             new() from Moo(se) instead of RPerl
   57     RPerl::Exporter
   58         re-enable t/10 & t/11  <<< ==== DO THIS FIRST!!! === >>>
   59         Class/Generator.pm, error if class name from 'use parent Foo' does not match class name from following 'use Foo' or '{ Foo->import(); }'
   60         Class/Generator.pm & Package.pm & Include.pm: CPPOPS_CPPTYPES
   61         fix & test *_CHECK*() exporting in rperlgmp.pm & rperlsse.pm, as hard-coded in rperlgsl.pm
   62         enable qw(:all)
   63         Learning RPerl
   64     new subroutine headers
   65         Learning RPerl
   66         PhysicsPerl
   67         MathPerl
   68     Quick-Start Guide
   69         finish
   70 
   71     Alien::zlib???       for SDL dependency on zlib.h, get SDL to add Alien::zlib as CPAN dependency; Alien::zlib::Static already exists but is it applicable?
   72     Alien::PkgConfig???  for MongoDB driver build support
   73     Alien::MongoDB???
   74     Alien::MongoCXX???
   75     Alien::Pluto
   76         CPAN testers stability
   77     Alien::Texinfo
   78         add minimum version checking when Alien subsystem supports it in non-PkgConfig software like Texinfo
   79     Alien::astyle upgrade to EU::MM
   80     Alien::bison
   81     Alien::flex
   82     Alien::GSL
   83         Program.pm: convert rperl*.h to RPerl/Support/*.h and RPerl/Support/*StandAlone.h, as in RPerl/Support/MongoDB.h  [ SSE GMP GSL ]
   84         make pull request for Math::GSL to use Alien::GSL    https://github.com/leto/math--gsl/issues/99
   85         add 'apt-get install libgsl-dev' (or libgsl0-dev) & 'cpanm Math::GSL::Matrix' in RPerl & LAMP Installers, document in INSTALL?
   86         gsl_matrix_CHECK*() CPPOPS_CPPTYPES
   87         tests for all EMAV00 - EMAV09
   88         enable gsl_linalg.h & other gsl friends
   89     Alien::GMP
   90         detect non-C++ system install (missing gmpxx.h) and force Alien::GMP share install instead
   91     Alien::PCRE2
   92         ensure tests pass on both share & system installs
   93         replace mirrored DEV version (Windows bug fix) w/ new official version when released
   94             same as cygwin failure below???
   95             warning: "FWRITE" redefined ... error: _O_BINARY undeclared
   96             https://bugs.exim.org/show_bug.cgi?id=2152
   97         extend XS test
   98         CPAN testers failures
   99     Alien::JPCRE2
  100         update tests to Test::Alien
  101         fix AppVeyor Windows failures
  102         add XS test
  103         CPAN testers failures
  104     regex support
  105         substitution LHS must be variable
  106         non-destructive regex /r
  107         !~ logic
  108 
  109     allow non-standard shebangs
  110 
  111     Learning RPerl exercises, check on CloudForFree.org
  112     RPerl-calling-Perl support
  113     MySQL
  114     PostgreSQL
  115     MongoDB
  116         ConstructorCall.pm: add support for MongoDB::MongoClient constructor parameters other than 'host'
  117         Inline.pm: add Alien::PkgConfig & Alien::Mongo* dependencies; add error checking for missing pkg-config or bad return value
  118         Makefile.PL: handle "v1.8.0" v-string properly in PREREQ_PM
  119 
  120     KICKSTARTER:
  121     DONE??? Monolithic Modules, Fix Deps Warning & Create Tests
  122     DONE! Parse::Eyapp regex fix & CPAN upload
  123     DONE??? implement 10 ops in CPPOPS_CPPTYPES
  124     CODE GENERATION, CPPOPS_CPPTYPES MODE
  125         ForEach.pm
  126         finish .pl body generation
  127         subroutines, final operation must be return operator
  128         WHAT ELSE?!?
  129 
  130     Inline::RPerl
  131     update tests to emit more useful failure info, for CPAN testers debugging
  132     update CPPOPS_DUALTYPES reference files
  133     remove explicit properties inheritance, Generator.pm & Grammar.eyp
  134     OO class properties, detect user-defined init() subroutine & call from C++ constructor 
  135 
  136     do not rearrange subs & methods in CPPOPS_CPPTYPES output code, as occurs w/ Bubble.pm, 
  137         or is rearranging necessary due to division of subs & methods in Bubble.h output file?
  138 
  139     replace @_ with @ARG in system code
  140     'cannot' -> 'can not' in all docs & source files
  141     uncompile w/ corrupted or missing PMC, CPP, H files
  142     uncompile delete EXE files
  143     disable variable declaration w/out initial value, grammar & tests & docs
  144     Learning RPerl
  145                               names can NOT include double-underscore, C++ standard
  146                               names can NOT start with     underscore uppercase, C++ standard
  147                    variable   names can NOT start with     underscore, defined by VARIABLE_SYMBOL in Grammar.eyp
  148             global subroutine names can NOT start with     underscore, C++ standard
  149         non-global subroutine names can     start with     underscore, C++ standard
  150                    method     names ???
  151                    property   names ???
  152         
  153         upgrade install instructions
  154         add chapter 1 bonus exercise, create stand-alone executable for Hello World
  155         add missing operator tables as with 2.4.13 chop & chomp, etc
  156         add bitstrings to 2.1.15, mentioned in LP189
  157         EAR17 & Exxx & any other new errors
  158         update appendix with grammar changes: bitwise_negation_lparen, additional operators?
  159         abs & mako's other new ops are no longer "Coming Soon"
  160     print dot-to-comma in lib/RPerl/Test/*
  161     templateperl
  162     mv sort to standardperl
  163     all servers online
  164         rperl
  165         shiny
  166         sites
  167     enable loop parallelization
  168         handle gauss_seidel.openmp.cpp.pluto.cloog files
  169         enable num_cores
  170         fix print
  171         fix loop labels
  172         fix min/max
  173     enable shorthand classes
  174     add copyright notices to all files
  175     pass tests on appveyor strawberry
  176     ExtUtils::CppGuess bug fix w/ davido
  177     update requirement for EU::MM to v7.14?
  178         https://github.com/ingydotnet/inline-c-pm/issues/51
  179     ...
  180     explain difference between .a, .o, and .so
  181         .o can be combined into .so or .exe?
  182         .a is "just a tarball of .o files"?
  183         .so must always be stand-alone, like a .exe w/out a main()?
  184     append 'L' to all numeric literals to force long int?
  185     create macro to replace all conditional truth value checks with extra logic to include RPerl false values of '0', q{0}, and q{}, in both character and string type
  186     INSTALL notes, update step 3 examples
  187     travis enable dev Perl
  188     fix dev Perl via P5P
  189     chmod a-x *.so output if not on HP-UX
  190     print comma-vs-dot to correct output
  191     cpp output file post-processing for source code text alignment
  192     split author tests (checking Changes file, etc) into xt/ directory, 
  193         split deps in Makefile.PL, possibly utilize AUTHOR_TESTING in travis-perl/helpers
  194 
  195 
  196 CLOUDFORFREE.ORG
  197 
  198     release Apache2::FileManager v0.3 based on current github code
  199 
  200 
  201 INSTALLERS
  202     Linux DEB (Debian, Ubuntu, Xubuntu, etc)
  203     Linux RPM (RedHat, CentOS, etc)
  204     Linux Portage
  205     Android
  206     iOS
  207     Mac
  208     Windows ActiveRPerl
  209     Windows Strawberry RPerl
  210     Tarball
  211     CPAN
  212     GitHub
  213 
  214 OPERATORS, CPPOPS_CPPTYPES MODE
  215     NAMED: croak chomp join keys pop push reverse sort split values wait
  216     NAMED_UNARY: chdir cos defined exists -e -r -f -T length rand scalar sin sqrt (need create)
  217     Perl "features"  http://perldoc.perl.org/feature.html
  218         NOT YET SUPPORTED, requires at least Perl v5.16: fc
  219     POSIX
  220         ceil, floor, modf
  221         NOT YET SUPPORTED, C99 functions require at least Perl v5.22: trunc, cbrt, fmax, round, lround, etc.
  222     Math::Trig & Math::Complex
  223         new, make, emake, cplx, cplxe
  224         cbrt, root 
  225         tan; csc, cosec, sec, sec, cot, cotan; asin, acos, atan; acsc, acosec, asec, acot, acotan; sinh, cosh, tanh; csch, cosech, sech, coth, cotanh; 
  226         asinh, acosh, atanh; acsch, acosech, asech, acoth, acotanh; pi, pi2, pi4, pip2, pip4
  227         overloaded complex arithmetic
  228         +, -, *, /, **
  229         ~
  230         abs, sqrt, exp, log
  231 
  232 LEARNING RPERL
  233     new subroutine headers!!!
  234     tables on metacpan, fix headers and borders CSS
  235     fix <noncode> on metacpan, elsewhere
  236     check X<break_code_blocks> everywhere other than pod2rperlhtml
  237     use unsigned_integer instead of integer in ex2.6 & 2.7, check all other exercises as well, change error checking accordingly
  238     croak or die in exercise solutions?
  239     L<> hyperlinks broken or missing in some outputs?
  240     metacpan list newline fix, section 1.1
  241     BEGIN INLINE CSS DIV comment should not appear in any output
  242     docbook2html & sgmltools & sgml2html: Section 2.3 "Perl's Built-In Warnings" single-quote vs apostrophe
  243     docbook2pdf segfault
  244     sgml table cell padding
  245     foreword
  246     chapters 5 - 17
  247     illustrations: images & ASCII art
  248     covers
  249     publish
  250     video series
  251 
  252 BOOK OF RPERL
  253     chapter 5
  254 
  255 MISC DOCUMENTATION
  256     update https://en.wikipedia.org/wiki/List_of_compilers#Perl_Compilers
  257 
  258 RPERL.ORG
  259     Book of RPerl tome graphic
  260     Roadie Roadrunner, add eye circle to website
  261     shiny
  262 
  263 RPERL COMMAND-LINE FRONT-END
  264     --noWarnings option does not suppress WEXRP00, `export RPERL_WARNINGS=0` does
  265 
  266 UNSIGNED INTEGER FIX
  267     full boolean support via Boolean.cpp/h, rperltypes.pm, SvBOKp(), etc.
  268     char type-testing subroutines in Character.pm
  269     full character support via Character.cpp/h, rperltypes.pm, SvCOKp(), etc.
  270     full unsigned_integer support via UnsignedInteger.cpp/h, rperltypes.pm, SvUIOKp(), etc.
  271     CPPOPS_CPPTYPES conversion routines
  272 
  273 TESTS 
  274     DatabaseMongoDB: errors, additional test cases
  275     create EXECUTE_WARNING & PARSE_WARNING & GENERATE_WARNING for t/*, begin by testing for WCOPR00 & WCOPR01 in RPerl/Test/SubroutineArguments/*_10_*
  276     split author (developer) tests from normal user tests
  277     TypeConversion, all 42 normal conversions plus to_string()
  278     add EXECUTE_SUCCESS to *good*.pl
  279     uncompile w/ corrupted or missing PMC, CPP, H files
  280     RPerl::EPSILON()
  281     array size declaration compensation
  282     package/subroutine/method names starting w/ underscore
  283     variable redeclaration (masking)
  284     properties & hash type-inner type-vs-key name mismatch (ECOGEASRP021: PERLOPS Class.pm properties accessors/mutators; CPPOPS entry & entrytyped)
  285     accessors/mutators including get_*_element() & get_*_value()
  286     subclasses Foo_raw type
  287     $properties & VariableDeclaration array size on non-arrayref type
  288     $properties array size PERLOPS_PERLTYPES generation
  289     variable & retrieval type mismatches, etc (including ECOGEASCP030?)
  290     get_raw() & set_raw()
  291     t/13_compile_execute.t (?) for proper functionality
  292     *_arrayref_arrayref_arrayref
  293     while (my FOO)
  294     <$FILEHANDLE>
  295     @ARGV
  296     %ENV
  297     ERROR ECOGEASRP016... named operator [SOMEOP] requires exactly one argument, dying
  298     ERROR ECOGEASRP017... named operator [SOMEOP] requires one or more arguments, dying
  299     all currently-implemented named ops
  300     all currently-implemented named_unary ops
  301     invalid hash key starting with non-lowercase-letter ECOGEASRP023
  302     invalid OO property name (hash key) starting with non-lowercase-letter ECOGEASRP024
  303     invalid type inner redundant name starting with non-lowercase-letter ECOGEASRP025
  304     CONSTANT_CALL_SCOPED
  305     *_to_*() data type conversion functions
  306     text literals, backslash vs double-backslash
  307     string_to_NUMERIC*() (AKA all string conversion subroutines), test that underscores are accepted in numbers & non-numerics are rejected, in the following files:
  308        String.pm, String.cpp, GMPInteger.pm, GMPInteger.cpp
  309     fix RPerl/Test/ScopeTypeNameValue/program_5*_good.pl.DISABLED_PERL_V5_22
  310     fix RPerl/Test/Expression/program_*_good.pl.DISABLED_NEED_FIX
  311     fix lib/RPerl/Test/OperatorVoid01NamedVoidReturn/*.DISABLED_NEED_FIX
  312     	https://github.com/wbraswell/rperl/issues/25
  313     t/04 t/05 t/06 directly test *_CHECKTRACE() and *_CHECK() 
  314 
  315 KICKSTARTER
  316     determine remaining items
  317         10 builtins?
  318         1 New Benchmark Application?
  319         Finish All CPPOPS_CPPTYPES Code Generation?
  320 
  321 PARALLEL
  322     manual loop test
  323     automate
  324 
  325 QUALITY ASSURANCE
  326     Fix CPAN Testers Bugs
  327     cpants
  328     kwalitee
  329     Devel::Cover
  330     Devel::Cover::Report::Coveralls
  331     coveralls.io
  332 
  333 MEDIUM-MAGIC
  334     start GrammarMedium.pm
  335     start TestMedium/
  336     start 30_parse_medium.t
  337     pack "f*"
  338     unpack same as above
  339     sysopen
  340     sysread
  341     syswrite
  342 
  343 STDPERL
  344     merge sort
  345     quick sort
  346 
  347 MATHPERL
  348     log_base_x
  349     tan, cot, sec, csc
  350     Math::Trig support
  351     Math::Complex support
  352     fractal, hsv coloring
  353 
  354 PHYSICSPERL
  355     n_body, add command-line option for SystemGasGiants.pm & SystemSSEGasGiants.pm
  356     n_body, optimize graphics speed
  357 
  358 WEB BACK-END
  359     asm.js and/or webassembly backend
  360 
  361 INSTALL NOTES
  362     update to use installed dirs, ~/perl5/lib/perl5 for local::lib
  363 
  364 DEV NOTES
  365     warning & error codes
  366         general code legend
  367         specific codes
  368     perlall
  369 
  370 WINDOWS
  371     Makefile.PL, replace pm_to_blib() with usage of File::Temp, do not modify files under lib/ or blib/lib or t/ etc.
  372     gmp in windows
  373     pass tests on vc2013
  374     pass tests on appveyor activperl
  375     pass tests on activestate activeperl
  376     Appveyor  http://blogs.perl.org/users/eserte/2016/04/testing-with-appveyor.html
  377     fix EU::MM + GNU make, missing slash; test building all of Perl & RPerl using gmake, CORRELATION #rp200
  378         gmake: No rule to make target 'C:\...\libConfig.pm', needed by 'Makefile'.  Stop.
  379         http://www.perlmonks.org/bare/?node_id=843384
  380         https://rt.cpan.org/Public/Bug/Display.html?id=21129
  381         http://stackoverflow.com/questions/9454961/extutilsmakemaker-and-supported-make-programs-on-windows
  382 
  383 MOBILEPERL
  384     Android   http://blogs.perl.org/users/flavio_s_glock/2016/04/android-app-with-perl5-to-java-compiler.html
  385 
  386 MACINTOSH
  387     TEMP DISABLE Failed test 'Inline::CPP, call Airplane methods, return correct value 1' at t/03_inline_cpp.t line 146.   '' doesn't match '/Object\ \(0x\w*\)/'
  388     unknown warning option '-Wno-literal-suffix'; did you mean '-Wno-literal-range'? [-Wunknown-warning-option]
  389     duplicate 'extern' declaration specifier [-Wduplicate-decl-specifier] XS_EXTERNAL(boot_eval_412_3a53); /* prototype to pass -Wmissing-prototypes */
  390         /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/XSUB.h:145:33: note: expanded from macro 'XS_EXTERNAL'
  391         #      define XS_EXTERNAL(name) extern "C" XSPROTO(name)
  392 
  393 OPENBENCHMARKS.ORG
  394     shiny
  395     content
  396 
  397 AUTOPARALLEL.COM
  398     shiny
  399     content
  400 
  401 PARALLELAPPSTORE.COM
  402     shiny
  403     content
  404 
  405 DATA TYPES & STRUCTURES
  406     enable subroutine argument type-checking of user-defined Class types, see "NEED UPGRADE" in Class.pm create_symtab_entries_and_accessors_mutators()
  407     disable use of 'constant_FOO' data types?  currently converted in RPerl::Generator::type_convert_perl_to_cpp(), possible 'const const' conflict in RPerl::CompileUnit::Constant
  408     sort hash keys when generating string output in *hashref_to_string() CPPOPS Hash.cpp, as is done with 'sort keys' in PERLOPS Hash/Subtypes.pm
  409     determine if 'long long' or 'long double' can be used at all???
  410         DEV NOTE, CORRELATION #rp041: GMP does not support 'long long' or 'long double', will cause t/07_type_gmp.t to fail
  411     scalar, scalar_arrayref, scalar_hashref, scalar_*
  412     implement 3-D arrays & hashes
  413     implement *OPS_*TYPES *_arrayref_arrayref_to_string()
  414     implement *OPS_*TYPES boolean_arrayref_to_string(), unsigned_integer_arrayref_to_string(), gmp_integer_arrayref_to_string(), character_arrayref_to_string()
  415     implement CPPOPS_*TYPES *arrayref_to_string()
  416     enable semi-dynamic auto-config of number format code for printf & friends in CPPOPS modes, replace %f by %"NUMBER"
  417     add remaining generic overloaded type conversion subroutines to_boolean(), to_integer(), to_unsigned_integer(), to_gmp_integer(), to_character() in rperltypes.*
  418     enable config of RPerl::NUMBER_EPSILON in RPerl/Config.pm to use either POSIX::FLT_EPSILON() or POSIX::DBL_EPSILON() http://perldoc.perl.org/POSIX.html#FLOAT
  419     PERLOPS_CPPTYPES conversion routines
  420     boolean_arrayref, unsigned_integer_arrayref, character_arrayref
  421     boolean_hashref, unsigned_integer_hashref, character_hashref
  422     gmp_integer_arrayref, gmp_integer_hashref
  423     sse_number_pair_arrayref, sse_number_pair_hashref
  424     enable looks_like_number() in *OPS_*TYPES (AKA all modes)
  425         use in string_to_NUMERIC*() (AKA all string conversion subroutines) to reject non-numeric characters with RPerl error instead of Perl error
  426         http://perldoc.perl.org/perlapi.html#looks_like_number
  427     export ::*_*ref_to_*() conversion subroutines the same as ::*_to_*() subs in rperltypesconv.pm, remove leading scopes in all calls
  428     remove all object* types
  429     add arrayref::grow_capacity() as safe version of std::vector::resize()
  430     Dumper() in C++, use as default overload for <<
  431     implement remaining *_arrayref_arrayref_CHECK*() in lib/DataStructure/Array/SubTypes.cpp
  432     pre-declare RPerl::DataTypes and RPerl::DataStructures, as discussed in RPerl/DataStructure/Array.pm $properties, so this works: 'use RPerl::DataStructure::Array;'
  433     constant hashrefs and arrayrefs, via "use constant" pragma OR ":const" Perl internals attribute OR "constant_integer_hashref" data types
  434         :const supported in cperl only at this time
  435             add a sub integer::MODIFY_SCALAR_ATTRIBUTE, which handles :const
  436             `my integer $i :const = 1;`
  437             http://perldoc.perl.org/attributes.html
  438             integer class need only to accept or reject attributes. new() is not needed, neither @ISA
  439             the stash must exists. I do %int::; that creates the stash, so its valid syntax
  440             for :const I added the MODIFY_SCALAR_ATTRIBUTE function (into xsutils.c?)
  441             also MODIFY_HASH_ATTRIBUTE and so on, for every reftype, _ARRAY_, _CODE_, …
  442 
  443 VARIABLES
  444     allow block-scoped variables; currently supported for unique variable names, triggers false error ECOGEASCP012 "already declared in this scope" for non-unique variable names in the same subroutine
  445 
  446 PERL::CRITIC BUGS
  447     Eclipse EPIC Integration, Silent Failure    https://github.com/Perl-Critic/Perl-Critic/issues/582
  448     ProhibitMagicNumbers False Positive    https://github.com/Perl-Critic/Perl-Critic/issues/631
  449     Subroutines::RequireFinalReturn False Positive On Typed Loop Iterator    https://github.com/Perl-Critic/Perl-Critic/issues/636
  450     ControlStructures::ProhibitPostfixControls False Positives on Typed Loop Iterator    https://github.com/Perl-Critic/Perl-Critic/issues/639
  451     Argument "-" isn't numeric in exponentiation (**) at .../PPI/Token/Number/Exp.pm line 55    https://github.com/Perl-Critic/Perl-Critic/issues/665
  452     InputOutput::RequireCheckedSyscalls False Positive On Typed Loop Iterator Without Final Newline    https://github.com/Perl-Critic/Perl-Critic/issues/671
  453     Perl::Critic::Policy::Subroutines::ProtectPrivateSubs, false trigger on 'my Foo::Bar::_MyClass $foo;', presumably thinks _MyClass is a private sub
  454 
  455 INLINE::CPP BUGS
  456     remove all usage of double-underscore in identifiers, including auto-generated class names where '::' is replaced by '__'
  457     file bug, I::CPP comments, 7 lines okay, 8 lines broken
  458     file bug, I::CPP std::array
  459     file bug, I::CPP when attempting to return object type, CORRELATION #pp04
  460         In function ‘void XS_PhysicsPerl__Astro__System_get_bodies_element(PerlInterpreter*, CV*)’: ... 
  461         error: ‘CLASS’ was not declared in this scope ... sv_setref_pv( ST(0), CLASS, (void*)RETVAL );
  462         hand-patched code below allows one-time use, then segfault
  463         vi build/eval_637_3400/eval_637_3400.c
  464         char *  CLASS = (char *)"PhysicsPerl::Astro::Body"
  465         chmod a-w build/eval_637_3400/eval_637_3400.c
  466     
  467 PERLOPS_PERLTYPES
  468     build each class' properties_inherited() once at compile time in Class::INIT{}, will optimize runtime performance
  469     C++ subclasses using AV* instead of std::vector, etc?
  470     add symtab building and checking
  471     real SSE support (faster, not slower)
  472 
  473 ERROR CODES
  474     RPerl::CompileUnit::Module::Class (global base class) needs error codes added for all croak() or die() statements
  475     fix all mis-matching *RPxx vs *CPxx error codes, compare all numeric error codes to ensure RPerl matches C++
  476     sort all error codes according to dev_notes.txt code ranges
  477 
  478 GRAMMAR
  479     allow comments with 3 or more chained octothorpe characters ### like this comment
  480     undef values, either remove from all possible locations in grammar for C++ compatibility, OR enable in C++ by special strings, numeric values, etc.
  481     fix 'x' string repeat operator vs 'x' string or bareword hash key, already fixed???
  482     add WORD_LPAREN & WORD_SCOPED_LPAREN to become WordScopedLParen, and friends, to disallow space between subroutine name and parens in subroutine call
  483         update Learning RPerl section 4.2.1 & lib/RPerl/Test/Subroutine/program_* accordingly
  484     should VARIABLE_SYMBOL be allowing scoped variable identifiers, since these are not currently supported by the compiler?
  485 
  486 COMPILER
  487     uncompile, store list of compiled dependencies inside compiled files themselves, for optional use during uncompile
  488     figure out <> vs "" and also long-path-deps in includes in Bubble.cpp & Bubble.h
  489     compile Foo.pm
  490     add mutators pass-by-reference for scalars?  see SystemRenderer2D::show()
  491  
  492 INTERPRETER
  493     Class.pm, remove auto-export of subroutines from their package's namespace into main:: namespace?
  494     RPerl::filter()
  495         update to properly handle *.pl files
  496         collapse newline characters from all added code to avoid artificially increasing line numbers in error messages, `rperl -t lib/RPerl/Test/Properties/Class_00_Bad_09.pm`