This is an overview of the Niecza ecosystem, which is currently contained entirely inside the repository.
Found mostly in
this converts Perl 6 source to C#.
compiler.pod for more details.
lib/Cursor.cs; it is the body of C# primitives necessary for compiler output to function,
or that underlie the lowest levels of library functionality.
lib/CORE.setting are used automatically in Perl 6 programs and provide definitions of all Perl 6 functions.
They use Niecza extensions fairly heavily,
especially inline NAM code and references into the runtime.
lib/*.pm6 currently provides multithreading and a TAP stub.
I hope to see more here eventually.
Niecza.proj is in charge of getting the compiler and libraries into a usable state and running the tests.
It is supported by
a Microsoft.Build plugin for running Perl 5 code; not having to load Niecza more than once saves quite a few seconds.
Watch this space.
perf/ contains various scripts and tools used to microbenchmark changes in Niecza.
t/ contains a handful of unit tests (unmaintained).
test.pl is the main test suite; all tests in it are expected to pass.
test3.pl are much smaller and allowed to contain failing tests; I use them as a TDD staging area.