develooper Front page | perl.perl6.users | Postings from June 2011

Re: Using precompiled modules, Assembling a project into one singlefile (pbc)

Thread Previous | Thread Next
From:
Moritz Lenz
Date:
June 17, 2011 03:02
Subject:
Re: Using precompiled modules, Assembling a project into one singlefile (pbc)
Message ID:
4DFB2628.2000401@faui2k3.org
Am 17.06.2011 11:40, schrieb Георгий Устинов:
> If you compile Hello.pm to Hello.pir and remove Hello.pm,
> PIR module does not load. Why?

Because .pm files are the authoritative source of information (for 
example regarding version information, but also regarding actual program 
code), and .pir files are just caches for that.

> Also, if you look at the (pir) code for any compiled script,
> it becomes clear that it uses some library called "perl6_ops".
> Does this mean that the file can not be run on a machine
> where you have installed parrot but have not installed perl6?

That is correct.
Just consider the case where your program calls the eval() function - it 
needs the full Perl 6 compiler available. So you need rakudo installed 
to run Perl 6 scripts.

> Also, I do not understand, is there a way to build a project
> from a large number of classes and roles (that placed
> in different files and folders) into a single executable
> portable pbc-file.

I don't think parrot supports merging of .so and .pbc files, which would 
be required for such a step. Essentially you'd have to create something 
like Par::Packer, which extracts various files from an archive and makes 
that available.

> This can be very useful for scripting in desktop applications.
> I pinned my hopes on pbc_merge, but it seems compiled
> modules do not work together.

It would be useful, but I don't think it is as straight-forward as you 
hoped it would be.

Cheers,
Moritz

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About