tagged release 0.6.4
[parrot.git] / languages / perl6 / src / builtins / globals.pir
blob8be4c58d5d9333b813012082c3fa8614d37d25da
1 ## $Id$
3 =head1 NAME
5 src/builtins/globals.pir - initialize miscellaneous global variables
7 =cut
9 .namespace []
11 .sub 'onload' :anon :load :init
12     .local pmc p6meta
13     p6meta = get_hll_global ['Perl6Object'], '$!P6META'
15     ##  set up %*ENV
16     $P0 = get_hll_global 'Hash'
17     p6meta.'register'('Env', 'parent'=>$P0, 'protoobject'=>$P0)
18     $P0 = new 'Env'
19     set_hll_global '%ENV', $P0
21     ##  create $*IN, $*OUT, $*ERR filehandles
22     .local pmc pio, perl6io, perl6ioclass
23     perl6ioclass = get_hll_global "IO"
24     pio = getstdin
25     perl6io = perl6ioclass.'new'("PIO" => pio)
26     set_hll_global "$IN", perl6io
27     pio = getstdout
28     perl6io = perl6ioclass.'new'("PIO" => pio)
29     set_hll_global "$OUT", perl6io
30     pio = getstderr
31     perl6io = perl6ioclass.'new'("PIO" => pio)
32     set_hll_global "$ERR", perl6io
33 .end
35 # Local Variables:
36 #   mode: pir
37 #   fill-column: 100
38 # End:
39 # vim: expandtab shiftwidth=4 ft=pir: