Parrot installs with a relatively large group of PBC libraries in
runtime/parrot/library/*. Some of these such as distutils and nciutils
are pretty important prerequisites for many other ecosystem projects.
Distutils relies on a variety of libraries (osutils, lwp, http,
archive, etc) to do it's work so they are used anywhere distutils is.

There are some libraries, on the other hand, that I can't really find
anywhere that they are used. Some of the libraries we offer are
extremely old, written in very old PIR (or even raw PASM!) syntax.
They are not easy to maintain and are not really serving as good
examples for how to write a language-agnostic bytecode library for
Parrot's ecosystem. In addition building all these files that nobody
uses adds to the total build time, and tests for these libraries add
non-negligible time to "make test".

I propose we review these libraries. The ones that aren't being used
should be deleted or moved out to external repos. The ones that are
being used may be good candidates to re-write in something better than
PIR (Winxed and NQP are obvious alternatives). Here's a quick initial
list of libraries that I think we can delete or move to an external
location:

GCI
Iter
Math
OpenGL
Parrot (runtime/parrot/library/Parrot, not the VM)
parrotlib
Pg
Range
SDL
Stream
String
Tcl

I would love to hear what other people think about these files.

--Andrew Whitworth
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to